Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Anhänge in Oracle-Anwendungen R12

Was sind Anhänge in Oracle-Anwendungen

  • Die Anhangsfunktion ermöglicht es Benutzern, unstrukturierte Daten wie Bilder, Textverarbeitungsdokumente, Tabellenkalkulationen oder Text mit ihren Anwendungsdaten zu verknüpfen. Beispielsweise können Benutzer Bilder mit Artikeln oder Videos mit Vorgängen als Bedienungsanleitungen verknüpfen.
  • Anlageninformationen können durch Ihre gesamte Bewerbung fließen. Wenn Sie beispielsweise Anhänge für eine Teilenummer aktivieren, an denen Benutzer Bilder des Teils anhängen würden, können Sie Anhänge für alle Ihre anderen Formulare aktivieren, die sich auf Ihre Teilenummer beziehen. Benutzer können dann das Bild des Teils überall dort sehen, wo diese Teilenummer vorkommt.
  • Sie können Sicherheit bieten, um einzuschränken, welche Anhänge Benutzer von bestimmten Formularen sehen können, indem Sie Ihren Formularfunktionen Dokumentkategorien zuweisen. Nutzer ordnen dann einzelne Anhänge bestimmten Kategorien zu.
  • Sie können die Funktion für Anhänge zu Ihren Anwendungsformularen und -funktionen hinzufügen, ohne den Formularcode zu ändern, solange Ihre Formulare gemäß den Oracle E-Business Suite-Standards erstellt wurden (beginnend mit dem Oracle E-Business Suite TEMPLATE-Formular).

Tabelleninformationen für Anhänge

Alle Tabellen, die anhangsbezogene Daten enthalten, gehören dem FND-Schema.

Es gibt eine Reihe von Tabellen, die Informationen darüber enthalten, in welchem ​​Bereich
der Anwendung Anhänge verwendet werden können:

FND_LOBS

Anhänge werden in der Tabelle FND_LOBS gespeichert, diese Tabelle hat eine BLOB-Spalte FILE_DATA
wo der Anhang gespeichert wird.

Wie es gespeichert wird:

Oracle Applications verwendet keine Komprimierungstechnik und eine Datei von 50 KB belegt 50 KB in der Datenbank. Die Größe der Datei in der Datenbank kann
unter Verwendung des DBMS_LOB-Pakets abgerufen werden, das folgende Beispiel zeigt die Details einer 5K-Datei, die
an eine Stellenausschreibung angehängt wurde:

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

  • Dies enthält sprachunabhängige Informationen über das Dokument, einschließlich CATEGORY_ID und DATATYPE_ID. Es enthält nicht das eigentliche Dokument.
  • DATATYPE_ID wird aus FND_DOCUMENT_DATATYPES übernommen. Diese Tabelle enthält eine Zeile für jeden unterstützten Datentyp, zB Short Text, File, etc.
  • CATEGORY_ID wird aus FND_DOCUMENT_CATEGORIES übernommen. Diese Tabelle enthält eine Zeile für jede gültige Anhangskategorie in einer Anwendung. zB Kommentare und Lebenslauf gelten alle für APPLICATION_ID =800 und Sonstiges gilt für alle Bewerbungen (APPLICATION_ID =0). Da jede spezifische Entität mit gültigen Kategorien gesät wird, gibt es eine weitere Tabelle, FND_DOC_CATEGORY_USAGES, die eine Zeile für jede CATEGORY_ID enthält, die für eine ATTACHMENT_FUNCTION_ID gültig ist. Es bestimmt, welche Kategorien für Anhänge auf einem bestimmten Formular verwendet werden können.


FND_DOCUMENTS_TL

Die Übersetzungstabelle FND_DOCUMENTS_TL speichert Informationen über die Dokumente in FND_DOCUMENTS und verlinkt über die Spalte DOCUMENT_ID auf diese Tabelle. Zeilen in
FND_DOCUMENTS_TL enthalten eine Beschreibung des Dokuments.


FND_ATTACHMENT_FUNCTIONS

Diese Tabelle enthält Informationen zu den Formularen, für die die Anhangsfunktion aktiviert werden kann

