ABAP Keyword Documentation → ABAP - Reference → Obsolete Language Elements → Obsolete Processing of Internal Data → Obsolete Extracts
EXTRACT
Other versions: 7.31 | 7.40 | 7.54
Obsolete Syntax
EXTRACT [ header | field_group ].
Effect
This statement appends the current content of the fields previously included in the field group
header or field_group using the statement INSERT to the
extract dataset of
the program. If there is no field group specified after EXTRACT, the field group header is added implicitly.
The extract dataset is created the first time EXTRACT is executed and the
first row added. Once an EXTRACT statement is executed, no other fields can
be included in the specified field group field_group using INSERT.
If not, an unhandleable exception is raised by the next EXTRACT statement for the same field group.
Notes
-
The field group
headeris the initial part and sort key of every field group, which means that no more fields can be included inheaderafterEXTRACTis executed for the first time. - The rows of an extract dataset cannot be deleted explicitly and are persisted as long as the internal session of the program.
-
In global classes, no field groups can be defined or edited. In methods of local classes of programs other than class pools, the statement
EXTRACTis possible for globally defined field groups. -
Extracts are obsolete. Internal tables are recommended instead.
Example
This example continues the example under INSERT. The fields of the field groups
flight_info and flight_date are filled in a nested LOOP and appended to the extract dataset.
REPORT ...
DATA: spfli_wa TYPE spfli,
sflight_wa TYPE sflight,
spfli_tab LIKE TABLE OF spfli_wa,
sflight_tab LIKE TABLE OF sflight_wa.
FIELD-GROUPS: header, flight_info, flight_date.
START-OF-SELECTION.
INSERT: spfli_wa-carrid spfli_wa-connid sflight_wa-fldate
INTO header,
spfli_wa-cityfrom spfli_wa-cityto
INTO flight_info.
SELECT *
FROM spfli
INTO TABLE @spfli_tab.
SELECT *
FROM sflight
INTO TABLE @sflight_tab.
LOOP AT spfli_tab INTO spfli_wa.
sflight_wa-fldate ='--------'.
EXTRACT flight_info.
LOOP AT sflight_tab INTO sflight_wa
WHERE carrid = spfli_wa-carrid AND
connid = spfli_wa-connid.
EXTRACT flight_date.
ENDLOOP.
ENDLOOP.
Exceptions
Non-Catchable Exceptions
-
Cause:
EXTRACTafterSORTorLOOP.
Runtime Error:EXTRACT_AFTER_SORT/LOOP -
Cause: Not enough roll memory to create the extracts.
Runtime Error:EXTRACT_BUFFER_NO_ROLL
Runtime Error:EXTRACT_NO_ROLL_OLD_KEY -
Cause: The occupied lenght of a single field is too large.
Runtime Error:EXTRACT_FIELD_TOO_LARGE -
Cause: Problems at creation of the extract dataset master file.
Runtime Error:EXTRACT_FILE_PTR_NOT_EMPTY
Runtime Error:EXTRACT_INIT_DIR_EXTRACT
Runtime Error:EXTRACT_INIT_FILEMASK_INVALID
Runtime Error:EXTRACT_INIT_FILEMASK_TOO_LARG
Runtime Error:EXTRACT_INIT_FN_EXTRACT -
Cause: Field group
HEADERwas modified after extraction of records withEXTRACT.
Runtime Error:EXTRACT_HEADER_NOT_UNIQUE -
Cause: Local data is not allowed in field groups.
Runtime Error:EXTRACT_INSERT_LOCAL_DATA -
Cause: Error when opening the external extract dataset master file.
Runtime Error:EXTRACT_OPEN_EXTRACTFILE_OPEN -
Cause: Total data length of a record to be extracted (inclusive
HEADER-fields) is too large.
Runtime Error:EXTRACT_TOO_LARGE