关于程序变式中动态选择的一点说明

今天在做一个程序,功能是调用FBL3N(总账科目行项目显示),并且向这个程序传入相应的选择屏幕值,直接展示报表。但是,遇到了一个问题,就是这里面的动态选择中的屏幕选项,无法写入值,废了好大的周折,才搞定。分享一下,留念一下。

 

实现功能:通过事务FBL3N查询特定,总账科目、公司代码、过账日期和会计期间下的总账科目行项目

实现方法:1、建立程序RFITEMGL的变式,变式名ZFBL3N,或者使用标准SAP变式SAP&AUDIT

          2、在自开发程序中添加类似如下代码:

TYPE-POOLS:rsds.
DATA: trange TYPE rsds_trange,
      trange_line
        LIKE LINE OF trange,
      trange_frange_t_line
        LIKE LINE OF trange_line-frange_t,
      trange_frange_t_selopt_t_line
        LIKE LINE OF trange_frange_t_line-selopt_t,
      texpr TYPE rsds_texpr.
trange_line-tablename 'BSIS'.
trange_frange_t_line-fieldname 'MONAT'.
trange_frange_t_selopt_t_line-sign   'I'.
trange_frange_t_selopt_t_line-option 'BT'.
trange_frange_t_selopt_t_line-low    '13'.
trange_frange_t_selopt_t_line-high   '16'.
APPEND trange_frange_t_selopt_t_line
  TO trange_frange_t_line-selopt_t.
APPEND trange_frange_t_line TO trange_line-frange_t.
APPEND trange_line TO trange.
CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_EX'
  EXPORTING
    field_ranges       trange
 IMPORTING
   EXPRESSIONS        texpr.

SUBMIT rfitemgl  "VIA SELECTION-SCREEN
               USING SELECTION-SET 'SAP&AUDIT'
               WITH sd_saknr '2423423432'
               WITH sd_bukrs '9000'
               WITH x_opsel  '
           WITH x_clsel  '
           WITH x_aisel  'X'
           WITH so_budat BETWEEN '20120601' AND '20120630'
           WITH FREE SELECTIONS texpr
               AND RETURN.

简单的修改上面的代码就可以定制你自己的调用方式。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值