ABAP Select data from SAP table RPLDATF2_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 RPLDATF2_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 RPLDATF2_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 RPLDATF2_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_RPLDATF2_INF TYPE STANDARD TABLE OF RPLDATF2_INF,
      WA_RPLDATF2_INF TYPE RPLDATF2_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: <RPLDATF2_INF> TYPE RPLDATF2_INF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RPLDATF2_INF
*  INTO TABLE @DATA(IT_RPLDATF2_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_RPLDATF2_INF INDEX 1 INTO DATA(WA_RPLDATF2_INF2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RPLDATF2_INF ASSIGNING <RPLDATF2_INF>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RPLDATF2_INF>-ACCI_DATE = 1.
<RPLDATF2_INF>-ACCI_ANS = 1.
<RPLDATF2_INF>-ACCI_HEURE = 1.
<RPLDATF2_INF>-ACCI_JOUR = 1.
<RPLDATF2_INF>-ACCI_MIN = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RPLDATF2_INF-ACCI_MOIS, sy-vline,
WA_RPLDATF2_INF-CON_REAS, sy-vline,
WA_RPLDATF2_INF-DATE_FULL, sy-vline,
WA_RPLDATF2_INF-DATE_ANS, sy-vline,
WA_RPLDATF2_INF-DATE_HEURE, sy-vline,
WA_RPLDATF2_INF-DATE_JOUR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RPLDATF2_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_RPLDATF2_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_RPLDATF2_INF INTO WA_RPLDATF2_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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_RPLDATF2_INF_STR,
ACCI_DATE TYPE STRING,
ACCI_ANS TYPE STRING,
ACCI_HEURE TYPE STRING,
ACCI_JOUR TYPE STRING,
ACCI_MIN TYPE STRING,
ACCI_MOIS TYPE STRING,
CON_REAS TYPE STRING,
DATE_FULL TYPE STRING,
DATE_ANS TYPE STRING,
DATE_HEURE TYPE STRING,
DATE_JOUR TYPE STRING,
DATE_MIN TYPE STRING,
DATE_MOIS TYPE STRING,
INFI_ANS TYPE STRING,
INFI_JOUR TYPE STRING,
INFI_MOIS TYPE STRING,
INFI_DATE TYPE STRING,
LAND_A TYPE STRING,
LAND_C TYPE STRING,
LAND_F TYPE STRING,
TEXTELEMENT TYPE STRING,
TRA1_HEURE TYPE STRING,
TRA1_MIN TYPE STRING,
TRA2_HEURE TYPE STRING,
TRA2_MIN TYPE STRING,
TRA3_HEURE TYPE STRING,
TRA3_MIN TYPE STRING,
TRA4_HEURE TYPE STRING,
TRA4_MIN TYPE STRING,
LIEU_NAME TYPE STRING,
LIEU_ADDR TYPE STRING,
ABSENCE TYPE STRING,
CON_ATT TYPE STRING,
CONS_ATT TYPE STRING,
HOPITAL TYPE STRING,
NUM_INF TYPE STRING,
VICTIME TYPE STRING,
LIEU_ATT TYPE STRING,
CIRC_ATT TYPE STRING,
BLESSURE TYPE STRING,
NAT_BLES TYPE STRING,
EX_CIRC TYPE STRING,
EX_BLESS TYPE STRING,
EX_NAT TYPE STRING,
EX_LIEU TYPE STRING,
OUI_TEXT TYPE STRING,
NON_TEXT TYPE STRING,
CONE_TEXT TYPE STRING,
CONP_TEXT TYPE STRING,
CONV_TEXT TYPE STRING,
CONS1_TEXT TYPE STRING,
CONS2_TEXT TYPE STRING,
CONS3_TEXT TYPE STRING,
CONREAS1_TEXT TYPE STRING,
CONREAS2_TEXT TYPE STRING,
INFIJOUR_TEXT TYPE STRING,
LIEU_SIRET TYPE STRING,
LIEU_HABIT TYPE STRING,
LIEU_TRAVA TYPE STRING,
LIEU_REPAS TYPE STRING,
LIEU_TRDOM TYPE STRING,
LIEU_TRREP TYPE STRING,
LIEU_DEPLA TYPE STRING,
AT_WORK TYPE STRING,
TO_FROM_WORK TYPE STRING,
NAACC TYPE STRING,
OBJDC TYPE STRING,
EVEMO TYPE STRING,
EX_NAACC TYPE STRING,
EX_OBJDC TYPE STRING,
EX_EVEMO TYPE STRING,
DEVIC TYPE STRING,
CONRE TYPE STRING,
CIRC_TEXT TYPE STRING,
NAAC_TEXT TYPE STRING,
OBJD_TEXT TYPE STRING,
EVEM_TEXT TYPE STRING,
CO_LIEU TYPE STRING,
COMP_LIEU TYPE STRING,
ADNUM_LIEU TYPE STRING,
RUE_LIEU TYPE STRING,
MDIST_LIEU TYPE STRING,
CP_LIEU TYPE STRING,
VIL_LIEU TYPE STRING,
PAYS_LIEU TYPE STRING,
EMPLOYEE TYPE STRING,
CLESS TYPE STRING,
GBDAT TYPE STRING,
GESCH TYPE STRING,
HSNMR TYPE STRING,
LAND1 TYPE STRING,
LOCAT TYPE STRING,
NB_ANS TYPE STRING,
NB_MOI TYPE STRING,
NUMSS TYPE STRING,
ORT01 TYPE STRING,
PHIFI_BEGDA TYPE STRING,
PSTLZ TYPE STRING,
QUALTX TYPE STRING,
SNAME TYPE STRING,
STRAS TYPE STRING,
XEGLD TYPE STRING,
OUI_TEXT TYPE STRING,
NON_TEXT TYPE STRING,
CON_CDD TYPE STRING,
CON_CDI TYPE STRING,
CON_APP TYPE STRING,
CON_INT TYPE STRING,
CON_OTH TYPE STRING,
QUALF TYPE STRING,
LIEU_DIT TYPE STRING,
ENTRE TYPE STRING,
ORT01 TYPE STRING,
PSTLZ TYPE STRING,
RS TYPE STRING,
STRAS TYPE STRING,
TELF1 TYPE STRING,
ETABLIS TYPE STRING,
CODRIS TYPE STRING,
NUMIC TYPE STRING,
ORT01 TYPE STRING,
PSTLZ TYPE STRING,
SIREN TYPE STRING,
STRAS TYPE STRING,
TELF1 TYPE STRING,
LIEU_DIT TYPE STRING,
SIGNATURE TYPE STRING,
SIGN_DATE TYPE STRING,
NACHN TYPE STRING,
PLACE TYPE STRING,
QUALITE TYPE STRING,
VORNA TYPE STRING,
TEMOIN TYPE STRING,
HSNMR TYPE STRING,
LAND1 TYPE STRING,
NOM_RAP TYPE STRING,
ORT01 TYPE STRING,
PSTLZ TYPE STRING,
SNAME TYPE STRING,
STRAS TYPE STRING,
OUI_TEXT TYPE STRING,
NON_TEXT TYPE STRING,
WITNESS TYPE STRING,
FIRST_PER TYPE STRING,
LIEU_DIT TYPE STRING,
TIERS TYPE STRING,
ASS_TIERS TYPE STRING,
HSNMR TYPE STRING,
LAND1 TYPE STRING,
ORT01 TYPE STRING,
PSTLZ TYPE STRING,
SNAME TYPE STRING,
STRAS TYPE STRING,
OUI_TEXT TYPE STRING,
NON_TEXT TYPE STRING,
SANTE TYPE STRING,
NAME TYPE STRING,
ZIP_CODE TYPE STRING,
CITY TYPE STRING,
STREET TYPE STRING,
HOUSE_NO TYPE STRING,
EMP_ADDR TYPE STRING,
TEMOIN_ADDR TYPE STRING,
TIERS_ADDR TYPE STRING,
TIERS_SIGNA TYPE STRING,
SANTE_ADDR TYPE STRING,END OF T_EKKO_STR. DATA: WA_RPLDATF2_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_RPLDATF2_INF_STR-ACCI_DATE sy-vline
WA_RPLDATF2_INF_STR-ACCI_ANS sy-vline
WA_RPLDATF2_INF_STR-ACCI_HEURE sy-vline
WA_RPLDATF2_INF_STR-ACCI_JOUR sy-vline
WA_RPLDATF2_INF_STR-ACCI_MIN sy-vline
WA_RPLDATF2_INF_STR-ACCI_MOIS sy-vline
WA_RPLDATF2_INF_STR-CON_REAS sy-vline
WA_RPLDATF2_INF_STR-DATE_FULL sy-vline
WA_RPLDATF2_INF_STR-DATE_ANS sy-vline
WA_RPLDATF2_INF_STR-DATE_HEURE sy-vline
WA_RPLDATF2_INF_STR-DATE_JOUR sy-vline
WA_RPLDATF2_INF_STR-DATE_MIN sy-vline
WA_RPLDATF2_INF_STR-DATE_MOIS sy-vline
WA_RPLDATF2_INF_STR-INFI_ANS sy-vline
WA_RPLDATF2_INF_STR-INFI_JOUR sy-vline
WA_RPLDATF2_INF_STR-INFI_MOIS sy-vline
WA_RPLDATF2_INF_STR-INFI_DATE sy-vline
WA_RPLDATF2_INF_STR-LAND_A sy-vline
WA_RPLDATF2_INF_STR-LAND_C sy-vline
WA_RPLDATF2_INF_STR-LAND_F sy-vline
WA_RPLDATF2_INF_STR-TEXTELEMENT sy-vline
WA_RPLDATF2_INF_STR-TRA1_HEURE sy-vline
WA_RPLDATF2_INF_STR-TRA1_MIN sy-vline
WA_RPLDATF2_INF_STR-TRA2_HEURE sy-vline
WA_RPLDATF2_INF_STR-TRA2_MIN sy-vline
WA_RPLDATF2_INF_STR-TRA3_HEURE sy-vline
WA_RPLDATF2_INF_STR-TRA3_MIN sy-vline
WA_RPLDATF2_INF_STR-TRA4_HEURE sy-vline
WA_RPLDATF2_INF_STR-TRA4_MIN sy-vline
WA_RPLDATF2_INF_STR-LIEU_NAME sy-vline
WA_RPLDATF2_INF_STR-LIEU_ADDR sy-vline
WA_RPLDATF2_INF_STR-ABSENCE sy-vline
WA_RPLDATF2_INF_STR-CON_ATT sy-vline
WA_RPLDATF2_INF_STR-CONS_ATT sy-vline
WA_RPLDATF2_INF_STR-HOPITAL sy-vline
WA_RPLDATF2_INF_STR-NUM_INF sy-vline
WA_RPLDATF2_INF_STR-VICTIME sy-vline
WA_RPLDATF2_INF_STR-LIEU_ATT sy-vline
WA_RPLDATF2_INF_STR-CIRC_ATT sy-vline
WA_RPLDATF2_INF_STR-BLESSURE sy-vline
WA_RPLDATF2_INF_STR-NAT_BLES sy-vline
WA_RPLDATF2_INF_STR-EX_CIRC sy-vline
WA_RPLDATF2_INF_STR-EX_BLESS sy-vline
WA_RPLDATF2_INF_STR-EX_NAT sy-vline
WA_RPLDATF2_INF_STR-EX_LIEU sy-vline
WA_RPLDATF2_INF_STR-OUI_TEXT sy-vline
WA_RPLDATF2_INF_STR-NON_TEXT sy-vline
WA_RPLDATF2_INF_STR-CONE_TEXT sy-vline
WA_RPLDATF2_INF_STR-CONP_TEXT sy-vline
WA_RPLDATF2_INF_STR-CONV_TEXT sy-vline
WA_RPLDATF2_INF_STR-CONS1_TEXT sy-vline
WA_RPLDATF2_INF_STR-CONS2_TEXT sy-vline
WA_RPLDATF2_INF_STR-CONS3_TEXT sy-vline
WA_RPLDATF2_INF_STR-CONREAS1_TEXT sy-vline
WA_RPLDATF2_INF_STR-CONREAS2_TEXT sy-vline
WA_RPLDATF2_INF_STR-INFIJOUR_TEXT sy-vline
WA_RPLDATF2_INF_STR-LIEU_SIRET sy-vline
WA_RPLDATF2_INF_STR-LIEU_HABIT sy-vline
WA_RPLDATF2_INF_STR-LIEU_TRAVA sy-vline
WA_RPLDATF2_INF_STR-LIEU_REPAS sy-vline
WA_RPLDATF2_INF_STR-LIEU_TRDOM sy-vline
WA_RPLDATF2_INF_STR-LIEU_TRREP sy-vline
WA_RPLDATF2_INF_STR-LIEU_DEPLA sy-vline
WA_RPLDATF2_INF_STR-AT_WORK sy-vline
WA_RPLDATF2_INF_STR-TO_FROM_WORK sy-vline
WA_RPLDATF2_INF_STR-NAACC sy-vline
WA_RPLDATF2_INF_STR-OBJDC sy-vline
WA_RPLDATF2_INF_STR-EVEMO sy-vline
WA_RPLDATF2_INF_STR-EX_NAACC sy-vline
WA_RPLDATF2_INF_STR-EX_OBJDC sy-vline
WA_RPLDATF2_INF_STR-EX_EVEMO sy-vline
WA_RPLDATF2_INF_STR-DEVIC sy-vline
WA_RPLDATF2_INF_STR-CONRE sy-vline
WA_RPLDATF2_INF_STR-CIRC_TEXT sy-vline
WA_RPLDATF2_INF_STR-NAAC_TEXT sy-vline
WA_RPLDATF2_INF_STR-OBJD_TEXT sy-vline
WA_RPLDATF2_INF_STR-EVEM_TEXT sy-vline
WA_RPLDATF2_INF_STR-CO_LIEU sy-vline
WA_RPLDATF2_INF_STR-COMP_LIEU sy-vline
WA_RPLDATF2_INF_STR-ADNUM_LIEU sy-vline
WA_RPLDATF2_INF_STR-RUE_LIEU sy-vline
WA_RPLDATF2_INF_STR-MDIST_LIEU sy-vline
WA_RPLDATF2_INF_STR-CP_LIEU sy-vline
WA_RPLDATF2_INF_STR-VIL_LIEU sy-vline
WA_RPLDATF2_INF_STR-PAYS_LIEU sy-vline
WA_RPLDATF2_INF_STR-EMPLOYEE sy-vline
WA_RPLDATF2_INF_STR-CLESS sy-vline
WA_RPLDATF2_INF_STR-GBDAT sy-vline
WA_RPLDATF2_INF_STR-GESCH sy-vline
WA_RPLDATF2_INF_STR-HSNMR sy-vline
WA_RPLDATF2_INF_STR-LAND1 sy-vline
WA_RPLDATF2_INF_STR-LOCAT sy-vline
WA_RPLDATF2_INF_STR-NB_ANS sy-vline
WA_RPLDATF2_INF_STR-NB_MOI sy-vline
WA_RPLDATF2_INF_STR-NUMSS sy-vline
WA_RPLDATF2_INF_STR-ORT01 sy-vline
WA_RPLDATF2_INF_STR-PHIFI_BEGDA sy-vline
WA_RPLDATF2_INF_STR-PSTLZ sy-vline
WA_RPLDATF2_INF_STR-QUALTX sy-vline
WA_RPLDATF2_INF_STR-SNAME sy-vline
WA_RPLDATF2_INF_STR-STRAS sy-vline
WA_RPLDATF2_INF_STR-XEGLD sy-vline
WA_RPLDATF2_INF_STR-OUI_TEXT sy-vline
WA_RPLDATF2_INF_STR-NON_TEXT sy-vline
WA_RPLDATF2_INF_STR-CON_CDD sy-vline
WA_RPLDATF2_INF_STR-CON_CDI sy-vline
WA_RPLDATF2_INF_STR-CON_APP sy-vline
WA_RPLDATF2_INF_STR-CON_INT sy-vline
WA_RPLDATF2_INF_STR-CON_OTH sy-vline
WA_RPLDATF2_INF_STR-QUALF sy-vline
WA_RPLDATF2_INF_STR-LIEU_DIT sy-vline
WA_RPLDATF2_INF_STR-ENTRE sy-vline
WA_RPLDATF2_INF_STR-ORT01 sy-vline
WA_RPLDATF2_INF_STR-PSTLZ sy-vline
WA_RPLDATF2_INF_STR-RS sy-vline
WA_RPLDATF2_INF_STR-STRAS sy-vline
WA_RPLDATF2_INF_STR-TELF1 sy-vline
WA_RPLDATF2_INF_STR-ETABLIS sy-vline
WA_RPLDATF2_INF_STR-CODRIS sy-vline
WA_RPLDATF2_INF_STR-NUMIC sy-vline
WA_RPLDATF2_INF_STR-ORT01 sy-vline
WA_RPLDATF2_INF_STR-PSTLZ sy-vline
WA_RPLDATF2_INF_STR-SIREN sy-vline
WA_RPLDATF2_INF_STR-STRAS sy-vline
WA_RPLDATF2_INF_STR-TELF1 sy-vline
WA_RPLDATF2_INF_STR-LIEU_DIT sy-vline
WA_RPLDATF2_INF_STR-SIGNATURE sy-vline
WA_RPLDATF2_INF_STR-SIGN_DATE sy-vline
WA_RPLDATF2_INF_STR-NACHN sy-vline
WA_RPLDATF2_INF_STR-PLACE sy-vline
WA_RPLDATF2_INF_STR-QUALITE sy-vline
WA_RPLDATF2_INF_STR-VORNA sy-vline
WA_RPLDATF2_INF_STR-TEMOIN sy-vline
WA_RPLDATF2_INF_STR-HSNMR sy-vline
WA_RPLDATF2_INF_STR-LAND1 sy-vline
WA_RPLDATF2_INF_STR-NOM_RAP sy-vline
WA_RPLDATF2_INF_STR-ORT01 sy-vline
WA_RPLDATF2_INF_STR-PSTLZ sy-vline
WA_RPLDATF2_INF_STR-SNAME sy-vline
WA_RPLDATF2_INF_STR-STRAS sy-vline
WA_RPLDATF2_INF_STR-OUI_TEXT sy-vline
WA_RPLDATF2_INF_STR-NON_TEXT sy-vline
WA_RPLDATF2_INF_STR-WITNESS sy-vline
WA_RPLDATF2_INF_STR-FIRST_PER sy-vline
WA_RPLDATF2_INF_STR-LIEU_DIT sy-vline
WA_RPLDATF2_INF_STR-TIERS sy-vline
WA_RPLDATF2_INF_STR-ASS_TIERS sy-vline
WA_RPLDATF2_INF_STR-HSNMR sy-vline
WA_RPLDATF2_INF_STR-LAND1 sy-vline
WA_RPLDATF2_INF_STR-ORT01 sy-vline
WA_RPLDATF2_INF_STR-PSTLZ sy-vline
WA_RPLDATF2_INF_STR-SNAME sy-vline
WA_RPLDATF2_INF_STR-STRAS sy-vline
WA_RPLDATF2_INF_STR-OUI_TEXT sy-vline
WA_RPLDATF2_INF_STR-NON_TEXT sy-vline
WA_RPLDATF2_INF_STR-SANTE sy-vline
WA_RPLDATF2_INF_STR-NAME sy-vline
WA_RPLDATF2_INF_STR-ZIP_CODE sy-vline
WA_RPLDATF2_INF_STR-CITY sy-vline
WA_RPLDATF2_INF_STR-STREET sy-vline
WA_RPLDATF2_INF_STR-HOUSE_NO sy-vline
WA_RPLDATF2_INF_STR-EMP_ADDR sy-vline
WA_RPLDATF2_INF_STR-TEMOIN_ADDR sy-vline
WA_RPLDATF2_INF_STR-TIERS_ADDR sy-vline
WA_RPLDATF2_INF_STR-TIERS_SIGNA sy-vline
WA_RPLDATF2_INF_STR-SANTE_ADDR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.