SAP EXTRACT ABAP Statements

Get Example source ABAP code based on a different SAP table
  


Standard SAP Help for EXTRACT

EXTRACT

Short Reference
• EXTRACT ABAP Statement

ABAP Syntax(Obsolete)EXTRACT [ header | field_group ].

What does it do? 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.

Latest notes:The field group header is the initial part and sort key of every field group, which means that no more fields can be included in header after EXTRACT is executed for the first time. The rows of an extract dataset cannot be deleted explicitly and are persisted as long as the internal mode 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 sta tement EXTRACT is possible for globally defined field groups. Extracts are obsolete. Internal tables are recommended instead.



Example ABAP Coding
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.
ABAP Code Snippet



Runtime Exceptions
Non-catchable Exceptions
Reason for error:
EXTRACT after SORT or LOOP.
Runtime error:
EXTRACT_AFTER_SORT/LOOP
Reason for error:
Not enough roll memory to create the extracts.
Runtime error:
EXTRACT_BUFFER_NO_ROLL
Runtime error:
EXTRACT_NO_ROLL_OLD_KEY
Reason for error:
The occupied lenght of a single field is too large.
Runtime error:
EXTRACT_FIELD_TOO_LARGE
Reason for error:
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
Reason for error:
Field group HEADER was modified after extraction of records with EXTRACT.
Runtime error:
EXTRACT_HEADER_NOT_UNIQUE
Reason for error:
Local data is not allowed in field groups.
Runtime error:
EXTRACT_INSERT_LOCAL_DATA
Reason for error:
Error when opening the external extract dataset master file.
Runtime error:
EXTRACT_OPEN_EXTRACTFILE_OPEN
Reason for error:
Total data length of a record to be extracted (inclusive HEADER-fields) is too large.
Runtime error:
EXTRACT_TOO_LARGE
EXTRACT_RUNTIME_ERROR
ABAP Code Snippet

Return to menu