ABAP Select data from SAP table VTG_REP_COMM_DRAW_FEE 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 VTG_REP_COMM_DRAW_FEE 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 VTG_REP_COMM_DRAW_FEE. 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 VTG_REP_COMM_DRAW_FEE 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_VTG_REP_COMM_DRAW_FEE TYPE STANDARD TABLE OF VTG_REP_COMM_DRAW_FEE,
      WA_VTG_REP_COMM_DRAW_FEE TYPE VTG_REP_COMM_DRAW_FEE,
      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: <VTG_REP_COMM_DRAW_FEE> TYPE VTG_REP_COMM_DRAW_FEE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM VTG_REP_COMM_DRAW_FEE
*  INTO TABLE @DATA(IT_VTG_REP_COMM_DRAW_FEE2).
*--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_VTG_REP_COMM_DRAW_FEE INDEX 1 INTO DATA(WA_VTG_REP_COMM_DRAW_FEE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_VTG_REP_COMM_DRAW_FEE ASSIGNING <VTG_REP_COMM_DRAW_FEE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<VTG_REP_COMM_DRAW_FEE>-MANDT = 1.
<VTG_REP_COMM_DRAW_FEE>-ICON = 1.
<VTG_REP_COMM_DRAW_FEE>-CONTEXT = 1.
<VTG_REP_COMM_DRAW_FEE>-VALID = 1.
<VTG_REP_COMM_DRAW_FEE>-BUKRS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_VTG_REP_COMM_DRAW_FEE-BUTXT, sy-vline,
WA_VTG_REP_COMM_DRAW_FEE-RFHA, sy-vline,
WA_VTG_REP_COMM_DRAW_FEE-SANLF, sy-vline,
WA_VTG_REP_COMM_DRAW_FEE-SFGTYP, sy-vline,
WA_VTG_REP_COMM_DRAW_FEE-XTEXT2, sy-vline,
WA_VTG_REP_COMM_DRAW_FEE-SGSART, sy-vline.
ENDLOOP. *Add any further fields from structure WA_VTG_REP_COMM_DRAW_FEE 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_VTG_REP_COMM_DRAW_FEE 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_VTG_REP_COMM_DRAW_FEE INTO WA_VTG_REP_COMM_DRAW_FEE. *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 RFHA CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VTG_REP_COMM_DRAW_FEE-RFHA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VTG_REP_COMM_DRAW_FEE-RFHA.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit ALPHA, internal->external for field DRAWING_RFHA CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VTG_REP_COMM_DRAW_FEE-DRAWING_RFHA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VTG_REP_COMM_DRAW_FEE-DRAWING_RFHA.
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_VTG_REP_COMM_DRAW_FEE_STR,
MANDT TYPE STRING,
ICON TYPE STRING,
CONTEXT TYPE STRING,
VALID TYPE STRING,
BUKRS TYPE STRING,
BUTXT TYPE STRING,
RFHA TYPE STRING,
SANLF TYPE STRING,
SFGTYP TYPE STRING,
XTEXT2 TYPE STRING,
SGSART TYPE STRING,
LTXKURZ TYPE STRING,
SFHAART TYPE STRING,
XTEXT TYPE STRING,
RLDEPO TYPE STRING,
KONTRH TYPE STRING,
DCRDAT TYPE STRING,
CRUSER TYPE STRING,
DBLFZ TYPE STRING,
DELFZ TYPE STRING,
SINCLE TYPE STRING,
SAKTIV TYPE STRING,
WGSCHFT TYPE STRING,
RFHAZUL TYPE STRING,
RDEALER TYPE STRING,
NORDEXT TYPE STRING,
RPORTB TYPE STRING,
ZUONR TYPE STRING,
ZUOND TYPE STRING,
REFER TYPE STRING,
MERKM TYPE STRING,
UPUSER TYPE STRING,
DUPDAT TYPE STRING,
PARTNER TYPE STRING,
CRED_LINE TYPE STRING,
CRED_LINE_TX TYPE STRING,
COMM_DATE TYPE STRING,
COMM_PRM_ORIG TYPE STRING,
COMM_SEC_ORIG TYPE STRING,
UTIL_ORIG TYPE STRING,
NO_UTIL_ORIG TYPE STRING,
COMM_CURR_ORIG TYPE STRING,
COMM_PRM_DIS TYPE STRING,
COMM_SEC_DIS TYPE STRING,
COMM_TOT_DIS TYPE STRING,
UTIL_DIS TYPE STRING,
UTIL_DIS_PC TYPE STRING,
NO_UTIL_DIS TYPE STRING,
NO_UTIL_DIS_PC TYPE STRING,
COMM_CURR_DIS TYPE STRING,
DRAWING_BUKRS TYPE STRING,
DRAWING_RFHA TYPE STRING,
DRAW_AM_ORIG TYPE STRING,
DRAW_CURR_ORIG TYPE STRING,
DRAW_AM_DIS TYPE STRING,
DRAW_CURR_DIS TYPE STRING,
RFHAZU TYPE STRING,
RFHAZB TYPE STRING,
TCRTIM TYPE STRING,
XBEWART TYPE STRING,
PKOND TYPE STRING,
DBERVON TYPE STRING,
DBERBIS TYPE STRING,
DZTERM TYPE STRING,
BGUEL_KP TYPE STRING,
FEE_AM_ORIG TYPE STRING,
FEE_CURR_ORIG TYPE STRING,
BGUEL_KP_DIS TYPE STRING,
FEE_AM_DIS TYPE STRING,
FEE_CURR_DIS TYPE STRING,
DRAW_AM_POS TYPE STRING,
DRAW_CURR_POS TYPE STRING,
PARENT_CRED_LINE TYPE STRING,
PARENT_CRED_LINE_TX TYPE STRING,
OVERDRAWN_DIS TYPE STRING,
OVERDRAWN_DIS_PC TYPE STRING,END OF T_EKKO_STR. DATA: WA_VTG_REP_COMM_DRAW_FEE_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_VTG_REP_COMM_DRAW_FEE_STR-MANDT sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-ICON sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-CONTEXT sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-VALID sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-BUKRS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-BUTXT sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-RFHA sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-SANLF sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-SFGTYP sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-XTEXT2 sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-SGSART sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-LTXKURZ sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-SFHAART sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-XTEXT sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-RLDEPO sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-KONTRH sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DCRDAT sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-CRUSER sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DBLFZ sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DELFZ sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-SINCLE sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-SAKTIV sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-WGSCHFT sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-RFHAZUL sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-RDEALER sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-NORDEXT sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-RPORTB sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-ZUONR sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-ZUOND sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-REFER sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-MERKM sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-UPUSER sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DUPDAT sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-PARTNER sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-CRED_LINE sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-CRED_LINE_TX sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-COMM_DATE sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-COMM_PRM_ORIG sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-COMM_SEC_ORIG sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-UTIL_ORIG sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-NO_UTIL_ORIG sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-COMM_CURR_ORIG sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-COMM_PRM_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-COMM_SEC_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-COMM_TOT_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-UTIL_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-UTIL_DIS_PC sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-NO_UTIL_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-NO_UTIL_DIS_PC sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-COMM_CURR_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DRAWING_BUKRS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DRAWING_RFHA sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DRAW_AM_ORIG sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DRAW_CURR_ORIG sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DRAW_AM_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DRAW_CURR_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-RFHAZU sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-RFHAZB sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-TCRTIM sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-XBEWART sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-PKOND sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DBERVON sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DBERBIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DZTERM sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-BGUEL_KP sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-FEE_AM_ORIG sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-FEE_CURR_ORIG sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-BGUEL_KP_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-FEE_AM_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-FEE_CURR_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DRAW_AM_POS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-DRAW_CURR_POS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-PARENT_CRED_LINE sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-PARENT_CRED_LINE_TX sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-OVERDRAWN_DIS sy-vline
WA_VTG_REP_COMM_DRAW_FEE_STR-OVERDRAWN_DIS_PC sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.