CALL TRANSACTION 和 SUBMIT 事务码之间的跳转

CALL TARNSACTION AND SUBMIT

通常有这样的需求:事务码之间的跳转

1)首先会想到submit的使用当从A程序跳转到B程序时,顺带传入B程序的输入参数值

submit 的使用方法为: submit program-name with p_werks = p_werks and return.

实现的效果就是跳转到B程序,然后返回到A程序

2)如果B程序有两个屏幕,先执行一个屏幕1,再跳转到另一个屏幕2,我们需要A调用完B以后,

顺带给屏幕1赋完值,紧接着给屏幕2赋值 这样的需求submit就有了局限性,这个时候可以用call transaction 来实现

具体的实现方法:

data: gs_bdcdata type bdcdata,

        gs_opt type ctu_params,

        gt_btcdata type table of bdcdata.

 

       refresh gt_btcdata[]. clear gs_bdcdata.

 

       gs_bdcdata-program = '程序B'. "调用程序名

       gs_bdcdata-dynpro = '屏幕1'. "程序B的第一个屏幕

       gs_bdcdata-dynbegin = 'X'.

       append gs_bdcdata to gt_bdcdata.

 

       clear gs_bdcdata.

       gs_bdcdata-fnam = 'P_WERKS'. "程序B第一个屏幕的输入字段

       gs_bdcdata-fval = 'P_WERKS'. "程序A的传入值

       append gs_bdcdata to gt_bdcdata.

 

        clear gs_bdcdata.

        gs_bdcdata-fnam = 'BDC_OKCODE'. "程序B的执行按钮

        gs_bdcdata-fval = 'ONLI'. "执行按钮的功能码

        append gs_bdcdata to gt_bdcdata.

 

        clear gs_bdcdata.

        gs_bdcdata-fnam = 'G_INPUT'. "程序B第二个屏幕的输入字段

        gs_bdcdata-fval = '12345'. "该字段的传入值

        append gs_bdcdata to gt_bdcdata.

 

        clear gs_bdcdata.

        gs_bdcdata-fnam = 'BDC_OKCODE'. "程序B的执行按钮

        gs_bdcdata-fval = '/00'. "回车

        append gs_bdcdata to gt_bdcdata.

 

        gs_opt-dismode = 'E'.

        gs_opt-defsize = ''.

        call tsransaction '事务码' using gt_bdcdata options from gs_opt.

      以上代码就可以实现这个需求

转载于:https://www.cnblogs.com/bailang-LBG/articles/4277501.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值