ABAP Select data from SAP table SDIBE_MASSFIELDS 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 SDIBE_MASSFIELDS 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 SDIBE_MASSFIELDS. 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 SDIBE_MASSFIELDS 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_SDIBE_MASSFIELDS TYPE STANDARD TABLE OF SDIBE_MASSFIELDS,
      WA_SDIBE_MASSFIELDS TYPE SDIBE_MASSFIELDS,
      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: <SDIBE_MASSFIELDS> TYPE SDIBE_MASSFIELDS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM SDIBE_MASSFIELDS
*  INTO TABLE @DATA(IT_SDIBE_MASSFIELDS2).
*--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_SDIBE_MASSFIELDS INDEX 1 INTO DATA(WA_SDIBE_MASSFIELDS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_SDIBE_MASSFIELDS ASSIGNING <SDIBE_MASSFIELDS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<SDIBE_MASSFIELDS>-XDISPR = 1.
<SDIBE_MASSFIELDS>-XDISMM = 1.
<SDIBE_MASSFIELDS>-XDISPO = 1.
<SDIBE_MASSFIELDS>-XDISGR = 1.
<SDIBE_MASSFIELDS>-XMINBE = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_SDIBE_MASSFIELDS-XLFRHY, sy-vline,
WA_SDIBE_MASSFIELDS-XFXHOR, sy-vline,
WA_SDIBE_MASSFIELDS-XDISLS, sy-vline,
WA_SDIBE_MASSFIELDS-XRDPRF, sy-vline,
WA_SDIBE_MASSFIELDS-XBSTRF, sy-vline,
WA_SDIBE_MASSFIELDS-XBSTMI, sy-vline.
ENDLOOP. *Add any further fields from structure WA_SDIBE_MASSFIELDS 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_SDIBE_MASSFIELDS 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_SDIBE_MASSFIELDS INTO WA_SDIBE_MASSFIELDS. *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_SDIBE_MASSFIELDS_STR,
XDISPR TYPE STRING,
XDISMM TYPE STRING,
XDISPO TYPE STRING,
XDISGR TYPE STRING,
XMINBE TYPE STRING,
XLFRHY TYPE STRING,
XFXHOR TYPE STRING,
XDISLS TYPE STRING,
XRDPRF TYPE STRING,
XBSTRF TYPE STRING,
XBSTMI TYPE STRING,
XBSTMA TYPE STRING,
XMABST TYPE STRING,
XTAKZT TYPE STRING,
XAUSSS TYPE STRING,
XSOBSL TYPE STRING,
XLGPRO TYPE STRING,
XLGFSB TYPE STRING,
XMRPPP TYPE STRING,
XEISBE TYPE STRING,
XRWPRO TYPE STRING,
XSHZET TYPE STRING,
XBSTFE TYPE STRING,
XLOSFX TYPE STRING,
XLAGPR TYPE STRING,
XLGRAD TYPE STRING,
XPROPR TYPE STRING,
XVRBMT TYPE STRING,
XVRBDB TYPE STRING,
XVRBDT TYPE STRING,
XVRBFK TYPE STRING,
XLOEKZ TYPE STRING,
XSHPRO TYPE STRING,
XAHDIS TYPE STRING,
XAUTRU TYPE STRING,
XPSTAT TYPE STRING,
XKZKFK TYPE STRING,
XSHFLG TYPE STRING,
XAPOKZ TYPE STRING,
XPRMOD TYPE STRING,
XPERAN TYPE STRING,
XPERIN TYPE STRING,
XANZPR TYPE STRING,
XFIMON TYPE STRING,
XPERIO TYPE STRING,
XKZINI TYPE STRING,
XMODAW TYPE STRING,
XOPGRA TYPE STRING,
XALPHA TYPE STRING,
XGAMMA TYPE STRING,
XSIGGR TYPE STRING,
XMODAV TYPE STRING,
XGEWGR TYPE STRING,
XBETA1 TYPE STRING,
XDELTA TYPE STRING,
XKZPAR TYPE STRING,
XPLIFZ TYPE STRING,
XPLIFZX TYPE STRING,
XSFTY_STK_METH TYPE STRING,
XSCM_GRPRT TYPE STRING,
XSCM_GIPRT TYPE STRING,
XSCM_THRUPUT_TIME TYPE STRING,
XSCM_TPOP TYPE STRING,
XSCM_SAFTY_V TYPE STRING,
XSCM_PPSAFTYSTK TYPE STRING,
XSCM_PPSAFTYSTK_V TYPE STRING,
XSCM_REPSAFTY TYPE STRING,
XSCM_REPSAFTY_V TYPE STRING,
XSCM_REORD_V TYPE STRING,
XSCM_MAXSTOCK_V TYPE STRING,
XSCM_SCOST_PRCNT TYPE STRING,
XSCM_PROC_COST TYPE STRING,
XSCM_NDCOSTWE TYPE STRING,
XSCM_NDCOSTWA TYPE STRING,
XSCM_RRP_TYPE TYPE STRING,
XSCM_HEUR_ID TYPE STRING,
XSCM_PACKAGE_ID TYPE STRING,
XSCM_CONHAP TYPE STRING,
XSCM_HUNIT TYPE STRING,
XSCM_CONHAP_OUT TYPE STRING,
XSCM_HUNIT_OUT TYPE STRING,
XSCM_RRP_SEL_GROUP TYPE STRING,
XSCM_LSUOM TYPE STRING,
XSCM_REORD_DUR TYPE STRING,
XSCM_TARGET_DUR TYPE STRING,
XSCM_TSTRID TYPE STRING,
XSCM_CONINP TYPE STRING,
XSCM_IUNIT TYPE STRING,
XMAXDOS_PEN TYPE STRING,
XMAXDOS_FLG TYPE STRING,
XSAFTYSTOCK_METHOD TYPE STRING,
XTARGET_STOCK_LEVEL_METH TYPE STRING,
XAUTO_DET_SFTYSTK_METH TYPE STRING,
XUSE_PERIOD_FACTOR TYPE STRING,
XPERIOD_FACTOR_VALUE TYPE STRING,
XPERIOD_FACTOR_TDS TYPE STRING,
XSDM_VERSION TYPE STRING,END OF T_EKKO_STR. DATA: WA_SDIBE_MASSFIELDS_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_SDIBE_MASSFIELDS_STR-XDISPR sy-vline
WA_SDIBE_MASSFIELDS_STR-XDISMM sy-vline
WA_SDIBE_MASSFIELDS_STR-XDISPO sy-vline
WA_SDIBE_MASSFIELDS_STR-XDISGR sy-vline
WA_SDIBE_MASSFIELDS_STR-XMINBE sy-vline
WA_SDIBE_MASSFIELDS_STR-XLFRHY sy-vline
WA_SDIBE_MASSFIELDS_STR-XFXHOR sy-vline
WA_SDIBE_MASSFIELDS_STR-XDISLS sy-vline
WA_SDIBE_MASSFIELDS_STR-XRDPRF sy-vline
WA_SDIBE_MASSFIELDS_STR-XBSTRF sy-vline
WA_SDIBE_MASSFIELDS_STR-XBSTMI sy-vline
WA_SDIBE_MASSFIELDS_STR-XBSTMA sy-vline
WA_SDIBE_MASSFIELDS_STR-XMABST sy-vline
WA_SDIBE_MASSFIELDS_STR-XTAKZT sy-vline
WA_SDIBE_MASSFIELDS_STR-XAUSSS sy-vline
WA_SDIBE_MASSFIELDS_STR-XSOBSL sy-vline
WA_SDIBE_MASSFIELDS_STR-XLGPRO sy-vline
WA_SDIBE_MASSFIELDS_STR-XLGFSB sy-vline
WA_SDIBE_MASSFIELDS_STR-XMRPPP sy-vline
WA_SDIBE_MASSFIELDS_STR-XEISBE sy-vline
WA_SDIBE_MASSFIELDS_STR-XRWPRO sy-vline
WA_SDIBE_MASSFIELDS_STR-XSHZET sy-vline
WA_SDIBE_MASSFIELDS_STR-XBSTFE sy-vline
WA_SDIBE_MASSFIELDS_STR-XLOSFX sy-vline
WA_SDIBE_MASSFIELDS_STR-XLAGPR sy-vline
WA_SDIBE_MASSFIELDS_STR-XLGRAD sy-vline
WA_SDIBE_MASSFIELDS_STR-XPROPR sy-vline
WA_SDIBE_MASSFIELDS_STR-XVRBMT sy-vline
WA_SDIBE_MASSFIELDS_STR-XVRBDB sy-vline
WA_SDIBE_MASSFIELDS_STR-XVRBDT sy-vline
WA_SDIBE_MASSFIELDS_STR-XVRBFK sy-vline
WA_SDIBE_MASSFIELDS_STR-XLOEKZ sy-vline
WA_SDIBE_MASSFIELDS_STR-XSHPRO sy-vline
WA_SDIBE_MASSFIELDS_STR-XAHDIS sy-vline
WA_SDIBE_MASSFIELDS_STR-XAUTRU sy-vline
WA_SDIBE_MASSFIELDS_STR-XPSTAT sy-vline
WA_SDIBE_MASSFIELDS_STR-XKZKFK sy-vline
WA_SDIBE_MASSFIELDS_STR-XSHFLG sy-vline
WA_SDIBE_MASSFIELDS_STR-XAPOKZ sy-vline
WA_SDIBE_MASSFIELDS_STR-XPRMOD sy-vline
WA_SDIBE_MASSFIELDS_STR-XPERAN sy-vline
WA_SDIBE_MASSFIELDS_STR-XPERIN sy-vline
WA_SDIBE_MASSFIELDS_STR-XANZPR sy-vline
WA_SDIBE_MASSFIELDS_STR-XFIMON sy-vline
WA_SDIBE_MASSFIELDS_STR-XPERIO sy-vline
WA_SDIBE_MASSFIELDS_STR-XKZINI sy-vline
WA_SDIBE_MASSFIELDS_STR-XMODAW sy-vline
WA_SDIBE_MASSFIELDS_STR-XOPGRA sy-vline
WA_SDIBE_MASSFIELDS_STR-XALPHA sy-vline
WA_SDIBE_MASSFIELDS_STR-XGAMMA sy-vline
WA_SDIBE_MASSFIELDS_STR-XSIGGR sy-vline
WA_SDIBE_MASSFIELDS_STR-XMODAV sy-vline
WA_SDIBE_MASSFIELDS_STR-XGEWGR sy-vline
WA_SDIBE_MASSFIELDS_STR-XBETA1 sy-vline
WA_SDIBE_MASSFIELDS_STR-XDELTA sy-vline
WA_SDIBE_MASSFIELDS_STR-XKZPAR sy-vline
WA_SDIBE_MASSFIELDS_STR-XPLIFZ sy-vline
WA_SDIBE_MASSFIELDS_STR-XPLIFZX sy-vline
WA_SDIBE_MASSFIELDS_STR-XSFTY_STK_METH sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_GRPRT sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_GIPRT sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_THRUPUT_TIME sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_TPOP sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_SAFTY_V sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_PPSAFTYSTK sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_PPSAFTYSTK_V sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_REPSAFTY sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_REPSAFTY_V sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_REORD_V sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_MAXSTOCK_V sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_SCOST_PRCNT sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_PROC_COST sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_NDCOSTWE sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_NDCOSTWA sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_RRP_TYPE sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_HEUR_ID sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_PACKAGE_ID sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_CONHAP sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_HUNIT sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_CONHAP_OUT sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_HUNIT_OUT sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_RRP_SEL_GROUP sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_LSUOM sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_REORD_DUR sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_TARGET_DUR sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_TSTRID sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_CONINP sy-vline
WA_SDIBE_MASSFIELDS_STR-XSCM_IUNIT sy-vline
WA_SDIBE_MASSFIELDS_STR-XMAXDOS_PEN sy-vline
WA_SDIBE_MASSFIELDS_STR-XMAXDOS_FLG sy-vline
WA_SDIBE_MASSFIELDS_STR-XSAFTYSTOCK_METHOD sy-vline
WA_SDIBE_MASSFIELDS_STR-XTARGET_STOCK_LEVEL_METH sy-vline
WA_SDIBE_MASSFIELDS_STR-XAUTO_DET_SFTYSTK_METH sy-vline
WA_SDIBE_MASSFIELDS_STR-XUSE_PERIOD_FACTOR sy-vline
WA_SDIBE_MASSFIELDS_STR-XPERIOD_FACTOR_VALUE sy-vline
WA_SDIBE_MASSFIELDS_STR-XPERIOD_FACTOR_TDS sy-vline
WA_SDIBE_MASSFIELDS_STR-XSDM_VERSION sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.