ABAP Select data from SAP table IMAKEBTDF 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 IMAKEBTDF 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 IMAKEBTDF. 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 IMAKEBTDF 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_IMAKEBTDF TYPE STANDARD TABLE OF IMAKEBTDF,
      WA_IMAKEBTDF TYPE IMAKEBTDF,
      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: <IMAKEBTDF> TYPE IMAKEBTDF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM IMAKEBTDF
*  INTO TABLE @DATA(IT_IMAKEBTDF2).
*--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_IMAKEBTDF INDEX 1 INTO DATA(WA_IMAKEBTDF2).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_IMAKEBTDF-ACCOUNTINGDOCUMENT, sy-vline,
WA_IMAKEBTDF-FISCALYEAR, sy-vline,
WA_IMAKEBTDF-CREATEDBYUSERDESCRIPTION, sy-vline,
WA_IMAKEBTDF-ACCOUNTINGDOCUMENTITEM, sy-vline,
WA_IMAKEBTDF-PAYEENAME, sy-vline,
WA_IMAKEBTDF-PAYEEBANKCOUNTRY, sy-vline.
ENDLOOP. *Add any further fields from structure WA_IMAKEBTDF 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_IMAKEBTDF 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_IMAKEBTDF INTO WA_IMAKEBTDF. *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_IMAKEBTDF-PAYMENTREQUEST IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMAKEBTDF-PAYMENTREQUEST.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

