ABAP Select data from SAP table IMBKTWITHFILTER 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 IMBKTWITHFILTER 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 IMBKTWITHFILTER. 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 IMBKTWITHFILTER 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_IMBKTWITHFILTER TYPE STANDARD TABLE OF IMBKTWITHFILTER,
      WA_IMBKTWITHFILTER TYPE IMBKTWITHFILTER,
      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: <IMBKTWITHFILTER> TYPE IMBKTWITHFILTER.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM IMBKTWITHFILTER
*  INTO TABLE @DATA(IT_IMBKTWITHFILTER2).
*--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_IMBKTWITHFILTER INDEX 1 INTO DATA(WA_IMBKTWITHFILTER2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_IMBKTWITHFILTER ASSIGNING <IMBKTWITHFILTER>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<IMBKTWITHFILTER>-MANDT = 1.
<IMBKTWITHFILTER>-PAYMENTREQUEST = 1.
<IMBKTWITHFILTER>-PAYINGCOMPANYCODE = 1.
<IMBKTWITHFILTER>-COMPANYCODE = 1.
<IMBKTWITHFILTER>-ACCOUNTINGDOCUMENT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_IMBKTWITHFILTER-FISCALYEAR, sy-vline,
WA_IMBKTWITHFILTER-ACCOUNTINGDOCUMENTITEM, sy-vline,
WA_IMBKTWITHFILTER-PAYEENAME, sy-vline,
WA_IMBKTWITHFILTER-PAYEEBANKCOUNTRY, sy-vline,
WA_IMBKTWITHFILTER-PAYEEBANKCONTROLKEY, sy-vline,
WA_IMBKTWITHFILTER-PAYEEBANK, sy-vline.
ENDLOOP. *Add any further fields from structure WA_IMBKTWITHFILTER 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_IMBKTWITHFILTER 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_IMBKTWITHFILTER INTO WA_IMBKTWITHFILTER. *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 PAYMENTREQUEST CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IMBKTWITHFILTER-PAYMENTREQUEST IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMBKTWITHFILTER-PAYMENTREQUEST.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit AU132, internal->external for field PAYMENTREQUESTAMOUNTINPAYTCRCY CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_IMBKTWITHFILTER-PAYMENTREQUESTAMOUNTINPAYTCRCY IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMBKTWITHFILTER-PAYMENTREQUESTAMOUNTINPAYTCRCY.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field PAYMENTREQUESTAMOUNTINCCCRCY CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_IMBKTWITHFILTER-PAYMENTREQUESTAMOUNTINCCCRCY IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMBKTWITHFILTER-PAYMENTREQUESTAMOUNTINCCCRCY.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit ISOLA, internal->external for field PAYEELANGUAGE CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_IMBKTWITHFILTER-PAYEELANGUAGE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMBKTWITHFILTER-PAYEELANGUAGE.
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_IMBKTWITHFILTER_STR,
MANDT TYPE STRING,
PAYMENTREQUEST TYPE STRING,
PAYINGCOMPANYCODE TYPE STRING,
COMPANYCODE TYPE STRING,
ACCOUNTINGDOCUMENT TYPE STRING,
FISCALYEAR TYPE STRING,
ACCOUNTINGDOCUMENTITEM TYPE STRING,
PAYEENAME TYPE STRING,
PAYEEBANKCOUNTRY TYPE STRING,
PAYEEBANKCONTROLKEY TYPE STRING,
PAYEEBANK TYPE STRING,
PAYEEBANKINTERNALID TYPE STRING,
PAYEEHOUSEBANK TYPE STRING,
PAYEEHOUSEBANKACCOUNT TYPE STRING,
PAYEECOMPANYCODE TYPE STRING,
BANKDETAILREFERENCE TYPE STRING,
PAYEEBANKVALUEDATE TYPE STRING,
VALUEDATE TYPE STRING,
BANKACCOUNTHOLDERNAME TYPE STRING,
BUSINESSAREA TYPE STRING,
REFERENCETYPETEXT TYPE STRING,
HOUSEBANK TYPE STRING,
HOUSEBANKACCOUNT TYPE STRING,
PAYMENTREQUESTCURRENCY TYPE STRING,
PAYMENTREQUESTAMOUNTINPAYTCRCY TYPE STRING,
PAYMENTREQUESTAMOUNTINCCCRCY TYPE STRING,
COMPANYCODECURRENCY TYPE STRING,
PAYMENTMETHODSUPPLEMENT TYPE STRING,
PAYMENTMETHOD TYPE STRING,
ISSINGLEPAYMENT TYPE STRING,
PAYMENTREFERENCE TYPE STRING,
FINANCIALACCOUNTTYPE TYPE STRING,
GLACCOUNT TYPE STRING,
CREATEDBYUSER TYPE STRING,
PAYTREQISRELEASEDFORPOSTING TYPE STRING,
PAYTREQISCOMPLETED TYPE STRING,
PAYTREQISRELEASEDFORPAYMENT TYPE STRING,
ISREVERSED TYPE STRING,
REVERSALREASON TYPE STRING,
DATAEXCHANGEINSTRUCTIONKEY TYPE STRING,
DATAEXCHANGEINSTRUCTION1 TYPE STRING,
DATAEXCHANGEINSTRUCTION2 TYPE STRING,
DATAEXCHANGEINSTRUCTION3 TYPE STRING,
DATAEXCHANGEINSTRUCTION4 TYPE STRING,
PAYMENTREQUESTPOSTINGDATE TYPE STRING,
BANKCOUNTRY TYPE STRING,
BANKINTERNALID TYPE STRING,
SUPPLIERCOUNTRY TYPE STRING,
SUPPLYINGCOUNTRY TYPE STRING,
PAYMENTREQUESTORIGIN TYPE STRING,
STATECENTRALBANKPAYMENTREASON TYPE STRING,
ACCOUNTINGDOCUMENTCREATIONDATE TYPE STRING,
CREATIONTIME TYPE STRING,
TAXID1 TYPE STRING,
CLEARINGACCOUNTINGDOCUMENT TYPE STRING,
BPBANKACCOUNTINTERNALID TYPE STRING,
STATUSCODE TYPE STRING,
PAYEETITLE TYPE STRING,
PAYEEPOSTALCODE TYPE STRING,
PAYEEPOBOX TYPE STRING,
POBOXPOSTALCODE TYPE STRING,
PAYEEADDITIONALNAME2 TYPE STRING,
PAYEEADDITIONALNAME3 TYPE STRING,
PAYEEADDITIONALNAME4 TYPE STRING,
PAYEECITYNAME TYPE STRING,
PAYEESTREET TYPE STRING,
PAYEECOUNTRY TYPE STRING,
PAYEEREGION TYPE STRING,
PAYEELANGUAGE TYPE STRING,
PAYEEFAXNUMBER TYPE STRING,
PAYEETELEPHONENUMBER TYPE STRING,
PAYEEIBAN TYPE STRING,
CLEARINGDATE TYPE STRING,
REPETITIVECODE TYPE STRING,
LOGHANDLE TYPE STRING,
PAYMENTMETHODNAME TYPE STRING,
PAYINGCOMPANYCODENAME TYPE STRING,END OF T_EKKO_STR. DATA: WA_IMBKTWITHFILTER_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_IMBKTWITHFILTER_STR-MANDT sy-vline
WA_IMBKTWITHFILTER_STR-PAYMENTREQUEST sy-vline
WA_IMBKTWITHFILTER_STR-PAYINGCOMPANYCODE sy-vline
WA_IMBKTWITHFILTER_STR-COMPANYCODE sy-vline
WA_IMBKTWITHFILTER_STR-ACCOUNTINGDOCUMENT sy-vline
WA_IMBKTWITHFILTER_STR-FISCALYEAR sy-vline
WA_IMBKTWITHFILTER_STR-ACCOUNTINGDOCUMENTITEM sy-vline
WA_IMBKTWITHFILTER_STR-PAYEENAME sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEBANKCOUNTRY sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEBANKCONTROLKEY sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEBANK sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEBANKINTERNALID sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEHOUSEBANK sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEHOUSEBANKACCOUNT sy-vline
WA_IMBKTWITHFILTER_STR-PAYEECOMPANYCODE sy-vline
WA_IMBKTWITHFILTER_STR-BANKDETAILREFERENCE sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEBANKVALUEDATE sy-vline
WA_IMBKTWITHFILTER_STR-VALUEDATE sy-vline
WA_IMBKTWITHFILTER_STR-BANKACCOUNTHOLDERNAME sy-vline
WA_IMBKTWITHFILTER_STR-BUSINESSAREA sy-vline
WA_IMBKTWITHFILTER_STR-REFERENCETYPETEXT sy-vline
WA_IMBKTWITHFILTER_STR-HOUSEBANK sy-vline
WA_IMBKTWITHFILTER_STR-HOUSEBANKACCOUNT sy-vline
WA_IMBKTWITHFILTER_STR-PAYMENTREQUESTCURRENCY sy-vline
WA_IMBKTWITHFILTER_STR-PAYMENTREQUESTAMOUNTINPAYTCRCY sy-vline
WA_IMBKTWITHFILTER_STR-PAYMENTREQUESTAMOUNTINCCCRCY sy-vline
WA_IMBKTWITHFILTER_STR-COMPANYCODECURRENCY sy-vline
WA_IMBKTWITHFILTER_STR-PAYMENTMETHODSUPPLEMENT sy-vline
WA_IMBKTWITHFILTER_STR-PAYMENTMETHOD sy-vline
WA_IMBKTWITHFILTER_STR-ISSINGLEPAYMENT sy-vline
WA_IMBKTWITHFILTER_STR-PAYMENTREFERENCE sy-vline
WA_IMBKTWITHFILTER_STR-FINANCIALACCOUNTTYPE sy-vline
WA_IMBKTWITHFILTER_STR-GLACCOUNT sy-vline
WA_IMBKTWITHFILTER_STR-CREATEDBYUSER sy-vline
WA_IMBKTWITHFILTER_STR-PAYTREQISRELEASEDFORPOSTING sy-vline
WA_IMBKTWITHFILTER_STR-PAYTREQISCOMPLETED sy-vline
WA_IMBKTWITHFILTER_STR-PAYTREQISRELEASEDFORPAYMENT sy-vline
WA_IMBKTWITHFILTER_STR-ISREVERSED sy-vline
WA_IMBKTWITHFILTER_STR-REVERSALREASON sy-vline
WA_IMBKTWITHFILTER_STR-DATAEXCHANGEINSTRUCTIONKEY sy-vline
WA_IMBKTWITHFILTER_STR-DATAEXCHANGEINSTRUCTION1 sy-vline
WA_IMBKTWITHFILTER_STR-DATAEXCHANGEINSTRUCTION2 sy-vline
WA_IMBKTWITHFILTER_STR-DATAEXCHANGEINSTRUCTION3 sy-vline
WA_IMBKTWITHFILTER_STR-DATAEXCHANGEINSTRUCTION4 sy-vline
WA_IMBKTWITHFILTER_STR-PAYMENTREQUESTPOSTINGDATE sy-vline
WA_IMBKTWITHFILTER_STR-BANKCOUNTRY sy-vline
WA_IMBKTWITHFILTER_STR-BANKINTERNALID sy-vline
WA_IMBKTWITHFILTER_STR-SUPPLIERCOUNTRY sy-vline
WA_IMBKTWITHFILTER_STR-SUPPLYINGCOUNTRY sy-vline
WA_IMBKTWITHFILTER_STR-PAYMENTREQUESTORIGIN sy-vline
WA_IMBKTWITHFILTER_STR-STATECENTRALBANKPAYMENTREASON sy-vline
WA_IMBKTWITHFILTER_STR-ACCOUNTINGDOCUMENTCREATIONDATE sy-vline
WA_IMBKTWITHFILTER_STR-CREATIONTIME sy-vline
WA_IMBKTWITHFILTER_STR-TAXID1 sy-vline
WA_IMBKTWITHFILTER_STR-CLEARINGACCOUNTINGDOCUMENT sy-vline
WA_IMBKTWITHFILTER_STR-BPBANKACCOUNTINTERNALID sy-vline
WA_IMBKTWITHFILTER_STR-STATUSCODE sy-vline
WA_IMBKTWITHFILTER_STR-PAYEETITLE sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEPOSTALCODE sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEPOBOX sy-vline
WA_IMBKTWITHFILTER_STR-POBOXPOSTALCODE sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEADDITIONALNAME2 sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEADDITIONALNAME3 sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEADDITIONALNAME4 sy-vline
WA_IMBKTWITHFILTER_STR-PAYEECITYNAME sy-vline
WA_IMBKTWITHFILTER_STR-PAYEESTREET sy-vline
WA_IMBKTWITHFILTER_STR-PAYEECOUNTRY sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEREGION sy-vline
WA_IMBKTWITHFILTER_STR-PAYEELANGUAGE sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEFAXNUMBER sy-vline
WA_IMBKTWITHFILTER_STR-PAYEETELEPHONENUMBER sy-vline
WA_IMBKTWITHFILTER_STR-PAYEEIBAN sy-vline
WA_IMBKTWITHFILTER_STR-CLEARINGDATE sy-vline
WA_IMBKTWITHFILTER_STR-REPETITIVECODE sy-vline
WA_IMBKTWITHFILTER_STR-LOGHANDLE sy-vline
WA_IMBKTWITHFILTER_STR-PAYMENTMETHODNAME sy-vline
WA_IMBKTWITHFILTER_STR-PAYINGCOMPANYCODENAME sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.