楼主: jhradiofan

[原创] BAPI创建PR类型销售订单的问题 求救啊!!!

[复制链接]
论坛徽章:
0
31#
 楼主| 发表于 2017-11-6 16:04 | 只看该作者
敬请各位老师指点指点!真的没有人知道吗?

使用道具 举报

回复
论坛徽章:
0
32#
 楼主| 发表于 2017-11-8 13:23 | 只看该作者
问题在创建销售订单后自动生成了售达方工厂的采购订单(如果物料被维护到这个工厂)!!!

使用道具 举报

回复
论坛徽章:
64
状元
日期:2015-07-20 15:43:53榜眼
日期:2015-07-16 12:57:31探花
日期:2015-07-06 10:48:48进士
日期:2015-06-25 16:41:54举人
日期:2015-06-18 09:00:04秀才
日期:2015-08-06 13:55:21秀才
日期:2015-06-30 10:57:59秀才
日期:2015-07-17 10:06:26秀才
日期:2015-07-20 08:54:46秀才
日期:2015-07-20 09:00:26
33#
发表于 2017-11-8 14:43 | 只看该作者
jhradiofan 发表于 2017-11-8 13:23
问题在创建销售订单后自动生成了售达方工厂的采购订单(如果物料被维护到这个工厂)!!!

项目类别群组 定义的是什么。

使用道具 举报

回复
论坛徽章:
0
34#
 楼主| 发表于 2017-11-9 07:41 | 只看该作者
