如何使用此BAPI_PRICES_CONDITIONS?

2020-09-08 01:12发布

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

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


现在,用户必须通过事务VBO1创建很多协议,然后他们希望以以下方式自动执行此过程:

他们有一个文本文件,其中包含协议,条件和范围的所有数据,因此我将创建一个程序以读取此信息,并可以使用BAPI_AGREEMENTS创建协议,现在我需要为协议条件创建并 规模。





按Enter



介绍数据并按" Transferir"按钮




我完成了强制性差距并保存。


该过程我可以使用BAPI_AGREEMENTS来完成,但是我想知道当您单击上图中称为"条件"的按钮时如何创建条件和缩放比例


如果您看到vbo2已创建的协议,然后单击按钮("条件"),则在您将看到下一个屏幕之后:



在其他情况下,表包含多个记录(我不知道它们的含义)


按下按钮(打勾),您将在下一个屏幕中看到条件:



按上图所示的按钮,您将在下一个屏幕中看到标尺:





我想使用BAPI或程序创建这些条件并进行缩放。 因为通过批处理输入更加复杂,所以我猜
我已经使用了此BAPI_PRICES_CONDITIONS,但是它对我没有用。此外,我不确定是否可以做到这一点。


查看我使用的代码:


wtable1-table_no ='306'。
wtable1-applicatio ='V'。
wtable1-cond_type ='ZCL1'。"'ZPR0'。
wtable1-operation ='009'。< br> wtable1-varkey ='13001001USD 000000000050068946'。
wtable1-valid_to ='99991231'。
wtable1-valid_from ='20051101'。
wtable1-cond_no ='306'。
wtable1-appplicatio ='V'。
wtable1-cond_type ='ZCL1'。" 'ZPR0'
wtable1-operation ='009'。
wtable1-varkey ='13001001USD 000000000050068946'。
wtable1-valid_to ='99991231'。
wtable1-valid_from ='20051101'。
wtable1-cond_no ='$ 000000001'。
wtable1-AGREE_COND ='76'。
wtable1-cond_usage ='A'。

在表1中附加wtable1。


> wtable2-operation ='009'。
wtable2-cond_no ='$ 000000001'。
wtable2-created_by = sy-uname。
wtable2-creat_date ='20051022'。
wtable2-cond_usage =' A'。
wtable2-table_no ='110'。
wtable2-applicatio ='V'。
wtable2-cond_type ='ZCL1'。"'ZPR0'
wtable2-varkey ='13001001USD 000000000050068946 '。
wtable2-valid_from ='20051101'。
wtable2-valid_to ='99991231'。


将wtable2追加到table2。



wtable3-operation ='009'。
wtable3-cond_no ='$ 000000001'。
wtable3-cond_count ='01'。
wtable3-applicatio ='V'。
wtable3-cond_type ='ZCL1 '。" 'ZPR0'
wtable3-scaletype ='A'。
wtable3-scalebasin ='C'.wtable3-scale_qty ='1'。
wtable3-cond_p_unt ='1'。
wtable3-cond_unit ='EA'。
wtable3-calctypcon ='C'。
wtable3-cond_value ='454'。
wtable3-condcurr ='USD'。

附加wtable3 TO table3。


调用功能'BAPI_PRICES_CONDITIONS'
*导出
* PI_initialmode ='X'
* PI_BLOCKNUMBER =
表格
ti_bapicondct = table1
ti_bapicondhd = table2
ti_bapicondit = table3
ti_bapicondqs = table4
ti_bapicondvs = table5
to_bapiret2 = table6
to_bapiknumhs = table7
to_mem_initial = table8
更新=错误<1> >其他= 2

如果sy-subrc <>0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
与sy-msgv1 sy-msgv2 sy-msgv3 sy- msgv4。
ENDIF。

读取表table6,其中KEY type ='E'传输没有字段。

如果sy-subrc =0。


在table6循环到 ret。

写道:/ret类型,ret消息,ret-id,RET -LOG_NO,RET-LOG_MSG_NO,
RET-MESSAGE_V1,RET-MESSAGE_V2,RET-MESSAGE_V3,RET-MESSAGE_V4,
RET-PARAMETER,RET-ROW,RET-FIELD。

端循环。 br>
ELSE。

通话功能'BAPI_TRANSACTION_COMMIT'
*出口
*等待=
进口
return = ret

ENDIF。 >


programa在to_bapiret2表中执行了BAPI_PRICES_CONDITIONS'之后,我只有一条成功消息,其中包含该消息:






程序完成后,我将检查条件数据是否出现(目前,我不在表BAPI中包含有关秤的信息)


我希望你能帮助我解决这个问题。


打扰一下我的英语(我还在学习英语)。


问候。

(79.8 kB)

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

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


现在,用户必须通过事务VBO1创建很多协议,然后他们希望以以下方式自动执行此过程:

他们有一个文本文件,其中包含协议,条件和范围的所有数据,因此我将创建一个程序以读取此信息,并可以使用BAPI_AGREEMENTS创建协议,现在我需要为协议条件创建并 规模。





按Enter



介绍数据并按" Transferir"按钮




