如何在VA22工具栏中创建一个按钮,该按钮将复制另一个报价中的项目?

2020-09-20 14:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,SAP ABAPers, ...

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

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


您好,SAP ABAPers,

我有一个使用应用程序工具栏中的新按钮来增强VA22交易的请求,该按钮必须引发一个弹出窗口,在该窗口中我将引入一个报价单编号,然后将所插入报价单中的物料复制到 显示的报价单号。

我已执行以下步骤:

  1. 从激活SAPMV45B将PF状态'U'复制到pf状态'ZZ1'到Z * prog中,然后添加我的按钮,然后再激活
  2. 进入程序SAPMV45A的屏幕4001的PAI模块,在例程CUA_SETZEN的末尾使用下面的代码创建一个隐式增强Z *,其中我使用上面创建的pf-status:

如果sy-tcode ='VA22'并且SY-DYNNR ='4001'。
设置程序'ZTSTGUI'的PF状态'ZZ1'。

endif。

3.在程序SAPMV45A的模块FCODE_BEARBEITEN中的屏幕4001的PBO模块中创建增强Z *,并在此处进行功能编码(引发弹出窗口,获取值并调用bapi BAPI_QUOTATION_GETDETAILBOS以获取插入的报价单并调用 bapi BAPI_CUSTOMERQUOTATION_CHANGE用于更新我的报价。


请您检查一下我的步骤并告诉我我在哪里错了? 为什么即使我已复制正确的pf状态,pf状态也不与旧的pf状态相同? (现在我有更多按钮了)即使输入值和表正确维护,为什么QUOTATION_CHANGE的BAPI返回错误V1-045-"插入文档编号"?

您能否就将项目从另一种报价复制到另一种报价的要求是否可行,并且不会影响SAP标准?

谢谢

安德里亚

4条回答
暮风yp
2020-09-20 14:45

嗨Andrea,

问题1:

"即使我复制了正确的pf状态,为什么pf状态与旧的pf状态也不相同?

在调用PF-STATUS语句时,请确保排除以下不必要的按钮。 检查标准的PF-STATUS代码并使用相同的内部表。

如果sy-tcode ='VA22'和SY-DYNNR ='4001'。

 设置程序" ZTSTGUI"的PF状态" ZZ1",但不包括EXTAB []。

 endif。

问题2:

"为什么QUOTATION_CHANGE的BAPI返回错误V1- 045-"插入文档编号" 

错误清楚地表明未插入文档编号。 放置断点并对其进行调试。

我不了解一件事,您是在VA22增强功能内编写代码,并使用BAPI更改根本不需要的报价。

致谢

Rajkumar Narasimman

一周热门 更多>