分类目录归档:ABAP

  • 创建银行账号

    创建银行账号

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

    在SAP中打URL,并登陆

    在SAP中可以调用IE来打开URL地址(函数WS_EXECUTE),但如打开的网页需要登陆时,还需要使用单点登陆并打开网页,比如SAP本机的FIORI ,WebDynpro的URL地址时,以下分别说明在IE中打开当前SAP服务器的URL,及在SAP GUI中打开的方法,主要是解决打开并登陆的问题,如是只为打开可以直接使用函数WS_EXECUTE 继续阅读 →
2020
05-28

接口报文保存到内表中 HOT

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

判断字符串是否为数值 HOT

使用用与正则表达式判断一个字符串是否为数值,可以带小数点,是否为金额值等,否则如直接把一个字符串附值给一个金额字段时,是会报错的,可以先用此方法判断是否为数据,如是数据再附值给金额字段就不会报错了。 [crayon-66a4beacbe468363170981/] ....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 >
2020
04-27

调用另外的程序返回其内表 HOT

今天做了一个程序,业务顾问要求取客户未清账来做数据出处理生成报表,业务顾问想的也很简就是给个日期,取未清数据,我也没仔细考虑,直接就取了BSID里的未清来处理,结果测试不全,传到生产机才发现, 业务顾问要求的是给定日期,查此日期前的未清,这一小改变,影响就大了,取BSID明显是达不到要求的了,一开始想自己写程序逻辑取数,当业务顾问提到查出来的凭证要一标准事务码FBL5N的结果一样。 所以就想直接调用FBL5N的程序:RFITEMAR ,然后得到其中的ALV内表的数据,然后再来处理,这样结果就与FBL5N的结果一样了,并且还省得自己整理取数据逻辑,省心, 以下是一个简单的调用....Read More >
2020
04-23

RANGES定义及管理使用 HOT

在使用时,有时需要预定义一个RANGES或者说一个字符串之类的变量保存起来,方便使用时使用,此变量也就相当于在SAP的全局变量 ,可以在SAP的任何程序中使用,并且方便维护定义。 以下相关的几种方法,可以定义RANGS,使用时可根据需要选择, 一、自定RANGES表, 1.自定程序调用COMPLEX_SELECTIONS_DIALOG函数维护RANGES, [crayon-66a4beacbeda2084559797/] 2.保存到自定义表中。 3,使用时直接从自定义表中SELECT出来到RANGES中使用。 二、使用GS01创建集, 1.使用....Read More >