ABAP Select data from SAP table MEPO1211 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 MEPO1211 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 MEPO1211. 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 MEPO1211 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_MEPO1211 TYPE STANDARD TABLE OF MEPO1211,
      WA_MEPO1211 TYPE MEPO1211,
      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: <MEPO1211> TYPE MEPO1211.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM MEPO1211
*  INTO TABLE @DATA(IT_MEPO12112).
*--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_MEPO1211 INDEX 1 INTO DATA(WA_MEPO12112).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_MEPO1211 ASSIGNING <MEPO1211>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<MEPO1211>-EBELP = 1.
<MEPO1211>-PSTYP = 1.
<MEPO1211>-EPSTP = 1.
<MEPO1211>-KNTTP = 1.
<MEPO1211>-EMATN = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_MEPO1211-MATNR, sy-vline,
WA_MEPO1211-MENGE, sy-vline,
WA_MEPO1211-MEINS, sy-vline,
WA_MEPO1211-MATKL, sy-vline,
WA_MEPO1211-WGBEZ, sy-vline,
WA_MEPO1211-WERKS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_MEPO1211 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_MEPO1211 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_MEPO1211 INTO WA_MEPO1211. *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 MATN1, internal->external for field EMATN CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_MEPO1211-EMATN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-EMATN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_MEPO1211-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-MATNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field MEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_MEPO1211-MEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-MEINS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field BPRME CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_MEPO1211-BPRME IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-BPRME.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field INFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MEPO1211-INFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-INFNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field BANFN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MEPO1211-BANFN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-BANFN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field KONNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MEPO1211-KONNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-KONNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ANFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MEPO1211-ANFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-ANFNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field REFBS CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MEPO1211-REFBS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-REFBS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field HANDOVERLOC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MEPO1211-HANDOVERLOC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-HANDOVERLOC.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field SRM_CONTRACT_ID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MEPO1211-SRM_CONTRACT_ID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-SRM_CONTRACT_ID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field SERVICEPERFORMER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MEPO1211-SERVICEPERFORMER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-SERVICEPERFORMER.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field EBELN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MEPO1211-EBELN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MEPO1211-EBELN.
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_MEPO1211_STR,
EBELP TYPE STRING,
PSTYP TYPE STRING,
EPSTP TYPE STRING,
KNTTP TYPE STRING,
EMATN TYPE STRING,
MATNR TYPE STRING,
MENGE TYPE STRING,
MEINS TYPE STRING,
MATKL TYPE STRING,
WGBEZ TYPE STRING,
WERKS TYPE STRING,
NAME1 TYPE STRING,
LGORT TYPE STRING,
LGOBE TYPE STRING,
ELPEI TYPE STRING,
EEIND TYPE STRING,
BEDNR TYPE STRING,
TXZ01 TYPE STRING,
NETPR TYPE STRING,
WAERS TYPE STRING,
PEINH TYPE STRING,
BPRME TYPE STRING,
RETPO TYPE STRING,
CHARG TYPE STRING,
BWTAR TYPE STRING,
INFNR TYPE STRING,
UMSON TYPE STRING,
TEXTFLAG TYPE STRING,
BANFN TYPE STRING,
BNFPO TYPE STRING,
KONNR TYPE STRING,
KTPNR TYPE STRING,
ANFNR TYPE STRING,
ANFPS TYPE STRING,
REFBS TYPE STRING,
REFPS TYPE STRING,
LOEKZ TYPE STRING,
AFNAM TYPE STRING,
EXLIN TYPE STRING,
UEBPO TYPE STRING,
UPTYP TYPE STRING,
RESLO TYPE STRING,
RESLO_BEZ TYPE STRING,
PRIO_URG TYPE STRING,
PRIO_REQ TYPE STRING,
EMPST TYPE STRING,
VSART TYPE STRING,
HANDOVERLOC TYPE STRING,
EXT_RFX_NUMBER TYPE STRING,
EXT_RFX_ITEM TYPE STRING,
SRM_CONTRACT_ID TYPE STRING,
SRM_CONTRACT_ITM TYPE STRING,
FIXMG TYPE STRING,
SGT_SCAT TYPE STRING,
SGT_RCAT TYPE STRING,
SERVICEPERFORMER TYPE STRING,
SERVICEPERFORMERNAME TYPE STRING,
STARTDATE TYPE STRING,
ENDDATE TYPE STRING,
/SAPMP/GPOSE TYPE STRING,
/SAPMP/CE_ICON TYPE STRING,
/SAPMP/RECA TYPE STRING,
/SAPMP/ATNAM01 TYPE STRING,
/SAPMP/ATNAM02 TYPE STRING,
/SAPMP/ATNAM03 TYPE STRING,
/SAPMP/ATNAM04 TYPE STRING,
/SAPMP/ATNAM05 TYPE STRING,
/SAPMP/ATNAM06 TYPE STRING,
/SAPMP/ATNAM07 TYPE STRING,
/SAPMP/ATNAM08 TYPE STRING,
/SAPMP/ATNAM09 TYPE STRING,
/SAPMP/ATNAM10 TYPE STRING,
/SAPMP/ATBEZ01 TYPE STRING,
/SAPMP/ATBEZ02 TYPE STRING,
/SAPMP/ATBEZ03 TYPE STRING,
/SAPMP/ATBEZ04 TYPE STRING,
/SAPMP/ATBEZ05 TYPE STRING,
/SAPMP/ATBEZ06 TYPE STRING,
/SAPMP/ATBEZ07 TYPE STRING,
/SAPMP/ATBEZ08 TYPE STRING,
/SAPMP/ATBEZ09 TYPE STRING,
/SAPMP/ATBEZ10 TYPE STRING,
/SAPMP/ATWRT01 TYPE STRING,
/SAPMP/ATWRT02 TYPE STRING,
/SAPMP/ATWRT03 TYPE STRING,
/SAPMP/ATWRT04 TYPE STRING,
/SAPMP/ATWRT05 TYPE STRING,
/SAPMP/ATWRT06 TYPE STRING,
/SAPMP/ATWRT07 TYPE STRING,
/SAPMP/ATWRT08 TYPE STRING,
/SAPMP/ATWRT09 TYPE STRING,
/SAPMP/ATWRT10 TYPE STRING,
/SAPMP/GLPOS TYPE STRING,
/SAPMP/VC_ST TYPE STRING,
/SAPMP/CE_ST TYPE STRING,
/SAPMP/MV_ST TYPE STRING,
SERRU TYPE STRING,
FSH_VAS_REL TYPE STRING,
FSH_VAS_PRNT_ID TYPE STRING,
FSH_TRANSACTION TYPE STRING,
FSH_ITEM_GROUP TYPE STRING,
FSH_ITEM TYPE STRING,
FSH_EXP_COL TYPE STRING,
IUID_RELEVANT TYPE STRING,
WRF_CHARSTC1 TYPE STRING,
WRF_CHARSTC2 TYPE STRING,
WRF_CHARSTC3 TYPE STRING,
WRF_CHARSTC1_TXT TYPE STRING,
WRF_CHARSTC2_TXT TYPE STRING,
WRF_CHARSTC3_TXT TYPE STRING,
TCSELFLAG TYPE STRING,
STATUSICON TYPE STRING,
CHANGED TYPE STRING,
EBELN TYPE STRING,
LPEIN TYPE STRING,
EINDT TYPE STRING,
HANDLE TYPE STRING,
MWSKZ TYPE STRING,END OF T_EKKO_STR. DATA: WA_MEPO1211_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_MEPO1211_STR-EBELP sy-vline
WA_MEPO1211_STR-PSTYP sy-vline
WA_MEPO1211_STR-EPSTP sy-vline
WA_MEPO1211_STR-KNTTP sy-vline
WA_MEPO1211_STR-EMATN sy-vline
WA_MEPO1211_STR-MATNR sy-vline
WA_MEPO1211_STR-MENGE sy-vline
WA_MEPO1211_STR-MEINS sy-vline
WA_MEPO1211_STR-MATKL sy-vline
WA_MEPO1211_STR-WGBEZ sy-vline
WA_MEPO1211_STR-WERKS sy-vline
WA_MEPO1211_STR-NAME1 sy-vline
WA_MEPO1211_STR-LGORT sy-vline
WA_MEPO1211_STR-LGOBE sy-vline
WA_MEPO1211_STR-ELPEI sy-vline
WA_MEPO1211_STR-EEIND sy-vline
WA_MEPO1211_STR-BEDNR sy-vline
WA_MEPO1211_STR-TXZ01 sy-vline
WA_MEPO1211_STR-NETPR sy-vline
WA_MEPO1211_STR-WAERS sy-vline
WA_MEPO1211_STR-PEINH sy-vline
WA_MEPO1211_STR-BPRME sy-vline
WA_MEPO1211_STR-RETPO sy-vline
WA_MEPO1211_STR-CHARG sy-vline
WA_MEPO1211_STR-BWTAR sy-vline
WA_MEPO1211_STR-INFNR sy-vline
WA_MEPO1211_STR-UMSON sy-vline
WA_MEPO1211_STR-TEXTFLAG sy-vline
WA_MEPO1211_STR-BANFN sy-vline
WA_MEPO1211_STR-BNFPO sy-vline
WA_MEPO1211_STR-KONNR sy-vline
WA_MEPO1211_STR-KTPNR sy-vline
WA_MEPO1211_STR-ANFNR sy-vline
WA_MEPO1211_STR-ANFPS sy-vline
WA_MEPO1211_STR-REFBS sy-vline
WA_MEPO1211_STR-REFPS sy-vline
WA_MEPO1211_STR-LOEKZ sy-vline
WA_MEPO1211_STR-AFNAM sy-vline
WA_MEPO1211_STR-EXLIN sy-vline
WA_MEPO1211_STR-UEBPO sy-vline
WA_MEPO1211_STR-UPTYP sy-vline
WA_MEPO1211_STR-RESLO sy-vline
WA_MEPO1211_STR-RESLO_BEZ sy-vline
WA_MEPO1211_STR-PRIO_URG sy-vline
WA_MEPO1211_STR-PRIO_REQ sy-vline
WA_MEPO1211_STR-EMPST sy-vline
WA_MEPO1211_STR-VSART sy-vline
WA_MEPO1211_STR-HANDOVERLOC sy-vline
WA_MEPO1211_STR-EXT_RFX_NUMBER sy-vline
WA_MEPO1211_STR-EXT_RFX_ITEM sy-vline
WA_MEPO1211_STR-SRM_CONTRACT_ID sy-vline
WA_MEPO1211_STR-SRM_CONTRACT_ITM sy-vline
WA_MEPO1211_STR-FIXMG sy-vline
WA_MEPO1211_STR-SGT_SCAT sy-vline
WA_MEPO1211_STR-SGT_RCAT sy-vline
WA_MEPO1211_STR-SERVICEPERFORMER sy-vline
WA_MEPO1211_STR-SERVICEPERFORMERNAME sy-vline
WA_MEPO1211_STR-STARTDATE sy-vline
WA_MEPO1211_STR-ENDDATE sy-vline
WA_MEPO1211_STR-/SAPMP/GPOSE sy-vline
WA_MEPO1211_STR-/SAPMP/CE_ICON sy-vline
WA_MEPO1211_STR-/SAPMP/RECA sy-vline
WA_MEPO1211_STR-/SAPMP/ATNAM01 sy-vline
WA_MEPO1211_STR-/SAPMP/ATNAM02 sy-vline
WA_MEPO1211_STR-/SAPMP/ATNAM03 sy-vline
WA_MEPO1211_STR-/SAPMP/ATNAM04 sy-vline
WA_MEPO1211_STR-/SAPMP/ATNAM05 sy-vline
WA_MEPO1211_STR-/SAPMP/ATNAM06 sy-vline
WA_MEPO1211_STR-/SAPMP/ATNAM07 sy-vline
WA_MEPO1211_STR-/SAPMP/ATNAM08 sy-vline
WA_MEPO1211_STR-/SAPMP/ATNAM09 sy-vline
WA_MEPO1211_STR-/SAPMP/ATNAM10 sy-vline
WA_MEPO1211_STR-/SAPMP/ATBEZ01 sy-vline
WA_MEPO1211_STR-/SAPMP/ATBEZ02 sy-vline
WA_MEPO1211_STR-/SAPMP/ATBEZ03 sy-vline
WA_MEPO1211_STR-/SAPMP/ATBEZ04 sy-vline
WA_MEPO1211_STR-/SAPMP/ATBEZ05 sy-vline
WA_MEPO1211_STR-/SAPMP/ATBEZ06 sy-vline
WA_MEPO1211_STR-/SAPMP/ATBEZ07 sy-vline
WA_MEPO1211_STR-/SAPMP/ATBEZ08 sy-vline
WA_MEPO1211_STR-/SAPMP/ATBEZ09 sy-vline
WA_MEPO1211_STR-/SAPMP/ATBEZ10 sy-vline
WA_MEPO1211_STR-/SAPMP/ATWRT01 sy-vline
WA_MEPO1211_STR-/SAPMP/ATWRT02 sy-vline
WA_MEPO1211_STR-/SAPMP/ATWRT03 sy-vline
WA_MEPO1211_STR-/SAPMP/ATWRT04 sy-vline
WA_MEPO1211_STR-/SAPMP/ATWRT05 sy-vline
WA_MEPO1211_STR-/SAPMP/ATWRT06 sy-vline
WA_MEPO1211_STR-/SAPMP/ATWRT07 sy-vline
WA_MEPO1211_STR-/SAPMP/ATWRT08 sy-vline
WA_MEPO1211_STR-/SAPMP/ATWRT09 sy-vline
WA_MEPO1211_STR-/SAPMP/ATWRT10 sy-vline
WA_MEPO1211_STR-/SAPMP/GLPOS sy-vline
WA_MEPO1211_STR-/SAPMP/VC_ST sy-vline
WA_MEPO1211_STR-/SAPMP/CE_ST sy-vline
WA_MEPO1211_STR-/SAPMP/MV_ST sy-vline
WA_MEPO1211_STR-SERRU sy-vline
WA_MEPO1211_STR-FSH_VAS_REL sy-vline
WA_MEPO1211_STR-FSH_VAS_PRNT_ID sy-vline
WA_MEPO1211_STR-FSH_TRANSACTION sy-vline
WA_MEPO1211_STR-FSH_ITEM_GROUP sy-vline
WA_MEPO1211_STR-FSH_ITEM sy-vline
WA_MEPO1211_STR-FSH_EXP_COL sy-vline
WA_MEPO1211_STR-IUID_RELEVANT sy-vline
WA_MEPO1211_STR-WRF_CHARSTC1 sy-vline
WA_MEPO1211_STR-WRF_CHARSTC2 sy-vline
WA_MEPO1211_STR-WRF_CHARSTC3 sy-vline
WA_MEPO1211_STR-WRF_CHARSTC1_TXT sy-vline
WA_MEPO1211_STR-WRF_CHARSTC2_TXT sy-vline
WA_MEPO1211_STR-WRF_CHARSTC3_TXT sy-vline
WA_MEPO1211_STR-TCSELFLAG sy-vline
WA_MEPO1211_STR-STATUSICON sy-vline
WA_MEPO1211_STR-CHANGED sy-vline
WA_MEPO1211_STR-EBELN sy-vline
WA_MEPO1211_STR-LPEIN sy-vline
WA_MEPO1211_STR-EINDT sy-vline
WA_MEPO1211_STR-HANDLE sy-vline
WA_MEPO1211_STR-MWSKZ sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.