ABAP Select data from SAP table PAD25_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 PAD25_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 PAD25_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 PAD25_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_PAD25_QUE TYPE STANDARD TABLE OF PAD25_QUE,
      WA_PAD25_QUE TYPE PAD25_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: <PAD25_QUE> TYPE PAD25_QUE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PAD25_QUE
*  INTO TABLE @DATA(IT_PAD25_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_PAD25_QUE INDEX 1 INTO DATA(WA_PAD25_QUE2).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PAD25_QUE-IT0_SUBTY, sy-vline,
WA_PAD25_QUE-IT0_ISTAT, sy-vline,
WA_PAD25_QUE-IT0_PRIOX, sy-vline,
WA_PAD25_QUE-BEGDA, sy-vline,
WA_PAD25_QUE-ENDDA, sy-vline,
WA_PAD25_QUE-IT0_LANGU, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PAD25_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_PAD25_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_PAD25_QUE INTO WA_PAD25_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_PAD25_QUE-IT0_LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-IT0_LANGU.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TPARTDOCNO_X CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PAD25_QUE-TPARTDOCNO_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-TPARTDOCNO_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field KOSTL_X CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PAD25_QUE-KOSTL_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-KOSTL_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field REFDOCNO_X CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PAD25_QUE-REFDOCNO_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-REFDOCNO_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field SCOSTCENTER_X CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PAD25_QUE-SCOSTCENTER_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-SCOSTCENTER_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field RECEIVEORDER_X CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PAD25_QUE-RECEIVEORDER_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-RECEIVEORDER_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field RSALESORDER_X CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PAD25_QUE-RSALESORDER_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-RSALESORDER_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field UNIT_X CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_PAD25_QUE-UNIT_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-UNIT_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field SOLD_TO_X CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PAD25_QUE-SOLD_TO_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-SOLD_TO_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field BILL_TO_X CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PAD25_QUE-BILL_TO_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-BILL_TO_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PAYER_X CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PAD25_QUE-PAYER_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-PAYER_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field SHIP_TO_X CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PAD25_QUE-SHIP_TO_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-SHIP_TO_X.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ABPSN, internal->external for field RWBSELEMENT_X CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT' EXPORTING input = WA_PAD25_QUE-RWBSELEMENT_X IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PAD25_QUE-RWBSELEMENT_X.
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_PAD25_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,
TPARTDOCNO_X TYPE STRING,
MANZL_X TYPE STRING,
BUDAT_X TYPE STRING,
INTEX_X TYPE STRING,
KKOST_X TYPE STRING,
KWAER_X TYPE STRING,
KOKRS_X TYPE STRING,
KOSTL_X TYPE STRING,
ZDATA_X TYPE STRING,
BELNR_X TYPE STRING,
CONFIRMED_X TYPE STRING,
PASSED_X TYPE STRING,
FAILED_X TYPE STRING,
FOLLOW_UP_X TYPE STRING,
CAATR_X TYPE STRING,
PREVSCLAS_X TYPE STRING,
PREVSOBID_X TYPE STRING,
EVENT_X TYPE STRING,
STATUS_X TYPE STRING,
REFDOCNO_X TYPE STRING,
REFDOCITEM_X TYPE STRING,
DOCUMENTDATE_X TYPE STRING,
POSTINGDATE_X TYPE STRING,
DOCUNAME_X TYPE STRING,
CREDITBELNR_X TYPE STRING,
CREDITSTATUS_X TYPE STRING,
SCOSTCENTER_X TYPE STRING,
RECEIVEORDER_X TYPE STRING,
RSALESORDER_X TYPE STRING,
RSALESITEM_X TYPE STRING,
ACTIVITYTYPE_X TYPE STRING,
QUANTITY_X TYPE STRING,
UNIT_X TYPE STRING,
SOLD_TO_X TYPE STRING,
BILL_TO_X TYPE STRING,
PAYER_X TYPE STRING,
SHIP_TO_X TYPE STRING,
NET_PRICE_X TYPE STRING,
TAX_PRICE_X TYPE STRING,
PURCH_ORDER_X TYPE STRING,
CC_TYPE_X TYPE STRING,
CC_NUMBER_X TYPE STRING,
CC_VALID_TO_X TYPE STRING,
CC_NAME_X TYPE STRING,
RWBSELEMENT_X TYPE STRING,
PAY_STATUS_X TYPE STRING,
CC_NUMBER_CHECK_X TYPE STRING,
CC_AUTH_STATUS_X TYPE STRING,
REFDOCSEQNR_X TYPE STRING,
LEARN_STATUS_X TYPE STRING,
ACCESS_COUNTER_X TYPE STRING,END OF T_EKKO_STR. DATA: WA_PAD25_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_PAD25_QUE_STR-MANDT sy-vline
WA_PAD25_QUE_STR-PLVAR sy-vline
WA_PAD25_QUE_STR-OTYPE sy-vline
WA_PAD25_QUE_STR-OBJID sy-vline
WA_PAD25_QUE_STR-IT0_INFTY sy-vline
WA_PAD25_QUE_STR-IT0_SUBTY sy-vline
WA_PAD25_QUE_STR-IT0_ISTAT sy-vline
WA_PAD25_QUE_STR-IT0_PRIOX sy-vline
WA_PAD25_QUE_STR-BEGDA sy-vline
WA_PAD25_QUE_STR-ENDDA sy-vline
WA_PAD25_QUE_STR-IT0_LANGU sy-vline
WA_PAD25_QUE_STR-IT0_SEQNR sy-vline
WA_PAD25_QUE_STR-IT0_AEDTM sy-vline
WA_PAD25_QUE_STR-IT0_UNAME sy-vline
WA_PAD25_QUE_STR-IT0_REASN sy-vline
WA_PAD25_QUE_STR-IT0_HISTO sy-vline
WA_PAD25_QUE_STR-IT0_ITXNR sy-vline
WA_PAD25_QUE_STR-SHORT sy-vline
WA_PAD25_QUE_STR-STEXT sy-vline
WA_PAD25_QUE_STR-GDATE sy-vline
WA_PAD25_QUE_STR-IT1_RSIGN sy-vline
WA_PAD25_QUE_STR-IT1_RELAT sy-vline
WA_PAD25_QUE_STR-IT1_ISTAT sy-vline
WA_PAD25_QUE_STR-IT1_PRIOX sy-vline
WA_PAD25_QUE_STR-IT1_BEGDA sy-vline
WA_PAD25_QUE_STR-IT1_ENDDA sy-vline
WA_PAD25_QUE_STR-IT1_AEDTM sy-vline
WA_PAD25_QUE_STR-IT1_UNAME sy-vline
WA_PAD25_QUE_STR-IT1_REASN sy-vline
WA_PAD25_QUE_STR-IT1_HISTO sy-vline
WA_PAD25_QUE_STR-IT1_ITXNR sy-vline
WA_PAD25_QUE_STR-IT1_SCLAS sy-vline
WA_PAD25_QUE_STR-IT1_SOBID sy-vline
WA_PAD25_QUE_STR-IT1_PROZT sy-vline
WA_PAD25_QUE_STR-TPARTDOCNO_X sy-vline
WA_PAD25_QUE_STR-MANZL_X sy-vline
WA_PAD25_QUE_STR-BUDAT_X sy-vline
WA_PAD25_QUE_STR-INTEX_X sy-vline
WA_PAD25_QUE_STR-KKOST_X sy-vline
WA_PAD25_QUE_STR-KWAER_X sy-vline
WA_PAD25_QUE_STR-KOKRS_X sy-vline
WA_PAD25_QUE_STR-KOSTL_X sy-vline
WA_PAD25_QUE_STR-ZDATA_X sy-vline
WA_PAD25_QUE_STR-BELNR_X sy-vline
WA_PAD25_QUE_STR-CONFIRMED_X sy-vline
WA_PAD25_QUE_STR-PASSED_X sy-vline
WA_PAD25_QUE_STR-FAILED_X sy-vline
WA_PAD25_QUE_STR-FOLLOW_UP_X sy-vline
WA_PAD25_QUE_STR-CAATR_X sy-vline
WA_PAD25_QUE_STR-PREVSCLAS_X sy-vline
WA_PAD25_QUE_STR-PREVSOBID_X sy-vline
WA_PAD25_QUE_STR-EVENT_X sy-vline
WA_PAD25_QUE_STR-STATUS_X sy-vline
WA_PAD25_QUE_STR-REFDOCNO_X sy-vline
WA_PAD25_QUE_STR-REFDOCITEM_X sy-vline
WA_PAD25_QUE_STR-DOCUMENTDATE_X sy-vline
WA_PAD25_QUE_STR-POSTINGDATE_X sy-vline
WA_PAD25_QUE_STR-DOCUNAME_X sy-vline
WA_PAD25_QUE_STR-CREDITBELNR_X sy-vline
WA_PAD25_QUE_STR-CREDITSTATUS_X sy-vline
WA_PAD25_QUE_STR-SCOSTCENTER_X sy-vline
WA_PAD25_QUE_STR-RECEIVEORDER_X sy-vline
WA_PAD25_QUE_STR-RSALESORDER_X sy-vline
WA_PAD25_QUE_STR-RSALESITEM_X sy-vline
WA_PAD25_QUE_STR-ACTIVITYTYPE_X sy-vline
WA_PAD25_QUE_STR-QUANTITY_X sy-vline
WA_PAD25_QUE_STR-UNIT_X sy-vline
WA_PAD25_QUE_STR-SOLD_TO_X sy-vline
WA_PAD25_QUE_STR-BILL_TO_X sy-vline
WA_PAD25_QUE_STR-PAYER_X sy-vline
WA_PAD25_QUE_STR-SHIP_TO_X sy-vline
WA_PAD25_QUE_STR-NET_PRICE_X sy-vline
WA_PAD25_QUE_STR-TAX_PRICE_X sy-vline
WA_PAD25_QUE_STR-PURCH_ORDER_X sy-vline
WA_PAD25_QUE_STR-CC_TYPE_X sy-vline
WA_PAD25_QUE_STR-CC_NUMBER_X sy-vline
WA_PAD25_QUE_STR-CC_VALID_TO_X sy-vline
WA_PAD25_QUE_STR-CC_NAME_X sy-vline
WA_PAD25_QUE_STR-RWBSELEMENT_X sy-vline
WA_PAD25_QUE_STR-PAY_STATUS_X sy-vline
WA_PAD25_QUE_STR-CC_NUMBER_CHECK_X sy-vline
WA_PAD25_QUE_STR-CC_AUTH_STATUS_X sy-vline
WA_PAD25_QUE_STR-REFDOCSEQNR_X sy-vline
WA_PAD25_QUE_STR-LEARN_STATUS_X sy-vline
WA_PAD25_QUE_STR-ACCESS_COUNTER_X sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.