定義參數以啟用總帳處理來動態構造 SQL select 陳述式,從而將交易資訊從 EAM 轉移到 ERP 應用程式中。透過動態 SQL,您可以根據組織的需求設定 EAM 交易的選取和處理。
本節中的示例使用特定於 Oracle 資料庫和 PL/SQL 的標記法。如果 EAM 資料庫是 Microsoft SQL Server,請使用 MS SQL Server 當量。
-
選取管理 > Databridge > 總帳處理定義。
-
按一下新建記錄。
-
指定以下資訊:
總帳處理定義 - 指定標識總帳處理定義的唯一代碼,然後在相鄰欄位中輸入描述,例如 DS ISSUES。
建立的處理將確定所輸入的唯一代碼。通常,唯一代碼指處理和組的組合。例如,如果要從 GVL 倉庫的倉庫處理建立發放,請輸入 ISSUE_GVL。
列標識 - 指定總帳處理的源資料庫表格列的唯一記錄識別碼,例如 r5translines.ROWID。
必須使用符記列識別碼 ROWID 以標識資料庫表格中的源列。
計劃組 - 指定用於識別總帳處理的分組值的表格直欄名稱,例如 TRL_TYPE。
計劃組通常共用用於構建處理定義的 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 陳述式 - 指定滿足所有處理定義約束所需的 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;
BEGINFOR 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; -
按一下儲存記錄。