ABAP Select data from SAP table LSO_T77S0 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 LSO_T77S0 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 LSO_T77S0. 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 LSO_T77S0 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_LSO_T77S0 TYPE STANDARD TABLE OF LSO_T77S0,
      WA_LSO_T77S0 TYPE LSO_T77S0,
      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: <LSO_T77S0> TYPE LSO_T77S0.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM LSO_T77S0
*  INTO TABLE @DATA(IT_LSO_T77S02).
*--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_LSO_T77S0 INDEX 1 INTO DATA(WA_LSO_T77S02).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_LSO_T77S0 ASSIGNING <LSO_T77S0>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<LSO_T77S0>-MAXMU = 1.
<LSO_T77S0>-MINWL = 1.
<LSO_T77S0>-NPRIO = 1.
<LSO_T77S0>-INPRI = 1.
<LSO_T77S0>-WEBST = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_LSO_T77S0-PSHOW, sy-vline,
WA_LSO_T77S0-LPTRD, sy-vline,
WA_LSO_T77S0-FPLO, sy-vline,
WA_LSO_T77S0-FPEBO, sy-vline,
WA_LSO_T77S0-FREBO, sy-vline,
WA_LSO_T77S0-FRLO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_LSO_T77S0 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_LSO_T77S0 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_LSO_T77S0 INTO WA_LSO_T77S0. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_LSO_T77S0_STR,
MAXMU TYPE STRING,
MINWL TYPE STRING,
NPRIO TYPE STRING,
INPRI TYPE STRING,
WEBST TYPE STRING,
PSHOW TYPE STRING,
LPTRD TYPE STRING,
FPLO TYPE STRING,
FPEBO TYPE STRING,
FREBO TYPE STRING,
FRLO TYPE STRING,
ECOVL TYPE STRING,
ECFUP TYPE STRING,
ECCAN TYPE STRING,
DEFCF TYPE STRING,
DEFTF TYPE STRING,
CALLB TYPE STRING,
SRESO TYPE STRING,
SPLAN TYPE STRING,
SMENU TYPE STRING,
SMAST TYPE STRING,
JOPOS TYPE STRING,
CATUP TYPE STRING,
CATLD TYPE STRING,
CATDO TYPE STRING,
CATAL TYPE STRING,
CURRI TYPE STRING,
CURRT TYPE STRING,
EBUSO TYPE STRING,
ETRAN TYPE STRING,
CUREA TYPE STRING,
CUREB TYPE STRING,
CUTEA TYPE STRING,
CUTEB TYPE STRING,
EPARA TYPE STRING,
EPARB TYPE STRING,
ODESA TYPE STRING,
ODESB TYPE STRING,
MSGLA TYPE STRING,
MXACC TYPE STRING,
ESIGN TYPE STRING,
GDLAD TYPE STRING,
WFSTO TYPE STRING,
FLWAY TYPE STRING,
COSTC TYPE STRING,
ADRES TYPE STRING,
CBURL TYPE STRING,
JCEPS TYPE STRING,
JCOMC TYPE STRING,
REPPW TYPE STRING,
REPUS TYPE STRING,
RSURL TYPE STRING,
TIDEX TYPE STRING,
LOGIN TYPE STRING,
MRURL TYPE STRING,
SEURL TYPE STRING,
TEMPL TYPE STRING,
ETCAN TYPE STRING,
OFFLP TYPE STRING,
PREFX TYPE STRING,
HRLSO TYPE STRING,
REPLA TYPE STRING,
UKTIE TYPE STRING,
BACUS TYPE STRING,
BACPW TYPE STRING,
CHAR8 TYPE STRING,
PBBEG TYPE STRING,
PBEND TYPE STRING,
RSENC TYPE STRING,
MRENC TYPE STRING,
BOOK TYPE STRING,
CANC TYPE STRING,
FLUP TYPE STRING,
DSPLP TYPE STRING,
TMPL TYPE STRING,
SPRIO TYPE STRING,
NTIFY TYPE STRING,
EPRFC TYPE STRING,
EPUPW TYPE STRING,
EPUSR TYPE STRING,
COLLL TYPE STRING,
EPALS TYPE STRING,
EXCL TYPE STRING,
ACCTF TYPE STRING,
LOGL TYPE STRING,
JSAPI TYPE STRING,
EXTOC TYPE STRING,
CRPSP TYPE STRING,
SOUT TYPE STRING,
SUSER TYPE STRING,
STDEL TYPE STRING,
PRDEL TYPE STRING,
TRACK TYPE STRING,
XSLT TYPE STRING,
TEMPX TYPE STRING,
NMOVE TYPE STRING,
NSPLI TYPE STRING,
CPREA TYPE STRING,
CPREB TYPE STRING,
DEFCP TYPE STRING,
CPRGI TYPE STRING,
VLRSW TYPE STRING,
VLRAP TYPE STRING,
FUPST TYPE STRING,
CMMR TYPE STRING,
CMTMP TYPE STRING,
RFCDE TYPE STRING,
DEFDM TYPE STRING,
DEFCC TYPE STRING,
DEFCS TYPE STRING,
DEFUL TYPE STRING,
CATDV TYPE STRING,
SRCHD TYPE STRING,
SBWBT TYPE STRING,
POPUP TYPE STRING,
NOCAL TYPE STRING,
FOUPD TYPE STRING,
CALIN TYPE STRING,
EMID TYPE STRING,END OF T_EKKO_STR. DATA: WA_LSO_T77S0_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_LSO_T77S0_STR-MAXMU sy-vline
WA_LSO_T77S0_STR-MINWL sy-vline
WA_LSO_T77S0_STR-NPRIO sy-vline
WA_LSO_T77S0_STR-INPRI sy-vline
WA_LSO_T77S0_STR-WEBST sy-vline
WA_LSO_T77S0_STR-PSHOW sy-vline
WA_LSO_T77S0_STR-LPTRD sy-vline
WA_LSO_T77S0_STR-FPLO sy-vline
WA_LSO_T77S0_STR-FPEBO sy-vline
WA_LSO_T77S0_STR-FREBO sy-vline
WA_LSO_T77S0_STR-FRLO sy-vline
WA_LSO_T77S0_STR-ECOVL sy-vline
WA_LSO_T77S0_STR-ECFUP sy-vline
WA_LSO_T77S0_STR-ECCAN sy-vline
WA_LSO_T77S0_STR-DEFCF sy-vline
WA_LSO_T77S0_STR-DEFTF sy-vline
WA_LSO_T77S0_STR-CALLB sy-vline
WA_LSO_T77S0_STR-SRESO sy-vline
WA_LSO_T77S0_STR-SPLAN sy-vline
WA_LSO_T77S0_STR-SMENU sy-vline
WA_LSO_T77S0_STR-SMAST sy-vline
WA_LSO_T77S0_STR-JOPOS sy-vline
WA_LSO_T77S0_STR-CATUP sy-vline
WA_LSO_T77S0_STR-CATLD sy-vline
WA_LSO_T77S0_STR-CATDO sy-vline
WA_LSO_T77S0_STR-CATAL sy-vline
WA_LSO_T77S0_STR-CURRI sy-vline
WA_LSO_T77S0_STR-CURRT sy-vline
WA_LSO_T77S0_STR-EBUSO sy-vline
WA_LSO_T77S0_STR-ETRAN sy-vline
WA_LSO_T77S0_STR-CUREA sy-vline
WA_LSO_T77S0_STR-CUREB sy-vline
WA_LSO_T77S0_STR-CUTEA sy-vline
WA_LSO_T77S0_STR-CUTEB sy-vline
WA_LSO_T77S0_STR-EPARA sy-vline
WA_LSO_T77S0_STR-EPARB sy-vline
WA_LSO_T77S0_STR-ODESA sy-vline
WA_LSO_T77S0_STR-ODESB sy-vline
WA_LSO_T77S0_STR-MSGLA sy-vline
WA_LSO_T77S0_STR-MXACC sy-vline
WA_LSO_T77S0_STR-ESIGN sy-vline
WA_LSO_T77S0_STR-GDLAD sy-vline
WA_LSO_T77S0_STR-WFSTO sy-vline
WA_LSO_T77S0_STR-FLWAY sy-vline
WA_LSO_T77S0_STR-COSTC sy-vline
WA_LSO_T77S0_STR-ADRES sy-vline
WA_LSO_T77S0_STR-CBURL sy-vline
WA_LSO_T77S0_STR-JCEPS sy-vline
WA_LSO_T77S0_STR-JCOMC sy-vline
WA_LSO_T77S0_STR-REPPW sy-vline
WA_LSO_T77S0_STR-REPUS sy-vline
WA_LSO_T77S0_STR-RSURL sy-vline
WA_LSO_T77S0_STR-TIDEX sy-vline
WA_LSO_T77S0_STR-LOGIN sy-vline
WA_LSO_T77S0_STR-MRURL sy-vline
WA_LSO_T77S0_STR-SEURL sy-vline
WA_LSO_T77S0_STR-TEMPL sy-vline
WA_LSO_T77S0_STR-ETCAN sy-vline
WA_LSO_T77S0_STR-OFFLP sy-vline
WA_LSO_T77S0_STR-PREFX sy-vline
WA_LSO_T77S0_STR-HRLSO sy-vline
WA_LSO_T77S0_STR-REPLA sy-vline
WA_LSO_T77S0_STR-UKTIE sy-vline
WA_LSO_T77S0_STR-BACUS sy-vline
WA_LSO_T77S0_STR-BACPW sy-vline
WA_LSO_T77S0_STR-CHAR8 sy-vline
WA_LSO_T77S0_STR-PBBEG sy-vline
WA_LSO_T77S0_STR-PBEND sy-vline
WA_LSO_T77S0_STR-RSENC sy-vline
WA_LSO_T77S0_STR-MRENC sy-vline
WA_LSO_T77S0_STR-BOOK sy-vline
WA_LSO_T77S0_STR-CANC sy-vline
WA_LSO_T77S0_STR-FLUP sy-vline
WA_LSO_T77S0_STR-DSPLP sy-vline
WA_LSO_T77S0_STR-TMPL sy-vline
WA_LSO_T77S0_STR-SPRIO sy-vline
WA_LSO_T77S0_STR-NTIFY sy-vline
WA_LSO_T77S0_STR-EPRFC sy-vline
WA_LSO_T77S0_STR-EPUPW sy-vline
WA_LSO_T77S0_STR-EPUSR sy-vline
WA_LSO_T77S0_STR-COLLL sy-vline
WA_LSO_T77S0_STR-EPALS sy-vline
WA_LSO_T77S0_STR-EXCL sy-vline
WA_LSO_T77S0_STR-ACCTF sy-vline
WA_LSO_T77S0_STR-LOGL sy-vline
WA_LSO_T77S0_STR-JSAPI sy-vline
WA_LSO_T77S0_STR-EXTOC sy-vline
WA_LSO_T77S0_STR-CRPSP sy-vline
WA_LSO_T77S0_STR-SOUT sy-vline
WA_LSO_T77S0_STR-SUSER sy-vline
WA_LSO_T77S0_STR-STDEL sy-vline
WA_LSO_T77S0_STR-PRDEL sy-vline
WA_LSO_T77S0_STR-TRACK sy-vline
WA_LSO_T77S0_STR-XSLT sy-vline
WA_LSO_T77S0_STR-TEMPX sy-vline
WA_LSO_T77S0_STR-NMOVE sy-vline
WA_LSO_T77S0_STR-NSPLI sy-vline
WA_LSO_T77S0_STR-CPREA sy-vline
WA_LSO_T77S0_STR-CPREB sy-vline
WA_LSO_T77S0_STR-DEFCP sy-vline
WA_LSO_T77S0_STR-CPRGI sy-vline
WA_LSO_T77S0_STR-VLRSW sy-vline
WA_LSO_T77S0_STR-VLRAP sy-vline
WA_LSO_T77S0_STR-FUPST sy-vline
WA_LSO_T77S0_STR-CMMR sy-vline
WA_LSO_T77S0_STR-CMTMP sy-vline
WA_LSO_T77S0_STR-RFCDE sy-vline
WA_LSO_T77S0_STR-DEFDM sy-vline
WA_LSO_T77S0_STR-DEFCC sy-vline
WA_LSO_T77S0_STR-DEFCS sy-vline
WA_LSO_T77S0_STR-DEFUL sy-vline
WA_LSO_T77S0_STR-CATDV sy-vline
WA_LSO_T77S0_STR-SRCHD sy-vline
WA_LSO_T77S0_STR-SBWBT sy-vline
WA_LSO_T77S0_STR-POPUP sy-vline
WA_LSO_T77S0_STR-NOCAL sy-vline
WA_LSO_T77S0_STR-FOUPD sy-vline
WA_LSO_T77S0_STR-CALIN sy-vline
WA_LSO_T77S0_STR-EMID sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.