RFC 操作的消息架构
适用于 mySAP Business Suite 的 Microsoft BizTalk 适配器将 SAP 远程函数调用 (RFC) 显示为操作。 本主题包含有关用于 RFC 操作的消息架构和消息操作的信息。 入站和出站 RFC 操作的消息结构相同。 有关适配器支持的 RFC 操作的概述,请参阅 SAP 中 RFC 的操作。
还可以在适配器上调用 BAPI 作为 RFC 操作。 本主题包含此类调用的消息结构示例。
RFC 操作的消息结构
下表显示了 RFC 消息架构。 每个 RFC 操作由请求消息和答复 (响应) 消息组成。
Message | XML 消息结构 | 说明 |
---|---|---|
RFC ([RFC_NAME]) |
<[RFC_NAME] xmlns="[VERSION]/Rfc/"> <IN1_PARAM_NAME>v1</IN1_PARAM_NAME> <IN2_PARAM_NAME>v2</IN2_PARAM_NAME> … <INOUT1_PARAM_NAME>v3</INOUT1_PARAM_NAME> <INOUT2_PARAM_NAME>v4</INOUT2_PARAM_NAME> … <TABLE1_PARAM_NAME xmlns="[VERSION]/Types/Rfc/"> <STRUCT1_PARAM_NAME> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </STRUCT1_PARAM_NAME> … </TABLE1_PARAM_NAME> … </[RFC_NAME]> |
在 SAP 系统上调用 RFC。 - 支持导入、更改和表参数。 - 导入和更改参数可以是 SAP 结构类型、SAP 表类型或 SAP 简单数据类型。 |
RFC 响应 ([RFC_NAME]响应) | <[RFC_NAME]Response xmlns="[VERSION]/Rfc/"> <OUT1_PARAM_NAME>v1</OUT1_PARAM_NAME> <OUT2_PARAM_NAME>v2</OUT2_PARAM_NAME> … <INOUT1_PARAM_NAME>v3</INOUT1_PARAM_NAME> <INOUT2_PARAM_NAME>v4</INOUT2_PARAM_NAME> … <TABLE1_PARAM_NAME> <STRUCT1_PARAM_NAME> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </STRUCT1_PARAM_NAME> … </TABLE1_PARAM_NAME> … </[RFC_NAME]Response> |
RFC 返回。 - 支持导出、更改和表参数。 注意: 默认情况下,表参数不会显示在响应消息中。 如果在响应消息中需要表参数,则必须在请求消息中传递空的表参数。 - 导入和更改参数可以是 SAP 结构类型、SAP 表类型或 SAP 简单数据类型。 |
RfcGetAttributes (RfcGetAttributes) |
<RfcGetAttributes> </RfcGetAttributes> |
RfcGetAttributes 是由 SAP 适配器显示的 RFC SDK API 操作。 RfcGetAttributes 操作使客户端程序能够检索与 RFC 连接关联的语言、系统 ID 和合作伙伴代码页。 |
RfcGetAttributes 响应 (RfcGetAttributesResponse) |
<RfcGetAttributesResponse> <Language>lang</Language> <SysId>id</SysId> <PartnerCodePage>pnrcp</PartnerCodePage> </RfcGetAttributesResponse> |
对 RfcGetAttributes 操作的响应返回与 RFC 连接关联的语言、系统 ID 和合作伙伴代码页。 |
[VERSION] = 消息版本字符串;例如 , http://Microsoft.LobServices.SAP/2007/03
。
[RFC_NAME] = RFC 的名称;例如,RFC_CUSTOMER_GET。
[IN_PARAM_NAME] = RFC 导入参数的名称。
[OUT_PARAM_NAME] = RFC 导出参数的名称。
[INOUT_PARAM_NAME] = RFC Changing 参数的名称。
[TABLE_PARAM_NAME] = RFC Table 参数的名称。
[STRUCT_PARAM_NAME] = RFC 结构参数的名称。
RFC 操作的消息操作
下表显示了 RFC 操作的消息操作。
操作 | 消息操作 | 示例 |
---|---|---|
[RFC_NAME] | [VERSION]/Rfc/[RFC_NAME] | http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET |
[RFC_NAME]响应 | [VERSION]/Rfc/[RFC_NAME]/response | http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET/response |
RfcGetAttributes | [VERSION]/RfcGetAttributes | http://Microsoft.LobServices.Sap/2007/03/RfcGetAttributes |
RfcGetAttributes 响应 | [VERSION/RfcGetAttributes/response | http://Microsoft.LobServices.Sap/2007/03/RfcGetAttributes/response |
[VERSION] = 消息版本字符串;例如 , http://Microsoft.LobServices.Sap/2007/03
。
[RFC_NAME] = 要调用的 RFC 的名称;例如,RFC_CUSTOMER_GET。
将 BAPI 作为 RFC 操作调用
SAP 适配器将 BAPI 作为 RFC 操作和业务对象的方法显示。 作为 RFC 操作,BAPI 按名称呈现。 有关使用业务对象接口调用 BAPI 的详细信息,请参阅 SAP 中 BAPI 的操作。
以下 XML 显示作为 RFC 调用的 BAPI (BAPI_CUSTOMER_GETDETAIL2) 的消息结构。 此操作的消息操作为: http://Microsoft.LobServices.Sap/2007/03/Rfc/BAPI_CUSTOMER_GETDETAIL2
。
<BAPI_CUSTOMER_GETDETAIL2 xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
<COMPANYCODE>1001</COMPANYCODE>
<CUSTOMERNO>0000001001</CUSTOMERNO>
<CUSTOMERBANKDETAIL>
<BAPICUSTOMER_02 xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
<CUSTOMER />
<BANK_CTRY />
<BANK_KEY />
<BANK_ACCT />
<CTRL_KEY />
<PARTNER_BK />
<COLL_AUTH />
<BANK_REF />
</BAPICUSTOMER_02>
</CUSTOMERBANKDETAIL>
</BAPI_CUSTOMER_GETDETAIL2>