ABAP Select data from SAP table MCJLFGB 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 MCJLFGB 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 MCJLFGB. 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 MCJLFGB 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_MCJLFGB TYPE STANDARD TABLE OF MCJLFGB,
      WA_MCJLFGB TYPE MCJLFGB,
      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: <MCJLFGB> TYPE MCJLFGB.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM MCJLFGB
*  INTO TABLE @DATA(IT_MCJLFGB2).
*--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_MCJLFGB INDEX 1 INTO DATA(WA_MCJLFGB2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_MCJLFGB ASSIGNING <MCJLFGB>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<MCJLFGB>-SUPKZ = 1.
<MCJLFGB>-MANDT = 1.
<MCJLFGB>-LFNGNR = 1.
<MCJLFGB>-NACHLFNGNR = 1.
<MCJLFGB>-LFNGART = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_MCJLFGB-VAUSGB, sy-vline,
WA_MCJLFGB-BEILGAUSST, sy-vline,
WA_MCJLFGB-ANZEIGENAUSST, sy-vline,
WA_MCJLFGB-BEZUGSTYP, sy-vline,
WA_MCJLFGB-DRERZTAT, sy-vline,
WA_MCJLFGB-PVATAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_MCJLFGB 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_MCJLFGB 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_MCJLFGB INTO WA_MCJLFGB. *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 VAUSGB CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MCJLFGB-VAUSGB IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCJLFGB-VAUSGB.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit MATN1, internal->external for field MEDIAISSUE CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_MCJLFGB-MEDIAISSUE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCJLFGB-MEDIAISSUE.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

*Conversion exit JKWBZ, internal->external for field VDZVERTRKZ CALL FUNCTION 'CONVERSION_EXIT_JKWBZ_OUTPUT' EXPORTING input = WA_MCJLFGB-VDZVERTRKZ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCJLFGB-VDZVERTRKZ.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

*Conversion exit CUNIT, internal->external for field ETMEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_MCJLFGB-ETMEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCJLFGB-ETMEINS.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit ALPHA, internal->external for field VSGZUSTLR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MCJLFGB-VSGZUSTLR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCJLFGB-VSGZUSTLR.
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_MCJLFGB_STR,
SUPKZ TYPE STRING,
MANDT TYPE STRING,
LFNGNR TYPE STRING,
NACHLFNGNR TYPE STRING,
LFNGART TYPE STRING,
VAUSGB TYPE STRING,
BEILGAUSST TYPE STRING,
ANZEIGENAUSST TYPE STRING,
BEZUGSTYP TYPE STRING,
DRERZTAT TYPE STRING,
PVATAT TYPE STRING,
MEDIAISSUE TYPE STRING,
BEZIRKTAT TYPE STRING,
GEOEINTAT TYPE STRING,
BEABLST TYPE STRING,
VSAUSSTART TYPE STRING,
LFBNRAUF TYPE STRING,
LFBNRVBR TYPE STRING,
LFARTTAT TYPE STRING,
MBZART TYPE STRING,
KNDGRUPPE TYPE STRING,
AUARTGRP TYPE STRING,
ERSCHDAT TYPE STRING,
VERSANDDAT TYPE STRING,
VRSNDZTRGL TYPE STRING,
VKORG TYPE STRING,
VTWEG TYPE STRING,
STAFO TYPE STRING,
DRUCKEREI TYPE STRING,
LFARTLOG TYPE STRING,
BEZRUNDTAT TYPE STRING,
LFMENGE TYPE STRING,
RESMNGPLAN TYPE STRING,
WRBMNGPLAN TYPE STRING,
PVABEZEI10 TYPE STRING,
PVABERGRP1 TYPE STRING,
PVABERGRP2 TYPE STRING,
PVAPOVERKZ TYPE STRING,
PVAIVWNR TYPE STRING,
PVAISPCNRO TYPE STRING,
PVAISPCNRT TYPE STRING,
VDZVERTRKZ TYPE STRING,
PVARKAUFNR TYPE STRING,
PVARKPOSNR TYPE STRING,
PVACOAUFNR TYPE STRING,
DRERZSPART TYPE STRING,
JAHRGANG TYPE STRING,
NRIMJAHR TYPE STRING,
HEFTNUMMER TYPE STRING,
ABHOLSTELL TYPE STRING,
BUKRS TYPE STRING,
LIEF_LAND TYPE STRING,
ANZVAMO TYPE STRING,
ANZVATA TYPE STRING,
ANZVAWO TYPE STRING,
ANZVABU TYPE STRING,
ETMEINS TYPE STRING,
ZUSTELLER TYPE STRING,
VSGZUSTLR TYPE STRING,
DUMMYUSR TYPE STRING,END OF T_EKKO_STR. DATA: WA_MCJLFGB_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_MCJLFGB_STR-SUPKZ sy-vline
WA_MCJLFGB_STR-MANDT sy-vline
WA_MCJLFGB_STR-LFNGNR sy-vline
WA_MCJLFGB_STR-NACHLFNGNR sy-vline
WA_MCJLFGB_STR-LFNGART sy-vline
WA_MCJLFGB_STR-VAUSGB sy-vline
WA_MCJLFGB_STR-BEILGAUSST sy-vline
WA_MCJLFGB_STR-ANZEIGENAUSST sy-vline
WA_MCJLFGB_STR-BEZUGSTYP sy-vline
WA_MCJLFGB_STR-DRERZTAT sy-vline
WA_MCJLFGB_STR-PVATAT sy-vline
WA_MCJLFGB_STR-MEDIAISSUE sy-vline
WA_MCJLFGB_STR-BEZIRKTAT sy-vline
WA_MCJLFGB_STR-GEOEINTAT sy-vline
WA_MCJLFGB_STR-BEABLST sy-vline
WA_MCJLFGB_STR-VSAUSSTART sy-vline
WA_MCJLFGB_STR-LFBNRAUF sy-vline
WA_MCJLFGB_STR-LFBNRVBR sy-vline
WA_MCJLFGB_STR-LFARTTAT sy-vline
WA_MCJLFGB_STR-MBZART sy-vline
WA_MCJLFGB_STR-KNDGRUPPE sy-vline
WA_MCJLFGB_STR-AUARTGRP sy-vline
WA_MCJLFGB_STR-ERSCHDAT sy-vline
WA_MCJLFGB_STR-VERSANDDAT sy-vline
WA_MCJLFGB_STR-VRSNDZTRGL sy-vline
WA_MCJLFGB_STR-VKORG sy-vline
WA_MCJLFGB_STR-VTWEG sy-vline
WA_MCJLFGB_STR-STAFO sy-vline
WA_MCJLFGB_STR-DRUCKEREI sy-vline
WA_MCJLFGB_STR-LFARTLOG sy-vline
WA_MCJLFGB_STR-BEZRUNDTAT sy-vline
WA_MCJLFGB_STR-LFMENGE sy-vline
WA_MCJLFGB_STR-RESMNGPLAN sy-vline
WA_MCJLFGB_STR-WRBMNGPLAN sy-vline
WA_MCJLFGB_STR-PVABEZEI10 sy-vline
WA_MCJLFGB_STR-PVABERGRP1 sy-vline
WA_MCJLFGB_STR-PVABERGRP2 sy-vline
WA_MCJLFGB_STR-PVAPOVERKZ sy-vline
WA_MCJLFGB_STR-PVAIVWNR sy-vline
WA_MCJLFGB_STR-PVAISPCNRO sy-vline
WA_MCJLFGB_STR-PVAISPCNRT sy-vline
WA_MCJLFGB_STR-VDZVERTRKZ sy-vline
WA_MCJLFGB_STR-PVARKAUFNR sy-vline
WA_MCJLFGB_STR-PVARKPOSNR sy-vline
WA_MCJLFGB_STR-PVACOAUFNR sy-vline
WA_MCJLFGB_STR-DRERZSPART sy-vline
WA_MCJLFGB_STR-JAHRGANG sy-vline
WA_MCJLFGB_STR-NRIMJAHR sy-vline
WA_MCJLFGB_STR-HEFTNUMMER sy-vline
WA_MCJLFGB_STR-ABHOLSTELL sy-vline
WA_MCJLFGB_STR-BUKRS sy-vline
WA_MCJLFGB_STR-LIEF_LAND sy-vline
WA_MCJLFGB_STR-ANZVAMO sy-vline
WA_MCJLFGB_STR-ANZVATA sy-vline
WA_MCJLFGB_STR-ANZVAWO sy-vline
WA_MCJLFGB_STR-ANZVABU sy-vline
WA_MCJLFGB_STR-ETMEINS sy-vline
WA_MCJLFGB_STR-ZUSTELLER sy-vline
WA_MCJLFGB_STR-VSGZUSTLR sy-vline
WA_MCJLFGB_STR-DUMMYUSR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.