ABAP Select data from SAP table P08_PAE_ALL into internal table

Get Example source ABAP code based on a different SAP table
  

Below is a number of ABAP code snippets to demonstrate how to select data from SAP P08_PAE_ALL table and store it within an internal table, including using the newer @DATA inline declaration methods. It also shows you various ways to process this data using ABAP work area, inline declaration or field symbols including executing all the relevant CONVERSION_EXIT routines specific to P08_PAE_ALL. See here for more generic Select statement tips.

Sometimes data within SAP is stored within the database table in a different format to what it is displayed to the user. These input/output conversation FM routines are what translates the data between the two formats.

There is also a full declaration of the P08_PAE_ALL table where each field has a char/string type for you to simply copy and paste. This allows you to use processing that is only available to these field types such as the CONCATENATE statement.

DATA: IT_P08_PAE_ALL TYPE STANDARD TABLE OF P08_PAE_ALL,
      WA_P08_PAE_ALL TYPE P08_PAE_ALL,
      GD_STR TYPE STRING.

DATA: lo_typedescr type REF TO cl_abap_typedescr.
DATA: lv_fieldname type fieldname.

FIELD-SYMBOLS: <FIELD> TYPE any.
FIELD-SYMBOLS: <P08_PAE_ALL> TYPE P08_PAE_ALL.

*Process all fields in table header/work area as string values
  PERFORM process_as_string_field_values CHANGING wa_P08_PAE_ALL.

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM P08_PAE_ALL
  INTO TABLE IT_P08_PAE_ALL.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P08_PAE_ALL
*  INTO TABLE @DATA(IT_P08_PAE_ALL2).
*--Further methods of using ABAP code to  select data from SAP database tables

