ABAP Select data from SAP table JBIUVTMD 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 JBIUVTMD 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 JBIUVTMD. 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 JBIUVTMD 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_JBIUVTMD TYPE STANDARD TABLE OF JBIUVTMD,
      WA_JBIUVTMD TYPE JBIUVTMD,
      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: <JBIUVTMD> TYPE JBIUVTMD.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM JBIUVTMD
*  INTO TABLE @DATA(IT_JBIUVTMD2).
*--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_JBIUVTMD INDEX 1 INTO DATA(WA_JBIUVTMD2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_JBIUVTMD ASSIGNING <JBIUVTMD>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<JBIUVTMD>-AKTYP = 1.
<JBIUVTMD>-COM_CODE = 1.
<JBIUVTMD>-VTNUM = 1.
<JBIUVTMD>-CHIND_VTMD = 1.
<JBIUVTMD>-VTNAME = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_JBIUVTMD-VTBEG, sy-vline,
WA_JBIUVTMD-VTEND, sy-vline,
WA_JBIUVTMD-VTCURR, sy-vline,
WA_JBIUVTMD-PARTNER, sy-vline,
WA_JBIUVTMD-BPEXT, sy-vline,
WA_JBIUVTMD-CNDLIST, sy-vline.
ENDLOOP. *Add any further fields from structure WA_JBIUVTMD 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_JBIUVTMD 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_JBIUVTMD INTO WA_JBIUVTMD. *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 PARTNER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_JBIUVTMD-PARTNER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_JBIUVTMD-PARTNER.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

*Conversion exit LEDBO, internal->external for field PALEDGER CALL FUNCTION 'CONVERSION_EXIT_LEDBO_OUTPUT' EXPORTING input = WA_JBIUVTMD-PALEDGER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_JBIUVTMD-PALEDGER.
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_JBIUVTMD_STR,
AKTYP TYPE STRING,
COM_CODE TYPE STRING,
VTNUM TYPE STRING,
CHIND_VTMD TYPE STRING,
VTNAME TYPE STRING,
VTBEG TYPE STRING,
VTEND TYPE STRING,
VTCURR TYPE STRING,
PARTNER TYPE STRING,
BPEXT TYPE STRING,
CNDLIST TYPE STRING,
RCN_FLG TYPE STRING,
CHIND_VTVM TYPE STRING,
VM_VALID_FROM TYPE STRING,
VAL_MAIN TYPE STRING,
CHIND_VTGL TYPE STRING,
GL_VALID_FROM TYPE STRING,
RLDNR TYPE STRING,
RVERS TYPE STRING,
CHIND_VTGLAC TYPE STRING,
SAKNRV TYPE STRING,
SAKNRB TYPE STRING,
CHIND_VTCH TYPE STRING,
DGUEL_KK TYPE STRING,
SZBMETH TYPE STRING,
CHIND_VTCP TYPE STRING,
DGUEL_KP TYPE STRING,
SKOART TYPE STRING,
NSTUFE TYPE STRING,
PKOND TYPE STRING,
BKOND TYPE STRING,
DVALUT TYPE STRING,
DPKOND TYPE STRING,
BZIGRE TYPE STRING,
SZIGRE TYPE STRING,
NOZGEW TYPE STRING,
XOZGEW TYPE STRING,
POZGEW TYPE STRING,
CHIND_VTLD TYPE STRING,
LD_VALID_FROM TYPE STRING,
CHIND_VTLD_PS TYPE STRING,
CRQU_TYPE TYPE STRING,
RUNIT TYPE STRING,
BAL_TYPE TYPE STRING,
REVSIGN TYPE STRING,
PALEDGER TYPE STRING,
VF_NAME TYPE STRING,
LD_POS_NR TYPE STRING,
PA_REVSIGN TYPE STRING,
IS_RISK_RELEVANT TYPE STRING,
CHIND_VTLD_SD TYPE STRING,
LD_DIM_FIELDNAME TYPE STRING,
LD_DIM_FROM TYPE STRING,
LD_DIM_TO TYPE STRING,
LD_DIM_SETNAME TYPE STRING,
CHIND_VTPA_SC TYPE STRING,
PA_CHAR_FIELDNAM TYPE STRING,
PA_CHAR_FROM TYPE STRING,
PA_CHAR_TO TYPE STRING,
PA_CHAR_SETNAME TYPE STRING,END OF T_EKKO_STR. DATA: WA_JBIUVTMD_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_JBIUVTMD_STR-AKTYP sy-vline
WA_JBIUVTMD_STR-COM_CODE sy-vline
WA_JBIUVTMD_STR-VTNUM sy-vline
WA_JBIUVTMD_STR-CHIND_VTMD sy-vline
WA_JBIUVTMD_STR-VTNAME sy-vline
WA_JBIUVTMD_STR-VTBEG sy-vline
WA_JBIUVTMD_STR-VTEND sy-vline
WA_JBIUVTMD_STR-VTCURR sy-vline
WA_JBIUVTMD_STR-PARTNER sy-vline
WA_JBIUVTMD_STR-BPEXT sy-vline
WA_JBIUVTMD_STR-CNDLIST sy-vline
WA_JBIUVTMD_STR-RCN_FLG sy-vline
WA_JBIUVTMD_STR-CHIND_VTVM sy-vline
WA_JBIUVTMD_STR-VM_VALID_FROM sy-vline
WA_JBIUVTMD_STR-VAL_MAIN sy-vline
WA_JBIUVTMD_STR-CHIND_VTGL sy-vline
WA_JBIUVTMD_STR-GL_VALID_FROM sy-vline
WA_JBIUVTMD_STR-RLDNR sy-vline
WA_JBIUVTMD_STR-RVERS sy-vline
WA_JBIUVTMD_STR-CHIND_VTGLAC sy-vline
WA_JBIUVTMD_STR-SAKNRV sy-vline
WA_JBIUVTMD_STR-SAKNRB sy-vline
WA_JBIUVTMD_STR-CHIND_VTCH sy-vline
WA_JBIUVTMD_STR-DGUEL_KK sy-vline
WA_JBIUVTMD_STR-SZBMETH sy-vline
WA_JBIUVTMD_STR-CHIND_VTCP sy-vline
WA_JBIUVTMD_STR-DGUEL_KP sy-vline
WA_JBIUVTMD_STR-SKOART sy-vline
WA_JBIUVTMD_STR-NSTUFE sy-vline
WA_JBIUVTMD_STR-PKOND sy-vline
WA_JBIUVTMD_STR-BKOND sy-vline
WA_JBIUVTMD_STR-DVALUT sy-vline
WA_JBIUVTMD_STR-DPKOND sy-vline
WA_JBIUVTMD_STR-BZIGRE sy-vline
WA_JBIUVTMD_STR-SZIGRE sy-vline
WA_JBIUVTMD_STR-NOZGEW sy-vline
WA_JBIUVTMD_STR-XOZGEW sy-vline
WA_JBIUVTMD_STR-POZGEW sy-vline
WA_JBIUVTMD_STR-CHIND_VTLD sy-vline
WA_JBIUVTMD_STR-LD_VALID_FROM sy-vline
WA_JBIUVTMD_STR-CHIND_VTLD_PS sy-vline
WA_JBIUVTMD_STR-CRQU_TYPE sy-vline
WA_JBIUVTMD_STR-RUNIT sy-vline
WA_JBIUVTMD_STR-BAL_TYPE sy-vline
WA_JBIUVTMD_STR-REVSIGN sy-vline
WA_JBIUVTMD_STR-PALEDGER sy-vline
WA_JBIUVTMD_STR-VF_NAME sy-vline
WA_JBIUVTMD_STR-LD_POS_NR sy-vline
WA_JBIUVTMD_STR-PA_REVSIGN sy-vline
WA_JBIUVTMD_STR-IS_RISK_RELEVANT sy-vline
WA_JBIUVTMD_STR-CHIND_VTLD_SD sy-vline
WA_JBIUVTMD_STR-LD_DIM_FIELDNAME sy-vline
WA_JBIUVTMD_STR-LD_DIM_FROM sy-vline
WA_JBIUVTMD_STR-LD_DIM_TO sy-vline
WA_JBIUVTMD_STR-LD_DIM_SETNAME sy-vline
WA_JBIUVTMD_STR-CHIND_VTPA_SC sy-vline
WA_JBIUVTMD_STR-PA_CHAR_FIELDNAM sy-vline
WA_JBIUVTMD_STR-PA_CHAR_FROM sy-vline
WA_JBIUVTMD_STR-PA_CHAR_TO sy-vline
WA_JBIUVTMD_STR-PA_CHAR_SETNAME sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.