ABAP Select data from SAP table RFIDPTVPR 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 RFIDPTVPR 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 RFIDPTVPR. 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 RFIDPTVPR 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_RFIDPTVPR TYPE STANDARD TABLE OF RFIDPTVPR,
      WA_RFIDPTVPR TYPE RFIDPTVPR,
      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: <RFIDPTVPR> TYPE RFIDPTVPR.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RFIDPTVPR
*  INTO TABLE @DATA(IT_RFIDPTVPR2).
*--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_RFIDPTVPR INDEX 1 INTO DATA(WA_RFIDPTVPR2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RFIDPTVPR ASSIGNING <RFIDPTVPR>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RFIDPTVPR>-DPR_PER = 1.
<RFIDPTVPR>-DPR_ACQ_V = 1.
<RFIDPTVPR>-HTXT = 1.
<RFIDPTVPR>-DMBTR = 1.
<RFIDPTVPR>-WAERS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RFIDPTVPR-NDJAR, sy-vline,
WA_RFIDPTVPR-S_ACPE, sy-vline,
WA_RFIDPTVPR-S_ACRE, sy-vline,
WA_RFIDPTVPR-S_ACAUC, sy-vline,
WA_RFIDPTVPR-P_ACPE, sy-vline,
WA_RFIDPTVPR-P_ACRE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RFIDPTVPR 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_RFIDPTVPR 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_RFIDPTVPR INTO WA_RFIDPTVPR. *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 AU132, internal->external for field DMBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_RFIDPTVPR-DMBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RFIDPTVPR-DMBTR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field VAT_HKONT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RFIDPTVPR-VAT_HKONT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RFIDPTVPR-VAT_HKONT.
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_RFIDPTVPR_STR,
DPR_PER TYPE STRING,
DPR_ACQ_V TYPE STRING,
HTXT TYPE STRING,
DMBTR TYPE STRING,
WAERS TYPE STRING,
NDJAR TYPE STRING,
S_ACPE TYPE STRING,
S_ACRE TYPE STRING,
S_ACAUC TYPE STRING,
P_ACPE TYPE STRING,
P_ACRE TYPE STRING,
VARADJ TYPE STRING,
BWAUC TYPE STRING,
KGEN_D TYPE STRING,
KGEN_C TYPE STRING,
KASS_D TYPE STRING,
KASS_C TYPE STRING,
BEWI TYPE STRING,
BEWD TYPE STRING,
BLART TYPE STRING,
BDAT TYPE STRING,
STKZD TYPE STRING,
STKZH TYPE STRING,
VAT_D TYPE STRING,
VAT_H TYPE STRING,
TSTKZD TYPE STRING,
TSTKZH TYPE STRING,
METH0 TYPE STRING,
METH5 TYPE STRING,
VARIANTE TYPE STRING,
OUTLSTSERVS TYPE STRING,
OUTLSTASSET TYPE STRING,
OUTLSTPOST TYPE STRING,
OUTLSTMSG TYPE STRING,
KOART_DOC TYPE STRING,
VAT_HKONT TYPE STRING,
REVERS_FLG TYPE STRING,
AFABER TYPE STRING,
EXDPR TYPE STRING,
EXPPR TYPE STRING,
CMPCF TYPE STRING,
MMKTOSL TYPE STRING,
MMEXC TYPE STRING,
MAXITEMS TYPE STRING,
KUKP TYPE STRING,
BUPL TYPE STRING,
BSUD TYPE STRING,
PSTAGS TYPE STRING,
PSTAGA TYPE STRING,
VATLNMETH TYPE STRING,
INCCI TYPE STRING,END OF T_EKKO_STR. DATA: WA_RFIDPTVPR_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_RFIDPTVPR_STR-DPR_PER sy-vline
WA_RFIDPTVPR_STR-DPR_ACQ_V sy-vline
WA_RFIDPTVPR_STR-HTXT sy-vline
WA_RFIDPTVPR_STR-DMBTR sy-vline
WA_RFIDPTVPR_STR-WAERS sy-vline
WA_RFIDPTVPR_STR-NDJAR sy-vline
WA_RFIDPTVPR_STR-S_ACPE sy-vline
WA_RFIDPTVPR_STR-S_ACRE sy-vline
WA_RFIDPTVPR_STR-S_ACAUC sy-vline
WA_RFIDPTVPR_STR-P_ACPE sy-vline
WA_RFIDPTVPR_STR-P_ACRE sy-vline
WA_RFIDPTVPR_STR-VARADJ sy-vline
WA_RFIDPTVPR_STR-BWAUC sy-vline
WA_RFIDPTVPR_STR-KGEN_D sy-vline
WA_RFIDPTVPR_STR-KGEN_C sy-vline
WA_RFIDPTVPR_STR-KASS_D sy-vline
WA_RFIDPTVPR_STR-KASS_C sy-vline
WA_RFIDPTVPR_STR-BEWI sy-vline
WA_RFIDPTVPR_STR-BEWD sy-vline
WA_RFIDPTVPR_STR-BLART sy-vline
WA_RFIDPTVPR_STR-BDAT sy-vline
WA_RFIDPTVPR_STR-STKZD sy-vline
WA_RFIDPTVPR_STR-STKZH sy-vline
WA_RFIDPTVPR_STR-VAT_D sy-vline
WA_RFIDPTVPR_STR-VAT_H sy-vline
WA_RFIDPTVPR_STR-TSTKZD sy-vline
WA_RFIDPTVPR_STR-TSTKZH sy-vline
WA_RFIDPTVPR_STR-METH0 sy-vline
WA_RFIDPTVPR_STR-METH5 sy-vline
WA_RFIDPTVPR_STR-VARIANTE sy-vline
WA_RFIDPTVPR_STR-OUTLSTSERVS sy-vline
WA_RFIDPTVPR_STR-OUTLSTASSET sy-vline
WA_RFIDPTVPR_STR-OUTLSTPOST sy-vline
WA_RFIDPTVPR_STR-OUTLSTMSG sy-vline
WA_RFIDPTVPR_STR-KOART_DOC sy-vline
WA_RFIDPTVPR_STR-VAT_HKONT sy-vline
WA_RFIDPTVPR_STR-REVERS_FLG sy-vline
WA_RFIDPTVPR_STR-AFABER sy-vline
WA_RFIDPTVPR_STR-EXDPR sy-vline
WA_RFIDPTVPR_STR-EXPPR sy-vline
WA_RFIDPTVPR_STR-CMPCF sy-vline
WA_RFIDPTVPR_STR-MMKTOSL sy-vline
WA_RFIDPTVPR_STR-MMEXC sy-vline
WA_RFIDPTVPR_STR-MAXITEMS sy-vline
WA_RFIDPTVPR_STR-KUKP sy-vline
WA_RFIDPTVPR_STR-BUPL sy-vline
WA_RFIDPTVPR_STR-BSUD sy-vline
WA_RFIDPTVPR_STR-PSTAGS sy-vline
WA_RFIDPTVPR_STR-PSTAGA sy-vline
WA_RFIDPTVPR_STR-VATLNMETH sy-vline
WA_RFIDPTVPR_STR-INCCI sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.