隐式增强点不在呼叫事务VF01中执行

2020-08-19 02:50发布

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

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

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


嗨。

我们创建了一个隐式增强点,用于在保存VF01交易(SD帐单)时更改某些Ztable值。

我们在RV_INVOICE_REFRESH功能模块的最后一行中创建了一个隐式增强点。

此功能模块RV_INVOICE_REFRESH在创建SD账单时,在保存标准例程之后,总是直接通过VF01事务执行,并且当我们在Z程序内部调用事务VF01命令时始终执行。

我们通过在comamnd栏中输入来执行VF01事务,我将会话断点设置为catch,我们可以对其进行调试。

但是当我们使用Call Transaction VF01命令时,相同的中断不会停止执行。

尽管没有任何条件可以调用/执行此增强功能。

我也测试了一个无限循环,但是它没有停止。
我可以在Zprogram中调用一个新的功能模块,但是我真的很想知道它。

在通过sap主屏幕或通过Call Transaction在命令栏中执行事务时,实现隐式增强点时是否有所不同?为什么?

(61.9 kB)
5条回答
绿领巾童鞋
2020-08-19 03:45

>您使用了什么"呼叫交易'VF01'"(与USING,OPTIONS FROM等一起使用?)


 表格f_bapi_criar_fat_devo。

 数据:
   gv_modo_bi类型c长度1值'N'。

   清除gv_nova_fat_devo。


   免费:gt_bdc,
         gt_messages。

   执行f_preenche_bdc使用:
           'X''SAPMV60A''0102'。
   执行f_preenche_bdc使用:
          '''KOMFK-VBELN(01)'gv_new_sales_order_devo。
   执行f_preenche_bdc使用:
          '''BDC_OKCODE''= SICH'。

   呼叫交易'VF01'
         使用gt_bdc
         模式gv_modo_bi
         将消息发送到gt_messages。

   清除gt_messages。
   使用键msgtyp ='E'读取表gt_messages。
   如果sy-subrc = 0。
     错误
     使用gv_nova_ov_devo的消息i048(zsd)。
 *显示为" E"。
     信息
     编号gt_messages-msgid
     类型" S"
     NUMBER个gt_messages-msgnr
     与gt_messages-msgv1
             gt_messages-msgv2
             gt_messages-msgv3
             gt_messages-msgv4
             显示" E"。
     停。

   其他。

     成功
     使用键msgtyp ='S'读取表gt_messages
                                     msgstr ='VF'
                                     msgnr ='311'。
     如果sy-subrc = 0。
       gv_new_bill_devo = gt_messages-msgv1。

       创建了销售订单&1和Billind文档&2
       使用gv_new sales_order_devo gv_new_bill_devo的消息s047(zsd)。

     万一。

   万一。


 ENDFORM。

>它是否完全在相同的上下文,相同的用户,相同的服务器,相同的客户端,相同的数据等环境下运行?

对于所有波纹管是肯定的。
相同 上下文,
相同用户,
相同服务器,
相同客户端,
相同数据等

我们可以通过执行标准事务VA01和VF01

我们可以从Zprogram中调用callig VA01和VF01。

一周热门 更多>