sap abap idoc从0-1配置教你学会idoc技术

什么是idoc

IDoc:intermediate(媒介)document

 

IDoc是一种系统间通用的数据交换格式,通过IDoc接口可以实现SAP系统之间以及SAP系统与其他系统之间的数据交换。基于IDoc的应用技术有:ALE:多用于同一个企业中不同SAP系统之间的数据交换,通过IDoc格式的数据创建分布式系统 。EDI(electronic data exchange,电子数据交换):用于实现不同企业间的电子数据交换。

此篇只讲解出战idoc

入站请查看下一篇文章。

 配置idoc

定义逻辑系统

事务码:sale

在定义逻辑系统里面定义我们自己需要的。请注意(根据你项目上的需求定制)。

配置逻辑系统

事务码:we20

新建你的合作伙伴编号。建完以后暂时留着等会要用

使用RFC链接你的目标系统

事务码:SM59

注意我这个是从sap到sap的链接,此处的链接要根据你得实际业务去进行配置

此处是我的目标系统的账户名和密码

填写完成以后,我们进行测试链接

出现下面的界面表示你成功了

配置事务性RFC

事务码:WE21

无论你是出战还是入站你都要选择事务性RFC。

让他自己生成端口名称,保证不会重复

注意:当你创建的时候会有版本,版本不一样,idoc数据的表也不一样。如果想知道存入那些表。可自行百度

以上你配置完成,恭喜你你得idoc已经配置80%了

接下来很重要请跟进操作。!!!!!!!!

新建段类型

事务码:WE31

WE30创建自定义的类型

进去以后有个新建点击新建将你刚刚创建的段类型添加进去。

创建消息类型

事务码:WE81

点击新条目,创建你自己的消息类型名字随便起。

分配消息类型

事务码:WE82

消息类型有很多,有系统自己带的。但是有时候系统自带的不能满足我们的需求需要自己定义消息类型。

创建完成以后我们可以去看看我们自己创建的消息类型

事务码:WE81

可以定位到我们刚刚创建的名称

以上创建完成。去使用我们的消息类型

事务码:WE20

细心的小伙伴可以查看到他是有进站和出战的,此篇只配置出战。

点击新建创建你出战的类型和配置。

以上配置完成可以进行一个代码的编写了

 

下面编写出战代码

REPORT ZHANG_IDOC1.

DATA: LV_ZKNA1 TYPE zhang_idoc,
      LV_EDIDC TYPE EDIDC,
      GT_EDIDC TYPE TABLE OF EDIDC,
      GT_EDIDD TYPE TABLE OF EDIDD WITH HEADER LINE.

CLEAR LV_EDIDC.

LV_EDIDC-MESTYP = 'ZHANG_NAME1'.
LV_EDIDC-IDOCTP = 'ZHANG_IDOC'.
LV_EDIDC-RCVPRT = 'LS'.
LV_EDIDC-RCVPRN = 'ZHANG_IDOC'.

CLEAR GT_EDIDD.
GT_EDIDD-SEGNAM = 'ZHANG_NAME'.
GT_EDIDD-DTINT2 = 0.
LV_ZKNA1-name = 'Y000001'.
LV_ZKNA1-age = 10.

GT_EDIDD-SDATA = LV_ZKNA1.
APPEND GT_EDIDD.

CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
  EXPORTING
    MASTER_IDOC_CONTROL            = LV_EDIDC
  TABLES
    COMMUNICATION_IDOC_CONTROL     = GT_EDIDC
    MASTER_IDOC_DATA               = GT_EDIDD
  EXCEPTIONS
    ERROR_IN_IDOC_CONTROL          = 1
    ERROR_WRITING_IDOC_STATUS      = 2
    ERROR_IN_IDOC_DATA             = 3
    SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
    OTHERS                         = 5.

IF SY-SUBRC <> 0.
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
  COMMIT WORK.
ENDIF.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值