ABAP Select data from SAP table FCLM_S_FA 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 FCLM_S_FA 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 FCLM_S_FA. 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 FCLM_S_FA 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_FCLM_S_FA TYPE STANDARD TABLE OF FCLM_S_FA,
      WA_FCLM_S_FA TYPE FCLM_S_FA,
      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: <FCLM_S_FA> TYPE FCLM_S_FA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM FCLM_S_FA
*  INTO TABLE @DATA(IT_FCLM_S_FA2).
*--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_FCLM_S_FA INDEX 1 INTO DATA(WA_FCLM_S_FA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_FCLM_S_FA ASSIGNING <FCLM_S_FA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<FCLM_S_FA>-GENERATED_ID = 1.
<FCLM_S_FA>-DISPLAYCURRENCY = 1.
<FCLM_S_FA>-CYCLEPATTERN = 1.
<FCLM_S_FA>-EXRATETYPE = 1.
<FCLM_S_FA>-KEYDATE = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_FCLM_S_FA-VIEW_TYPE_EXT, sy-vline,
WA_FCLM_S_FA-VIEW_TYPE, sy-vline,
WA_FCLM_S_FA-ACTUALDATE, sy-vline,
WA_FCLM_S_FA-CALENDAR, sy-vline,
WA_FCLM_S_FA-ISBANKCURRENCY, sy-vline,
WA_FCLM_S_FA-CALENDAREND, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FCLM_S_FA 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_FCLM_S_FA 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_FCLM_S_FA INTO WA_FCLM_S_FA. *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 DIRECTION CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FCLM_S_FA-DIRECTION IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FCLM_S_FA-DIRECTION.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field TRADINGPARTNER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FCLM_S_FA-TRADINGPARTNER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FCLM_S_FA-TRADINGPARTNER.
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_FCLM_S_FA_STR,
GENERATED_ID TYPE STRING,
DISPLAYCURRENCY TYPE STRING,
CYCLEPATTERN TYPE STRING,
EXRATETYPE TYPE STRING,
KEYDATE TYPE STRING,
VIEW_TYPE_EXT TYPE STRING,
VIEW_TYPE TYPE STRING,
ACTUALDATE TYPE STRING,
CALENDAR TYPE STRING,
ISBANKCURRENCY TYPE STRING,
CALENDAREND TYPE STRING,
DIRECTION TYPE STRING,
PROFITCENTER TYPE STRING,
BANK TYPE STRING,
BANKACCOUNTGROUP TYPE STRING,
DUMMY_FIELD TYPE STRING,
BANKACCOUNTTYPE TYPE STRING,
FIDOCUMENTTYPE TYPE STRING,
BANKCOUNTRY TYPE STRING,
BANKACCOUNT TYPE STRING,
BANKACCOUNTNAME TYPE STRING,
BANKGROUPNAME TYPE STRING,
BANKRATING TYPE STRING,
BANKGROUP TYPE STRING,
CERTAINTYLEVEL TYPE STRING,
SUMMARIZATIONTERM TYPE STRING,
SUMMARIZATIONGROUP TYPE STRING,
ACCID TYPE STRING,
COMPANYCODE TYPE STRING,
COMPANYCODENAME TYPE STRING,
GLACCOUNT TYPE STRING,
BANKACCOUNTCURRENCY TYPE STRING,
CASHPLANNINGGROUP TYPE STRING,
CASHPLANNINGGROUPNAME TYPE STRING,
CASHPLANNINGGROUPDESC TYPE STRING,
PAYMENTMETHOD TYPE STRING,
OVERDUEPLANNINGLEVEL TYPE STRING,
DISPLAYPLANNINGLEVEL TYPE STRING,
PLANNINGLEVEL TYPE STRING,
PLANNINGLEVELNAME TYPE STRING,
PLANNINGLEVELDESC TYPE STRING,
LIQUIDITYITEMNAME TYPE STRING,
LIQUIDITYITEM TYPE STRING,
HOUSEBANK TYPE STRING,
HOUSEBANKACCOUNT TYPE STRING,
CONVERT_OVERDUE TYPE STRING,
OVERDUE TYPE STRING,
CONVERT_DATA1 TYPE STRING,
DATA1 TYPE STRING,
CONVERT_DATA2 TYPE STRING,
DATA2 TYPE STRING,
CONVERT_DATA3 TYPE STRING,
DATA3 TYPE STRING,
CONVERT_DATA4 TYPE STRING,
DATA4 TYPE STRING,
CONVERT_DATA5 TYPE STRING,
DATA5 TYPE STRING,
CONVERT_DATA6 TYPE STRING,
DATA6 TYPE STRING,
CONVERT_DATA7 TYPE STRING,
DATA7 TYPE STRING,
CONVERT_DATA8 TYPE STRING,
DATA8 TYPE STRING,
CONVERT_DATA9 TYPE STRING,
DATA9 TYPE STRING,
CONVERT_DATA10 TYPE STRING,
DATA10 TYPE STRING,
CONVERT_DATA11 TYPE STRING,
DATA11 TYPE STRING,
CONVERT_DATA12 TYPE STRING,
DATA12 TYPE STRING,
CONVERT_DATA13 TYPE STRING,
DATA13 TYPE STRING,
CONVERT_DATA14 TYPE STRING,
DATA14 TYPE STRING,
CONVERT_DATA15 TYPE STRING,
DATA15 TYPE STRING,
CONVERT_DATA16 TYPE STRING,
DATA16 TYPE STRING,
CONVERT_DATA17 TYPE STRING,
DATA17 TYPE STRING,
CONVERT_DATA18 TYPE STRING,
DATA18 TYPE STRING,
CONVERT_DATA19 TYPE STRING,
DATA19 TYPE STRING,
CONVERT_DATA20 TYPE STRING,
DATA20 TYPE STRING,
CONVERT_DATA21 TYPE STRING,
DATA21 TYPE STRING,
CONVERT_DATA22 TYPE STRING,
DATA22 TYPE STRING,
CONVERT_DATA23 TYPE STRING,
DATA23 TYPE STRING,
CONVERT_DATA24 TYPE STRING,
DATA24 TYPE STRING,
CONVERT_DATA25 TYPE STRING,
DATA25 TYPE STRING,
CONVERT_DATA26 TYPE STRING,
DATA26 TYPE STRING,
CONVERT_DATA27 TYPE STRING,
DATA27 TYPE STRING,
CONVERT_DATA28 TYPE STRING,
DATA28 TYPE STRING,
CONVERT_DATA29 TYPE STRING,
DATA29 TYPE STRING,
CONVERT_DATA30 TYPE STRING,
DATA30 TYPE STRING,
CONVERT_DATA31 TYPE STRING,
DATA31 TYPE STRING,
CONVERT_DATA32 TYPE STRING,
DATA32 TYPE STRING,
CNT TYPE STRING,
PREVIOUSFLAG TYPE STRING,
ENDOFPERIOD TYPE STRING,
LIQUIDITYITEMDESC TYPE STRING,
BUSINESSAREA TYPE STRING,
SEGMENT TYPE STRING,
TRADINGPARTNER TYPE STRING,
HISTORICAL_TIMESTAMP TYPE STRING,
RELEASE_STATUS TYPE STRING,
RECONCILIATION_STATUS TYPE STRING,
RELEASE_FLAG TYPE STRING,
DATE_INDICATOR TYPE STRING,END OF T_EKKO_STR. DATA: WA_FCLM_S_FA_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_FCLM_S_FA_STR-GENERATED_ID sy-vline
WA_FCLM_S_FA_STR-DISPLAYCURRENCY sy-vline
WA_FCLM_S_FA_STR-CYCLEPATTERN sy-vline
WA_FCLM_S_FA_STR-EXRATETYPE sy-vline
WA_FCLM_S_FA_STR-KEYDATE sy-vline
WA_FCLM_S_FA_STR-VIEW_TYPE_EXT sy-vline
WA_FCLM_S_FA_STR-VIEW_TYPE sy-vline
WA_FCLM_S_FA_STR-ACTUALDATE sy-vline
WA_FCLM_S_FA_STR-CALENDAR sy-vline
WA_FCLM_S_FA_STR-ISBANKCURRENCY sy-vline
WA_FCLM_S_FA_STR-CALENDAREND sy-vline
WA_FCLM_S_FA_STR-DIRECTION sy-vline
WA_FCLM_S_FA_STR-PROFITCENTER sy-vline
WA_FCLM_S_FA_STR-BANK sy-vline
WA_FCLM_S_FA_STR-BANKACCOUNTGROUP sy-vline
WA_FCLM_S_FA_STR-DUMMY_FIELD sy-vline
WA_FCLM_S_FA_STR-BANKACCOUNTTYPE sy-vline
WA_FCLM_S_FA_STR-FIDOCUMENTTYPE sy-vline
WA_FCLM_S_FA_STR-BANKCOUNTRY sy-vline
WA_FCLM_S_FA_STR-BANKACCOUNT sy-vline
WA_FCLM_S_FA_STR-BANKACCOUNTNAME sy-vline
WA_FCLM_S_FA_STR-BANKGROUPNAME sy-vline
WA_FCLM_S_FA_STR-BANKRATING sy-vline
WA_FCLM_S_FA_STR-BANKGROUP sy-vline
WA_FCLM_S_FA_STR-CERTAINTYLEVEL sy-vline
WA_FCLM_S_FA_STR-SUMMARIZATIONTERM sy-vline
WA_FCLM_S_FA_STR-SUMMARIZATIONGROUP sy-vline
WA_FCLM_S_FA_STR-ACCID sy-vline
WA_FCLM_S_FA_STR-COMPANYCODE sy-vline
WA_FCLM_S_FA_STR-COMPANYCODENAME sy-vline
WA_FCLM_S_FA_STR-GLACCOUNT sy-vline
WA_FCLM_S_FA_STR-BANKACCOUNTCURRENCY sy-vline
WA_FCLM_S_FA_STR-CASHPLANNINGGROUP sy-vline
WA_FCLM_S_FA_STR-CASHPLANNINGGROUPNAME sy-vline
WA_FCLM_S_FA_STR-CASHPLANNINGGROUPDESC sy-vline
WA_FCLM_S_FA_STR-PAYMENTMETHOD sy-vline
WA_FCLM_S_FA_STR-OVERDUEPLANNINGLEVEL sy-vline
WA_FCLM_S_FA_STR-DISPLAYPLANNINGLEVEL sy-vline
WA_FCLM_S_FA_STR-PLANNINGLEVEL sy-vline
WA_FCLM_S_FA_STR-PLANNINGLEVELNAME sy-vline
WA_FCLM_S_FA_STR-PLANNINGLEVELDESC sy-vline
WA_FCLM_S_FA_STR-LIQUIDITYITEMNAME sy-vline
WA_FCLM_S_FA_STR-LIQUIDITYITEM sy-vline
WA_FCLM_S_FA_STR-HOUSEBANK sy-vline
WA_FCLM_S_FA_STR-HOUSEBANKACCOUNT sy-vline
WA_FCLM_S_FA_STR-CONVERT_OVERDUE sy-vline
WA_FCLM_S_FA_STR-OVERDUE sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA1 sy-vline
WA_FCLM_S_FA_STR-DATA1 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA2 sy-vline
WA_FCLM_S_FA_STR-DATA2 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA3 sy-vline
WA_FCLM_S_FA_STR-DATA3 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA4 sy-vline
WA_FCLM_S_FA_STR-DATA4 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA5 sy-vline
WA_FCLM_S_FA_STR-DATA5 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA6 sy-vline
WA_FCLM_S_FA_STR-DATA6 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA7 sy-vline
WA_FCLM_S_FA_STR-DATA7 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA8 sy-vline
WA_FCLM_S_FA_STR-DATA8 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA9 sy-vline
WA_FCLM_S_FA_STR-DATA9 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA10 sy-vline
WA_FCLM_S_FA_STR-DATA10 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA11 sy-vline
WA_FCLM_S_FA_STR-DATA11 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA12 sy-vline
WA_FCLM_S_FA_STR-DATA12 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA13 sy-vline
WA_FCLM_S_FA_STR-DATA13 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA14 sy-vline
WA_FCLM_S_FA_STR-DATA14 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA15 sy-vline
WA_FCLM_S_FA_STR-DATA15 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA16 sy-vline
WA_FCLM_S_FA_STR-DATA16 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA17 sy-vline
WA_FCLM_S_FA_STR-DATA17 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA18 sy-vline
WA_FCLM_S_FA_STR-DATA18 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA19 sy-vline
WA_FCLM_S_FA_STR-DATA19 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA20 sy-vline
WA_FCLM_S_FA_STR-DATA20 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA21 sy-vline
WA_FCLM_S_FA_STR-DATA21 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA22 sy-vline
WA_FCLM_S_FA_STR-DATA22 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA23 sy-vline
WA_FCLM_S_FA_STR-DATA23 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA24 sy-vline
WA_FCLM_S_FA_STR-DATA24 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA25 sy-vline
WA_FCLM_S_FA_STR-DATA25 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA26 sy-vline
WA_FCLM_S_FA_STR-DATA26 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA27 sy-vline
WA_FCLM_S_FA_STR-DATA27 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA28 sy-vline
WA_FCLM_S_FA_STR-DATA28 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA29 sy-vline
WA_FCLM_S_FA_STR-DATA29 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA30 sy-vline
WA_FCLM_S_FA_STR-DATA30 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA31 sy-vline
WA_FCLM_S_FA_STR-DATA31 sy-vline
WA_FCLM_S_FA_STR-CONVERT_DATA32 sy-vline
WA_FCLM_S_FA_STR-DATA32 sy-vline
WA_FCLM_S_FA_STR-CNT sy-vline
WA_FCLM_S_FA_STR-PREVIOUSFLAG sy-vline
WA_FCLM_S_FA_STR-ENDOFPERIOD sy-vline
WA_FCLM_S_FA_STR-LIQUIDITYITEMDESC sy-vline
WA_FCLM_S_FA_STR-BUSINESSAREA sy-vline
WA_FCLM_S_FA_STR-SEGMENT sy-vline
WA_FCLM_S_FA_STR-TRADINGPARTNER sy-vline
WA_FCLM_S_FA_STR-HISTORICAL_TIMESTAMP sy-vline
WA_FCLM_S_FA_STR-RELEASE_STATUS sy-vline
WA_FCLM_S_FA_STR-RECONCILIATION_STATUS sy-vline
WA_FCLM_S_FA_STR-RELEASE_FLAG sy-vline
WA_FCLM_S_FA_STR-DATE_INDICATOR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.