ABAP Select data from SAP table J_7LKSCHL_KOTAB 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 J_7LKSCHL_KOTAB 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 J_7LKSCHL_KOTAB. 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 J_7LKSCHL_KOTAB 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_J_7LKSCHL_KOTAB TYPE STANDARD TABLE OF J_7LKSCHL_KOTAB, WA_J_7LKSCHL_KOTAB TYPE J_7LKSCHL_KOTAB, 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: <J_7LKSCHL_KOTAB> TYPE J_7LKSCHL_KOTAB. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_J_7LKSCHL_KOTAB. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM J_7LKSCHL_KOTAB INTO TABLE IT_J_7LKSCHL_KOTAB. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM J_7LKSCHL_KOTAB * INTO TABLE @DATA(IT_J_7LKSCHL_KOTAB2). *--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_J_7LKSCHL_KOTAB INDEX 1 INTO DATA(WA_J_7LKSCHL_KOTAB2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_J_7LKSCHL_KOTAB ASSIGNING <J_7LKSCHL_KOTAB>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<J_7LKSCHL_KOTAB>-KVEWE = 1.
<J_7LKSCHL_KOTAB>-KAPPL = 1.
<J_7LKSCHL_KOTAB>-KSCHL = 1.
<J_7LKSCHL_KOTAB>-KOLNR = 1.
<J_7LKSCHL_KOTAB>-KOTABNR = 1.
ENDLOOP. LOOP AT IT_J_7LKSCHL_KOTAB INTO WA_J_7LKSCHL_KOTAB. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_J_7LKSCHL_KOTAB-KOTAB, sy-vline,
WA_J_7LKSCHL_KOTAB-SETYP, sy-vline,
WA_J_7LKSCHL_KOTAB-RPTSX, sy-vline,
WA_J_7LKSCHL_KOTAB-KMPOL, sy-vline,
WA_J_7LKSCHL_KOTAB-MUPRG, sy-vline,
WA_J_7LKSCHL_KOTAB-DIKOM, sy-vline.
ENDLOOP. *Add any further fields from structure WA_J_7LKSCHL_KOTAB 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_J_7LKSCHL_KOTAB 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_J_7LKSCHL_KOTAB INTO WA_J_7LKSCHL_KOTAB. *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 KOTAB, internal->external for field KOTABNR CALL FUNCTION 'CONVERSION_EXIT_KOTAB_OUTPUT' EXPORTING input = WA_J_7LKSCHL_KOTAB-KOTABNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_J_7LKSCHL_KOTAB-KOTABNR.
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_J_7LKSCHL_KOTAB_STR,
KVEWE TYPE STRING,
KAPPL TYPE STRING,
KSCHL TYPE STRING,
KOLNR TYPE STRING,
KOTABNR TYPE STRING,
KOTAB TYPE STRING,
SETYP TYPE STRING,
RPTSX TYPE STRING,
KMPOL TYPE STRING,
MUPRG TYPE STRING,
DIKOM TYPE STRING,
DNPVN TYPE STRING,
KDELE TYPE STRING,
MATNRFLAG TYPE STRING,
VARMRKFLAG TYPE STRING,
BUKRSFLAG TYPE STRING,
LAND1FLAG TYPE STRING,
VKORGFLAG TYPE STRING,
VTWEGFLAG TYPE STRING,
SPARTFLAG TYPE STRING,
KUMRKFLAG TYPE STRING,
KUNNRFLAG TYPE STRING,
ADRNRFLAG TYPE STRING,
EKORGFLAG TYPE STRING,
LIMRKFLAG TYPE STRING,
LIFNRFLAG TYPE STRING,
VRKMEFLAG TYPE STRING,
MATNRPOS TYPE STRING,
VARMRKPOS TYPE STRING,
BUKRSPOS TYPE STRING,
LAND1POS TYPE STRING,
VRKMEPOS TYPE STRING,
VKORGPOS TYPE STRING,
VTWEGPOS TYPE STRING,
SPARTPOS TYPE STRING,
KUMRKPOS TYPE STRING,
KUNNRPOS TYPE STRING,
ADRNRPOS TYPE STRING,
EKORGPOS TYPE STRING,
LIMRKPOS TYPE STRING,
LIFNRPOS TYPE STRING,
MATNRFIELD TYPE STRING,
VARMRKFIELD TYPE STRING,
BUKRSFIELD TYPE STRING,
LAND1FIELD TYPE STRING,
VRKMEFIELD TYPE STRING,
VKORGFIELD TYPE STRING,
VTWEGFIELD TYPE STRING,
SPARTFIELD TYPE STRING,
KUMRKFIELD TYPE STRING,
KUNNRFIELD TYPE STRING,
ADRNRFIELD TYPE STRING,
EKORGFIELD TYPE STRING,
LIMRKFIELD TYPE STRING,
LIFNRFIELD TYPE STRING,
MATNRFSETYP TYPE STRING,
VARMRKFSETYP TYPE STRING,
BUKRSFSETYP TYPE STRING,
LAND1FSETYP TYPE STRING,
VKORGFSETYP TYPE STRING,
VTWEGFSETYP TYPE STRING,
SPARTFSETYP TYPE STRING,
KUMRKFSETYP TYPE STRING,
KUNNRFSETYP TYPE STRING,
ADRNRFSETYP TYPE STRING,
EKORGFSETYP TYPE STRING,
LIMRKFSETYP TYPE STRING,
LIFNRFSETYP TYPE STRING,
VRKMEFSETYP TYPE STRING,END OF T_EKKO_STR. DATA: WA_J_7LKSCHL_KOTAB_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_J_7LKSCHL_KOTAB_STR-KVEWE sy-vline
WA_J_7LKSCHL_KOTAB_STR-KAPPL sy-vline
WA_J_7LKSCHL_KOTAB_STR-KSCHL sy-vline
WA_J_7LKSCHL_KOTAB_STR-KOLNR sy-vline
WA_J_7LKSCHL_KOTAB_STR-KOTABNR sy-vline
WA_J_7LKSCHL_KOTAB_STR-KOTAB sy-vline
WA_J_7LKSCHL_KOTAB_STR-SETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-RPTSX sy-vline
WA_J_7LKSCHL_KOTAB_STR-KMPOL sy-vline
WA_J_7LKSCHL_KOTAB_STR-MUPRG sy-vline
WA_J_7LKSCHL_KOTAB_STR-DIKOM sy-vline
WA_J_7LKSCHL_KOTAB_STR-DNPVN sy-vline
WA_J_7LKSCHL_KOTAB_STR-KDELE sy-vline
WA_J_7LKSCHL_KOTAB_STR-MATNRFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-VARMRKFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-BUKRSFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-LAND1FLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-VKORGFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-VTWEGFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-SPARTFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-KUMRKFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-KUNNRFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-ADRNRFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-EKORGFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-LIMRKFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-LIFNRFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-VRKMEFLAG sy-vline
WA_J_7LKSCHL_KOTAB_STR-MATNRPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-VARMRKPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-BUKRSPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-LAND1POS sy-vline
WA_J_7LKSCHL_KOTAB_STR-VRKMEPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-VKORGPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-VTWEGPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-SPARTPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-KUMRKPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-KUNNRPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-ADRNRPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-EKORGPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-LIMRKPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-LIFNRPOS sy-vline
WA_J_7LKSCHL_KOTAB_STR-MATNRFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-VARMRKFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-BUKRSFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-LAND1FIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-VRKMEFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-VKORGFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-VTWEGFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-SPARTFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-KUMRKFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-KUNNRFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-ADRNRFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-EKORGFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-LIMRKFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-LIFNRFIELD sy-vline
WA_J_7LKSCHL_KOTAB_STR-MATNRFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-VARMRKFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-BUKRSFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-LAND1FSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-VKORGFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-VTWEGFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-SPARTFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-KUMRKFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-KUNNRFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-ADRNRFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-EKORGFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-LIMRKFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-LIFNRFSETYP sy-vline
WA_J_7LKSCHL_KOTAB_STR-VRKMEFSETYP sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.