ABAP Select data from SAP table PAD50_QUE 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 PAD50_QUE 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 PAD50_QUE. 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 PAD50_QUE 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_PAD50_QUE TYPE STANDARD TABLE OF PAD50_QUE,
      WA_PAD50_QUE TYPE PAD50_QUE,
      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: <PAD50_QUE> TYPE PAD50_QUE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PAD50_QUE
*  INTO TABLE @DATA(IT_PAD50_QUE2).
*--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_PAD50_QUE INDEX 1 INTO DATA(WA_PAD50_QUE2).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PAD50_QUE-IT0_SUBTY, sy-vline,
WA_PAD50_QUE-IT0_ISTAT, sy-vline,
WA_PAD50_QUE-IT0_PRIOX, sy-vline,
WA_PAD50_QUE-BEGDA, sy-vline,
WA_PAD50_QUE-ENDDA, sy-vline,
WA_PAD50_QUE-IT0_LANGU, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PAD50_QUE 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_PAD50_QUE 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_PAD50_QUE INTO WA_PAD50_QUE. *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 ISOLA, internal->external for field IT0_LANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_PAD50_QUE-IT0_LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD50_QUE-IT0_LANGU.
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_PAD50_QUE_STR,
MANDT TYPE STRING,
PLVAR TYPE STRING,
OTYPE TYPE STRING,
OBJID TYPE STRING,
IT0_INFTY TYPE STRING,
IT0_SUBTY TYPE STRING,
IT0_ISTAT TYPE STRING,
IT0_PRIOX TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
IT0_LANGU TYPE STRING,
IT0_SEQNR TYPE STRING,
IT0_AEDTM TYPE STRING,
IT0_UNAME TYPE STRING,
IT0_REASN TYPE STRING,
IT0_HISTO TYPE STRING,
IT0_ITXNR TYPE STRING,
SHORT TYPE STRING,
STEXT TYPE STRING,
GDATE TYPE STRING,
IT1_RSIGN TYPE STRING,
IT1_RELAT TYPE STRING,
IT1_ISTAT TYPE STRING,
IT1_PRIOX TYPE STRING,
IT1_BEGDA TYPE STRING,
IT1_ENDDA TYPE STRING,
IT1_AEDTM TYPE STRING,
IT1_UNAME TYPE STRING,
IT1_REASN TYPE STRING,
IT1_HISTO TYPE STRING,
IT1_ITXNR TYPE STRING,
IT1_SCLAS TYPE STRING,
IT1_SOBID TYPE STRING,
IT1_PROZT TYPE STRING,
EVATY_X TYPE STRING,
CRT00_X TYPE STRING,
CRT01_X TYPE STRING,
CRT02_X TYPE STRING,
CRT03_X TYPE STRING,
CRT04_X TYPE STRING,
CRT05_X TYPE STRING,
CRT06_X TYPE STRING,
CRT07_X TYPE STRING,
CRT08_X TYPE STRING,
CRT09_X TYPE STRING,
CRT10_X TYPE STRING,
CRT11_X TYPE STRING,
CRT12_X TYPE STRING,
CRT13_X TYPE STRING,
CRT14_X TYPE STRING,
CRT15_X TYPE STRING,
CRT16_X TYPE STRING,
CRT17_X TYPE STRING,
CRT18_X TYPE STRING,
CRT19_X TYPE STRING,
CRT20_X TYPE STRING,
CRT21_X TYPE STRING,
CRT22_X TYPE STRING,
CRT23_X TYPE STRING,
CRT24_X TYPE STRING,
CRT25_X TYPE STRING,
CRT26_X TYPE STRING,
CRT27_X TYPE STRING,
CRT28_X TYPE STRING,
CRT29_X TYPE STRING,
CRT30_X TYPE STRING,
CRT31_X TYPE STRING,
CRT32_X TYPE STRING,
CRT33_X TYPE STRING,
CRT34_X TYPE STRING,
CRT35_X TYPE STRING,
CRT36_X TYPE STRING,
CRT37_X TYPE STRING,
CRT38_X TYPE STRING,
CRT39_X TYPE STRING,
CRT40_X TYPE STRING,
CRT41_X TYPE STRING,
CRT42_X TYPE STRING,
CRT43_X TYPE STRING,
CRT44_X TYPE STRING,
CRT45_X TYPE STRING,
CRT46_X TYPE STRING,
CRT47_X TYPE STRING,
CRT48_X TYPE STRING,
CRT49_X TYPE STRING,
CRT50_X TYPE STRING,
CRT51_X TYPE STRING,
CRT52_X TYPE STRING,
CRT53_X TYPE STRING,
CRT54_X TYPE STRING,
CRT55_X TYPE STRING,
CRT56_X TYPE STRING,
CRT57_X TYPE STRING,
CRT58_X TYPE STRING,
CRT59_X TYPE STRING,
CRT60_X TYPE STRING,
CRT61_X TYPE STRING,
CRT62_X TYPE STRING,
CRT63_X TYPE STRING,
CRT64_X TYPE STRING,
CRT65_X TYPE STRING,
CRT66_X TYPE STRING,
CRT67_X TYPE STRING,
CRT68_X TYPE STRING,
CRT69_X TYPE STRING,
CRT70_X TYPE STRING,
CRT71_X TYPE STRING,
CRT72_X TYPE STRING,
CRT73_X TYPE STRING,
CRT74_X TYPE STRING,
CRT75_X TYPE STRING,END OF T_EKKO_STR. DATA: WA_PAD50_QUE_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_PAD50_QUE_STR-MANDT sy-vline
WA_PAD50_QUE_STR-PLVAR sy-vline
WA_PAD50_QUE_STR-OTYPE sy-vline
WA_PAD50_QUE_STR-OBJID sy-vline
WA_PAD50_QUE_STR-IT0_INFTY sy-vline
WA_PAD50_QUE_STR-IT0_SUBTY sy-vline
WA_PAD50_QUE_STR-IT0_ISTAT sy-vline
WA_PAD50_QUE_STR-IT0_PRIOX sy-vline
WA_PAD50_QUE_STR-BEGDA sy-vline
WA_PAD50_QUE_STR-ENDDA sy-vline
WA_PAD50_QUE_STR-IT0_LANGU sy-vline
WA_PAD50_QUE_STR-IT0_SEQNR sy-vline
WA_PAD50_QUE_STR-IT0_AEDTM sy-vline
WA_PAD50_QUE_STR-IT0_UNAME sy-vline
WA_PAD50_QUE_STR-IT0_REASN sy-vline
WA_PAD50_QUE_STR-IT0_HISTO sy-vline
WA_PAD50_QUE_STR-IT0_ITXNR sy-vline
WA_PAD50_QUE_STR-SHORT sy-vline
WA_PAD50_QUE_STR-STEXT sy-vline
WA_PAD50_QUE_STR-GDATE sy-vline
WA_PAD50_QUE_STR-IT1_RSIGN sy-vline
WA_PAD50_QUE_STR-IT1_RELAT sy-vline
WA_PAD50_QUE_STR-IT1_ISTAT sy-vline
WA_PAD50_QUE_STR-IT1_PRIOX sy-vline
WA_PAD50_QUE_STR-IT1_BEGDA sy-vline
WA_PAD50_QUE_STR-IT1_ENDDA sy-vline
WA_PAD50_QUE_STR-IT1_AEDTM sy-vline
WA_PAD50_QUE_STR-IT1_UNAME sy-vline
WA_PAD50_QUE_STR-IT1_REASN sy-vline
WA_PAD50_QUE_STR-IT1_HISTO sy-vline
WA_PAD50_QUE_STR-IT1_ITXNR sy-vline
WA_PAD50_QUE_STR-IT1_SCLAS sy-vline
WA_PAD50_QUE_STR-IT1_SOBID sy-vline
WA_PAD50_QUE_STR-IT1_PROZT sy-vline
WA_PAD50_QUE_STR-EVATY_X sy-vline
WA_PAD50_QUE_STR-CRT00_X sy-vline
WA_PAD50_QUE_STR-CRT01_X sy-vline
WA_PAD50_QUE_STR-CRT02_X sy-vline
WA_PAD50_QUE_STR-CRT03_X sy-vline
WA_PAD50_QUE_STR-CRT04_X sy-vline
WA_PAD50_QUE_STR-CRT05_X sy-vline
WA_PAD50_QUE_STR-CRT06_X sy-vline
WA_PAD50_QUE_STR-CRT07_X sy-vline
WA_PAD50_QUE_STR-CRT08_X sy-vline
WA_PAD50_QUE_STR-CRT09_X sy-vline
WA_PAD50_QUE_STR-CRT10_X sy-vline
WA_PAD50_QUE_STR-CRT11_X sy-vline
WA_PAD50_QUE_STR-CRT12_X sy-vline
WA_PAD50_QUE_STR-CRT13_X sy-vline
WA_PAD50_QUE_STR-CRT14_X sy-vline
WA_PAD50_QUE_STR-CRT15_X sy-vline
WA_PAD50_QUE_STR-CRT16_X sy-vline
WA_PAD50_QUE_STR-CRT17_X sy-vline
WA_PAD50_QUE_STR-CRT18_X sy-vline
WA_PAD50_QUE_STR-CRT19_X sy-vline
WA_PAD50_QUE_STR-CRT20_X sy-vline
WA_PAD50_QUE_STR-CRT21_X sy-vline
WA_PAD50_QUE_STR-CRT22_X sy-vline
WA_PAD50_QUE_STR-CRT23_X sy-vline
WA_PAD50_QUE_STR-CRT24_X sy-vline
WA_PAD50_QUE_STR-CRT25_X sy-vline
WA_PAD50_QUE_STR-CRT26_X sy-vline
WA_PAD50_QUE_STR-CRT27_X sy-vline
WA_PAD50_QUE_STR-CRT28_X sy-vline
WA_PAD50_QUE_STR-CRT29_X sy-vline
WA_PAD50_QUE_STR-CRT30_X sy-vline
WA_PAD50_QUE_STR-CRT31_X sy-vline
WA_PAD50_QUE_STR-CRT32_X sy-vline
WA_PAD50_QUE_STR-CRT33_X sy-vline
WA_PAD50_QUE_STR-CRT34_X sy-vline
WA_PAD50_QUE_STR-CRT35_X sy-vline
WA_PAD50_QUE_STR-CRT36_X sy-vline
WA_PAD50_QUE_STR-CRT37_X sy-vline
WA_PAD50_QUE_STR-CRT38_X sy-vline
WA_PAD50_QUE_STR-CRT39_X sy-vline
WA_PAD50_QUE_STR-CRT40_X sy-vline
WA_PAD50_QUE_STR-CRT41_X sy-vline
WA_PAD50_QUE_STR-CRT42_X sy-vline
WA_PAD50_QUE_STR-CRT43_X sy-vline
WA_PAD50_QUE_STR-CRT44_X sy-vline
WA_PAD50_QUE_STR-CRT45_X sy-vline
WA_PAD50_QUE_STR-CRT46_X sy-vline
WA_PAD50_QUE_STR-CRT47_X sy-vline
WA_PAD50_QUE_STR-CRT48_X sy-vline
WA_PAD50_QUE_STR-CRT49_X sy-vline
WA_PAD50_QUE_STR-CRT50_X sy-vline
WA_PAD50_QUE_STR-CRT51_X sy-vline
WA_PAD50_QUE_STR-CRT52_X sy-vline
WA_PAD50_QUE_STR-CRT53_X sy-vline
WA_PAD50_QUE_STR-CRT54_X sy-vline
WA_PAD50_QUE_STR-CRT55_X sy-vline
WA_PAD50_QUE_STR-CRT56_X sy-vline
WA_PAD50_QUE_STR-CRT57_X sy-vline
WA_PAD50_QUE_STR-CRT58_X sy-vline
WA_PAD50_QUE_STR-CRT59_X sy-vline
WA_PAD50_QUE_STR-CRT60_X sy-vline
WA_PAD50_QUE_STR-CRT61_X sy-vline
WA_PAD50_QUE_STR-CRT62_X sy-vline
WA_PAD50_QUE_STR-CRT63_X sy-vline
WA_PAD50_QUE_STR-CRT64_X sy-vline
WA_PAD50_QUE_STR-CRT65_X sy-vline
WA_PAD50_QUE_STR-CRT66_X sy-vline
WA_PAD50_QUE_STR-CRT67_X sy-vline
WA_PAD50_QUE_STR-CRT68_X sy-vline
WA_PAD50_QUE_STR-CRT69_X sy-vline
WA_PAD50_QUE_STR-CRT70_X sy-vline
WA_PAD50_QUE_STR-CRT71_X sy-vline
WA_PAD50_QUE_STR-CRT72_X sy-vline
WA_PAD50_QUE_STR-CRT73_X sy-vline
WA_PAD50_QUE_STR-CRT74_X sy-vline
WA_PAD50_QUE_STR-CRT75_X sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.