本帖最后由 jhradiofan 于 2017-11-9 07:45 编辑
shenzhen_sap 发表于 2017-11-8 14:43
项目类别群组 定义的是什么。
  1. <div class="blockcode"><blockquote>REPORT ZZZ_CC_TEST .
  2. TABLES: VBAK , VBAP .

  3. ***表頭******
  4. DATA: BEGIN OF ORDER_HEADER_IN OCCURS 1.
  5.         INCLUDE STRUCTURE BAPISDHD1.
  6. DATA: END OF ORDER_HEADER_IN.
  7. DATA: BEGIN OF ORDER_HEADER_INX OCCURS 1.
  8.         INCLUDE STRUCTURE BAPISDHD1X.
  9. DATA: END OF ORDER_HEADER_INX.

  10. ***項目**********
  11. DATA: BEGIN OF ORDER_ITEMS_IN OCCURS 1.
  12.         INCLUDE STRUCTURE BAPISDITM.
  13. DATA: END OF ORDER_ITEMS_IN.
  14. DATA: BEGIN OF ORDER_ITEMS_INX OCCURS 1.
  15.         INCLUDE STRUCTURE BAPISDITMX.
  16. DATA: END OF ORDER_ITEMS_INX.

  17. ****
  18. DATA: BEGIN OF ORDER_SCHEDULES_IN OCCURS 1.
  19.         INCLUDE STRUCTURE BAPISCHDL.
  20. DATA: END OF ORDER_SCHEDULES_IN.
  21. DATA: BEGIN OF ORDER_SCHEDULES_INX OCCURS 1.
  22.         INCLUDE STRUCTURE BAPISCHDLX.
  23. DATA: END OF ORDER_SCHEDULES_INX.

  24. **** 价格
  25. DATA: BEGIN OF ORDER_CONDITIONS_IN OCCURS 1.
  26.         INCLUDE STRUCTURE BAPICOND.
  27. DATA: END OF ORDER_CONDITIONS_IN.
  28. DATA: BEGIN OF LOGIC_SWITCH OCCURS 1.
  29.         INCLUDE STRUCTURE BAPISDLS.
  30. DATA: END OF LOGIC_SWITCH.

  31. ***文件夥伴*****
  32. DATA: BEGIN OF ORDER_PARTNERS OCCURS 1.
  33.         INCLUDE STRUCTURE BAPIPARNR.
  34. DATA: END OF ORDER_PARTNERS.

  35. ****內文************
  36. DATA: BEGIN OF ORDER_TEXT OCCURS 1.
  37.         INCLUDE STRUCTURE BAPISDTEXT.
  38. DATA: END OF ORDER_TEXT.
  39. DATA: BEGIN OF LI_RETURN OCCURS 1.
  40.         INCLUDE STRUCTURE BAPIRET2.
  41. DATA: END OF LI_RETURN.
  42. DATA: BEGIN OF ORDER_CFGS_VK OCCURS 1.
  43.         INCLUDE STRUCTURE BAPICUVK.
  44. DATA: END OF ORDER_CFGS_VK.

  45. DATA: BEGIN OF ORDER_CFGS_INST OCCURS 1.
  46.         INCLUDE STRUCTURE BAPICUINS.
  47. DATA: END OF ORDER_CFGS_INST.

  48. DATA: BEGIN OF ORDER_CFGS_PART_OF OCCURS 1.
  49.         INCLUDE STRUCTURE BAPICUPRT.
  50. DATA: END OF ORDER_CFGS_PART_OF.


  51. DATA: BEGIN OF ORDER_CFGS_REF OCCURS 1.
  52.         INCLUDE STRUCTURE BAPICUCFG.
  53. DATA: END OF ORDER_CFGS_REF.
  54. DATA: BEGIN OF ORDER_CFGS_VALUE OCCURS 1.
  55.         INCLUDE STRUCTURE BAPICUVAL.
  56. DATA: END OF ORDER_CFGS_VALUE.

  57. DATA :   L_VBELN LIKE BAPIVBELN-VBELN.
  58. DATA: L_SALESDOCUMENT LIKE BAPIVBELN-VBELN.

  59. PARAMETERS: P_VBELN LIKE VBAK-VBELN.


  60. START-OF-SELECTION.
  61.   L_SALESDOCUMENT = P_VBELN.
  62.   PERFORM SET_HEADER.
  63.   PERFORM SET_ITEM.
  64.   PERFORM SET_PARTNER.
  65.   PERFORM SET_TEXT.
  66.   PERFORM SET_BAPICOND.
  67.   PERFORM SET_BAPISDLS.
  68.   PERFORM CALL_BAPI.

  69. *&---------------------------------------------------------------------*
  70. *&      Form  set_partner
  71. *&---------------------------------------------------------------------*
  72. *       text
  73. *----------------------------------------------------------------------*
  74. *  -->  p1        text
  75. *  <--  p2        text
  76. *----------------------------------------------------------------------*
  77. FORM SET_PARTNER.
  78. **賣方  SP
  79.   CLEAR ORDER_PARTNERS.
  80.   ORDER_PARTNERS-PARTN_ROLE = 'AG'.          "Remember German codes !
  81.   ORDER_PARTNERS-PARTN_NUMB = '0000000012'.
  82.   APPEND ORDER_PARTNERS .

  83. *出貨對象  SH
  84.   CLEAR ORDER_PARTNERS.
  85.   ORDER_PARTNERS-PARTN_ROLE = 'WE'.          "Remember German codes !
  86.   ORDER_PARTNERS-PARTN_NUMB = '0000000012'.
  87.   APPEND ORDER_PARTNERS.


  88. *付款方  PY
  89.   CLEAR ORDER_PARTNERS.
  90.   ORDER_PARTNERS-PARTN_ROLE = 'RG'.          "Remember German codes !
  91.   ORDER_PARTNERS-PARTN_NUMB = '0000000012'.
  92.   APPEND ORDER_PARTNERS.

  93. ENDFORM.                    " set_partner
  94. *&---------------------------------------------------------------------*
  95. *&      Form  set_header
  96. *&---------------------------------------------------------------------*
  97. *       text
  98. *----------------------------------------------------------------------*
  99. FORM SET_HEADER.
  100. * Sales document type
  101.   ORDER_HEADER_IN-DOC_TYPE    = 'ZAOR'.       "Remember German codes !
  102.   ORDER_HEADER_IN-SALES_ORG  = '311'.
  103.   ORDER_HEADER_IN-DISTR_CHAN = '10'.
  104.   ORDER_HEADER_IN-DIVISION = '14'.
  105.   ORDER_HEADER_IN-PURCH_NO_C = 'A162728YYB'.
  106.   ORDER_HEADER_IN-SALES_GRP = '022'.
  107.   ORDER_HEADER_IN-SALES_OFF = 'Z004'.
  108.   ORDER_HEADER_IN-PMNTTRMS = '0001'.
  109.   ORDER_HEADER_IN-PO_METHOD = '121'.
  110.   ORDER_HEADER_IN-PO_SUPPLEM = '122'.
  111.   APPEND ORDER_HEADER_IN.

  112.   ORDER_HEADER_INX-UPDATEFLAG = 'I'.
  113.   ORDER_HEADER_INX-SALES_ORG  = 'X'.
  114.   ORDER_HEADER_INX-DOC_TYPE   = 'X'.
  115.   ORDER_HEADER_INX-DIVISION = 'X'.
  116.   ORDER_HEADER_INX-DISTR_CHAN = 'X'.
  117.   ORDER_HEADER_INX-PURCH_NO_C = 'X'.
  118.   ORDER_HEADER_INX-SALES_GRP = 'X'.
  119.   ORDER_HEADER_INX-SALES_OFF = 'X'.
  120.   ORDER_HEADER_INX-PMNTTRMS = 'X'.
  121.   ORDER_HEADER_INX-PO_METHOD = 'X'.
  122.   ORDER_HEADER_INX-PO_SUPPLEM = 'X'.
  123.   APPEND ORDER_HEADER_INX.
  124. ENDFORM.                    " set_header

  125. FORM SET_BAPISDLS.
  126.   LOGIC_SWITCH-PRICING = 'G'.
  127.   APPEND LOGIC_SWITCH.
  128. ENDFORM.
  129. *&---------------------------------------------------------------------*
  130. *&      Form  set_item
  131. *&---------------------------------------------------------------------*
  132. *       text
  133. *----------------------------------------------------------------------*
  134. *  -->  p1        text
  135. *  <--  p2        text
  136. *----------------------------------------------------------------------*
  137. FORM SET_ITEM.
  138. ****項目資料***************************
  139.   ORDER_ITEMS_IN-ITM_NUMBER = '000010'.
  140.   ORDER_ITEMS_IN-MATERIAL = 'J0111LTG025'.
  141. *  order_items_in-ITEM_CATEG = 'TAC'.
  142.   ORDER_ITEMS_IN-PO_ITM_NO = '000010'.
  143. ORDER_ITEMS_IN-COMP_QUANT = '1'.
  144. *  order_items_in-TARGET_QTY = '1'.
  145.   ORDER_ITEMS_IN-ITEM_CATEG = 'PR'.
  146.   ORDER_ITEMS_IN-REC_POINT = '输入送货信息'.
  147.   ORDER_ITEMS_IN-DLVSCHDUSE = '002'.
  148.   APPEND ORDER_ITEMS_IN.

  149.   ORDER_ITEMS_INX-ITM_NUMBER = '000010'.
  150.   ORDER_ITEMS_INX-MATERIAL = 'X'.
  151.   ORDER_ITEMS_INX-UPDATEFLAG = 'I'.
  152.   ORDER_ITEMS_INX-PO_ITM_NO = 'X'.
  153. *  order_items_inx-ITEM_CATEG ='X'.
  154.   ORDER_ITEMS_INX-COMP_QUANT = 'X'.
  155. *  order_items_inX-TARGET_QTY = 'X'.
  156.   ORDER_ITEMS_INX-ITEM_CATEG = 'X'.
  157.   ORDER_ITEMS_INX-REC_POINT = 'X'.
  158.   ORDER_ITEMS_INX-DLVSCHDUSE = 'X'.
  159.   APPEND ORDER_ITEMS_INX .


  160.   ORDER_SCHEDULES_IN-ITM_NUMBER = '000010'.
  161.   ORDER_SCHEDULES_INX-ITM_NUMBER = '000010'.
  162.   ORDER_SCHEDULES_IN-REQ_DATE = SY-DATUM .
  163.   ORDER_SCHEDULES_INX-REQ_DATE = 'X'.
  164.   ORDER_SCHEDULES_IN-REQ_QTY = '1.000'.
  165.   ORDER_SCHEDULES_INX-REQ_QTY = 'X'.
  166.   ORDER_SCHEDULES_IN-SCHED_LINE = '0001'.
  167.   ORDER_SCHEDULES_INX-SCHED_LINE = 'X'.
  168. * order_schedules_inx-updateflag = 'X'.
  169.   APPEND ORDER_SCHEDULES_IN.
  170.   APPEND ORDER_SCHEDULES_INX.

  171. ***組態資料*************************
  172.   ORDER_CFGS_REF-POSEX = '000010'.
  173.   ORDER_CFGS_REF-CONFIG_ID = '000010'.
  174.   ORDER_CFGS_REF-ROOT_ID = '000010'.
  175.   APPEND ORDER_CFGS_REF.

  176.   ORDER_CFGS_VALUE-CONFIG_ID = '000010'.
  177.   ORDER_CFGS_VALUE-INST_ID = '000010'.
  178.   ORDER_CFGS_VALUE-CHARC = 'M10142_A_COLOR'.
  179.   ORDER_CFGS_VALUE-VALUE = 'A'.
  180.   APPEND ORDER_CFGS_VALUE.

  181.   ORDER_CFGS_VALUE-CONFIG_ID = '000010'.
  182.   ORDER_CFGS_VALUE-INST_ID = '000010'.
  183.   ORDER_CFGS_VALUE-CHARC = 'M10142_A_SIZE'.
  184.   ORDER_CFGS_VALUE-VALUE = '43-23-135'.
  185.   APPEND ORDER_CFGS_VALUE.

  186. ENDFORM.                    " set_item

  187. FORM SET_BAPICOND.

  188.   ORDER_CONDITIONS_IN-ITM_NUMBER = '000010'.
  189.   ORDER_CONDITIONS_IN-COND_VALUE = '9999.00'.
  190.   ORDER_CONDITIONS_IN-COND_TYPE = 'PR00'.
  191.   ORDER_CONDITIONS_IN-COND_P_UNT = '1'.
  192.   ORDER_CONDITIONS_IN-CURRENCY = 'RMB'.
  193.   ORDER_CONDITIONS_IN-COND_ST_NO = '101'.
  194.   ORDER_CONDITIONS_IN-COND_COUNT = '01'.
  195.   ORDER_CONDITIONS_IN-COND_UPDAT = 'X'.
  196.   APPEND ORDER_CONDITIONS_IN.

  197. ENDFORM.
  198. *&---------------------------------------------------------------------*
  199. *&      Form  set_text
  200. *&---------------------------------------------------------------------*
  201. *       text
  202. *----------------------------------------------------------------------*
  203. *  -->  p1        text
  204. *  <--  p2        text
  205. *----------------------------------------------------------------------*
  206. FORM SET_TEXT.
  207. **表頭內文***********
  208.   ORDER_TEXT-DOC_NUMBER = P_VBELN.
  209.   ORDER_TEXT-TEXT_ID = '0003'.
  210.   ORDER_TEXT-LANGU = 'M'.
  211.   ORDER_TEXT-LANGU_ISO = 'ZF'.
  212.   ORDER_TEXT-FORMAT_COL = '*'.
  213.   ORDER_TEXT-TEXT_LINE = 'text line 1'.
  214. *order_text-FUNCTION
  215.   APPEND ORDER_TEXT.
  216.   ORDER_TEXT-TEXT_LINE = 'text line 2'.
  217.   APPEND ORDER_TEXT.
  218.   ORDER_TEXT-TEXT_LINE = 'text line 3'.
  219.   APPEND ORDER_TEXT.
  220.   ORDER_TEXT-TEXT_LINE = 'text line 4'.
  221.   APPEND ORDER_TEXT.

  222. ***項目內文************
  223.   ORDER_TEXT-DOC_NUMBER = 'A162728YYB'.
  224.   ORDER_TEXT-ITM_NUMBER = '000010'.
  225.   ORDER_TEXT-TEXT_ID = '0002'.
  226.   ORDER_TEXT-LANGU = 'M'.
  227.   ORDER_TEXT-LANGU_ISO = 'ZF'.
  228.   ORDER_TEXT-FORMAT_COL = '*'.
  229.   ORDER_TEXT-TEXT_LINE = 'item text'.
  230.   APPEND ORDER_TEXT.


  231. ENDFORM.                    " set_text
  232. *&---------------------------------------------------------------------*
  233. *&      Form  call_bapi
  234. *&---------------------------------------------------------------------*
  235. *       text
  236. *----------------------------------------------------------------------*

  237. FORM CALL_BAPI.
  238. *  CALL FUNCTION 'CUXC_INIT'.
  239.   CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
  240.         EXPORTING
  241.              ORDER_HEADER_IN  = ORDER_HEADER_IN
  242.              ORDER_HEADER_INX = ORDER_HEADER_INX
  243.              SALESDOCUMENTIN  = L_SALESDOCUMENT
  244.              LOGIC_SWITCH = LOGIC_SWITCH
  245. *            testrun          = 'X'
  246.         IMPORTING
  247.              SALESDOCUMENT    = L_VBELN
  248.         TABLES
  249.              RETURN           = LI_RETURN
  250.              ORDER_ITEMS_IN   = ORDER_ITEMS_IN
  251.              ORDER_ITEMS_INX  = ORDER_ITEMS_INX
  252.              ORDER_SCHEDULES_IN = ORDER_SCHEDULES_IN
  253.              ORDER_SCHEDULES_INX = ORDER_SCHEDULES_INX
  254.              ORDER_PARTNERS   = ORDER_PARTNERS
  255.              ORDER_CONDITIONS_IN = ORDER_CONDITIONS_IN
  256.              ORDER_CFGS_REF = ORDER_CFGS_REF
  257. *             order_cfgs_inst = order_cfgs_inst
  258. *             order_cfgs_part_of = order_cfgs_part_of
  259.              ORDER_CFGS_VALUE = ORDER_CFGS_VALUE
  260. *             order_cfgs_vk = order_cfgs_vk
  261.              ORDER_TEXT = ORDER_TEXT.
  262.   CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

  263.   LOOP AT LI_RETURN.
  264.     WRITE:/ LI_RETURN-TYPE,
  265.             LI_RETURN-MESSAGE.
  266.   ENDLOOP.
  267. ENDFORM.                    " call_bapi
