ABAP Select data from SAP table P0567 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 P0567 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 P0567. 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 P0567 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_P0567 TYPE STANDARD TABLE OF P0567,
      WA_P0567 TYPE P0567,
      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: <P0567> TYPE P0567.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P0567
*  INTO TABLE @DATA(IT_P05672).
*--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_P0567 INDEX 1 INTO DATA(WA_P05672).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P0567 ASSIGNING <P0567>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P0567>-PERNR = 1.
<P0567>-INFTY = 1.
<P0567>-SUBTY = 1.
<P0567>-OBJPS = 1.
<P0567>-SPRPS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P0567-ENDDA, sy-vline,
WA_P0567-BEGDA, sy-vline,
WA_P0567-SEQNR, sy-vline,
WA_P0567-AEDTM, sy-vline,
WA_P0567-UNAME, sy-vline,
WA_P0567-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P0567 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_P0567 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_P0567 INTO WA_P0567. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_P0567_STR,
PERNR TYPE STRING,
INFTY TYPE STRING,
SUBTY TYPE STRING,
OBJPS TYPE STRING,
SPRPS TYPE STRING,
ENDDA TYPE STRING,
BEGDA TYPE STRING,
SEQNR TYPE STRING,
AEDTM TYPE STRING,
UNAME TYPE STRING,
HISTO TYPE STRING,
ITXEX TYPE STRING,
REFEX TYPE STRING,
ORDEX TYPE STRING,
ITBLD TYPE STRING,
PREAS TYPE STRING,
FLAG1 TYPE STRING,
FLAG2 TYPE STRING,
FLAG3 TYPE STRING,
FLAG4 TYPE STRING,
RESE1 TYPE STRING,
RESE2 TYPE STRING,
GRPVL TYPE STRING,
MASSG TYPE STRING,
TMDAT TYPE STRING,
NTDAT TYPE STRING,
PTDAT TYPE STRING,
EROLE TYPE STRING,
SMDAT TYPE STRING,
SMRET TYPE STRING,
ETPDT TYPE STRING,
ROLDT TYPE STRING,
WAERS TYPE STRING,
AJW01 TYPE STRING,
AJA01 TYPE STRING,
LAW01 TYPE STRING,
LAA01 TYPE STRING,
FUN01 TYPE STRING,
FA101 TYPE STRING,
FA201 TYPE STRING,
FA301 TYPE STRING,
ROA01 TYPE STRING,
AJW02 TYPE STRING,
AJA02 TYPE STRING,
LAW02 TYPE STRING,
LAA02 TYPE STRING,
FUN02 TYPE STRING,
FA102 TYPE STRING,
FA202 TYPE STRING,
FA302 TYPE STRING,
ROA02 TYPE STRING,
AJW03 TYPE STRING,
AJA03 TYPE STRING,
LAW03 TYPE STRING,
LAA03 TYPE STRING,
FUN03 TYPE STRING,
FA103 TYPE STRING,
FA203 TYPE STRING,
FA303 TYPE STRING,
ROA03 TYPE STRING,
AJW04 TYPE STRING,
AJA04 TYPE STRING,
LAW04 TYPE STRING,
LAA04 TYPE STRING,
FUN04 TYPE STRING,
FA104 TYPE STRING,
FA204 TYPE STRING,
FA304 TYPE STRING,
ROA04 TYPE STRING,
AJW05 TYPE STRING,
AJA05 TYPE STRING,
LAW05 TYPE STRING,
LAA05 TYPE STRING,
FUN05 TYPE STRING,
FA105 TYPE STRING,
FA205 TYPE STRING,
FA305 TYPE STRING,
ROA05 TYPE STRING,
AJW06 TYPE STRING,
AJA06 TYPE STRING,
LAW06 TYPE STRING,
LAA06 TYPE STRING,
FUN06 TYPE STRING,
FA106 TYPE STRING,
FA206 TYPE STRING,
FA306 TYPE STRING,
ROA06 TYPE STRING,
AJW07 TYPE STRING,
AJA07 TYPE STRING,
LAW07 TYPE STRING,
LAA07 TYPE STRING,
FUN07 TYPE STRING,
FA107 TYPE STRING,
FA207 TYPE STRING,
FA307 TYPE STRING,
ROA07 TYPE STRING,
AJW08 TYPE STRING,
AJA08 TYPE STRING,
LAW08 TYPE STRING,
LAA08 TYPE STRING,
FUN08 TYPE STRING,
FA108 TYPE STRING,
FA208 TYPE STRING,
FA308 TYPE STRING,
ROA08 TYPE STRING,
AJW09 TYPE STRING,
AJA09 TYPE STRING,
LAW09 TYPE STRING,
LAA09 TYPE STRING,
FUN09 TYPE STRING,
FA109 TYPE STRING,
FA209 TYPE STRING,
FA309 TYPE STRING,
ROA09 TYPE STRING,
AJW10 TYPE STRING,
AJA10 TYPE STRING,
LAW10 TYPE STRING,
LAA10 TYPE STRING,
FUN10 TYPE STRING,
FA110 TYPE STRING,
FA210 TYPE STRING,
FA310 TYPE STRING,
ROA10 TYPE STRING,
ETPTP TYPE STRING,
EXL01 TYPE STRING,
EXL02 TYPE STRING,
EXL03 TYPE STRING,
EXL04 TYPE STRING,
EXL05 TYPE STRING,
EXL06 TYPE STRING,
EXL07 TYPE STRING,
EXL08 TYPE STRING,
EXL09 TYPE STRING,
EXL10 TYPE STRING,
EXT01 TYPE STRING,
EXT02 TYPE STRING,
EXT03 TYPE STRING,
EXT04 TYPE STRING,
EXT05 TYPE STRING,
EXT06 TYPE STRING,
EXT07 TYPE STRING,
EXT08 TYPE STRING,
EXT09 TYPE STRING,
EXT10 TYPE STRING,END OF T_EKKO_STR. DATA: WA_P0567_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_P0567_STR-PERNR sy-vline
WA_P0567_STR-INFTY sy-vline
WA_P0567_STR-SUBTY sy-vline
WA_P0567_STR-OBJPS sy-vline
WA_P0567_STR-SPRPS sy-vline
WA_P0567_STR-ENDDA sy-vline
WA_P0567_STR-BEGDA sy-vline
WA_P0567_STR-SEQNR sy-vline
WA_P0567_STR-AEDTM sy-vline
WA_P0567_STR-UNAME sy-vline
WA_P0567_STR-HISTO sy-vline
WA_P0567_STR-ITXEX sy-vline
WA_P0567_STR-REFEX sy-vline
WA_P0567_STR-ORDEX sy-vline
WA_P0567_STR-ITBLD sy-vline
WA_P0567_STR-PREAS sy-vline
WA_P0567_STR-FLAG1 sy-vline
WA_P0567_STR-FLAG2 sy-vline
WA_P0567_STR-FLAG3 sy-vline
WA_P0567_STR-FLAG4 sy-vline
WA_P0567_STR-RESE1 sy-vline
WA_P0567_STR-RESE2 sy-vline
WA_P0567_STR-GRPVL sy-vline
WA_P0567_STR-MASSG sy-vline
WA_P0567_STR-TMDAT sy-vline
WA_P0567_STR-NTDAT sy-vline
WA_P0567_STR-PTDAT sy-vline
WA_P0567_STR-EROLE sy-vline
WA_P0567_STR-SMDAT sy-vline
WA_P0567_STR-SMRET sy-vline
WA_P0567_STR-ETPDT sy-vline
WA_P0567_STR-ROLDT sy-vline
WA_P0567_STR-WAERS sy-vline
WA_P0567_STR-AJW01 sy-vline
WA_P0567_STR-AJA01 sy-vline
WA_P0567_STR-LAW01 sy-vline
WA_P0567_STR-LAA01 sy-vline
WA_P0567_STR-FUN01 sy-vline
WA_P0567_STR-FA101 sy-vline
WA_P0567_STR-FA201 sy-vline
WA_P0567_STR-FA301 sy-vline
WA_P0567_STR-ROA01 sy-vline
WA_P0567_STR-AJW02 sy-vline
WA_P0567_STR-AJA02 sy-vline
WA_P0567_STR-LAW02 sy-vline
WA_P0567_STR-LAA02 sy-vline
WA_P0567_STR-FUN02 sy-vline
WA_P0567_STR-FA102 sy-vline
WA_P0567_STR-FA202 sy-vline
WA_P0567_STR-FA302 sy-vline
WA_P0567_STR-ROA02 sy-vline
WA_P0567_STR-AJW03 sy-vline
WA_P0567_STR-AJA03 sy-vline
WA_P0567_STR-LAW03 sy-vline
WA_P0567_STR-LAA03 sy-vline
WA_P0567_STR-FUN03 sy-vline
WA_P0567_STR-FA103 sy-vline
WA_P0567_STR-FA203 sy-vline
WA_P0567_STR-FA303 sy-vline
WA_P0567_STR-ROA03 sy-vline
WA_P0567_STR-AJW04 sy-vline
WA_P0567_STR-AJA04 sy-vline
WA_P0567_STR-LAW04 sy-vline
WA_P0567_STR-LAA04 sy-vline
WA_P0567_STR-FUN04 sy-vline
WA_P0567_STR-FA104 sy-vline
WA_P0567_STR-FA204 sy-vline
WA_P0567_STR-FA304 sy-vline
WA_P0567_STR-ROA04 sy-vline
WA_P0567_STR-AJW05 sy-vline
WA_P0567_STR-AJA05 sy-vline
WA_P0567_STR-LAW05 sy-vline
WA_P0567_STR-LAA05 sy-vline
WA_P0567_STR-FUN05 sy-vline
WA_P0567_STR-FA105 sy-vline
WA_P0567_STR-FA205 sy-vline
WA_P0567_STR-FA305 sy-vline
WA_P0567_STR-ROA05 sy-vline
WA_P0567_STR-AJW06 sy-vline
WA_P0567_STR-AJA06 sy-vline
WA_P0567_STR-LAW06 sy-vline
WA_P0567_STR-LAA06 sy-vline
WA_P0567_STR-FUN06 sy-vline
WA_P0567_STR-FA106 sy-vline
WA_P0567_STR-FA206 sy-vline
WA_P0567_STR-FA306 sy-vline
WA_P0567_STR-ROA06 sy-vline
WA_P0567_STR-AJW07 sy-vline
WA_P0567_STR-AJA07 sy-vline
WA_P0567_STR-LAW07 sy-vline
WA_P0567_STR-LAA07 sy-vline
WA_P0567_STR-FUN07 sy-vline
WA_P0567_STR-FA107 sy-vline
WA_P0567_STR-FA207 sy-vline
WA_P0567_STR-FA307 sy-vline
WA_P0567_STR-ROA07 sy-vline
WA_P0567_STR-AJW08 sy-vline
WA_P0567_STR-AJA08 sy-vline
WA_P0567_STR-LAW08 sy-vline
WA_P0567_STR-LAA08 sy-vline
WA_P0567_STR-FUN08 sy-vline
WA_P0567_STR-FA108 sy-vline
WA_P0567_STR-FA208 sy-vline
WA_P0567_STR-FA308 sy-vline
WA_P0567_STR-ROA08 sy-vline
WA_P0567_STR-AJW09 sy-vline
WA_P0567_STR-AJA09 sy-vline
WA_P0567_STR-LAW09 sy-vline
WA_P0567_STR-LAA09 sy-vline
WA_P0567_STR-FUN09 sy-vline
WA_P0567_STR-FA109 sy-vline
WA_P0567_STR-FA209 sy-vline
WA_P0567_STR-FA309 sy-vline
WA_P0567_STR-ROA09 sy-vline
WA_P0567_STR-AJW10 sy-vline
WA_P0567_STR-AJA10 sy-vline
WA_P0567_STR-LAW10 sy-vline
WA_P0567_STR-LAA10 sy-vline
WA_P0567_STR-FUN10 sy-vline
WA_P0567_STR-FA110 sy-vline
WA_P0567_STR-FA210 sy-vline
WA_P0567_STR-FA310 sy-vline
WA_P0567_STR-ROA10 sy-vline
WA_P0567_STR-ETPTP sy-vline
WA_P0567_STR-EXL01 sy-vline
WA_P0567_STR-EXL02 sy-vline
WA_P0567_STR-EXL03 sy-vline
WA_P0567_STR-EXL04 sy-vline
WA_P0567_STR-EXL05 sy-vline
WA_P0567_STR-EXL06 sy-vline
WA_P0567_STR-EXL07 sy-vline
WA_P0567_STR-EXL08 sy-vline
WA_P0567_STR-EXL09 sy-vline
WA_P0567_STR-EXL10 sy-vline
WA_P0567_STR-EXT01 sy-vline
WA_P0567_STR-EXT02 sy-vline
WA_P0567_STR-EXT03 sy-vline
WA_P0567_STR-EXT04 sy-vline
WA_P0567_STR-EXT05 sy-vline
WA_P0567_STR-EXT06 sy-vline
WA_P0567_STR-EXT07 sy-vline
WA_P0567_STR-EXT08 sy-vline
WA_P0567_STR-EXT09 sy-vline
WA_P0567_STR-EXT10 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.