定义灵活业务规则语句和过程

定义 Flex SQL 语句以定义特定于您的组织的验证规则。您可以为插入之后或更新之后事件设置一个或多个要处理的语句。

Flex SQL 处理支持数据查询(选择)和数据操作(插入、更新、删除)语句。使用选择语句执行检查条件。

SQL 语句中可以包含大写和小写字符。但是,行标识标记必须全部大写或全部小写(即 :ROWID 或 :rowid)。

每个 Flex SQL 语句均要求使用预定义的 :ROWID 标记。此标记指的是指定表格中正在处理的记录的数据库行标识。表格中每个受到插入或更新操作影响的记录均会执行此语句。

最大语句长度为 4000 个字符。不需要语句终止字符 (;)。

可以使用数据操作语句,但是请确保没有启动触发步骤的无穷级联。例如,通常建议您不要创建将会更新表格中所标识的基本表格的 Flex SQL 语句。

注意

Infor 建议您在 Infor EAM 顾问的指导下定义 Flex SQL 过程。

  1. 选择管理>屏幕配置>灵活业务规则
  2. 指定要为其定义 Flex SQL 语句和过程的表格
  3. 单击添加 Flex SQL
  4. 指定以下信息:
    序号
    指定 Flex SQL 处理的顺序。
    触发器
    指定启动事件的数据库操作。系统支持插入之后和更新之后触发器。
    SQL 语句
    指定在表格发生指定操作时将执行的 SQL 语句。
    故障消息
    指定在 Flex SQL 语句失败时显示的消息。当语句处理表格中的一行或多行时,Flex SQL 语句成功。当未处理任何行时,Flex SQL 语句失败。要使故障消息处于现用状态,请选择故障时终止
    备注
    指定 Flex SQL 语句用途的描述。
  5. (可选)选中必须存在复选框,以在当前语句未处理任何行时,使 Flex SQL 处理器停止处理连续的 Flex SQL 语句。
  6. (可选)选中故障时终止复选框,以在系统遇到故障并发出错误时停止当前操作。
  7. (可选)选中反转返回码复选框,以反转当前 Flex SQL 语句的返回状态代码。如果选中此选项且语句处理一行或多行,则处理器返回失败状态。如果语句未处理任何行,则处理器返回成功状态。
  8. (可选)选中现用复选框,以启用 Flex SQL 语句。
  9. 单击测试 Flex SQL以确保当前 Flex SQL 语句有效。如果语句包含错误(例如,语法无效),则会显示一条消息。
  10. 单击提交
    请参阅 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 模块。首先概述整个采购过程。然后,使用每个事务集确定是否需要验证和生成账户。这些需要不仅对于每个集成场景是唯一的,而且对任何场景中的每个客户也是唯一的。因此,确保已非常谨慎地考虑整个过程是极其重要的。