ABAP Select data from SAP table CEPL1 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 CEPL1 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 CEPL1. 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 CEPL1 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_CEPL1 TYPE STANDARD TABLE OF CEPL1, WA_CEPL1 TYPE CEPL1, 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: <CEPL1> TYPE CEPL1. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_CEPL1. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM CEPL1 INTO TABLE IT_CEPL1. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM CEPL1 * INTO TABLE @DATA(IT_CEPL12). *--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_CEPL1 INDEX 1 INTO DATA(WA_CEPL12). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_CEPL1 ASSIGNING <CEPL1>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<CEPL1>-WEP1 = 1.
<CEPL1>-WEP2 = 1.
<CEPL1>-WEP3 = 1.
<CEPL1>-WEP4 = 1.
<CEPL1>-WEP5 = 1.
ENDLOOP. LOOP AT IT_CEPL1 INTO WA_CEPL1. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_CEPL1-WEP6, sy-vline,
WA_CEPL1-WEP7, sy-vline,
WA_CEPL1-WEP8, sy-vline,
WA_CEPL1-WAERS1, sy-vline,
WA_CEPL1-WAERS2, sy-vline,
WA_CEPL1-WAERS3, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CEPL1 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_CEPL1 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_CEPL1 INTO WA_CEPL1. *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 AC152, internal->external for field WEP1 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-WEP1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-WEP1.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field WEP2 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-WEP2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-WEP2.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field WEP3 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-WEP3 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-WEP3.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field WEP4 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-WEP4 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-WEP4.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field WEP5 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-WEP5 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-WEP5.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field WEP6 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-WEP6 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-WEP6.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field WEP7 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-WEP7 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-WEP7.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field WEP8 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-WEP8 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-WEP8.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field ME1 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CEPL1-ME1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-ME1.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field ME2 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CEPL1-ME2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-ME2.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field ME3 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CEPL1-ME3 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-ME3.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field ME4 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CEPL1-ME4 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-ME4.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field ME5 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CEPL1-ME5 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-ME5.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field ME6 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CEPL1-ME6 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-ME6.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field ME7 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CEPL1-ME7 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-ME7.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field ME8 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CEPL1-ME8 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-ME8.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field SWEP1 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-SWEP1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-SWEP1.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field SWEP2 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-SWEP2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-SWEP2.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field SWEP3 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-SWEP3 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-SWEP3.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field SWEP4 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-SWEP4 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-SWEP4.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field SWEP5 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-SWEP5 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-SWEP5.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field SWEP6 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-SWEP6 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-SWEP6.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field SWEP7 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-SWEP7 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-SWEP7.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC152, internal->external for field SWEP8 CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_CEPL1-SWEP8 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-SWEP8.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field MULTI CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_CEPL1-MULTI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEPL1-MULTI.
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_CEPL1_STR,
WEP1 TYPE STRING,
WEP2 TYPE STRING,
WEP3 TYPE STRING,
WEP4 TYPE STRING,
WEP5 TYPE STRING,
WEP6 TYPE STRING,
WEP7 TYPE STRING,
WEP8 TYPE STRING,
WAERS1 TYPE STRING,
WAERS2 TYPE STRING,
WAERS3 TYPE STRING,
WAERS4 TYPE STRING,
WAERS5 TYPE STRING,
WAERS6 TYPE STRING,
WAERS7 TYPE STRING,
WAERS8 TYPE STRING,
HER1 TYPE STRING,
HER2 TYPE STRING,
HER3 TYPE STRING,
HER4 TYPE STRING,
HER5 TYPE STRING,
HER6 TYPE STRING,
HER7 TYPE STRING,
HER8 TYPE STRING,
VTL1 TYPE STRING,
VTL2 TYPE STRING,
VTL3 TYPE STRING,
VTL4 TYPE STRING,
VTL5 TYPE STRING,
VTL6 TYPE STRING,
VTL7 TYPE STRING,
VTL8 TYPE STRING,
ME1 TYPE STRING,
ME2 TYPE STRING,
ME3 TYPE STRING,
ME4 TYPE STRING,
ME5 TYPE STRING,
ME6 TYPE STRING,
ME7 TYPE STRING,
ME8 TYPE STRING,
SWEP1 TYPE STRING,
SWEP2 TYPE STRING,
SWEP3 TYPE STRING,
SWEP4 TYPE STRING,
SWEP5 TYPE STRING,
SWEP6 TYPE STRING,
SWEP7 TYPE STRING,
SWEP8 TYPE STRING,
MULTI TYPE STRING,
FRWAE TYPE STRING,
TEXTKZ TYPE STRING,
WOCHENKZ TYPE STRING,
PERIOKZ TYPE STRING,
PLANDATEN TYPE STRING,
AKTEIN TYPE STRING,
GESEIN TYPE STRING,
SCRLI TYPE STRING,
SCRRE TYPE STRING,END OF T_EKKO_STR. DATA: WA_CEPL1_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_CEPL1_STR-WEP1 sy-vline
WA_CEPL1_STR-WEP2 sy-vline
WA_CEPL1_STR-WEP3 sy-vline
WA_CEPL1_STR-WEP4 sy-vline
WA_CEPL1_STR-WEP5 sy-vline
WA_CEPL1_STR-WEP6 sy-vline
WA_CEPL1_STR-WEP7 sy-vline
WA_CEPL1_STR-WEP8 sy-vline
WA_CEPL1_STR-WAERS1 sy-vline
WA_CEPL1_STR-WAERS2 sy-vline
WA_CEPL1_STR-WAERS3 sy-vline
WA_CEPL1_STR-WAERS4 sy-vline
WA_CEPL1_STR-WAERS5 sy-vline
WA_CEPL1_STR-WAERS6 sy-vline
WA_CEPL1_STR-WAERS7 sy-vline
WA_CEPL1_STR-WAERS8 sy-vline
WA_CEPL1_STR-HER1 sy-vline
WA_CEPL1_STR-HER2 sy-vline
WA_CEPL1_STR-HER3 sy-vline
WA_CEPL1_STR-HER4 sy-vline
WA_CEPL1_STR-HER5 sy-vline
WA_CEPL1_STR-HER6 sy-vline
WA_CEPL1_STR-HER7 sy-vline
WA_CEPL1_STR-HER8 sy-vline
WA_CEPL1_STR-VTL1 sy-vline
WA_CEPL1_STR-VTL2 sy-vline
WA_CEPL1_STR-VTL3 sy-vline
WA_CEPL1_STR-VTL4 sy-vline
WA_CEPL1_STR-VTL5 sy-vline
WA_CEPL1_STR-VTL6 sy-vline
WA_CEPL1_STR-VTL7 sy-vline
WA_CEPL1_STR-VTL8 sy-vline
WA_CEPL1_STR-ME1 sy-vline
WA_CEPL1_STR-ME2 sy-vline
WA_CEPL1_STR-ME3 sy-vline
WA_CEPL1_STR-ME4 sy-vline
WA_CEPL1_STR-ME5 sy-vline
WA_CEPL1_STR-ME6 sy-vline
WA_CEPL1_STR-ME7 sy-vline
WA_CEPL1_STR-ME8 sy-vline
WA_CEPL1_STR-SWEP1 sy-vline
WA_CEPL1_STR-SWEP2 sy-vline
WA_CEPL1_STR-SWEP3 sy-vline
WA_CEPL1_STR-SWEP4 sy-vline
WA_CEPL1_STR-SWEP5 sy-vline
WA_CEPL1_STR-SWEP6 sy-vline
WA_CEPL1_STR-SWEP7 sy-vline
WA_CEPL1_STR-SWEP8 sy-vline
WA_CEPL1_STR-MULTI sy-vline
WA_CEPL1_STR-FRWAE sy-vline
WA_CEPL1_STR-TEXTKZ sy-vline
WA_CEPL1_STR-WOCHENKZ sy-vline
WA_CEPL1_STR-PERIOKZ sy-vline
WA_CEPL1_STR-PLANDATEN sy-vline
WA_CEPL1_STR-AKTEIN sy-vline
WA_CEPL1_STR-GESEIN sy-vline
WA_CEPL1_STR-SCRLI sy-vline
WA_CEPL1_STR-SCRRE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.