ABAP Keyword Documentation → ABAP - Reference → Obsolete Language Elements → Obsolete Extracts
EXTRACT
Other versions: 7.31 | 7.40 | 7.54
Obsolete Syntax
EXTRACT [ header | field_group ].  
Effect
This statement links the current content of the fields, which were until then included in the field
group header resp. field_group via the statement INSERT , to the
extract dataset of
the program. If there is no  field group specified after EXTRACT, then the field group header is implicitly added.
At the first execution of the EXTRACT-statement of a program, the extract
dataset is created and the first line added. After execution of an EXTRACT-statement,
it is not allowed to incorporate other fields to the specified field group field_group
with the INSERT statement. If you do so, an uncatchable exception will be raised at the next EXTRACT-statement for the same field group.  
Notes
- 
As the field group 
headeris the beginning part and sort key of every field group, it is not allowed to incorporate fields intoheaderafter execution of the firstEXTRACTstatement. - The lines of an extract dataset cannot be explicitly deleted and will be kept alive 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 statement 
EXTRACTis possible for globally defined field groups. - 
Extracts are now obsolete. We recommend that you use internal tables instead 
 
Example
This example continues the example under  INSERT. The fields of the field groups
 flight_info and flight_date are filled into a nested LOOPand 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