复制代码
谢谢回复!

使用道具 举报

回复
论坛徽章:
64
状元
日期:2015-07-20 15:43:53榜眼
日期:2015-07-16 12:57:31探花
日期:2015-07-06 10:48:48进士
日期:2015-06-25 16:41:54举人
日期:2015-06-18 09:00:04秀才
日期:2015-08-06 13:55:21秀才
日期:2015-06-30 10:57:59秀才
日期:2015-07-17 10:06:26秀才
日期:2015-07-20 08:54:46秀才
日期:2015-07-20 09:00:26
35#
发表于 2017-11-9 09:26 | 只看该作者

这个物料的物料主档的项目类别群组是什么?

使用道具 举报

回复
论坛徽章:
0
36#
 楼主| 发表于 2017-11-9 13:52 | 只看该作者
本帖最后由 jhradiofan 于 2017-11-9 14:30 编辑
shenzhen_sap 发表于 2017-11-9 09:26
这个物料的物料主档的项目类别群组是什么?

物料主档的项目类别群组:普通项目类别组 NORM 标准项目
如果ORDER_PARTNERS-PARTN_NUMB = '0000000016'就不会有问题,因为不会自动生成16工厂的采购订单。
我感觉BAPI中有一个判断物料是否维护到售达方工厂的语句,如果维护了,自动创建并提交销售订单,并同时自动生成售达方工厂的采购订单,这个时候就出现了问题,销售订单状态没有被更新到相关表!而且奇怪的是:我没有commit,销售订单也被创建了???
如果没有被维护到这个工厂,就不会自动生成采购订单,销售订单状态被更新到相关表,则没有问题!

