ABAP Select data from SAP table PIQTR_EO1 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 PIQTR_EO1 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 PIQTR_EO1. 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 PIQTR_EO1 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_PIQTR_EO1 TYPE STANDARD TABLE OF PIQTR_EO1,
      WA_PIQTR_EO1 TYPE PIQTR_EO1,
      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: <PIQTR_EO1> TYPE PIQTR_EO1.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PIQTR_EO1
*  INTO TABLE @DATA(IT_PIQTR_EO12).
*--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_PIQTR_EO1 INDEX 1 INTO DATA(WA_PIQTR_EO12).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PIQTR_EO1 ASSIGNING <PIQTR_EO1>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PIQTR_EO1>-PLVAR = 1.
<PIQTR_EO1>-OTYPE = 1.
<PIQTR_EO1>-OBJID = 1.
<PIQTR_EO1>-EO_BEGDA = 1.
<PIQTR_EO1>-EO_ENDDA = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PIQTR_EO1-EOCODETYPEID, sy-vline,
WA_PIQTR_EO1-EOCODETYPEIDTEXT, sy-vline,
WA_PIQTR_EO1-EOCODE, sy-vline,
WA_PIQTR_EO1-EOCLASS, sy-vline,
WA_PIQTR_EO1-EOCLASSTEXT, sy-vline,
WA_PIQTR_EO1-SHORT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PIQTR_EO1 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_PIQTR_EO1 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_PIQTR_EO1 INTO WA_PIQTR_EO1. *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 ALPHA, internal->external for field ADRNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PIQTR_EO1-ADRNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PIQTR_EO1-ADRNR.
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_PIQTR_EO1_STR,
PLVAR TYPE STRING,
OTYPE TYPE STRING,
OBJID TYPE STRING,
EO_BEGDA TYPE STRING,
EO_ENDDA TYPE STRING,
EOCODETYPEID TYPE STRING,
EOCODETYPEIDTEXT TYPE STRING,
EOCODE TYPE STRING,
EOCLASS TYPE STRING,
EOCLASSTEXT TYPE STRING,
SHORT TYPE STRING,
STEXT TYPE STRING,
CATEGORY TYPE STRING,
CATEGORYTEXT TYPE STRING,
ACCREDITED TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
CNAME TYPE STRING,
STRAS TYPE STRING,
ORT01 TYPE STRING,
PSTLZ TYPE STRING,
LAND1 TYPE STRING,
TELNR TYPE STRING,
FAXNR TYPE STRING,
ENTKM TYPE STRING,
BUILD TYPE STRING,
ROOM1 TYPE STRING,
ADRNR TYPE STRING,
REGIO TYPE STRING,
STRS2 TYPE STRING,
HAUSN TYPE STRING,
SUTEXT TYPE STRING,
REGIOT TYPE STRING,
LANDX TYPE STRING,
HEI TYPE STRING,
HEI_TEXT TYPE STRING,
MONTH_COUNT TYPE STRING,
COUNC TYPE STRING,
COUNC_TEXT TYPE STRING,
UEQ TYPE STRING,
UEQ_TEXT TYPE STRING,
COUNTRY TYPE STRING,
COUNRY_NAME TYPE STRING,
REGION TYPE STRING,
REGION_TEXT TYPE STRING,
PROGRAM_OBJID TYPE STRING,
PROGRAM_TEXT TYPE STRING,
EXP_TYPE TYPE STRING,
MOBILITY_PROG_TYPE TYPE STRING,
PROGRAM_SHORT TYPE STRING,
EXP_TYPE_TEXT TYPE STRING,
MOBILITY_PROG_TYPE_TEXT TYPE STRING,END OF T_EKKO_STR. DATA: WA_PIQTR_EO1_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_PIQTR_EO1_STR-PLVAR sy-vline
WA_PIQTR_EO1_STR-OTYPE sy-vline
WA_PIQTR_EO1_STR-OBJID sy-vline
WA_PIQTR_EO1_STR-EO_BEGDA sy-vline
WA_PIQTR_EO1_STR-EO_ENDDA sy-vline
WA_PIQTR_EO1_STR-EOCODETYPEID sy-vline
WA_PIQTR_EO1_STR-EOCODETYPEIDTEXT sy-vline
WA_PIQTR_EO1_STR-EOCODE sy-vline
WA_PIQTR_EO1_STR-EOCLASS sy-vline
WA_PIQTR_EO1_STR-EOCLASSTEXT sy-vline
WA_PIQTR_EO1_STR-SHORT sy-vline
WA_PIQTR_EO1_STR-STEXT sy-vline
WA_PIQTR_EO1_STR-CATEGORY sy-vline
WA_PIQTR_EO1_STR-CATEGORYTEXT sy-vline
WA_PIQTR_EO1_STR-ACCREDITED sy-vline
WA_PIQTR_EO1_STR-BEGDA sy-vline
WA_PIQTR_EO1_STR-ENDDA sy-vline
WA_PIQTR_EO1_STR-CNAME sy-vline
WA_PIQTR_EO1_STR-STRAS sy-vline
WA_PIQTR_EO1_STR-ORT01 sy-vline
WA_PIQTR_EO1_STR-PSTLZ sy-vline
WA_PIQTR_EO1_STR-LAND1 sy-vline
WA_PIQTR_EO1_STR-TELNR sy-vline
WA_PIQTR_EO1_STR-FAXNR sy-vline
WA_PIQTR_EO1_STR-ENTKM sy-vline
WA_PIQTR_EO1_STR-BUILD sy-vline
WA_PIQTR_EO1_STR-ROOM1 sy-vline
WA_PIQTR_EO1_STR-ADRNR sy-vline
WA_PIQTR_EO1_STR-REGIO sy-vline
WA_PIQTR_EO1_STR-STRS2 sy-vline
WA_PIQTR_EO1_STR-HAUSN sy-vline
WA_PIQTR_EO1_STR-SUTEXT sy-vline
WA_PIQTR_EO1_STR-REGIOT sy-vline
WA_PIQTR_EO1_STR-LANDX sy-vline
WA_PIQTR_EO1_STR-HEI sy-vline
WA_PIQTR_EO1_STR-HEI_TEXT sy-vline
WA_PIQTR_EO1_STR-MONTH_COUNT sy-vline
WA_PIQTR_EO1_STR-COUNC sy-vline
WA_PIQTR_EO1_STR-COUNC_TEXT sy-vline
WA_PIQTR_EO1_STR-UEQ sy-vline
WA_PIQTR_EO1_STR-UEQ_TEXT sy-vline
WA_PIQTR_EO1_STR-COUNTRY sy-vline
WA_PIQTR_EO1_STR-COUNRY_NAME sy-vline
WA_PIQTR_EO1_STR-REGION sy-vline
WA_PIQTR_EO1_STR-REGION_TEXT sy-vline
WA_PIQTR_EO1_STR-PROGRAM_OBJID sy-vline
WA_PIQTR_EO1_STR-PROGRAM_TEXT sy-vline
WA_PIQTR_EO1_STR-EXP_TYPE sy-vline
WA_PIQTR_EO1_STR-MOBILITY_PROG_TYPE sy-vline
WA_PIQTR_EO1_STR-PROGRAM_SHORT sy-vline
WA_PIQTR_EO1_STR-EXP_TYPE_TEXT sy-vline
WA_PIQTR_EO1_STR-MOBILITY_PROG_TYPE_TEXT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.