ABAP Select data from SAP table P02_GETIS_EE 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 P02_GETIS_EE 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 P02_GETIS_EE. 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 P02_GETIS_EE 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_P02_GETIS_EE TYPE STANDARD TABLE OF P02_GETIS_EE,
      WA_P02_GETIS_EE TYPE P02_GETIS_EE,
      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: <P02_GETIS_EE> TYPE P02_GETIS_EE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P02_GETIS_EE
*  INTO TABLE @DATA(IT_P02_GETIS_EE2).
*--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_P02_GETIS_EE INDEX 1 INTO DATA(WA_P02_GETIS_EE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P02_GETIS_EE ASSIGNING <P02_GETIS_EE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P02_GETIS_EE>-ABRNR = 1.
<P02_GETIS_EE>-ABREH = 1.
<P02_GETIS_EE>-SWERR = 1.
<P02_GETIS_EE>-PERNR = 1.
<P02_GETIS_EE>-AHVNR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P02_GETIS_EE-NACHN, sy-vline,
WA_P02_GETIS_EE-VORNA, sy-vline,
WA_P02_GETIS_EE-GBPAS, sy-vline,
WA_P02_GETIS_EE-GESCH, sy-vline,
WA_P02_GETIS_EE-FAMST, sy-vline,
WA_P02_GETIS_EE-FAMST_GETIS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P02_GETIS_EE 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_P02_GETIS_EE 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_P02_GETIS_EE INTO WA_P02_GETIS_EE. *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 AHVNR, internal->external for field AHVNR CALL FUNCTION 'CONVERSION_EXIT_AHVNR_OUTPUT' EXPORTING input = WA_P02_GETIS_EE-AHVNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_P02_GETIS_EE-AHVNR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

*Conversion exit PDATE, internal->external for field GB_K5 CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT' EXPORTING input = WA_P02_GETIS_EE-GB_K5 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_P02_GETIS_EE-GB_K5.
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_P02_GETIS_EE_STR,
ABRNR TYPE STRING,
ABREH TYPE STRING,
SWERR TYPE STRING,
PERNR TYPE STRING,
AHVNR TYPE STRING,
NACHN TYPE STRING,
VORNA TYPE STRING,
GBPAS TYPE STRING,
GESCH TYPE STRING,
FAMST TYPE STRING,
FAMST_GETIS TYPE STRING,
KONKU TYPE STRING,
KONFE TYPE STRING,
KONFE_GETIS TYPE STRING,
FANAM TYPE STRING,
FAVOR TYPE STRING,
CONTS TYPE STRING,
ANZKI TYPE STRING,
GB_K1 TYPE STRING,
GB_K2 TYPE STRING,
GB_K3 TYPE STRING,
GB_K4 TYPE STRING,
GB_K5 TYPE STRING,
WORT01 TYPE STRING,
WSTRASHNR TYPE STRING,
WSTRAS TYPE STRING,
WHNR TYPE STRING,
WCP TYPE STRING,
WPSTLZ TYPE STRING,
WKANTO TYPE STRING,
WLAND1 TYPE STRING,
WPACA TYPE STRING,
WLOCCG TYPE STRING,
WLOCHG TYPE STRING,
TTYP TYPE STRING,
BTYP TYPE STRING,
AGMGE TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
PDAY TYPE STRING,
NDAY TYPE STRING,
QSPRO TYPE STRING,
QSTAB TYPE STRING,
QSTAB_GETIS TYPE STRING,
LOHN TYPE STRING,
ABFI TYPE STRING,
FAKZU TYPE STRING,
NPZU TYPE STRING,
BETR TYPE STRING,
KIST TYPE STRING,
TOTAL TYPE STRING,
CUSTSTATUS TYPE STRING,
CUSTINFO TYPE STRING,
PERSG TYPE STRING,END OF T_EKKO_STR. DATA: WA_P02_GETIS_EE_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_P02_GETIS_EE_STR-ABRNR sy-vline
WA_P02_GETIS_EE_STR-ABREH sy-vline
WA_P02_GETIS_EE_STR-SWERR sy-vline
WA_P02_GETIS_EE_STR-PERNR sy-vline
WA_P02_GETIS_EE_STR-AHVNR sy-vline
WA_P02_GETIS_EE_STR-NACHN sy-vline
WA_P02_GETIS_EE_STR-VORNA sy-vline
WA_P02_GETIS_EE_STR-GBPAS sy-vline
WA_P02_GETIS_EE_STR-GESCH sy-vline
WA_P02_GETIS_EE_STR-FAMST sy-vline
WA_P02_GETIS_EE_STR-FAMST_GETIS sy-vline
WA_P02_GETIS_EE_STR-KONKU sy-vline
WA_P02_GETIS_EE_STR-KONFE sy-vline
WA_P02_GETIS_EE_STR-KONFE_GETIS sy-vline
WA_P02_GETIS_EE_STR-FANAM sy-vline
WA_P02_GETIS_EE_STR-FAVOR sy-vline
WA_P02_GETIS_EE_STR-CONTS sy-vline
WA_P02_GETIS_EE_STR-ANZKI sy-vline
WA_P02_GETIS_EE_STR-GB_K1 sy-vline
WA_P02_GETIS_EE_STR-GB_K2 sy-vline
WA_P02_GETIS_EE_STR-GB_K3 sy-vline
WA_P02_GETIS_EE_STR-GB_K4 sy-vline
WA_P02_GETIS_EE_STR-GB_K5 sy-vline
WA_P02_GETIS_EE_STR-WORT01 sy-vline
WA_P02_GETIS_EE_STR-WSTRASHNR sy-vline
WA_P02_GETIS_EE_STR-WSTRAS sy-vline
WA_P02_GETIS_EE_STR-WHNR sy-vline
WA_P02_GETIS_EE_STR-WCP sy-vline
WA_P02_GETIS_EE_STR-WPSTLZ sy-vline
WA_P02_GETIS_EE_STR-WKANTO sy-vline
WA_P02_GETIS_EE_STR-WLAND1 sy-vline
WA_P02_GETIS_EE_STR-WPACA sy-vline
WA_P02_GETIS_EE_STR-WLOCCG sy-vline
WA_P02_GETIS_EE_STR-WLOCHG sy-vline
WA_P02_GETIS_EE_STR-TTYP sy-vline
WA_P02_GETIS_EE_STR-BTYP sy-vline
WA_P02_GETIS_EE_STR-AGMGE sy-vline
WA_P02_GETIS_EE_STR-BEGDA sy-vline
WA_P02_GETIS_EE_STR-ENDDA sy-vline
WA_P02_GETIS_EE_STR-PDAY sy-vline
WA_P02_GETIS_EE_STR-NDAY sy-vline
WA_P02_GETIS_EE_STR-QSPRO sy-vline
WA_P02_GETIS_EE_STR-QSTAB sy-vline
WA_P02_GETIS_EE_STR-QSTAB_GETIS sy-vline
WA_P02_GETIS_EE_STR-LOHN sy-vline
WA_P02_GETIS_EE_STR-ABFI sy-vline
WA_P02_GETIS_EE_STR-FAKZU sy-vline
WA_P02_GETIS_EE_STR-NPZU sy-vline
WA_P02_GETIS_EE_STR-BETR sy-vline
WA_P02_GETIS_EE_STR-KIST sy-vline
WA_P02_GETIS_EE_STR-TOTAL sy-vline
WA_P02_GETIS_EE_STR-CUSTSTATUS sy-vline
WA_P02_GETIS_EE_STR-CUSTINFO sy-vline
WA_P02_GETIS_EE_STR-PERSG sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.