阅读有关 mySAP Business Suite 绑定属性的 BizTalk 适配器的信息
适用于 mySAP Business Suite 的 Microsoft BizTalk 适配器显示多个绑定属性,使你能够控制其某些运行时和设计时行为。 本部分介绍这些绑定属性,并提供指向说明如何设置这些属性的主题的链接。
SAP 适配器绑定属性
下表显示了按类别分组的 SAP 适配器绑定属性。 类别是指每个绑定属性显示在对话框中的节点,这些对话框由不同应用程序提供,用于配置适配器 (SAPBinding) 。
CloseTimeout 绑定属性:指定 WCF 连接关闭超时。 默认值为 1 分钟。
- 类别:常规
- .NET 类型:System.DateTime
DataTypesBehavior 绑定属性:SAP 系统不强制为 DATS、TIMS 和 NUMC 字段指定正确的值。 因此,如果 DATS、TIMS 和 NUMC 字段的 SAP 数据存储中存在无效值,并且客户端程序尝试使用 SAP 适配器读取值,则适配器将引发异常。
- 类别:常规
- .NET 类型:Microsoft.Adapters.SAP.SapDataTypesBehavior
SAP 系统具有特殊值,用于表示没有等效 .NET 类型的 DATS、TIMS 和 NUMC 字段的最小值和最大值。 例如,DATS 字段的最小值和最大值分别为 00000000 和 99999999,其中没有等效的 .NET 类型 DateTime。 此外,将 DATS 字段的最小值和最大值转换为 DateTime.MinValue 和 DateTime.Max 值是不可行的,因为 DATS 字段的最小值或最大值与 .NET DateTime 类型的最小值或最大值不同。
若要使适配器客户端能够在 SAP 系统中遇到特殊值时控制适配器行为,可以设置 DataTypesBehavior 绑定属性。 这是具有以下子属性的复杂绑定属性:
DateTimeMaxToDats:指定适配器客户端发送值 DateTime.MAX(即“9999-12-31T23:59:59.999999999”)时适配器发送 DATS 值的行为。 可以将此值设置为以下值:
- 错误:设置为此时,如果客户端程序发送 DateTime.MAX 值,适配器将引发错误。
- <值>:设置为此值时,如果客户端程序发送 DateTime.MAX 值,适配器会将指定的值发送到 SAP。 默认值为 99991231。
DateTimeMaxToTims:指定适配器客户端发送值 DateTime.MAX(即“9999-12-31T23:59:59.999999999”)时适配器发送 TIMS 值的行为。 可以将此值设置为以下值:
- 错误:设置为此时,如果客户端程序发送 DateTime.MAX 值,适配器将引发错误。
- <值>:设置为此值时,如果客户端程序发送 DateTime.MAX 值,适配器会将指定的值发送到 SAP。 默认值为 235959。
DateTimeMinToDats:指定适配器客户端发送 DateTime.MIN 值(即“0001-01-01T00:00:00”)时适配器发送 DATS 值的行为。 可以将此值设置为以下值:
- 错误:设置为此时,如果客户端程序发送 DateTime.MIN 值,适配器将引发错误。
- <值>:设置为此值时,如果客户端程序发送 DateTime.MIN 值,适配器会将指定的值发送到 SAP。 默认值为 00010101。
DateTimeMinToTims: 指定适配器客户端发送值 DateTime.MIN(即“0001-01-01T00:00:00”)时适配器发送 TIMS 值的行为。 可以将此值设置为以下值:
- 错误:设置为此时,如果客户端程序发送 DateTime.MIN 值,适配器将引发错误。
- <值>:设置为此值时,如果客户端程序发送 DateTime.MIN 值,适配器会将指定的值发送到 SAP。 默认值为 000000。
DateTimeNullToDats: 指定适配器客户端发送 NULL DateTime 值时适配器发送 DATS 值的行为。 可以将此值设置为以下值:
- 错误:设置为此时,如果客户端程序发送 NULL DateTime 值,适配器将引发错误。
- SKIP (默认) :设置为此时,如果客户端程序发送 NULL DateTime 值,适配器将跳过字段,并且不会向 SAP 发送任何值。
- <值>:设置为此值时,如果客户端程序发送 NULL DateTime 值,适配器会将指定的值发送到 SAP。
DateTimeNullToTims: 指定适配器客户端发送 NULL DateTime 值时适配器在发送 TIMS 值时应遵循的行为。 可以将此值设置为以下值:
- 错误:设置为此时,如果客户端程序发送 NULL DateTime 值,适配器将引发错误。
- SKIP (默认) :设置为此时,如果客户端程序发送 NULL DateTime 值,适配器将跳过字段,并且不会向 SAP 发送任何值。
- <值>:设置为此值时,如果客户端程序发送 NULL DateTime 值,适配器会将指定的值发送到 SAP。
DatsMaxToDateTime: 指定适配器在收到 DATS 时检索 DateTime 值时适配器应遵循的行为。SAP 中99999999的 MAX 值。 可以将此值设置为以下值:
- 错误 (默认) :设置为此时,适配器在收到 DATS 时引发错误。SAP 中的最大值。
- NULL:设置为此时,如果适配器收到 DATS,则返回 NULL。SAP 中的最大值。
- <值>:设置为此值时,适配器将分析 XSD:DateTime 格式的指定值,并将其返回到客户端程序。
DatsMinToDateTime: 指定适配器在收到 DATS 时检索 DateTime 值时适配器应遵循的行为。SAP 的 MIN 值为 00000000。 可以将此值设置为以下值:
- 错误:设置为此时,适配器在收到 DATS 时引发错误。SAP 的 MIN 值。
- NULL:设置为此时,如果适配器收到 DATS,则返回 NULL。SAP 的 MIN 值。
- <值>:设置为此值时,适配器将分析 XSD:DateTime 格式的指定值,并将其返回到客户端程序。
默认值为:
- BizTalk Server 2020 CU1 及更早版本:错误。
- BizTalk Server 2020 CU2 及更新:0001-01-01T00:00:00。
EmptyDatsToDateTime: 指定适配器从 SAP 接收空 DATS 值时适配器检索 DateTime 值时应遵循的行为。 可以将此值设置为以下值:
- 错误:设置为此时,如果适配器从 SAP 收到空 DATS 值,则会引发错误。
- NULL:设置为此时,如果适配器从 SAP 收到空的 DATS 值,则它将返回 NULL。
- <值>。 如果设置为此,适配器将分析 XSD:DateTime 格式的指定值,并将其返回到客户端程序。 默认值为 0001-01-01T00:00:00。
EmptyNumcToInt: 指定适配器在从 SAP) 的所有空间收到空 NUMC 值时,适配器应遵循的行为来检索整数 (值。 可以将此值设置为以下值:
- 错误:设置为此时,如果适配器从 SAP 收到空 NUMC 值,则适配器将引发错误。
- NULL:设置为此时,如果适配器从 SAP 收到空 NUMC 值,则它将返回 NULL。
- <值>。 如果设置为此值,适配器假定指定的值是有效的 Int32 或 Int64 值,并将其返回到客户端程序。 默认为 0。
EmptyTimsToDateTime: 指定适配器从 SAP 接收空 TIMS 值时适配器检索 DateTime 值时应遵循的行为。 可以将此值设置为以下值:
- 错误:设置为此时,如果适配器从 SAP 收到空的 TIMS 值,则会引发错误。
- NULL:设置为此时,如果适配器从 SAP 收到空的 TIMS 值,则它将返回 NULL。
- <值>。 如果设置为此,适配器将分析 XSD:DateTime 格式的指定值,并将其返回到客户端程序。 默认值为 0001-01-01T00:00:00。
InvalidDatsToDateTime: 指定适配器从 SAP 收到无效 DATS 值时,适配器在检索 DateTime 值时应遵循的行为。 可以将此值设置为以下值:
- 错误 (默认) :设置为此时,如果适配器从 SAP 收到无效的 DATS 值,则会引发错误。
- NULL:设置为此时,如果从 SAP 收到无效的 DATS 值,适配器将返回 NULL。
- <值>。 如果设置为此,适配器将分析 XSD:DateTime 格式的指定值,并将其返回到客户端程序。
InvalidNumcToInt: 指定适配器从 SAP 收到无效 NUMC 值时适配器检索整数值时应遵循的行为。 可以将此值设置为以下值:
- 错误:设置为此时,如果适配器从 SAP 收到无效的 NUMC 值,则会引发错误。
- NULL:设置为此时,如果从 SAP 收到无效 NUMC 值,适配器将返回 NULL。
- <值>。 如果设置为此值,适配器假定指定的值是有效的 Int32 或 Int64 值,并将其返回到客户端程序。 默认为 0。
TimsMaxToDateTime: 指定适配器在收到 TIMS 时检索 DateTime 值时应遵循的行为。SAP 中的最大值。 可以将此值设置为以下值:
- 错误 (默认) :设置为此值时,如果适配器收到 TIMS,则会引发错误。SAP 的最大值。
- NULL:设置为此时,如果适配器收到 TIMS,则返回 NULL。SAP 的最大值。
- <VALUE>。 设置为此时,适配器将分析 XSD:DateTime 格式的指定值,并将其返回给客户端程序。
名称 绑定属性:不支持。
- 类别:常规
- .NET 类型:字符串
OpenTimeout 绑定属性:指定 WCF 连接打开超时。 默认值为 1 分钟。
- 类别:常规
- .NET 类型:System.DateTime
ReceiveTimeout 绑定属性:指定 WCF 消息接收超时。 从本质上讲,这意味着适配器等待入站消息的最长时间。 默认值为 10 分钟。
- 类别:常规
- .NET 类型:System.DateTime
对于接收 IDOC 等入站操作,建议将超时设置为可能的最大值;24.20:31:23.6470000 (24 天) 。 将适配器与 BizTalk Server 配合使用时,将超时值设置为大值不会影响适配器的功能。
SendTimeout 绑定属性:指定 WCF 消息发送超时。 默认值为 1 分钟。
- 类别:常规
- .NET 类型:System.DateTime
EnableBizTalkCompatiblityMode 绑定属性:指定是否应加载 BizTalk 分层通道绑定元素。 加载 BizTalk 分层通道绑定元素,使 BizTalk 事务能够通过 SAP 适配器流向 SAP 系统。
- 类别:BizTalk
- .NET 类型:bool (System.Boolean)
需要了解的内容:
- 将此设置为 true 以加载绑定元素。 否则,请将此项设置为 false。
- 使用 BizTalk Server 中的适配器时,必须始终将 属性设置为 true。 使用 Visual Studio 中的适配器时,必须始终将 属性设置为 false。
EnableBusinessObjects 绑定属性:此属性已弃用。 使用“添加适配器服务引用插件”或“使用适配器服务加载项”浏览元数据时,适配器始终显示 BAPI 节点。 该行为与在 BizTalk 适配器包版本 1.0 中将 EnableBusinessObjects 设置为 true 相同。
- 类别:Bapi
- .NET 类型:bool (System.Boolean)
EnableConnectionPooling 绑定属性:指定是否启用 SAP 适配器连接池。 默认值为 true,指定启用连接池。
- 类别:连接
- .NET 类型:bool (System.Boolean)
IdleConnectionTimeout 绑定属性:指定 SAP 适配器空闲连接超时。 当池中的连接处于空闲状态 (未使用) 超过此超时时间时,将释放该连接。 默认值为 15 分钟。 空闲连接超时仅适用于池中未使用的连接。 它不会影响可能正在等待数据的活动 (打开) 连接。
- 类别:连接
- .NET 类型:System.DateTime
MaxConnectionsPerSystem 绑定属性:指定 SAP 适配器连接池中的最大连接数。 默认值为 50。 MaxConnectionsPerSystem 是应用程序域中的静态属性。 这意味着,在应用程序域中更改一个绑定实例的 MaxConnectionsPerSystem 时,新值将应用于从该应用程序域中的所有绑定实例创建的所有对象。
- 类别:连接
- .NET 类型:int (System.Int32)
默认情况下,SAP 客户端库 (librfc32u.dll) 最多支持与 SAP 系统建立 100 个连接。 如果超过此连接数,SAP 适配器将引发异常。 因此,不应将 MaxConnectionsPerSystem 设置为大于 SAP 客户端库支持的连接数的值。 可以通过设置 环境变量来增加 SAP 客户端库支持的连接数,CPIC_MAX_CONV。 设置此变量后,必须重新启动计算机,更改才会生效。
RfcAllowStartProgram 绑定属性:指定 RFC 客户端库可以启动的外部程序(如果 RFC 合作伙伴需要)。 例如,如果要调用在内部调用运行适配器客户端的计算机上的程序的 RFC,则必须为此绑定属性指定该程序的名称。
- 类别:连接
- .NET 类型:字符串
需要了解的内容:
如果要为此绑定属性指定多个程序,则必须用分号分隔它们。 例如,如果要指定
sapftp
和saphttp
程序,则必须将其指定为sapftp;saphttp
。此外,请确保满足以下条件:
- RFC 所需的外部程序在运行适配器客户端的计算机上可用。
- 外部程序的位置存在于运行适配器客户端的计算机上的 PATH 变量中。
例如,BAPI_DOCUMENT_CHECKOUTVIEW2在内部执行程序
sapftp
。 因此,在调用此 RFC 时,必须将 RfcAllowStartProgram 绑定属性设置为sapftp
。 还必须确保sapftp
程序在本地可用,并且程序的位置sapftp
已添加到运行适配器客户端的计算机上的 PATH 变量中。ConnectorType 绑定属性:选择使用经典 RFC 连接到 SAP,或使用 SAP Connector for .NET (NCo) 。
- 类别:ConnectorType
- .NET 类型:
EnablePerformanceCounters 绑定属性:指定是否启用 WCF LOB 适配器 SDK 性能计数器和 SAP 适配器 LOB 延迟性能计数器。 默认值为 false;已禁用性能计数器。 LOB 延迟性能计数器测量 SAP 适配器在调用 SAP 系统时所用的总时间。
- 类别:诊断
- .NET 类型:bool (System.Boolean)
EnablePerformanceCounters 是 WCF LOB 适配器 SDK 性能计数器的应用程序域中 (应用域) 的静态属性,但它是适配器的 LOB 延迟性能计数器的实例属性。 这意味着,更改应用域中绑定实例的 EnablePerformanceCounters 将:
- 为从同一应用域中的所有绑定实例创建的所有对象启用或禁用 WCF LOB 适配器 SDK 性能计数器。
- 仅对更改后从该绑定实例创建的对象启用或禁用适配器的 LOB 延迟性能计数器。
AutoConfirmSentIdocs 绑定属性:指定 SAP 适配器是否自动提交 tRFC 客户端调用用于发送 IDocs。 默认值为 false;已禁用自动提交。 如果禁用自动提交,客户端应用程序必须通过调用 RfcConfirmTransID 操作显式提交 tRFC 调用。 RfcConfirmTransID 操作是由 SAP 适配器呈现的特殊操作。 使用添加适配器服务引用 Visual Studio 插件或使用适配器服务 BizTalk 项目加载项时,它将显示在 TRFC 节点下。
- 类别:Idoc
- .NET 类型:bool (System.Boolean)
PadReceivedIdocWithSpaces 绑定属性:指定 ReceiveIdoc 操作返回的每一行是否用空格填充到正确的长度。 默认值为 false;行未填充。
- 类别:Idoc
- .NET 类型:bool (System.Boolean)
EnableSafeTyping 绑定属性:启用或禁用安全键入。 默认值为 false;安全键入已禁用。 此功能控制适配器如何显示某些 SAP 数据类型。 有关安全键入的详细信息,请参阅 基本 SAP 数据类型。
- 类别:元数据
- .NET 类型:bool (System.Boolean)
FlatFileSegmentIndicator 绑定属性:指定 appinfo> 标记应<包含用于分析平面文件 IDocs 的段类型或段定义。 请注意,XML 架构元素应始终仅包含段定义名称。
- 类别:元数据
- .NET 类型:枚举 Microsoft.Adapters.SAP.FlatFileSegmentIndicator
FlatFileSegmentIndicator 属性有两个可能的值:
- SegmentDefinition (默认) 指示平面文件应包含 IDoc 中每个段的段定义。
- SegmentType 指示平面文件应包含 IDoc 中每个 Segment 的段类型。
GenerateFlatfileCompatibleIdocSchema 绑定属性:指定是否应将平面文件 <appinfo> 标记添加到 IDoc 消息架构。 这是 BizTalk 平面文件分析程序所必需的。 默认值为 true,指定 <将 appinfo> 标记添加到架构中。
- 类别:元数据
- .NET 类型:bool (System.Boolean)
ReceiveIDocFormat 绑定属性:指定 SAP 适配器在入站端将 SAP 适配器调度到客户端应用程序的消息的 XML 格式, (SAP 到适配器) 。
- 类别:元数据
- .NET 类型:枚举 Microsoft.Adapters.SAP.IdocReceiveFormat
ReceiveIDocFormat 属性有三个可能的值:
- String 指定 IDoc 消息应表示为 WCF 消息中的单个字符串字段。
- 类型化 (默认) 指定应分析 IDoc 消息并将其表示为强类型 WCF 消息。
- Rfc 指定 SAP 适配器应将传入 RFC 调用作为包含 RFC 参数的 WCF 消息传递。
UseNCoConnectionPoolSettings 绑定属性:允许以更精细的粒度控制 SAP .NET 连接器 (NCo) 连接池参数。 此属性指示分配给 NCoPoolSize 和 MaxPoolWaitTime 的值是否应替代适配器基于 WCF 连接池配置属性设置的默认值。 默认情况下,它设置为 false。 如果设置为 true,则新的 SAP NCo 连接池属性将覆盖适配器设置的默认值,IDLE_TIMEOUT和IDLE_CHECK_TIME NCo 客户端参数将设置为 IdleConnectionTimeout 值。
- 类别:SAP NCo 连接池
- .NET 类型:bool (System.Boolean)
NCoPoolSize 绑定属性:对应于 POOL_SIZE SAP NCo 客户端连接参数。 它表示 NCo 连接池中保留的最大 SAP NCo 连接数。 默认情况下,它设置为与“连接”类别中的 MaxConnectionsPerSystem 属性相同的值。
- 类别:SAP NCo 连接池
- .NET 类型:int (System.Int32)
MaxPoolWaitTime 绑定属性:对应于 MAX_POOL_WAIT_TIME SAP NCo 连接参数。 它表示 NCo 连接请求在达到高峰连接限制后等待的最长时间(以毫秒为单位)。 默认情况下,它设置为 0 毫秒。
- 类别:SAP NCo 连接池
- .NET 类型:int (System.Int32)
SncLibrary 绑定属性:指定 SNC 库在计算机上的位置。 如果 PATH 环境变量包含库所在的目录,则只需提供库的文件名;否则,必须提供完整路径。 SncLibrary 绑定属性显示 SAP 连接属性。 有关详细信息,请参阅 SAP 文档。
必须在连接 URI 中设置 UseSnc 参数,以启用安全网络通信 (SNC) 。 有关 SAP 连接 URI 的详细信息,请参阅 创建 SAP 系统连接 URI。
- 类别:SNC
- .NET 类型:字符串
SncPartnerName 绑定属性:指定 SNC 合作伙伴名称。 SncPartnerName 绑定属性显示 SAP 连接属性。 有关详细信息,请参阅 SAP 文档。
必须在连接 URI 中设置 UseSnc 参数才能启用安全网络通信 (SNC) 。 有关 SAP 连接 URI 的详细信息,请参阅 创建 SAP 系统连接 URI。
- 类别:SNC
- .NET 类型:字符串
TidDatabaseConnectionString 绑定属性:指定 SAP 适配器用于存储事务 ID (TID) 的 SQL Server 数据库连接字符串。 BizTalk 适配器包安装向导会安装一些 SQL 脚本,这些脚本必须由SQL Server管理员针对现有数据库运行,以创建适配器用来存储 TID 的SQL Server对象,以启用入站事务性 RFC (tRFC) 服务器调用。 有关 SQL 脚本的详细信息,请参阅安装驱动器>:\Program Files\Microsoft BizTalk 适配器包\文档中<提供的 BizTalk 适配器包安装指南。
- 类别:TrfcServer
- .NET 类型:字符串
需要了解的内容:
- 必须设置此属性才能启用入站 tRFC 服务器调用,以便从 SAP 接收 IDocs 或 RFC。 默认值为 null;tRFC 服务器调用未启用。
- 可以采用以下格式指定连接字符串:
Data Source=<myServerAddress>;Initial Catalog=<myDataBase>;User Id=<myUsername>;Password=<myPassword>;
- 若要指定连接字符串,请单击绑定属性的省略号按钮 (...) ,然后输入所需连接字符串属性的值。
AcceptCredentialsInUri 绑定属性:指定 SAP 连接 URI 是否可以包含 SAP 系统的用户凭据。 默认值为 false,这会禁用连接 URI 中的用户凭据。 如果 AcceptCredentialsInUri 为 false 并且 SAP 连接 URI 包含用户凭据,则 SAP 适配器将引发异常。 如果必须在 URI 中指定凭据,可以将 AcceptCredentialsInUri 设置为 true 。 有关详细信息,请参阅 创建 SAP 系统连接 URI。
- 类别:未由“使用适配器服务加载项”或“添加适配器服务引用”插件显示。
- .NET 类型:bool (System.Boolean)
如何设置 SAP 绑定属性?
指定与 SAP 系统的连接时,可以设置 SAP 绑定属性。 有关如何在以下内容时设置绑定属性的信息:
使用适配器服务 BizTalk 项目外接程序。或添加适配器服务参考 Visual Studio 插件,请参阅 连接到 Visual Studio 中的 SAP 系统。
重要
在使用“使用适配器服务加载项”或“添加适配器服务引用插件”时,如果未为字符串类型的绑定属性指定值,并且其默认值为 null,则该绑定属性将分别在 XML 文件) 或 app.config 文件的绑定文件中 (不可用。 如果需要,必须在绑定文件或 app.config 文件中手动添加绑定属性及其值。
在BizTalk Server解决方案中配置发送端口或接收端口 (位置) ,请参阅手动配置到 SAP 适配器的物理端口绑定。
在编程解决方案中使用 WCF 通道模型,请参阅 使用 SAP 创建通道。
在编程解决方案中使用 WCF 服务模型,请参阅 为 SAP 系统配置客户端绑定。
使用 WCF ServiceModel 元数据实用工具 (svcutil.exe) ,请参阅 将 ServiceModel 元数据实用工具与适用于 mySAP Business Suite 的 BizTalk 适配器配合使用。