*You can also declare the header/work area using the in-line DATA declaration method
READ TABLE IT_P08_PAE_ALL INDEX 1 INTO DATA(WA_P08_PAE_ALL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P08_PAE_ALL ASSIGNING <P08_PAE_ALL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P08_PAE_ALL>-GESCH = 1.
<P08_PAE_ALL>-ANREX = 1.
<P08_PAE_ALL>-NACHN = 1.
<P08_PAE_ALL>-VORNA = 1.
<P08_PAE_ALL>-NAME2 = 1.
ENDLOOP.

LOOP AT IT_P08_PAE_ALL INTO WA_P08_PAE_ALL.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P08_PAE_ALL-GBDAT, sy-vline,
WA_P08_PAE_ALL-STLTX, sy-vline,
WA_P08_PAE_ALL-PLSTX, sy-vline,
WA_P08_PAE_ALL-LINE0, sy-vline,
WA_P08_PAE_ALL-LINE1, sy-vline,
WA_P08_PAE_ALL-LINE2, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P08_PAE_ALL you want to display... WRITE:/ sy-uline. * Aternatively use generic code to Write field values (and NAME) to screen report DO. ASSIGN COMPONENT sy-index OF STRUCTURE wa_P08_PAE_ALL TO <field>. IF sy-subrc <> 0. EXIT. ENDIF. WRITE:/ 'Field Value', <field>, sy-vline. gd_str = <field> . lo_typedescr ?= CL_ABAP_DATADESCR=>DESCRIBE_BY_DATA( <field> ). lv_fieldname = lo_typedescr->GET_RELATIVE_NAME( ). WRITE:/ 'Field Name', lv_fieldname. ENDDO. *Redo loop but convert all fields from internal to out value LOOP AT IT_P08_PAE_ALL INTO WA_P08_PAE_ALL. *Write horizonal line to screen report. WRITE:/ sy-uline. *Convert all fields to display/output versions using conversion routines PERFORM convert_all_field_values CHANGING wa_EKKO. ENDLOOP. *&---------------------------------------------------------------------* *& Form convert_all_field_values *&---------------------------------------------------------------------* FORM convert_all_field_values CHANGING p_EKKO LIKE wa_EKKO. DATA: ld_input(1000) TYPE c, ld_output(1000) TYPE C.

*Conversion exit PDATE, internal->external for field GBDAT CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT' EXPORTING input = WA_P08_PAE_ALL-GBDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_P08_PAE_ALL-GBDAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field KOSTL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_P08_PAE_ALL-KOSTL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_P08_PAE_ALL-KOSTL.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_P08_PAE_ALL_STR,
GESCH TYPE STRING,
ANREX TYPE STRING,
NACHN TYPE STRING,
VORNA TYPE STRING,
NAME2 TYPE STRING,
GBDAT TYPE STRING,
STLTX TYPE STRING,
PLSTX TYPE STRING,
LINE0 TYPE STRING,
LINE1 TYPE STRING,
LINE2 TYPE STRING,
LINE3 TYPE STRING,
PSTLZ TYPE STRING,
SPOOL TYPE STRING,
SFORM TYPE STRING,
SNAME TYPE STRING,
EMAIL TYPE STRING,
EMAIL_ID TYPE STRING,
STNOT TYPE STRING,
ENFLG TYPE STRING,
STOP TYPE STRING,
AGE1 TYPE STRING,
AGE2 TYPE STRING,
AGE3 TYPE STRING,
AGE4 TYPE STRING,
EARN1 TYPE STRING,
EARN2 TYPE STRING,
EARN3 TYPE STRING,
NOTUK TYPE STRING,
NOTWK TYPE STRING,
STGDT TYPE STRING,
STAGE TYPE STRING,
STQER TYPE STRING,
STWRC TYPE STRING,
STATY TYPE STRING,
STQPS TYPE STRING,
STDEN TYPE STRING,
PTNTY TYPE STRING,
PTAGE TYPE STRING,
PTQER TYPE STRING,
PTWRC TYPE STRING,
PTATY TYPE STRING,
PTQPS TYPE STRING,
PTDEN TYPE STRING,
PTDDT TYPE STRING,
PTDDN TYPE STRING,
AEGDT TYPE STRING,
AEAGE TYPE STRING,
AEQER TYPE STRING,
AEWRC TYPE STRING,
AEATY TYPE STRING,
AEQPS TYPE STRING,
AEDEN TYPE STRING,
APTTY TYPE STRING,
APAGE TYPE STRING,
APQER TYPE STRING,
APWRC TYPE STRING,
APATY TYPE STRING,
APQPS TYPE STRING,
APDEN TYPE STRING,
APDDT TYPE STRING,
APDDN TYPE STRING,
OIFDT TYPE STRING,
OIVFM TYPE STRING,
OIAGE TYPE STRING,
OIQER TYPE STRING,
OIWRC TYPE STRING,
OIATY TYPE STRING,
OIQPS TYPE STRING,
OIDEN TYPE STRING,
OOFDT TYPE STRING,
OOWFM TYPE STRING,
OOAGE TYPE STRING,
OOQER TYPE STRING,
OOWRC TYPE STRING,
OOVFM TYPE STRING,
OOVTO TYPE STRING,
OOATY TYPE STRING,
OOQPS TYPE STRING,
OODEN TYPE STRING,
OOPDT TYPE STRING,
TPEMC TYPE STRING,
OISCH TYPE STRING,
OOSCH TYPE STRING,
AESCH TYPE STRING,
OONRN TYPE STRING,
DTO_ATEJH TYPE STRING,
DTO_PDATE TYPE STRING,
DTO_PTYPE TYPE STRING,
IARTY TYPE STRING,
EXCNP TYPE STRING,
EXCTX TYPE STRING,
EXCWU TYPE STRING,
EXCNW TYPE STRING,
EXCCD TYPE STRING,
EXCLLP TYPE STRING,
LATE TYPE STRING,
DTO_OODEN TYPE STRING,
BUKRS TYPE STRING,
BUTXT TYPE STRING,
WERKS TYPE STRING,
NAME1 TYPE STRING,
BTRTL TYPE STRING,
BTEXT TYPE STRING,
PERSG TYPE STRING,
PGTXT TYPE STRING,
PERSK TYPE STRING,
PKTXT TYPE STRING,
ORGEH TYPE STRING,
ORGTX TYPE STRING,
KOSTL TYPE STRING,
KOSTT TYPE STRING,
ABKRS TYPE STRING,
ABKTX TYPE STRING,
PERNR TYPE STRING,END OF T_EKKO_STR. DATA: WA_P08_PAE_ALL_STR type T_EKKO_STR. DATA: ld_text TYPE string. LOOP AT IT_EKKO INTO WA_EKKO. MOVE-CORRESPONDING wa_EKKO TO WA_EKKO_STR. CONCATENATE: sy-vline
WA_P08_PAE_ALL_STR-GESCH sy-vline
WA_P08_PAE_ALL_STR-ANREX sy-vline
WA_P08_PAE_ALL_STR-NACHN sy-vline
WA_P08_PAE_ALL_STR-VORNA sy-vline
WA_P08_PAE_ALL_STR-NAME2 sy-vline
WA_P08_PAE_ALL_STR-GBDAT sy-vline
WA_P08_PAE_ALL_STR-STLTX sy-vline
WA_P08_PAE_ALL_STR-PLSTX sy-vline
WA_P08_PAE_ALL_STR-LINE0 sy-vline
WA_P08_PAE_ALL_STR-LINE1 sy-vline
WA_P08_PAE_ALL_STR-LINE2 sy-vline
WA_P08_PAE_ALL_STR-LINE3 sy-vline
WA_P08_PAE_ALL_STR-PSTLZ sy-vline
WA_P08_PAE_ALL_STR-SPOOL sy-vline
WA_P08_PAE_ALL_STR-SFORM sy-vline
WA_P08_PAE_ALL_STR-SNAME sy-vline
WA_P08_PAE_ALL_STR-EMAIL sy-vline
WA_P08_PAE_ALL_STR-EMAIL_ID sy-vline
WA_P08_PAE_ALL_STR-STNOT sy-vline
WA_P08_PAE_ALL_STR-ENFLG sy-vline
WA_P08_PAE_ALL_STR-STOP sy-vline
WA_P08_PAE_ALL_STR-AGE1 sy-vline
WA_P08_PAE_ALL_STR-AGE2 sy-vline
WA_P08_PAE_ALL_STR-AGE3 sy-vline
WA_P08_PAE_ALL_STR-AGE4 sy-vline
WA_P08_PAE_ALL_STR-EARN1 sy-vline
WA_P08_PAE_ALL_STR-EARN2 sy-vline
WA_P08_PAE_ALL_STR-EARN3 sy-vline
WA_P08_PAE_ALL_STR-NOTUK sy-vline
WA_P08_PAE_ALL_STR-NOTWK sy-vline
WA_P08_PAE_ALL_STR-STGDT sy-vline
WA_P08_PAE_ALL_STR-STAGE sy-vline
WA_P08_PAE_ALL_STR-STQER sy-vline
WA_P08_PAE_ALL_STR-STWRC sy-vline
WA_P08_PAE_ALL_STR-STATY sy-vline
WA_P08_PAE_ALL_STR-STQPS sy-vline
WA_P08_PAE_ALL_STR-STDEN sy-vline
WA_P08_PAE_ALL_STR-PTNTY sy-vline
WA_P08_PAE_ALL_STR-PTAGE sy-vline
WA_P08_PAE_ALL_STR-PTQER sy-vline
WA_P08_PAE_ALL_STR-PTWRC sy-vline
WA_P08_PAE_ALL_STR-PTATY sy-vline
WA_P08_PAE_ALL_STR-PTQPS sy-vline
WA_P08_PAE_ALL_STR-PTDEN sy-vline
WA_P08_PAE_ALL_STR-PTDDT sy-vline
WA_P08_PAE_ALL_STR-PTDDN sy-vline
WA_P08_PAE_ALL_STR-AEGDT sy-vline
WA_P08_PAE_ALL_STR-AEAGE sy-vline
WA_P08_PAE_ALL_STR-AEQER sy-vline
WA_P08_PAE_ALL_STR-AEWRC sy-vline
WA_P08_PAE_ALL_STR-AEATY sy-vline
WA_P08_PAE_ALL_STR-AEQPS sy-vline
WA_P08_PAE_ALL_STR-AEDEN sy-vline
WA_P08_PAE_ALL_STR-APTTY sy-vline
WA_P08_PAE_ALL_STR-APAGE sy-vline
WA_P08_PAE_ALL_STR-APQER sy-vline
WA_P08_PAE_ALL_STR-APWRC sy-vline
WA_P08_PAE_ALL_STR-APATY sy-vline
WA_P08_PAE_ALL_STR-APQPS sy-vline
WA_P08_PAE_ALL_STR-APDEN sy-vline
WA_P08_PAE_ALL_STR-APDDT sy-vline
WA_P08_PAE_ALL_STR-APDDN sy-vline
WA_P08_PAE_ALL_STR-OIFDT sy-vline
WA_P08_PAE_ALL_STR-OIVFM sy-vline
WA_P08_PAE_ALL_STR-OIAGE sy-vline
WA_P08_PAE_ALL_STR-OIQER sy-vline
WA_P08_PAE_ALL_STR-OIWRC sy-vline
WA_P08_PAE_ALL_STR-OIATY sy-vline
WA_P08_PAE_ALL_STR-OIQPS sy-vline
WA_P08_PAE_ALL_STR-OIDEN sy-vline
WA_P08_PAE_ALL_STR-OOFDT sy-vline
WA_P08_PAE_ALL_STR-OOWFM sy-vline
WA_P08_PAE_ALL_STR-OOAGE sy-vline
WA_P08_PAE_ALL_STR-OOQER sy-vline
WA_P08_PAE_ALL_STR-OOWRC sy-vline
WA_P08_PAE_ALL_STR-OOVFM sy-vline
WA_P08_PAE_ALL_STR-OOVTO sy-vline
WA_P08_PAE_ALL_STR-OOATY sy-vline
WA_P08_PAE_ALL_STR-OOQPS sy-vline
WA_P08_PAE_ALL_STR-OODEN sy-vline
WA_P08_PAE_ALL_STR-OOPDT sy-vline
WA_P08_PAE_ALL_STR-TPEMC sy-vline
WA_P08_PAE_ALL_STR-OISCH sy-vline
WA_P08_PAE_ALL_STR-OOSCH sy-vline
WA_P08_PAE_ALL_STR-AESCH sy-vline
WA_P08_PAE_ALL_STR-OONRN sy-vline
WA_P08_PAE_ALL_STR-DTO_ATEJH sy-vline
WA_P08_PAE_ALL_STR-DTO_PDATE sy-vline
WA_P08_PAE_ALL_STR-DTO_PTYPE sy-vline
WA_P08_PAE_ALL_STR-IARTY sy-vline
WA_P08_PAE_ALL_STR-EXCNP sy-vline
WA_P08_PAE_ALL_STR-EXCTX sy-vline
WA_P08_PAE_ALL_STR-EXCWU sy-vline
WA_P08_PAE_ALL_STR-EXCNW sy-vline
WA_P08_PAE_ALL_STR-EXCCD sy-vline
WA_P08_PAE_ALL_STR-EXCLLP sy-vline
WA_P08_PAE_ALL_STR-LATE sy-vline
WA_P08_PAE_ALL_STR-DTO_OODEN sy-vline
WA_P08_PAE_ALL_STR-BUKRS sy-vline
WA_P08_PAE_ALL_STR-BUTXT sy-vline
WA_P08_PAE_ALL_STR-WERKS sy-vline
WA_P08_PAE_ALL_STR-NAME1 sy-vline
WA_P08_PAE_ALL_STR-BTRTL sy-vline
WA_P08_PAE_ALL_STR-BTEXT sy-vline
WA_P08_PAE_ALL_STR-PERSG sy-vline
WA_P08_PAE_ALL_STR-PGTXT sy-vline
WA_P08_PAE_ALL_STR-PERSK sy-vline
WA_P08_PAE_ALL_STR-PKTXT sy-vline
WA_P08_PAE_ALL_STR-ORGEH sy-vline
WA_P08_PAE_ALL_STR-ORGTX sy-vline
WA_P08_PAE_ALL_STR-KOSTL sy-vline
WA_P08_PAE_ALL_STR-KOSTT sy-vline
WA_P08_PAE_ALL_STR-ABKRS sy-vline
WA_P08_PAE_ALL_STR-ABKTX sy-vline
WA_P08_PAE_ALL_STR-PERNR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.