“动态检索”功能模块是一个带有动态 SQL 语句生成器的映射工具。此功能模块使用存储在 YXR_DISPLY 表中的元数据在运行时生成 SQL select 语句。“动态检索”获取这些 SQL 语句产生的字段并填充 WebSphere 业务对象的属性。当调用“动态检索”功能模块时,将执行下列步骤:
对象名 = objectName
表 44 显示“动态检索”表的表条目。
字段名 | 描述 | 何时使用 | 技术名称 |
---|---|---|---|
对象名 | WebSphere 业务对象名 | 始终 | OBJ_NAME |
计数器 | 计数器 | 始终 | POSNR |
表 | 要读取的表 | 始终 | TABNAME |
字段名称 | 表中的字段名 | 始终 | NAME_FELD |
键 | 指定表的键字段 | 每个表的第一个字段。用来构建 select 语句的 where 子句。 | KEYFLAG |
可选的 | 屏幕、字段或命令的自由文本描述 | 用于非键字段。如果所有非键字段都标记为可选的,并且如果 select 语句失败,则结果将为警告,而不是错误。 | OPTIONAL |
Rel | 操作数(关系) | 用来确定 where 子句中的关系。缺省情况下,where 子句中的操作数是“等号”,但可以通过在此字段中输入值来更改它。 | YXR_OPERND |
业务对象中的字段名 | WebSphere 业务对象中的属性,用于提供输入值 |
| SOURCEFLD |
缺省值 | 当未在 WebSphere 业务对象中提供条目时要使用的静态缺省值 | 键字段 | DEFLT_VAL |
SY 字段 | 将用作缺省值(例如:DATUM)的动态系统字段 | 键字段 | SYFIELD |
长度 | 字符长度,从 0 到构建 where 子句时应使用的属性值的偏移位置。 | 键字段。仅当使用包含组合值的属性时才相关。 | LENGTH |
偏移 | 字符偏移,从构建 where 子句时应使用的属性值的 0 位置算起。 | 键字段。仅当使用包含组合值的属性时才相关。 | YXR_OFFSET |
要访问适配器的表驱动的连接器表以便显示:
图 73 显示使用嵌套 SQL select 语句的“动态检索”表。先前的 select 语句的结果用来在后续 select 语句上构建键。
通过使用“计数器”列作为要讨论的行号,您可以对“动态检索”表中的功能位置对象逐步执行 SAP_FuncLocation 示例。
where TPLNR = '4711'
Select * from IFLOT where TPLNR = '4711'
然后将把产生的 ILOAN 值复制到 ObjectLocation 属性,对于此示例,该值为 '5678'。
where TPLNR = '4711'
and SPRAS = 'E'
如果 Language2 的值是 CxIgnore,则将从“缺省值”字段中获取 E。
Select * from IFLOTX where TPLNR = '4711' and SPRAS = 'E'
产生的 PLTXT 值将复制到 CustomerName 属性。如果该 select 语句失败,则因为表 IFLOTX 的所有非键字段都标记为可选的,所以将发出一个警告。
where ILOAN = '5678'
Select * from ILOA where ILOAN = '5678'
产生的 ADRNR 值将复制到 AddressId 属性。