ABAP Select data from SAP table RA04C 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 RA04C 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 RA04C. 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 RA04C 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_RA04C TYPE STANDARD TABLE OF RA04C, WA_RA04C TYPE RA04C, 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: <RA04C> TYPE RA04C. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_RA04C. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM RA04C INTO TABLE IT_RA04C. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM RA04C * INTO TABLE @DATA(IT_RA04C2). *--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_RA04C INDEX 1 INTO DATA(WA_RA04C2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_RA04C ASSIGNING <RA04C>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<RA04C>-LSEIT = 1.
<RA04C>-MSEIT = 1.
<RA04C>-XSHOW = 1.
<RA04C>-XUPDA = 1.
<RA04C>-XMARK = 1.
ENDLOOP. LOOP AT IT_RA04C INTO WA_RA04C. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_RA04C-XABGEL, sy-vline,
WA_RA04C-XT085, sy-vline,
WA_RA04C-XT085C, sy-vline,
WA_RA04C-XT085P, sy-vline,
WA_RA04C-ZE01, sy-vline,
WA_RA04C-ZE02, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RA04C 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_RA04C 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_RA04C INTO WA_RA04C. *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 IEINST CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RA04C-IEINST IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RA04C-IEINST.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field IAUFL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RA04C-IAUFL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RA04C-IAUFL.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field IAUFLWB CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RA04C-IAUFLWB IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RA04C-IAUFLWB.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field IAUFLAO CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RA04C-IAUFLAO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RA04C-IAUFLAO.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field IAUFLABG CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RA04C-IAUFLABG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RA04C-IAUFLABG.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field IBSTND CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RA04C-IBSTND IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RA04C-IBSTND.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field KTOGR_VON CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RA04C-KTOGR_VON IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RA04C-KTOGR_VON.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field KTOGR_NACH CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RA04C-KTOGR_NACH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RA04C-KTOGR_NACH.
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_RA04C_STR,
LSEIT TYPE STRING,
MSEIT TYPE STRING,
XSHOW TYPE STRING,
XUPDA TYPE STRING,
XMARK TYPE STRING,
XABGEL TYPE STRING,
XT085 TYPE STRING,
XT085C TYPE STRING,
XT085P TYPE STRING,
ZE01 TYPE STRING,
ZE02 TYPE STRING,
ZE03 TYPE STRING,
ZE04 TYPE STRING,
ZE05 TYPE STRING,
TEXT TYPE STRING,
TEXT1 TYPE STRING,
AFBTXT TYPE STRING,
BDEF TYPE STRING,
BUKR TYPE STRING,
KONT TYPE STRING,
ALTD TYPE STRING,
WERT TYPE STRING,
AFAB TYPE STRING,
XINVSL TYPE STRING,
XPLAUS TYPE STRING,
XKONTO TYPE STRING,
XBEREICH TYPE STRING,
EAFABE TYPE STRING,
IEINST TYPE STRING,
IAUFL TYPE STRING,
IAUFLWB TYPE STRING,
IAUFLAO TYPE STRING,
IAUFLABG TYPE STRING,
IBSTND TYPE STRING,
KTEXT01 TYPE STRING,
KTEXT02 TYPE STRING,
KTEXT03 TYPE STRING,
KTEXT04 TYPE STRING,
KTEXT05 TYPE STRING,
KTEXT06 TYPE STRING,
KTEXT07 TYPE STRING,
KTEXT08 TYPE STRING,
KTEXT09 TYPE STRING,
KTEXT10 TYPE STRING,
KTEXT11 TYPE STRING,
KTEXT12 TYPE STRING,
KTEXT13 TYPE STRING,
KTEXT14 TYPE STRING,
KTEXT15 TYPE STRING,
KTEXT16 TYPE STRING,
KTEXT17 TYPE STRING,
KTEXT18 TYPE STRING,
KTEXT19 TYPE STRING,
KTEXT20 TYPE STRING,
KTEXT21 TYPE STRING,
KTEXT22 TYPE STRING,
KTEXT23 TYPE STRING,
KTEXT24 TYPE STRING,
KTEXT25 TYPE STRING,
KTEXT26 TYPE STRING,
KTEXT27 TYPE STRING,
KTEXT28 TYPE STRING,
KTEXT29 TYPE STRING,
KTEXT30 TYPE STRING,
KTEXT31 TYPE STRING,
KTEXT32 TYPE STRING,
KTEXT33 TYPE STRING,
KTEXT34 TYPE STRING,
KTEXT35 TYPE STRING,
KTEXT36 TYPE STRING,
KTEXT37 TYPE STRING,
KTEXT38 TYPE STRING,
KTEXT39 TYPE STRING,
KTEXT40 TYPE STRING,
KTEXT41 TYPE STRING,
KTEXT42 TYPE STRING,
KTEXT43 TYPE STRING,
KTEXT44 TYPE STRING,
KTEXT45 TYPE STRING,
AFBTXT1 TYPE STRING,
AFBTXT2 TYPE STRING,
AFABE_BUCH TYPE STRING,
XPASSIV TYPE STRING,
AFABE_COPY TYPE STRING,
INVSL_COPY TYPE STRING,
XNEW TYPE STRING,
XCHNG TYPE STRING,
XDELETE TYPE STRING,
XVIRT TYPE STRING,
XIFBER TYPE STRING,
XAHK TYPE STRING,
XNAFA TYPE STRING,
XSAFA TYPE STRING,
XAAFA TYPE STRING,
XMAFA TYPE STRING,
XZINS TYPE STRING,
XZUSCH TYPE STRING,
XRBWPOS TYPE STRING,
XRBWNEG TYPE STRING,
XINDAHK TYPE STRING,
XINDAF TYPE STRING,
XBCHDIAL TYPE STRING,
XBCHBTCH TYPE STRING,
XBCHAFA TYPE STRING,
XBCHCTP TYPE STRING,
XUPD_VIEW TYPE STRING,
XANZ_VIEW TYPE STRING,
XREIHE1 TYPE STRING,
TXT20 TYPE STRING,
XMITTEL TYPE STRING,
XVRMAFB TYPE STRING,
XKOP_VIEW TYPE STRING,
XHALBPER TYPE STRING,
XANTEIL TYPE STRING,
KTOGR_VON TYPE STRING,
KTOGR_NACH TYPE STRING,
ACOBJ TYPE STRING,
AFABER_VON TYPE STRING,
AFABER_IN TYPE STRING,
KTOPL_VON TYPE STRING,
KTOPL_IN TYPE STRING,
BUKRS_VON TYPE STRING,
BUKRS_IN TYPE STRING,
XWBWRND TYPE STRING,
XRBWRND TYPE STRING,
XAFARND TYPE STRING,
XRNDKFM TYPE STRING,
XRNDAUF TYPE STRING,
XRNDAB TYPE STRING,
XRNDNO TYPE STRING,END OF T_EKKO_STR. DATA: WA_RA04C_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_RA04C_STR-LSEIT sy-vline
WA_RA04C_STR-MSEIT sy-vline
WA_RA04C_STR-XSHOW sy-vline
WA_RA04C_STR-XUPDA sy-vline
WA_RA04C_STR-XMARK sy-vline
WA_RA04C_STR-XABGEL sy-vline
WA_RA04C_STR-XT085 sy-vline
WA_RA04C_STR-XT085C sy-vline
WA_RA04C_STR-XT085P sy-vline
WA_RA04C_STR-ZE01 sy-vline
WA_RA04C_STR-ZE02 sy-vline
WA_RA04C_STR-ZE03 sy-vline
WA_RA04C_STR-ZE04 sy-vline
WA_RA04C_STR-ZE05 sy-vline
WA_RA04C_STR-TEXT sy-vline
WA_RA04C_STR-TEXT1 sy-vline
WA_RA04C_STR-AFBTXT sy-vline
WA_RA04C_STR-BDEF sy-vline
WA_RA04C_STR-BUKR sy-vline
WA_RA04C_STR-KONT sy-vline
WA_RA04C_STR-ALTD sy-vline
WA_RA04C_STR-WERT sy-vline
WA_RA04C_STR-AFAB sy-vline
WA_RA04C_STR-XINVSL sy-vline
WA_RA04C_STR-XPLAUS sy-vline
WA_RA04C_STR-XKONTO sy-vline
WA_RA04C_STR-XBEREICH sy-vline
WA_RA04C_STR-EAFABE sy-vline
WA_RA04C_STR-IEINST sy-vline
WA_RA04C_STR-IAUFL sy-vline
WA_RA04C_STR-IAUFLWB sy-vline
WA_RA04C_STR-IAUFLAO sy-vline
WA_RA04C_STR-IAUFLABG sy-vline
WA_RA04C_STR-IBSTND sy-vline
WA_RA04C_STR-KTEXT01 sy-vline
WA_RA04C_STR-KTEXT02 sy-vline
WA_RA04C_STR-KTEXT03 sy-vline
WA_RA04C_STR-KTEXT04 sy-vline
WA_RA04C_STR-KTEXT05 sy-vline
WA_RA04C_STR-KTEXT06 sy-vline
WA_RA04C_STR-KTEXT07 sy-vline
WA_RA04C_STR-KTEXT08 sy-vline
WA_RA04C_STR-KTEXT09 sy-vline
WA_RA04C_STR-KTEXT10 sy-vline
WA_RA04C_STR-KTEXT11 sy-vline
WA_RA04C_STR-KTEXT12 sy-vline
WA_RA04C_STR-KTEXT13 sy-vline
WA_RA04C_STR-KTEXT14 sy-vline
WA_RA04C_STR-KTEXT15 sy-vline
WA_RA04C_STR-KTEXT16 sy-vline
WA_RA04C_STR-KTEXT17 sy-vline
WA_RA04C_STR-KTEXT18 sy-vline
WA_RA04C_STR-KTEXT19 sy-vline
WA_RA04C_STR-KTEXT20 sy-vline
WA_RA04C_STR-KTEXT21 sy-vline
WA_RA04C_STR-KTEXT22 sy-vline
WA_RA04C_STR-KTEXT23 sy-vline
WA_RA04C_STR-KTEXT24 sy-vline
WA_RA04C_STR-KTEXT25 sy-vline
WA_RA04C_STR-KTEXT26 sy-vline
WA_RA04C_STR-KTEXT27 sy-vline
WA_RA04C_STR-KTEXT28 sy-vline
WA_RA04C_STR-KTEXT29 sy-vline
WA_RA04C_STR-KTEXT30 sy-vline
WA_RA04C_STR-KTEXT31 sy-vline
WA_RA04C_STR-KTEXT32 sy-vline
WA_RA04C_STR-KTEXT33 sy-vline
WA_RA04C_STR-KTEXT34 sy-vline
WA_RA04C_STR-KTEXT35 sy-vline
WA_RA04C_STR-KTEXT36 sy-vline
WA_RA04C_STR-KTEXT37 sy-vline
WA_RA04C_STR-KTEXT38 sy-vline
WA_RA04C_STR-KTEXT39 sy-vline
WA_RA04C_STR-KTEXT40 sy-vline
WA_RA04C_STR-KTEXT41 sy-vline
WA_RA04C_STR-KTEXT42 sy-vline
WA_RA04C_STR-KTEXT43 sy-vline
WA_RA04C_STR-KTEXT44 sy-vline
WA_RA04C_STR-KTEXT45 sy-vline
WA_RA04C_STR-AFBTXT1 sy-vline
WA_RA04C_STR-AFBTXT2 sy-vline
WA_RA04C_STR-AFABE_BUCH sy-vline
WA_RA04C_STR-XPASSIV sy-vline
WA_RA04C_STR-AFABE_COPY sy-vline
WA_RA04C_STR-INVSL_COPY sy-vline
WA_RA04C_STR-XNEW sy-vline
WA_RA04C_STR-XCHNG sy-vline
WA_RA04C_STR-XDELETE sy-vline
WA_RA04C_STR-XVIRT sy-vline
WA_RA04C_STR-XIFBER sy-vline
WA_RA04C_STR-XAHK sy-vline
WA_RA04C_STR-XNAFA sy-vline
WA_RA04C_STR-XSAFA sy-vline
WA_RA04C_STR-XAAFA sy-vline
WA_RA04C_STR-XMAFA sy-vline
WA_RA04C_STR-XZINS sy-vline
WA_RA04C_STR-XZUSCH sy-vline
WA_RA04C_STR-XRBWPOS sy-vline
WA_RA04C_STR-XRBWNEG sy-vline
WA_RA04C_STR-XINDAHK sy-vline
WA_RA04C_STR-XINDAF sy-vline
WA_RA04C_STR-XBCHDIAL sy-vline
WA_RA04C_STR-XBCHBTCH sy-vline
WA_RA04C_STR-XBCHAFA sy-vline
WA_RA04C_STR-XBCHCTP sy-vline
WA_RA04C_STR-XUPD_VIEW sy-vline
WA_RA04C_STR-XANZ_VIEW sy-vline
WA_RA04C_STR-XREIHE1 sy-vline
WA_RA04C_STR-TXT20 sy-vline
WA_RA04C_STR-XMITTEL sy-vline
WA_RA04C_STR-XVRMAFB sy-vline
WA_RA04C_STR-XKOP_VIEW sy-vline
WA_RA04C_STR-XHALBPER sy-vline
WA_RA04C_STR-XANTEIL sy-vline
WA_RA04C_STR-KTOGR_VON sy-vline
WA_RA04C_STR-KTOGR_NACH sy-vline
WA_RA04C_STR-ACOBJ sy-vline
WA_RA04C_STR-AFABER_VON sy-vline
WA_RA04C_STR-AFABER_IN sy-vline
WA_RA04C_STR-KTOPL_VON sy-vline
WA_RA04C_STR-KTOPL_IN sy-vline
WA_RA04C_STR-BUKRS_VON sy-vline
WA_RA04C_STR-BUKRS_IN sy-vline
WA_RA04C_STR-XWBWRND sy-vline
WA_RA04C_STR-XRBWRND sy-vline
WA_RA04C_STR-XAFARND sy-vline
WA_RA04C_STR-XRNDKFM sy-vline
WA_RA04C_STR-XRNDAUF sy-vline
WA_RA04C_STR-XRNDAB sy-vline
WA_RA04C_STR-XRNDNO sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.