ABAP Select data from SAP table IFMFGAAPAYSEL 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 IFMFGAAPAYSEL 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 IFMFGAAPAYSEL. 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 IFMFGAAPAYSEL 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_IFMFGAAPAYSEL TYPE STANDARD TABLE OF IFMFGAAPAYSEL, WA_IFMFGAAPAYSEL TYPE IFMFGAAPAYSEL, 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: <IFMFGAAPAYSEL> TYPE IFMFGAAPAYSEL. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_IFMFGAAPAYSEL. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM IFMFGAAPAYSEL INTO TABLE IT_IFMFGAAPAYSEL. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM IFMFGAAPAYSEL * INTO TABLE @DATA(IT_IFMFGAAPAYSEL2). *--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_IFMFGAAPAYSEL INDEX 1 INTO DATA(WA_IFMFGAAPAYSEL2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_IFMFGAAPAYSEL ASSIGNING <IFMFGAAPAYSEL>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<IFMFGAAPAYSEL>-BLDAT = 1.
<IFMFGAAPAYSEL>-BUDAT = 1.
<IFMFGAAPAYSEL>-BLART = 1.
<IFMFGAAPAYSEL>-MONAT = 1.
<IFMFGAAPAYSEL>-WAERS = 1.
ENDLOOP. LOOP AT IT_IFMFGAAPAYSEL INTO WA_IFMFGAAPAYSEL. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_IFMFGAAPAYSEL-OI_BSCHL, sy-vline,
WA_IFMFGAAPAYSEL-BANKAC, sy-vline,
WA_IFMFGAAPAYSEL-WRBTR, sy-vline,
WA_IFMFGAAPAYSEL-AMT_ENTER, sy-vline,
WA_IFMFGAAPAYSEL-AMT_ASG, sy-vline,
WA_IFMFGAAPAYSEL-AMT_UNASG, sy-vline.
ENDLOOP. *Add any further fields from structure WA_IFMFGAAPAYSEL 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_IFMFGAAPAYSEL 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_IFMFGAAPAYSEL INTO WA_IFMFGAAPAYSEL. *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 BANKAC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-BANKAC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-BANKAC.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AU132, internal->external for field WRBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-WRBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-WRBTR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field AMT_ENTER CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-AMT_ENTER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-AMT_ENTER.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field AMT_ASG CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-AMT_ASG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-AMT_ASG.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field AMT_UNASG CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-AMT_UNASG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-AMT_UNASG.
WRITE:/ 'New Value:', ld_input.
*Conversion exit GJAHR, internal->external for field REFGJAHR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-REFGJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-REFGJAHR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field REFBELNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-REFBELNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-REFBELNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field REFLIFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-REFLIFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-REFLIFNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field REFKUNNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-REFKUNNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-REFKUNNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field LEDGER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-LEDGER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-LEDGER.
WRITE:/ 'New Value:', ld_input.
*Conversion exit FMCIL, internal->external for field FIPEX CALL FUNCTION 'CONVERSION_EXIT_FMCIL_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-FIPEX IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-FIPEX.
WRITE:/ 'New Value:', ld_input.
*Conversion exit FMCIS, internal->external for field FIPOS CALL FUNCTION 'CONVERSION_EXIT_FMCIS_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-FIPOS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-FIPOS.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field GRANT_NBR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IFMFGAAPAYSEL-GRANT_NBR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IFMFGAAPAYSEL-GRANT_NBR.
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_IFMFGAAPAYSEL_STR,
BLDAT TYPE STRING,
BUDAT TYPE STRING,
BLART TYPE STRING,
MONAT TYPE STRING,
WAERS TYPE STRING,
OI_BSCHL TYPE STRING,
BANKAC TYPE STRING,
WRBTR TYPE STRING,
AMT_ENTER TYPE STRING,
AMT_ASG TYPE STRING,
AMT_UNASG TYPE STRING,
BSCHL TYPE STRING,
VALUT TYPE STRING,
SGTXT TYPE STRING,
ZUONR TYPE STRING,
XBLNR TYPE STRING,
REFBUKRS TYPE STRING,
REFGJAHR TYPE STRING,
REFBELNR TYPE STRING,
REFLIFNR TYPE STRING,
REFKUNNR TYPE STRING,
REFBLINE TYPE STRING,
REFBLART TYPE STRING,
REFWAERS TYPE STRING,
REFUSNAM TYPE STRING,
REFBLDAT TYPE STRING,
REFBUDAT TYPE STRING,
LEDGER TYPE STRING,
FISTL TYPE STRING,
GEBER TYPE STRING,
FIPEX TYPE STRING,
FIPOS TYPE STRING,
FKBER TYPE STRING,
MEASURE TYPE STRING,
GSBER TYPE STRING,
BUDGET_PD TYPE STRING,
GRANT_NBR TYPE STRING,
FMCMMTSTR TYPE STRING,END OF T_EKKO_STR. DATA: WA_IFMFGAAPAYSEL_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_IFMFGAAPAYSEL_STR-BLDAT sy-vline
WA_IFMFGAAPAYSEL_STR-BUDAT sy-vline
WA_IFMFGAAPAYSEL_STR-BLART sy-vline
WA_IFMFGAAPAYSEL_STR-MONAT sy-vline
WA_IFMFGAAPAYSEL_STR-WAERS sy-vline
WA_IFMFGAAPAYSEL_STR-OI_BSCHL sy-vline
WA_IFMFGAAPAYSEL_STR-BANKAC sy-vline
WA_IFMFGAAPAYSEL_STR-WRBTR sy-vline
WA_IFMFGAAPAYSEL_STR-AMT_ENTER sy-vline
WA_IFMFGAAPAYSEL_STR-AMT_ASG sy-vline
WA_IFMFGAAPAYSEL_STR-AMT_UNASG sy-vline
WA_IFMFGAAPAYSEL_STR-BSCHL sy-vline
WA_IFMFGAAPAYSEL_STR-VALUT sy-vline
WA_IFMFGAAPAYSEL_STR-SGTXT sy-vline
WA_IFMFGAAPAYSEL_STR-ZUONR sy-vline
WA_IFMFGAAPAYSEL_STR-XBLNR sy-vline
WA_IFMFGAAPAYSEL_STR-REFBUKRS sy-vline
WA_IFMFGAAPAYSEL_STR-REFGJAHR sy-vline
WA_IFMFGAAPAYSEL_STR-REFBELNR sy-vline
WA_IFMFGAAPAYSEL_STR-REFLIFNR sy-vline
WA_IFMFGAAPAYSEL_STR-REFKUNNR sy-vline
WA_IFMFGAAPAYSEL_STR-REFBLINE sy-vline
WA_IFMFGAAPAYSEL_STR-REFBLART sy-vline
WA_IFMFGAAPAYSEL_STR-REFWAERS sy-vline
WA_IFMFGAAPAYSEL_STR-REFUSNAM sy-vline
WA_IFMFGAAPAYSEL_STR-REFBLDAT sy-vline
WA_IFMFGAAPAYSEL_STR-REFBUDAT sy-vline
WA_IFMFGAAPAYSEL_STR-LEDGER sy-vline
WA_IFMFGAAPAYSEL_STR-FISTL sy-vline
WA_IFMFGAAPAYSEL_STR-GEBER sy-vline
WA_IFMFGAAPAYSEL_STR-FIPEX sy-vline
WA_IFMFGAAPAYSEL_STR-FIPOS sy-vline
WA_IFMFGAAPAYSEL_STR-FKBER sy-vline
WA_IFMFGAAPAYSEL_STR-MEASURE sy-vline
WA_IFMFGAAPAYSEL_STR-GSBER sy-vline
WA_IFMFGAAPAYSEL_STR-BUDGET_PD sy-vline
WA_IFMFGAAPAYSEL_STR-GRANT_NBR sy-vline
WA_IFMFGAAPAYSEL_STR-FMCMMTSTR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.