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>  

另请参阅

适用于 mySAP Business Suite 的 BizTalk 适配器的消息和消息架构