<?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_PO_CREATE! in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create/m-p/2908542#M684327</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;Make the following changes to your code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Declare a work are l_record just similar to it_record&lt;/P&gt;&lt;P&gt;2) LOOP AT it_input_file into it_record.&lt;/P&gt;&lt;P&gt;    l_record = it_record.&lt;/P&gt;&lt;P&gt;    AT NEW REF_NO.&lt;/P&gt;&lt;P&gt;    	*Fill your Header Data&lt;/P&gt;&lt;P&gt;          MOVE: l_record-vend_no TO poheader-vendor,&lt;/P&gt;&lt;P&gt;                      l_record-doc_typ TO poheader-doc_type,&lt;/P&gt;&lt;P&gt;                      l_record-purch_org TO poheader-purch_org,&lt;/P&gt;&lt;P&gt;                      l_record-purch_grp TO poheader-pur_group,&lt;/P&gt;&lt;P&gt;                      l_record-c_code TO poheader-comp_code,&lt;/P&gt;&lt;P&gt;                      l_record-doc_date TO poheader-doc_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;updating header data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poheader-vendor &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;        poheaderx-vendor = 'X'.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if poheader-doc_type &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;        poheaderx-doc_type = 'X'.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poheader-doc_date &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poheaderx-doc_date = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poheader-purch_org &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poheaderx-purch_org = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poheader-pur_group &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poheaderx-pur_group = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poheader-comp_code &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poheaderx-comp_code = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;    ENDAT&lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the item tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;	MOVE: l_record-item_no TO poitem-po_item,&lt;/P&gt;&lt;P&gt;	l_record-plant TO poitem-plant,&lt;/P&gt;&lt;P&gt;	l_record-Strg_loc TO poitem-stge_loc,&lt;/P&gt;&lt;P&gt;	l_record-material TO poitem-material,&lt;/P&gt;&lt;P&gt;	l_record-quantity TO poitem-quantity,&lt;/P&gt;&lt;P&gt;	l_record-price TO poitem-price_unit,&lt;/P&gt;&lt;P&gt;	l_record-ref_no TO poitem-ref_doc,&lt;/P&gt;&lt;P&gt;	l_record-ord_unit TO poitem-po_unit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;updating Item data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;	if poitem-plant &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poitemx-plant = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poitem-material &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poitemx-material = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poitem-stge_loc &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poitemx-stge_loc = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poitem-quantity &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poitemx-quantity = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	poitemx-po_item = l_record-item_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	move: l_record-del_date TO poschedule-delivery_date.&lt;/P&gt;&lt;P&gt;	move: 'X' TO poschedulex-delivery_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF REF_NO.&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the BAPI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;	CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;	EXPORTING&lt;/P&gt;&lt;P&gt;	   poheader = poheader&lt;/P&gt;&lt;P&gt;	   poheaderx = poheaderx&lt;/P&gt;&lt;P&gt;	IMPORTING&lt;/P&gt;&lt;P&gt;	   exppurchaseorder = exppurchaseorder&lt;/P&gt;&lt;P&gt;	TABLES&lt;/P&gt;&lt;P&gt;	   poitem = poitem&lt;/P&gt;&lt;P&gt;	   poitemx = poitemx&lt;/P&gt;&lt;P&gt;	   poschedule = poschedule&lt;/P&gt;&lt;P&gt;	   poschedulex = poschedulex&lt;/P&gt;&lt;P&gt;	   return = return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if exppurchaseorder is not initial.&lt;/P&gt;&lt;P&gt;	WRITE:/ exppurchaseorder.&lt;/P&gt;&lt;P&gt;	CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;	IMPORTING&lt;/P&gt;&lt;P&gt;	return = return2.&lt;/P&gt;&lt;P&gt;	else.&lt;/P&gt;&lt;P&gt;	*Write logic to format error message as per your requirment&lt;/P&gt;&lt;P&gt;	******************************************&lt;/P&gt;&lt;P&gt;	******************************************&lt;/P&gt;&lt;P&gt;	******************************************&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;	clear: poheader, poheaderx, poitem, poitemx, poschedule, poschedulex, exppurchaseorder.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    clear l_record.&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will solve your problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rewad points if useful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enjoy SAP.&lt;/P&gt;&lt;P&gt;Rajasekhar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 08 Oct 2007 21:11:31 GMT</pubDate>
    <dc:creator>rajasekhar_matukumalli3</dc:creator>
    <dc:date>2007-10-08T21:11:31Z</dc:date>
    <item>
      <title>BAPI_PO_CREATE!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create/m-p/2908539#M684324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am working on PO creation and for this I have written the following code, PO is meant for multiple line items, and each PO should be differentiate from the other on the basis of the refrence field. The code is as follows:&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_semfile = p_ifname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename                = v_semfile&lt;/P&gt;&lt;P&gt;      filetype                = 'DAT'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                = it_input_file&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      conversion_error        = 1&lt;/P&gt;&lt;P&gt;      file_open_error         = 2&lt;/P&gt;&lt;P&gt;      file_read_error         = 3&lt;/P&gt;&lt;P&gt;      invalid_table_width     = 4&lt;/P&gt;&lt;P&gt;      invalid_type            = 5&lt;/P&gt;&lt;P&gt;      no_batch                = 6&lt;/P&gt;&lt;P&gt;      unknown_error           = 7&lt;/P&gt;&lt;P&gt;      gui_refuse_filetransfer = 8&lt;/P&gt;&lt;P&gt;      OTHERS                  = 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  data_process&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM data_process .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if it_input_file[] is initial.&lt;/P&gt;&lt;P&gt;    message E319 with 'There is no data to process!!'.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    sort it_input_file by ref_no.&lt;/P&gt;&lt;P&gt;    clear: it_ref_no_old.&lt;/P&gt;&lt;P&gt;    loop at it_input_file into it_record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if  it_record-ref_no ne it_ref_no_old .&lt;/P&gt;&lt;P&gt;        loop AT it_input_file into it_record_x&lt;/P&gt;&lt;P&gt;                             where  ref_no = it_record-ref_no .&lt;/P&gt;&lt;P&gt;        endloop.&lt;/P&gt;&lt;P&gt;        if  syst-subrc = 0 .&lt;/P&gt;&lt;P&gt;          PERFORM call_bapi.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_ref_no_old = it_record-ref_no.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&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;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  call_bapi&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM call_bapi .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_input_file.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; moving header data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE: it_input_file-vend_no    TO  poheader-vendor,&lt;/P&gt;&lt;P&gt;          it_input_file-doc_typ    TO  poheader-doc_type,&lt;/P&gt;&lt;P&gt;          it_input_file-purch_org  TO  poheader-purch_org,&lt;/P&gt;&lt;P&gt;          it_input_file-purch_grp  TO  poheader-pur_group,&lt;/P&gt;&lt;P&gt;          it_input_file-c_code     TO  poheader-comp_code,&lt;/P&gt;&lt;P&gt;          it_input_file-doc_date   TO  poheader-doc_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; updating header data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if poheader-vendor       &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;    poheaderx-vendor       =  'X'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if poheader-doc_type     &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;    poheaderx-doc_type     =  'X'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if poheader-doc_date   &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;    poheaderx-doc_date     =  'X'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if poheader-purch_org    &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;    poheaderx-purch_org    =  'X'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if poheader-pur_group    &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;    poheaderx-pur_group    =  'X'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if poheader-comp_code    &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;    poheaderx-comp_code    =  'X'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poheaderx-vendor     =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poheaderx-doc_type   =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poheaderx-doc_date   =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poheaderx-purch_org  =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poheaderx-pur_group  =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poheaderx-comp_code  =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; moving item data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE: it_input_file-item_no    TO  poitem-po_item,&lt;/P&gt;&lt;P&gt;          it_input_file-plant      TO  poitem-plant,&lt;/P&gt;&lt;P&gt;          it_input_file-Strg_loc   TO  poitem-stge_loc,&lt;/P&gt;&lt;P&gt;          it_input_file-material   TO  poitem-material,&lt;/P&gt;&lt;P&gt;          it_input_file-quantity   TO  poitem-quantity,&lt;/P&gt;&lt;P&gt;          it_input_file-price      TO  poitem-price_unit,&lt;/P&gt;&lt;P&gt;          it_input_file-ref_no     TO  poitem-ref_doc,&lt;/P&gt;&lt;P&gt;          it_input_file-ord_unit   TO  poitem-po_unit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;updating Item data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if poitem-plant &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;         poitemx-plant     =  'X'.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if poitem-material &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;         poitemx-material     =  'X'.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if poitem-stge_loc &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;         poitemx-stge_loc     =  'X'.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if poitem-quantity &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;         poitemx-quantity     =  'X'.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  if poitem-price_unit &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        poitemx-price_unit    =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  if poitem-ref_doc &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        poitemx-ref_doc     =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  if poitem-po_unit &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        poitemx-po_unit     =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    poitemx-po_item      =  it_input_file-item_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poitemx-plant        =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poitemx-stge_loc     =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poitemx-material     =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poitemx-quantity     =  'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move: it_input_file-del_date      TO poschedule-delivery_date.&lt;/P&gt;&lt;P&gt;    move: 'X'                         TO poschedulex-delivery_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND:  poitem, poitemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        poheader         = poheader&lt;/P&gt;&lt;P&gt;        poheaderx        = poheaderx&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        exppurchaseorder = exppurchaseorder&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        poitem           = poitem&lt;/P&gt;&lt;P&gt;        poitemx          = poitemx&lt;/P&gt;&lt;P&gt;        poschedule       = poschedule&lt;/P&gt;&lt;P&gt;        poschedulex      = poschedulex&lt;/P&gt;&lt;P&gt;        return           = return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        return = return2.&lt;/P&gt;&lt;P&gt;    WRITE:/ exppurchaseorder.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_bapi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and my input file looks like this:&lt;/P&gt;&lt;P&gt;1 1000 NB 20071210 V1 AE01 501 USD 10 M5 1003  100 1000	EA 20071110&lt;/P&gt;&lt;P&gt;1 1000 NB 20071210 V1 AE01 507 USD 10 P10 1003 100 2000	EA 20071110&lt;/P&gt;&lt;P&gt;2 1000 NB 20071210 V1 AE01 501 USD 10 M5 1003  50  1000	EA 20071110&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the name of the fields in order are : &amp;lt;b&amp;gt;refno., compnaycode,doc-typ,doc_date,vendor,purch_org,purch_grp,currency&lt;/P&gt;&lt;P&gt;tem no, material, plant, quantity, price, order unit, del_date&amp;lt;/b&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So basically my Program should create 2 PO's but to my surprise it created 5 or 6 po's with only first record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please help to get out of this issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Rajeev Gupta&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2007 19:44:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create/m-p/2908539#M684324</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-08T19:44:53Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CREATE!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create/m-p/2908540#M684325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try to debug in debugging mode. Place breakpoint at loop and try to obeserve how the records are processed from input file to BAPI. I think then you will find where the problem lies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2007 19:51:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create/m-p/2908540#M684325</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-08T19:51:22Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CREATE!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create/m-p/2908541#M684326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rajeev,&lt;/P&gt;&lt;P&gt;Keep a Break point before the BAPI starting anf see the population of fields in debugging.&lt;/P&gt;&lt;P&gt;Also check the Append POitem and PoitemX..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See the sample code and do accordingly it will work&lt;/P&gt;&lt;P&gt;REPORT zpo_bapi_purchord_tej.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA DECLARATIONS *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_table,&lt;/P&gt;&lt;P&gt;v_legacy(8),&lt;/P&gt;&lt;P&gt;vendor TYPE bapimepoheader-vendor,&lt;/P&gt;&lt;P&gt;purch_org TYPE bapimepoheader-purch_org,&lt;/P&gt;&lt;P&gt;pur_group TYPE bapimepoheader-pur_group,&lt;/P&gt;&lt;P&gt;material TYPE bapimepoitem-material,&lt;/P&gt;&lt;P&gt;quantity(13),&lt;/P&gt;&lt;P&gt;delivery_date TYPE bapimeposchedule-delivery_date,&lt;/P&gt;&lt;P&gt;net_price(23),&lt;/P&gt;&lt;P&gt;plant TYPE bapimepoitem-plant,&lt;/P&gt;&lt;P&gt;END OF ty_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_alv,&lt;/P&gt;&lt;P&gt;v_legs(8),&lt;/P&gt;&lt;P&gt;success(10),&lt;/P&gt;&lt;P&gt;v_legf(8),&lt;/P&gt;&lt;P&gt;END OF ty_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_alv1,&lt;/P&gt;&lt;P&gt;v_legf1(8),&lt;/P&gt;&lt;P&gt;v_msg(500),&lt;/P&gt;&lt;P&gt;END OF ty_alv1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Work area declarations.&lt;/P&gt;&lt;P&gt;DATA: x_table TYPE ty_table,&lt;/P&gt;&lt;P&gt;x_header TYPE bapimepoheader,&lt;/P&gt;&lt;P&gt;x_headerx TYPE bapimepoheaderx,&lt;/P&gt;&lt;P&gt;x_item TYPE bapimepoitem,&lt;/P&gt;&lt;P&gt;x_itemx TYPE bapimepoitemx,&lt;/P&gt;&lt;P&gt;x_sched TYPE bapimeposchedule,&lt;/P&gt;&lt;P&gt;x_schedx TYPE bapimeposchedulx,&lt;/P&gt;&lt;P&gt;x_commatable(255),&lt;/P&gt;&lt;P&gt;x_alv TYPE ty_alv,&lt;/P&gt;&lt;P&gt;x_alv1 TYPE ty_alv1,&lt;/P&gt;&lt;P&gt;x_alv2 TYPE ty_alv1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Internal table declarations.&lt;/P&gt;&lt;P&gt;DATA: it_table TYPE TABLE OF ty_table,&lt;/P&gt;&lt;P&gt;it_commatable LIKE TABLE OF x_commatable,&lt;/P&gt;&lt;P&gt;it_item TYPE TABLE OF bapimepoitem,&lt;/P&gt;&lt;P&gt;it_itemx TYPE TABLE OF bapimepoitemx,&lt;/P&gt;&lt;P&gt;it_sched TYPE TABLE OF bapimeposchedule,&lt;/P&gt;&lt;P&gt;it_schedx TYPE TABLE OF bapimeposchedulx,&lt;/P&gt;&lt;P&gt;it_alv TYPE TABLE OF ty_alv,&lt;/P&gt;&lt;P&gt;it_alv1 TYPE TABLE OF ty_alv1,&lt;/P&gt;&lt;P&gt;it_alv2 TYPE TABLE OF ty_alv1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: po_number TYPE bapimepoheader-po_number,&lt;/P&gt;&lt;P&gt;x_return TYPE bapiret2,&lt;/P&gt;&lt;P&gt;it_return TYPE TABLE OF bapiret2,&lt;/P&gt;&lt;P&gt;v_file TYPE string,&lt;/P&gt;&lt;P&gt;v_temp(8),&lt;/P&gt;&lt;P&gt;v_succsount TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;v_failcount TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;v_total TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: v_temp1(5) TYPE n VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: x_event TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;x_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;x_list_header TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;x_event1 LIKE LINE OF x_event,&lt;/P&gt;&lt;P&gt;x_layout1 TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;x_variant1 TYPE disvariant,&lt;/P&gt;&lt;P&gt;x_repid2 LIKE sy-repid.&lt;/P&gt;&lt;P&gt;DATA : it_fieldcat TYPE TABLE OF slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION-SCREEN *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK v_b1 WITH FRAME.&lt;/P&gt;&lt;P&gt;*-----To fetch the flat file.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_file TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK v_b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION-SCREEN *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;IF p_file IS INITIAL.&lt;/P&gt;&lt;P&gt;MESSAGE text-001 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;*-----To use F4 help to find file path.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;program_name = syst-cprog&lt;/P&gt;&lt;P&gt;dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;file_name = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_file = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM gui_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_table INTO x_table.&lt;/P&gt;&lt;P&gt;PERFORM header_details.&lt;/P&gt;&lt;P&gt;v_temp = x_table-v_legacy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_table INTO x_table WHERE v_legacy = v_temp.&lt;/P&gt;&lt;P&gt;PERFORM lineitem.&lt;/P&gt;&lt;P&gt;PERFORM schedule.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DELETE it_table WHERE v_legacy = v_temp.&lt;/P&gt;&lt;P&gt;PERFORM bapicall.&lt;/P&gt;&lt;P&gt;MOVE po_number TO x_alv-success.&lt;/P&gt;&lt;P&gt;APPEND x_alv TO it_alv.&lt;/P&gt;&lt;P&gt;CLEAR x_alv.&lt;/P&gt;&lt;P&gt;*-----To clear the item details in internal table after the operation for a header.&lt;/P&gt;&lt;P&gt;REFRESH: it_item,&lt;/P&gt;&lt;P&gt;it_itemx,&lt;/P&gt;&lt;P&gt;it_sched,&lt;/P&gt;&lt;P&gt;it_schedx.&lt;/P&gt;&lt;P&gt;CLEAR: v_temp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;v_total = v_succsount + v_failcount.&lt;/P&gt;&lt;P&gt;PERFORM display_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM GUI_UPLOAD *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM gui_upload .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;filename = v_file&lt;/P&gt;&lt;P&gt;filetype = 'ASC'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = it_commatable&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;*-----To fetch the comma seperated flat file into an internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_commatable INTO x_commatable.&lt;/P&gt;&lt;P&gt;IF x_commatable IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;SPLIT x_commatable AT ',' INTO&lt;/P&gt;&lt;P&gt;x_table-v_legacy&lt;/P&gt;&lt;P&gt;x_table-vendor&lt;/P&gt;&lt;P&gt;x_table-purch_org&lt;/P&gt;&lt;P&gt;x_table-pur_group&lt;/P&gt;&lt;P&gt;x_table-material&lt;/P&gt;&lt;P&gt;x_table-quantity&lt;/P&gt;&lt;P&gt;x_table-delivery_date&lt;/P&gt;&lt;P&gt;x_table-net_price&lt;/P&gt;&lt;P&gt;x_table-plant.&lt;/P&gt;&lt;P&gt;APPEND x_table TO it_table.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;CLEAR x_table.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " gui_upload&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM HEADER_DETAILS *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM header_details .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'NB' TO x_header-doc_type.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = x_table-vendor&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = x_table-vendor&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;MOVE x_table-vendor TO x_header-vendor.&lt;/P&gt;&lt;P&gt;MOVE x_table-purch_org TO x_header-purch_org.&lt;/P&gt;&lt;P&gt;MOVE x_table-pur_group TO x_header-pur_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_headerx-doc_type = 'X'.&lt;/P&gt;&lt;P&gt;x_headerx-vendor = 'X'.&lt;/P&gt;&lt;P&gt;x_headerx-purch_org = 'X'.&lt;/P&gt;&lt;P&gt;x_headerx-pur_group = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " header_details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM LINEITEM *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM lineitem .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_temp1 = v_temp1 + 10.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = v_temp1&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = v_temp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE v_temp1 TO x_item-po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = x_table-material&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = x_table-material.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE x_table-material TO x_item-material.&lt;/P&gt;&lt;P&gt;MOVE x_table-quantity TO x_item-quantity.&lt;/P&gt;&lt;P&gt;MOVE x_table-net_price TO x_item-net_price.&lt;/P&gt;&lt;P&gt;MOVE x_table-plant TO x_item-plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_itemx-po_item = v_temp1.&lt;/P&gt;&lt;P&gt;x_itemx-material = 'X'.&lt;/P&gt;&lt;P&gt;x_itemx-quantity = 'X'.&lt;/P&gt;&lt;P&gt;x_itemx-net_price = 'X'.&lt;/P&gt;&lt;P&gt;x_itemx-plant = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND x_item TO it_item.&lt;/P&gt;&lt;P&gt;APPEND x_itemx TO it_itemx.&lt;/P&gt;&lt;P&gt;CLEAR: x_item, x_itemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " lineitem1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM SCHEDULE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM schedule .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE x_table-delivery_date TO x_sched-delivery_date.&lt;/P&gt;&lt;P&gt;MOVE v_temp1 TO x_sched-po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_schedx-delivery_date = 'X'.&lt;/P&gt;&lt;P&gt;x_schedx-po_item = v_temp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND x_sched TO it_sched.&lt;/P&gt;&lt;P&gt;APPEND x_schedx TO it_schedx.&lt;/P&gt;&lt;P&gt;CLEAR: x_sched, x_schedx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " schedule&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM BAPICALL *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bapicall .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;poheader = x_header&lt;/P&gt;&lt;P&gt;poheaderx = x_headerx&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;exppurchaseorder = po_number&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;return = it_return&lt;/P&gt;&lt;P&gt;poitem = it_item&lt;/P&gt;&lt;P&gt;poitemx = it_itemx&lt;/P&gt;&lt;P&gt;poschedule = it_sched&lt;/P&gt;&lt;P&gt;poschedulex = it_schedx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF po_number IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;v_succsount = v_succsount + 1.&lt;/P&gt;&lt;P&gt;MOVE x_table-v_legacy TO x_alv-v_legs.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;v_failcount = v_failcount + 1.&lt;/P&gt;&lt;P&gt;MOVE x_table-v_legacy TO x_alv-v_legf.&lt;/P&gt;&lt;P&gt;MOVE x_table-v_legacy TO x_alv1-v_legf1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_return INTO x_return.&lt;/P&gt;&lt;P&gt;IF x_alv1-v_msg IS INITIAL.&lt;/P&gt;&lt;P&gt;MOVE x_return-message TO x_alv1-v_msg.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CONCATENATE x_alv1-v_msg x_return-message INTO x_alv1-v_msg SEPARATED BY space.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND x_alv1 TO it_alv1.&lt;/P&gt;&lt;P&gt;CLEAR x_alv1.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " bapicall&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM DISPLAY_ALV *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv .&lt;/P&gt;&lt;P&gt;PERFORM x_list_header.&lt;/P&gt;&lt;P&gt;PERFORM build_fieldcat CHANGING x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_repid2 = sy-repid.&lt;/P&gt;&lt;P&gt;x_event1-name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;x_event1-form = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;APPEND x_event1 TO x_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_callback_program = x_repid2&lt;/P&gt;&lt;P&gt;is_layout = x_layout1&lt;/P&gt;&lt;P&gt;it_fieldcat = x_fieldcat&lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;i_callback_top_of_page = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;is_variant = x_variant1&lt;/P&gt;&lt;P&gt;it_events = x_event&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = it_alv&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " display_master_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM USER_COMMAND *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING ucomm LIKE sy-ucomm selfield&lt;/P&gt;&lt;P&gt;TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE it_alv INTO x_alv INDEX selfield-tabindex.&lt;/P&gt;&lt;P&gt;CLEAR : x_alv2,it_alv2[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_alv1 INTO x_alv1 WHERE v_legf1 = x_alv-v_legf.&lt;/P&gt;&lt;P&gt;x_alv2 = x_alv1.&lt;/P&gt;&lt;P&gt;APPEND x_alv2 TO it_alv2 .&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : x3_fieldcat LIKE LINE OF it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : x3_fieldcat,it_fieldcat[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;x3_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-fieldname = 'V_LEGF1'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-reptext_ddic = text-111.&lt;/P&gt;&lt;P&gt;x3_fieldcat-ref_tabname = 'IT_ALV2'.&lt;/P&gt;&lt;P&gt;APPEND x3_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;x3_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-fieldname = 'V_MSG'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-reptext_ddic = text-112.&lt;/P&gt;&lt;P&gt;x3_fieldcat-ref_tabname = 'IT_ALV2'.&lt;/P&gt;&lt;P&gt;APPEND x3_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_layout1-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;x_layout1-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF it_alv2[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_callback_program = x_repid2&lt;/P&gt;&lt;P&gt;is_layout = x_layout1&lt;/P&gt;&lt;P&gt;it_fieldcat = it_fieldcat&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;i_callback_top_of_page = 'TOP'&lt;/P&gt;&lt;P&gt;is_variant = x_variant1&lt;/P&gt;&lt;P&gt;it_events = x_event&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = it_alv2&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM USER_COMMAND *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_list_commentary = 'Commentry'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM BUILD_FIELDCAT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_fieldcat CHANGING et_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: x1_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;x1_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-fieldname = 'V_LEGS'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-reptext_ddic = text-108.&lt;/P&gt;&lt;P&gt;x1_fieldcat-ref_tabname = 'IT_ALV'.&lt;/P&gt;&lt;P&gt;APPEND x1_fieldcat TO et_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x1_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-fieldname = 'SUCCESS'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-reptext_ddic = text-109.&lt;/P&gt;&lt;P&gt;x1_fieldcat-ref_tabname = 'IT_ALV'.&lt;/P&gt;&lt;P&gt;APPEND x1_fieldcat TO et_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x1_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-fieldname = 'V_LEGF'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-reptext_ddic = text-110.&lt;/P&gt;&lt;P&gt;x1_fieldcat-ref_tabname = 'IT_ALV'.&lt;/P&gt;&lt;P&gt;APPEND x1_fieldcat TO et_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " build_fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM BUILD_LIST_HEADER *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM x_list_header.&lt;/P&gt;&lt;P&gt;DATA: x_list_header1 TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----List Header: type H&lt;/P&gt;&lt;P&gt;CLEAR x_list_header1 .&lt;/P&gt;&lt;P&gt;x_list_header1-typ = 'H'.&lt;/P&gt;&lt;P&gt;x_list_header1-info = text-105.&lt;/P&gt;&lt;P&gt;APPEND x_list_header1 TO x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----List Key: type S&lt;/P&gt;&lt;P&gt;x_list_header1-typ = 'S'.&lt;/P&gt;&lt;P&gt;x_list_header1-key = text-106.&lt;/P&gt;&lt;P&gt;x_list_header1-info = v_total.&lt;/P&gt;&lt;P&gt;APPEND x_list_header1 TO x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----List Key: Type S&lt;/P&gt;&lt;P&gt;CLEAR x_list_header1 .&lt;/P&gt;&lt;P&gt;x_list_header1-typ = 'S'.&lt;/P&gt;&lt;P&gt;x_list_header1-key = text-107.&lt;/P&gt;&lt;P&gt;x_list_header1-info = v_succsount.&lt;/P&gt;&lt;P&gt;APPEND x_list_header1 TO x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " build_list_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_list_commentary = x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2007 19:52:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create/m-p/2908541#M684326</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-08T19:52:31Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CREATE!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create/m-p/2908542#M684327</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;Make the following changes to your code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Declare a work are l_record just similar to it_record&lt;/P&gt;&lt;P&gt;2) LOOP AT it_input_file into it_record.&lt;/P&gt;&lt;P&gt;    l_record = it_record.&lt;/P&gt;&lt;P&gt;    AT NEW REF_NO.&lt;/P&gt;&lt;P&gt;    	*Fill your Header Data&lt;/P&gt;&lt;P&gt;          MOVE: l_record-vend_no TO poheader-vendor,&lt;/P&gt;&lt;P&gt;                      l_record-doc_typ TO poheader-doc_type,&lt;/P&gt;&lt;P&gt;                      l_record-purch_org TO poheader-purch_org,&lt;/P&gt;&lt;P&gt;                      l_record-purch_grp TO poheader-pur_group,&lt;/P&gt;&lt;P&gt;                      l_record-c_code TO poheader-comp_code,&lt;/P&gt;&lt;P&gt;                      l_record-doc_date TO poheader-doc_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;updating header data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poheader-vendor &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;        poheaderx-vendor = 'X'.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if poheader-doc_type &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;        poheaderx-doc_type = 'X'.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poheader-doc_date &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poheaderx-doc_date = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poheader-purch_org &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poheaderx-purch_org = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poheader-pur_group &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poheaderx-pur_group = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poheader-comp_code &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poheaderx-comp_code = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;    ENDAT&lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the item tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;	MOVE: l_record-item_no TO poitem-po_item,&lt;/P&gt;&lt;P&gt;	l_record-plant TO poitem-plant,&lt;/P&gt;&lt;P&gt;	l_record-Strg_loc TO poitem-stge_loc,&lt;/P&gt;&lt;P&gt;	l_record-material TO poitem-material,&lt;/P&gt;&lt;P&gt;	l_record-quantity TO poitem-quantity,&lt;/P&gt;&lt;P&gt;	l_record-price TO poitem-price_unit,&lt;/P&gt;&lt;P&gt;	l_record-ref_no TO poitem-ref_doc,&lt;/P&gt;&lt;P&gt;	l_record-ord_unit TO poitem-po_unit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;updating Item data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;	if poitem-plant &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poitemx-plant = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poitem-material &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poitemx-material = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poitem-stge_loc &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poitemx-stge_loc = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if poitem-quantity &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;	poitemx-quantity = 'X'.&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	poitemx-po_item = l_record-item_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	move: l_record-del_date TO poschedule-delivery_date.&lt;/P&gt;&lt;P&gt;	move: 'X' TO poschedulex-delivery_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF REF_NO.&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the BAPI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;	CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;	EXPORTING&lt;/P&gt;&lt;P&gt;	   poheader = poheader&lt;/P&gt;&lt;P&gt;	   poheaderx = poheaderx&lt;/P&gt;&lt;P&gt;	IMPORTING&lt;/P&gt;&lt;P&gt;	   exppurchaseorder = exppurchaseorder&lt;/P&gt;&lt;P&gt;	TABLES&lt;/P&gt;&lt;P&gt;	   poitem = poitem&lt;/P&gt;&lt;P&gt;	   poitemx = poitemx&lt;/P&gt;&lt;P&gt;	   poschedule = poschedule&lt;/P&gt;&lt;P&gt;	   poschedulex = poschedulex&lt;/P&gt;&lt;P&gt;	   return = return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	if exppurchaseorder is not initial.&lt;/P&gt;&lt;P&gt;	WRITE:/ exppurchaseorder.&lt;/P&gt;&lt;P&gt;	CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;	IMPORTING&lt;/P&gt;&lt;P&gt;	return = return2.&lt;/P&gt;&lt;P&gt;	else.&lt;/P&gt;&lt;P&gt;	*Write logic to format error message as per your requirment&lt;/P&gt;&lt;P&gt;	******************************************&lt;/P&gt;&lt;P&gt;	******************************************&lt;/P&gt;&lt;P&gt;	******************************************&lt;/P&gt;&lt;P&gt;	endif.&lt;/P&gt;&lt;P&gt;	clear: poheader, poheaderx, poitem, poitemx, poschedule, poschedulex, exppurchaseorder.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    clear l_record.&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will solve your problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rewad points if useful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enjoy SAP.&lt;/P&gt;&lt;P&gt;Rajasekhar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2007 21:11:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create/m-p/2908542#M684327</guid>
      <dc:creator>rajasekhar_matukumalli3</dc:creator>
      <dc:date>2007-10-08T21:11:31Z</dc:date>
    </item>
  </channel>
</rss>

