ABAP Select data from SAP table RPLAAIF2_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 RPLAAIF2_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 RPLAAIF2_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 RPLAAIF2_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_RPLAAIF2_INF TYPE STANDARD TABLE OF RPLAAIF2_INF,
      WA_RPLAAIF2_INF TYPE RPLAAIF2_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: <RPLAAIF2_INF> TYPE RPLAAIF2_INF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RPLAAIF2_INF
*  INTO TABLE @DATA(IT_RPLAAIF2_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_RPLAAIF2_INF INDEX 1 INTO DATA(WA_RPLAAIF2_INF2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RPLAAIF2_INF ASSIGNING <RPLAAIF2_INF>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RPLAAIF2_INF>-G_COPY_NB = 1.
<RPLAAIF2_INF>-GS_HEADER = 1.
<RPLAAIF2_INF>-TITLE = 1.
<RPLAAIF2_INF>-LAW_ARTCL = 1.
<RPLAAIF2_INF>-PERIOD = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RPLAAIF2_INF-PABRJ, sy-vline,
WA_RPLAAIF2_INF-PABRP, sy-vline,
WA_RPLAAIF2_INF-ORDER_NB, sy-vline,
WA_RPLAAIF2_INF-CERTIFICATION_NB, sy-vline,
WA_RPLAAIF2_INF-DECLARATION_NB, sy-vline,
WA_RPLAAIF2_INF-CONTROL_KEY, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RPLAAIF2_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_RPLAAIF2_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_RPLAAIF2_INF INTO WA_RPLAAIF2_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 PABRJ CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_RPLAAIF2_INF-PABRJ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RPLAAIF2_INF-PABRJ.
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_RPLAAIF2_INF_STR,
G_COPY_NB TYPE STRING,
GS_HEADER TYPE STRING,
TITLE TYPE STRING,
LAW_ARTCL TYPE STRING,
PERIOD TYPE STRING,
PABRJ TYPE STRING,
PABRP TYPE STRING,
ORDER_NB TYPE STRING,
CERTIFICATION_NB TYPE STRING,
DECLARATION_NB TYPE STRING,
CONTROL_KEY TYPE STRING,
INIT_NB TYPE STRING,
CERTIFICATION_NB TYPE STRING,
DECLARATION_NB TYPE STRING,
CONTROL_KEY TYPE STRING,
INITIAL_ TYPE STRING,
COMPLEMENTARY TYPE STRING,
POSITIVE TYPE STRING,
NEGATIVE TYPE STRING,
FOOTER TYPE STRING,
GS_EMPLOYER TYPE STRING,
LEGAL_FORM TYPE STRING,
COMPANY_NAME TYPE STRING,
ANTXT_A TYPE STRING,
ANTXT_B TYPE STRING,
ANTXT_C TYPE STRING,
ANTXT_D TYPE STRING,
ANTXT_E TYPE STRING,
TELNR TYPE STRING,
FAX TYPE STRING,
EMAIL TYPE STRING,
ACTIV TYPE STRING,
SIREN TYPE STRING,
NUMIC TYPE STRING,
SIRET TYPE STRING,
CNACE TYPE STRING,
IASSE TYPE STRING,
LICSPEC_OUI TYPE STRING,
LICSPEC_NON TYPE STRING,
LICSPEC TYPE STRING,
LABPSSV_OUI TYPE STRING,
LABPSSV_NON TYPE STRING,
LABPSSV TYPE STRING,
OOSP_OUI TYPE STRING,
OOSP_NON TYPE STRING,
OOSP TYPE STRING,
ACCS_OUI TYPE STRING,
ACCS_NON TYPE STRING,
ACCS TYPE STRING,
IDCC TYPE STRING,
CONTRACT_IDCC TYPE STRING,
CS_NUM TYPE STRING,
CS_NUM_CHECK TYPE STRING,
GS_EMPLOYEE TYPE STRING,
PERNR TYPE STRING,
NAME2 TYPE STRING,
PNAME TYPE STRING,
CNAME TYPE STRING,
SNAME TYPE STRING,
HSNMR TYPE STRING,
STREET1 TYPE STRING,
STREET2 TYPE STRING,
ADCMP TYPE STRING,
ZIP TYPE STRING,
TOWN TYPE STRING,
NUMSS TYPE STRING,
CLESS TYPE STRING,
PHONE TYPE STRING,
BIRTHDAY TYPE STRING,
RELATION_OUI TYPE STRING,
RELATION_NON TYPE STRING,
RELATIONSHIP TYPE STRING,
FR_CITIZEN TYPE STRING,
UE_CITIZEN TYPE STRING,
EEE_CITIZEN TYPE STRING,
OTHER_CITIZENSHIP TYPE STRING,
GS_CONTRACT TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
CURRENT_FLAG TYPE STRING,
WAGES TYPE STRING,
NBHRS TYPE STRING,
NBHRS_WORK TYPE STRING,
NBHRS_ARTI TYPE STRING,
CACHET TYPE STRING,
NBJRS_WORK TYPE STRING,
BR_AV TYPE STRING,
BS_COTIS TYPE STRING,
TX_COTIS TYPE STRING,
MT_COTIS TYPE STRING,
BS_COTIS_B TYPE STRING,
TX_COTIS_B TYPE STRING,
MT_COTIS_B TYPE STRING,
TOT_COTIS TYPE STRING,
CATEGORY TYPE STRING,
ARTIST TYPE STRING,
DIRECTOR TYPE STRING,
TECHNICIAN TYPE STRING,
WORKER TYPE STRING,
STATUS TYPE STRING,
MANAGER TYPE STRING,
NOT_MANAGER TYPE STRING,
TERMINATION TYPE STRING,
CDD_TERM TYPE STRING,
TERM_ER TYPE STRING,
TERM_EE TYPE STRING,
TERM_MA TYPE STRING,
ANT_END_ER TYPE STRING,
RETIRE_ORG TYPE STRING,
QUAL_TEXT TYPE STRING,
QUAL_CODE TYPE STRING,
OBJNB TYPE STRING,
GS_SIGNATURE TYPE STRING,
NOM_SIG TYPE STRING,
PRN_SIG TYPE STRING,
QUALITE TYPE STRING,
LIEU_SIG TYPE STRING,
RESPONS TYPE STRING,
TELNR TYPE STRING,
TERM_REASON TYPE STRING,
DATE_ TYPE STRING,
T500C TYPE STRING,
MANDT TYPE STRING,
LAND1 TYPE STRING,
ENDDA TYPE STRING,
BEGDA TYPE STRING,
WAERS TYPE STRING,END OF T_EKKO_STR. DATA: WA_RPLAAIF2_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_RPLAAIF2_INF_STR-G_COPY_NB sy-vline
WA_RPLAAIF2_INF_STR-GS_HEADER sy-vline
WA_RPLAAIF2_INF_STR-TITLE sy-vline
WA_RPLAAIF2_INF_STR-LAW_ARTCL sy-vline
WA_RPLAAIF2_INF_STR-PERIOD sy-vline
WA_RPLAAIF2_INF_STR-PABRJ sy-vline
WA_RPLAAIF2_INF_STR-PABRP sy-vline
WA_RPLAAIF2_INF_STR-ORDER_NB sy-vline
WA_RPLAAIF2_INF_STR-CERTIFICATION_NB sy-vline
WA_RPLAAIF2_INF_STR-DECLARATION_NB sy-vline
WA_RPLAAIF2_INF_STR-CONTROL_KEY sy-vline
WA_RPLAAIF2_INF_STR-INIT_NB sy-vline
WA_RPLAAIF2_INF_STR-CERTIFICATION_NB sy-vline
WA_RPLAAIF2_INF_STR-DECLARATION_NB sy-vline
WA_RPLAAIF2_INF_STR-CONTROL_KEY sy-vline
WA_RPLAAIF2_INF_STR-INITIAL_ sy-vline
WA_RPLAAIF2_INF_STR-COMPLEMENTARY sy-vline
WA_RPLAAIF2_INF_STR-POSITIVE sy-vline
WA_RPLAAIF2_INF_STR-NEGATIVE sy-vline
WA_RPLAAIF2_INF_STR-FOOTER sy-vline
WA_RPLAAIF2_INF_STR-GS_EMPLOYER sy-vline
WA_RPLAAIF2_INF_STR-LEGAL_FORM sy-vline
WA_RPLAAIF2_INF_STR-COMPANY_NAME sy-vline
WA_RPLAAIF2_INF_STR-ANTXT_A sy-vline
WA_RPLAAIF2_INF_STR-ANTXT_B sy-vline
WA_RPLAAIF2_INF_STR-ANTXT_C sy-vline
WA_RPLAAIF2_INF_STR-ANTXT_D sy-vline
WA_RPLAAIF2_INF_STR-ANTXT_E sy-vline
WA_RPLAAIF2_INF_STR-TELNR sy-vline
WA_RPLAAIF2_INF_STR-FAX sy-vline
WA_RPLAAIF2_INF_STR-EMAIL sy-vline
WA_RPLAAIF2_INF_STR-ACTIV sy-vline
WA_RPLAAIF2_INF_STR-SIREN sy-vline
WA_RPLAAIF2_INF_STR-NUMIC sy-vline
WA_RPLAAIF2_INF_STR-SIRET sy-vline
WA_RPLAAIF2_INF_STR-CNACE sy-vline
WA_RPLAAIF2_INF_STR-IASSE sy-vline
WA_RPLAAIF2_INF_STR-LICSPEC_OUI sy-vline
WA_RPLAAIF2_INF_STR-LICSPEC_NON sy-vline
WA_RPLAAIF2_INF_STR-LICSPEC sy-vline
WA_RPLAAIF2_INF_STR-LABPSSV_OUI sy-vline
WA_RPLAAIF2_INF_STR-LABPSSV_NON sy-vline
WA_RPLAAIF2_INF_STR-LABPSSV sy-vline
WA_RPLAAIF2_INF_STR-OOSP_OUI sy-vline
WA_RPLAAIF2_INF_STR-OOSP_NON sy-vline
WA_RPLAAIF2_INF_STR-OOSP sy-vline
WA_RPLAAIF2_INF_STR-ACCS_OUI sy-vline
WA_RPLAAIF2_INF_STR-ACCS_NON sy-vline
WA_RPLAAIF2_INF_STR-ACCS sy-vline
WA_RPLAAIF2_INF_STR-IDCC sy-vline
WA_RPLAAIF2_INF_STR-CONTRACT_IDCC sy-vline
WA_RPLAAIF2_INF_STR-CS_NUM sy-vline
WA_RPLAAIF2_INF_STR-CS_NUM_CHECK sy-vline
WA_RPLAAIF2_INF_STR-GS_EMPLOYEE sy-vline
WA_RPLAAIF2_INF_STR-PERNR sy-vline
WA_RPLAAIF2_INF_STR-NAME2 sy-vline
WA_RPLAAIF2_INF_STR-PNAME sy-vline
WA_RPLAAIF2_INF_STR-CNAME sy-vline
WA_RPLAAIF2_INF_STR-SNAME sy-vline
WA_RPLAAIF2_INF_STR-HSNMR sy-vline
WA_RPLAAIF2_INF_STR-STREET1 sy-vline
WA_RPLAAIF2_INF_STR-STREET2 sy-vline
WA_RPLAAIF2_INF_STR-ADCMP sy-vline
WA_RPLAAIF2_INF_STR-ZIP sy-vline
WA_RPLAAIF2_INF_STR-TOWN sy-vline
WA_RPLAAIF2_INF_STR-NUMSS sy-vline
WA_RPLAAIF2_INF_STR-CLESS sy-vline
WA_RPLAAIF2_INF_STR-PHONE sy-vline
WA_RPLAAIF2_INF_STR-BIRTHDAY sy-vline
WA_RPLAAIF2_INF_STR-RELATION_OUI sy-vline
WA_RPLAAIF2_INF_STR-RELATION_NON sy-vline
WA_RPLAAIF2_INF_STR-RELATIONSHIP sy-vline
WA_RPLAAIF2_INF_STR-FR_CITIZEN sy-vline
WA_RPLAAIF2_INF_STR-UE_CITIZEN sy-vline
WA_RPLAAIF2_INF_STR-EEE_CITIZEN sy-vline
WA_RPLAAIF2_INF_STR-OTHER_CITIZENSHIP sy-vline
WA_RPLAAIF2_INF_STR-GS_CONTRACT sy-vline
WA_RPLAAIF2_INF_STR-BEGDA sy-vline
WA_RPLAAIF2_INF_STR-ENDDA sy-vline
WA_RPLAAIF2_INF_STR-CURRENT_FLAG sy-vline
WA_RPLAAIF2_INF_STR-WAGES sy-vline
WA_RPLAAIF2_INF_STR-NBHRS sy-vline
WA_RPLAAIF2_INF_STR-NBHRS_WORK sy-vline
WA_RPLAAIF2_INF_STR-NBHRS_ARTI sy-vline
WA_RPLAAIF2_INF_STR-CACHET sy-vline
WA_RPLAAIF2_INF_STR-NBJRS_WORK sy-vline
WA_RPLAAIF2_INF_STR-BR_AV sy-vline
WA_RPLAAIF2_INF_STR-BS_COTIS sy-vline
WA_RPLAAIF2_INF_STR-TX_COTIS sy-vline
WA_RPLAAIF2_INF_STR-MT_COTIS sy-vline
WA_RPLAAIF2_INF_STR-BS_COTIS_B sy-vline
WA_RPLAAIF2_INF_STR-TX_COTIS_B sy-vline
WA_RPLAAIF2_INF_STR-MT_COTIS_B sy-vline
WA_RPLAAIF2_INF_STR-TOT_COTIS sy-vline
WA_RPLAAIF2_INF_STR-CATEGORY sy-vline
WA_RPLAAIF2_INF_STR-ARTIST sy-vline
WA_RPLAAIF2_INF_STR-DIRECTOR sy-vline
WA_RPLAAIF2_INF_STR-TECHNICIAN sy-vline
WA_RPLAAIF2_INF_STR-WORKER sy-vline
WA_RPLAAIF2_INF_STR-STATUS sy-vline
WA_RPLAAIF2_INF_STR-MANAGER sy-vline
WA_RPLAAIF2_INF_STR-NOT_MANAGER sy-vline
WA_RPLAAIF2_INF_STR-TERMINATION sy-vline
WA_RPLAAIF2_INF_STR-CDD_TERM sy-vline
WA_RPLAAIF2_INF_STR-TERM_ER sy-vline
WA_RPLAAIF2_INF_STR-TERM_EE sy-vline
WA_RPLAAIF2_INF_STR-TERM_MA sy-vline
WA_RPLAAIF2_INF_STR-ANT_END_ER sy-vline
WA_RPLAAIF2_INF_STR-RETIRE_ORG sy-vline
WA_RPLAAIF2_INF_STR-QUAL_TEXT sy-vline
WA_RPLAAIF2_INF_STR-QUAL_CODE sy-vline
WA_RPLAAIF2_INF_STR-OBJNB sy-vline
WA_RPLAAIF2_INF_STR-GS_SIGNATURE sy-vline
WA_RPLAAIF2_INF_STR-NOM_SIG sy-vline
WA_RPLAAIF2_INF_STR-PRN_SIG sy-vline
WA_RPLAAIF2_INF_STR-QUALITE sy-vline
WA_RPLAAIF2_INF_STR-LIEU_SIG sy-vline
WA_RPLAAIF2_INF_STR-RESPONS sy-vline
WA_RPLAAIF2_INF_STR-TELNR sy-vline
WA_RPLAAIF2_INF_STR-TERM_REASON sy-vline
WA_RPLAAIF2_INF_STR-DATE_ sy-vline
WA_RPLAAIF2_INF_STR-T500C sy-vline
WA_RPLAAIF2_INF_STR-MANDT sy-vline
WA_RPLAAIF2_INF_STR-LAND1 sy-vline
WA_RPLAAIF2_INF_STR-ENDDA sy-vline
WA_RPLAAIF2_INF_STR-BEGDA sy-vline
WA_RPLAAIF2_INF_STR-WAERS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.