検索

EBS多OU和多帐套客户化实现

Jun 07, 2016 pm 03:22 PM
成し遂げるクライアント要約する

EBS多OU和多帐套客户化实现 (一) 多OU总结 1. Form多OU实现 1) 创建一个Table,以CUX_AP_CHECK_HEADER_ALL为例 2) 创建Table的两个Synonym(一个不含_ALL,一个以_ALL结尾):CUX_AP_CHECK_HEADER和CUX_AP_CHECK_HEADER_ALL 3) 给不含_ALL的Synonym:CUX_AP_CHEC

EBS多OU和多帐套客户化实现

(一) 多OU总结

1. Form多OU实现

1) 创建一个Table,以CUX_AP_CHECK_HEADER_ALL为例

2) 创建Table的两个Synonym(一个不含_ALL,一个以_ALL结尾):CUX_AP_CHECK_HEADER和CUX_AP_CHECK_HEADER_ALL

3) 给不含_ALL的Synonym:CUX_AP_CHECK_HEADER加上组织屏蔽的策略函数

dbms_rls.add_policy(object_name => 'CUX_AP_CHECK_HEADER',

policy_name => 'ORG_SEC',

policy_function => 'MO_GLOBAL.ORG_SECURITY',

policy_type => dbms_rls.shared_context_sensitive);

4) 在不含_ALL的Synonym的基础上创建视图: CUX_AP_CHECK_HEADER_V

5) 进入FORM时(pre-form触发器)添加代码:

mo_global.init(&p_appl_shortname);--p_appl_shortname为应用简称

6) 当选择某个OU时(一般在when_validate_item触发器)中添加代码:mo_global.set_policy_context('S',&p_org_id);--p_org_id为OU的id

2. Report多OU实现

1) 给并发程序设置业务实体模式:单个,多个和空(默认)。一般设置为‘单个’

业务实体模式对应表fnd_concurrent_programs中的multi_org_category字段

2) 得到当前OU的值。

使用:mo_global.get_current_org_id或者fnd_global.org_id

3) 在报表的参数和报表的逻辑中加上OU的限制

3. GL数据的多OU实现

1) 得到当前OU的值。

使用:mo_global.get_current_org_id或者fnd_global.org_id

2) 根据OU的值得到部门段的值:

DECLARE

l_segment1 VARCHAR2(150);--部门段

BEGIN

SELECT o3.attribute5

INTO l_segment1

FROM hr_all_organization_units o,

hr_all_organization_units_tl otl,

hr_organization_information o2,

hr_organization_information o3

WHERE o.organization_id = o2.organization_id

AND o.organization_id = o3.organization_id

AND o2.org_information_context = 'CLASS'

AND o3.org_information_context = 'Operating Unit Information'

AND o2.org_information1 = 'OPERATING_UNIT'

AND o2.org_information2 = 'Y'

and o.organization_id = otl.organization_id

and o.organization_id = &p_org_id –OU id

AND otl.LANGUAGE = USERENV('LANG');

END;

3) 将步骤2得到的值作为限制条件:

SELECT gl_code_combinations gcc WHERE gcc.segment1 = l_segment1;

4. Interface多OU总结

1) 给并发程序设置业务实体模式:单个,多个和空(默认)。业务实体模式对应表fnd_concurrent_programs中的multi_org_category字段

2) 如果接口的导入程序中OU作为一个参数,则应该将所有的OU作一次循环。

5. 多OU实现扩展知识

1) 给客户化应用注册和取消MOAC的控制

fnd_mo_product_init_pkg.register_application(注册应用)

fnd_mo_product_init_pkg.remove_application(取消应用)

查看支持MOAC的应用SQL:

SELECT * FROM fnd_mo_product_init;

2) 给数据库对象注册和取消策略-policy

dbms_rls.add_policy(注册策略)

dbms_rls.drop_policy(取消策略)

3) 多OU 涉及到的表

a) 查看数据库对象是否增加了策略-policy

SELECT * FROM dba_policies;

b) 查看当前session所能访问的OU

SELECT * FROM mo_glob_org_access_tmp;

c) 查看当前session应用上下文(context)的值(说明:OU的值保存在context中)

SELECT * FROM dba_context dc WHERE dc.namespace LIKE 'MULTI%';

MOAC使用的应用程序上下文:MULTI_ORG,MULTI_ORG2

(二) 多帐套总结

1. 客户化开发中的多帐套屏蔽

1) 得到当前OU的值。

使用:mo_global.get_current_org_id或者fnd_global.org_id

2) 根据组织id得到帐套id和公司名称。SQL语句为:

DECLARE

l_org_information3 VARCHAR2(150);--帐套id

l_company_desc VARCHAR2(150);--公司中文描述

BEGIN

SELECT o3.org_information3,o3.attribute3

INTO l_org_information3,l_company_desc

