You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在FBCJ中自定义现金日记账收据及多公司代码模板配置?

FBCJ现金日记账收据自定义及多公司代码配置方案

1. FBCJ现金日记账收据自定义步骤

  • 用事务码SE71创建/修改SAP脚本模板:
    • 输入自定义表单名(比如Z_FBCJ_RECEIPT),选“表单”类型后点击创建,建议基于标准收据表单RFKORD10复制修改,按需调整字段布局、添加公司logo或自定义文本。
  • 在FBCJ中关联模板:
    • 进入现金日记账后,点击菜单栏「环境」→「收据打印」→「维护格式」,把自定义的脚本表单分配给对应业务场景。
  • 配置输出类型:
    • 用事务码NACE找到应用程序FI,选中输出类型KORD,将自定义表单分配给该输出类型,并维护对应的处理程序。
  • 测试验证:在FBCJ完成一笔现金业务后执行打印,确认自定义模板生效。

2. 多公司代码不同收据模板配置方案

无需编码实现方式

完全可以通过标准配置搞定,步骤如下:

  • 打开事务码NACE,选FI应用后点击「条件记录」,选中输出类型KORD并点击「创建」。
  • 以「公司代码」作为条件字段,为每个公司代码单独分配对应的自定义脚本表单(比如公司代码1000配Z_FBCJ_RECEIPT_1000,2000配Z_FBCJ_RECEIPT_2000)。
  • 打印时系统会自动根据当前业务的公司代码匹配对应模板,不用写代码。

ABAP开发实现方式

如果需要更灵活的判断逻辑(比如结合成本中心等其他字段),可以这么做:

  • 找到FBCJ打印的标准函数模块FI_PRINT_CASH_JOURNAL_RECEIPT,或者主程序SAPMF05L,优先用隐式增强而非直接修改标准程序。
  • 在表单调用前添加逻辑,根据当前的公司代码(取自BKPF-BUKRS)动态选择对应的表单名称。
  • 示例代码片段:
DATA: lv_formname TYPE tdsfname.

CASE bkpf-bukrs.
  WHEN '1000'.
    lv_formname = 'Z_FBCJ_RECEIPT_1000'.
  WHEN '2000'.
    lv_formname = 'Z_FBCJ_RECEIPT_2000'.
  WHEN OTHERS.
    lv_formname = 'RFKORD10'. " fallback到标准模板
ENDCASE.

CALL FUNCTION 'OPEN_FORM'
  EXPORTING
    FORM              = lv_formname
    LANGUAGE          = sy-langu
    DEVICE            = 'PRINTER'.
  • 注意:做系统变更前要遵循企业的ABAP开发规范,优先使用增强方式避免破坏标准功能。

内容的提问来源于stack exchange,提问作者Mirzonabot Mirzonabotov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 13:35:19