ABAP Select data from SAP table VDHOBJBL 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 VDHOBJBL 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 VDHOBJBL. 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 VDHOBJBL 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_VDHOBJBL TYPE STANDARD TABLE OF VDHOBJBL,
      WA_VDHOBJBL TYPE VDHOBJBL,
      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: <VDHOBJBL> TYPE VDHOBJBL.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM VDHOBJBL
*  INTO TABLE @DATA(IT_VDHOBJBL2).
*--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_VDHOBJBL INDEX 1 INTO DATA(WA_VDHOBJBL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_VDHOBJBL ASSIGNING <VDHOBJBL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<VDHOBJBL>-MANDT = 1.
<VDHOBJBL>-RBLNR = 1.
<VDHOBJBL>-RERF = 1.
<VDHOBJBL>-DERF = 1.
<VDHOBJBL>-TERF = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_VDHOBJBL-REHER, sy-vline,
WA_VDHOBJBL-RBEAR, sy-vline,
WA_VDHOBJBL-DBEAR, sy-vline,
WA_VDHOBJBL-TBEAR, sy-vline,
WA_VDHOBJBL-RBHER, sy-vline,
WA_VDHOBJBL-ROBJNR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_VDHOBJBL 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_VDHOBJBL 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_VDHOBJBL INTO WA_VDHOBJBL. *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 ALPHA, internal->external for field RGUTACHT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VDHOBJBL-RGUTACHT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VDHOBJBL-RGUTACHT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field YBAUJ CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_VDHOBJBL-YBAUJ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VDHOBJBL-YBAUJ.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field YLMOD CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_VDHOBJBL-YLMOD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VDHOBJBL-YLMOD.
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_VDHOBJBL_STR,
MANDT TYPE STRING,
RBLNR TYPE STRING,
RERF TYPE STRING,
DERF TYPE STRING,
TERF TYPE STRING,
REHER TYPE STRING,
RBEAR TYPE STRING,
DBEAR TYPE STRING,
TBEAR TYPE STRING,
RBHER TYPE STRING,
ROBJNR TYPE STRING,
JWTEIG TYPE STRING,
RGUTACHT TYPE STRING,
DGUTDAT TYPE STRING,
JFRGUT TYPE STRING,
BVERKEHR TYPE STRING,
SBELWHR TYPE STRING,
BBELEIH TYPE STRING,
BSACH TYPE STRING,
BVERKAUF TYPE STRING,
BALTWMIN TYPE STRING,
BAUFMOD TYPE STRING,
YBAUJ TYPE STRING,
BBAUWMIN TYPE STRING,
BBLABZ TYPE STRING,
BBLVNABZ TYPE STRING,
BBLVTAX TYPE STRING,
BBLVVABZ TYPE STRING,
XBEMERK TYPE STRING,
DBESICHT TYPE STRING,
BKAUFPR TYPE STRING,
BSELBST TYPE STRING,
SBWART TYPE STRING,
SBWST TYPE STRING,
DAUFER TYPE STRING,
DBLFEST TYPE STRING,
DKAUF TYPE STRING,
DWEPRUEF TYPE STRING,
BOBJWERT TYPE STRING,
YLMOD TYPE STRING,
PFERTIG TYPE STRING,
XGEBURTEIL TYPE STRING,
XGESAMT TYPE STRING,
BA2MIND TYPE STRING,
BHEREGS TYPE STRING,
BHERIGS TYPE STRING,
BMIET TYPE STRING,
SALTLAST TYPE STRING,
SALWMIND TYPE STRING,
SBEURT TYPE STRING,
SBLPR TYPE STRING,
SBLWMIND TYPE STRING,
SBLRISI TYPE STRING,
SAOBJ TYPE STRING,
SEIGEN TYPE STRING,
SRENOV TYPE STRING,
SGEBURT TYPE STRING,
SOBJGES TYPE STRING,
SA2WMIND TYPE STRING,
SA2OK TYPE STRING,
SKAUFPR TYPE STRING,
SLAGE TYPE STRING,
SLEER TYPE STRING,
SMIETNW TYPE STRING,
SZUWEG TYPE STRING,
SSELANT TYPE STRING,
SSTARB TYPE STRING,
XLAST TYPE STRING,
XLAGE TYPE STRING,
SOBJART TYPE STRING,
AJRLFZ TYPE STRING,
DIMIETE TYPE STRING,
XLAST1 TYPE STRING,
XLAGE1 TYPE STRING,
XBEMERK1 TYPE STRING,
XGESAMT1 TYPE STRING,
XGEBURT1 TYPE STRING,
SFGKZ TYPE STRING,
BMITTEL TYPE STRING,
NHK TYPE STRING,
BSACH_FAKTOR TYPE STRING,
BSACH_ANGP TYPE STRING,
BSACH_BELWE TYPE STRING,
BWERT_GS_MERK TYPE STRING,END OF T_EKKO_STR. DATA: WA_VDHOBJBL_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_VDHOBJBL_STR-MANDT sy-vline
WA_VDHOBJBL_STR-RBLNR sy-vline
WA_VDHOBJBL_STR-RERF sy-vline
WA_VDHOBJBL_STR-DERF sy-vline
WA_VDHOBJBL_STR-TERF sy-vline
WA_VDHOBJBL_STR-REHER sy-vline
WA_VDHOBJBL_STR-RBEAR sy-vline
WA_VDHOBJBL_STR-DBEAR sy-vline
WA_VDHOBJBL_STR-TBEAR sy-vline
WA_VDHOBJBL_STR-RBHER sy-vline
WA_VDHOBJBL_STR-ROBJNR sy-vline
WA_VDHOBJBL_STR-JWTEIG sy-vline
WA_VDHOBJBL_STR-RGUTACHT sy-vline
WA_VDHOBJBL_STR-DGUTDAT sy-vline
WA_VDHOBJBL_STR-JFRGUT sy-vline
WA_VDHOBJBL_STR-BVERKEHR sy-vline
WA_VDHOBJBL_STR-SBELWHR sy-vline
WA_VDHOBJBL_STR-BBELEIH sy-vline
WA_VDHOBJBL_STR-BSACH sy-vline
WA_VDHOBJBL_STR-BVERKAUF sy-vline
WA_VDHOBJBL_STR-BALTWMIN sy-vline
WA_VDHOBJBL_STR-BAUFMOD sy-vline
WA_VDHOBJBL_STR-YBAUJ sy-vline
WA_VDHOBJBL_STR-BBAUWMIN sy-vline
WA_VDHOBJBL_STR-BBLABZ sy-vline
WA_VDHOBJBL_STR-BBLVNABZ sy-vline
WA_VDHOBJBL_STR-BBLVTAX sy-vline
WA_VDHOBJBL_STR-BBLVVABZ sy-vline
WA_VDHOBJBL_STR-XBEMERK sy-vline
WA_VDHOBJBL_STR-DBESICHT sy-vline
WA_VDHOBJBL_STR-BKAUFPR sy-vline
WA_VDHOBJBL_STR-BSELBST sy-vline
WA_VDHOBJBL_STR-SBWART sy-vline
WA_VDHOBJBL_STR-SBWST sy-vline
WA_VDHOBJBL_STR-DAUFER sy-vline
WA_VDHOBJBL_STR-DBLFEST sy-vline
WA_VDHOBJBL_STR-DKAUF sy-vline
WA_VDHOBJBL_STR-DWEPRUEF sy-vline
WA_VDHOBJBL_STR-BOBJWERT sy-vline
WA_VDHOBJBL_STR-YLMOD sy-vline
WA_VDHOBJBL_STR-PFERTIG sy-vline
WA_VDHOBJBL_STR-XGEBURTEIL sy-vline
WA_VDHOBJBL_STR-XGESAMT sy-vline
WA_VDHOBJBL_STR-BA2MIND sy-vline
WA_VDHOBJBL_STR-BHEREGS sy-vline
WA_VDHOBJBL_STR-BHERIGS sy-vline
WA_VDHOBJBL_STR-BMIET sy-vline
WA_VDHOBJBL_STR-SALTLAST sy-vline
WA_VDHOBJBL_STR-SALWMIND sy-vline
WA_VDHOBJBL_STR-SBEURT sy-vline
WA_VDHOBJBL_STR-SBLPR sy-vline
WA_VDHOBJBL_STR-SBLWMIND sy-vline
WA_VDHOBJBL_STR-SBLRISI sy-vline
WA_VDHOBJBL_STR-SAOBJ sy-vline
WA_VDHOBJBL_STR-SEIGEN sy-vline
WA_VDHOBJBL_STR-SRENOV sy-vline
WA_VDHOBJBL_STR-SGEBURT sy-vline
WA_VDHOBJBL_STR-SOBJGES sy-vline
WA_VDHOBJBL_STR-SA2WMIND sy-vline
WA_VDHOBJBL_STR-SA2OK sy-vline
WA_VDHOBJBL_STR-SKAUFPR sy-vline
WA_VDHOBJBL_STR-SLAGE sy-vline
WA_VDHOBJBL_STR-SLEER sy-vline
WA_VDHOBJBL_STR-SMIETNW sy-vline
WA_VDHOBJBL_STR-SZUWEG sy-vline
WA_VDHOBJBL_STR-SSELANT sy-vline
WA_VDHOBJBL_STR-SSTARB sy-vline
WA_VDHOBJBL_STR-XLAST sy-vline
WA_VDHOBJBL_STR-XLAGE sy-vline
WA_VDHOBJBL_STR-SOBJART sy-vline
WA_VDHOBJBL_STR-AJRLFZ sy-vline
WA_VDHOBJBL_STR-DIMIETE sy-vline
WA_VDHOBJBL_STR-XLAST1 sy-vline
WA_VDHOBJBL_STR-XLAGE1 sy-vline
WA_VDHOBJBL_STR-XBEMERK1 sy-vline
WA_VDHOBJBL_STR-XGESAMT1 sy-vline
WA_VDHOBJBL_STR-XGEBURT1 sy-vline
WA_VDHOBJBL_STR-SFGKZ sy-vline
WA_VDHOBJBL_STR-BMITTEL sy-vline
WA_VDHOBJBL_STR-NHK sy-vline
WA_VDHOBJBL_STR-BSACH_FAKTOR sy-vline
WA_VDHOBJBL_STR-BSACH_ANGP sy-vline
WA_VDHOBJBL_STR-BSACH_BELWE sy-vline
WA_VDHOBJBL_STR-BWERT_GS_MERK sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.