定义灵活业务规则语句和过程
定义 Flex SQL 语句以定义特定于您的组织的验证规则。您可以为插入之后或更新之后事件设置一个或多个要处理的语句。
Flex SQL 处理支持数据查询(选择)和数据操作(插入、更新、删除)语句。使用选择语句执行检查条件。
SQL 语句中可以包含大写和小写字符。但是,行标识标记必须全部大写或全部小写(即 :ROWID 或 :rowid)。
每个 Flex SQL 语句均要求使用预定义的 :ROWID 标记。此标记指的是指定表格中正在处理的记录的数据库行标识。表格中每个受到插入或更新操作影响的记录均会执行此语句。
最大语句长度为 4000 个字符。不需要语句终止字符 (;)。
可以使用数据操作语句,但是请确保没有启动触发步骤的无穷级联。例如,通常建议您不要创建将会更新表格中所标识的基本表格的 Flex SQL 语句。
Infor 建议您在 Infor EAM 顾问的指导下定义 Flex SQL 过程。
- 选择“管理”>“屏幕配置”>“灵活业务规则”。
- 指定要为其定义 Flex SQL 语句和过程的“表格”。
- 单击“添加 Flex SQL”。
- 指定以下信息:
- 序号
- 指定 Flex SQL 处理的顺序。
- 触发器
- 指定启动事件的数据库操作。系统支持插入之后和更新之后触发器。
- SQL 语句
- 指定在表格发生指定操作时将执行的 SQL 语句。
- 故障消息
- 指定在 Flex SQL 语句失败时显示的消息。当语句处理表格中的一行或多行时,Flex SQL 语句成功。当未处理任何行时,Flex SQL 语句失败。要使故障消息处于现用状态,请选择“故障时终止”。
- 备注
- 指定 Flex SQL 语句用途的描述。
- (可选)选中“必须存在”复选框,以在当前语句未处理任何行时,使 Flex SQL 处理器停止处理连续的 Flex SQL 语句。
- (可选)选中“故障时终止”复选框,以在系统遇到故障并发出错误时停止当前操作。
- (可选)选中“反转返回码”复选框,以反转当前 Flex SQL 语句的返回状态代码。如果选中此选项且语句处理一行或多行,则处理器返回失败状态。如果语句未处理任何行,则处理器返回成功状态。
- (可选)选中“现用”复选框,以启用 Flex SQL 语句。
- 单击“测试 Flex SQL”以确保当前 Flex SQL 语句有效。如果语句包含错误(例如,语法无效),则会显示一条消息。
-
单击“提交”。
请参阅 Flex SQL 定义的以下例如:
- 例如 1
- 指定用于补充标准Infor EAM处理的 check 语句或编辑。例如,在 Infor EAM 中创建请购单时,为成本代码输入值为可选。如果实施取决于是否使用成本代码派生账户科目值,则必须定义 check 语句,以在未输入成本代码的值时不允许更新或插入请购单。
请参阅用于补充在Infor EAM中创建请购单的标准处理的 check 语句的以下例如:
-
- 表
- 指定“R5REQUISITIONS”。
-
- 触发器
- 指定“POST-INSERT”。
-
- 序号
- 指定“10”。
-
- SQL 语句
- 指定要执行的以下 SQL 语句:
SELECT NULL FROM R5REQUISITIONS WHERE ROWID=:ROWID AND REQ_COSTCODE IS NOT NULL
-
- 故障消息
- 指定“请输入成本代码的值”。
- 选择“必须存在”。
- 选择“故障时终止”。
-
- 例如 2
- 在 “Flex SQL” 屏幕上 Infor EAM 中的 R5ACCOUNTDETAIL 表格中创建要与 Oracle Financials 联接的条目和事务行。
请参阅使用常量默认值创建账户明细条目行的以下例如。此语句紧跟前一个例如中用于在创建请购单时输入成本代码值的 check 语句之后。序号用于标识 Flex SQL 语句执行的顺序。
-
- 表
- 指定“R5REQUISITIONS”。
-
- 触发器
- 指定“POST-INSERT”。
-
- 序号
- 指定“20”。
-
- SQL 语句
- 指定要执行的以下 SQL 语句:
INSERT INTO R5ACCOUNTDETAIL (ACD_CODE, ACD_RENTITY, ACD_SEGMENT1, ACD_SEGMENT2, ACD_SEGMENT3, ACD_SEGMENT4) SELECT REQ_ACD, 'REQ', '01', '000', '000', '0000' FROM R5REQUISITIONS WHERE ROWID=:ROWID
-
- 故障消息
- 指定“创建账户明细时出错”。
- 选择“必须存在”。
- 选择“故障时终止”。
- 选择“现用”。
以上例如说明了已填充 REQ_ACD 的 R5ACCOUNTDETAIL 的请购单参考号。Infor EAM 将自动生成请购单账户明细密钥。您无需使用 Flex SQL 创建账户明细密钥值。
确定是否要在Infor EAM中将 Flex SQL 定义用于账户明细取决于集成的Infor EAM和 ERP 模块。首先概述整个采购过程。然后,使用每个事务集确定是否需要验证和生成账户。这些需要不仅对于每个集成场景是唯一的,而且对任何场景中的每个客户也是唯一的。因此,确保已非常谨慎地考虑整个过程是极其重要的。
-