ABAP Select data from SAP table /SAPBOQ/SES_GUI_ESLL 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 /SAPBOQ/SES_GUI_ESLL 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 /SAPBOQ/SES_GUI_ESLL. 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 /SAPBOQ/SES_GUI_ESLL 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_/SAPBOQ/SES_GUI_ESLL TYPE STANDARD TABLE OF /SAPBOQ/SES_GUI_ESLL, WA_/SAPBOQ/SES_GUI_ESLL TYPE /SAPBOQ/SES_GUI_ESLL, 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: </SAPBOQ/SES_GUI_ESLL> TYPE /SAPBOQ/SES_GUI_ESLL. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_/SAPBOQ/SES_GUI_ESLL. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM /SAPBOQ/SES_GUI_ESLL INTO TABLE IT_/SAPBOQ/SES_GUI_ESLL. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM /SAPBOQ/SES_GUI_ESLL * INTO TABLE @DATA(IT_/SAPBOQ/SES_GUI_ESLL2). *--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_/SAPBOQ/SES_GUI_ESLL INDEX 1 INTO DATA(WA_/SAPBOQ/SES_GUI_ESLL2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_/SAPBOQ/SES_GUI_ESLL ASSIGNING </SAPBOQ/SES_GUI_ESLL>.*To update a field value using a field symbol simply change the value via the field symbol pointer
</SAPBOQ/SES_GUI_ESLL>-/SAPBOQ/MITBUT = 1.
</SAPBOQ/SES_GUI_ESLL>-/SAPBOQ/PATH = 1.
</SAPBOQ/SES_GUI_ESLL>-EXTROW = 1.
</SAPBOQ/SES_GUI_ESLL>-/SAPBOQ/SPOSNR = 1.
</SAPBOQ/SES_GUI_ESLL>-/SAPBOQ/OBJTYPE = 1.
ENDLOOP. LOOP AT IT_/SAPBOQ/SES_GUI_ESLL INTO WA_/SAPBOQ/SES_GUI_ESLL. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_/SAPBOQ/SES_GUI_ESLL-KTEXT1, sy-vline,
WA_/SAPBOQ/SES_GUI_ESLL-TOTAL, sy-vline,
WA_/SAPBOQ/SES_GUI_ESLL-SRVPOS, sy-vline,
WA_/SAPBOQ/SES_GUI_ESLL-MENGE, sy-vline,
WA_/SAPBOQ/SES_GUI_ESLL-MEINS, sy-vline,
WA_/SAPBOQ/SES_GUI_ESLL-UEBTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/SAPBOQ/SES_GUI_ESLL 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_/SAPBOQ/SES_GUI_ESLL 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_/SAPBOQ/SES_GUI_ESLL INTO WA_/SAPBOQ/SES_GUI_ESLL. *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 SRVPOS CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_/SAPBOQ/SES_GUI_ESLL-SRVPOS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPBOQ/SES_GUI_ESLL-SRVPOS.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field MEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/SAPBOQ/SES_GUI_ESLL-MEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/SAPBOQ/SES_GUI_ESLL-MEINS.
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_/SAPBOQ/SES_GUI_ESLL_STR,
/SAPBOQ/MITBUT TYPE STRING,
/SAPBOQ/PATH TYPE STRING,
EXTROW TYPE STRING,
/SAPBOQ/SPOSNR TYPE STRING,
/SAPBOQ/OBJTYPE TYPE STRING,
KTEXT1 TYPE STRING,
TOTAL TYPE STRING,
SRVPOS TYPE STRING,
MENGE TYPE STRING,
MEINS TYPE STRING,
UEBTO TYPE STRING,
UEBTK TYPE STRING,
PEINH TYPE STRING,
TBTWR TYPE STRING,
WAERS TYPE STRING,
NETWR TYPE STRING,
MATKL TYPE STRING,
/SAPBOQ/CRTWR TYPE STRING,
BOSGRP TYPE STRING,
ACT_MENGE TYPE STRING,
ACT_WERT TYPE STRING,
KNT_MENGE TYPE STRING,
KNT_WERT TYPE STRING,
/SAPBOQ/QT_REL TYPE STRING,
LBNUM TYPE STRING,
AUSGB TYPE STRING,
STLVPOS TYPE STRING,
/SAPBOQ/ZLART TYPE STRING,
/SAPBOQ/ALTER TYPE STRING,
ALT_INTROW TYPE STRING,
BOSGRUPPENR TYPE STRING,
BOSLFDNR TYPE STRING,
BIDDER TYPE STRING,
SUPPLE TYPE STRING,
BOS_RISK TYPE STRING,
BOSSUPPLENO TYPE STRING,
BOSSUPPLESTATUS TYPE STRING,
BOSDRUKZ TYPE STRING,
EXTSRVNO TYPE STRING,
EXTDES TYPE STRING,
FRMVAL1 TYPE STRING,
FRMVAL2 TYPE STRING,
FRMVAL3 TYPE STRING,
FRMVAL4 TYPE STRING,
FRMVAL5 TYPE STRING,
USERF1_NUM TYPE STRING,
USERF2_NUM TYPE STRING,
USERF1_TXT TYPE STRING,
USERF2_TXT TYPE STRING,
PACKNO TYPE STRING,
INTROW TYPE STRING,
SUB_PACKNO TYPE STRING,
/SAPBOQ/MINTROW TYPE STRING,
PACKAGE TYPE STRING,
KZ TYPE STRING,
BASIC TYPE STRING,
ALTERNAT TYPE STRING,
FREEQTY TYPE STRING,
INFORM TYPE STRING,
PAUSCH TYPE STRING,
EVENTUAL TYPE STRING,
KKNUMV TYPE STRING,
/SAPBOQ/CMENGE TYPE STRING,
FORMELNR TYPE STRING,
CELLTAB TYPE STRING,
COND1 TYPE STRING,
COND2 TYPE STRING,
COND3 TYPE STRING,
COND4 TYPE STRING,
COND5 TYPE STRING,END OF T_EKKO_STR. DATA: WA_/SAPBOQ/SES_GUI_ESLL_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_/SAPBOQ/SES_GUI_ESLL_STR-/SAPBOQ/MITBUT sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-/SAPBOQ/PATH sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-EXTROW sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-/SAPBOQ/SPOSNR sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-/SAPBOQ/OBJTYPE sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-KTEXT1 sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-TOTAL sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-SRVPOS sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-MENGE sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-MEINS sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-UEBTO sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-UEBTK sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-PEINH sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-TBTWR sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-WAERS sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-NETWR sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-MATKL sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-/SAPBOQ/CRTWR sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-BOSGRP sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-ACT_MENGE sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-ACT_WERT sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-KNT_MENGE sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-KNT_WERT sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-/SAPBOQ/QT_REL sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-LBNUM sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-AUSGB sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-STLVPOS sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-/SAPBOQ/ZLART sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-/SAPBOQ/ALTER sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-ALT_INTROW sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-BOSGRUPPENR sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-BOSLFDNR sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-BIDDER sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-SUPPLE sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-BOS_RISK sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-BOSSUPPLENO sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-BOSSUPPLESTATUS sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-BOSDRUKZ sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-EXTSRVNO sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-EXTDES sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-FRMVAL1 sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-FRMVAL2 sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-FRMVAL3 sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-FRMVAL4 sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-FRMVAL5 sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-USERF1_NUM sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-USERF2_NUM sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-USERF1_TXT sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-USERF2_TXT sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-PACKNO sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-INTROW sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-SUB_PACKNO sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-/SAPBOQ/MINTROW sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-PACKAGE sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-KZ sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-BASIC sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-ALTERNAT sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-FREEQTY sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-INFORM sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-PAUSCH sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-EVENTUAL sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-KKNUMV sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-/SAPBOQ/CMENGE sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-FORMELNR sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-CELLTAB sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-COND1 sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-COND2 sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-COND3 sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-COND4 sy-vline
WA_/SAPBOQ/SES_GUI_ESLL_STR-COND5 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.