01
披星戴月走过的路,最终将会繁花遍地
声明:本文章仅用于SAP软件的应用与学习,不代表SAP公司。(注:文中所示截图来源SAP软件,相应著作权归SAP所有。)
随着越来越多公司上线SAP,用户使用不断深入,用户提出的需求越来越高。之前有很多用户希望实现双击财务凭证号跳转至FB03概览界面,用户双击行项目再进入明细行。通过下面的语法可以实现。
SET PARAMETER ID 'BLN' FIELD '0100000013'. " 财务凭证号
SET PARAMETER ID 'BUK' FIELD '8010'. " 公司代码
SET PARAMETER ID 'GJR' FIELD '2021'. " 年度
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
行概览界面如下:
如需查看行项目4的明细数据,则双击第四行,进入明细界面。
但现在用户希望双击财务凭证+明细行号能直接跳转至明细界面,而不是行概览界面。可通过以下代码实现:
DATA: BEGIN OF lt_data OCCURS 30,
bukrs LIKE bseg-bukrs, " Buchungskreis
belnr LIKE bseg-belnr, " Belegnummer
gjahr LIKE bseg-gjahr, " Geschaeftsjahr
buzei LIKE bseg-buzei, " Buchungszeile
END OF lt_data.
DATA: lv_index TYPE sy-tabix,
lv_tcode TYPE sy-tcode,
lv_aktyp TYPE c.
lv_tcode = 'FBL3'.
lt_data-bukrs = '8750'.
lt_data-belnr = '5000000251'.
lt_data-gjahr = '2021'.
lt_data-buzei = '023'.
APPEND lt_data.
CALL DIALOG 'RF_ZEILEN_ANZEIGE'
EXPORTING
buztab FROM lt_data " 想看哪行传那一行即可
* buztab-zeile FROM lv_index
tcode FROM lv_tcode
status-detail FROM space.
运行结果:
有大佬担心行数过多时翻页会有问题,但经过测试,即使翻页也可直接进入明细界面。
也可通过将整个凭证所有行项目都写入lt_data中,指定行项目,跳转至明细界面。
DATA: BEGIN OF lt_data OCCURS 30,
bukrs LIKE bseg-bukrs, " Buchungskreis
belnr LIKE bseg-belnr, " Belegnummer
gjahr LIKE bseg-gjahr, " Geschaeftsjahr
buzei LIKE bseg-buzei, " Buchungszeile
END OF lt_data.
DATA: lv_index TYPE sy-tabix,
lv_tcode TYPE sy-tcode,
lv_aktyp TYPE c.
lv_tcode = 'FBL3'.
lv_index = 4.
lt_data-bukrs = '8010'.
lt_data-belnr = '0100000013'.
lt_data-gjahr = '2021'.
lt_data-buzei = '001'.
APPEND lt_data.
lt_data-bukrs = '8010'.
lt_data-belnr = '0100000013'.
lt_data-gjahr = '2021'.
lt_data-buzei = '002'.
APPEND lt_data.
lt_data-bukrs = '8010'.
lt_data-belnr = '0100000013'.
lt_data-gjahr = '2021'.
lt_data-buzei = '003'.
APPEND lt_data.
lt_data-bukrs = '8010'.
lt_data-belnr = '0100000013'.
lt_data-gjahr = '2021'.
lt_data-buzei = '004'.
APPEND lt_data.
lt_data-bukrs = '8010'.
lt_data-belnr = '0100000013'.
lt_data-gjahr = '2021'.
lt_data-buzei = '005'.
APPEND lt_data.
CALL DIALOG 'RF_ZEILEN_ANZEIGE'
EXPORTING
buztab FROM lt_data " 想看哪行传那一行即可
buztab-zeile FROM lv_index " 指定跳转行项目
tcode FROM lv_tcode
status-detail FROM space.
上述代码将直接跳转至凭证的第四行项目明细界面。
如果不指定lv_index,则默认进入第一行项目。如果lt_data中只有一个行项目,又指定lv_index,2个行项目不一致,进入的是lt_data中的行项目明细。
以上2种方法都可实现双击跳转明细界面。
文章如有帮助到你,请帮忙转发,让更多有需要的朋友看到
往期推荐
ABAP Eclipse解决OXK3财务定制新增字段导致BSEG表Dump
干货!SAP业务顾问也会的增强——标准字段文本修改的4种方法
关注公众号,加入SAP顾问讨论群!
扫描二维码
获取更多精彩
菜鸟家园