创建采购订单/销售订单之前如何读取特征值(运行时)

2020-09-19 11:41发布

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

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


专家您好,

我们有一个要求,在变式功能模块中,我必须在创建采购订单/销售订单/对象之前获取特征及其值。 这意味着我们需要获取运行时特征值。

在变体功能模块内部,我们首先从堆栈中获取实例号(CUOBJ),因为在变体函数的任何接口参数中实例号都不可用。 然后使用cl_cbase => GET_CURRENT_CBASE_BY_INSTANCE方法获取特征详细信息,但是如果我们正在创建采购订单/销售订单,则从堆栈中获取的实例编号的编号以9999开头,这意味着它是临时的 实例,并且在临时实例的情况下,上述方法会引发异常,指出无效实例。

因此,如果您能帮助我在创建对象之前读取特征值,那将是非常棒的。

谢谢

Deepak

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

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


专家您好,

我们有一个要求,在变式功能模块中,我必须在创建采购订单/销售订单/对象之前获取特征及其值。 这意味着我们需要获取运行时特征值。

在变体功能模块内部,我们首先从堆栈中获取实例号(CUOBJ),因为在变体函数的任何接口参数中实例号都不可用。 然后使用cl_cbase => GET_CURRENT_CBASE_BY_INSTANCE方法获取特征详细信息,但是如果我们正在创建采购订单/销售订单,则从堆栈中获取的实例编号的编号以9999开头,这意味着它是临时的 实例,并且在临时实例的情况下,上述方法会引发异常,指出无效实例。

因此,如果您能帮助我在创建对象之前读取特征值,那将是非常棒的。

谢谢

Deepak

付费偷看设置
发送
1条回答
一只江湖小虾
1楼-- · 2020-09-19 12:26

您好 Deepak

我可以尝试回答有关创建销售订单(VA01交易)的问题,无论如何,我认为采购订单几乎相同。

据我所知,在创建销售订单时,配置对象CUOBJ应该可用,因此特征值也应该可用。

只需尝试以下操作:

在包含MV45AFZZ中,在USEREXIT_PRICING_PREPARE_TKOMP等处加上一个白点。

然后,创建销售订单(VA01),插入物料并输入配置。
断点应立即激活。 退出配置时(即,已给特性指定值)时,它将再次触发。
检查内部表VBAP的内容,字段VBAP-CUOBJ应该可用。 情况下,添加您的自定义代码以检索配置值,例如使用FM CUCB_GET_CONFIGURATION。FM参数中的实例是VBAP-CUOBJ。

特征值在FM配置结构内。

希望这会有所帮助。

谢谢,再见

Flavio

一周热门 更多>