Zum Beispiel enthält FND_ATTACHMENT_FUNCTIONS eine Zeile für FUNCTION_NAME =
'PERWSHRG', dh das kombinierte Formular für Personen und Zuweisungen.
FND_ATTACHMENT_BLOCKS ist über die Spalte
ATTACHMENT_FUNCTION_ID mit FND_ATTACHMENT_FUNCTIONS verknüpft und enthält eine Zeile für BLOCK_NAME ='PERSON'. .
FND_ATTACHMENT_BLK_ENTITIES enthält eine Zeile für den 'PERSON'-Block mit
DATA_OBJECT_CODE ='PER_PEOPLE_F' und PK1_FIELD ='PERSON.PERSON_ID' und
definiert, ob ein Anhang zu diesem Block abgefragt, eingefügt werden kann , aktualisiert
und gelöscht.


FND_ATTACHMENT_BLOCK

Enthält Informationen zu den Blöcken in den Formularen, für die die Anhangsfunktion aktiviert werden kann;

FND_ATTACHMENT_BLK_ENTITIES

Enthält Informationen zu den Anhängen, die in einem bestimmten Formularblock verwendet werden können.

FND_ATTACHED_DOCUMENTS

FND_ATTACHED_DOCUMENTS speichert Informationen in Bezug auf ein Dokument zu einer Entität und
in diesem Beispiel würde ENTITY_NAME ='PER_PEOPLE_F' und PK1_VALUE =44 enthalten.
PK1_VALUE ist der Wert für FND_ATTACHMENT_BLK_ENTITIES.PK1_FIELD (dh
'PERSON. PERSON_ID') und somit ist dieser Anhang für die Person mit
PER_PEOPLE_F.PERSON_ID =44. Die DOCUMENT_ID des gespeicherten Dokuments
wird ebenfalls
in dieser Tabelle festgehalten.


FND_ATTACHED_DOCS_FORM_VL
FND_DM_FOLDERATTACHMENTEXT

Anhänge betreffende Abfragen

Abfrage zum Suchen von Dokumentdatentypen

SQL> select USER_NAME from fnd_document_datatypes ;
USER_NAME
---------
Short Text
Long Text
Image
OLE Object
Web Page
File
Document Reference
Oracle File
Oracle Files Folder/Workspace

Abfrage, um Dateianhang zu finden

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_data
from fnd_attached_documents fad
,fnd_documents fd
,fnd_lobs fl
where fad.document_id = fd.document_id
and fd.media_id = fl.file_id
and fad.entity_name = '&1'
and fad.pk1_value, fad.pk2_value;

Angenommen, wir möchten einen IExpense Line-Anhang

select report_line_id
from apps.ap_expense_report_lines_all l
where report_header_id=:P_expense_report_number; -- expense report number

SELECT fl.*
FROM apps.fnd_documents_tl fdtl,
apps.fnd_documents fd,
apps.fnd_attached_documents fad,
apps.fnd_lobs fl
WHERE fdtl.document_id = fd.document_id
AND fd.document_id = fad.document_id
AND fad.entity_name = 'OIE_LINE_ATTACHMENTS'
AND fad.pk1_value = ':p_report_line_id' -- line_id from first query
AND fl.file_id = fd.media_id
and fdtl.language='US';

Wie bestimme ich die Größe einer Datei in der Tabelle 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= <your file id>;

Wie wird der Inhalt des LOB angezeigt?

-- Read from fnd_lobs a given file_id
set serveroutput on size 1000000;
declare
  my_lob BLOB;
  Buffer      RAW(255);
  Amount      BINARY_INTEGER := 255;
  Position    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('Start of data');

   loop
      DBMS_LOB.READ(my_lob, Amount, Position, Buffer);
      /* Process the buffer: */
      DBMS_OUTPUT.PUT_LINE(utl_raw.cast_to_varchar2(Buffer));
      Position := Position + Amount;
   end loop;

   dbms_lob.close(my_lob);
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      DBMS_OUTPUT.PUT_LINE('End of data');
end;
/

Ich hoffe, Ihnen gefallen diese Informationen zu Anhängen in Oracle Applications R12. Bitte geben Sie Feedback

Verwandte Artikel
FND_LOBS :FND_LOBS speichert Informationen über alle LOBs, die vom Generic File Manager (GFM) verwaltet werden. Es ist eine eindeutige Tabelle, die sowohl für temporäre EBS-Daten als auch für permanente Benutzerdaten (z. B. Anhänge) verwendet wird.
Oracle EBS Auditing :So richten Sie Oracle EBS Auditing ein, wie man Tabellen in Audit-Gruppen hinzufügt, wie man Spalten für das Auditing auswählt, Audit-Trail-Aktualisierung gleichzeitiger Anfragen , wie dem erstellten Benutzer die Anwendungsverantwortung zugewiesen wird