定义总账处理
定义参数以启用总账处理来动态构造 SQL select 语句,从而将事务信息从Infor EAM转移到 ERP 应用程序中。通过动态 SQL,您可以根据组织的需求配置 Infor EAM 事务的选择和处理。
本章中的示例使用特定于 Oracle 数据库和 PL/SQL 的标记法。如果 EAM 数据库是 Microsoft SQL Server,请使用 MS SQL Server 当量。
要定义总账处理:
- 选择“管理”>“Databridge”>“总账处定义”。
- 单击“新建记录”。
-
指定以下信息:
- 总账处理定义
- 输入标识总账处理定义的唯一代码,然后在相邻字段中输入描述,例如 DS ISSUES。注意
创建的处理将确定所输入的唯一代码。通常,唯一代码指处理和组的组合。例如,如果要从 GVL 仓库的仓库处理创建发放,请输入 ISSUE_GVL
- 行标识
- 指定总账处理的源数据库表格行的唯一记录标识符,例如 r5translines.ROWID。注意
必须使用标记行标识符 ROWID 以标识数据库表格中的源行。
- 计划组
- 指定用于识别总账处理组的分组值的表格列名称。注意
计划组通常共享用于构建处理定义的 Where 语句的相关通用值。计划组可在总账参考号表单中用于创建组内的财务应用程序更改。
- 分类账项种类
- 指定用于标识信息提要参考组的 ERP 分类账项种类的唯一值,例如 trl_JECATEGORY。请咨询组织的财务经理以获取正确的值。
- 分类账项来源
- 指定用于标识信息提要参考组的 ERP 分类账项种类的唯一值,例如 trl_JESOURCE。请咨询组织的财务经理以获取正确的值。
- 汇总
- 选中此选项,以包括总账处理的摘要。
- 账簿 ID
- 指定用于标识信息提要参考组的 ERP 总账账簿的代码,例如 tra_org。请咨询组织的财务经理以获取正确的代码。如果使用多个账簿,处理定义与对正确事务集进行分类的参考组之间必须存在关系。
- 日期
- 指定用于总账分类账项的日期。可以输入原始事务的日期(如 TRL_DATE)、事务转移日期(如 SYSDATE)或用于标识事务财务周期结束的日期。
- 金额
- 如果在成本结算中使用开销系数,请指定事务的金额计算,例如 TRL_PRICE* TRL_QTY 或 TRL_PRICE*TRL_QTY*1.15。注意
根据需要使用正值和负值。
- 分段
- 指定分类账项的账户代码科目。如果在 ERP 会计定义中已激活多个科目,则必须在此字段中输入所有科目,例如 ACD_SEGMENT1、ACD_SEGMENT2、ACD_SEGMENT3、ACD_SEGMENT4、ACD_SEGMENT5、ACD_SEGMENT6、ACD_SEGMENT7。注意
如果输入多个科目,请勿包括“and”等连接语句。
- From 语句
- 指定满足所有处理定义约束所需的Infor EAM来源表格。至少必须输入 R5ACCOUNTDETAIL 表格和一个事务表格,例如:r5translines、r5accountdetail、r5transactions。注意
请勿在 From 语句的文本中包括 FROM 一词。
- Where 语句
- 指定"where"条件子语。"where"条件子语取决于处理定义。必须输入所列的所有表格的连接语句以及 XXX_GLTRANSFER 和 XXX_GLTRANSFERFLAG 值的约束,用于防止记录多次提交,例如:
trl_acd = acd_code AND NVL(trl_gltransferflag, '-' ) = '-' AND tra_code = trl_trans AND tra_rstatus = 'A' and tra_type = 'I' and trl_type = 'I' and trl_event is not null and trl_QTY >0
使用源更新语句更新 XXX_GLTRANSFER 和 XXX_GRTRANSFERFLAG 列。因此,应限制 Where 语句条件子句中源更新语句的使用。例如,若要将基本 Where 语句用于需要 R5TRANSLINES 和 R5ACCOUNTDETAIL 的发放处理,则应输入 trl_acd = acd_code and nvl(trl_gltransferflag,'+') != '+' and trl_rtype = 'I'。
注意请勿在“Where 语句”中使用分号作为终止符或包括 WHERE 一词。
- 源更新语句
- 指定 SQL 语句以更新事务来源表格中的行。
此语句会将事务记录标记为已处理,以便不会再次处理。必须在语句中包括标记 :ROWID 或 :rowid。
请参阅会将事务记录标记为已处理的源更新语句的以下例如,以便不会再次处理。
UPDATE r5translines SET trl_gltransferflag = '+', trl_gltransfer = sysdate WHERE rowid = :rowid
- 目标更新语句
- 指定 SQL 语句以更新 R5GLINTERFACE 表格以包含分类账导入所需的参考信息。目标更新语句将使用安装所需的自定义信息填充 R5GLINTERFACE 表格中的参考字段。例如,在参考字段中包括库存发放事务的库存代码、描述和工单号。然后,此参考信息将包括在分类账项中。请参阅使用两个标记的目标更新语句的以下例如:一个是参考 R5GLINTERFACE 中相应行的 :transid。第二个是参考事务源行标识符的 :rowid。事务源行标识符用于检索其他事务参考信息。
Declare Cursor C1 is SELECT substr(v.PRV_VALUE,1,3) company, substr(v.PRV_VALUE,5,4) GLS, substr(v.PRV_VALUE,10,5) DEP, substr(v.PRV_VALUE,16,6) EXP, substr(v.PRV_VALUE,23,4) PL , substr(v.PRV_VALUE,28,3) IC, substr(v.PRV_VALUE,32,6) FU from R5TRANSLINES L, R5PROPERTYVALUES V where l.rowid = :rowid and v.prv_property (+) = 'INVOFF' and v.PRV_RENTITY (+) = 'STOR' and v.PRV_CODE (+) = l.trl_store; BEGIN FOR r IN C1 LOOP UPDATE r5glinterface SET gli_segment1 = r.company, gli_segment2 = r.GLS, gli_segment3 = r.DEP, gli_segment4 = r.EXP WHERE gli_transid = :transid and gli_segment2 = '****' ; END LOOP; end;
- 单击“保存记录”。