Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

extract st.

Former Member
0 Kudos

hai ....

Can u explain what is an Extract statement and also how is it usefull in the program?

thanks

1 ACCEPTED SOLUTION

Former Member
0 Kudos

HI,,

From f1 help....

EXTRACT

Basic form

EXTRACT fg.

Effect

Writes all fields of the field group fg (FIELD-GROUPS) as an entry in asequential dataset. If you have defined a field group HEADER,its fields precede each entry as a sort key. Afterwards, you canuse SORT and LOOP ... ENDLOOP to sort or process the datasetrespectively. No further EXTRACT statements are possible afterthis.

Notes

General:

As soon as you have extracted a dataset using EXTRACT, you canno longer extend the field group using INSERT. In particular, you cannot change the HEADERfield group at all after the first EXTRACT (regardless of thefield group to which it applied).

Large extract datasets are not stored in main memory. Instead, theyare kept in an external auxiliary file. You can set the directory inwhich this file is created using the SAP profile parameterDIR_EXTRACT. The default directory is the SAP data directory(SAP profile parameter DIR_DATA).

Notes

Runtime errors:

EXTRACT_AFTER_SORT/LOOP: EXTRACT after SORT, orLOOP. EXTRACT_BUFFER_NO_ROLL: Unable to create the required main

EXTRACT_FIELD_TOO_LARGE: Occupied length of a field is toolarge.

EXTRACT_HEADER_NOT_UNIQUE: Field group HEADER wasmodified after an EXTRACT statement.

EXTRACT_OPEN_EXTRACTFILE_OPEN:

Error opening the external extract dataset file.

EXTRACT_RESOURCEHANDLER_FAILED: Error deleting the externalextract dataset file.

EXTRACT_TOO_LARGE: Total length of the entry for extraction(including HEADER fields) is too large.

Additional help

Filling anExtract with Data

Regards,

Kish.

4 REPLIES 4

Former Member
0 Kudos

Hi Pavan,

EXTRACT <fg>.

When the first EXTRACT statement occurs in a program, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset.

Each extract record contains exactly those fields that are contained in the field group <fg>, plus the fields of the field group HEADER (if one exists). The fields from HEADER occur as a sort key at the beginning of the record. If you do not explicitly specify a field group <fg>, the EXTRACT statement is a shortened form of the statement extracts used in field groups (version 2.x - obsolete these days as noone uses field groups anymore), and collect is used to accumulate the contents of a field if X no. of keys are the same.

EXTRACT HEADER.

When you extract the data, the record is filled with the current values of the corresponding fields. As soon as the system has processed the first EXTRACT statement for a field group <fg>, the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups <fg> and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs.

By processing EXTRACT statements several times using different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program.

Example: REPORT demo_extract_extract.

NODES: spfli, sflight.

FIELD-GROUPS: header, flight_info, flight_date.

INSERT: spfli-carrid spfli-connid sflight-fldate

INTO header,

spfli-cityfrom spfli-cityto

INTO flight_info.

START-OF-SELECTION.

GET spfli.

EXTRACT flight_info.

GET sflight.

EXTRACT flight_date.

Reward if useful!

Former Member
0 Kudos

Former Member
0 Kudos

HI,,

From f1 help....

EXTRACT

Basic form

EXTRACT fg.

Effect

Writes all fields of the field group fg (FIELD-GROUPS) as an entry in asequential dataset. If you have defined a field group HEADER,its fields precede each entry as a sort key. Afterwards, you canuse SORT and LOOP ... ENDLOOP to sort or process the datasetrespectively. No further EXTRACT statements are possible afterthis.

Notes

General:

As soon as you have extracted a dataset using EXTRACT, you canno longer extend the field group using INSERT. In particular, you cannot change the HEADERfield group at all after the first EXTRACT (regardless of thefield group to which it applied).

Large extract datasets are not stored in main memory. Instead, theyare kept in an external auxiliary file. You can set the directory inwhich this file is created using the SAP profile parameterDIR_EXTRACT. The default directory is the SAP data directory(SAP profile parameter DIR_DATA).

Notes

Runtime errors:

EXTRACT_AFTER_SORT/LOOP: EXTRACT after SORT, orLOOP. EXTRACT_BUFFER_NO_ROLL: Unable to create the required main

EXTRACT_FIELD_TOO_LARGE: Occupied length of a field is toolarge.

EXTRACT_HEADER_NOT_UNIQUE: Field group HEADER wasmodified after an EXTRACT statement.

EXTRACT_OPEN_EXTRACTFILE_OPEN:

Error opening the external extract dataset file.

EXTRACT_RESOURCEHANDLER_FAILED: Error deleting the externalextract dataset file.

EXTRACT_TOO_LARGE: Total length of the entry for extraction(including HEADER fields) is too large.

Additional help

Filling anExtract with Data

Regards,

Kish.

jaideeps
Advisor
Advisor
0 Kudos

hi pavan,

extract dataset is made up of a dynamic number of lines. Sizes of up to 2 GB

chk out this example or refer abapdocu tcode.

NODES: spfli, sflight.

FIELD-GROUPS: header, flight_info, flight_date.

INSERT: spfli-carrid spfli-connid sflight-fldate

INTO header,

spfli-cityfrom spfli-cityto

INTO flight_info.

thanks '

jaideep

if solved reward points and close the thread