<?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: parlel processing for creating order(iw31) using BAPI in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/parlel-processing-for-creating-order-iw31-using-bapi/m-p/494414#M16814</link>
    <description>&lt;P&gt;The COMMIT must be executed in same LUW than the BAPI call...&lt;/P&gt;
  &lt;P&gt;&lt;EM&gt;Hint: easiest solution, build a wrapper for BAPI call + LOOP AT RETURN + COMMIT or ROLLBACK.&lt;/EM&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 05 Jan 2018 10:31:24 GMT</pubDate>
    <dc:creator>RaymondGiuseppi</dc:creator>
    <dc:date>2018-01-05T10:31:24Z</dc:date>
    <item>
      <title>parlel processing for creating order(iw31) using BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parlel-processing-for-creating-order-iw31-using-bapi/m-p/494413#M16813</link>
      <description>&lt;P&gt;Hi Guys,&lt;/P&gt;
  &lt;P&gt;Tried to create order(IW31) through parlel processing but could not able to create it.&lt;/P&gt;
  &lt;P&gt;Could able to create service order with out using parlel processing.&lt;/P&gt;
  &lt;P&gt;Kindly help me to create same through parlel processing.&lt;/P&gt;
  &lt;P&gt;Pasted my code below.&lt;/P&gt;
  &lt;P&gt;DATA:lt_ret TYPE TABLE OF bapiret2,&lt;BR /&gt; gt_ret TYPE TABLE OF bapiret2.&lt;BR /&gt; DATA:gv_callback TYPE char1,&lt;BR /&gt; gv_error TYPE char1,&lt;BR /&gt; gv_finish TYPE i.&lt;BR /&gt; &lt;BR /&gt; DATA:lt_methods TYPE TABLE OF BAPI_ALM_ORDER_METHOD,&lt;BR /&gt; ls_methods TYPE BAPI_ALM_ORDER_METHOD,&lt;BR /&gt; lt_header TYPE TABLE OF BAPI_ALM_ORDER_HEADERS_I,&lt;BR /&gt; ls_header TYPE BAPI_ALM_ORDER_HEADERS_I,&lt;BR /&gt; lt_headerx TYPE TABLE OF BAPI_ALM_ORDER_HEADERS_UP,&lt;BR /&gt; ls_headerx TYPE BAPI_ALM_ORDER_HEADERS_UP,&lt;BR /&gt; lt_operation TYPE TABLE OF BAPI_ALM_ORDER_OPERATION,&lt;BR /&gt; ls_operation TYPE BAPI_ALM_ORDER_OPERATION,&lt;BR /&gt; lt_operationx TYPE TABLE OF BAPI_ALM_ORDER_OPERATION_UP,&lt;BR /&gt; ls_operationx TYPE BAPI_ALM_ORDER_OPERATION_UP.&lt;BR /&gt; &lt;BR /&gt; DATA lv_temp TYPE char12.&lt;BR /&gt; DATA lv_time TYPE i VALUE '3'.&lt;BR /&gt; &lt;BR /&gt; DATA:lv_total TYPE i,&lt;BR /&gt; lv_avail TYPE i,&lt;BR /&gt; lv_taskid TYPE char8.&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; DO 5 TIMES.&lt;BR /&gt; &lt;BR /&gt; lv_temp = |DL000Z02EVB| &amp;amp;&amp;amp; sy-index.&lt;BR /&gt; &lt;BR /&gt; ls_methods-refnumber = '000001'.&lt;BR /&gt; ls_methods-objecttype = 'HEADER'.&lt;BR /&gt; ls_methods-objectkey = lv_temp.&lt;BR /&gt; ls_methods-method = 'CREATE'.&lt;BR /&gt; APPEND ls_methods TO lt_methods.&lt;BR /&gt; &lt;BR /&gt; ls_methods-refnumber = '000001'.&lt;BR /&gt; ls_methods-objecttype = 'OPERATION'.&lt;BR /&gt; ls_methods-objectkey = lv_temp.&lt;BR /&gt; ls_methods-method = 'CREATE'.&lt;BR /&gt; APPEND ls_methods TO lt_methods.&lt;BR /&gt; &lt;BR /&gt; ls_methods-refnumber = '000001'.&lt;BR /&gt; ls_methods-objecttype = ''.&lt;BR /&gt; ls_methods-objectkey = lv_temp.&lt;BR /&gt; ls_methods-method = 'SAVE'.&lt;BR /&gt; APPEND ls_methods TO lt_methods.&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; ls_header-ORDERID = lv_temp.&lt;BR /&gt; ls_header-ORDER_TYPE = 'ZMM1'.&lt;BR /&gt; ls_header-planplant = 'IN01'.&lt;BR /&gt; ls_header-MN_WK_CTR = 'IN01-M51'.&lt;BR /&gt; ls_header-plant = 'IN01'.&lt;BR /&gt; ls_header-maintplant = 'IN01'.&lt;BR /&gt; ls_header-equipment = '21454926'.&lt;BR /&gt; UNPACK ls_header-equipment TO ls_header-equipment.&lt;BR /&gt; ls_header-FUNCT_LOC = 'USSYSCITA2PP86'.&lt;BR /&gt; ls_header-PMACTTYPE = 'RQ'.&lt;BR /&gt; ls_header-serialno = 'G06UPS673M'.&lt;BR /&gt; ls_header-material = '186015005'.&lt;BR /&gt; ls_header-start_date = sy-datum.&lt;BR /&gt; ls_header-finish_date = sy-datum + 365.&lt;BR /&gt; APPEND ls_header TO lt_header.&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; ls_operation-activity = '0010'.&lt;BR /&gt; ls_operation-control_key = 'SM01'.&lt;BR /&gt; ls_operation-work_cntr = 'IN01-M51'.&lt;BR /&gt; ls_operation-plant = 'IN01'.&lt;BR /&gt; ls_operation-description = 'testing'.&lt;BR /&gt; ls_operation-quantity = 1.&lt;BR /&gt; ls_operation-calc_key = 1.&lt;BR /&gt; ls_operation-acttype = 'SRC'.&lt;BR /&gt; APPEND ls_operation TO lt_operation.&lt;BR /&gt; &lt;BR /&gt; DATA(lv_index) = sy-index.&lt;BR /&gt; CLear lv_taskid.&lt;BR /&gt; lv_taskid = |task| &amp;amp;&amp;amp; lv_index.&lt;BR /&gt; &lt;BR /&gt; CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'&lt;BR /&gt; STARTING NEW TASK lv_taskid&lt;BR /&gt; DESTINATION IN GROUP DEFAULT&lt;BR /&gt; PERFORMING f_read_bapiret ON END OF TASK&lt;BR /&gt; TABLES&lt;BR /&gt; it_methods = lt_methods&lt;BR /&gt; IT_HEADER = lt_header&lt;BR /&gt; IT_OPERATION = lt_operation&lt;BR /&gt; RETURN = lt_ret .&lt;BR /&gt; &lt;BR /&gt; ENDDO.&lt;BR /&gt; &lt;BR /&gt; WAIT UNTIL gv_callback = 'X'.&lt;BR /&gt; &lt;BR /&gt; IF gv_error = `X`.&lt;BR /&gt; WRITE gv_error.&lt;BR /&gt; CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;BR /&gt; ELSE.&lt;BR /&gt; CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;BR /&gt; ENDIF.&lt;BR /&gt; *&lt;BR /&gt; WAIT UNTIL gv_finish = lv_avail.&lt;BR /&gt; &lt;BR /&gt; if gt_ret IS NOT INITIAL.&lt;BR /&gt; DATA lo_alv TYPE REF TO cl_salv_table.&lt;BR /&gt; cl_salv_table=&amp;gt;factory(&lt;BR /&gt; IMPORTING&lt;BR /&gt; r_salv_table = lo_alv&lt;BR /&gt; CHANGING&lt;BR /&gt; t_table = gt_ret&lt;BR /&gt; ).&lt;BR /&gt; &lt;BR /&gt; lo_alv-&amp;gt;display( ).&lt;BR /&gt; ELSE.&lt;BR /&gt; WRITE: gv_finish.&lt;BR /&gt; ENDIF.&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; FORM f_read_bapiret USING task_id TYPE clike.&lt;BR /&gt; &lt;BR /&gt; * RECEIVE results from the asynch-RFC(aRFC)&lt;BR /&gt; add 1 to gv_finish.&lt;BR /&gt; &lt;BR /&gt; * Read BAPIRET &amp;amp; check error message&lt;BR /&gt; READ TABLE lt_ret Into DATA(ls_ret) WITH KEY type = `E`.&lt;BR /&gt; IF sy-subrc = 0.&lt;BR /&gt; * Set the callback flag&lt;BR /&gt; gv_callback = `X`.&lt;BR /&gt; gv_error = `X`.&lt;BR /&gt; RETURN.&lt;BR /&gt; ENDIF.&lt;BR /&gt; APPEND LINES OF lt_ret TO gt_ret.&lt;BR /&gt; &lt;BR /&gt; * Set the callback flag&lt;BR /&gt; gv_callback = `X`.&lt;BR /&gt; ENDFORM.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jan 2018 07:47:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parlel-processing-for-creating-order-iw31-using-bapi/m-p/494413#M16813</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2018-01-05T07:47:53Z</dc:date>
    </item>
    <item>
      <title>Re: parlel processing for creating order(iw31) using BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parlel-processing-for-creating-order-iw31-using-bapi/m-p/494414#M16814</link>
      <description>&lt;P&gt;The COMMIT must be executed in same LUW than the BAPI call...&lt;/P&gt;
  &lt;P&gt;&lt;EM&gt;Hint: easiest solution, build a wrapper for BAPI call + LOOP AT RETURN + COMMIT or ROLLBACK.&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jan 2018 10:31:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parlel-processing-for-creating-order-iw31-using-bapi/m-p/494414#M16814</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2018-01-05T10:31:24Z</dc:date>
    </item>
    <item>
      <title>Re: parlel processing for creating order(iw31) using BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parlel-processing-for-creating-order-iw31-using-bapi/m-p/494415#M16815</link>
      <description>&lt;P&gt;1. Call Function "SPBT_INITIALIZE" to check free work processors &lt;/P&gt;
  &lt;P&gt;Based on data volume and free work process determine how many work processors need to generate&lt;/P&gt;
  &lt;P&gt;2. Create a RFC function module to start new task. Call Function "ZFM_XXXX" STARTING NEW TASK lv_task(Create task with increment number like Are_Work_Order_&amp;lt;1&amp;gt;) performing "callback_form" on END OF TASK.&lt;/P&gt;
  &lt;P&gt;call bapi in function module with commit work.&lt;/P&gt;
  &lt;P&gt;3. Create Form and enform.&lt;/P&gt;
  &lt;P&gt;Form callback_form.&lt;/P&gt;
  &lt;P&gt;RECEIVE RESULTS FROM FUNCTION "ZFM_XXXX"&lt;/P&gt;
  &lt;P&gt;endform&lt;/P&gt;
  &lt;P&gt;Note Refer Syntax &lt;/P&gt;
  &lt;P&gt;Syntax &lt;/P&gt;
  &lt;P&gt;CALL FUNCTION func STARTING NEW TASK task &lt;BR /&gt; [DESTINATION {dest|{IN GROUP {group|DEFAULT}}}] &lt;BR /&gt; [{CALLING meth}|{PERFORMING subr} ON END OF TASK] &lt;BR /&gt; parameter_list. &lt;/P&gt;</description>
      <pubDate>Tue, 09 Jan 2018 02:29:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parlel-processing-for-creating-order-iw31-using-bapi/m-p/494415#M16815</guid>
      <dc:creator>lsgogula</dc:creator>
      <dc:date>2018-01-09T02:29:28Z</dc:date>
    </item>
  </channel>
</rss>

