ABAP Select data from SAP table ILCD 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 ILCD 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 ILCD. 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 ILCD 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_ILCD TYPE STANDARD TABLE OF ILCD,
      WA_ILCD TYPE ILCD,
      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: <ILCD> TYPE ILCD.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM ILCD
*  INTO TABLE @DATA(IT_ILCD2).
*--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_ILCD INDEX 1 INTO DATA(WA_ILCD2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_ILCD ASSIGNING <ILCD>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<ILCD>-MANDT = 1.
<ILCD>-COMPANYCODE = 1.
<ILCD>-LOANARCHIVINGCATEGORY = 1.
<ILCD>-LOANCONTRACTID = 1.
<ILCD>-LOANCONTRACTENTEREDBY = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_ILCD-LOANCONTRACTENTEREDDATE, sy-vline,
WA_ILCD-LOANCONTRACTENTEREDTIME, sy-vline,
WA_ILCD-LOANCONTRACTENTEREDSOURCE, sy-vline,
WA_ILCD-LOANCONTRACTEDITEDBY, sy-vline,
WA_ILCD-LOANCONTRACTEDITEDDATE, sy-vline,
WA_ILCD-LOANCONTRACTEDITEDTIME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_ILCD 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_ILCD 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_ILCD INTO WA_ILCD. *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 LOANCONTRACTID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ILCD-LOANCONTRACTID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ILCD-LOANCONTRACTID.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit ALPHA, internal->external for field LOANMASTERNUMBER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ILCD-LOANMASTERNUMBER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ILCD-LOANMASTERNUMBER.
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_ILCD_STR,
MANDT TYPE STRING,
COMPANYCODE TYPE STRING,
LOANARCHIVINGCATEGORY TYPE STRING,
LOANCONTRACTID TYPE STRING,
LOANCONTRACTENTEREDBY TYPE STRING,
LOANCONTRACTENTEREDDATE TYPE STRING,
LOANCONTRACTENTEREDTIME TYPE STRING,
LOANCONTRACTENTEREDSOURCE TYPE STRING,
LOANCONTRACTEDITEDBY TYPE STRING,
LOANCONTRACTEDITEDDATE TYPE STRING,
LOANCONTRACTEDITEDTIME TYPE STRING,
LOANCONTRACTEDITEDSOURCE TYPE STRING,
LOANOBJECTINTERNALKEY TYPE STRING,
LOANLIFECYCLESTATUS TYPE STRING,
LOANPRODUCTCATEGORY TYPE STRING,
LOANPRODUCTTYPE TYPE STRING,
LOANACCTASSGMTREF TYPE STRING,
HOUSEBANK TYPE STRING,
HOUSEBANKACCOUNT TYPE STRING,
LOANTYPE TYPE STRING,
STATECNTRLBKASTGRP TYPE STRING,
FINACCTGASTGRP TYPE STRING,
BALANCESHEETCODE TYPE STRING,
LOANFILENUMBER TYPE STRING,
LOANALTERNATIVEID1 TYPE STRING,
LOANALTERNATIVEID2 TYPE STRING,
LOANGROUPKEY1 TYPE STRING,
LOANGROUPKEY2 TYPE STRING,
LOANCLASSFCTNNMBR TYPE STRING,
PRNCPLOANINVMTNMBR TYPE STRING,
LOANAPPLICATIONNUMBER TYPE STRING,
LOANINTRSTCALCCPTLMETH TYPE STRING,
LOANTERM TYPE STRING,
LOANCAPITALAPPLIEDAMOUNT TYPE STRING,
LOANCONTRACTCURRENCY TYPE STRING,
LOANAPPLICATIONENTRYDATE TYPE STRING,
LOANCOMMITTEDCAPITALAMOUNT TYPE STRING,
LOANCOMMITMENTDATE TYPE STRING,
LOANTERMSTARTDATE TYPE STRING,
LOANTERMENDDATE TYPE STRING,
LOANPURPOSE TYPE STRING,
LOANSPECIALTREATMENT TYPE STRING,
LOANCOUNTRYID TYPE STRING,
LOANNONACCPTCRSN TYPE STRING,
LOANWITHDRAWALDATE TYPE STRING,
LOANCLASS TYPE STRING,
LOANAPPROVALDATE TYPE STRING,
LOANASSIGNMENTCREDITOR TYPE STRING,
DUNNINGAREA TYPE STRING,
DUNNINGLEVEL TYPE STRING,
LASTDUNNINGDATE TYPE STRING,
LOANSPECIALPOSTINGTYPE TYPE STRING,
LOANGROUPKEY3 TYPE STRING,
LOANGROUPKEY4 TYPE STRING,
LOANINCGPAYTDISTRCTRL TYPE STRING,
LOANAUTHORIZATIONGROUP TYPE STRING,
LOANDRWGRESTRAINTTYPE TYPE STRING,
LOANSECURITYTYPE TYPE STRING,
LOANPORTFOLIOTYPE TYPE STRING,
LOANSALESREGION TYPE STRING,
LOANBRANCHOFFICE TYPE STRING,
LOANPROCESSINGCONTROL TYPE STRING,
LOANORGANIZATIONALDISTRICT TYPE STRING,
LOANAGENTDISTRICT TYPE STRING,
LOANMANUALDUNLEVEL TYPE STRING,
LOANREDEEMDATE TYPE STRING,
LOANDISCOUNTMETHOD TYPE STRING,
LOANFIXEDCONTRACTCONTROL TYPE STRING,
BUSINESSPARTNER TYPE STRING,
FINTRANSOBJNMBR TYPE STRING,
LOANMAINBRWRCUSTNMBR TYPE STRING,
LOANMASTERNUMBER TYPE STRING,
LOANDUNSMMRZN TYPE STRING,
LOANDUNRUNISEXCLUDE TYPE STRING,
LOANINTERNALREFERENCE TYPE STRING,
LOANCHARACTERISTIC TYPE STRING,
LOANISPOSTDUNCHARGE TYPE STRING,
LOANISLIABILITYTRANSACTION TYPE STRING,
LOANBUSINESSAREA TYPE STRING,
LOANISPAYOFFLOCK TYPE STRING,
LOANISPOFFBLKOPNITMCLRG TYPE STRING,
LOANGENERALVALUATIONCLASS TYPE STRING,
LOANPAYMENTSTATUS TYPE STRING,
LOANCONCLUDEDREGION TYPE STRING,
LOANBACKOFFICE TYPE STRING,
LOANCONTRACTIBAN TYPE STRING,
LOANBUSPROCCHNASSGMTTYPE TYPE STRING,
LOANBUSPROCCHNASSGMTID TYPE STRING,END OF T_EKKO_STR. DATA: WA_ILCD_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_ILCD_STR-MANDT sy-vline
WA_ILCD_STR-COMPANYCODE sy-vline
WA_ILCD_STR-LOANARCHIVINGCATEGORY sy-vline
WA_ILCD_STR-LOANCONTRACTID sy-vline
WA_ILCD_STR-LOANCONTRACTENTEREDBY sy-vline
WA_ILCD_STR-LOANCONTRACTENTEREDDATE sy-vline
WA_ILCD_STR-LOANCONTRACTENTEREDTIME sy-vline
WA_ILCD_STR-LOANCONTRACTENTEREDSOURCE sy-vline
WA_ILCD_STR-LOANCONTRACTEDITEDBY sy-vline
WA_ILCD_STR-LOANCONTRACTEDITEDDATE sy-vline
WA_ILCD_STR-LOANCONTRACTEDITEDTIME sy-vline
WA_ILCD_STR-LOANCONTRACTEDITEDSOURCE sy-vline
WA_ILCD_STR-LOANOBJECTINTERNALKEY sy-vline
WA_ILCD_STR-LOANLIFECYCLESTATUS sy-vline
WA_ILCD_STR-LOANPRODUCTCATEGORY sy-vline
WA_ILCD_STR-LOANPRODUCTTYPE sy-vline
WA_ILCD_STR-LOANACCTASSGMTREF sy-vline
WA_ILCD_STR-HOUSEBANK sy-vline
WA_ILCD_STR-HOUSEBANKACCOUNT sy-vline
WA_ILCD_STR-LOANTYPE sy-vline
WA_ILCD_STR-STATECNTRLBKASTGRP sy-vline
WA_ILCD_STR-FINACCTGASTGRP sy-vline
WA_ILCD_STR-BALANCESHEETCODE sy-vline
WA_ILCD_STR-LOANFILENUMBER sy-vline
WA_ILCD_STR-LOANALTERNATIVEID1 sy-vline
WA_ILCD_STR-LOANALTERNATIVEID2 sy-vline
WA_ILCD_STR-LOANGROUPKEY1 sy-vline
WA_ILCD_STR-LOANGROUPKEY2 sy-vline
WA_ILCD_STR-LOANCLASSFCTNNMBR sy-vline
WA_ILCD_STR-PRNCPLOANINVMTNMBR sy-vline
WA_ILCD_STR-LOANAPPLICATIONNUMBER sy-vline
WA_ILCD_STR-LOANINTRSTCALCCPTLMETH sy-vline
WA_ILCD_STR-LOANTERM sy-vline
WA_ILCD_STR-LOANCAPITALAPPLIEDAMOUNT sy-vline
WA_ILCD_STR-LOANCONTRACTCURRENCY sy-vline
WA_ILCD_STR-LOANAPPLICATIONENTRYDATE sy-vline
WA_ILCD_STR-LOANCOMMITTEDCAPITALAMOUNT sy-vline
WA_ILCD_STR-LOANCOMMITMENTDATE sy-vline
WA_ILCD_STR-LOANTERMSTARTDATE sy-vline
WA_ILCD_STR-LOANTERMENDDATE sy-vline
WA_ILCD_STR-LOANPURPOSE sy-vline
WA_ILCD_STR-LOANSPECIALTREATMENT sy-vline
WA_ILCD_STR-LOANCOUNTRYID sy-vline
WA_ILCD_STR-LOANNONACCPTCRSN sy-vline
WA_ILCD_STR-LOANWITHDRAWALDATE sy-vline
WA_ILCD_STR-LOANCLASS sy-vline
WA_ILCD_STR-LOANAPPROVALDATE sy-vline
WA_ILCD_STR-LOANASSIGNMENTCREDITOR sy-vline
WA_ILCD_STR-DUNNINGAREA sy-vline
WA_ILCD_STR-DUNNINGLEVEL sy-vline
WA_ILCD_STR-LASTDUNNINGDATE sy-vline
WA_ILCD_STR-LOANSPECIALPOSTINGTYPE sy-vline
WA_ILCD_STR-LOANGROUPKEY3 sy-vline
WA_ILCD_STR-LOANGROUPKEY4 sy-vline
WA_ILCD_STR-LOANINCGPAYTDISTRCTRL sy-vline
WA_ILCD_STR-LOANAUTHORIZATIONGROUP sy-vline
WA_ILCD_STR-LOANDRWGRESTRAINTTYPE sy-vline
WA_ILCD_STR-LOANSECURITYTYPE sy-vline
WA_ILCD_STR-LOANPORTFOLIOTYPE sy-vline
WA_ILCD_STR-LOANSALESREGION sy-vline
WA_ILCD_STR-LOANBRANCHOFFICE sy-vline
WA_ILCD_STR-LOANPROCESSINGCONTROL sy-vline
WA_ILCD_STR-LOANORGANIZATIONALDISTRICT sy-vline
WA_ILCD_STR-LOANAGENTDISTRICT sy-vline
WA_ILCD_STR-LOANMANUALDUNLEVEL sy-vline
WA_ILCD_STR-LOANREDEEMDATE sy-vline
WA_ILCD_STR-LOANDISCOUNTMETHOD sy-vline
WA_ILCD_STR-LOANFIXEDCONTRACTCONTROL sy-vline
WA_ILCD_STR-BUSINESSPARTNER sy-vline
WA_ILCD_STR-FINTRANSOBJNMBR sy-vline
WA_ILCD_STR-LOANMAINBRWRCUSTNMBR sy-vline
WA_ILCD_STR-LOANMASTERNUMBER sy-vline
WA_ILCD_STR-LOANDUNSMMRZN sy-vline
WA_ILCD_STR-LOANDUNRUNISEXCLUDE sy-vline
WA_ILCD_STR-LOANINTERNALREFERENCE sy-vline
WA_ILCD_STR-LOANCHARACTERISTIC sy-vline
WA_ILCD_STR-LOANISPOSTDUNCHARGE sy-vline
WA_ILCD_STR-LOANISLIABILITYTRANSACTION sy-vline
WA_ILCD_STR-LOANBUSINESSAREA sy-vline
WA_ILCD_STR-LOANISPAYOFFLOCK sy-vline
WA_ILCD_STR-LOANISPOFFBLKOPNITMCLRG sy-vline
WA_ILCD_STR-LOANGENERALVALUATIONCLASS sy-vline
WA_ILCD_STR-LOANPAYMENTSTATUS sy-vline
WA_ILCD_STR-LOANCONCLUDEDREGION sy-vline
WA_ILCD_STR-LOANBACKOFFICE sy-vline
WA_ILCD_STR-LOANCONTRACTIBAN sy-vline
WA_ILCD_STR-LOANBUSPROCCHNASSGMTTYPE sy-vline
WA_ILCD_STR-LOANBUSPROCCHNASSGMTID sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.