VA01中的目标数量未从BAPI SD_SALESDOCUMENT_CREATE更新

2020-09-17 01:16发布

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

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


你好大师,

我正在尝试通过BAPI在VA01中创建借项通知单

SD_SALESDOCUMENT_CREATE。 所有条目均正确更新,但数量显示为0但所需数量(订单数量)正确更新的行项目中的目标值。我尝试手动创建一个条目,它与目标数量一起保存,但通过 巴比。

谢谢

在这里输入我的代码

将it_record循环到记录中。

 标头DOC_TYPE =记录DOC_TYPE。

 标头SALES_ORG =记录SALES_ORG。

 header-DIVISION = record-DIVISION。

 标头DISTR_CHAN =记录DIST_CHANNEL。

 header-BILL_BLOCK =''。" record-BILLING。

 标头ORD_REASON =记录ORDER_REASON。





 替换所有出现的"。" 在带有''的record-ref_date中。

 将记录引用日期+4(4)记录引用日期+2(2)记录引用日期+0(2)并入记录引用日期。



 标头-PURCH_DATE =记录-REF_DATE。



           。

 通话功能" CONVERSION_EXIT_SDATE_INPUT"

   出口

     输入= record-doc_Date

  输入

    输出=记录DOC_DATE

           。





 标头DOC_DATE =记录DOC_DATE。

 header-PURCH_NO_C =记录引用。

 通话功能" CONVERSION_EXIT_SDATE_INPUT"

   出口

     输入=记录日期

  输入

    输出=记录日期

           。

 标头BILL_DATE =记录HDATE。

 通话功能" CONVERSION_EXIT_SDATE_INPUT"

   出口

     输入=记录价格日期

  输入

    输出= record-price_DATE

           。

 标头PRICE_DATE =记录PRICE_DATE。

 headerx-PURCH_DATE ='X'。

 headerx-BILL_DATE ='X'。

 headerx-PRICE_DATE ='X'。

 headerx-PURCH_NO_C ='X'。

 headerx-DOC_DATE ='X'。

 headerx-DOC_TYPE ='X'。"记录-DOC_TYPE。

 headerx-SALES_ORG ='X'。" record-SALES_ORG。

 headerx-DIVISION ='X'。"记录分区。

 headerx-DISTR_CHAN ='X'。" record-DIST_CHAN。

 headerx-BILL_BLOCK ='X'。

 headerx-ORD_REASON ='X'。

 headerx-UPDATEFLAG ='I'。



 通话功能" CONVERSION_EXIT_ALPHA_INPUT"

   出口

     输入=记录客户

  输入

    OUTPUT =记录客户

           。



 partner-PARTN_ROLE ='WE'。"参加聚会的船

 partner-PARTN_NUMB =记录-客户。

 * partner-ITM_NUMBER ='10'。

 将合作伙伴附加到tpartner。



 通话功能" CONVERSION_EXIT_ALPHA_INPUT"

   出口

     输入=记录客户1

  输入

    输出=记录客户1

           。



 partner-PARTN_ROLE ='AG'。  "卖给聚会

 partner-PARTN_NUMB =记录-CUSTOMER1。

 * partner-ITM_NUMBER ='10'。

 将合作伙伴附加到tpartner。



 通话功能" CONVERSION_EXIT_MATNE_INPUT"

   出口

     输入=记录主题

  输入

    输出=记录材料

  例外情况

    LENGTH_ERROR = 1

    其他= 2

           。

 如果SY-SUBRC <> 0。

 *在这里实施适当的错误处理

 万一。



 item-ITM_NUMBER ='10'。

 item-MATERIAL =记录-MATNR。

 item-TARGET_QTY =记录数量。

 * item-TARGET_QU ='EA'。

 * item-BILL_BLOCK =''。

 * item -u

 * item-HG_LV_ITEM = item-itm_number。

 *项目-

 * item-TARGET_QU =记录数量。

 *项目-t

 将项目附加到titem。



 itemx-itm_number = item-itm_number。



 itemx-UPDATEFLAG ='I'。

 itemx-MATERIAL ='X'。

 itemx-TARGET_QTY ='X'。



 将itemx附加到titemx。



 *预定-

 sched-ITM_NUMBER =项目-ITM_NUMBER。

 sched-REQ_QTY =记录数量。



 将sched附加到tsched。



 schedx-ITM_NUMBER =项目-ITM_NUMBER。

 schedx-UPDATEFLAG ='I'。

 schedx-REQ_QTY ='X'。

 * schedx-SCHED_LINE ='0001'。

 将schedx附加到tschedx。



                通话功能" SD_SALESDOCUMENT_CREATE"

                 出口

 * SALESDOCUMENT =

                   SALES_HEADER_IN =标头

                   SALES_HEADER_INX =标头x

 * SENDER =

 * BINARY_RELATIONSHIPTYPE =''

 * INT_NUMBER_ASSIGNMENT =''

 * BEHAVE_WHEN_ERROR =''

 * LOGIC_SWITCH =''

 * BUSINESS_OBJECT =''

 * TESTRUN =

 * CONVERT_PARVW_AUART =''

 * STATUS_BUFFER_REFRESH ='X'

 * CALL_ACTIVE =''

 * I_WITHOUT_INIT =''

                输入

                  SALESDOCUMENT_EX =销售量

 * SALES_HEADER_OUT =

 * SALES_HEADER_STATUS =

                桌子

                  RETURN =返回

                  SALES_ITEMS_IN =山雀

                  SALES_ITEMS_INX = titemx

                  SALES_PARTNERS =合作伙伴

                  SALES_SCHEDULES_IN = tsched

                  SALES_SCHEDULES_INX = tschedx

 * SALES_CONDITIONS_IN =

 * SALES_CONDITIONS_INX =

 * SALES_CFGS_REF =

 * SALES_CFGS_INST =

 * SALES_CFGS_PART_OF =

 * SALES_CFGS_VALUE =

 * SALES_CFGS_BLOB =

 * SALES_CFGS_VK =

 * SALES_CFGS_REFINST =

 * SALES_CCARD =

 * SALES_TEXT =

 * SALES_KEYS =

 * SALES_CONTRACT_IN =

 * SALES_CONTRACT_INX =

 * EXTENSIONIN =

 *合作伙伴地址=

 * SALES_SCHED_CONF_IN =

 * ITEMS_EX =

 * SCHEDULE_EX =

 * BUSINESS_EX =

 * INCOMPLETE_LOG =

 * EXTENSIONEX =

 * CONDITIONS_EX =

 * PARTNERS_EX = tpartnerx

 * TEXTHEADERS_EX =

 * TEXTLINES_EX =

 * BATCH_CHARC =

 * CAMPAIGN_ASGN =

                         。



 读取表return []到键类型='S'number ='311'的data(ls_return)中。

 如果sy-subrc = 0。

   通话功能'BAPI_TRANSACTION_COMMIT'

    出口

      等待='X'

 *重要

 *返回=

             。



   将ls_return附加到return1。

   清除ls_return。

   其他。

 * READ TABLE return []转换为键类型='E'的data(ls_return)。 数字=" 311"。

     返回的APPEND行返回return1。

   万一。

   refresh:return [],titem [],titemx [],tpartner [],tsched [],tschedx []。
 结束循环。

 

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

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


