ABAP Select data from SAP table QPCPS_NODE_DATA 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 QPCPS_NODE_DATA 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 QPCPS_NODE_DATA. 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 QPCPS_NODE_DATA 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_QPCPS_NODE_DATA TYPE STANDARD TABLE OF QPCPS_NODE_DATA,
      WA_QPCPS_NODE_DATA TYPE QPCPS_NODE_DATA,
      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: <QPCPS_NODE_DATA> TYPE QPCPS_NODE_DATA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM QPCPS_NODE_DATA
*  INTO TABLE @DATA(IT_QPCPS_NODE_DATA2).
*--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_QPCPS_NODE_DATA INDEX 1 INTO DATA(WA_QPCPS_NODE_DATA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_QPCPS_NODE_DATA ASSIGNING <QPCPS_NODE_DATA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<QPCPS_NODE_DATA>-LANGU = 1.
<QPCPS_NODE_DATA>-WERKS = 1.
<QPCPS_NODE_DATA>-OBJTYPE = 1.
<QPCPS_NODE_DATA>-SHORTTEXT = 1.
<QPCPS_NODE_DATA>-MATNR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_QPCPS_NODE_DATA-CREATED_BY, sy-vline,
WA_QPCPS_NODE_DATA-CREATED_ON, sy-vline,
WA_QPCPS_NODE_DATA-CHANGED_BY, sy-vline,
WA_QPCPS_NODE_DATA-CHANGED_ON, sy-vline,
WA_QPCPS_NODE_DATA-VALID_FROM, sy-vline,
WA_QPCPS_NODE_DATA-VALID_TO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_QPCPS_NODE_DATA 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_QPCPS_NODE_DATA 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_QPCPS_NODE_DATA INTO WA_QPCPS_NODE_DATA. *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 LANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_QPCPS_NODE_DATA-LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QPCPS_NODE_DATA-LANGU.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_QPCPS_NODE_DATA-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QPCPS_NODE_DATA-MATNR.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit NUMCV, internal->external for field STLNR CALL FUNCTION 'CONVERSION_EXIT_NUMCV_OUTPUT' EXPORTING input = WA_QPCPS_NODE_DATA-STLNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QPCPS_NODE_DATA-STLNR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

*Conversion exit NUMCV, internal->external for field VORNR CALL FUNCTION 'CONVERSION_EXIT_NUMCV_OUTPUT' EXPORTING input = WA_QPCPS_NODE_DATA-VORNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QPCPS_NODE_DATA-VORNR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

*Conversion exit PLMAM, internal->external for field CHAORIG_GUID CALL FUNCTION 'CONVERSION_EXIT_PLMAM_OUTPUT' EXPORTING input = WA_QPCPS_NODE_DATA-CHAORIG_GUID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QPCPS_NODE_DATA-CHAORIG_GUID.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit NUMCV, internal->external for field REVLV CALL FUNCTION 'CONVERSION_EXIT_NUMCV_OUTPUT' EXPORTING input = WA_QPCPS_NODE_DATA-REVLV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QPCPS_NODE_DATA-REVLV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field VENDOR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_QPCPS_NODE_DATA-VENDOR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QPCPS_NODE_DATA-VENDOR.
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_QPCPS_NODE_DATA_STR,
LANGU TYPE STRING,
WERKS TYPE STRING,
OBJTYPE TYPE STRING,
SHORTTEXT TYPE STRING,
MATNR TYPE STRING,
CREATED_BY TYPE STRING,
CREATED_ON TYPE STRING,
CHANGED_BY TYPE STRING,
CHANGED_ON TYPE STRING,
VALID_FROM TYPE STRING,
VALID_TO TYPE STRING,
SELECTION_DATE TYPE STRING,
PLANTYPE TYPE STRING,
PLAN_ID TYPE STRING,
ITEM_ID TYPE STRING,
PART_NUMBER TYPE STRING,
FMEA_TYPE TYPE STRING,
FMEA_ID TYPE STRING,
PROC_STATUS TYPE STRING,
STLAN TYPE STRING,
STLNR TYPE STRING,
STLAL TYPE STRING,
STLTY TYPE STRING,
PLNTY TYPE STRING,
PLNNR TYPE STRING,
PLNAL TYPE STRING,
VERWE TYPE STRING,
AENNR TYPE STRING,
STATU TYPE STRING,
STTAG TYPE STRING,
ARBPL TYPE STRING,
AP_VERWE TYPE STRING,
VORNR TYPE STRING,
STEUS TYPE STRING,
PLNKN TYPE STRING,
QRASTZFAK TYPE STRING,
QRASTZEHT TYPE STRING,
QRASTMENG TYPE STRING,
QRASTEREH TYPE STRING,
IDENT TYPE STRING,
IDENT_REF TYPE STRING,
MERKNR TYPE STRING,
VERWMERKM TYPE STRING,
MKVERSION TYPE STRING,
TARGET_VAL TYPE STRING,
UP_TOL_LMT TYPE STRING,
LW_TOL_LMT TYPE STRING,
MEAS_UNIT TYPE STRING,
STICHPRVER TYPE STRING,
QSPCMK TYPE STRING,
RES_PLAN TYPE STRING,
CTRMETH TYPE STRING,
CHAORIG_GUID TYPE STRING,
CHAORIG TYPE STRING,
CHAORIG_REF TYPE STRING,
CHAR_TYPE TYPE STRING,
MERKGEW TYPE STRING,
FMEA_CHAR_ID TYPE STRING,
TXTZ1 TYPE STRING,
QMART TYPE STRING,
QMNUM TYPE STRING,
QMDAB TYPE STRING,
QM_STAT TYPE STRING,
DOKNR TYPE STRING,
DOKAR TYPE STRING,
DOKTL TYPE STRING,
DOKVR TYPE STRING,
STABK TYPE STRING,
DOKST TYPE STRING,
REVLV TYPE STRING,
VENDOR TYPE STRING,
FREIDAT TYPE STRING,
EXT_STATUS TYPE STRING,
SPERRGRUND TYPE STRING,
QINF_ZAEHL TYPE STRING,END OF T_EKKO_STR. DATA: WA_QPCPS_NODE_DATA_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_QPCPS_NODE_DATA_STR-LANGU sy-vline
WA_QPCPS_NODE_DATA_STR-WERKS sy-vline
WA_QPCPS_NODE_DATA_STR-OBJTYPE sy-vline
WA_QPCPS_NODE_DATA_STR-SHORTTEXT sy-vline
WA_QPCPS_NODE_DATA_STR-MATNR sy-vline
WA_QPCPS_NODE_DATA_STR-CREATED_BY sy-vline
WA_QPCPS_NODE_DATA_STR-CREATED_ON sy-vline
WA_QPCPS_NODE_DATA_STR-CHANGED_BY sy-vline
WA_QPCPS_NODE_DATA_STR-CHANGED_ON sy-vline
WA_QPCPS_NODE_DATA_STR-VALID_FROM sy-vline
WA_QPCPS_NODE_DATA_STR-VALID_TO sy-vline
WA_QPCPS_NODE_DATA_STR-SELECTION_DATE sy-vline
WA_QPCPS_NODE_DATA_STR-PLANTYPE sy-vline
WA_QPCPS_NODE_DATA_STR-PLAN_ID sy-vline
WA_QPCPS_NODE_DATA_STR-ITEM_ID sy-vline
WA_QPCPS_NODE_DATA_STR-PART_NUMBER sy-vline
WA_QPCPS_NODE_DATA_STR-FMEA_TYPE sy-vline
WA_QPCPS_NODE_DATA_STR-FMEA_ID sy-vline
WA_QPCPS_NODE_DATA_STR-PROC_STATUS sy-vline
WA_QPCPS_NODE_DATA_STR-STLAN sy-vline
WA_QPCPS_NODE_DATA_STR-STLNR sy-vline
WA_QPCPS_NODE_DATA_STR-STLAL sy-vline
WA_QPCPS_NODE_DATA_STR-STLTY sy-vline
WA_QPCPS_NODE_DATA_STR-PLNTY sy-vline
WA_QPCPS_NODE_DATA_STR-PLNNR sy-vline
WA_QPCPS_NODE_DATA_STR-PLNAL sy-vline
WA_QPCPS_NODE_DATA_STR-VERWE sy-vline
WA_QPCPS_NODE_DATA_STR-AENNR sy-vline
WA_QPCPS_NODE_DATA_STR-STATU sy-vline
WA_QPCPS_NODE_DATA_STR-STTAG sy-vline
WA_QPCPS_NODE_DATA_STR-ARBPL sy-vline
WA_QPCPS_NODE_DATA_STR-AP_VERWE sy-vline
WA_QPCPS_NODE_DATA_STR-VORNR sy-vline
WA_QPCPS_NODE_DATA_STR-STEUS sy-vline
WA_QPCPS_NODE_DATA_STR-PLNKN sy-vline
WA_QPCPS_NODE_DATA_STR-QRASTZFAK sy-vline
WA_QPCPS_NODE_DATA_STR-QRASTZEHT sy-vline
WA_QPCPS_NODE_DATA_STR-QRASTMENG sy-vline
WA_QPCPS_NODE_DATA_STR-QRASTEREH sy-vline
WA_QPCPS_NODE_DATA_STR-IDENT sy-vline
WA_QPCPS_NODE_DATA_STR-IDENT_REF sy-vline
WA_QPCPS_NODE_DATA_STR-MERKNR sy-vline
WA_QPCPS_NODE_DATA_STR-VERWMERKM sy-vline
WA_QPCPS_NODE_DATA_STR-MKVERSION sy-vline
WA_QPCPS_NODE_DATA_STR-TARGET_VAL sy-vline
WA_QPCPS_NODE_DATA_STR-UP_TOL_LMT sy-vline
WA_QPCPS_NODE_DATA_STR-LW_TOL_LMT sy-vline
WA_QPCPS_NODE_DATA_STR-MEAS_UNIT sy-vline
WA_QPCPS_NODE_DATA_STR-STICHPRVER sy-vline
WA_QPCPS_NODE_DATA_STR-QSPCMK sy-vline
WA_QPCPS_NODE_DATA_STR-RES_PLAN sy-vline
WA_QPCPS_NODE_DATA_STR-CTRMETH sy-vline
WA_QPCPS_NODE_DATA_STR-CHAORIG_GUID sy-vline
WA_QPCPS_NODE_DATA_STR-CHAORIG sy-vline
WA_QPCPS_NODE_DATA_STR-CHAORIG_REF sy-vline
WA_QPCPS_NODE_DATA_STR-CHAR_TYPE sy-vline
WA_QPCPS_NODE_DATA_STR-MERKGEW sy-vline
WA_QPCPS_NODE_DATA_STR-FMEA_CHAR_ID sy-vline
WA_QPCPS_NODE_DATA_STR-TXTZ1 sy-vline
WA_QPCPS_NODE_DATA_STR-QMART sy-vline
WA_QPCPS_NODE_DATA_STR-QMNUM sy-vline
WA_QPCPS_NODE_DATA_STR-QMDAB sy-vline
WA_QPCPS_NODE_DATA_STR-QM_STAT sy-vline
WA_QPCPS_NODE_DATA_STR-DOKNR sy-vline
WA_QPCPS_NODE_DATA_STR-DOKAR sy-vline
WA_QPCPS_NODE_DATA_STR-DOKTL sy-vline
WA_QPCPS_NODE_DATA_STR-DOKVR sy-vline
WA_QPCPS_NODE_DATA_STR-STABK sy-vline
WA_QPCPS_NODE_DATA_STR-DOKST sy-vline
WA_QPCPS_NODE_DATA_STR-REVLV sy-vline
WA_QPCPS_NODE_DATA_STR-VENDOR sy-vline
WA_QPCPS_NODE_DATA_STR-FREIDAT sy-vline
WA_QPCPS_NODE_DATA_STR-EXT_STATUS sy-vline
WA_QPCPS_NODE_DATA_STR-SPERRGRUND sy-vline
WA_QPCPS_NODE_DATA_STR-QINF_ZAEHL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.