ABAP Select data from SAP table FINS_ACDOCA_CO_TECHNICAL 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 FINS_ACDOCA_CO_TECHNICAL 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 FINS_ACDOCA_CO_TECHNICAL. 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 FINS_ACDOCA_CO_TECHNICAL 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_FINS_ACDOCA_CO_TECHNICAL TYPE STANDARD TABLE OF FINS_ACDOCA_CO_TECHNICAL,
      WA_FINS_ACDOCA_CO_TECHNICAL TYPE FINS_ACDOCA_CO_TECHNICAL,
      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: <FINS_ACDOCA_CO_TECHNICAL> TYPE FINS_ACDOCA_CO_TECHNICAL.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM FINS_ACDOCA_CO_TECHNICAL
*  INTO TABLE @DATA(IT_FINS_ACDOCA_CO_TECHNICAL2).
*--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_FINS_ACDOCA_CO_TECHNICAL INDEX 1 INTO DATA(WA_FINS_ACDOCA_CO_TECHNICAL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_FINS_ACDOCA_CO_TECHNICAL ASSIGNING <FINS_ACDOCA_CO_TECHNICAL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<FINS_ACDOCA_CO_TECHNICAL>-OBJNR = 1.
<FINS_ACDOCA_CO_TECHNICAL>-PAROB1 = 1.
<FINS_ACDOCA_CO_TECHNICAL>-PAROBSRC = 1.
<FINS_ACDOCA_CO_TECHNICAL>-USPOB = 1.
<FINS_ACDOCA_CO_TECHNICAL>-UKOSTL = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_FINS_ACDOCA_CO_TECHNICAL-ULSTAR, sy-vline,
WA_FINS_ACDOCA_CO_TECHNICAL-UPRZNR, sy-vline,
WA_FINS_ACDOCA_CO_TECHNICAL-UPRCTR, sy-vline,
WA_FINS_ACDOCA_CO_TECHNICAL-OBJNR_HK, sy-vline,
WA_FINS_ACDOCA_CO_TECHNICAL-AUFNR_ORG, sy-vline,
WA_FINS_ACDOCA_CO_TECHNICAL-MUVFLG, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FINS_ACDOCA_CO_TECHNICAL 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_FINS_ACDOCA_CO_TECHNICAL 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_FINS_ACDOCA_CO_TECHNICAL INTO WA_FINS_ACDOCA_CO_TECHNICAL. *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 UKOSTL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FINS_ACDOCA_CO_TECHNICAL-UKOSTL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FINS_ACDOCA_CO_TECHNICAL-UKOSTL.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit BEKNZ, internal->external for field CO_BELKZ CALL FUNCTION 'CONVERSION_EXIT_BEKNZ_OUTPUT' EXPORTING input = WA_FINS_ACDOCA_CO_TECHNICAL-CO_BELKZ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FINS_ACDOCA_CO_TECHNICAL-CO_BELKZ.
WRITE:/ 'New Value:', ld_input.

*Conversion exit BEKNZ, internal->external for field CO_BEKNZ CALL FUNCTION 'CONVERSION_EXIT_BEKNZ_OUTPUT' EXPORTING input = WA_FINS_ACDOCA_CO_TECHNICAL-CO_BEKNZ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FINS_ACDOCA_CO_TECHNICAL-CO_BEKNZ.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit SCOPE, internal->external for field SCOPE CALL FUNCTION 'CONVERSION_EXIT_SCOPE_OUTPUT' EXPORTING input = WA_FINS_ACDOCA_CO_TECHNICAL-SCOPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FINS_ACDOCA_CO_TECHNICAL-SCOPE.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit SCOPE, internal->external for field PSCOPE CALL FUNCTION 'CONVERSION_EXIT_SCOPE_OUTPUT' EXPORTING input = WA_FINS_ACDOCA_CO_TECHNICAL-PSCOPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FINS_ACDOCA_CO_TECHNICAL-PSCOPE.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit ALPHA, internal->external for field QMNUM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FINS_ACDOCA_CO_TECHNICAL-QMNUM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FINS_ACDOCA_CO_TECHNICAL-QMNUM.
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_FINS_ACDOCA_CO_TECHNICAL_STR,
OBJNR TYPE STRING,
PAROB1 TYPE STRING,
PAROBSRC TYPE STRING,
USPOB TYPE STRING,
UKOSTL TYPE STRING,
ULSTAR TYPE STRING,
UPRZNR TYPE STRING,
UPRCTR TYPE STRING,
OBJNR_HK TYPE STRING,
AUFNR_ORG TYPE STRING,
MUVFLG TYPE STRING,
CO_ZLENR TYPE STRING,
CO_BUZEI TYPE STRING,
CO_BUZEI1 TYPE STRING,
CO_BUZEI2 TYPE STRING,
CO_BUZEI5 TYPE STRING,
CO_BUZEI6 TYPE STRING,
CO_BUZEI7 TYPE STRING,
CO_REFBZ TYPE STRING,
CO_REFBZ1 TYPE STRING,
CO_REFBZ2 TYPE STRING,
CO_REFBZ5 TYPE STRING,
CO_REFBZ6 TYPE STRING,
CO_REFBZ7 TYPE STRING,
CO_BELKZ TYPE STRING,
CO_BEKNZ TYPE STRING,
BELTP TYPE STRING,
ACCAS TYPE STRING,
ACCASTY TYPE STRING,
CO_ACCASTY_N2 TYPE STRING,
CO_ACCASTY_N3 TYPE STRING,
PACCAS TYPE STRING,
PACCASTY TYPE STRING,
XPAOBJNR_CO_REL TYPE STRING,
GKONT TYPE STRING,
GKOAR TYPE STRING,
ERLKZ TYPE STRING,
PERNR TYPE STRING,
HKGRP TYPE STRING,
SCOPE TYPE STRING,
LOGSYSO TYPE STRING,
PSCOPE TYPE STRING,
LOGSYSP TYPE STRING,
BWSTRAT TYPE STRING,
BEMOT TYPE STRING,
RSRCE TYPE STRING,
QMNUM TYPE STRING,
WORK_ITEM_ID TYPE STRING,END OF T_EKKO_STR. DATA: WA_FINS_ACDOCA_CO_TECHNICAL_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_FINS_ACDOCA_CO_TECHNICAL_STR-OBJNR sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-PAROB1 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-PAROBSRC sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-USPOB sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-UKOSTL sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-ULSTAR sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-UPRZNR sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-UPRCTR sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-OBJNR_HK sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-AUFNR_ORG sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-MUVFLG sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_ZLENR sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_BUZEI sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_BUZEI1 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_BUZEI2 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_BUZEI5 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_BUZEI6 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_BUZEI7 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_REFBZ sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_REFBZ1 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_REFBZ2 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_REFBZ5 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_REFBZ6 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_REFBZ7 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_BELKZ sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_BEKNZ sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-BELTP sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-ACCAS sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-ACCASTY sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_ACCASTY_N2 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-CO_ACCASTY_N3 sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-PACCAS sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-PACCASTY sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-XPAOBJNR_CO_REL sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-GKONT sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-GKOAR sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-ERLKZ sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-PERNR sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-HKGRP sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-SCOPE sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-LOGSYSO sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-PSCOPE sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-LOGSYSP sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-BWSTRAT sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-BEMOT sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-RSRCE sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-QMNUM sy-vline
WA_FINS_ACDOCA_CO_TECHNICAL_STR-WORK_ITEM_ID sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.