你好大师,

我正在尝试通过BAPI在VA01中创建借项通知单

SD_SALESDOCUMENT_CREATE。 所有条目均正确更新,但数量显示为0但所需数量(订单数量)正确更新的行项目中的目标值。我尝试手动创建一个条目,它与目标数量一起保存,但通过 巴比。

谢谢

在这里输入我的代码

将it_record循环到记录中。

 标头DOC_TYPE =记录DOC_TYPE。

 标头SALES_ORG =记录SALES_ORG。

 header-DIVISION = record-DIVISION。

 标头DISTR_CHAN =记录DIST_CHANNEL。

 header-BILL_BLOCK =''。" record-BILLING。

 标头ORD_REASON =记录ORDER_REASON。





 替换所有出现的"。" 在带有''的record-ref_date中。

 将记录引用日期+4(4)记录引用日期+2(2)记录引用日期+0(2)并入记录引用日期。



 标头-PURCH_DATE =记录-REF_DATE。



           。

 通话功能" CONVERSION_EXIT_SDATE_INPUT"

   出口

     输入= record-doc_Date

  输入

    输出=记录DOC_DATE

           。





 标头DOC_DATE =记录DOC_DATE。

 header-PURCH_NO_C =记录引用。

 通话功能" CONVERSION_EXIT_SDATE_INPUT"

   出口

     输入=记录日期

  输入

    输出=记录日期

           。

 标头BILL_DATE =记录HDATE。

 通话功能" CONVERSION_EXIT_SDATE_INPUT"

   出口

     输入=记录价格日期

  输入

    输出= record-price_DATE

           。

 标头PRICE_DATE =记录PRICE_DATE。

 headerx-PURCH_DATE ='X'。

 headerx-BILL_DATE ='X'。

 headerx-PRICE_DATE ='X'。

 headerx-PURCH_NO_C ='X'。

 headerx-DOC_DATE ='X'。

 headerx-DOC_TYPE ='X'。"记录-DOC_TYPE。

 headerx-SALES_ORG ='X'。" record-SALES_ORG。

 headerx-DIVISION ='X'。"记录分区。

 headerx-DISTR_CHAN ='X'。" record-DIST_CHAN。

 headerx-BILL_BLOCK ='X'。

 headerx-ORD_REASON ='X'。

 headerx-UPDATEFLAG ='I'。



 通话功能" CONVERSION_EXIT_ALPHA_INPUT"

   出口

     输入=记录客户

  输入

    OUTPUT =记录客户

           。



 partner-PARTN_ROLE ='WE'。"参加聚会的船

 partner-PARTN_NUMB =记录-客户。

 * partner-ITM_NUMBER ='10'。

 将合作伙伴附加到tpartner。



 通话功能" CONVERSION_EXIT_ALPHA_INPUT"

   出口

     输入=记录客户1

  输入

    输出=记录客户1

           。



 partner-PARTN_ROLE ='AG'。  "卖给聚会

 partner-PARTN_NUMB =记录-CUSTOMER1。

 * partner-ITM_NUMBER ='10'。

 将合作伙伴附加到tpartner。



 通话功能" CONVERSION_EXIT_MATNE_INPUT"

   出口

     输入=记录主题

  输入

    输出=记录材料

  例外情况

    LENGTH_ERROR = 1

    其他= 2

           。

 如果SY-SUBRC <> 0。

 *在这里实施适当的错误处理

 万一。



 item-ITM_NUMBER ='10'。

 item-MATERIAL =记录-MATNR。

 item-TARGET_QTY =记录数量。

 * item-TARGET_QU ='EA'。

 * item-BILL_BLOCK =''。

 * item -u

 * item-HG_LV_ITEM = item-itm_number。

 *项目-

 * item-TARGET_QU =记录数量。

 *项目-t

 将项目附加到titem。



 itemx-itm_number = item-itm_number。



 itemx-UPDATEFLAG ='I'。

 itemx-MATERIAL ='X'。

 itemx-TARGET_QTY ='X'。



 将itemx附加到titemx。



 *预定-

 sched-ITM_NUMBER =项目-ITM_NUMBER。

 sched-REQ_QTY =记录数量。



 将sched附加到tsched。



 schedx-ITM_NUMBER =项目-ITM_NUMBER。

 schedx-UPDATEFLAG ='I'。

 schedx-REQ_QTY ='X'。

 * schedx-SCHED_LINE ='0001'。

 将schedx附加到tschedx。



                通话功能" SD_SALESDOCUMENT_CREATE"

                 出口

 * SALESDOCUMENT =

                   SALES_HEADER_IN =标头

                   SALES_HEADER_INX =标头x

 * SENDER =

 * BINARY_RELATIONSHIPTYPE =''

 * INT_NUMBER_ASSIGNMENT =''

 * BEHAVE_WHEN_ERROR =''

 * LOGIC_SWITCH =''

 * BUSINESS_OBJECT =''

 * TESTRUN =

 * CONVERT_PARVW_AUART =''

 * STATUS_BUFFER_REFRESH ='X'

 * CALL_ACTIVE =''

 * I_WITHOUT_INIT =''

                输入

                  SALESDOCUMENT_EX =销售量

 * SALES_HEADER_OUT =

 * SALES_HEADER_STATUS =

                桌子

                  RETURN =返回

                  SALES_ITEMS_IN =山雀

                  SALES_ITEMS_INX = titemx

                  SALES_PARTNERS =合作伙伴

                  SALES_SCHEDULES_IN = tsched

                  SALES_SCHEDULES_INX = tschedx

 * SALES_CONDITIONS_IN =

 * SALES_CONDITIONS_INX =

 * SALES_CFGS_REF =

 * SALES_CFGS_INST =

 * SALES_CFGS_PART_OF =

 * SALES_CFGS_VALUE =

 * SALES_CFGS_BLOB =

 * SALES_CFGS_VK =

 * SALES_CFGS_REFINST =

 * SALES_CCARD =

 * SALES_TEXT =

 * SALES_KEYS =

 * SALES_CONTRACT_IN =

 * SALES_CONTRACT_INX =

 * EXTENSIONIN =

 *合作伙伴地址=

 * SALES_SCHED_CONF_IN =

 * ITEMS_EX =

 * SCHEDULE_EX =

 * BUSINESS_EX =

 * INCOMPLETE_LOG =

 * EXTENSIONEX =

 * CONDITIONS_EX =

 * PARTNERS_EX = tpartnerx

 * TEXTHEADERS_EX =

 * TEXTLINES_EX =

 * BATCH_CHARC =

 * CAMPAIGN_ASGN =

                         。



 读取表return []到键类型='S'number ='311'的data(ls_return)中。

 如果sy-subrc = 0。

   通话功能'BAPI_TRANSACTION_COMMIT'

    出口

      等待='X'

 *重要

 *返回=

             。



   将ls_return附加到return1。

   清除ls_return。

   其他。

 * READ TABLE return []转换为键类型='E'的data(ls_return)。 数字=" 311"。

     返回的APPEND行返回return1。

   万一。

   refresh:return [],titem [],titemx [],tpartner [],tsched [],tschedx []。
 结束循环。

 
