分类目录归档:ABAP

  • 创建银行账号

    创建银行账号

    银行账号就是我们用来收款,付款时的银行账号了,比如我的银行卡号就是一个银行账号。此功能对应的SAP标准功能是FI12,在ECC版本直接可以在FI12上创建银行账号,但HANA S4时默认时FI12是不可创建的,需要修改配置(网络上可找到),S4推荐的维护银行账号的方法是使用FIORI,在项目中也使用了WEBDypro做了一个更复杂的功能来实现,但我觉得一般需求来说,使用FIORI应该是最好的选择, …
  • 使用BOPF自动填写入默认值

    使用BOPF自动填写入默认值

    在创建表时,我们通常会有一些默认值,比如创建人,创建时间,更改人,更改时间等,通常的们会有创建表维护时使用“事件”,来在创建、更改时实现这功能,但当我们的数据是在FIORI中使用或者其它接口中使用时,这种方法就不行了,当然我们也可以用提供的ODATA的数据中直接填入默认值,但这样就做不到统一了,也不是很方便, 为了实现这功能,我们可以创建一个CDS,并生成BOPF来实现,最后使用这人CDS替换到真 …
2020
06-04

批量导入角色并设置事务码角色 HOT

批量导入角色并设置事务码角色 批量导入角色,并在EXECL中的事务码中导入角色并管理事务码。 导入后结果如图 导入EXECL数据模板如图, 批量导入用户权限角色及事务码的ABAP代码 [crayon-62c41616a6621863756895/] 模板下载 batch_create_role_template下载 ....Read More >
2020
05-28

接口报文保存到内表中 HOT

接口报文保存到内表中 今天有一个需求,接收PI传数据过来后,除整理数据保存到用户数据表外,在后期还需要把报文加工一下(要求报文内容与原接收报文一致,只是补加少量值),在发送到其它的系统。由于数据接收后已对数据加工到了用户表,已没有原报文内容(比如金额已累计),如从用户数据表中再取出数据整理加入发送出去,一是整理数据太麻烦,二是一些数据可能已丢失,并不能很好的还原接收到的报文。 所以考虑在接收到报文时,把接收到的报文(结构化数据)保存到内表中,然后在需要再次发送出去时,从内表中取出数据,并做必要的整理,然后再发....Read More >
2020
05-24

判断字符串是否为数值 HOT

使用用与正则表达式判断一个字符串是否为数值,可以带小数点,是否为金额值等,否则如直接把一个字符串附值给一个金额字段时,是会报错的,可以先用此方法判断是否为数据,如是数据再附值给金额字段就不会报错了。 [crayon-62c41616a73b6450112576/] ....Read More >
2020
05-20

BSEG优化问题 HOT

今天做一个需求,需要取BSEG-XREF1(业务伙伴参考码),并且是批量的取,开始为了省事,所以想着先从BKPF取到会计凭证,公司代码,年度到内表LT_BKPF,然后使用FOR ALL ENTRIES LT_BKPF来从BSEG中得到明细数据, 但由于BSEG 是聚集表,并且数据太大了,所以取数据非常慢,所以想到从BSIS\BSAS,BSIK\BSAK,BSID\BSAD中取数的方法,但这些表中都没有业务伙伴参考码这个字段,所以没得办法,还是只能从BSEG表中想办法, 后来使用ST05跟踪发现,FOR ALL ENTRIES LT_BKPF在执行时是解析为了多个WHERE....Read More >
2020
05-18

会计凭证的更改记录与EDI HOT

会计凭证的更改记录与EDI 今天有一个需求,要要求当会计凭证进行增删改时,把会计凭证的内容记录到自定义表中,以便用后其它BW抽取, 一开始想到的当然是SAP标准记录的更改记录表:CDHDR,CDPOS表了,测试发现对会计凭证BKPF,BSEG的修改(增加)都会记录表CDHDR,CDPOS中,所以最简单的做法就是在写这两表时做增强,把数据保存到需要的自定义表中, 1.打开CDHDR表发现表中更改的对像保为BELEG。 2.打开事务码:SCDO,查找BELEG,并查看“生成信息”,可看到使用的处理函数为:B....Read More >