我完成了强制性差距并保存。


该过程我可以使用BAPI_AGREEMENTS来完成,但是我想知道当您单击上图中称为"条件"的按钮时如何创建条件和缩放比例


如果您看到vbo2已创建的协议,然后单击按钮("条件"),则在您将看到下一个屏幕之后:



在其他情况下,表包含多个记录(我不知道它们的含义)


按下按钮(打勾),您将在下一个屏幕中看到条件:



按上图所示的按钮,您将在下一个屏幕中看到标尺:





我想使用BAPI或程序创建这些条件并进行缩放。 因为通过批处理输入更加复杂,所以我猜
我已经使用了此BAPI_PRICES_CONDITIONS,但是它对我没有用。此外,我不确定是否可以做到这一点。


查看我使用的代码:


wtable1-table_no ='306'。
wtable1-applicatio ='V'。
wtable1-cond_type ='ZCL1'。"'ZPR0'。
wtable1-operation ='009'。< br> wtable1-varkey ='13001001USD 000000000050068946'。
wtable1-valid_to ='99991231'。
wtable1-valid_from ='20051101'。
wtable1-cond_no ='306'。
wtable1-appplicatio ='V'。
wtable1-cond_type ='ZCL1'。" 'ZPR0'
wtable1-operation ='009'。
wtable1-varkey ='13001001USD 000000000050068946'。
wtable1-valid_to ='99991231'。
wtable1-valid_from ='20051101'。
wtable1-cond_no ='$ 000000001'。
wtable1-AGREE_COND ='76'。
wtable1-cond_usage ='A'。

在表1中附加wtable1。


> wtable2-operation ='009'。
wtable2-cond_no ='$ 000000001'。
wtable2-created_by = sy-uname。
wtable2-creat_date ='20051022'。
wtable2-cond_usage =' A'。
wtable2-table_no ='110'。
wtable2-applicatio ='V'。
wtable2-cond_type ='ZCL1'。"'ZPR0'
wtable2-varkey ='13001001USD 000000000050068946 '。
wtable2-valid_from ='20051101'。
wtable2-valid_to ='99991231'。


将wtable2追加到table2。



wtable3-operation ='009'。
wtable3-cond_no ='$ 000000001'。
wtable3-cond_count ='01'。
wtable3-applicatio ='V'。
wtable3-cond_type ='ZCL1 '。" 'ZPR0'
wtable3-scaletype ='A'。
wtable3-scalebasin ='C'.wtable3-scale_qty ='1'。
wtable3-cond_p_unt ='1'。
wtable3-cond_unit ='EA'。
wtable3-calctypcon ='C'。
wtable3-cond_value ='454'。
wtable3-condcurr ='USD'。

附加wtable3 TO table3。


调用功能'BAPI_PRICES_CONDITIONS'
*导出
* PI_initialmode ='X'
* PI_BLOCKNUMBER =
表格
ti_bapicondct = table1
ti_bapicondhd = table2
ti_bapicondit = table3
ti_bapicondqs = table4
ti_bapicondvs = table5
to_bapiret2 = table6
to_bapiknumhs = table7
to_mem_initial = table8
更新=错误<1> >其他= 2

如果sy-subrc <>0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
与sy-msgv1 sy-msgv2 sy-msgv3 sy- msgv4。
ENDIF。

读取表table6,其中KEY type ='E'传输没有字段。

如果sy-subrc =0。


在table6循环到 ret。

写道:/ret类型,ret消息,ret-id,RET -LOG_NO,RET-LOG_MSG_NO,
RET-MESSAGE_V1,RET-MESSAGE_V2,RET-MESSAGE_V3,RET-MESSAGE_V4,
RET-PARAMETER,RET-ROW,RET-FIELD。

端循环。 br>
ELSE。

通话功能'BAPI_TRANSACTION_COMMIT'
*出口
*等待=
进口
return = ret

ENDIF。 >


programa在to_bapiret2表中执行了BAPI_PRICES_CONDITIONS'之后,我只有一条成功消息,其中包含该消息:






程序完成后,我将检查条件数据是否出现(目前,我不在表BAPI中包含有关秤的信息)


我希望你能帮助我解决这个问题。


打扰一下我的英语(我还在学习英语)。


问候。

(79.8 kB)
付费偷看设置
发送
3条回答
1楼-- · 2020-09-08 01:27

PFA。

这是为满足类似要求而编写的代码。

四川大学会员
2楼-- · 2020-09-08 01:48

嗨,

我附上完整的代码供您参考。

Doze时光
3楼-- · 2020-09-08 01:29

您好,亲爱的会员。

在客户系统上,我现在的工作方式与您相同,我可以看到您做错了什么。

首先转到KONH SAP表并查找具有此特征的寄存器:

相反,KSCHL = YB05,您的学习状况为:ZCL2。

然后,您可以看到代码中必须使用的格式。

例如,在我的情况下,格式为:

第一部分是销售区域,OVCB 01 01。

第二部分是10位数字的客户:0000111566。

最后一部分是Group Rappel:01。

在系统上查看协议:

我希望它能帮助您喜欢我。

亲切的问候,

一周热门 更多>