首页 > SAP > ABAP > 接口报文保存到内表中
2020
05-28

接口报文保存到内表中

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

所以考虑在接收到报文时,把接收到的报文(结构化数据)保存到内表中,然后在需要再次发送出去时,从内表中取出数据,并做必要的整理,然后再发送出去。

1.1.创建保存报文的内表,

可参考(复制)系统中的标准内表:INDX创建新的内表(比如我的ZSDT_XDATA),并加入自己必要的检索字段(比如业务数据的关键KEY值)。

接口报文保存到内表中 - 第1张  | 优通SAP

2.2.把结构化对像结构存储到内表中

如下面的代码,主要使用  EXPORT TO DATABASE语句,把INPUT结构内容存入表透明表ZSDT_XDATA中,其中的01,表示表中的RELID字段的值,可用此值来区分不同的接口,

3.3.从内表中读到数据到结构化的结构中。

其中I_SRTFD为表ZSDT_XDATA中的SRTFD关键字段值,也就业务中报文的主键值

通过这种方式,就能把内表(多级内容嵌套),或者是结构(结构中可能还包含内表)保存到内表中,并且还保存的数据的结构化,也就是保存了结构化的数据,同时也相当于保存了报文的XML文件了,

此功能也可以用作长文件的的保存,比如,可以把EXEC,WORD等长文件文件导入文本内表中,然后把此内表附值给一个结构的字段,保存此结构到ZSDT_XDATA就行了。

4.注:此保存的是结构化的数据

最后编辑:
作者:yangsen
有需要可在文章留言或者邮件yan252@163.com给我。

留下一个回复

你的email不会被公开。

two × three =