<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: BAPI for TCode FB60 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-tcode-fb60/m-p/3746281#M901341</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;check this code..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_FI_GL_POSTING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include &amp;lt;icon&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ =================================================================== *&lt;/P&gt;&lt;P&gt;CONSTANTS: on VALUE 'X',&lt;/P&gt;&lt;P&gt;off VALUE ' ',&lt;/P&gt;&lt;P&gt;tabx TYPE X VALUE '09',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;c_e1bpache08 TYPE edilsegtyp VALUE 'E1BPACHE08',&lt;/P&gt;&lt;P&gt;c_e1bpacgl08 TYPE edilsegtyp VALUE 'E1BPACGL08',&lt;/P&gt;&lt;P&gt;c_e1bpaccr08 TYPE edilsegtyp VALUE 'E1BPACCR08'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_tab_index,&lt;/P&gt;&lt;P&gt;from TYPE i,&lt;/P&gt;&lt;P&gt;to TYPE i,&lt;/P&gt;&lt;P&gt;END OF t_tab_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : tab type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;e1bpache08 LIKE e1bpache08,&lt;/P&gt;&lt;P&gt;e1bpacgl08 LIKE e1bpacgl08,&lt;/P&gt;&lt;P&gt;e1bpaccr08 LIKE e1bpaccr08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_subrc TYPE subrc.&lt;/P&gt;&lt;P&gt;DATA: g_file TYPE string.&lt;/P&gt;&lt;P&gt;DATA: g_segname TYPE edilsegtyp.&lt;/P&gt;&lt;P&gt;DATA: g_sdata TYPE edi_sdata.&lt;/P&gt;&lt;P&gt;DATA: g_first_doc.&lt;/P&gt;&lt;P&gt;DATA: i_dataf TYPE char2000 OCCURS 900 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;i_dataf_doc TYPE char2000 OCCURS 50 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_tab_index TYPE t_tab_index OCCURS 100 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_accountgl TYPE bapiacgl08 OCCURS 100 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;i_curramnt TYPE bapiaccr08 OCCURS 100 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;i_return TYPE bapiret2 OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;g_docheader TYPE bapiache08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ ======================== SELECTION ================================ *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-010.&lt;/P&gt;&lt;P&gt;PARAMETERS: excelf TYPE file_name LOWER CASE&lt;/P&gt;&lt;P&gt;DEFAULT 'C:\my_excel_file.txt'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ =========================== CORE ================================== *&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Call text File with GUI_UPLOAD&lt;/P&gt;&lt;P&gt;g_file = excelf.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;filename = g_file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FILETYPE = 'ASC' &lt;/P&gt;&lt;P&gt;HAS_FIELD_SEPARATOR = ' ' &lt;/P&gt;&lt;P&gt;HEADER_LENGTH = 0 &lt;/P&gt;&lt;P&gt;READ_BY_LINE = 'X' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;FILELENGTH = &lt;/P&gt;&lt;P&gt;HEADER = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = i_dataf&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;file_open_error = 1&lt;/P&gt;&lt;P&gt;file_read_error = 2&lt;/P&gt;&lt;P&gt;no_batch = 3&lt;/P&gt;&lt;P&gt;gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;invalid_type = 5&lt;/P&gt;&lt;P&gt;no_authority = 6&lt;/P&gt;&lt;P&gt;unknown_error = 7&lt;/P&gt;&lt;P&gt;bad_data_format = 8&lt;/P&gt;&lt;P&gt;header_not_allowed = 9&lt;/P&gt;&lt;P&gt;separator_not_allowed = 10&lt;/P&gt;&lt;P&gt;header_too_long = 11&lt;/P&gt;&lt;P&gt;unknown_dp_error = 12&lt;/P&gt;&lt;P&gt;access_denied = 13&lt;/P&gt;&lt;P&gt;dp_out_of_memory = 14&lt;/P&gt;&lt;P&gt;disk_full = 15&lt;/P&gt;&lt;P&gt;dp_timeout = 16&lt;/P&gt;&lt;P&gt;OTHERS = 17&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;write: / Text-032.&lt;/P&gt;&lt;P&gt;stop.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Initialisation&lt;/P&gt;&lt;P&gt;write tabx to tab. " required as of ABAP 610 split cannot&lt;/P&gt;&lt;P&gt;*/ have mixed char and byte types&lt;/P&gt;&lt;P&gt;CLEAR g_tab_index.&lt;/P&gt;&lt;P&gt;REFRESH g_tab_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ how to process several doc : detecting docs in i_dataf&lt;/P&gt;&lt;P&gt;g_first_doc = on.&lt;/P&gt;&lt;P&gt;LOOP AT i_dataf.&lt;/P&gt;&lt;P&gt;CLEAR: g_segname, g_sdata.&lt;/P&gt;&lt;P&gt;SPLIT i_dataf AT tab INTO g_segname g_sdata.&lt;/P&gt;&lt;P&gt;CHECK: g_segname = c_e1bpache08,&lt;/P&gt;&lt;P&gt;sy-tabix &amp;gt; 1.&lt;/P&gt;&lt;P&gt;*/ 1st document&lt;/P&gt;&lt;P&gt;IF g_first_doc = on.&lt;/P&gt;&lt;P&gt;g_tab_index-from = 1.&lt;/P&gt;&lt;P&gt;g_tab_index-to = sy-tabix - 1.&lt;/P&gt;&lt;P&gt;APPEND g_tab_index.&lt;/P&gt;&lt;P&gt;*/ Next Documents&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;g_tab_index-from = g_tab_index-to + 1.&lt;/P&gt;&lt;P&gt;g_tab_index-to = sy-tabix - 1.&lt;/P&gt;&lt;P&gt;APPEND g_tab_index.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;g_first_doc = off.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;*/ Last doc.&lt;/P&gt;&lt;P&gt;g_tab_index-from = g_tab_index-to + 1.&lt;/P&gt;&lt;P&gt;g_tab_index-to = sy-tfill.&lt;/P&gt;&lt;P&gt;APPEND g_tab_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Process documents.&lt;/P&gt;&lt;P&gt;loop at g_tab_index.&lt;/P&gt;&lt;P&gt;clear i_dataf_doc.&lt;/P&gt;&lt;P&gt;refresh i_dataf_doc.&lt;/P&gt;&lt;P&gt;append lines of i_dataf from g_tab_index-from&lt;/P&gt;&lt;P&gt;to g_tab_index-to&lt;/P&gt;&lt;P&gt;to i_dataf_doc.&lt;/P&gt;&lt;P&gt;perform process_document.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ =========================== ROUTINES ============================== *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM process_document * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;........ * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;FORM process_document.&lt;/P&gt;&lt;P&gt;*/ Clearing Memory&lt;/P&gt;&lt;P&gt;CLEAR: g_docheader, i_accountgl, i_curramnt, i_return, g_subrc.&lt;/P&gt;&lt;P&gt;REFRESH: i_accountgl, i_curramnt, i_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Checking i_dataf_doc&lt;/P&gt;&lt;P&gt;*/ Mapping dataf =&amp;gt; Bapi structures &amp;amp; internal tables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR g_subrc.&lt;/P&gt;&lt;P&gt;CATCH SYSTEM-EXCEPTIONS conversion_errors = 1.&lt;/P&gt;&lt;P&gt;LOOP AT i_dataf_doc.&lt;/P&gt;&lt;P&gt;CLEAR g_sdata.&lt;/P&gt;&lt;P&gt;SPLIT i_dataf_doc AT tab INTO g_segname g_sdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE g_segname.&lt;/P&gt;&lt;P&gt;*/ HEADER&lt;/P&gt;&lt;P&gt;WHEN c_e1bpache08.&lt;/P&gt;&lt;P&gt;PERFORM do_split_ache08.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING e1bpache08 TO g_docheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF e1bpache08-doc_date IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR g_docheader-doc_date.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF e1bpache08-pstng_date IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR g_docheader-pstng_date.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF e1bpache08-trans_date IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR g_docheader-trans_date.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Account GL&lt;/P&gt;&lt;P&gt;WHEN c_e1bpacgl08.&lt;/P&gt;&lt;P&gt;PERFORM do_split_acgl08.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING e1bpacgl08 TO i_accountgl.&lt;/P&gt;&lt;P&gt;IF e1bpacgl08-pstng_date IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR i_accountgl-pstng_date.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;APPEND i_accountgl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Account Currency &amp;amp; Amounts&lt;/P&gt;&lt;P&gt;WHEN c_e1bpaccr08.&lt;/P&gt;&lt;P&gt;PERFORM do_split_accr08.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING e1bpaccr08 TO i_curramnt.&lt;/P&gt;&lt;P&gt;APPEND i_curramnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ kick the line if segment name not filled&lt;/P&gt;&lt;P&gt;WHEN space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Other names =&amp;gt; Bad file structure !&lt;/P&gt;&lt;P&gt;WHEN OTHERS.&lt;/P&gt;&lt;P&gt;g_subrc = 2.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP. " i_dataf_doc&lt;/P&gt;&lt;P&gt;ENDCATCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 1 OR&lt;/P&gt;&lt;P&gt;NOT g_subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;perform message_output using on.&lt;/P&gt;&lt;P&gt;exit.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Calling the BAPI&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_ACC_GL_POSTING_POST'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;documentheader = g_docheader&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;accountgl = i_accountgl&lt;/P&gt;&lt;P&gt;currencyamount = i_curramnt&lt;/P&gt;&lt;P&gt;return = i_return&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXTENSION1 = &lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;LOOP AT i_return WHERE type CA 'AE'.&lt;/P&gt;&lt;P&gt;g_subrc = 1.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT g_subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;perform message_output using on.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;WAIT = &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;RETURN = &lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;perform message_output using off.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form do_split_ACHE08&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM do_split_ache08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR e1bpache08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SPLIT g_sdata AT tab INTO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e1bpache08-obj_type&lt;/P&gt;&lt;P&gt;e1bpache08-obj_key&lt;/P&gt;&lt;P&gt;e1bpache08-obj_sys&lt;/P&gt;&lt;P&gt;e1bpache08-username&lt;/P&gt;&lt;P&gt;e1bpache08-header_txt&lt;/P&gt;&lt;P&gt;e1bpache08-obj_key_r&lt;/P&gt;&lt;P&gt;e1bpache08-comp_code&lt;/P&gt;&lt;P&gt;e1bpache08-ac_doc_no&lt;/P&gt;&lt;P&gt;e1bpache08-fisc_year&lt;/P&gt;&lt;P&gt;e1bpache08-doc_date&lt;/P&gt;&lt;P&gt;e1bpache08-pstng_date&lt;/P&gt;&lt;P&gt;e1bpache08-trans_date&lt;/P&gt;&lt;P&gt;e1bpache08-fis_period&lt;/P&gt;&lt;P&gt;e1bpache08-doc_type&lt;/P&gt;&lt;P&gt;e1bpache08-ref_doc_no&lt;/P&gt;&lt;P&gt;e1bpache08-compo_acc&lt;/P&gt;&lt;P&gt;e1bpache08-reason_rev&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ENDFORM. " do_split_ACHE08&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form do_split_ACGL08&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM do_split_acgl08.&lt;/P&gt;&lt;P&gt;CLEAR e1bpacgl08.&lt;/P&gt;&lt;P&gt;SPLIT g_sdata AT tab INTO&lt;/P&gt;&lt;P&gt;e1bpacgl08-itemno_acc&lt;/P&gt;&lt;P&gt;e1bpacgl08-gl_account&lt;/P&gt;&lt;P&gt;e1bpacgl08-comp_code&lt;/P&gt;&lt;P&gt;e1bpacgl08-pstng_date&lt;/P&gt;&lt;P&gt;e1bpacgl08-doc_type&lt;/P&gt;&lt;P&gt;e1bpacgl08-ac_doc_no&lt;/P&gt;&lt;P&gt;e1bpacgl08-fisc_year&lt;/P&gt;&lt;P&gt;e1bpacgl08-fis_period&lt;/P&gt;&lt;P&gt;e1bpacgl08-stat_con&lt;/P&gt;&lt;P&gt;e1bpacgl08-ref_key_1&lt;/P&gt;&lt;P&gt;e1bpacgl08-ref_key_2&lt;/P&gt;&lt;P&gt;e1bpacgl08-ref_key_3&lt;/P&gt;&lt;P&gt;e1bpacgl08-customer&lt;/P&gt;&lt;P&gt;e1bpacgl08-vendor_no&lt;/P&gt;&lt;P&gt;e1bpacgl08-alloc_nmbr&lt;/P&gt;&lt;P&gt;e1bpacgl08-item_text&lt;/P&gt;&lt;P&gt;e1bpacgl08-bus_area&lt;/P&gt;&lt;P&gt;e1bpacgl08-costcenter&lt;/P&gt;&lt;P&gt;e1bpacgl08-acttype&lt;/P&gt;&lt;P&gt;e1bpacgl08-orderid&lt;/P&gt;&lt;P&gt;e1bpacgl08-orig_group&lt;/P&gt;&lt;P&gt;e1bpacgl08-cost_obj&lt;/P&gt;&lt;P&gt;e1bpacgl08-profit_ctr&lt;/P&gt;&lt;P&gt;e1bpacgl08-part_prctr&lt;/P&gt;&lt;P&gt;e1bpacgl08-wbs_element&lt;/P&gt;&lt;P&gt;e1bpacgl08-network&lt;/P&gt;&lt;P&gt;e1bpacgl08-routing_no&lt;/P&gt;&lt;P&gt;e1bpacgl08-order_itno&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ENDFORM. " do_split_ACGL08&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form do_split_ACCR08&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM do_split_accr08.&lt;/P&gt;&lt;P&gt;data: l_filler(100).&lt;/P&gt;&lt;P&gt;CLEAR e1bpaccr08.&lt;/P&gt;&lt;P&gt;SPLIT g_sdata AT tab INTO&lt;/P&gt;&lt;P&gt;e1bpaccr08-itemno_acc&lt;/P&gt;&lt;P&gt;e1bpaccr08-curr_type&lt;/P&gt;&lt;P&gt;e1bpaccr08-currency&lt;/P&gt;&lt;P&gt;e1bpaccr08-currency_iso&lt;/P&gt;&lt;P&gt;e1bpaccr08-amt_doccur&lt;/P&gt;&lt;P&gt;e1bpaccr08-exch_rate&lt;/P&gt;&lt;P&gt;e1bpaccr08-exch_rate_v&lt;/P&gt;&lt;P&gt;l_filler&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ENDFORM. " do_split_ACCR08&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form message_output&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM message_output using if_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_message(200),&lt;/P&gt;&lt;P&gt;l_return type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;format color 1.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;write: / text-020, g_tab_index-from,&lt;/P&gt;&lt;P&gt;text-021, g_tab_index-to.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if if_error = on.&lt;/P&gt;&lt;P&gt;write: / icon_red_light as icon, text-030 color 6.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;write: / icon_green_light as icon, text-031 color 5.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;describe table i_return lines l_return.&lt;/P&gt;&lt;P&gt;if l_return is initial.&lt;/P&gt;&lt;P&gt;write: / text-032.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;loop at i_return.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;ID = i_return-id&lt;/P&gt;&lt;P&gt;LANG = sy-langu&lt;/P&gt;&lt;P&gt;NO = i_return-number&lt;/P&gt;&lt;P&gt;V1 = i_return-MESSAGE_V1&lt;/P&gt;&lt;P&gt;V2 = i_return-MESSAGE_V2&lt;/P&gt;&lt;P&gt;V3 = i_return-MESSAGE_V3&lt;/P&gt;&lt;P&gt;V4 = i_return-MESSAGE_V4&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;MSG = l_message&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;check sy-subrc = 0.&lt;/P&gt;&lt;P&gt;write: / l_message.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;ENDFORM. " message_output[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Kiran Sure&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 26 Apr 2008 06:38:20 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-26T06:38:20Z</dc:date>
    <item>
      <title>BAPI for TCode FB60</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-tcode-fb60/m-p/3746279#M901339</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone let know if there is a BAPI or FM which does the same functionality as FB60.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks..&lt;/P&gt;&lt;P&gt;Preetham S&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Apr 2008 19:17:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-tcode-fb60/m-p/3746279#M901339</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-25T19:17:19Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI for TCode FB60</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-tcode-fb60/m-p/3746280#M901340</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not sure but probably you can do it with BAPIs BAPI_INCOMINGINVOICE_*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Apr 2008 23:40:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-tcode-fb60/m-p/3746280#M901340</guid>
      <dc:creator>mvoros</dc:creator>
      <dc:date>2008-04-25T23:40:42Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI for TCode FB60</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-tcode-fb60/m-p/3746281#M901341</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;check this code..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_FI_GL_POSTING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include &amp;lt;icon&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ =================================================================== *&lt;/P&gt;&lt;P&gt;CONSTANTS: on VALUE 'X',&lt;/P&gt;&lt;P&gt;off VALUE ' ',&lt;/P&gt;&lt;P&gt;tabx TYPE X VALUE '09',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;c_e1bpache08 TYPE edilsegtyp VALUE 'E1BPACHE08',&lt;/P&gt;&lt;P&gt;c_e1bpacgl08 TYPE edilsegtyp VALUE 'E1BPACGL08',&lt;/P&gt;&lt;P&gt;c_e1bpaccr08 TYPE edilsegtyp VALUE 'E1BPACCR08'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_tab_index,&lt;/P&gt;&lt;P&gt;from TYPE i,&lt;/P&gt;&lt;P&gt;to TYPE i,&lt;/P&gt;&lt;P&gt;END OF t_tab_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : tab type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;e1bpache08 LIKE e1bpache08,&lt;/P&gt;&lt;P&gt;e1bpacgl08 LIKE e1bpacgl08,&lt;/P&gt;&lt;P&gt;e1bpaccr08 LIKE e1bpaccr08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_subrc TYPE subrc.&lt;/P&gt;&lt;P&gt;DATA: g_file TYPE string.&lt;/P&gt;&lt;P&gt;DATA: g_segname TYPE edilsegtyp.&lt;/P&gt;&lt;P&gt;DATA: g_sdata TYPE edi_sdata.&lt;/P&gt;&lt;P&gt;DATA: g_first_doc.&lt;/P&gt;&lt;P&gt;DATA: i_dataf TYPE char2000 OCCURS 900 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;i_dataf_doc TYPE char2000 OCCURS 50 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_tab_index TYPE t_tab_index OCCURS 100 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_accountgl TYPE bapiacgl08 OCCURS 100 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;i_curramnt TYPE bapiaccr08 OCCURS 100 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;i_return TYPE bapiret2 OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;g_docheader TYPE bapiache08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ ======================== SELECTION ================================ *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-010.&lt;/P&gt;&lt;P&gt;PARAMETERS: excelf TYPE file_name LOWER CASE&lt;/P&gt;&lt;P&gt;DEFAULT 'C:\my_excel_file.txt'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ =========================== CORE ================================== *&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Call text File with GUI_UPLOAD&lt;/P&gt;&lt;P&gt;g_file = excelf.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;filename = g_file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FILETYPE = 'ASC' &lt;/P&gt;&lt;P&gt;HAS_FIELD_SEPARATOR = ' ' &lt;/P&gt;&lt;P&gt;HEADER_LENGTH = 0 &lt;/P&gt;&lt;P&gt;READ_BY_LINE = 'X' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;FILELENGTH = &lt;/P&gt;&lt;P&gt;HEADER = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = i_dataf&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;file_open_error = 1&lt;/P&gt;&lt;P&gt;file_read_error = 2&lt;/P&gt;&lt;P&gt;no_batch = 3&lt;/P&gt;&lt;P&gt;gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;invalid_type = 5&lt;/P&gt;&lt;P&gt;no_authority = 6&lt;/P&gt;&lt;P&gt;unknown_error = 7&lt;/P&gt;&lt;P&gt;bad_data_format = 8&lt;/P&gt;&lt;P&gt;header_not_allowed = 9&lt;/P&gt;&lt;P&gt;separator_not_allowed = 10&lt;/P&gt;&lt;P&gt;header_too_long = 11&lt;/P&gt;&lt;P&gt;unknown_dp_error = 12&lt;/P&gt;&lt;P&gt;access_denied = 13&lt;/P&gt;&lt;P&gt;dp_out_of_memory = 14&lt;/P&gt;&lt;P&gt;disk_full = 15&lt;/P&gt;&lt;P&gt;dp_timeout = 16&lt;/P&gt;&lt;P&gt;OTHERS = 17&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;write: / Text-032.&lt;/P&gt;&lt;P&gt;stop.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Initialisation&lt;/P&gt;&lt;P&gt;write tabx to tab. " required as of ABAP 610 split cannot&lt;/P&gt;&lt;P&gt;*/ have mixed char and byte types&lt;/P&gt;&lt;P&gt;CLEAR g_tab_index.&lt;/P&gt;&lt;P&gt;REFRESH g_tab_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ how to process several doc : detecting docs in i_dataf&lt;/P&gt;&lt;P&gt;g_first_doc = on.&lt;/P&gt;&lt;P&gt;LOOP AT i_dataf.&lt;/P&gt;&lt;P&gt;CLEAR: g_segname, g_sdata.&lt;/P&gt;&lt;P&gt;SPLIT i_dataf AT tab INTO g_segname g_sdata.&lt;/P&gt;&lt;P&gt;CHECK: g_segname = c_e1bpache08,&lt;/P&gt;&lt;P&gt;sy-tabix &amp;gt; 1.&lt;/P&gt;&lt;P&gt;*/ 1st document&lt;/P&gt;&lt;P&gt;IF g_first_doc = on.&lt;/P&gt;&lt;P&gt;g_tab_index-from = 1.&lt;/P&gt;&lt;P&gt;g_tab_index-to = sy-tabix - 1.&lt;/P&gt;&lt;P&gt;APPEND g_tab_index.&lt;/P&gt;&lt;P&gt;*/ Next Documents&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;g_tab_index-from = g_tab_index-to + 1.&lt;/P&gt;&lt;P&gt;g_tab_index-to = sy-tabix - 1.&lt;/P&gt;&lt;P&gt;APPEND g_tab_index.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;g_first_doc = off.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;*/ Last doc.&lt;/P&gt;&lt;P&gt;g_tab_index-from = g_tab_index-to + 1.&lt;/P&gt;&lt;P&gt;g_tab_index-to = sy-tfill.&lt;/P&gt;&lt;P&gt;APPEND g_tab_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Process documents.&lt;/P&gt;&lt;P&gt;loop at g_tab_index.&lt;/P&gt;&lt;P&gt;clear i_dataf_doc.&lt;/P&gt;&lt;P&gt;refresh i_dataf_doc.&lt;/P&gt;&lt;P&gt;append lines of i_dataf from g_tab_index-from&lt;/P&gt;&lt;P&gt;to g_tab_index-to&lt;/P&gt;&lt;P&gt;to i_dataf_doc.&lt;/P&gt;&lt;P&gt;perform process_document.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ =========================== ROUTINES ============================== *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM process_document * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;........ * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;FORM process_document.&lt;/P&gt;&lt;P&gt;*/ Clearing Memory&lt;/P&gt;&lt;P&gt;CLEAR: g_docheader, i_accountgl, i_curramnt, i_return, g_subrc.&lt;/P&gt;&lt;P&gt;REFRESH: i_accountgl, i_curramnt, i_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Checking i_dataf_doc&lt;/P&gt;&lt;P&gt;*/ Mapping dataf =&amp;gt; Bapi structures &amp;amp; internal tables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR g_subrc.&lt;/P&gt;&lt;P&gt;CATCH SYSTEM-EXCEPTIONS conversion_errors = 1.&lt;/P&gt;&lt;P&gt;LOOP AT i_dataf_doc.&lt;/P&gt;&lt;P&gt;CLEAR g_sdata.&lt;/P&gt;&lt;P&gt;SPLIT i_dataf_doc AT tab INTO g_segname g_sdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE g_segname.&lt;/P&gt;&lt;P&gt;*/ HEADER&lt;/P&gt;&lt;P&gt;WHEN c_e1bpache08.&lt;/P&gt;&lt;P&gt;PERFORM do_split_ache08.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING e1bpache08 TO g_docheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF e1bpache08-doc_date IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR g_docheader-doc_date.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF e1bpache08-pstng_date IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR g_docheader-pstng_date.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF e1bpache08-trans_date IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR g_docheader-trans_date.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Account GL&lt;/P&gt;&lt;P&gt;WHEN c_e1bpacgl08.&lt;/P&gt;&lt;P&gt;PERFORM do_split_acgl08.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING e1bpacgl08 TO i_accountgl.&lt;/P&gt;&lt;P&gt;IF e1bpacgl08-pstng_date IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR i_accountgl-pstng_date.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;APPEND i_accountgl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Account Currency &amp;amp; Amounts&lt;/P&gt;&lt;P&gt;WHEN c_e1bpaccr08.&lt;/P&gt;&lt;P&gt;PERFORM do_split_accr08.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING e1bpaccr08 TO i_curramnt.&lt;/P&gt;&lt;P&gt;APPEND i_curramnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ kick the line if segment name not filled&lt;/P&gt;&lt;P&gt;WHEN space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Other names =&amp;gt; Bad file structure !&lt;/P&gt;&lt;P&gt;WHEN OTHERS.&lt;/P&gt;&lt;P&gt;g_subrc = 2.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP. " i_dataf_doc&lt;/P&gt;&lt;P&gt;ENDCATCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 1 OR&lt;/P&gt;&lt;P&gt;NOT g_subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;perform message_output using on.&lt;/P&gt;&lt;P&gt;exit.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/ Calling the BAPI&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_ACC_GL_POSTING_POST'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;documentheader = g_docheader&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;accountgl = i_accountgl&lt;/P&gt;&lt;P&gt;currencyamount = i_curramnt&lt;/P&gt;&lt;P&gt;return = i_return&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXTENSION1 = &lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;LOOP AT i_return WHERE type CA 'AE'.&lt;/P&gt;&lt;P&gt;g_subrc = 1.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT g_subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;perform message_output using on.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;WAIT = &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;RETURN = &lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;perform message_output using off.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form do_split_ACHE08&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM do_split_ache08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR e1bpache08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SPLIT g_sdata AT tab INTO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e1bpache08-obj_type&lt;/P&gt;&lt;P&gt;e1bpache08-obj_key&lt;/P&gt;&lt;P&gt;e1bpache08-obj_sys&lt;/P&gt;&lt;P&gt;e1bpache08-username&lt;/P&gt;&lt;P&gt;e1bpache08-header_txt&lt;/P&gt;&lt;P&gt;e1bpache08-obj_key_r&lt;/P&gt;&lt;P&gt;e1bpache08-comp_code&lt;/P&gt;&lt;P&gt;e1bpache08-ac_doc_no&lt;/P&gt;&lt;P&gt;e1bpache08-fisc_year&lt;/P&gt;&lt;P&gt;e1bpache08-doc_date&lt;/P&gt;&lt;P&gt;e1bpache08-pstng_date&lt;/P&gt;&lt;P&gt;e1bpache08-trans_date&lt;/P&gt;&lt;P&gt;e1bpache08-fis_period&lt;/P&gt;&lt;P&gt;e1bpache08-doc_type&lt;/P&gt;&lt;P&gt;e1bpache08-ref_doc_no&lt;/P&gt;&lt;P&gt;e1bpache08-compo_acc&lt;/P&gt;&lt;P&gt;e1bpache08-reason_rev&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ENDFORM. " do_split_ACHE08&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form do_split_ACGL08&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM do_split_acgl08.&lt;/P&gt;&lt;P&gt;CLEAR e1bpacgl08.&lt;/P&gt;&lt;P&gt;SPLIT g_sdata AT tab INTO&lt;/P&gt;&lt;P&gt;e1bpacgl08-itemno_acc&lt;/P&gt;&lt;P&gt;e1bpacgl08-gl_account&lt;/P&gt;&lt;P&gt;e1bpacgl08-comp_code&lt;/P&gt;&lt;P&gt;e1bpacgl08-pstng_date&lt;/P&gt;&lt;P&gt;e1bpacgl08-doc_type&lt;/P&gt;&lt;P&gt;e1bpacgl08-ac_doc_no&lt;/P&gt;&lt;P&gt;e1bpacgl08-fisc_year&lt;/P&gt;&lt;P&gt;e1bpacgl08-fis_period&lt;/P&gt;&lt;P&gt;e1bpacgl08-stat_con&lt;/P&gt;&lt;P&gt;e1bpacgl08-ref_key_1&lt;/P&gt;&lt;P&gt;e1bpacgl08-ref_key_2&lt;/P&gt;&lt;P&gt;e1bpacgl08-ref_key_3&lt;/P&gt;&lt;P&gt;e1bpacgl08-customer&lt;/P&gt;&lt;P&gt;e1bpacgl08-vendor_no&lt;/P&gt;&lt;P&gt;e1bpacgl08-alloc_nmbr&lt;/P&gt;&lt;P&gt;e1bpacgl08-item_text&lt;/P&gt;&lt;P&gt;e1bpacgl08-bus_area&lt;/P&gt;&lt;P&gt;e1bpacgl08-costcenter&lt;/P&gt;&lt;P&gt;e1bpacgl08-acttype&lt;/P&gt;&lt;P&gt;e1bpacgl08-orderid&lt;/P&gt;&lt;P&gt;e1bpacgl08-orig_group&lt;/P&gt;&lt;P&gt;e1bpacgl08-cost_obj&lt;/P&gt;&lt;P&gt;e1bpacgl08-profit_ctr&lt;/P&gt;&lt;P&gt;e1bpacgl08-part_prctr&lt;/P&gt;&lt;P&gt;e1bpacgl08-wbs_element&lt;/P&gt;&lt;P&gt;e1bpacgl08-network&lt;/P&gt;&lt;P&gt;e1bpacgl08-routing_no&lt;/P&gt;&lt;P&gt;e1bpacgl08-order_itno&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ENDFORM. " do_split_ACGL08&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form do_split_ACCR08&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM do_split_accr08.&lt;/P&gt;&lt;P&gt;data: l_filler(100).&lt;/P&gt;&lt;P&gt;CLEAR e1bpaccr08.&lt;/P&gt;&lt;P&gt;SPLIT g_sdata AT tab INTO&lt;/P&gt;&lt;P&gt;e1bpaccr08-itemno_acc&lt;/P&gt;&lt;P&gt;e1bpaccr08-curr_type&lt;/P&gt;&lt;P&gt;e1bpaccr08-currency&lt;/P&gt;&lt;P&gt;e1bpaccr08-currency_iso&lt;/P&gt;&lt;P&gt;e1bpaccr08-amt_doccur&lt;/P&gt;&lt;P&gt;e1bpaccr08-exch_rate&lt;/P&gt;&lt;P&gt;e1bpaccr08-exch_rate_v&lt;/P&gt;&lt;P&gt;l_filler&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ENDFORM. " do_split_ACCR08&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form message_output&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM message_output using if_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_message(200),&lt;/P&gt;&lt;P&gt;l_return type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;format color 1.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;write: / text-020, g_tab_index-from,&lt;/P&gt;&lt;P&gt;text-021, g_tab_index-to.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if if_error = on.&lt;/P&gt;&lt;P&gt;write: / icon_red_light as icon, text-030 color 6.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;write: / icon_green_light as icon, text-031 color 5.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;describe table i_return lines l_return.&lt;/P&gt;&lt;P&gt;if l_return is initial.&lt;/P&gt;&lt;P&gt;write: / text-032.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;loop at i_return.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;ID = i_return-id&lt;/P&gt;&lt;P&gt;LANG = sy-langu&lt;/P&gt;&lt;P&gt;NO = i_return-number&lt;/P&gt;&lt;P&gt;V1 = i_return-MESSAGE_V1&lt;/P&gt;&lt;P&gt;V2 = i_return-MESSAGE_V2&lt;/P&gt;&lt;P&gt;V3 = i_return-MESSAGE_V3&lt;/P&gt;&lt;P&gt;V4 = i_return-MESSAGE_V4&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;MSG = l_message&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;check sy-subrc = 0.&lt;/P&gt;&lt;P&gt;write: / l_message.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;ENDFORM. " message_output[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Kiran Sure&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 26 Apr 2008 06:38:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-tcode-fb60/m-p/3746281#M901341</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-26T06:38:20Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI for TCode FB60</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-tcode-fb60/m-p/3746282#M901342</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you provide sample values for the header...the first 3 fields....for creating an incoming invoice with reference to a PO...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks..&lt;/P&gt;&lt;P&gt;Preetham S&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 26 Apr 2008 16:30:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-tcode-fb60/m-p/3746282#M901342</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-26T16:30:42Z</dc:date>
    </item>
  </channel>
</rss>