*Conversion exit ISOLA, internal->external for field PAYEELANGUAGE CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_IMAKEBTDF-PAYEELANGUAGE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMAKEBTDF-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_IMAKEBTDF_STR,
MANDT TYPE STRING,
DRAFTUUID TYPE STRING,
PAYMENTREQUEST TYPE STRING,
PAYINGCOMPANYCODE TYPE STRING,
COMPANYCODE TYPE STRING,
ACCOUNTINGDOCUMENT TYPE STRING,
FISCALYEAR TYPE STRING,
CREATEDBYUSERDESCRIPTION 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,
PAYEEBANKACCOUNTINTERNALID TYPE STRING,
PAYEECOMPANYCODE TYPE STRING,
BANKDETAILREFERENCE TYPE STRING,
PAYEEBANKVALUEDATE TYPE STRING,
VALUEDATE TYPE STRING,
BANKACCOUNTHOLDERNAME TYPE STRING,
BUSINESSAREA TYPE STRING,
REFERENCETYPETEXT TYPE STRING,
PAYINGHOUSEBANK TYPE STRING,
PAYINGHOUSEBANKACCOUNT TYPE STRING,
BANKACCOUNTREVISION TYPE STRING,
PAYINGBANKACCOUNTINTERNALID TYPE STRING,
PAYINGBANKACCOUNT TYPE STRING,
BANKNAME TYPE STRING,
PAYEEBANKACCOUNT TYPE STRING,
PAYEEBANKNAME TYPE STRING,
PAYEEBANKACCOUNTDESCRIPTION TYPE STRING,
PAYINGBANKACCOUNTDESCRIPTION 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,
NOTE 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,
CLEARINGDATE TYPE STRING,
REPETITIVECODE TYPE STRING,
BANKTRANSFERRELEASEANDPAY TYPE STRING,
LOGHANDLE TYPE STRING,
PAYMENTMETHODNAME TYPE STRING,
PAYINGCOMPANYCODENAME TYPE STRING,
PAYEECOMPANYCODENAME TYPE STRING,
ISURGENTPAYMENT TYPE STRING,
PAYMENTREQUESTTYPE TYPE STRING,
LASTCHANGEDBYUSER TYPE STRING,
LASTCHANGETIME TYPE STRING,
LASTCHANGEDATE TYPE STRING,
CREATIONDATETIME TYPE STRING,
LASTCHANGEDATETIME TYPE STRING,
HOUSEBANK TYPE STRING,
HOUSEBANKACCOUNT TYPE STRING,
SYSTEMSTATUSNAME TYPE STRING,
HASACTIVEENTITY TYPE STRING,
DRAFTENTITYCREATIONDATETIME TYPE STRING,
DRAFTENTITYLASTCHANGEDATETIME TYPE STRING,
DRAFTADMINISTRATIVEDATAUUID TYPE STRING,
DRAFTENTITYCONSISTENCYSTATUS TYPE STRING,
DRAFTENTITYOPERATIONCODE TYPE STRING,END OF T_EKKO_STR. DATA: WA_IMAKEBTDF_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_IMAKEBTDF_STR-MANDT sy-vline
WA_IMAKEBTDF_STR-DRAFTUUID sy-vline
WA_IMAKEBTDF_STR-PAYMENTREQUEST sy-vline
WA_IMAKEBTDF_STR-PAYINGCOMPANYCODE sy-vline
WA_IMAKEBTDF_STR-COMPANYCODE sy-vline
WA_IMAKEBTDF_STR-ACCOUNTINGDOCUMENT sy-vline
WA_IMAKEBTDF_STR-FISCALYEAR sy-vline
WA_IMAKEBTDF_STR-CREATEDBYUSERDESCRIPTION sy-vline
WA_IMAKEBTDF_STR-ACCOUNTINGDOCUMENTITEM sy-vline
WA_IMAKEBTDF_STR-PAYEENAME sy-vline
WA_IMAKEBTDF_STR-PAYEEBANKCOUNTRY sy-vline
WA_IMAKEBTDF_STR-PAYEEBANKCONTROLKEY sy-vline
WA_IMAKEBTDF_STR-PAYEEBANK sy-vline
WA_IMAKEBTDF_STR-PAYEEBANKINTERNALID sy-vline
WA_IMAKEBTDF_STR-PAYEEHOUSEBANK sy-vline
WA_IMAKEBTDF_STR-PAYEEHOUSEBANKACCOUNT sy-vline
WA_IMAKEBTDF_STR-PAYEEBANKACCOUNTINTERNALID sy-vline
WA_IMAKEBTDF_STR-PAYEECOMPANYCODE sy-vline
WA_IMAKEBTDF_STR-BANKDETAILREFERENCE sy-vline
WA_IMAKEBTDF_STR-PAYEEBANKVALUEDATE sy-vline
WA_IMAKEBTDF_STR-VALUEDATE sy-vline
WA_IMAKEBTDF_STR-BANKACCOUNTHOLDERNAME sy-vline
WA_IMAKEBTDF_STR-BUSINESSAREA sy-vline
WA_IMAKEBTDF_STR-REFERENCETYPETEXT sy-vline
WA_IMAKEBTDF_STR-PAYINGHOUSEBANK sy-vline
WA_IMAKEBTDF_STR-PAYINGHOUSEBANKACCOUNT sy-vline
WA_IMAKEBTDF_STR-BANKACCOUNTREVISION sy-vline
WA_IMAKEBTDF_STR-PAYINGBANKACCOUNTINTERNALID sy-vline
WA_IMAKEBTDF_STR-PAYINGBANKACCOUNT sy-vline
WA_IMAKEBTDF_STR-BANKNAME sy-vline
WA_IMAKEBTDF_STR-PAYEEBANKACCOUNT sy-vline
WA_IMAKEBTDF_STR-PAYEEBANKNAME sy-vline
WA_IMAKEBTDF_STR-PAYEEBANKACCOUNTDESCRIPTION sy-vline
WA_IMAKEBTDF_STR-PAYINGBANKACCOUNTDESCRIPTION sy-vline
WA_IMAKEBTDF_STR-PAYMENTREQUESTCURRENCY sy-vline
WA_IMAKEBTDF_STR-PAYMENTREQUESTAMOUNTINPAYTCRCY sy-vline
WA_IMAKEBTDF_STR-PAYMENTREQUESTAMOUNTINCCCRCY sy-vline
WA_IMAKEBTDF_STR-COMPANYCODECURRENCY sy-vline
WA_IMAKEBTDF_STR-PAYMENTMETHODSUPPLEMENT sy-vline
WA_IMAKEBTDF_STR-PAYMENTMETHOD sy-vline
WA_IMAKEBTDF_STR-ISSINGLEPAYMENT sy-vline
WA_IMAKEBTDF_STR-PAYMENTREFERENCE sy-vline
WA_IMAKEBTDF_STR-FINANCIALACCOUNTTYPE sy-vline
WA_IMAKEBTDF_STR-GLACCOUNT sy-vline
WA_IMAKEBTDF_STR-CREATEDBYUSER sy-vline
WA_IMAKEBTDF_STR-PAYTREQISRELEASEDFORPOSTING sy-vline
WA_IMAKEBTDF_STR-PAYTREQISCOMPLETED sy-vline
WA_IMAKEBTDF_STR-PAYTREQISRELEASEDFORPAYMENT sy-vline
WA_IMAKEBTDF_STR-ISREVERSED sy-vline
WA_IMAKEBTDF_STR-REVERSALREASON sy-vline
WA_IMAKEBTDF_STR-DATAEXCHANGEINSTRUCTIONKEY sy-vline
WA_IMAKEBTDF_STR-DATAEXCHANGEINSTRUCTION1 sy-vline
WA_IMAKEBTDF_STR-DATAEXCHANGEINSTRUCTION2 sy-vline
WA_IMAKEBTDF_STR-DATAEXCHANGEINSTRUCTION3 sy-vline
WA_IMAKEBTDF_STR-DATAEXCHANGEINSTRUCTION4 sy-vline
WA_IMAKEBTDF_STR-PAYMENTREQUESTPOSTINGDATE sy-vline
WA_IMAKEBTDF_STR-BANKCOUNTRY sy-vline
WA_IMAKEBTDF_STR-BANKINTERNALID sy-vline
WA_IMAKEBTDF_STR-SUPPLIERCOUNTRY sy-vline
WA_IMAKEBTDF_STR-SUPPLYINGCOUNTRY sy-vline
WA_IMAKEBTDF_STR-PAYMENTREQUESTORIGIN sy-vline
WA_IMAKEBTDF_STR-STATECENTRALBANKPAYMENTREASON sy-vline
WA_IMAKEBTDF_STR-ACCOUNTINGDOCUMENTCREATIONDATE sy-vline
WA_IMAKEBTDF_STR-CREATIONTIME sy-vline
WA_IMAKEBTDF_STR-TAXID1 sy-vline
WA_IMAKEBTDF_STR-CLEARINGACCOUNTINGDOCUMENT sy-vline
WA_IMAKEBTDF_STR-BPBANKACCOUNTINTERNALID sy-vline
WA_IMAKEBTDF_STR-STATUSCODE sy-vline
WA_IMAKEBTDF_STR-NOTE sy-vline
WA_IMAKEBTDF_STR-PAYEETITLE sy-vline
WA_IMAKEBTDF_STR-PAYEEPOSTALCODE sy-vline
WA_IMAKEBTDF_STR-PAYEEPOBOX sy-vline
WA_IMAKEBTDF_STR-POBOXPOSTALCODE sy-vline
WA_IMAKEBTDF_STR-PAYEEADDITIONALNAME2 sy-vline
WA_IMAKEBTDF_STR-PAYEEADDITIONALNAME3 sy-vline
WA_IMAKEBTDF_STR-PAYEEADDITIONALNAME4 sy-vline
WA_IMAKEBTDF_STR-PAYEECITYNAME sy-vline
WA_IMAKEBTDF_STR-PAYEESTREET sy-vline
WA_IMAKEBTDF_STR-PAYEECOUNTRY sy-vline
WA_IMAKEBTDF_STR-PAYEEREGION sy-vline
WA_IMAKEBTDF_STR-PAYEELANGUAGE sy-vline
WA_IMAKEBTDF_STR-PAYEEFAXNUMBER sy-vline
WA_IMAKEBTDF_STR-PAYEETELEPHONENUMBER sy-vline
WA_IMAKEBTDF_STR-CLEARINGDATE sy-vline
WA_IMAKEBTDF_STR-REPETITIVECODE sy-vline
WA_IMAKEBTDF_STR-BANKTRANSFERRELEASEANDPAY sy-vline
WA_IMAKEBTDF_STR-LOGHANDLE sy-vline
WA_IMAKEBTDF_STR-PAYMENTMETHODNAME sy-vline
WA_IMAKEBTDF_STR-PAYINGCOMPANYCODENAME sy-vline
WA_IMAKEBTDF_STR-PAYEECOMPANYCODENAME sy-vline
WA_IMAKEBTDF_STR-ISURGENTPAYMENT sy-vline
WA_IMAKEBTDF_STR-PAYMENTREQUESTTYPE sy-vline
WA_IMAKEBTDF_STR-LASTCHANGEDBYUSER sy-vline
WA_IMAKEBTDF_STR-LASTCHANGETIME sy-vline
WA_IMAKEBTDF_STR-LASTCHANGEDATE sy-vline
WA_IMAKEBTDF_STR-CREATIONDATETIME sy-vline
WA_IMAKEBTDF_STR-LASTCHANGEDATETIME sy-vline
WA_IMAKEBTDF_STR-HOUSEBANK sy-vline
WA_IMAKEBTDF_STR-HOUSEBANKACCOUNT sy-vline
WA_IMAKEBTDF_STR-SYSTEMSTATUSNAME sy-vline
WA_IMAKEBTDF_STR-HASACTIVEENTITY sy-vline
WA_IMAKEBTDF_STR-DRAFTENTITYCREATIONDATETIME sy-vline
WA_IMAKEBTDF_STR-DRAFTENTITYLASTCHANGEDATETIME sy-vline
WA_IMAKEBTDF_STR-DRAFTADMINISTRATIVEDATAUUID sy-vline
WA_IMAKEBTDF_STR-DRAFTENTITYCONSISTENCYSTATUS sy-vline
WA_IMAKEBTDF_STR-DRAFTENTITYOPERATIONCODE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.