Oracle EBS中分類賬和法人實體 的關係(有sql語句例項)
首先,對於EBS中的法人實體和分類賬以及OU之間的一個層次關係如下圖:
其中,對於分類賬和法人實體,並不簡單是一對多的關係,按照理論上來講:由於分類賬存在輔助分類賬,所以一個法人實體除了對應一個主分類賬(Primary Ledger)外,還可能存在輔助分類賬,但是一個法人實體肯定只對應一個唯一的主分類賬,而對於 分類賬之間是否存在有“主從關係”還不太清楚,有待進一步考證。
而在R12中,要找出他們之間的關係就需要通過一下sql來看了:
SELECT lg.ledger_id,
lg.NAME ledger_name,
lg.short_name ledger_short_name,
cfgdet.object_id legal_entity_id,
le.NAME legal_entity_name,
reg.location_id location_id,
hrloctl.location_code location_code,
hrloctl.description location_description,
lg.ledger_category_code,
lg.currency_code,
lg.chart_of_accounts_id,
lg.period_set_name,
lg.accounted_period_type,
lg.sla_accounting_method_code,
lg.sla_accounting_method_type,
lg.bal_seg_value_option_code,
lg.bal_seg_column_name,
lg.bal_seg_value_set_id,
cfg.acctg_environment_code,
cfg.configuration_id,
rs.primary_ledger_id,
rs.relationship_enabled_flag
FROM gl_ledger_config_details primdet,
gl_ledgers lg,
gl_ledger_relationships rs,
gl_ledger_configurations cfg,
gl_ledger_config_details cfgdet,
xle_entity_profiles le,
xle_registrations reg,
hr_locations_all_tl hrloctl
WHERE rs.application_id = 101
AND ((rs.target_ledger_category_code = 'SECONDARY' AND
rs.relationship_type_code <> 'NONE') OR
(rs.target_ledger_category_code = 'PRIMARY' AND
rs.relationship_type_code = 'NONE') OR
(rs.target_ledger_category_code = 'ALC' AND
rs.relationship_type_code IN ('JOURNAL', 'SUBLEDGER')))
AND lg.ledger_id = rs.target_ledger_id
AND lg.ledger_category_code = rs.target_ledger_category_code
AND nvl(lg.complete_flag, 'Y') = 'Y'
AND primdet.object_id = rs.primary_ledger_id
AND primdet.object_type_code = 'PRIMARY'
AND primdet.setup_step_code = 'NONE'
AND cfg.configuration_id = primdet.configuration_id
AND cfgdet.configuration_id(+) = cfg.configuration_id
AND cfgdet.object_type_code(+) = 'LEGAL_ENTITY'
AND le.legal_entity_id(+) = cfgdet.object_id
AND reg.source_id(+) = cfgdet.object_id
AND reg.source_table(+) = 'XLE_ENTITY_PROFILES'
AND reg.identifying_flag(+) = 'Y'
AND hrloctl.location_id(+) = reg.location_id
AND hrloctl.LANGUAGE(+) = userenv('LANG');
從資料結果中可以看出,系統中有7個分類賬(LEDGER)和5個法人實體(LEGAL_ENTITY),對於TCL_YSP這個法人實體來說,擁有兩個分類賬,其LEDGER_CATEGORY_CODE分別為PRIMARY和SECONDARY,說明了一個法人實體有一個主分類賬,並且可以有輔助分類賬,而2041這個分類賬,則沒有對應的法人實體,但是其LEDGER_CATEGORY_CODE依然為PRIMARY,這說明一個分類賬的category_code有可能是事前定義好的,而不是在與法人實體關聯的時候才決定的,所以不能確定分類賬之間到底有層次關係……
對以上的sql進行精簡,也可以得出相應的關係來:
select lg.ledger_id, --分類帳
cfgdet.object_id legal_entity_id, --法人實體
lg.currency_code,
lg.chart_of_accounts_id,
rs.primary_ledger_id
from gl_ledger_config_details primdet,
gl_ledgers lg,
gl_ledger_relationships rs,
gl_ledger_configurations cfg,
gl_ledger_config_details cfgdet
where rs.application_id = 101 --101為總賬GL應用
and ((rs.target_ledger_category_code = 'SECONDARY' and
rs.relationship_type_code <> 'NONE') or
(rs.target_ledger_category_code = 'PRIMARY' and
rs.relationship_type_code = 'NONE') or
(rs.target_ledger_category_code = 'ALC' and
rs.relationship_type_code in ('JOURNAL', 'SUBLEDGER')))
and lg.ledger_id = rs.target_ledger_id
and lg.ledger_category_code = rs.target_ledger_category_code
and nvl(lg.complete_flag, 'Y') = 'Y'
and primdet.object_id = rs.primary_ledger_id
and primdet.object_type_code = 'PRIMARY'
and primdet.setup_step_code = 'NONE'
and cfg.configuration_id = primdet.configuration_id
and cfgdet.configuration_id(+) = cfg.configuration_id
and cfgdet.object_type_code(+) = 'LEGAL_ENTITY';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24627116/viewspace-2659988/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自定義註解例項實現SQL語句生成SQL
- 14 個 SQL 拿來就用語句例項!SQL
- Oracle select 語句字串拼接小例項-quote使用Oracle字串
- 18 與Oracle Data Guard 相關的SQL語句OracleSQL
- Oracle基本SQL語句OracleSQL
- 有關oracle ebs中:Dialog的做法(1)Oracle
- 【SQL】Oracle SQL join on語句and和where使用區別SQLOracle
- SQL 語句的注意事項SQL
- 例項詳解如何構建動態SQL語句SQL
- SQL查詢語句 (Oracle)SQLOracle
- Oracle SQL精妙SQL語句講解OracleSQL
- 【TUNE_ORACLE】查出所有有“select *”語句的SQL參考OracleSQL
- Oracle執行語句跟蹤 使用sql trace實現語句追蹤OracleSQL
- 列出oracle dbtime得sql語句OracleSQL
- 類和例項
- 後臺執行SQL語句(oracle)SQLOracle
- Oracle EBS總賬與會計假設Oracle
- 6. Oracle開發和應用—6.3. 基本SQL語句—6.3.4. select語句OracleSQL
- python 類和例項Python
- 關於Mybatis中SQL語句的整理MyBatisSQL
- MySql和簡單的sql語句MySql
- ORACLE多表關聯UPDATE語句Oracle
- java連線oracle執行sql語句JavaOracleSQL
- 通過實體類生成 mysql 的建表語句MySql
- EBS:Oracle 資料庫執行慢SQLOracle資料庫SQL
- 一些sql語句的關鍵詞SQL
- 6. Oracle開發和應用—6.4. PL/SQL語法—6.4.4. 條件語句(分支語句)OracleSQL
- ORACLE中sql語句----運算子的優先順序OracleSQL
- SSH框架控制檯輸出HQL語句和SQL語句的方法框架SQL
- 1.4 資料庫和常用SQL語句(正文)——MySQL資料庫命令和SQL語句資料庫MySql
- [20240409]為什麼一條sql語句在例項2執行要慢的分析.txtSQL
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- SQL語句SQL
- 查詢Oracle正在執行的sql語句及執行該語句的使用者OracleSQL
- SQL語句IN的用法SQL
- sql 語句網路除錯和 sql 語句低層傳輸檢視SQL除錯
- 4.3.2 關於使用SQL語句建立CDBSQL
- python關於pymysql 執行sql語句in的用法PythonMySql