ABAP Select data from SAP table RJLV05 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 RJLV05 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 RJLV05. 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 RJLV05 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_RJLV05 TYPE STANDARD TABLE OF RJLV05,
      WA_RJLV05 TYPE RJLV05,
      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: <RJLV05> TYPE RJLV05.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RJLV05
*  INTO TABLE @DATA(IT_RJLV052).
*--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_RJLV05 INDEX 1 INTO DATA(WA_RJLV052).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RJLV05 ASSIGNING <RJLV05>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RJLV05>-ABLAD_MENG = 1.
<RJLV05>-GESAMTMENG = 1.
<RJLV05>-SUM_VOLLPA = 1.
<RJLV05>-SUM_SPITZE = 1.
<RJLV05>-MNG_VOLLPA = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RJLV05-MNG_SPITZE, sy-vline,
WA_RJLV05-ANZ_PAKETE, sy-vline,
WA_RJLV05-ROUTENMENG, sy-vline,
WA_RJLV05-ROUTANZSPI, sy-vline,
WA_RJLV05-ROUTANZVOP, sy-vline,
WA_RJLV05-MENG_PVA, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RJLV05 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_RJLV05 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_RJLV05 INTO WA_RJLV05. *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 CUNIT, internal->external for field MEINHVAGEW CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RJLV05-MEINHVAGEW IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RJLV05-MEINHVAGEW.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field FOLGE_ROUT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RJLV05-FOLGE_ROUT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RJLV05-FOLGE_ROUT.
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_RJLV05_STR,
ABLAD_MENG TYPE STRING,
GESAMTMENG TYPE STRING,
SUM_VOLLPA TYPE STRING,
SUM_SPITZE TYPE STRING,
MNG_VOLLPA TYPE STRING,
MNG_SPITZE TYPE STRING,
ANZ_PAKETE TYPE STRING,
ROUTENMENG TYPE STRING,
ROUTANZSPI TYPE STRING,
ROUTANZVOP TYPE STRING,
MENG_PVA TYPE STRING,
PVA_ANZVOP TYPE STRING,
BEI_ANZVOP TYPE STRING,
MNG_BEILAG TYPE STRING,
MNG_BLGPVA TYPE STRING,
MNG_BLGDRZ TYPE STRING,
VOP_BLGPVA TYPE STRING,
VOP_BLGDRZ TYPE STRING,
MENG_ALT TYPE STRING,
MENG_DIFF TYPE STRING,
SERVGMENG TYPE STRING,
BEZIRKMENG TYPE STRING,
ZUSTMENG TYPE STRING,
GEW_VAUSGB TYPE STRING,
GEW_ROUTE TYPE STRING,
ABFAHRTDAT TYPE STRING,
MEINHVAGEW TYPE STRING,
KZ_SPITZPA TYPE STRING,
POSNR TYPE STRING,
KURZT_TAG TYPE STRING,
LANGT_TAG TYPE STRING,
NUMBEABLST TYPE STRING,
BEABLST TYPE STRING,
BEZ_GEO TYPE STRING,
NAME1 TYPE STRING,
NAME2 TYPE STRING,
ORT01 TYPE STRING,
STRAS TYPE STRING,
PSTLZ TYPE STRING,
HAUSN TYPE STRING,
ADRLAGZU TYPE STRING,
WARENEMPF TYPE STRING,
ZUSTELLER TYPE STRING,
VERSERVGES TYPE STRING,
SERVG_NAM1 TYPE STRING,
BEZIRK TYPE STRING,
AENDERART TYPE STRING,
GUELTIGVON TYPE STRING,
GUELTIGBIS TYPE STRING,
XREISE TYPE STRING,
XTEILABO TYPE STRING,
XUNTERBR TYPE STRING,
WOCHE TYPE STRING,
LFDNUMMER TYPE STRING,
NR_ROUTPVA TYPE STRING,
NR_BEZRUND TYPE STRING,
NR_TA_SVG TYPE STRING,
NR_TA_BEZ TYPE STRING,
DRERZ1 TYPE STRING,
DRERZ2 TYPE STRING,
DRERZ3 TYPE STRING,
DRERZ4 TYPE STRING,
DRERZ5 TYPE STRING,
PVA1 TYPE STRING,
PVA2 TYPE STRING,
PVA3 TYPE STRING,
PVA4 TYPE STRING,
PVA5 TYPE STRING,
ANZAHL1 TYPE STRING,
ANZAHL2 TYPE STRING,
ANZAHL3 TYPE STRING,
ANZAHL4 TYPE STRING,
ANZAHL5 TYPE STRING,
SUMME1 TYPE STRING,
SUMME2 TYPE STRING,
SUMME3 TYPE STRING,
SUMME4 TYPE STRING,
SUMME5 TYPE STRING,
SPMAXMNGE TYPE STRING,
BEZEI40 TYPE STRING,
FOLGE_ROUT TYPE STRING,
TEXT_FROUT TYPE STRING,
HERKUNFT TYPE STRING,END OF T_EKKO_STR. DATA: WA_RJLV05_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_RJLV05_STR-ABLAD_MENG sy-vline
WA_RJLV05_STR-GESAMTMENG sy-vline
WA_RJLV05_STR-SUM_VOLLPA sy-vline
WA_RJLV05_STR-SUM_SPITZE sy-vline
WA_RJLV05_STR-MNG_VOLLPA sy-vline
WA_RJLV05_STR-MNG_SPITZE sy-vline
WA_RJLV05_STR-ANZ_PAKETE sy-vline
WA_RJLV05_STR-ROUTENMENG sy-vline
WA_RJLV05_STR-ROUTANZSPI sy-vline
WA_RJLV05_STR-ROUTANZVOP sy-vline
WA_RJLV05_STR-MENG_PVA sy-vline
WA_RJLV05_STR-PVA_ANZVOP sy-vline
WA_RJLV05_STR-BEI_ANZVOP sy-vline
WA_RJLV05_STR-MNG_BEILAG sy-vline
WA_RJLV05_STR-MNG_BLGPVA sy-vline
WA_RJLV05_STR-MNG_BLGDRZ sy-vline
WA_RJLV05_STR-VOP_BLGPVA sy-vline
WA_RJLV05_STR-VOP_BLGDRZ sy-vline
WA_RJLV05_STR-MENG_ALT sy-vline
WA_RJLV05_STR-MENG_DIFF sy-vline
WA_RJLV05_STR-SERVGMENG sy-vline
WA_RJLV05_STR-BEZIRKMENG sy-vline
WA_RJLV05_STR-ZUSTMENG sy-vline
WA_RJLV05_STR-GEW_VAUSGB sy-vline
WA_RJLV05_STR-GEW_ROUTE sy-vline
WA_RJLV05_STR-ABFAHRTDAT sy-vline
WA_RJLV05_STR-MEINHVAGEW sy-vline
WA_RJLV05_STR-KZ_SPITZPA sy-vline
WA_RJLV05_STR-POSNR sy-vline
WA_RJLV05_STR-KURZT_TAG sy-vline
WA_RJLV05_STR-LANGT_TAG sy-vline
WA_RJLV05_STR-NUMBEABLST sy-vline
WA_RJLV05_STR-BEABLST sy-vline
WA_RJLV05_STR-BEZ_GEO sy-vline
WA_RJLV05_STR-NAME1 sy-vline
WA_RJLV05_STR-NAME2 sy-vline
WA_RJLV05_STR-ORT01 sy-vline
WA_RJLV05_STR-STRAS sy-vline
WA_RJLV05_STR-PSTLZ sy-vline
WA_RJLV05_STR-HAUSN sy-vline
WA_RJLV05_STR-ADRLAGZU sy-vline
WA_RJLV05_STR-WARENEMPF sy-vline
WA_RJLV05_STR-ZUSTELLER sy-vline
WA_RJLV05_STR-VERSERVGES sy-vline
WA_RJLV05_STR-SERVG_NAM1 sy-vline
WA_RJLV05_STR-BEZIRK sy-vline
WA_RJLV05_STR-AENDERART sy-vline
WA_RJLV05_STR-GUELTIGVON sy-vline
WA_RJLV05_STR-GUELTIGBIS sy-vline
WA_RJLV05_STR-XREISE sy-vline
WA_RJLV05_STR-XTEILABO sy-vline
WA_RJLV05_STR-XUNTERBR sy-vline
WA_RJLV05_STR-WOCHE sy-vline
WA_RJLV05_STR-LFDNUMMER sy-vline
WA_RJLV05_STR-NR_ROUTPVA sy-vline
WA_RJLV05_STR-NR_BEZRUND sy-vline
WA_RJLV05_STR-NR_TA_SVG sy-vline
WA_RJLV05_STR-NR_TA_BEZ sy-vline
WA_RJLV05_STR-DRERZ1 sy-vline
WA_RJLV05_STR-DRERZ2 sy-vline
WA_RJLV05_STR-DRERZ3 sy-vline
WA_RJLV05_STR-DRERZ4 sy-vline
WA_RJLV05_STR-DRERZ5 sy-vline
WA_RJLV05_STR-PVA1 sy-vline
WA_RJLV05_STR-PVA2 sy-vline
WA_RJLV05_STR-PVA3 sy-vline
WA_RJLV05_STR-PVA4 sy-vline
WA_RJLV05_STR-PVA5 sy-vline
WA_RJLV05_STR-ANZAHL1 sy-vline
WA_RJLV05_STR-ANZAHL2 sy-vline
WA_RJLV05_STR-ANZAHL3 sy-vline
WA_RJLV05_STR-ANZAHL4 sy-vline
WA_RJLV05_STR-ANZAHL5 sy-vline
WA_RJLV05_STR-SUMME1 sy-vline
WA_RJLV05_STR-SUMME2 sy-vline
WA_RJLV05_STR-SUMME3 sy-vline
WA_RJLV05_STR-SUMME4 sy-vline
WA_RJLV05_STR-SUMME5 sy-vline
WA_RJLV05_STR-SPMAXMNGE sy-vline
WA_RJLV05_STR-BEZEI40 sy-vline
WA_RJLV05_STR-FOLGE_ROUT sy-vline
WA_RJLV05_STR-TEXT_FROUT sy-vline
WA_RJLV05_STR-HERKUNFT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.