ABAP Select data from SAP table RPLDUCF0_INF 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 RPLDUCF0_INF 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 RPLDUCF0_INF. 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 RPLDUCF0_INF 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_RPLDUCF0_INF TYPE STANDARD TABLE OF RPLDUCF0_INF,
      WA_RPLDUCF0_INF TYPE RPLDUCF0_INF,
      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: <RPLDUCF0_INF> TYPE RPLDUCF0_INF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RPLDUCF0_INF
*  INTO TABLE @DATA(IT_RPLDUCF0_INF2).
*--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_RPLDUCF0_INF INDEX 1 INTO DATA(WA_RPLDUCF0_INF2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RPLDUCF0_INF ASSIGNING <RPLDUCF0_INF>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RPLDUCF0_INF>-PARAM = 1.
<RPLDUCF0_INF>-CATEG = 1.
<RPLDUCF0_INF>-VLU_FLAG = 1.
<RPLDUCF0_INF>-PERTY_TOT = 1.
<RPLDUCF0_INF>-CORGA_TOT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RPLDUCF0_INF-SCHEME_TOT, sy-vline,
WA_RPLDUCF0_INF-VCPA_FLAG, sy-vline,
WA_RPLDUCF0_INF-IBAN_FLAG, sy-vline,
WA_RPLDUCF0_INF-YEARLY_RECAP, sy-vline,
WA_RPLDUCF0_INF-SOFT_VERSION, sy-vline,
WA_RPLDUCF0_INF-DECLL1, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RPLDUCF0_INF 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_RPLDUCF0_INF 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_RPLDUCF0_INF INTO WA_RPLDUCF0_INF. *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 GJAHR, internal->external for field PERIOD_CODE CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_RPLDUCF0_INF-PERIOD_CODE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RPLDUCF0_INF-PERIOD_CODE.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit GJAHR, internal->external for field OPTICLINE_PERIOD CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_RPLDUCF0_INF-OPTICLINE_PERIOD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RPLDUCF0_INF-OPTICLINE_PERIOD.
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_RPLDUCF0_INF_STR,
PARAM TYPE STRING,
CATEG TYPE STRING,
VLU_FLAG TYPE STRING,
PERTY_TOT TYPE STRING,
CORGA_TOT TYPE STRING,
SCHEME_TOT TYPE STRING,
VCPA_FLAG TYPE STRING,
IBAN_FLAG TYPE STRING,
YEARLY_RECAP TYPE STRING,
SOFT_VERSION TYPE STRING,
DECLL1 TYPE STRING,
DECLL2 TYPE STRING,
DECLTL TYPE STRING,
DECLFX TYPE STRING,
EXIG TYPE STRING,
REGI TYPE STRING,
PAYM TYPE STRING,
DATEID TYPE STRING,
UNITY TYPE STRING,
REGUL TYPE STRING,
ACPTE TYPE STRING,
FLAG1 TYPE STRING,
FLAG2 TYPE STRING,
FLAG3 TYPE STRING,
FLAG4 TYPE STRING,
DUPER TYPE STRING,
WACT_DT TYPE STRING,
T5F1P TYPE STRING,
MANDT TYPE STRING,
WERKS TYPE STRING,
BTRTL TYPE STRING,
SIREN TYPE STRING,
NUMIC TYPE STRING,
CDAPE TYPE STRING,
URSNA TYPE STRING,
URSSA TYPE STRING,
ASSED TYPE STRING,
MODSV TYPE STRING,
TPART TYPE STRING,
MOTDS TYPE STRING,
MOPAR TYPE STRING,
MOMAL TYPE STRING,
MOCRC TYPE STRING,
ASSNA TYPE STRING,
IASSE TYPE STRING,
DDTEF TYPE STRING,
MOCWB TYPE STRING,
MOGAR TYPE STRING,
DOMDP TYPE STRING,
DOMCE TYPE STRING,
DOMPH TYPE STRING,
CNACE TYPE STRING,
REGIO TYPE STRING,
WTEXP TYPE STRING,
ETNAT TYPE STRING,
COSOS TYPE STRING,
CAPEN TYPE STRING,
IDCCA TYPE STRING,
IDCCP TYPE STRING,
RPLDUCF0_MISC TYPE STRING,
BUKRS TYPE STRING,
SIREN TYPE STRING,
NUMIC TYPE STRING,
COT_BEGDA TYPE STRING,
SCREEN_CATEG TYPE STRING,
ADDR_P1 TYPE STRING,
ADDR_P2 TYPE STRING,
ADDR_P3 TYPE STRING,
ADDR_P4 TYPE STRING,
ADDR_P5 TYPE STRING,
ADDR_PTEL TYPE STRING,
ADDR_PFAX TYPE STRING,
PERIOD_CODE TYPE STRING,
ZYEAR TYPE STRING,
MONTH_NAME TYPE STRING,
NB_SALA TYPE STRING,
BASE TYPE STRING,
MNT TYPE STRING,
MNT2 TYPE STRING,
MNT3 TYPE STRING,
MNT4 TYPE STRING,
ADDR_O1 TYPE STRING,
ADDR_O2 TYPE STRING,
ADDR_O3 TYPE STRING,
ADDR_O4 TYPE STRING,
ADDR_O5 TYPE STRING,
ORGTX TYPE STRING,
DATE1 TYPE STRING,
DATE2 TYPE STRING,
DISPLAY_HEADC TYPE STRING,
DISPLAY_MEN TYPE STRING,
DISPLAY_WOMEN TYPE STRING,
C_ENDOP_MEN TYPE STRING,
C_ENDOP_WOMEN TYPE STRING,
C_ENDOP_HEADC TYPE STRING,
INDIC_NEANT TYPE STRING,
PERTY_LABEL TYPE STRING,
DISPLAY_TAUX TYPE STRING,
SIGN_MNT TYPE STRING,
SIGN_MNT2 TYPE STRING,
SIGN_MNT3 TYPE STRING,
SIGN_MNT4 TYPE STRING,
G_DATEPAY TYPE STRING,
DECLL1 TYPE STRING,
DECLL2 TYPE STRING,
DECLTL TYPE STRING,
DECLFX TYPE STRING,
OPTICLINE_FILLER TYPE STRING,
OPTICLINE_SIREN TYPE STRING,
OPTICLINE_NUMIC TYPE STRING,
OPTICLINE_CURR TYPE STRING,
OPTICLINE_PERIOD TYPE STRING,
OPTICLINE_MNT TYPE STRING,
OPTICLINE_SIGN TYPE STRING,
T5F1P_CDAPE TYPE STRING,
T5F1P_URSSA TYPE STRING,
T5F1P_ASSED TYPE STRING,
T5F1P_IASSE TYPE STRING,
PAID_HEADC TYPE STRING,
RPLDUCF0_TAB TYPE STRING,END OF T_EKKO_STR. DATA: WA_RPLDUCF0_INF_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_RPLDUCF0_INF_STR-PARAM sy-vline
WA_RPLDUCF0_INF_STR-CATEG sy-vline
WA_RPLDUCF0_INF_STR-VLU_FLAG sy-vline
WA_RPLDUCF0_INF_STR-PERTY_TOT sy-vline
WA_RPLDUCF0_INF_STR-CORGA_TOT sy-vline
WA_RPLDUCF0_INF_STR-SCHEME_TOT sy-vline
WA_RPLDUCF0_INF_STR-VCPA_FLAG sy-vline
WA_RPLDUCF0_INF_STR-IBAN_FLAG sy-vline
WA_RPLDUCF0_INF_STR-YEARLY_RECAP sy-vline
WA_RPLDUCF0_INF_STR-SOFT_VERSION sy-vline
WA_RPLDUCF0_INF_STR-DECLL1 sy-vline
WA_RPLDUCF0_INF_STR-DECLL2 sy-vline
WA_RPLDUCF0_INF_STR-DECLTL sy-vline
WA_RPLDUCF0_INF_STR-DECLFX sy-vline
WA_RPLDUCF0_INF_STR-EXIG sy-vline
WA_RPLDUCF0_INF_STR-REGI sy-vline
WA_RPLDUCF0_INF_STR-PAYM sy-vline
WA_RPLDUCF0_INF_STR-DATEID sy-vline
WA_RPLDUCF0_INF_STR-UNITY sy-vline
WA_RPLDUCF0_INF_STR-REGUL sy-vline
WA_RPLDUCF0_INF_STR-ACPTE sy-vline
WA_RPLDUCF0_INF_STR-FLAG1 sy-vline
WA_RPLDUCF0_INF_STR-FLAG2 sy-vline
WA_RPLDUCF0_INF_STR-FLAG3 sy-vline
WA_RPLDUCF0_INF_STR-FLAG4 sy-vline
WA_RPLDUCF0_INF_STR-DUPER sy-vline
WA_RPLDUCF0_INF_STR-WACT_DT sy-vline
WA_RPLDUCF0_INF_STR-T5F1P sy-vline
WA_RPLDUCF0_INF_STR-MANDT sy-vline
WA_RPLDUCF0_INF_STR-WERKS sy-vline
WA_RPLDUCF0_INF_STR-BTRTL sy-vline
WA_RPLDUCF0_INF_STR-SIREN sy-vline
WA_RPLDUCF0_INF_STR-NUMIC sy-vline
WA_RPLDUCF0_INF_STR-CDAPE sy-vline
WA_RPLDUCF0_INF_STR-URSNA sy-vline
WA_RPLDUCF0_INF_STR-URSSA sy-vline
WA_RPLDUCF0_INF_STR-ASSED sy-vline
WA_RPLDUCF0_INF_STR-MODSV sy-vline
WA_RPLDUCF0_INF_STR-TPART sy-vline
WA_RPLDUCF0_INF_STR-MOTDS sy-vline
WA_RPLDUCF0_INF_STR-MOPAR sy-vline
WA_RPLDUCF0_INF_STR-MOMAL sy-vline
WA_RPLDUCF0_INF_STR-MOCRC sy-vline
WA_RPLDUCF0_INF_STR-ASSNA sy-vline
WA_RPLDUCF0_INF_STR-IASSE sy-vline
WA_RPLDUCF0_INF_STR-DDTEF sy-vline
WA_RPLDUCF0_INF_STR-MOCWB sy-vline
WA_RPLDUCF0_INF_STR-MOGAR sy-vline
WA_RPLDUCF0_INF_STR-DOMDP sy-vline
WA_RPLDUCF0_INF_STR-DOMCE sy-vline
WA_RPLDUCF0_INF_STR-DOMPH sy-vline
WA_RPLDUCF0_INF_STR-CNACE sy-vline
WA_RPLDUCF0_INF_STR-REGIO sy-vline
WA_RPLDUCF0_INF_STR-WTEXP sy-vline
WA_RPLDUCF0_INF_STR-ETNAT sy-vline
WA_RPLDUCF0_INF_STR-COSOS sy-vline
WA_RPLDUCF0_INF_STR-CAPEN sy-vline
WA_RPLDUCF0_INF_STR-IDCCA sy-vline
WA_RPLDUCF0_INF_STR-IDCCP sy-vline
WA_RPLDUCF0_INF_STR-RPLDUCF0_MISC sy-vline
WA_RPLDUCF0_INF_STR-BUKRS sy-vline
WA_RPLDUCF0_INF_STR-SIREN sy-vline
WA_RPLDUCF0_INF_STR-NUMIC sy-vline
WA_RPLDUCF0_INF_STR-COT_BEGDA sy-vline
WA_RPLDUCF0_INF_STR-SCREEN_CATEG sy-vline
WA_RPLDUCF0_INF_STR-ADDR_P1 sy-vline
WA_RPLDUCF0_INF_STR-ADDR_P2 sy-vline
WA_RPLDUCF0_INF_STR-ADDR_P3 sy-vline
WA_RPLDUCF0_INF_STR-ADDR_P4 sy-vline
WA_RPLDUCF0_INF_STR-ADDR_P5 sy-vline
WA_RPLDUCF0_INF_STR-ADDR_PTEL sy-vline
WA_RPLDUCF0_INF_STR-ADDR_PFAX sy-vline
WA_RPLDUCF0_INF_STR-PERIOD_CODE sy-vline
WA_RPLDUCF0_INF_STR-ZYEAR sy-vline
WA_RPLDUCF0_INF_STR-MONTH_NAME sy-vline
WA_RPLDUCF0_INF_STR-NB_SALA sy-vline
WA_RPLDUCF0_INF_STR-BASE sy-vline
WA_RPLDUCF0_INF_STR-MNT sy-vline
WA_RPLDUCF0_INF_STR-MNT2 sy-vline
WA_RPLDUCF0_INF_STR-MNT3 sy-vline
WA_RPLDUCF0_INF_STR-MNT4 sy-vline
WA_RPLDUCF0_INF_STR-ADDR_O1 sy-vline
WA_RPLDUCF0_INF_STR-ADDR_O2 sy-vline
WA_RPLDUCF0_INF_STR-ADDR_O3 sy-vline
WA_RPLDUCF0_INF_STR-ADDR_O4 sy-vline
WA_RPLDUCF0_INF_STR-ADDR_O5 sy-vline
WA_RPLDUCF0_INF_STR-ORGTX sy-vline
WA_RPLDUCF0_INF_STR-DATE1 sy-vline
WA_RPLDUCF0_INF_STR-DATE2 sy-vline
WA_RPLDUCF0_INF_STR-DISPLAY_HEADC sy-vline
WA_RPLDUCF0_INF_STR-DISPLAY_MEN sy-vline
WA_RPLDUCF0_INF_STR-DISPLAY_WOMEN sy-vline
WA_RPLDUCF0_INF_STR-C_ENDOP_MEN sy-vline
WA_RPLDUCF0_INF_STR-C_ENDOP_WOMEN sy-vline
WA_RPLDUCF0_INF_STR-C_ENDOP_HEADC sy-vline
WA_RPLDUCF0_INF_STR-INDIC_NEANT sy-vline
WA_RPLDUCF0_INF_STR-PERTY_LABEL sy-vline
WA_RPLDUCF0_INF_STR-DISPLAY_TAUX sy-vline
WA_RPLDUCF0_INF_STR-SIGN_MNT sy-vline
WA_RPLDUCF0_INF_STR-SIGN_MNT2 sy-vline
WA_RPLDUCF0_INF_STR-SIGN_MNT3 sy-vline
WA_RPLDUCF0_INF_STR-SIGN_MNT4 sy-vline
WA_RPLDUCF0_INF_STR-G_DATEPAY sy-vline
WA_RPLDUCF0_INF_STR-DECLL1 sy-vline
WA_RPLDUCF0_INF_STR-DECLL2 sy-vline
WA_RPLDUCF0_INF_STR-DECLTL sy-vline
WA_RPLDUCF0_INF_STR-DECLFX sy-vline
WA_RPLDUCF0_INF_STR-OPTICLINE_FILLER sy-vline
WA_RPLDUCF0_INF_STR-OPTICLINE_SIREN sy-vline
WA_RPLDUCF0_INF_STR-OPTICLINE_NUMIC sy-vline
WA_RPLDUCF0_INF_STR-OPTICLINE_CURR sy-vline
WA_RPLDUCF0_INF_STR-OPTICLINE_PERIOD sy-vline
WA_RPLDUCF0_INF_STR-OPTICLINE_MNT sy-vline
WA_RPLDUCF0_INF_STR-OPTICLINE_SIGN sy-vline
WA_RPLDUCF0_INF_STR-T5F1P_CDAPE sy-vline
WA_RPLDUCF0_INF_STR-T5F1P_URSSA sy-vline
WA_RPLDUCF0_INF_STR-T5F1P_ASSED sy-vline
WA_RPLDUCF0_INF_STR-T5F1P_IASSE sy-vline
WA_RPLDUCF0_INF_STR-PAID_HEADC sy-vline
WA_RPLDUCF0_INF_STR-RPLDUCF0_TAB sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.