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顾问讨论群!

扫描二维码
获取更多精彩
菜鸟家园


SAP系统中实现双击财务凭证跳转明细界面的ABAP代码实践
本文介绍了如何在SAP系统中通过ABAP代码实现在用户界面中双击财务凭证号及其明细行号直接跳转至明细界面的功能。首先展示了双击凭证号跳转至FB03概览界面的代码,然后详细解释了如何修改代码以实现双击后直接进入明细界面,并提供了两种不同的实现方式。测试表明,即使在多行情况下,也能正确跳转至指定行项目的明细界面。
522

被折叠的 条评论
为什么被折叠?