付费偷看设置
发送
5条回答
1楼-- · 2020-09-17 01:56

Hallo KIRAN KULKARNI

我认为您必须在ORDER_SCHEDULE_IN中定位目标数量并将其从ITEM中删除(item-TARGET_QTY = record-QUANTITY->删除它)

 sched-ITM_NUMBER = item-ITM_NUMBER。  (您可以这样做),只需将其从ITEM(ORDER_ITEMS)中删除

最好的问候

易卜拉欣

悠然的二货
2楼-- · 2020-09-17 02:05

可能是一个愚蠢的问题,但是为什么您首先要为这种销售单据类型设置计划行?

通常,对于借项凭单,您不需要计划行,因为不涉及交付。

SAP小菜
3楼-- · 2020-09-17 02:10

尝试

标头UPDATEFLAG ='U'。
 item-ITM_NUMBER ='00010'。
 并填写所有必填值。
N-Moskvin
4楼-- · 2020-09-17 01:52

亲爱的易卜拉欣,

感谢您的答复,

我已经按照您的建议进行了尝试,并删除了订单项表中的项目编号和数量分配,已保留

仅物料分配,尚未更新目标数量,但订单数量已更新。
请注意。

派大星 ヾ
5楼-- · 2020-09-17 01:54

请确保物料编号以" 00010"传递,未显示 高于" 10"。

通过物料数量工厂,存放位置。

我不确定,为什么要添加虚拟数据。 请检查,该金额需要添加到Sales_condition_in表中。

一周热门 更多>