¿Qué son los archivos adjuntos en Oracle Applications
?- La función de archivos adjuntos permite a los usuarios vincular datos no estructurados, como imágenes, documentos de procesamiento de texto, hojas de cálculo o texto a los datos de su aplicación. Por ejemplo, los usuarios pueden vincular imágenes a artículos o videos a operaciones como instrucciones de operación.
- La información de los archivos adjuntos puede fluir a través de toda su aplicación. Por ejemplo, si habilita archivos adjuntos para un número de pieza, donde los usuarios adjuntarían imágenes de la pieza, puede habilitar archivos adjuntos para todos sus otros formularios que hagan referencia a su número de pieza. Luego, los usuarios podrían ver la imagen de la pieza dondequiera que aparezca ese número de pieza.
- Puede proporcionar seguridad para limitar qué archivos adjuntos pueden ver los usuarios de formularios particulares asignando categorías de documentos a las funciones de su formulario. Luego, los usuarios asignan archivos adjuntos individuales a categorías particulares.
- Puede agregar la función de archivos adjuntos a los formularios y funciones de su aplicación sin modificar el código del formulario, siempre que sus formularios se construyan utilizando los estándares de Oracle E-Business Suite (comenzando con el formulario PLANTILLA de Oracle E-Business Suite).
Información de tabla para archivos adjuntos
Todas las tablas que contienen datos relacionados con archivos adjuntos son propiedad del esquema FND.
Hay una serie de tablas que contienen información que determina qué área de
la aplicación puede usar archivos adjuntos:
FND_LOBS
Los archivos adjuntos se almacenan en la tabla FND_LOBS, esta tabla tiene una columna BLOB FILE_DATA
donde se almacena el archivo adjunto.
Cómo se almacena:
Oracle Applications no utiliza ninguna técnica de compresión y un archivo de 50K
ocupará 50K en la base de datos. El tamaño del archivo en la base de datos se puede obtener
usando el paquete DBMS_LOB, el siguiente ejemplo muestra los detalles de un archivo de 5K que
se adjuntó a una solicitud:
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_DOCUMENTOS
- Esto contiene información independiente del idioma sobre el documento, incluidos CATEGORY_ID y DATATYPE_ID. No contiene el documento real.
- DATATYPE_ID se toma de FND_DOCUMENT_DATATYPES. Esta tabla contiene una fila para cada tipo de datos admitido, por ejemplo, texto breve, archivo, etc.
- CATEGORY_ID se toma de FND_DOCUMENT_CATEGORIES. Esta tabla contiene una fila para cada categoría de archivo adjunto válida en una aplicación. por ejemplo, los comentarios y el currículum son válidos para APPLICATION_ID =800 y Miscellaneous es válido para todas las aplicaciones (APPLICATION_ID =0). Como cada entidad específica se genera con categorías válidas, hay otra tabla, FND_DOC_CATEGORY_USAGES, que contiene una fila para cada CATEGORY_ID válido para un ATTACHMENT_FUNCTION_ID. Determina qué categorías se pueden usar para archivos adjuntos en un formulario en particular.
FND_DOCUMENTOS_TL
La tabla de traducción FND_DOCUMENTS_TL almacena información sobre los documentos en FND_DOCUMENTS y enlaza con esta tabla mediante la columna DOCUMENT_ID. Las filas en
FND_DOCUMENTS_TL incluyen una descripción del documento.
FND_ATTACHMENT_FUNCTIONS
Esta tabla contiene información sobre los formularios para los que se puede habilitar la función de archivos adjuntos
Por ejemplo, FND_ATTACHMENT_FUNCTIONS contiene una fila para FUNCTION_NAME =
'PERWSHRG', es decir, el formulario combinado de Persona y Asignación.
FND_ATTACHMENT_BLOCKS enlaza con FND_ATTACHMENT_FUNCTIONS a través de la columna
ATTACHMENT_FUNCTION_ID y contiene una fila para BLOCK_NAME ='PERSON' .
FND_ATTACHMENT_BLK_ENTITIES contiene una fila para el bloque 'PERSON' con
DATA_OBJECT_CODE ='PER_PEOPLE_F' y PK1_FIELD ='PERSON.PERSON_ID' y
define si se puede consultar o insertar un archivo adjunto a este bloque , actualizado
y eliminado.
FND_ATTACHMENT_BLOCK
Esto contiene información sobre los bloques dentro de esos formularios para los cuales se puede habilitar la función de archivos adjuntos;
FND_ATTACHMENT_BLK_ENTITIES
Contiene información sobre los archivos adjuntos que se pueden usar en un bloque de formulario en particular.
FND_ATTACHED_DOCUMENTS
FND_ATTACHED_DOCUMENTS almacena información que relaciona un documento con una entidad y
en este ejemplo mantendría ENTITY_NAME ='PER_PEOPLE_F' y PK1_VALUE =44.
PK1_VALUE es el valor de FND_ATTACHMENT_BLK_ENTITIES.PK1_FIELD (es decir,
'PERSON. PERSON_ID'), por lo que este archivo adjunto es para la persona con
PER_PEOPLE_F.PERSON_ID =44. El DOCUMENT_ID del documento almacenado también
se mantiene en esta tabla.
FND_ATTACHED_DOCS_FORM_VL
FND_DM_FOLDERATTACHMENTEXT
Consultas relacionadas con archivos adjuntos
Consulta para encontrar tipos de datos de documentos
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
Consulta para encontrar archivos adjuntos
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;
Supongamos que queremos un archivo adjunto de Línea de gastos
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';
¿Cómo determinar el tamaño de un archivo en la tabla 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>;
¿Cómo ver el contenido de la 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; /
Espero que les guste esta información sobre Adjuntos en Oracle Applications R12. Proporcione sus comentarios
Artículos relacionados
FND_LOBS:FND_LOBS almacena información sobre todos los LOB administrados por Generic File Manager (GFM). Es una tabla única que se utiliza tanto para datos temporales de EBS como para datos de usuario permanentes (es decir, archivos adjuntos).
Oracle EBS Auditoría:cómo configurar la auditoría de Oracle EBS, cómo agregar tablas en el grupo de auditoría, cómo seleccionar la columna para la auditoría, solicitud simultánea de actualización de registro de auditoría
Crear un usuario de EBS desde el backend:esta publicación trata sobre cómo crear un usuario de EBS desde el backend , cómo asignar la responsabilidad de la aplicación al usuario creado