无标题.png (6.1 KB, 下载次数: 5)

无标题.png

使用道具 举报

回复
论坛徽章:
0
37#
 楼主| 发表于 2017-11-9 14:02 | 只看该作者
拟通过模拟创建销售订单进行尝试,BAPI_SALESORDER_SIMULATE

使用道具 举报

回复
论坛徽章:
64
状元
日期:2015-07-20 15:43:53榜眼
日期:2015-07-16 12:57:31探花
日期:2015-07-06 10:48:48进士
日期:2015-06-25 16:41:54举人
日期:2015-06-18 09:00:04秀才
日期:2015-08-06 13:55:21秀才
日期:2015-06-30 10:57:59秀才
日期:2015-07-17 10:06:26秀才
日期:2015-07-20 08:54:46秀才
日期:2015-07-20 09:00:26
38#
发表于 2017-11-10 09:00 | 只看该作者
jhradiofan 发表于 2017-11-9 13:52
物料主档的项目类别群组:普通项目类别组 NORM 标准项目
如果ORDER_PARTNERS-PARTN_NUMB = '0000000016' ...

有没有增强啊

使用道具 举报

回复
论坛徽章:
64
状元
日期:2015-07-20 15:43:53榜眼
日期:2015-07-16 12:57:31探花
日期:2015-07-06 10:48:48进士
日期:2015-06-25 16:41:54举人
日期:2015-06-18 09:00:04秀才
日期:2015-08-06 13:55:21秀才
日期:2015-06-30 10:57:59秀才
日期:2015-07-17 10:06:26秀才
日期:2015-07-20 08:54:46秀才
日期:2015-07-20 09:00:26
39#
发表于 2017-11-10 09:00 | 只看该作者
jhradiofan 发表于 2017-11-9 13:52
物料主档的项目类别群组:普通项目类别组 NORM 标准项目
如果ORDER_PARTNERS-PARTN_NUMB = '0000000016' ...

以为是第三方

使用道具 举报

回复
论坛徽章:
0
40#
 楼主| 发表于 2017-11-10 11:06 | 只看该作者

正在研究是否必要的参数未带入……

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表