FROM hr_all_organization_units o,

hr_all_organization_units_tl otl,

hr_organization_information o2,

hr_organization_information o3

WHERE o.organization_id = o2.organization_id

AND o.organization_id = o3.organization_id

AND o2.org_information_context || '' = 'CLASS'

AND o3.org_information_context = 'Operating Unit Information'

AND o2.org_information1 = 'OPERATING_UNIT'

AND o2.org_information2 = 'Y'

AND o.organization_id = otl.organization_id

AND otl.language = USERENV('LANG')

AND o.organization_id = &p_org_id;--OU id

END;

3) 得到本位币,SQL语句为:

DECLARE

l_local_currency_code VARCHAR2(15);--本位币

BEGIN

SELECT gsob.currency_code

INTO l_local_currency_code

FROM gl_sets_of_books gsob, hr_operating_units hou

WHERE gsob.set_of_books_id = hou.set_of_books_id

AND hou.organization_id = &p_org_id;--OU ID

END;

4) 在程序中加上帐套和本位币的限制

2. 多帐套实现扩展

1) 得到帐套的SQL语句为:

SELECT * FROM gl_ledgers;

2) 得到法人的SQL语句为:

SELECT * FROM xle_entity_profiles;

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
複数の単一列インデックスに対して複合インデックスをいつ使用する必要がありますか?複数の単一列インデックスに対して複合インデックスをいつ使用する必要がありますか?Apr 11, 2025 am 12:06 AM

データベースの最適化では、クエリ要件に従ってインデックス作成戦略を選択する必要があります。1。クエリに複数の列が含まれ、条件の順序が固定されている場合、複合インデックスを使用します。 2。クエリに複数の列が含まれているが、条件の順序が修正されていない場合、複数の単一列インデックスを使用します。複合インデックスは、マルチコラムクエリの最適化に適していますが、単一列インデックスは単一列クエリに適しています。

MySQLでスロークエリを識別して最適化する方法は? (スロークエリログ、Performance_schema)MySQLでスロークエリを識別して最適化する方法は? (スロークエリログ、Performance_schema)Apr 10, 2025 am 09:36 AM

MySQLスロークエリを最適化するには、slowquerylogとperformance_schemaを使用する必要があります。1。LowerQueryLogを有効にし、しきい値を設定して、スロークエリを記録します。 2。performance_schemaを使用してクエリの実行の詳細を分析し、パフォーマンスのボトルネックを見つけて最適化します。

MySQLおよびSQL:開発者にとって不可欠なスキルMySQLおよびSQL:開発者にとって不可欠なスキルApr 10, 2025 am 09:30 AM

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

MySQL非同期マスタースレーブレプリケーションプロセスを説明してください。MySQL非同期マスタースレーブレプリケーションプロセスを説明してください。Apr 10, 2025 am 09:30 AM

MySQL非同期マスタースレーブレプリケーションにより、BINLOGを介したデータの同期が可能になり、読み取りパフォーマンスと高可用性が向上します。 1)マスターサーバーレコードはBinlogに変更されます。 2)スレーブサーバーは、I/Oスレッドを介してBINLOGを読み取ります。 3)サーバーSQLスレッドは、BINLOGを適用してデータを同期させます。

MySQL:簡単な学習のためのシンプルな概念MySQL:簡単な学習のためのシンプルな概念Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

MySQL:ユーザーフレンドリーなデータベースの紹介MySQL:ユーザーフレンドリーなデータベースの紹介Apr 10, 2025 am 09:27 AM

MySQLのインストールと基本操作には、次のものが含まれます。1。mysqlをダウンロードしてインストールし、ルートユーザーパスワードを設定します。 2。sqlコマンドを使用して、createdatabaseやcreateTableなどのデータベースとテーブルを作成します。 3. CRUD操作を実行し、挿入、選択、更新、コマンドを削除します。 4.パフォーマンスを最適化し、複雑なロジックを実装するためのインデックスとストアドプロシージャを作成します。これらの手順を使用すると、MySQLデータベースをゼロから構築および管理できます。

InnoDBバッファープールはどのように機能し、なぜパフォーマンスに不可欠なのですか?InnoDBバッファープールはどのように機能し、なぜパフォーマンスに不可欠なのですか?Apr 09, 2025 am 12:12 AM

Innodbbufferpoolは、データとインデックスページをメモリにロードすることにより、MySQLデータベースのパフォーマンスを向上させます。 1)データページは、ディスクI/Oを削減するためにBufferPoolにロードされます。 2)汚れたページは、定期的にディスクにマークされ、リフレッシュされます。 3)LRUアルゴリズム管理データページの排除。 4)読み出しメカニズムは、可能なデータページを事前にロードします。

MySQL:初心者向けのデータ管理の容易さMySQL:初心者向けのデータ管理の容易さApr 09, 2025 am 12:07 AM

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター