ABAP Select data from SAP table LXE_UPSETS 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 LXE_UPSETS 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 LXE_UPSETS. 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 LXE_UPSETS 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_LXE_UPSETS TYPE STANDARD TABLE OF LXE_UPSETS,
      WA_LXE_UPSETS TYPE LXE_UPSETS,
      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: <LXE_UPSETS> TYPE LXE_UPSETS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM LXE_UPSETS
*  INTO TABLE @DATA(IT_LXE_UPSETS2).
*--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_LXE_UPSETS INDEX 1 INTO DATA(WA_LXE_UPSETS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_LXE_UPSETS ASSIGNING <LXE_UPSETS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<LXE_UPSETS>-UNAME = 1.
<LXE_UPSETS>-AV_SHOWNEW = 1.
<LXE_UPSETS>-AV_SHOWMOD = 1.
<LXE_UPSETS>-AV_SHOWGOOD = 1.
<LXE_UPSETS>-AV_SHOWTRANSL = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_LXE_UPSETS-AV_MAXNR, sy-vline,
WA_LXE_UPSETS-AV_SORTFORMAT, sy-vline,
WA_LXE_UPSETS-AV_COLLFORMAT, sy-vline,
WA_LXE_UPSETS-AV_HEADERFORMAT, sy-vline,
WA_LXE_UPSETS-AV_EXPSINGLETEXT, sy-vline,
WA_LXE_UPSETS-AV_SORT_SESSION, sy-vline.
ENDLOOP. *Add any further fields from structure WA_LXE_UPSETS 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_LXE_UPSETS 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_LXE_UPSETS INTO WA_LXE_UPSETS. *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 LXELA, internal->external for field TARGLANG CALL FUNCTION 'CONVERSION_EXIT_LXELA_OUTPUT' EXPORTING input = WA_LXE_UPSETS-TARGLANG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LXE_UPSETS-TARGLANG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit LXELA, internal->external for field SOURLANG CALL FUNCTION 'CONVERSION_EXIT_LXELA_OUTPUT' EXPORTING input = WA_LXE_UPSETS-SOURLANG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LXE_UPSETS-SOURLANG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit LXELA, internal->external for field OTHRLANG CALL FUNCTION 'CONVERSION_EXIT_LXELA_OUTPUT' EXPORTING input = WA_LXE_UPSETS-OTHRLANG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LXE_UPSETS-OTHRLANG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit LXELA, internal->external for field LANG1_DOL CALL FUNCTION 'CONVERSION_EXIT_LXELA_OUTPUT' EXPORTING input = WA_LXE_UPSETS-LANG1_DOL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LXE_UPSETS-LANG1_DOL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit LXELA, internal->external for field LANG2_DOL CALL FUNCTION 'CONVERSION_EXIT_LXELA_OUTPUT' EXPORTING input = WA_LXE_UPSETS-LANG2_DOL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LXE_UPSETS-LANG2_DOL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit LXELA, internal->external for field LANG3_DOL CALL FUNCTION 'CONVERSION_EXIT_LXELA_OUTPUT' EXPORTING input = WA_LXE_UPSETS-LANG3_DOL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LXE_UPSETS-LANG3_DOL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit LXELA, internal->external for field LANG4_DOL CALL FUNCTION 'CONVERSION_EXIT_LXELA_OUTPUT' EXPORTING input = WA_LXE_UPSETS-LANG4_DOL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LXE_UPSETS-LANG4_DOL.
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_LXE_UPSETS_STR,
UNAME TYPE STRING,
AV_SHOWNEW TYPE STRING,
AV_SHOWMOD TYPE STRING,
AV_SHOWGOOD TYPE STRING,
AV_SHOWTRANSL TYPE STRING,
AV_MAXNR TYPE STRING,
AV_SORTFORMAT TYPE STRING,
AV_COLLFORMAT TYPE STRING,
AV_HEADERFORMAT TYPE STRING,
AV_EXPSINGLETEXT TYPE STRING,
AV_SORT_SESSION TYPE STRING,
SH_SHOWNEW TYPE STRING,
SH_SHOWMOD TYPE STRING,
SH_SHOWGOOD TYPE STRING,
SH_PROPOSAL TYPE STRING,
SH_PROPOSAL_PPUP TYPE STRING,
SH_AUTOQUIT TYPE STRING,
SH_REMARK TYPE STRING,
SH_SEGMCNT TYPE STRING,
SH_SEGMEVAL TYPE STRING,
LG_AUTOQUIT TYPE STRING,
LG_LINNO TYPE STRING,
LG_HGRID TYPE STRING,
LG_EXPERT TYPE STRING,
LG_LINES TYPE STRING,
LG_INSTPATH TYPE STRING,
LG_PDFB_DESIG TYPE STRING,
LG_EDIT_TYPE TYPE STRING,
LG_SHOW_TAGS TYPE STRING,
LG_BREAK_LEN TYPE STRING,
GB_HIDE_POPUP TYPE STRING,
TARGLANG TYPE STRING,
SOURLANG TYPE STRING,
OTHRLANG TYPE STRING,
ADVCD_LANGSEL TYPE STRING,
ADVCD_OBJTSEL TYPE STRING,
CUSTMNR TYPE STRING,
WORKLIST_ID TYPE STRING,
LG_SASH TYPE STRING,
LANG1_DOL TYPE STRING,
LANG2_DOL TYPE STRING,
LANG3_DOL TYPE STRING,
LANG4_DOL TYPE STRING,
AV_DISPWWC TYPE STRING,
AV_WWC TYPE STRING,
CREATION_MODE TYPE STRING,END OF T_EKKO_STR. DATA: WA_LXE_UPSETS_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_LXE_UPSETS_STR-UNAME sy-vline
WA_LXE_UPSETS_STR-AV_SHOWNEW sy-vline
WA_LXE_UPSETS_STR-AV_SHOWMOD sy-vline
WA_LXE_UPSETS_STR-AV_SHOWGOOD sy-vline
WA_LXE_UPSETS_STR-AV_SHOWTRANSL sy-vline
WA_LXE_UPSETS_STR-AV_MAXNR sy-vline
WA_LXE_UPSETS_STR-AV_SORTFORMAT sy-vline
WA_LXE_UPSETS_STR-AV_COLLFORMAT sy-vline
WA_LXE_UPSETS_STR-AV_HEADERFORMAT sy-vline
WA_LXE_UPSETS_STR-AV_EXPSINGLETEXT sy-vline
WA_LXE_UPSETS_STR-AV_SORT_SESSION sy-vline
WA_LXE_UPSETS_STR-SH_SHOWNEW sy-vline
WA_LXE_UPSETS_STR-SH_SHOWMOD sy-vline
WA_LXE_UPSETS_STR-SH_SHOWGOOD sy-vline
WA_LXE_UPSETS_STR-SH_PROPOSAL sy-vline
WA_LXE_UPSETS_STR-SH_PROPOSAL_PPUP sy-vline
WA_LXE_UPSETS_STR-SH_AUTOQUIT sy-vline
WA_LXE_UPSETS_STR-SH_REMARK sy-vline
WA_LXE_UPSETS_STR-SH_SEGMCNT sy-vline
WA_LXE_UPSETS_STR-SH_SEGMEVAL sy-vline
WA_LXE_UPSETS_STR-LG_AUTOQUIT sy-vline
WA_LXE_UPSETS_STR-LG_LINNO sy-vline
WA_LXE_UPSETS_STR-LG_HGRID sy-vline
WA_LXE_UPSETS_STR-LG_EXPERT sy-vline
WA_LXE_UPSETS_STR-LG_LINES sy-vline
WA_LXE_UPSETS_STR-LG_INSTPATH sy-vline
WA_LXE_UPSETS_STR-LG_PDFB_DESIG sy-vline
WA_LXE_UPSETS_STR-LG_EDIT_TYPE sy-vline
WA_LXE_UPSETS_STR-LG_SHOW_TAGS sy-vline
WA_LXE_UPSETS_STR-LG_BREAK_LEN sy-vline
WA_LXE_UPSETS_STR-GB_HIDE_POPUP sy-vline
WA_LXE_UPSETS_STR-TARGLANG sy-vline
WA_LXE_UPSETS_STR-SOURLANG sy-vline
WA_LXE_UPSETS_STR-OTHRLANG sy-vline
WA_LXE_UPSETS_STR-ADVCD_LANGSEL sy-vline
WA_LXE_UPSETS_STR-ADVCD_OBJTSEL sy-vline
WA_LXE_UPSETS_STR-CUSTMNR sy-vline
WA_LXE_UPSETS_STR-WORKLIST_ID sy-vline
WA_LXE_UPSETS_STR-LG_SASH sy-vline
WA_LXE_UPSETS_STR-LANG1_DOL sy-vline
WA_LXE_UPSETS_STR-LANG2_DOL sy-vline
WA_LXE_UPSETS_STR-LANG3_DOL sy-vline
WA_LXE_UPSETS_STR-LANG4_DOL sy-vline
WA_LXE_UPSETS_STR-AV_DISPWWC sy-vline
WA_LXE_UPSETS_STR-AV_WWC sy-vline
WA_LXE_UPSETS_STR-CREATION_MODE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.