ABAP Select data from SAP table VBWP 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 VBWP 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 VBWP. 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 VBWP 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_VBWP TYPE STANDARD TABLE OF VBWP,
      WA_VBWP TYPE VBWP,
      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: <VBWP> TYPE VBWP.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM VBWP
*  INTO TABLE @DATA(IT_VBWP2).
*--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_VBWP INDEX 1 INTO DATA(WA_VBWP2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_VBWP ASSIGNING <VBWP>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<VBWP>-MATNR = 1.
<VBWP>-WERKS = 1.
<VBWP>-KZMEL = 1.
<VBWP>-PERKZ = 1.
<VBWP>-ANZPR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_VBWP-LGRAD, sy-vline,
WA_VBWP-PRMAD, sy-vline,
WA_VBWP-RUEZT, sy-vline,
WA_VBWP-TRANZ, sy-vline,
WA_VBWP-DZEIT, sy-vline,
WA_VBWP-BSART, sy-vline.
ENDLOOP. *Add any further fields from structure WA_VBWP 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_VBWP 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_VBWP INTO WA_VBWP. *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 MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_VBWP-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VBWP-MATNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field FLIEF CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VBWP-FLIEF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VBWP-FLIEF.
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_VBWP_STR,
MATNR TYPE STRING,
WERKS TYPE STRING,
KZMEL TYPE STRING,
PERKZ TYPE STRING,
ANZPR TYPE STRING,
LGRAD TYPE STRING,
PRMAD TYPE STRING,
RUEZT TYPE STRING,
TRANZ TYPE STRING,
DZEIT TYPE STRING,
BSART TYPE STRING,
BEARZ TYPE STRING,
BASMG TYPE STRING,
PLIFZ TYPE STRING,
WEBAZ TYPE STRING,
FLIEF TYPE STRING,
BSTMI TYPE STRING,
BSTMA TYPE STRING,
BSTFE TYPE STRING,
MIBEF TYPE STRING,
FHORI TYPE STRING,
ERHOR TYPE STRING,
BZTEK TYPE STRING,
PRW01 TYPE STRING,
PRW02 TYPE STRING,
PRW03 TYPE STRING,
PRW04 TYPE STRING,
PRW05 TYPE STRING,
PRW06 TYPE STRING,
PRW07 TYPE STRING,
PRW08 TYPE STRING,
PRW09 TYPE STRING,
PRW10 TYPE STRING,
PRW11 TYPE STRING,
PRW12 TYPE STRING,
PRW13 TYPE STRING,
PRW14 TYPE STRING,
PRW15 TYPE STRING,
PRW16 TYPE STRING,
PRW17 TYPE STRING,
PRW18 TYPE STRING,
PRW19 TYPE STRING,
PRW20 TYPE STRING,
PRW21 TYPE STRING,
PRW22 TYPE STRING,
PRW23 TYPE STRING,
PRW24 TYPE STRING,
PRW25 TYPE STRING,
PRW26 TYPE STRING,
PRW27 TYPE STRING,
PRW28 TYPE STRING,
PRW29 TYPE STRING,
PRW30 TYPE STRING,
PRW31 TYPE STRING,
PRW32 TYPE STRING,
PRW33 TYPE STRING,
PRW34 TYPE STRING,
PRW35 TYPE STRING,
PRW36 TYPE STRING,
PRW37 TYPE STRING,
PRW38 TYPE STRING,
PRW39 TYPE STRING,
PRW40 TYPE STRING,
PRW41 TYPE STRING,
PRW42 TYPE STRING,
PRW43 TYPE STRING,
PRW44 TYPE STRING,
PRW45 TYPE STRING,
PRW46 TYPE STRING,
PRW47 TYPE STRING,
PRW48 TYPE STRING,
PRW49 TYPE STRING,
PRW50 TYPE STRING,
PRW51 TYPE STRING,
PRW52 TYPE STRING,
PRW53 TYPE STRING,
PRW54 TYPE STRING,
PRW55 TYPE STRING,
PRW56 TYPE STRING,
PRW57 TYPE STRING,
PRW58 TYPE STRING,
PRW59 TYPE STRING,
PRW60 TYPE STRING,
KPR01 TYPE STRING,
KPR02 TYPE STRING,
KPR03 TYPE STRING,
KPR04 TYPE STRING,
KPR05 TYPE STRING,
KPR06 TYPE STRING,
KPR07 TYPE STRING,
KPR08 TYPE STRING,
KPR09 TYPE STRING,
KPR10 TYPE STRING,
KPR11 TYPE STRING,
KPR12 TYPE STRING,
KPR13 TYPE STRING,
KPR14 TYPE STRING,
KPR15 TYPE STRING,
KPR16 TYPE STRING,
KPR17 TYPE STRING,
KPR18 TYPE STRING,
KPR19 TYPE STRING,
KPR20 TYPE STRING,
KPR21 TYPE STRING,
KPR22 TYPE STRING,
KPR23 TYPE STRING,
KPR24 TYPE STRING,
KPR25 TYPE STRING,
KPR26 TYPE STRING,
KPR27 TYPE STRING,
KPR28 TYPE STRING,
KPR29 TYPE STRING,
KPR30 TYPE STRING,
KPR31 TYPE STRING,
KPR32 TYPE STRING,
KPR33 TYPE STRING,
KPR34 TYPE STRING,
KPR35 TYPE STRING,
KPR36 TYPE STRING,
KPR37 TYPE STRING,
KPR38 TYPE STRING,
KPR39 TYPE STRING,
KPR40 TYPE STRING,
KPR41 TYPE STRING,
KPR42 TYPE STRING,
KPR43 TYPE STRING,
KPR44 TYPE STRING,
KPR45 TYPE STRING,
KPR46 TYPE STRING,
KPR47 TYPE STRING,
KPR48 TYPE STRING,
KPR49 TYPE STRING,
KPR50 TYPE STRING,
KPR51 TYPE STRING,
KPR52 TYPE STRING,
KPR53 TYPE STRING,
KPR54 TYPE STRING,
KPR55 TYPE STRING,
KPR56 TYPE STRING,
KPR57 TYPE STRING,
KPR58 TYPE STRING,
KPR59 TYPE STRING,
KPR60 TYPE STRING,END OF T_EKKO_STR. DATA: WA_VBWP_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_VBWP_STR-MATNR sy-vline
WA_VBWP_STR-WERKS sy-vline
WA_VBWP_STR-KZMEL sy-vline
WA_VBWP_STR-PERKZ sy-vline
WA_VBWP_STR-ANZPR sy-vline
WA_VBWP_STR-LGRAD sy-vline
WA_VBWP_STR-PRMAD sy-vline
WA_VBWP_STR-RUEZT sy-vline
WA_VBWP_STR-TRANZ sy-vline
WA_VBWP_STR-DZEIT sy-vline
WA_VBWP_STR-BSART sy-vline
WA_VBWP_STR-BEARZ sy-vline
WA_VBWP_STR-BASMG sy-vline
WA_VBWP_STR-PLIFZ sy-vline
WA_VBWP_STR-WEBAZ sy-vline
WA_VBWP_STR-FLIEF sy-vline
WA_VBWP_STR-BSTMI sy-vline
WA_VBWP_STR-BSTMA sy-vline
WA_VBWP_STR-BSTFE sy-vline
WA_VBWP_STR-MIBEF sy-vline
WA_VBWP_STR-FHORI sy-vline
WA_VBWP_STR-ERHOR sy-vline
WA_VBWP_STR-BZTEK sy-vline
WA_VBWP_STR-PRW01 sy-vline
WA_VBWP_STR-PRW02 sy-vline
WA_VBWP_STR-PRW03 sy-vline
WA_VBWP_STR-PRW04 sy-vline
WA_VBWP_STR-PRW05 sy-vline
WA_VBWP_STR-PRW06 sy-vline
WA_VBWP_STR-PRW07 sy-vline
WA_VBWP_STR-PRW08 sy-vline
WA_VBWP_STR-PRW09 sy-vline
WA_VBWP_STR-PRW10 sy-vline
WA_VBWP_STR-PRW11 sy-vline
WA_VBWP_STR-PRW12 sy-vline
WA_VBWP_STR-PRW13 sy-vline
WA_VBWP_STR-PRW14 sy-vline
WA_VBWP_STR-PRW15 sy-vline
WA_VBWP_STR-PRW16 sy-vline
WA_VBWP_STR-PRW17 sy-vline
WA_VBWP_STR-PRW18 sy-vline
WA_VBWP_STR-PRW19 sy-vline
WA_VBWP_STR-PRW20 sy-vline
WA_VBWP_STR-PRW21 sy-vline
WA_VBWP_STR-PRW22 sy-vline
WA_VBWP_STR-PRW23 sy-vline
WA_VBWP_STR-PRW24 sy-vline
WA_VBWP_STR-PRW25 sy-vline
WA_VBWP_STR-PRW26 sy-vline
WA_VBWP_STR-PRW27 sy-vline
WA_VBWP_STR-PRW28 sy-vline
WA_VBWP_STR-PRW29 sy-vline
WA_VBWP_STR-PRW30 sy-vline
WA_VBWP_STR-PRW31 sy-vline
WA_VBWP_STR-PRW32 sy-vline
WA_VBWP_STR-PRW33 sy-vline
WA_VBWP_STR-PRW34 sy-vline
WA_VBWP_STR-PRW35 sy-vline
WA_VBWP_STR-PRW36 sy-vline
WA_VBWP_STR-PRW37 sy-vline
WA_VBWP_STR-PRW38 sy-vline
WA_VBWP_STR-PRW39 sy-vline
WA_VBWP_STR-PRW40 sy-vline
WA_VBWP_STR-PRW41 sy-vline
WA_VBWP_STR-PRW42 sy-vline
WA_VBWP_STR-PRW43 sy-vline
WA_VBWP_STR-PRW44 sy-vline
WA_VBWP_STR-PRW45 sy-vline
WA_VBWP_STR-PRW46 sy-vline
WA_VBWP_STR-PRW47 sy-vline
WA_VBWP_STR-PRW48 sy-vline
WA_VBWP_STR-PRW49 sy-vline
WA_VBWP_STR-PRW50 sy-vline
WA_VBWP_STR-PRW51 sy-vline
WA_VBWP_STR-PRW52 sy-vline
WA_VBWP_STR-PRW53 sy-vline
WA_VBWP_STR-PRW54 sy-vline
WA_VBWP_STR-PRW55 sy-vline
WA_VBWP_STR-PRW56 sy-vline
WA_VBWP_STR-PRW57 sy-vline
WA_VBWP_STR-PRW58 sy-vline
WA_VBWP_STR-PRW59 sy-vline
WA_VBWP_STR-PRW60 sy-vline
WA_VBWP_STR-KPR01 sy-vline
WA_VBWP_STR-KPR02 sy-vline
WA_VBWP_STR-KPR03 sy-vline
WA_VBWP_STR-KPR04 sy-vline
WA_VBWP_STR-KPR05 sy-vline
WA_VBWP_STR-KPR06 sy-vline
WA_VBWP_STR-KPR07 sy-vline
WA_VBWP_STR-KPR08 sy-vline
WA_VBWP_STR-KPR09 sy-vline
WA_VBWP_STR-KPR10 sy-vline
WA_VBWP_STR-KPR11 sy-vline
WA_VBWP_STR-KPR12 sy-vline
WA_VBWP_STR-KPR13 sy-vline
WA_VBWP_STR-KPR14 sy-vline
WA_VBWP_STR-KPR15 sy-vline
WA_VBWP_STR-KPR16 sy-vline
WA_VBWP_STR-KPR17 sy-vline
WA_VBWP_STR-KPR18 sy-vline
WA_VBWP_STR-KPR19 sy-vline
WA_VBWP_STR-KPR20 sy-vline
WA_VBWP_STR-KPR21 sy-vline
WA_VBWP_STR-KPR22 sy-vline
WA_VBWP_STR-KPR23 sy-vline
WA_VBWP_STR-KPR24 sy-vline
WA_VBWP_STR-KPR25 sy-vline
WA_VBWP_STR-KPR26 sy-vline
WA_VBWP_STR-KPR27 sy-vline
WA_VBWP_STR-KPR28 sy-vline
WA_VBWP_STR-KPR29 sy-vline
WA_VBWP_STR-KPR30 sy-vline
WA_VBWP_STR-KPR31 sy-vline
WA_VBWP_STR-KPR32 sy-vline
WA_VBWP_STR-KPR33 sy-vline
WA_VBWP_STR-KPR34 sy-vline
WA_VBWP_STR-KPR35 sy-vline
WA_VBWP_STR-KPR36 sy-vline
WA_VBWP_STR-KPR37 sy-vline
WA_VBWP_STR-KPR38 sy-vline
WA_VBWP_STR-KPR39 sy-vline
WA_VBWP_STR-KPR40 sy-vline
WA_VBWP_STR-KPR41 sy-vline
WA_VBWP_STR-KPR42 sy-vline
WA_VBWP_STR-KPR43 sy-vline
WA_VBWP_STR-KPR44 sy-vline
WA_VBWP_STR-KPR45 sy-vline
WA_VBWP_STR-KPR46 sy-vline
WA_VBWP_STR-KPR47 sy-vline
WA_VBWP_STR-KPR48 sy-vline
WA_VBWP_STR-KPR49 sy-vline
WA_VBWP_STR-KPR50 sy-vline
WA_VBWP_STR-KPR51 sy-vline
WA_VBWP_STR-KPR52 sy-vline
WA_VBWP_STR-KPR53 sy-vline
WA_VBWP_STR-KPR54 sy-vline
WA_VBWP_STR-KPR55 sy-vline
WA_VBWP_STR-KPR56 sy-vline
WA_VBWP_STR-KPR57 sy-vline
WA_VBWP_STR-KPR58 sy-vline
WA_VBWP_STR-KPR59 sy-vline
WA_VBWP_STR-KPR60 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.