ABAP Select data from SAP table VLCSELVEHI 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 VLCSELVEHI 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 VLCSELVEHI. 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 VLCSELVEHI 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_VLCSELVEHI TYPE STANDARD TABLE OF VLCSELVEHI,
      WA_VLCSELVEHI TYPE VLCSELVEHI,
      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: <VLCSELVEHI> TYPE VLCSELVEHI.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM VLCSELVEHI
*  INTO TABLE @DATA(IT_VLCSELVEHI2).
*--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_VLCSELVEHI INDEX 1 INTO DATA(WA_VLCSELVEHI2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_VLCSELVEHI ASSIGNING <VLCSELVEHI>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<VLCSELVEHI>-MANDT = 1.
<VLCSELVEHI>-VHCLE = 1.
<VLCSELVEHI>-VHVIN = 1.
<VLCSELVEHI>-VHCEX = 1.
<VLCSELVEHI>-MATNR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_VLCSELVEHI-LIFNR, sy-vline,
WA_VLCSELVEHI-ENDCU, sy-vline,
WA_VLCSELVEHI-KUNNR, sy-vline,
WA_VLCSELVEHI-WERKS, sy-vline,
WA_VLCSELVEHI-AVAIL, sy-vline,
WA_VLCSELVEHI-LOCTN, sy-vline.
ENDLOOP. *Add any further fields from structure WA_VLCSELVEHI 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_VLCSELVEHI 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_VLCSELVEHI INTO WA_VLCSELVEHI. *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_VLCSELVEHI-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VLCSELVEHI-MATNR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field ADDCU CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VLCSELVEHI-ADDCU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VLCSELVEHI-ADDCU.
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_VLCSELVEHI_STR,
MANDT TYPE STRING,
VHCLE TYPE STRING,
VHVIN TYPE STRING,
VHCEX TYPE STRING,
MATNR TYPE STRING,
LIFNR TYPE STRING,
ENDCU TYPE STRING,
KUNNR TYPE STRING,
WERKS TYPE STRING,
AVAIL TYPE STRING,
LOCTN TYPE STRING,
LTEXT TYPE STRING,
MMSTA TYPE STRING,
MMDATU TYPE STRING,
MMTIME TYPE STRING,
SDSTA TYPE STRING,
SDDATU TYPE STRING,
SDTIME TYPE STRING,
VACTION TYPE STRING,
ACTION TYPE STRING,
ACTDATU TYPE STRING,
ACTTIME TYPE STRING,
VBELN_CO TYPE STRING,
POSNR_CO TYPE STRING,
BSTNK_CO TYPE STRING,
VBELN_DL TYPE STRING,
POSNR_DL TYPE STRING,
MBLNR_GI TYPE STRING,
MBLPO_GI TYPE STRING,
MJAHR_GI TYPE STRING,
VBELN_IN TYPE STRING,
POSNR_IN TYPE STRING,
VBELN_OF TYPE STRING,
POSNR_OF TYPE STRING,
VBELN_IV TYPE STRING,
POSNR_IV TYPE STRING,
VHBLN_OR TYPE STRING,
VHPOS_OR TYPE STRING,
MBLNR_GR TYPE STRING,
MJAHR_GR TYPE STRING,
MBLPO_GR TYPE STRING,
LFSNR_GR TYPE STRING,
FRBNR_GR TYPE STRING,
BELNR_FI TYPE STRING,
GJAHR_FI TYPE STRING,
RBLGP_FI TYPE STRING,
XBLNR_FI TYPE STRING,
SEARCHF TYPE STRING,
SPROF TYPE STRING,
PROFT TYPE STRING,
CNAME TYPE STRING,
CPCOD TYPE STRING,
CCITY TYPE STRING,
LNAME TYPE STRING,
LPCOD TYPE STRING,
LCITY TYPE STRING,
LCTRY TYPE STRING,
LREGI TYPE STRING,
PSDATU TYPE STRING,
PSTIME TYPE STRING,
PDDATU TYPE STRING,
PDTIME TYPE STRING,
AQUAL TYPE STRING,
QAUSP TYPE STRING,
VBLTY TYPE STRING,
ERNAM TYPE STRING,
VHUSG TYPE STRING,
CMPGN TYPE STRING,
GPRICE TYPE STRING,
GPCURR TYPE STRING,
IWERK TYPE STRING,
VAWRK TYPE STRING,
VAPLZ TYPE STRING,
EQUNR TYPE STRING,
AUFNR TYPE STRING,
REVFLAG TYPE STRING,
AUFART_SM TYPE STRING,
QMNUM TYPE STRING,
QMART TYPE STRING,
VBELN_SM TYPE STRING,
POSNR_SM TYPE STRING,
VBELN_LR TYPE STRING,
POSNR_LR TYPE STRING,
LGORT TYPE STRING,
USED_VEHICLE TYPE STRING,
PARRL TYPE STRING,
PARRL_TITLE TYPE STRING,
ADDCU TYPE STRING,
ADDCU_NAME TYPE STRING,
VALID_FROM_DATE TYPE STRING,
VALID_TO_DATE TYPE STRING,END OF T_EKKO_STR. DATA: WA_VLCSELVEHI_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_VLCSELVEHI_STR-MANDT sy-vline
WA_VLCSELVEHI_STR-VHCLE sy-vline
WA_VLCSELVEHI_STR-VHVIN sy-vline
WA_VLCSELVEHI_STR-VHCEX sy-vline
WA_VLCSELVEHI_STR-MATNR sy-vline
WA_VLCSELVEHI_STR-LIFNR sy-vline
WA_VLCSELVEHI_STR-ENDCU sy-vline
WA_VLCSELVEHI_STR-KUNNR sy-vline
WA_VLCSELVEHI_STR-WERKS sy-vline
WA_VLCSELVEHI_STR-AVAIL sy-vline
WA_VLCSELVEHI_STR-LOCTN sy-vline
WA_VLCSELVEHI_STR-LTEXT sy-vline
WA_VLCSELVEHI_STR-MMSTA sy-vline
WA_VLCSELVEHI_STR-MMDATU sy-vline
WA_VLCSELVEHI_STR-MMTIME sy-vline
WA_VLCSELVEHI_STR-SDSTA sy-vline
WA_VLCSELVEHI_STR-SDDATU sy-vline
WA_VLCSELVEHI_STR-SDTIME sy-vline
WA_VLCSELVEHI_STR-VACTION sy-vline
WA_VLCSELVEHI_STR-ACTION sy-vline
WA_VLCSELVEHI_STR-ACTDATU sy-vline
WA_VLCSELVEHI_STR-ACTTIME sy-vline
WA_VLCSELVEHI_STR-VBELN_CO sy-vline
WA_VLCSELVEHI_STR-POSNR_CO sy-vline
WA_VLCSELVEHI_STR-BSTNK_CO sy-vline
WA_VLCSELVEHI_STR-VBELN_DL sy-vline
WA_VLCSELVEHI_STR-POSNR_DL sy-vline
WA_VLCSELVEHI_STR-MBLNR_GI sy-vline
WA_VLCSELVEHI_STR-MBLPO_GI sy-vline
WA_VLCSELVEHI_STR-MJAHR_GI sy-vline
WA_VLCSELVEHI_STR-VBELN_IN sy-vline
WA_VLCSELVEHI_STR-POSNR_IN sy-vline
WA_VLCSELVEHI_STR-VBELN_OF sy-vline
WA_VLCSELVEHI_STR-POSNR_OF sy-vline
WA_VLCSELVEHI_STR-VBELN_IV sy-vline
WA_VLCSELVEHI_STR-POSNR_IV sy-vline
WA_VLCSELVEHI_STR-VHBLN_OR sy-vline
WA_VLCSELVEHI_STR-VHPOS_OR sy-vline
WA_VLCSELVEHI_STR-MBLNR_GR sy-vline
WA_VLCSELVEHI_STR-MJAHR_GR sy-vline
WA_VLCSELVEHI_STR-MBLPO_GR sy-vline
WA_VLCSELVEHI_STR-LFSNR_GR sy-vline
WA_VLCSELVEHI_STR-FRBNR_GR sy-vline
WA_VLCSELVEHI_STR-BELNR_FI sy-vline
WA_VLCSELVEHI_STR-GJAHR_FI sy-vline
WA_VLCSELVEHI_STR-RBLGP_FI sy-vline
WA_VLCSELVEHI_STR-XBLNR_FI sy-vline
WA_VLCSELVEHI_STR-SEARCHF sy-vline
WA_VLCSELVEHI_STR-SPROF sy-vline
WA_VLCSELVEHI_STR-PROFT sy-vline
WA_VLCSELVEHI_STR-CNAME sy-vline
WA_VLCSELVEHI_STR-CPCOD sy-vline
WA_VLCSELVEHI_STR-CCITY sy-vline
WA_VLCSELVEHI_STR-LNAME sy-vline
WA_VLCSELVEHI_STR-LPCOD sy-vline
WA_VLCSELVEHI_STR-LCITY sy-vline
WA_VLCSELVEHI_STR-LCTRY sy-vline
WA_VLCSELVEHI_STR-LREGI sy-vline
WA_VLCSELVEHI_STR-PSDATU sy-vline
WA_VLCSELVEHI_STR-PSTIME sy-vline
WA_VLCSELVEHI_STR-PDDATU sy-vline
WA_VLCSELVEHI_STR-PDTIME sy-vline
WA_VLCSELVEHI_STR-AQUAL sy-vline
WA_VLCSELVEHI_STR-QAUSP sy-vline
WA_VLCSELVEHI_STR-VBLTY sy-vline
WA_VLCSELVEHI_STR-ERNAM sy-vline
WA_VLCSELVEHI_STR-VHUSG sy-vline
WA_VLCSELVEHI_STR-CMPGN sy-vline
WA_VLCSELVEHI_STR-GPRICE sy-vline
WA_VLCSELVEHI_STR-GPCURR sy-vline
WA_VLCSELVEHI_STR-IWERK sy-vline
WA_VLCSELVEHI_STR-VAWRK sy-vline
WA_VLCSELVEHI_STR-VAPLZ sy-vline
WA_VLCSELVEHI_STR-EQUNR sy-vline
WA_VLCSELVEHI_STR-AUFNR sy-vline
WA_VLCSELVEHI_STR-REVFLAG sy-vline
WA_VLCSELVEHI_STR-AUFART_SM sy-vline
WA_VLCSELVEHI_STR-QMNUM sy-vline
WA_VLCSELVEHI_STR-QMART sy-vline
WA_VLCSELVEHI_STR-VBELN_SM sy-vline
WA_VLCSELVEHI_STR-POSNR_SM sy-vline
WA_VLCSELVEHI_STR-VBELN_LR sy-vline
WA_VLCSELVEHI_STR-POSNR_LR sy-vline
WA_VLCSELVEHI_STR-LGORT sy-vline
WA_VLCSELVEHI_STR-USED_VEHICLE sy-vline
WA_VLCSELVEHI_STR-PARRL sy-vline
WA_VLCSELVEHI_STR-PARRL_TITLE sy-vline
WA_VLCSELVEHI_STR-ADDCU sy-vline
WA_VLCSELVEHI_STR-ADDCU_NAME sy-vline
WA_VLCSELVEHI_STR-VALID_FROM_DATE sy-vline
WA_VLCSELVEHI_STR-VALID_TO_DATE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.