Oracleアプリケーションの添付ファイルとは
- 添付ファイル機能を使用すると、ユーザーは、画像、ワープロドキュメント、スプレッドシート、テキストなどの非構造化データをアプリケーションデータにリンクできます。たとえば、ユーザーは操作手順として画像をアイテムにリンクしたり、ビデオを操作にリンクしたりできます。
- 添付ファイル情報は、アプリケーション全体に流れる可能性があります。たとえば、ユーザーがパーツの画像を添付するパーツ番号の添付を有効にすると、パーツ番号を参照する他のすべてのフォームの添付を有効にできます。そうすれば、ユーザーはその部品番号がどこにあってもその部品の画像を見ることができます。
- フォーム関数にドキュメントカテゴリを割り当てることで、ユーザーが特定のフォームから表示できる添付ファイルを制限するセキュリティを提供できます。次に、ユーザーは個々の添付ファイルを特定のカテゴリに割り当てます。
- フォームがOracleE-BusinessSuite標準(Oracle E-Business Suite TEMPLATEフォームから開始)を使用して構築されている限り、フォームコードを変更せずにアプリケーションフォームおよび関数に添付機能を追加できます。 >
添付ファイルのテーブル情報
添付ファイル関連のデータを保持するすべてのテーブルは、FNDスキーマによって所有されています。
アプリケーションのどの領域で添付ファイルを使用できるかを決定する情報を保持するテーブルがいくつかあります:
FND_LOBS
添付ファイルはFND_LOBSテーブルに格納されます。このテーブルには、添付ファイルが格納されるBLOB列FILE_DATA
があります。
保存方法:
Oracle Applicationsは圧縮技術を使用せず、50Kのファイルはデータベースで
50Kを占有します。データベース内のファイルのサイズは、
DBMS_LOBパッケージを使用して取得できます。次の例は、
求人に添付された5Kファイルの詳細を示しています。
select FILE_NAME、FILE_CONTENT_TYPE、
DBMS_LOB.GETLENGTH(file_data)SIZE_BYTES
from FND_LOBS
where FILE_NAME like'%test.doc%'
FILE_NAME FILE_CONTENT_TYPE SIZE_BYTES
----------------------- ------------------ --------- -
test.doc application / msword 5120
FND_DOCUMENTS
- これは、CATEGORY_IDやDATATYPE_IDなどのドキュメントに関する言語に依存しない情報を保持します。実際のドキュメントは含まれていません。
- DATATYPE_IDは、FND_DOCUMENT_DATATYPESから取得されます。このテーブルは、サポートされている各データ型(ショートテキスト、ファイルなど)の行を保持します。
- CATEGORY_IDは、FND_DOCUMENT_CATEGORIESから取得されます。このテーブルは、アプリケーションの有効な添付ファイルカテゴリごとに1つの行を保持します。たとえば、コメントと履歴書はすべてAPPLICATION_ID =800に対して有効であり、Miscellaneousはすべてのアプリケーションに対して有効です(APPLICATION_ID =0)。特定の各エンティティには有効なカテゴリがシードされているため、ATTACHMENT_FUNCTION_IDに対して有効な各CATEGORY_IDの行を保持する別のテーブルFND_DOC_CATEGORY_USAGESがあります。特定のフォームの添付ファイルに使用できるカテゴリを決定します。
FND_DOCUMENTS_TL
変換テーブルFND_DOCUMENTS_TLは、FND_DOCUMENTS内のドキュメントに関する情報を格納し、DOCUMENT_ID列によってこのテーブルにリンクします。
FND_DOCUMENTS_TLの行には、ドキュメントの説明が含まれています。
FND_ATTACHMENT_FUNCTIONS
このテーブルには、添付ファイル機能を有効にできるフォームに関する情報が含まれています
たとえば、FND_ATTACHMENT_FUNCTIONSには、FUNCTION_NAME =
'PERWSHRG'の行、つまり、PersonとAssignmentフォームの組み合わせが含まれます。
FND_ATTACHMENT_BLOCKSは、列
ATTACHMENT_FUNCTION_IDを介してFND_ATTACHMENT_FUNCTIONSにリンクし、BLOCK_NAME='PERSON'の行を含みます。 。
FND_ATTACHMENT_BLK_ENTITIESは、'PERSON'ブロックの行を
DATA_OBJECT_CODE ='PER_PEOPLE_F'およびPK1_FIELD='PERSON.PERSON_ID'で保持し、
このブロックへの添付ファイルをクエリして挿入できるかどうかを定義します、更新され、
削除されました。
FND_ATTACHMENT_BLOCK
これは、添付ファイル機能を有効にできるフォーム内のブロックに関する情報を保持します。
FND_ATTACHMENT_BLK_ENTITIES
これは、特定のフォームブロックで使用できる添付ファイルに関する情報を保持します。
FND_ATTACHED_DOCUMENTS
FND_ATTACHED_DOCUMENTSは、ドキュメントをエンティティに関連付ける情報を格納し、
この例ではENTITY_NAME ='PER_PEOPLE_F'およびPK1_VALUE=44を保持します。
PK1_VALUEはFND_ATTACHMENT_BLK_ENTITIES.PK1_FIELD(つまり
'PERSON)の値です。 PERSON_ID')であるため、この添付ファイルは
PER_PEOPLE_F.PERSON_ID=44のユーザー向けです。保存されたドキュメントのDOCUMENT_IDも
このテーブルに保持されます。
FND_ATTACHED_DOCS_FORM_VL
FND_DM_FOLDERATTACHMENTEXT
添付ファイルに関連するクエリ
ドキュメントのデータ型を検索するためのクエリ
SQL>fnd_document_datatypesからUSER_NAMEを選択します;USER_NAME--------- Short TextLong TextImageOLE ObjectWeb PageFileDocument ReferenceOracle FileOracle Files Folder / Workspace
添付ファイルを見つけるためのクエリ
select fad.entity_name、fad.document_id、fad.pk1_value、fad.pk2_value、fd.datatype_id、(fad.entity_name ||'' || fad.document_id ||' '|| fl.file_name)file_name、fl.file_datafrom fnd_attached_documents fad、fnd_documents fd、fnd_lobs flwhere fad.document_id =fd.document_idand fd.media_id =fl.file_idand fad.entity_name ='&1' and fad.pk1_value、fad.pk2_value;>>IexpenseLineアタッチメントが必要だとします
select report_line_idfrom apps.ap_expense_report_lines_all lwhere report_header_id =:P_expense_report_number; --費用レポート番号SELECTfl。*FROMapps.fnd_documents_tl fdtl、apps.fnd_documents fd、apps.fnd_attached_documents fad、apps.fnd_lobs flWHERE fdtl.document_id =fd.document_idAND fd.document_id =fad.document_idAND fad.entity_name =' fad.pk1_value =':p_report_line_id'-最初のクエリからのline_idAND fl.file_id =fd.media_idand fdtl.language ='US';テーブルFND_LOBS内のファイルのサイズを決定する方法は?
select file_name、file_id、
to_char(upload_date、'dd-mon-rr hh24:mi:ss')、
to_char(expiration_date、'dd-mon-rr hh24:mi:ss' )、
file_content_type、
dbms_lob.getlength(file_data)size_byte
from applsys.fnd_lobs
where file_id =; LOBの内容を確認するには?
-サイズ1000000の特定のfile_idsetserveroutputをfnd_lobsから読み取り、my_lobBLOBを宣言します。バッファRAW(255);金額BINARY_INTEGER:=255;位置INTEGER:=1; begin select file_data into my_lob from fnd_lobs where file_id =&enter_file_id; dbms_lob.open(my_lob、dbms_lob.lob_readonly); DBMS_OUTPUT.PUT_LINE('データの開始');ループDBMS_LOB.READ(my_lob、Amount、Position、Buffer); / *バッファを処理します:* / DBMS_OUTPUT.PUT_LINE(utl_raw.cast_to_varchar2(Buffer));位置:=位置+量;ループの終了; dbms_lob.close(my_lob); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('End of data'); end; /OracleApplicationsR12の添付ファイルに関するこの情報が気に入っていただければ幸いです。フィードバックを提供してください
関連記事
FND_LOBS:FND_LOBSは、Generic File Manager(GFM)によって管理されるすべてのLOBに関する情報を格納します。これは、EBS一時データと永続ユーザーデータ(添付ファイルなど)の両方に使用される一意のテーブルです。
OracleEBS監査:Oracle EBS監査の設定方法、監査グループにテーブルを追加する方法、監査する列を選択する方法、監査証跡の更新同時要求
バックエンドからEBSユーザーを作成する:この投稿は、バックエンドからEBSユーザーを作成する方法についてです。 、作成したユーザーにアプリケーションの責任を割り当てる方法