要求更改VA01定价条件中的值

2020-09-20 12:28发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

通过文件记录,在程序中使用BDC,在VA01 t代码中创建销售订单,需求在销售订单的条件选项卡上,对于条件类型ZFFI,金额来自VK12 ,金额应替换为人工计算的值,该值来自工作表的两个值,计算将在BDC程序中完成,并应通过BDC传递,但是这里的问题是我们如何捕获条件 类型为ZFFI的BDC是否可以通过BDC捕获条件,或者如果我应该通过例行程序进行操作,我该如何进行要求。

如果BDC_CURSORKOMV-KSCHL ='ZFFI'。

'KOMV-KBETR(02)'WA_FILE-KBETR。

或者我们必须继续执行例程。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

通过文件记录,在程序中使用BDC,在VA01 t代码中创建销售订单,需求在销售订单的条件选项卡上,对于条件类型ZFFI,金额来自VK12 ,金额应替换为人工计算的值,该值来自工作表的两个值,计算将在BDC程序中完成,并应通过BDC传递,但是这里的问题是我们如何捕获条件 类型为ZFFI的BDC是否可以通过BDC捕获条件,或者如果我应该通过例行程序进行操作,我该如何进行要求。

如果BDC_CURSORKOMV-KSCHL ='ZFFI'。

'KOMV-KBETR(02)'WA_FILE-KBETR。

或者我们必须继续执行例程。

付费偷看设置
发送
2条回答
悠然的二货
1楼-- · 2020-09-20 13:24

嗨Pannala Satish

您可以尝试使用BAPI创建销售订单。

使用的BAPI功能模块:BAPI_SALESORDER_CREATEFROMDAT2


(您可以上传excel电子表格以使用您自己的CONDITION TYPE。)

我还附上了excel电子表格的屏幕截图,供您参考。

下面是逻辑代码:

