ABAP Select data from SAP table LSDELIVERYMETHOD 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 LSDELIVERYMETHOD 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 LSDELIVERYMETHOD. 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 LSDELIVERYMETHOD 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_LSDELIVERYMETHOD TYPE STANDARD TABLE OF LSDELIVERYMETHOD,
      WA_LSDELIVERYMETHOD TYPE LSDELIVERYMETHOD,
      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: <LSDELIVERYMETHOD> TYPE LSDELIVERYMETHOD.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM LSDELIVERYMETHOD
*  INTO TABLE @DATA(IT_LSDELIVERYMETHOD2).
*--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_LSDELIVERYMETHOD INDEX 1 INTO DATA(WA_LSDELIVERYMETHOD2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_LSDELIVERYMETHOD ASSIGNING <LSDELIVERYMETHOD>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<LSDELIVERYMETHOD>-TFORM = 1.
<LSDELIVERYMETHOD>-TFORMP = 1.
<LSDELIVERYMETHOD>-OBJTYPE = 1.
<LSDELIVERYMETHOD>-OBJTYPETYPE = 1.
<LSDELIVERYMETHOD>-RELATION = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_LSDELIVERYMETHOD-GENTRAIN, sy-vline,
WA_LSDELIVERYMETHOD-TYPE, sy-vline,
WA_LSDELIVERYMETHOD-SCHEDULE_DEP, sy-vline,
WA_LSDELIVERYMETHOD-LOCATION_DEP, sy-vline,
WA_LSDELIVERYMETHOD-RESOURCE_DEP, sy-vline,
WA_LSDELIVERYMETHOD-MEDIA_STORED, sy-vline.
ENDLOOP. *Add any further fields from structure WA_LSDELIVERYMETHOD 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_LSDELIVERYMETHOD 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_LSDELIVERYMETHOD INTO WA_LSDELIVERYMETHOD. *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_LSDELIVERYMETHOD_STR,
TFORM TYPE STRING,
TFORMP TYPE STRING,
OBJTYPE TYPE STRING,
OBJTYPETYPE TYPE STRING,
RELATION TYPE STRING,
GENTRAIN TYPE STRING,
TYPE TYPE STRING,
SCHEDULE_DEP TYPE STRING,
LOCATION_DEP TYPE STRING,
RESOURCE_DEP TYPE STRING,
MEDIA_STORED TYPE STRING,
LA_WRITE TYPE STRING,
TAC_WRITE TYPE STRING,
MASSN TYPE STRING,
MASSN_TRAINING TYPE STRING,
CMD_BOOKBE TYPE STRING,
CMD_REBOOKBE TYPE STRING,
CMD_PREBOOKBE TYPE STRING,
CMD_REPLACEBE TYPE STRING,
CMD_CANCELBE TYPE STRING,
CMD_BOOK_LISTBE TYPE STRING,
CMD_PREBK_LSTBE TYPE STRING,
CMD_BK_ATTBE TYPE STRING,
CMD_PREBK_TRNGBE TYPE STRING,
CMD_CREATEBE TYPE STRING,
CMD_CRRP_HISTOBE TYPE STRING,
CMD_FOLLOWUPBE TYPE STRING,
CMD_BILLINGBE TYPE STRING,
CMD_ACTIVALLBE TYPE STRING,
CMD_SCHEDULEBE TYPE STRING,
CMD_MODIFYBE TYPE STRING,
CMD_PLANBE TYPE STRING,
CMD_DISPLAYBE TYPE STRING,
CMD_WEBLINKBE TYPE STRING,
CMD_KNLLINKBE TYPE STRING,
CMD_CORRESPBE TYPE STRING,
CMD_RESO_SHOWBE TYPE STRING,
CMD_LOCKBE TYPE STRING,
CMD_FIXBE TYPE STRING,
CMD_COST_TRANBE TYPE STRING,
CMD_PRICE_PROPBE TYPE STRING,
CMD_INS_ALLOCBE TYPE STRING,
CMD_MATERIALBE TYPE STRING,
CMD_BOOKFE TYPE STRING,
CMD_REBOOKFE TYPE STRING,
CMD_PREBOOKFE TYPE STRING,
CMD_REPLACEFE TYPE STRING,
CMD_CANCELFE TYPE STRING,
CMD_BOOK_LISTFE TYPE STRING,
CMD_PREBK_LSTFE TYPE STRING,
CMD_BK_ATTFE TYPE STRING,
CMD_PREBK_TRNGFE TYPE STRING,
CMD_CREATEFE TYPE STRING,
CMD_CRRP_HISTOFE TYPE STRING,
CMD_FOLLOWUPFE TYPE STRING,
CMD_BILLINGFE TYPE STRING,
CMD_ACTIVALLFE TYPE STRING,
CMD_SCHEDULEFE TYPE STRING,
CMD_MODIFYFE TYPE STRING,
CMD_PLANFE TYPE STRING,
CMD_DISPLAYFE TYPE STRING,
CMD_WEBLINKFE TYPE STRING,
CMD_KNLLINKFE TYPE STRING,
CMD_CORRESPFE TYPE STRING,
CMD_RESO_SHOWFE TYPE STRING,
CMD_LOCKFE TYPE STRING,
CMD_FIXFE TYPE STRING,
CMD_COST_TRANFE TYPE STRING,
CMD_PRICE_PROPFE TYPE STRING,
CMD_INS_ALLOCFE TYPE STRING,
CMD_MATERIALFE TYPE STRING,
TXTSHORT TYPE STRING,
TXTSING TYPE STRING,
TXTPLUR TYPE STRING,END OF T_EKKO_STR. DATA: WA_LSDELIVERYMETHOD_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_LSDELIVERYMETHOD_STR-TFORM sy-vline
WA_LSDELIVERYMETHOD_STR-TFORMP sy-vline
WA_LSDELIVERYMETHOD_STR-OBJTYPE sy-vline
WA_LSDELIVERYMETHOD_STR-OBJTYPETYPE sy-vline
WA_LSDELIVERYMETHOD_STR-RELATION sy-vline
WA_LSDELIVERYMETHOD_STR-GENTRAIN sy-vline
WA_LSDELIVERYMETHOD_STR-TYPE sy-vline
WA_LSDELIVERYMETHOD_STR-SCHEDULE_DEP sy-vline
WA_LSDELIVERYMETHOD_STR-LOCATION_DEP sy-vline
WA_LSDELIVERYMETHOD_STR-RESOURCE_DEP sy-vline
WA_LSDELIVERYMETHOD_STR-MEDIA_STORED sy-vline
WA_LSDELIVERYMETHOD_STR-LA_WRITE sy-vline
WA_LSDELIVERYMETHOD_STR-TAC_WRITE sy-vline
WA_LSDELIVERYMETHOD_STR-MASSN sy-vline
WA_LSDELIVERYMETHOD_STR-MASSN_TRAINING sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_BOOKBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_REBOOKBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_PREBOOKBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_REPLACEBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_CANCELBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_BOOK_LISTBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_PREBK_LSTBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_BK_ATTBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_PREBK_TRNGBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_CREATEBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_CRRP_HISTOBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_FOLLOWUPBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_BILLINGBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_ACTIVALLBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_SCHEDULEBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_MODIFYBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_PLANBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_DISPLAYBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_WEBLINKBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_KNLLINKBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_CORRESPBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_RESO_SHOWBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_LOCKBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_FIXBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_COST_TRANBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_PRICE_PROPBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_INS_ALLOCBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_MATERIALBE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_BOOKFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_REBOOKFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_PREBOOKFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_REPLACEFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_CANCELFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_BOOK_LISTFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_PREBK_LSTFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_BK_ATTFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_PREBK_TRNGFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_CREATEFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_CRRP_HISTOFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_FOLLOWUPFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_BILLINGFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_ACTIVALLFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_SCHEDULEFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_MODIFYFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_PLANFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_DISPLAYFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_WEBLINKFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_KNLLINKFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_CORRESPFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_RESO_SHOWFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_LOCKFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_FIXFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_COST_TRANFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_PRICE_PROPFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_INS_ALLOCFE sy-vline
WA_LSDELIVERYMETHOD_STR-CMD_MATERIALFE sy-vline
WA_LSDELIVERYMETHOD_STR-TXTSHORT sy-vline
WA_LSDELIVERYMETHOD_STR-TXTSING sy-vline
WA_LSDELIVERYMETHOD_STR-TXTPLUR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.