ABAP Select data from SAP table FINS_CFIN_S_CPAY_PAYR_MIGR 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 FINS_CFIN_S_CPAY_PAYR_MIGR 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 FINS_CFIN_S_CPAY_PAYR_MIGR. 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 FINS_CFIN_S_CPAY_PAYR_MIGR 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_FINS_CFIN_S_CPAY_PAYR_MIGR TYPE STANDARD TABLE OF FINS_CFIN_S_CPAY_PAYR_MIGR,
      WA_FINS_CFIN_S_CPAY_PAYR_MIGR TYPE FINS_CFIN_S_CPAY_PAYR_MIGR,
      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: <FINS_CFIN_S_CPAY_PAYR_MIGR> TYPE FINS_CFIN_S_CPAY_PAYR_MIGR.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM FINS_CFIN_S_CPAY_PAYR_MIGR
*  INTO TABLE @DATA(IT_FINS_CFIN_S_CPAY_PAYR_MIGR2).
*--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_FINS_CFIN_S_CPAY_PAYR_MIGR INDEX 1 INTO DATA(WA_FINS_CFIN_S_CPAY_PAYR_MIGR2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_FINS_CFIN_S_CPAY_PAYR_MIGR ASSIGNING <FINS_CFIN_S_CPAY_PAYR_MIGR>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<FINS_CFIN_S_CPAY_PAYR_MIGR>-ZBUKR_SRC = 1.
<FINS_CFIN_S_CPAY_PAYR_MIGR>-HBKID_SRC = 1.
<FINS_CFIN_S_CPAY_PAYR_MIGR>-HKTID_SRC = 1.
<FINS_CFIN_S_CPAY_PAYR_MIGR>-RZAWE_SRC = 1.
<FINS_CFIN_S_CPAY_PAYR_MIGR>-CHECT_SRC = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_FINS_CFIN_S_CPAY_PAYR_MIGR-LOGSYS_SRC, sy-vline,
WA_FINS_CFIN_S_CPAY_PAYR_MIGR-MANDT, sy-vline,
WA_FINS_CFIN_S_CPAY_PAYR_MIGR-ZBUKR, sy-vline,
WA_FINS_CFIN_S_CPAY_PAYR_MIGR-HBKID, sy-vline,
WA_FINS_CFIN_S_CPAY_PAYR_MIGR-HKTID, sy-vline,
WA_FINS_CFIN_S_CPAY_PAYR_MIGR-RZAWE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FINS_CFIN_S_CPAY_PAYR_MIGR 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_FINS_CFIN_S_CPAY_PAYR_MIGR 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_FINS_CFIN_S_CPAY_PAYR_MIGR INTO WA_FINS_CFIN_S_CPAY_PAYR_MIGR. *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 LOGSYS_SRC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FINS_CFIN_S_CPAY_PAYR_MIGR-LOGSYS_SRC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FINS_CFIN_S_CPAY_PAYR_MIGR-LOGSYS_SRC.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

*Conversion exit AC132, internal->external for field RWBTR CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_FINS_CFIN_S_CPAY_PAYR_MIGR-RWBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FINS_CFIN_S_CPAY_PAYR_MIGR-RWBTR.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit AC132, internal->external for field RWSKT CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_FINS_CFIN_S_CPAY_PAYR_MIGR-RWSKT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FINS_CFIN_S_CPAY_PAYR_MIGR-RWSKT.
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_FINS_CFIN_S_CPAY_PAYR_MIGR_STR,
ZBUKR_SRC TYPE STRING,
HBKID_SRC TYPE STRING,
HKTID_SRC TYPE STRING,
RZAWE_SRC TYPE STRING,
CHECT_SRC TYPE STRING,
LOGSYS_SRC TYPE STRING,
MANDT TYPE STRING,
ZBUKR TYPE STRING,
HBKID TYPE STRING,
HKTID TYPE STRING,
RZAWE TYPE STRING,
CHECT TYPE STRING,
CHECF TYPE STRING,
LAUFD TYPE STRING,
LAUFI TYPE STRING,
LIFNR TYPE STRING,
KUNNR TYPE STRING,
EMPFG TYPE STRING,
UBHKT TYPE STRING,
VBLNR TYPE STRING,
GJAHR TYPE STRING,
ZALDT TYPE STRING,
WAERS TYPE STRING,
RWBTR TYPE STRING,
STRGB TYPE STRING,
PRIDT TYPE STRING,
PRITI TYPE STRING,
PRIUS TYPE STRING,
XMANU TYPE STRING,
XBANC TYPE STRING,
BANCD TYPE STRING,
EXTRD TYPE STRING,
EXTRT TYPE STRING,
XBUKR TYPE STRING,
ZANRE TYPE STRING,
ZNME1 TYPE STRING,
ZNME2 TYPE STRING,
ZNME3 TYPE STRING,
ZNME4 TYPE STRING,
ZPSTL TYPE STRING,
ZORT1 TYPE STRING,
ZSTRA TYPE STRING,
ZPFAC TYPE STRING,
ZLAND TYPE STRING,
ZREGI TYPE STRING,
ZBNKS TYPE STRING,
ZBNKN TYPE STRING,
ZBNKL TYPE STRING,
ZBKON TYPE STRING,
ZSWIF TYPE STRING,
ZIBAN TYPE STRING,
UETR TYPE STRING,
VOIDR TYPE STRING,
VOIDD TYPE STRING,
VOIDU TYPE STRING,
CHECV TYPE STRING,
HBKIV TYPE STRING,
HKTIV TYPE STRING,
ZPST2 TYPE STRING,
XRAGL TYPE STRING,
PERNR TYPE STRING,
SEQNR TYPE STRING,
BTZNR TYPE STRING,
REC_BELNR TYPE STRING,
REC_GJAHR TYPE STRING,
ZPFOR TYPE STRING,
UZAWE TYPE STRING,
ICHEC TYPE STRING,
IREFE TYPE STRING,
DUMMY_CHECKMNG_INCL_EEW_PS TYPE STRING,
RWSKT TYPE STRING,
CHECKTYPE TYPE STRING,
KTOPL TYPE STRING,
LAND1 TYPE STRING,END OF T_EKKO_STR. DATA: WA_FINS_CFIN_S_CPAY_PAYR_MIGR_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_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZBUKR_SRC sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-HBKID_SRC sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-HKTID_SRC sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-RZAWE_SRC sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-CHECT_SRC sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-LOGSYS_SRC sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-MANDT sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZBUKR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-HBKID sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-HKTID sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-RZAWE sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-CHECT sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-CHECF sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-LAUFD sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-LAUFI sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-LIFNR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-KUNNR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-EMPFG sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-UBHKT sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-VBLNR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-GJAHR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZALDT sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-WAERS sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-RWBTR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-STRGB sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-PRIDT sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-PRITI sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-PRIUS sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-XMANU sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-XBANC sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-BANCD sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-EXTRD sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-EXTRT sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-XBUKR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZANRE sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZNME1 sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZNME2 sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZNME3 sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZNME4 sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZPSTL sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZORT1 sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZSTRA sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZPFAC sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZLAND sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZREGI sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZBNKS sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZBNKN sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZBNKL sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZBKON sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZSWIF sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZIBAN sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-UETR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-VOIDR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-VOIDD sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-VOIDU sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-CHECV sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-HBKIV sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-HKTIV sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZPST2 sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-XRAGL sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-PERNR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-SEQNR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-BTZNR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-REC_BELNR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-REC_GJAHR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ZPFOR sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-UZAWE sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-ICHEC sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-IREFE sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-DUMMY_CHECKMNG_INCL_EEW_PS sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-RWSKT sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-CHECKTYPE sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-KTOPL sy-vline
WA_FINS_CFIN_S_CPAY_PAYR_MIGR_STR-LAND1 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.