SAP(IDoc)快速开始


在SAP中,IDocs(Intermediate Document) 是应用于SAP和非SAP系统间异步通信的规范性文件。IDocs类似于EDI 文件,常用于交换企业信息系统间销售订单,账单,装运单等信息。
IDoc 端口可从SAP系统发送和接收IDoc类型的文件,支持XML IDoc 和raw IDoc。


RSSBus Connect™ 的 SAP 组件"ERP(SAP) Integrator"获得 SAP 官方认证。( SAP 证书

连接 SAP 系统

通过以下方式可实现RSSBus Connect与 SAP系统的连接,在Connect Type列表中可以根据所使用的应用平台选择相应的连接类型:

Windows
  • NetWeaver RFC SDK
  • Classic RFC SDK
  • Classic RFC SDK with Unicode Support
  • SOAP (Send-only)
  • Java
  • Java Connector (JCO)
  • SOAP (Send-only)
  • NetWeaver RFC SDK使用方法

    将下列NetWeaver RFC SDK库保存于RSSBus Connect下的www文件夹中:

  • sapnwrfc.dll
  • icudt30.dll
  • icuin30.dll
  • icuuc30.dll
  • libicudecnumber.dll
  • Libsapucum.dll
  • “.dll文件名”取决于SAP RFC SDK安装版本,不同的版本中文件名可能会不同。上例中dll文件来自3.0版本。
    为了使NetWeaver SDK connection在客户端正常工作,请将”sapgw00” service添加到列出项(listed services)且储存于路径”C:\Windows\System32\drivers\etc\services”。

    Classic RFC SDK使用方法

    Non-Unicode库类型仅需要librfc32.dll文件。将librfc32.dll文件保存于RSSBus Connect的www文件夹下。请注意,32位和64位系统都支持并提供这些类库,此操作时使用的平台系统必须和处理时的系统一致。如果这个程序运行在Window 64位系统上,那么相应的处理过程也是64位。
    Classic RFC SDK(Unicode)使用方法
    将下列SAP RFC SDK 库保存于RSSBus Connect程序的www文件夹下:

  • librfc32u.dll
  • icudt30.dll
  • icuin30.dll
  • icuuc30.dll
  • “.dll文件名”取决于SAP RFC SDK安装版本,不同的版本中文件名可能会不同,上例中文件来自于3.0版本。
    另外,32位和64位系统都支持且提供这些类库,操作时使用的平台系统必须和处理时的系统一致。如果这个程序运行在Window 64位系统上,那么相应的处理过程也是64位。

    Java Connector使用方法

    为了使用Java Connector,请将sapjco3.jar 文件添加到Java servlet container的lib文件夹下。

    SOAP使用方法

    SOAP仅适用于发送IDocs文件到SAP系统,为了同时能接收到文件,还需要配置一个不同的连接方式。
    上述功能需要在SAP 系统中启用SOAP的连接方式。


    登录 SAP 系统

    连接SAP系统需完成以下设置。

  • SAP Host:目标系统的主机名称。主机名是定义在“host”文件中的常规名称,如IP address“123.123.123.123”,或SAProuter address“/H/hostname/S/port/H/host/S/port/…”
  • System Number:定义的目标系统号有效值范围为0-99,通常情况此值为零。
  • Client:SAP系统的客户端验证信息。
  • User:SAP系统的用户名验证信息。
  • Password:SAP系统的密码验证信息。
  • 接收来自SAP的IDocs

    除了SAP的连接设置,需要为RSSBus Connect创建RFC destination。在接收端(Receiver)选项,请选择启用IDoc Receiver选项并输入注册SAP系统时的Program ID。

    Gateway网关

    当通过网关(Gateway)连接SAP时,请在IDoc Port下高级选项(Advanced tab)里配置可用的网关。

    Load Balancing

    通过Load Balancing登录时,请在IDOC Port下Advanced->Load Balancing 选项完成属性配置。

    安全网络通信(SNC)

    可通过高级选项(Advanced tab)启用安全网络通信(SNC),将SNC 库设置为所需连接SAP系统时的SNC 库的 .dll文件。


    发送 IDoc 到 SAP 系统

    当配置IDoc端口并连接到SAP系统后,可尝试发送IDoc文件到SAP系统。发送的文件类型支持raw IDoc或XML IDoc。
    发送到SAP系统的IDoc文件,需要设置控制记录(Control Record)信息,如DOCREL,SNDPOR,SLDPRT等等。可在IDoc Port->settings页面下的“Control Record Information”中完成配置,使配置系统处理出站IDocs文件的过程更加简单。
    在发送IDoc文件之前,必须确保在SAP系统中正确配置了合作伙伴的信息。如果SAP系统中没有任何合作伙伴的信息,将无法匹配所发IDoc文件中的控制记录(Control Record)信息,系统将不会处理数据。下列测试部分中包含更多配置合作伙伴的信息。

    T-Code WE60可用于查找不同的IDoc类型的数据段(segment)文件。

    测试发送IDoc到SAP

    为了测试发送IDoc文件到SAP,首先需要在SAP系统中为RSSBus Connect配置一个交易伙伴信息。如下步骤将说明如何进行设置,以ORDERS IDoc为例:

    创建交易伙伴信息:通过T-Code WE20定义一个交易伙伴文件,将Customer项设为Partner Type=KU,并为Partner NO.设置一个有效的客户编号。

    为ORDERS文件添加一个入站参数(inbound parameters)值,该文件的消息类型为ORDERS,可以在Inbound Options tab栏中查找到。另外,需要将process code设置为ORDE是为了告诉 SAP系统如何在收到采购单ORDERS文件时创建一个销售订单。

    分配客户到销售部门:需要将上一步配置的客户信息分配给相应的分销渠道,销售组织和部门。打开交易(号)VOE2然后在EDSDC界面设置这些信息。


    接收来自 SAP 系统的 IDoc

    当配置IDoc端口并连接到SAP系统后,就可以接收来自SAP系统的IDoc文件。支持的文件类型包含raw IDoc,XML IDoc.
    SAP系统发送IDoc文件时需要为RSSBus Connect创建一个RFC destination。在端口设置页面,可以选择启用IDoc Receiver并输入为RSSBus Connect 注册的Program ID。

    测试从SAP发送IDoc

    按照下列步骤配置SAP系统并发送MATMAS IDoc文件到RSSBus Connect。

    一 定义逻辑系统:进入transaction SALE界面,选择Basic Settings -> Logical Systems -> Define Logical System。然后创建一个包含有效名称的新条目(比如,RSSBUS)和描述信息。
    二 创建RFC destination:打开T-Code SM59界面并单击创建选项,填入如下RFC destination信息:

    1. RFC Destionation:要求名称唯一(比如RSSBus_DEST)
    2. Connection Type:’T'表示TCP/IP
    3. Description:对RFC Destionation的描述
    4. Programe Id:在RSSBus Connect识别RFC destination的唯一名称
    5. Activation Type:选择注册的服务器程序


    当保存上述设置后,可进行连接测试,确认是否能成功连接到RSSBus Connect。

    三 创建处理端口:使用T-code WE21,用上一步创建的唯一的名称和描述生成一个新的RFC端口。

    四 创建交易伙伴信息:使用T-Code WE20,为第一步添加的逻辑系统(logical system)创建交易伙伴信息(Partner Profile)。然后为MATMAS 添加一个出站参数(outbound parameter),消息类型为MATMAS。在Outbound选项部分,接收端口(receiver port)的设置必须和第三步的设置一致,输出模式必须设为“Transfer IDoc Immed”,且IDoc基本类型应设为MATMAS05。

    五 发送IDoc测试文件:使用T-Code BD10向RSSBus Connect发送一个IDoc测试文件,需指定物料号(material number)。在发送消息前,需设置消息类型(Message Type)和逻辑系统(Logical System)信息。

    用户可以通过使用T-Code BD87来监控出站信息(outgoing messages)的发送情况。必要的话需做进一步的处理。


    常见 IDoc 列表

    如下是常用IDoc message 类型以及相对应的EDIFACT和X12协议编号。此列表仅供参考且并未存在IDocs和EDIFACT/X12间官方的映射方式。

    MsgType BasicType Description EDIFACT X12
    ACLPAY ACLPAY01 Freight invoice INVOIC 210
    CREADV PEXR2002 Credit advice CREADV 812
    CREADV PEXR2002 Extended credit advice CREEXT 812
    CREADV PEXR2002 Multiple credit advice CREMUL 812
    CREMAS CREMAS04 Vendor/org. info PARTIN 816
    DEBADV PEXR2002 Debit advice DEBADV 812
    DEBADV PEXR2002 Multiple debit advice DEBMUL 812
    DEBMAS DEBMAS06 Customer/org. info PARTIN 816
    DELFOR DELFOR01 Delivery schedule DELFOR 830
    DELINS DELFOR02 Delivery schedule DELFOR 830, 862
    DELJIT DELFOR01 Just in time delivery DELJIT 830, 862
    DELORD ORDERS05 Delivery request ORDERS 830, 850
    DESADV DELVRY03 Delivery (dispatch advice) DESADV 856, 940
    DIRDEB PEXR2002 Direct debit DIRDEB 828
    DIRDEB PEXFI03 Direct debit DIRDEB 828
    FINSTA FINSTA01 Financial statement FINSTA 821, 822
    GSVERF GSVERF03 Credit memo procedure ORDERS 861
    IFTMIN SHPMNT04 Forwarding order IFTMIN 204, 304
    INVOIC INVOIC02 Vendor invoice INVOIC 810, 880
    LOCKBX FINSTA01 Lockbox PAYORD 823
    MBGMCR MBGMCR03 Post goods mvmt. & PGI Del RECADV 856, 867, 945
    MBGMCR MBGMCR03 Goods mvmt. & goods receipt PO RECADV 867, 944
    ORDCHG ORDERS05 PO change request ORDCHG 860, 876
    ORDERS ORDERS05 Customer PO ORDERS 850, 875
    ORDRSP ORDERS05 PO confirm ORDRSP 855, 865
    PAYEXT PEXR2002 Extended payment order PAYEXT 820
    PAYEXT PEXR2002 Multiple payment order PAYMUL 820
    PAYEXT PEXR2002 Payment order PAYORD 820
    PROACT PROACT01 Inventory report INVRPT 846, 852
    PROACT PROACT01 Sales forecast SLSFCT 852
    PROACT PROACT01 Sales report SLSRPT 852
    REMADV PEXR2002 Credit advice CREADV 820
    REMADV PEXR2002 Payment advice REMADV 820
    REQOTE ORDERS05 Response to request for quotation REQOTE 840
    SDPICK SDPIID01 Pick/ship confirm & PGI RECADV 856, 867, 945
    SHPADV SHPMNT05 Advanced ship notification SHPMNT 856
    SHPCON DELVRY03 Ship confirm/PGI RECADV 856, 867, 945
    SHPMNT SHPMNT05 Advanced ship notification SHPMNT 856
    SHPORD DELVRY03 Delivery dispatch order DESADV 830, 850, 856, 940
    STATUS SYSTAT01 Acknowledgement CONTRL 997
    STATUS SYSTAT01 Functional acknowledgement FUNACK 997
    TXTRAW TXTRAW02 Error report (text msg.) APERAK 824, 864
    TXTRAW TXTRAW02 Error report (text msg.) GENRAL 824, 864
    WHSCON DELVRY03 Stock confirmation & PGI RECADV 856, 867, 945
    WHSORD DELVRY03 Delivery stock order DESADV 940
    WMTORD WMTOID02 Transport request (goods mvmt.) RECADV 856, 867, 945
    WMMBXY WMMBID02 Post goods receipt (goods mvmt.) RECADV 867, 940, 945