SAP 输出管理:生成自定义发票文件

业务需求

在这里插入图片描述
修改上图SAP 标准Adobe Form
已知待修改标准Form为SDBIL_CI_STANDARD_US
修改项:

  1. 右上角新增TAX INVOICE固定文本
  2. 新增Bill to文本
  3. 将Bill to地址修改为自定义字段,并将整个区域向下移动
  4. 将该区域向右移动
  5. 删除红色框选部分内容

前言介绍

该SAP标准Form与开发正常创建的Form不太一样,正常创建的Form是左侧的Adobe form with context,传参通过Call Function的方式(类似Smartform的一个Function)
该Form是右侧的Adobe form with fragment,直译一下是碎片化的form,这种form可以有多个碎片拼接而成。通过配置打印输出的方式可以直接生成标准发票文件,传参SAP已经设计好了,在回调类中会获取发票的关键信息(如发票号和地址)作为Form的抬头内容,在渲染Form时再使用Odata服务对form主体中绑定的字段进行赋值
在这里插入图片描述值得注意的是Form的抬头内容为一个单独的碎片(下图黄色部分),使用的值为回调类中的参数,而主体内容(下图蓝色部分)则对应Odata服务中绑定的值
在这里插入图片描述

修改部分一:传参

修改项3:

Bill to部分(属于抬头数据,与Form数据不在同一处)修改有些特殊,查资料找到了Form的标准回调类为CL_BILLING_OUTPUT_CONTROL
可通过下述方法找到对应的标准回调类
SPRO -> SAP Reference IMG -> Cross Application Components -> Output Control.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过Debug找到该回调类对应Form抬头绑定的参数,进行增强修改即可
在这里插入图片描述

修改项5:

该Adobe form为SAP标准Form,Form类型为Form With Fragment(碎片化Form,可以有多个Fragment构成),数据来源是Odata 服务(从Gateway Service 处可知使用的Odata 服务是FDP_V3_BD_STANDARD)
在这里插入图片描述
要修改传参内容只能去标准Odata 服务中做增强实现
首先在Form里面找到需要修改的变量名,然后去Odata中找对应的实体集
在这里插入图片描述
此处我需要修改的变量为:ItemPricingConditions.ItemPricingConditionNode[*]
segw转到上述的Odata服务,找到绑定的实体集,做增强修改即可
在这里插入图片描述
在这里插入图片描述

修改部分二:样式调整

修改项2、4:

这两块区域都在Form当中能找到,通过layout稍作调整即可,不做赘述
在这里插入图片描述

修改项1、3:

这两块区域在抬头Fragment处,要找到对应的抬头Fragment再去修改
抬头Fragment是配置出来的,配置位置应该在下面这个路径,拜托业务帮我把原来标准的SOMU_FORM_MASTER_A4,改成了Copy后修改的ZSOMU_FORM_MASTER_A4
SPRO -> SAP Reference IMG -> Cross Application Components -> Output Control.
在这里插入图片描述
在这里插入图片描述
然后去抬头Fragment修改对应位置就好了,这个地方有好几个page,还没弄清楚在Form里面是怎么指定用抬头Fragment的哪个page的,正好找到了最后一个page跟我打印的form很接近,修改后确认确实为该Page
在这里插入图片描述

参考博客:

Create Adobe form with fragments as a copy of the standard.
SAP S/4HANA Output Control
SAP Output Management: setting custom Dunning Notice Form in SAP S/4HANA Cloud

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值