ABAP程序中SUBMIT Program时、BDC CALL Transaction时填充参数的代码模板

文章介绍了在ABAP中调用其他程序或事务代码的两种主要方法:Submit和CallTransaction。Submit允许直接提交一个程序并控制返回行为,难点在于参数填充,可以使用宏DEFINE简化。CallTransaction用于调用事务代码,涉及BDC字段填充,同样可以通过宏DEFINE优化。文章还提供了一些填充BDC参数的技巧和使用ABAP4_CALL_TRANSACTION函数在新窗口打开交易的示例。

在ABAP程序中,经常出现在Program A中调用Program B的需求,通常来讲,这种需求可以通过Submit或Call transaction的方式实现。

1. Submit

Submit也即直接提交一个程序,语法如下:

SUBMIT {rep|(name)} [selscreen_options]
… … … … … … … … [list_options]
… … … … … … … … [job_options]
… … … … … … … … [AND RETURN].

可以通过AND RETURN关键字控制,执行完被调用的程序后,是否返回主程序。使用SUBMIT时的一个难点在于参数的填充,也即如何填充被调用程序的selection screen,也即参数selscreen_options

在编程过程中,如果遇到类似的需求,可以用 宏 DEFINE 快速实现,具体可参考下面的模板。

  DATA:
    lt_spar          TYPE STANDARD TABLE OF rsparams,
    ls_spar          LIKE LINE OF lt_spar.

" fill screen parameters
DEFINE mac_set_parameter.
  CLEAR ls_spar.
  ls_spar-sign    = 'I'.
  ls_spar-option  = 'EQ'.
  ls_spar-selname = &1.
  ls_spar-kind    = 'P'.
  ls_spar-low     = &2.
  APPEND ls_spar TO lt_spar.
END-OF-DEFINITION.

" fill selection options
DEFIN
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值