ABAP Select data from SAP table TFK042FC 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 TFK042FC 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 TFK042FC. 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 TFK042FC 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_TFK042FC TYPE STANDARD TABLE OF TFK042FC,
      WA_TFK042FC TYPE TFK042FC,
      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: <TFK042FC> TYPE TFK042FC.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TFK042FC
*  INTO TABLE @DATA(IT_TFK042FC2).
*--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_TFK042FC INDEX 1 INTO DATA(WA_TFK042FC2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TFK042FC ASSIGNING <TFK042FC>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TFK042FC>-MANDT = 1.
<TFK042FC>-FORMS = 1.
<TFK042FC>-VARIP = 1.
<TFK042FC>-XMLNS = 1.
<TFK042FC>-XSI = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TFK042FC-SCHEMALOCATION, sy-vline,
WA_TFK042FC-STRD, sy-vline,
WA_TFK042FC-BATCH_BOOKING, sy-vline,
WA_TFK042FC-DUE_DATE, sy-vline,
WA_TFK042FC-BACOW, sy-vline,
WA_TFK042FC-BACPW, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TFK042FC 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_TFK042FC 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_TFK042FC INTO WA_TFK042FC. *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_TFK042FC_STR,
MANDT TYPE STRING,
FORMS TYPE STRING,
VARIP TYPE STRING,
XMLNS TYPE STRING,
XSI TYPE STRING,
SCHEMALOCATION TYPE STRING,
STRD TYPE STRING,
BATCH_BOOKING TYPE STRING,
DUE_DATE TYPE STRING,
BACOW TYPE STRING,
BACPW TYPE STRING,
AUDPR TYPE STRING,
TBACN_NO TYPE STRING,
RECBL TYPE STRING,
NO_PW_RECORD TYPE STRING,
MLDWR TYPE STRING,
XBANK TYPE STRING,
XIBAN TYPE STRING,
MLTYPZ1 TYPE STRING,
PAYGR TYPE STRING,
XADDN TYPE STRING,
MAXADDN TYPE STRING,
XCRLF TYPE STRING,
PREFIXTAXID TYPE STRING,
FCBANKNAME TYPE STRING,
FCBANKNAMEIDQUAL TYPE STRING,
FCBANKNAMEID TYPE STRING,
FCBANKBRCTYCODE TYPE STRING,
FXCHGIND TYPE STRING,
FXCHGREFIND TYPE STRING,
FXHGREF TYPE STRING,
INTCA TYPE STRING,
NATION TYPE STRING,
DUEDATE_CGI TYPE STRING,
COMPID TYPE STRING,
XCRLFDEL TYPE STRING,
CREAT_NO TYPE STRING,
PAYMHEAD TYPE STRING,
PAYMRECV TYPE STRING,
PAYMRCHD TYPE STRING,
PAYMTYPE TYPE STRING,
PAYMSGN1 TYPE STRING,
PAYMSGN4 TYPE STRING,
PAYMSGN2 TYPE STRING,
PAYMSGN3 TYPE STRING,
PL_TAX TYPE STRING,
PL_SOCIALSEC TYPE STRING,
PL_8NOTE TYPE STRING,
PL_FIXLINE TYPE STRING,
PL_IBAN TYPE STRING,
XMESSAGE TYPE STRING,
PARDUPL TYPE STRING,
PAREXDT TYPE STRING,
PARCOM1 TYPE STRING,
PARCOM2 TYPE STRING,
PARFORDCBNK TYPE STRING,
PARLZBKZ TYPE STRING,
ALT_SEARCH_KEY TYPE STRING,
NEW_PAYM_DATE TYPE STRING,
FACID TYPE STRING,
PERIOD TYPE STRING,END OF T_EKKO_STR. DATA: WA_TFK042FC_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_TFK042FC_STR-MANDT sy-vline
WA_TFK042FC_STR-FORMS sy-vline
WA_TFK042FC_STR-VARIP sy-vline
WA_TFK042FC_STR-XMLNS sy-vline
WA_TFK042FC_STR-XSI sy-vline
WA_TFK042FC_STR-SCHEMALOCATION sy-vline
WA_TFK042FC_STR-STRD sy-vline
WA_TFK042FC_STR-BATCH_BOOKING sy-vline
WA_TFK042FC_STR-DUE_DATE sy-vline
WA_TFK042FC_STR-BACOW sy-vline
WA_TFK042FC_STR-BACPW sy-vline
WA_TFK042FC_STR-AUDPR sy-vline
WA_TFK042FC_STR-TBACN_NO sy-vline
WA_TFK042FC_STR-RECBL sy-vline
WA_TFK042FC_STR-NO_PW_RECORD sy-vline
WA_TFK042FC_STR-MLDWR sy-vline
WA_TFK042FC_STR-XBANK sy-vline
WA_TFK042FC_STR-XIBAN sy-vline
WA_TFK042FC_STR-MLTYPZ1 sy-vline
WA_TFK042FC_STR-PAYGR sy-vline
WA_TFK042FC_STR-XADDN sy-vline
WA_TFK042FC_STR-MAXADDN sy-vline
WA_TFK042FC_STR-XCRLF sy-vline
WA_TFK042FC_STR-PREFIXTAXID sy-vline
WA_TFK042FC_STR-FCBANKNAME sy-vline
WA_TFK042FC_STR-FCBANKNAMEIDQUAL sy-vline
WA_TFK042FC_STR-FCBANKNAMEID sy-vline
WA_TFK042FC_STR-FCBANKBRCTYCODE sy-vline
WA_TFK042FC_STR-FXCHGIND sy-vline
WA_TFK042FC_STR-FXCHGREFIND sy-vline
WA_TFK042FC_STR-FXHGREF sy-vline
WA_TFK042FC_STR-INTCA sy-vline
WA_TFK042FC_STR-NATION sy-vline
WA_TFK042FC_STR-DUEDATE_CGI sy-vline
WA_TFK042FC_STR-COMPID sy-vline
WA_TFK042FC_STR-XCRLFDEL sy-vline
WA_TFK042FC_STR-CREAT_NO sy-vline
WA_TFK042FC_STR-PAYMHEAD sy-vline
WA_TFK042FC_STR-PAYMRECV sy-vline
WA_TFK042FC_STR-PAYMRCHD sy-vline
WA_TFK042FC_STR-PAYMTYPE sy-vline
WA_TFK042FC_STR-PAYMSGN1 sy-vline
WA_TFK042FC_STR-PAYMSGN4 sy-vline
WA_TFK042FC_STR-PAYMSGN2 sy-vline
WA_TFK042FC_STR-PAYMSGN3 sy-vline
WA_TFK042FC_STR-PL_TAX sy-vline
WA_TFK042FC_STR-PL_SOCIALSEC sy-vline
WA_TFK042FC_STR-PL_8NOTE sy-vline
WA_TFK042FC_STR-PL_FIXLINE sy-vline
WA_TFK042FC_STR-PL_IBAN sy-vline
WA_TFK042FC_STR-XMESSAGE sy-vline
WA_TFK042FC_STR-PARDUPL sy-vline
WA_TFK042FC_STR-PAREXDT sy-vline
WA_TFK042FC_STR-PARCOM1 sy-vline
WA_TFK042FC_STR-PARCOM2 sy-vline
WA_TFK042FC_STR-PARFORDCBNK sy-vline
WA_TFK042FC_STR-PARLZBKZ sy-vline
WA_TFK042FC_STR-ALT_SEARCH_KEY sy-vline
WA_TFK042FC_STR-NEW_PAYM_DATE sy-vline
WA_TFK042FC_STR-FACID sy-vline
WA_TFK042FC_STR-PERIOD sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.