ABAP Select data from SAP table KOMLFKD 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 KOMLFKD 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 KOMLFKD. 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 KOMLFKD 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_KOMLFKD TYPE STANDARD TABLE OF KOMLFKD,
      WA_KOMLFKD TYPE KOMLFKD,
      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: <KOMLFKD> TYPE KOMLFKD.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM KOMLFKD
*  INTO TABLE @DATA(IT_KOMLFKD2).
*--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_KOMLFKD INDEX 1 INTO DATA(WA_KOMLFKD2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_KOMLFKD ASSIGNING <KOMLFKD>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<KOMLFKD>-HIPOS = 1.
<KOMLFKD>-LIF_NAME1 = 1.
<KOMLFKD>-LZB_NAME1 = 1.
<KOMLFKD>-BEZEI_LIFRE = 1.
<KOMLFKD>-BEZEI_LNRZB = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_KOMLFKD-KND_NAME1, sy-vline,
WA_KOMLFKD-KRG_NAME1, sy-vline,
WA_KOMLFKD-BEZEI_KUNRE, sy-vline,
WA_KOMLFKD-BEZEI_KUNRG, sy-vline,
WA_KOMLFKD-WKOPAR, sy-vline,
WA_KOMLFKD-RBRTWR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_KOMLFKD 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_KOMLFKD 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_KOMLFKD INTO WA_KOMLFKD. *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 WBELN_FROM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_KOMLFKD-WBELN_FROM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KOMLFKD-WBELN_FROM.
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_KOMLFKD_STR,
HIPOS TYPE STRING,
LIF_NAME1 TYPE STRING,
LZB_NAME1 TYPE STRING,
BEZEI_LIFRE TYPE STRING,
BEZEI_LNRZB TYPE STRING,
KND_NAME1 TYPE STRING,
KRG_NAME1 TYPE STRING,
BEZEI_KUNRE TYPE STRING,
BEZEI_KUNRG TYPE STRING,
WKOPAR TYPE STRING,
RBRTWR TYPE STRING,
RNETWR TYPE STRING,
HWAER TYPE STRING,
RDIFF TYPE STRING,
KLIBT TYPE STRING,
AMPEL TYPE STRING,
WZLSPL TYPE STRING,
WZFBD TYPE STRING,
KSTEU TYPE STRING,
PRSOK TYPE STRING,
WSTBU TYPE STRING,
TAX_CAL TYPE STRING,
UVPRS TYPE STRING,
TXJCD_AKT TYPE STRING,
TAXSHEET TYPE STRING,
TAXSHEETUS TYPE STRING,
WARENWERT TYPE STRING,
TAX TYPE STRING,
DELKREDERE TYPE STRING,
KWERT_RL TYPE STRING,
MWSBP_RL TYPE STRING,
SUM_RL TYPE STRING,
BRTWERT_RL TYPE STRING,
KKBTX TYPE STRING,
KZBTR TYPE STRING,
KNUMVA TYPE STRING,
KALSMA TYPE STRING,
TESTRUN TYPE STRING,
ARCHIV TYPE STRING,
KWERT_RLD TYPE STRING,
MWSBP_RLD TYPE STRING,
BLART TYPE STRING,
WPYAMT_P1 TYPE STRING,
WPYAMT_P2 TYPE STRING,
STGRP TYPE STRING,
STGRPTX TYPE STRING,
ESTATUSTX TYPE STRING,
ARC_DOC_ID TYPE STRING,
AR_OBJECT TYPE STRING,
COND_PARTY TYPE STRING,
PROF_ANALYSIS TYPE STRING,
KWERT_KOA TYPE STRING,
MWSBP_KOA TYPE STRING,
PROFSIM_PRICING_CHANGE TYPE STRING,
PROFSIM_TIME_STAMP TYPE STRING,
TABIX_LIS_BW TYPE STRING,
WTAXD TYPE STRING,
XCPDK TYPE STRING,
SPLITT_ACTIVE TYPE STRING,
XREF_RRL TYPE STRING,
CM_ERROR TYPE STRING,
CONF_UPD TYPE STRING,
CMC_AMOUNT TYPE STRING,
BONUS_ACTIVE_V TYPE STRING,
BONUS_ACTIVE_C TYPE STRING,
XCPDK_VENDOR TYPE STRING,
COMPOSITE_ACTIVE TYPE STRING,
ABART_SL TYPE STRING,
CONTEXT TYPE STRING,
IDCP_ACTIVE TYPE STRING,
PERNR_NAME1 TYPE STRING,
BUPLA_EXISTS TYPE STRING,
LAND_BUKRS TYPE STRING,
LAND_BUKRS_DEB TYPE STRING,
NRRANGE_PREFIX TYPE STRING,
PA_COUNTRY_CURR TYPE STRING,
PA_COUNTRY_CURR_DEB TYPE STRING,
PA_COUNTRY_UNIQUE TYPE STRING,
PA_COUNTRY_DEB_UNIQUE TYPE STRING,
SETTL_END_DATE TYPE STRING,
CM_STATUS_RESET TYPE STRING,
CM_STATUS_RESET_SBV TYPE STRING,
CM_STATUS_RESET_SBC TYPE STRING,
CM_LOG_HANDLE TYPE STRING,
LIFNR_FI_NAME1 TYPE STRING,
BEZEI_LIFNR_FI TYPE STRING,
CPD_ADDR_CHANGED TYPE STRING,
CWM_ACTIVE TYPE STRING,
REF_USE_CASE TYPE STRING,
REAL_PRICING_RL TYPE STRING,
HWAER_DEB TYPE STRING,
INCOTERMS_ACTIVE TYPE STRING,
NO_INCOTERM_DETERMINATION TYPE STRING,
NO_SICHERN_DB TYPE STRING,
PREV_WBELN_V TYPE STRING,
COUNT_WBELN_V TYPE STRING,
PRSGR_VENDOR TYPE STRING,
PRSGR_CUSTOMER TYPE STRING,
WBELN_FROM TYPE STRING,
ACC_RELEASE_IND TYPE STRING,
CANCEL_DOC_IND TYPE STRING,
SETTLE_DOC_IND TYPE STRING,
ACC_RELEVENCE_IND TYPE STRING,
SOA_ORDERID TYPE STRING,
REPLACEMENT_ACTIVE_ITEM TYPE STRING,
REPLACEMENT_ACTIVE_PARTNER TYPE STRING,END OF T_EKKO_STR. DATA: WA_KOMLFKD_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_KOMLFKD_STR-HIPOS sy-vline
WA_KOMLFKD_STR-LIF_NAME1 sy-vline
WA_KOMLFKD_STR-LZB_NAME1 sy-vline
WA_KOMLFKD_STR-BEZEI_LIFRE sy-vline
WA_KOMLFKD_STR-BEZEI_LNRZB sy-vline
WA_KOMLFKD_STR-KND_NAME1 sy-vline
WA_KOMLFKD_STR-KRG_NAME1 sy-vline
WA_KOMLFKD_STR-BEZEI_KUNRE sy-vline
WA_KOMLFKD_STR-BEZEI_KUNRG sy-vline
WA_KOMLFKD_STR-WKOPAR sy-vline
WA_KOMLFKD_STR-RBRTWR sy-vline
WA_KOMLFKD_STR-RNETWR sy-vline
WA_KOMLFKD_STR-HWAER sy-vline
WA_KOMLFKD_STR-RDIFF sy-vline
WA_KOMLFKD_STR-KLIBT sy-vline
WA_KOMLFKD_STR-AMPEL sy-vline
WA_KOMLFKD_STR-WZLSPL sy-vline
WA_KOMLFKD_STR-WZFBD sy-vline
WA_KOMLFKD_STR-KSTEU sy-vline
WA_KOMLFKD_STR-PRSOK sy-vline
WA_KOMLFKD_STR-WSTBU sy-vline
WA_KOMLFKD_STR-TAX_CAL sy-vline
WA_KOMLFKD_STR-UVPRS sy-vline
WA_KOMLFKD_STR-TXJCD_AKT sy-vline
WA_KOMLFKD_STR-TAXSHEET sy-vline
WA_KOMLFKD_STR-TAXSHEETUS sy-vline
WA_KOMLFKD_STR-WARENWERT sy-vline
WA_KOMLFKD_STR-TAX sy-vline
WA_KOMLFKD_STR-DELKREDERE sy-vline
WA_KOMLFKD_STR-KWERT_RL sy-vline
WA_KOMLFKD_STR-MWSBP_RL sy-vline
WA_KOMLFKD_STR-SUM_RL sy-vline
WA_KOMLFKD_STR-BRTWERT_RL sy-vline
WA_KOMLFKD_STR-KKBTX sy-vline
WA_KOMLFKD_STR-KZBTR sy-vline
WA_KOMLFKD_STR-KNUMVA sy-vline
WA_KOMLFKD_STR-KALSMA sy-vline
WA_KOMLFKD_STR-TESTRUN sy-vline
WA_KOMLFKD_STR-ARCHIV sy-vline
WA_KOMLFKD_STR-KWERT_RLD sy-vline
WA_KOMLFKD_STR-MWSBP_RLD sy-vline
WA_KOMLFKD_STR-BLART sy-vline
WA_KOMLFKD_STR-WPYAMT_P1 sy-vline
WA_KOMLFKD_STR-WPYAMT_P2 sy-vline
WA_KOMLFKD_STR-STGRP sy-vline
WA_KOMLFKD_STR-STGRPTX sy-vline
WA_KOMLFKD_STR-ESTATUSTX sy-vline
WA_KOMLFKD_STR-ARC_DOC_ID sy-vline
WA_KOMLFKD_STR-AR_OBJECT sy-vline
WA_KOMLFKD_STR-COND_PARTY sy-vline
WA_KOMLFKD_STR-PROF_ANALYSIS sy-vline
WA_KOMLFKD_STR-KWERT_KOA sy-vline
WA_KOMLFKD_STR-MWSBP_KOA sy-vline
WA_KOMLFKD_STR-PROFSIM_PRICING_CHANGE sy-vline
WA_KOMLFKD_STR-PROFSIM_TIME_STAMP sy-vline
WA_KOMLFKD_STR-TABIX_LIS_BW sy-vline
WA_KOMLFKD_STR-WTAXD sy-vline
WA_KOMLFKD_STR-XCPDK sy-vline
WA_KOMLFKD_STR-SPLITT_ACTIVE sy-vline
WA_KOMLFKD_STR-XREF_RRL sy-vline
WA_KOMLFKD_STR-CM_ERROR sy-vline
WA_KOMLFKD_STR-CONF_UPD sy-vline
WA_KOMLFKD_STR-CMC_AMOUNT sy-vline
WA_KOMLFKD_STR-BONUS_ACTIVE_V sy-vline
WA_KOMLFKD_STR-BONUS_ACTIVE_C sy-vline
WA_KOMLFKD_STR-XCPDK_VENDOR sy-vline
WA_KOMLFKD_STR-COMPOSITE_ACTIVE sy-vline
WA_KOMLFKD_STR-ABART_SL sy-vline
WA_KOMLFKD_STR-CONTEXT sy-vline
WA_KOMLFKD_STR-IDCP_ACTIVE sy-vline
WA_KOMLFKD_STR-PERNR_NAME1 sy-vline
WA_KOMLFKD_STR-BUPLA_EXISTS sy-vline
WA_KOMLFKD_STR-LAND_BUKRS sy-vline
WA_KOMLFKD_STR-LAND_BUKRS_DEB sy-vline
WA_KOMLFKD_STR-NRRANGE_PREFIX sy-vline
WA_KOMLFKD_STR-PA_COUNTRY_CURR sy-vline
WA_KOMLFKD_STR-PA_COUNTRY_CURR_DEB sy-vline
WA_KOMLFKD_STR-PA_COUNTRY_UNIQUE sy-vline
WA_KOMLFKD_STR-PA_COUNTRY_DEB_UNIQUE sy-vline
WA_KOMLFKD_STR-SETTL_END_DATE sy-vline
WA_KOMLFKD_STR-CM_STATUS_RESET sy-vline
WA_KOMLFKD_STR-CM_STATUS_RESET_SBV sy-vline
WA_KOMLFKD_STR-CM_STATUS_RESET_SBC sy-vline
WA_KOMLFKD_STR-CM_LOG_HANDLE sy-vline
WA_KOMLFKD_STR-LIFNR_FI_NAME1 sy-vline
WA_KOMLFKD_STR-BEZEI_LIFNR_FI sy-vline
WA_KOMLFKD_STR-CPD_ADDR_CHANGED sy-vline
WA_KOMLFKD_STR-CWM_ACTIVE sy-vline
WA_KOMLFKD_STR-REF_USE_CASE sy-vline
WA_KOMLFKD_STR-REAL_PRICING_RL sy-vline
WA_KOMLFKD_STR-HWAER_DEB sy-vline
WA_KOMLFKD_STR-INCOTERMS_ACTIVE sy-vline
WA_KOMLFKD_STR-NO_INCOTERM_DETERMINATION sy-vline
WA_KOMLFKD_STR-NO_SICHERN_DB sy-vline
WA_KOMLFKD_STR-PREV_WBELN_V sy-vline
WA_KOMLFKD_STR-COUNT_WBELN_V sy-vline
WA_KOMLFKD_STR-PRSGR_VENDOR sy-vline
WA_KOMLFKD_STR-PRSGR_CUSTOMER sy-vline
WA_KOMLFKD_STR-WBELN_FROM sy-vline
WA_KOMLFKD_STR-ACC_RELEASE_IND sy-vline
WA_KOMLFKD_STR-CANCEL_DOC_IND sy-vline
WA_KOMLFKD_STR-SETTLE_DOC_IND sy-vline
WA_KOMLFKD_STR-ACC_RELEVENCE_IND sy-vline
WA_KOMLFKD_STR-SOA_ORDERID sy-vline
WA_KOMLFKD_STR-REPLACEMENT_ACTIVE_ITEM sy-vline
WA_KOMLFKD_STR-REPLACEMENT_ACTIVE_PARTNER sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.