在IT_MAIN处进入WA_MAIN。
 *标题
     WA_ORDER_HEADER_IN-DOC_TYPE = WA_MAIN-DOC_TYPE。
     WA_ORDER_HEADER_IN-SALES_ORG = WA_MAIN-SALES_ORG。
     WA_ORDER_HEADER_IN-DISTR_CHAN = WA_MAIN-DISTR_CHAN。
     WA_ORDER_HEADER_IN-DIVISION = WA_MAIN-DIVISION。
     WA_ORDER_HEADER_INX-DOC_TYPE ='X'。
     WA_ORDER_HEADER_INX-SALES_ORG ='X'。
     WA_ORDER_HEADER_INX-DISTR_CHAN ='X'。
     WA_ORDER_HEADER_INX-DIVISION ='X'。

     WA_ORDER_PARTNERS-PARTN_ROLE = WA_MAIN-PARTN_ROLE。

     通话功能" CONVERSION_EXIT_ALPHA_INPUT"
       出口
         输入= WA_MAIN-PARTN_NUMB
       输入
         输出= WA_MAIN-PARTN_NUMB。

     WA_ORDER_PARTNERS-PARTN_NUMB = WA_MAIN-PARTN_NUMB。

     将WA_ORDER_PARTNERS附加到IT_ORDER_PARTNERS。

     WA_ORDER_PARTNERS-PARTN_ROLE = WA_MAIN-PARTN1_ROLE。
     通话功能" CONVERSION_EXIT_ALPHA_INPUT"
       出口
         输入= WA_MAIN-PARTN1_NUMB
       输入
         输出= WA_MAIN-PARTN1_NUMB。

     WA_ORDER_PARTNERS-PARTN_NUMB = WA_MAIN-PARTN1_NUMB。

     将WA_ORDER_PARTNERS附加到IT_ORDER_PARTNERS。

     WA_ORDER_HEADER_IN-PURCH_NO_C = WA_MAIN-PURCH_NO_C。
     WA_ORDER_HEADER_IN-PURCH_DATE = WA_MAIN-PURCH_DATE。

     WA_ORDER_HEADER_INX-PURCH_NO_C ='X'。
     WA_ORDER_HEADER_INX-PURCH_DATE ='X'。

     通话功能" CONVERSION_EXIT_ALPHA_INPUT"
       出口
         输入= WA_MAIN-ORD_REASON
       输入
         输出= WA_MAIN-ORD_REASON。

     WA_ORDER_HEADER_IN-ORD_REASON = WA_MAIN-ORD_REASON。

     在IT_ITEM进入WA_ITEM SLNO = WA_MAIN-SLNO的地方循环。
 *项目
       WA_ORDER_ITEMS_IN-ITM_NUMBER = WA_ITEM-ITM_NUMBER。
       WA_ORDER_ITEMS_IN-MATERIAL = WA_ITEM-MATERIAL。
       WA_ORDER_ITEMS_IN-TARGET_QTY = WA_ITEM-TARGET_QTY。

       WA_ORDER_ITEMS_INX-ITM_NUMBER = WA_ITEM-ITM_NUMBER。
       WA_ORDER_ITEMS_INX-MATERIAL ='X'。
       WA_ORDER_ITEMS_INX-TARGET_QTY ='X'。

       WA_ORDER_CONDITIONS_IN-ITM_NUMBER = WA_ITEM-ITM_NUMBER。
       WA_ORDER_CONDITIONS_IN-COND_TYPE = WA_ITEM-COND_TYPE。  "条件类型
       WA_ORDER_CONDITIONS_IN-COND_VALUE = WA_ITEM-COND_VALUE/10。

       WA_ORDER_CONDITIONS_INX-ITM_NUMBER = WA_ITEM-ITM_NUMBER。
       WA_ORDER_CONDITIONS_INX-COND_TYPE ='X'。
       WA_ORDER_CONDITIONS_INX-COND_VALUE ='X'。

       APPEND WA_ORDER_ITEMS_IN到IT_ORDER_ITEMS_IN。
       APPEND WA_ORDER_ITEMS_INX到IT_ORDER_ITEMS_INX。
       将WA_ORDER_CONDITIONS_IN追加到IT_ORDER_CONDITIONS_IN。
       将WA_ORDER_CONDITIONS_INX附加到IT_ORDER_CONDITIONS_INX。

     结局。

       APPEND WA_ORDER_HEADER_IN到IT_ORDER_HEADER_IN。
       APPEND WA_ORDER_HEADER_INX到IT_ORDER_HEADER_INX。

     清除:WA_MAIN,
             WA_ITEM。

     通话功能'BAPI_SALESORDER_CREATEFROMDAT2'
       出口
 * SALESDOCUMENTIN =
       ORDER_HEADER_IN = WA_ORDER_HEADER_IN
       ORDER_HEADER_INX = WA_ORDER_HEADER_INX
 * SENDER =
 * BINARY_RELATIONSHIPTYPE =
 * INT_NUMBER_ASSIGNMENT =
 * BEHAVE_WHEN_ERROR =
 * LOGIC_SWITCH =
 * TESTRUN =
 * CONVERT =''
     输入
       SALESDOCUMENT = WA_SALEORD
     桌子
       RETURN = IT_RETURN []
       ORDER_ITEMS_IN = IT_ORDER_ITEMS_IN []
       ORDER_ITEMS_INX = IT_ORDER_ITEMS_INX []
       ORDER_PARTNERS = IT_ORDER_PARTNERS []
 * ORDER_SCHEDULES_IN =
 * ORDER_SCHEDULES_INX =
       ORDER_CONDITIONS_IN = IT_ORDER_CONDITIONS_IN []
       ORDER_CONDITIONS_INX = IT_ORDER_CONDITIONS_INX []
 * ORDER_CFGS_REF =
 * ORDER_CFGS_INST =
 * ORDER_CFGS_PART_OF =
 * ORDER_CFGS_VALUE =
 * ORDER_CFGS_BLOB =
 * ORDER_CFGS_VK =
 * ORDER_CFGS_REFINST =
 * ORDER_CCARD =
 * ORDER_TEXT =
 * ORDER_KEYS =
 * EXTENSIONIN =
 *合作伙伴地址=
               。

     通话功能'BAPI_TRANSACTION_COMMIT'
      出口
        等待='X'
 *重要
 *返回=
              。
 
希望这对您有所帮助。


 感谢和问候,
 Niyas 
樱桃小丸子0093
2楼-- · 2020-09-20 13:19

有比BDC更好的批量创建销售订单的方法。 BDC已有20多年的历史,因此不是最新的技术。 会建议使用idoc技术(即使这也是旧技术)或BAPI函数。 这些选项还使包含手动条件值更加容易。 值得研究。

谢谢

Phil Cooley

一周热门 更多>