Che cosa sono gli allegati nelle applicazioni Oracle
- La funzione allegati consente agli utenti di collegare dati non strutturati, come immagini, documenti di elaborazione testi, fogli di calcolo o testo ai dati dell'applicazione. Ad esempio, gli utenti possono collegare immagini a elementi o video a operazioni come istruzioni operative.
- Le informazioni sugli allegati possono scorrere nell'intera applicazione. Ad esempio, se abiliti gli allegati per un numero di parte, in cui gli utenti allegherebbero le immagini della parte, puoi abilitare gli allegati per tutti gli altri moduli che fanno riferimento al tuo numero di parte. Gli utenti sarebbero quindi in grado di vedere l'immagine della parte ovunque si trovi quel numero di parte.
- Puoi fornire sicurezza per limitare gli allegati che gli utenti possono vedere da moduli particolari assegnando categorie di documenti alle funzioni del modulo. Gli utenti assegnano quindi singoli allegati a categorie particolari.
- Puoi aggiungere la funzione allegati ai moduli e alle funzioni della tua domanda senza modificare il codice del modulo, a condizione che i moduli siano creati utilizzando gli standard Oracle E-Business Suite (a partire dal modulo MODELLO Oracle E-Business Suite).
Informazioni sulla tabella per gli allegati
Tutte le tabelle che contengono dati relativi agli allegati sono di proprietà dello schema FND.
Esistono numerose tabelle che contengono informazioni che determinano quale area dell'
applicazione può utilizzare gli allegati:
FND_LOBS
Gli allegati sono archiviati nella tabella FND_LOBS, questa tabella ha una colonna BLOB FILE_DATA
dove è archiviato l'allegato.
Come viene memorizzato:
Oracle Applications non utilizza alcuna tecnica di compressione e un file di 50.000
occupa 50.000 nel database. La dimensione del file nel database può essere ottenuta
utilizzando il pacchetto DBMS_LOB, l'esempio seguente mostra i dettagli di un file 5K che
è stato allegato a una richiesta:
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
- Questo contiene informazioni indipendenti dalla lingua sul documento, inclusi CATEGORY_ID e DATATYPE_ID. Non contiene il documento vero e proprio.
- DATATYPE_ID è preso da FND_DOCUMENT_DATATYPES. Questa tabella contiene una riga per ogni tipo di dati supportato, ad esempio Testo breve, File, ecc.
- CATEGORY_ID è preso da FND_DOCUMENT_CATEGORIES. Questa tabella contiene una riga per ogni categoria di allegato valida in un'applicazione. ad es. Commenti e Riprendi sono tutti validi per APPLICATION_ID =800 e Varie è valido per tutte le applicazioni (APPLICATION_ID =0). Poiché a ogni entità specifica vengono inserite categorie valide, esiste un'altra tabella, FND_DOC_CATEGORY_USAGES, che contiene una riga per ogni CATEGORY_ID valido per un ATTACHMENT_FUNCTION_ID. Determina quali categorie possono essere utilizzate per gli allegati in un particolare modulo.
FND_DOCUMENTS_TL
La tabella di traduzione FND_DOCUMENTS_TL memorizza le informazioni sui documenti in FND_DOCUMENTS e si collega a questa tabella tramite la colonna DOCUMENT_ID. Le righe in
FND_DOCUMENTS_TL includono una descrizione del documento.
FUNZIONI_FND_ATTACHMENT
Questa tabella contiene informazioni sui moduli per i quali è possibile abilitare la funzione allegati
Ad esempio FND_ATTACHMENT_FUNCTIONS contiene una riga per FUNCTION_NAME =
'PERWSHRG', ovvero il modulo combinato Persona e assegnazione.
FND_ATTACHMENT_BLOCKS si collega a FND_ATTACHMENT_FUNCTIONS tramite la colonna
ATTACHMENT_FUNCTION_ID e contiene una riga per BLOCK_NAME ='PERSON' .
FND_ATTACHMENT_BLK_ENTITIES conserva una riga per il blocco 'PERSON' con
DATA_OBJECT_CODE ='PER_PEOPLE_F' e PK1_FIELD ='PERSON.PERSON_ID' e
definisce se un allegato a questo blocco può essere interrogato, inserito , aggiornato
ed eliminato.
FND_ATTACHMENT_BLOCK
Contiene informazioni sui blocchi all'interno dei moduli per i quali è possibile abilitare la funzione allegati;
FND_ATTACHMENT_BLK_ENTITIES
Contiene informazioni sugli allegati che possono essere utilizzati in un particolare blocco modulo.
FND_ATTACHED_DOCUMENTS
FND_ATTACHED_DOCUMENTS memorizza le informazioni relative a un documento a un'entità e
in questo esempio conterrebbe ENTITY_NAME ='PER_PEOPLE_F' e PK1_VALUE =44.
PK1_VALUE è il valore per FND_ATTACHMENT_BLK_ENTITIES.PK1_FIELD (cioè
'PERSON. PERSON_ID') e quindi questo allegato è per la persona con
PER_PEOPLE_F.PERSON_ID =44. Anche il DOCUMENT_ID del documento archiviato
è tenuto su questa tabella.
FND_ATTACHED_DOCS_FORM_VL
FND_DM_FOLDERATTACHMENTEXT
Query relative agli allegati
Interroga per trovare i tipi di dati del documento
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
Interroga per trovare il file allegato
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;
Supponiamo di volere un allegato IExpense Line
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';
Come determinare la dimensione di un file nella tabella 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>;
Come vedere i contenuti della LOB?
-- 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; /
Spero che queste informazioni sugli allegati in Oracle Applications R12 ti siano piaciute. Si prega di fornire il feedback
Articoli correlati
FND_LOBS :FND_LOBS memorizza le informazioni su tutti i LOB gestiti dal Generic File Manager (GFM).it è una tabella univoca utilizzata sia per i dati temporanei EBS che per i dati utente permanenti (es. Allegati).
Oracle EBS Auditing:come configurare Oracle EBS Auditing, come aggiungere tabelle nel gruppo di audit, come selezionare la colonna per il auditing, richiesta simultanea di aggiornamento dell'audit trail
Creare un utente EBS dal back-end:questo post spiega come creare un utente EBS dal back-end , come assegnare la responsabilità dell'applicazione all'utente creato