ABAP Select data from SAP table UCF_S_COI_GOODWILL 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 UCF_S_COI_GOODWILL 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 UCF_S_COI_GOODWILL. 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 UCF_S_COI_GOODWILL 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_UCF_S_COI_GOODWILL TYPE STANDARD TABLE OF UCF_S_COI_GOODWILL,
      WA_UCF_S_COI_GOODWILL TYPE UCF_S_COI_GOODWILL,
      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: <UCF_S_COI_GOODWILL> TYPE UCF_S_COI_GOODWILL.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM UCF_S_COI_GOODWILL
*  INTO TABLE @DATA(IT_UCF_S_COI_GOODWILL2).
*--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_UCF_S_COI_GOODWILL INDEX 1 INTO DATA(WA_UCF_S_COI_GOODWILL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_UCF_S_COI_GOODWILL ASSIGNING <UCF_S_COI_GOODWILL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<UCF_S_COI_GOODWILL>-COIAC = 1.
<UCF_S_COI_GOODWILL>-COINR = 1.
<UCF_S_COI_GOODWILL>-COIPUGW = 1.
<UCF_S_COI_GOODWILL>-COIMANGW = 1.
<UCF_S_COI_GOODWILL>-SEQNR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_UCF_S_COI_GOODWILL-AYEAR, sy-vline,
WA_UCF_S_COI_GOODWILL-APERI, sy-vline,
WA_UCF_S_COI_GOODWILL-BYEAR, sy-vline,
WA_UCF_S_COI_GOODWILL-BPERI, sy-vline,
WA_UCF_S_COI_GOODWILL-DDYRS, sy-vline,
WA_UCF_S_COI_GOODWILL-DDPER, sy-vline.
ENDLOOP. *Add any further fields from structure WA_UCF_S_COI_GOODWILL 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_UCF_S_COI_GOODWILL 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_UCF_S_COI_GOODWILL INTO WA_UCF_S_COI_GOODWILL. *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 COINR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_UCF_S_COI_GOODWILL-COINR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_UCF_S_COI_GOODWILL-COINR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field AYEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_UCF_S_COI_GOODWILL-AYEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_UCF_S_COI_GOODWILL-AYEAR.
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_UCF_S_COI_GOODWILL_STR,
COIAC TYPE STRING,
COINR TYPE STRING,
COIPUGW TYPE STRING,
COIMANGW TYPE STRING,
SEQNR TYPE STRING,
AYEAR TYPE STRING,
APERI TYPE STRING,
BYEAR TYPE STRING,
BPERI TYPE STRING,
DDYRS TYPE STRING,
DDPER TYPE STRING,
GCKEY TYPE STRING,
GCVALAP TYPE STRING,
GCVALDP TYPE STRING,
GCVALBG TYPE STRING,
GCVALDN TYPE STRING,
GCVALDE TYPE STRING,
GCVALWU TYPE STRING,
GCVALDA TYPE STRING,
GCVALDD TYPE STRING,
GCVALEN TYPE STRING,
NGFLG TYPE STRING,
COILCGW TYPE STRING,
COIPROCGW TYPE STRING,
GCVALK0 TYPE STRING,
GCVALK1 TYPE STRING,
GCVALK2 TYPE STRING,
GCVALK3 TYPE STRING,
GCVALK4 TYPE STRING,
GCVALAP_K0 TYPE STRING,
GCVALL3 TYPE STRING,
GCVALL4 TYPE STRING,
GCVALDP_K1 TYPE STRING,
GCVALM1 TYPE STRING,
GCVALM2 TYPE STRING,
GCVALM3 TYPE STRING,
GCVALM4 TYPE STRING,
GCVALN1 TYPE STRING,
GCVALN2 TYPE STRING,
GCVALN3 TYPE STRING,
GCVALN4 TYPE STRING,
GCVALV1 TYPE STRING,
GCVALV2 TYPE STRING,
GCVALV3 TYPE STRING,
GCVALV4 TYPE STRING,
GCVALD0 TYPE STRING,
GCVALD1 TYPE STRING,
GCVALDD_D2 TYPE STRING,
GCVALD2 TYPE STRING,
GCVALD3 TYPE STRING,
GCVALD4 TYPE STRING,
GCSUM1 TYPE STRING,
GCSUM2 TYPE STRING,
GCSUM3 TYPE STRING,
GCSUM4 TYPE STRING,
LCKEYIE TYPE STRING,
LCVALK0 TYPE STRING,
LCVALK1 TYPE STRING,
LCVALAP_K0 TYPE STRING,
LCVALAP TYPE STRING,
LCVALDP_K1 TYPE STRING,
LCVALDP TYPE STRING,
LCVALDA TYPE STRING,
LCVALN1 TYPE STRING,
LCVALV1 TYPE STRING,
LCVALDN TYPE STRING,
LCVALDE TYPE STRING,
LCVALWU TYPE STRING,
LCVALD0 TYPE STRING,
LCVALD1 TYPE STRING,
LCVALDD_D2 TYPE STRING,
LCVALDD TYPE STRING,
LCVALD2 TYPE STRING,
LCVALDA2 TYPE STRING,
LCVALBG TYPE STRING,
LCSUM3 TYPE STRING,
LCVALEN TYPE STRING,
LCVALDI TYPE STRING,
GCVALDI TYPE STRING,
LCVALDJ TYPE STRING,
GCVALDJ TYPE STRING,
LCVALAF TYPE STRING,
GCVALAF TYPE STRING,
COIMEMGW TYPE STRING,
COIPRESGW TYPE STRING,
COIOFFSGW TYPE STRING,
COIDECPGW TYPE STRING,
COIFULLGW TYPE STRING,
ORGCHLOGIC TYPE STRING,
GCVALAR TYPE STRING,
GCVALDR TYPE STRING,
GCVALDB TYPE STRING,
GCVALDL TYPE STRING,
GCVALDK TYPE STRING,
LCVALKX TYPE STRING,
GCVALKX TYPE STRING,
LCVALK5 TYPE STRING,
GCVALK5 TYPE STRING,
GCVALK6 TYPE STRING,
GCVALK7 TYPE STRING,
GCVALK8 TYPE STRING,
LCVALAR_KX TYPE STRING,
GCVALAR_KX TYPE STRING,
GCVALL7 TYPE STRING,
GCVALL8 TYPE STRING,
LCVALDB TYPE STRING,
GCVALM5 TYPE STRING,
GCVALM6 TYPE STRING,
GCVALM7 TYPE STRING,
GCVALM8 TYPE STRING,
LCVALDL TYPE STRING,
LCVALDK TYPE STRING,
LCVALDR_K5 TYPE STRING,
GCVALDR_K5 TYPE STRING,
LCVALAR TYPE STRING,
LCVALDR TYPE STRING,END OF T_EKKO_STR. DATA: WA_UCF_S_COI_GOODWILL_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_UCF_S_COI_GOODWILL_STR-COIAC sy-vline
WA_UCF_S_COI_GOODWILL_STR-COINR sy-vline
WA_UCF_S_COI_GOODWILL_STR-COIPUGW sy-vline
WA_UCF_S_COI_GOODWILL_STR-COIMANGW sy-vline
WA_UCF_S_COI_GOODWILL_STR-SEQNR sy-vline
WA_UCF_S_COI_GOODWILL_STR-AYEAR sy-vline
WA_UCF_S_COI_GOODWILL_STR-APERI sy-vline
WA_UCF_S_COI_GOODWILL_STR-BYEAR sy-vline
WA_UCF_S_COI_GOODWILL_STR-BPERI sy-vline
WA_UCF_S_COI_GOODWILL_STR-DDYRS sy-vline
WA_UCF_S_COI_GOODWILL_STR-DDPER sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCKEY sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALAP sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDP sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALBG sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDN sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDE sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALWU sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDA sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDD sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALEN sy-vline
WA_UCF_S_COI_GOODWILL_STR-NGFLG sy-vline
WA_UCF_S_COI_GOODWILL_STR-COILCGW sy-vline
WA_UCF_S_COI_GOODWILL_STR-COIPROCGW sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALK0 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALK1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALK2 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALK3 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALK4 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALAP_K0 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALL3 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALL4 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDP_K1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALM1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALM2 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALM3 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALM4 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALN1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALN2 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALN3 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALN4 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALV1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALV2 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALV3 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALV4 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALD0 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALD1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDD_D2 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALD2 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALD3 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALD4 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCSUM1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCSUM2 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCSUM3 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCSUM4 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCKEYIE sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALK0 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALK1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALAP_K0 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALAP sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDP_K1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDP sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDA sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALN1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALV1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDN sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDE sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALWU sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALD0 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALD1 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDD_D2 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDD sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALD2 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDA2 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALBG sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCSUM3 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALEN sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDI sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDI sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDJ sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDJ sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALAF sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALAF sy-vline
WA_UCF_S_COI_GOODWILL_STR-COIMEMGW sy-vline
WA_UCF_S_COI_GOODWILL_STR-COIPRESGW sy-vline
WA_UCF_S_COI_GOODWILL_STR-COIOFFSGW sy-vline
WA_UCF_S_COI_GOODWILL_STR-COIDECPGW sy-vline
WA_UCF_S_COI_GOODWILL_STR-COIFULLGW sy-vline
WA_UCF_S_COI_GOODWILL_STR-ORGCHLOGIC sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALAR sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDR sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDB sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDL sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDK sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALKX sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALKX sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALK5 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALK5 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALK6 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALK7 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALK8 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALAR_KX sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALAR_KX sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALL7 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALL8 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDB sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALM5 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALM6 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALM7 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALM8 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDL sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDK sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDR_K5 sy-vline
WA_UCF_S_COI_GOODWILL_STR-GCVALDR_K5 sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALAR sy-vline
WA_UCF_S_COI_GOODWILL_STR-LCVALDR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.