Co to są załączniki w aplikacjach Oracle
- Funkcja załączników umożliwia użytkownikom łączenie nieustrukturyzowanych danych, takich jak obrazy, dokumenty edytora tekstu, arkusze kalkulacyjne lub tekst, z danymi aplikacji. Na przykład użytkownicy mogą łączyć obrazy z przedmiotami lub wideo z operacjami jako instrukcjami obsługi.
- Informacje o załącznikach mogą przepływać przez całą aplikację. Na przykład, jeśli włączysz załączniki dla numeru części, w którym użytkownicy będą dołączać obrazy części, możesz następnie włączyć załączniki dla wszystkich innych formularzy, które odnoszą się do numeru części. Użytkownicy mogliby wtedy zobaczyć obraz części, gdziekolwiek występuje ten numer części.
- Możesz zapewnić bezpieczeństwo, aby ograniczyć załączniki, które użytkownicy mogą zobaczyć z określonych formularzy, przypisując kategorie dokumentów do funkcji formularza. Użytkownicy następnie przypisują poszczególne załączniki do poszczególnych kategorii.
- Możesz dodać funkcję załączników do formularzy i funkcji aplikacji bez modyfikowania kodu formularza, o ile formularze są zbudowane przy użyciu standardów Oracle E-Business Suite (zaczynając od formularza Oracle E-Business Suite TEMPLATE).
Informacje o tabeli dla załączników
Wszystkie tabele zawierające dane związane z załącznikami są własnością schematu FND.
Istnieje wiele tabel, które zawierają informacje określające, w którym obszarze
aplikacja może korzystać z załączników:
FND_LOBS
Załączniki są przechowywane w tabeli FND_LOBS, ta tabela ma kolumnę BLOB FILE_DATA
gdzie jest przechowywany załącznik.
Jak to jest przechowywane:
Oracle Applications nie używa żadnej techniki kompresji, a plik o rozmiarze 50 KB zajmie
50 KB w bazie danych. Rozmiar pliku w bazie danych można uzyskać
za pomocą pakietu DBMS_LOB, poniższy przykład pokazuje szczegóły pliku 5K, który
był dołączony do zamówienia:
DBMS_LOB.GETLENGTH(file_data) SIZE_BYTES
z FND_LOBS
gdzie FILE_NAME, np. '%test.doc%'
FILE_NAME FILE_CONTENT_TYPE SIZE_BYTES
----------------------- ------------------ --------- -
aplikacja test.doc/msword 5120
FND_DOCUMENTS
- Przechowuje informacje o dokumencie niezależne od języka, w tym CATEGORY_ID i DATATYPE_ID. Nie zawiera rzeczywistego dokumentu.
- DATATYPE_ID pochodzi z FND_DOCUMENT_DATATYPES. Ta tabela zawiera wiersz dla każdego obsługiwanego typu danych, np. Krótki tekst, Plik itp.
- CATEGORY_ID pochodzi z FND_DOCUMENT_CATEGORIES. Ta tabela zawiera wiersz dla każdej ważnej kategorii załącznika w aplikacji. Np. Komentarze i CV są ważne dla APPLICATION_ID =800, a Miscellaneous jest ważne dla wszystkich aplikacji (APPLICATION_ID =0). Ponieważ każda konkretna jednostka zawiera prawidłowe kategorie, istnieje inna tabela, FND_DOC_CATEGORY_USAGES, która zawiera wiersz dla każdego CATEGORY_ID ważnego dla ATTACHMENT_FUNCTION_ID. Określa, które kategorie mogą być używane do załączników w określonym formularzu.
FND_DOCUMENTS_TL
Tabela tłumaczeń FND_DOCUMENTS_TL przechowuje informacje o dokumentach w FND_DOCUMENTS i łączy do tej tabeli w kolumnie DOCUMENT_ID. Wiersze w
FND_DOCUMENTS_TL zawierają opis dokumentu.
FND_ATTACHMENT_FUNCTIONS
Ta tabela zawiera informacje o formularzach, dla których można włączyć funkcję załączników
Na przykład FND_ATTACHMENT_FUNCTIONS zawiera wiersz dla FUNCTION_NAME =
'PERWSHRG', tj. połączony formularz osoby i przydziału.
FND_ATTACHMENT_BLOCKS łączy się z FND_ATTACHMENT_FUNCTIONS za pośrednictwem kolumny
ATTACHMENT_FUNCTION_ID i zawiera wiersz dla' BLOCK_NAME' =.
FND_ATTACHMENT_BLK_ENTITIES przechowuje wiersz dla bloku 'PERSON' z
DATA_OBJECT_CODE ='PER_PEOPLE_F' i PK1_FIELD ='PERSON.PERSON_ID' i
określa, czy załącznik do tego bloku może być odpytywany, wstawiany , zaktualizowane
i usunięte.
FND_ATTACHMENT_BLOCK
Zawiera informacje o blokach w tych formularzach, dla których można włączyć funkcję załączników;
FND_ATTACHMENT_BLK_ENTITIES
Zawiera informacje o załącznikach, których można użyć w określonym bloku formularza.
FND_ATTACHED_DOCUMENTS
FND_ATTACHED_DOCUMENTS przechowuje informacje dotyczące dokumentu z podmiotem i
w tym przykładzie przechowuje ENTITY_NAME ='PER_PEOPLE_F' i PK1_VALUE =44.
PK1_VALUE to wartość dla FND_ATTACHMENT_BLK_ENTITIES.PK1_FIELD (tj.
'PERSON. PERSON_ID”), a więc ten załącznik jest dla osoby z
PER_PEOPLE_F.PERSON_ID =44. DOCUMENT_ID przechowywanego dokumentu jest również
przechowywany na tej tabeli.
FND_ATTACHED_DOCS_FORM_VL
FND_DM_FOLDERATTACHMENTEXT
Zapytania związane z załącznikami
Zapytanie w celu znalezienia typów danych dokumentu
SQL> wybierz USER_NAME z fnd_document_datatypes;USER_NAME---------Krótki tekstDługi TextImageOLE ObiektStrona internetowaFileDocument Reference Plik Oracle Folder/obszar roboczy plików Oracle
Zapytanie, aby znaleźć plik załącznika
wybierz fad.entity_name,fad.document_id,fad.pk1_value,fad.pk2_value,fd.datatype_id,(fad.entity_name || '' || fad.document_id ||' ' || fl.nazwa_pliku) nazwa_pliku,fl.dane_plikufrom 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.p_value_fd.>Załóżmy, że potrzebujemy załącznika Iexpense Line
wybierz report_line_idfrom apps.ap_expense_report_lines_all lwhere report_header_id=:P_expense_report_number; -- numer raportu z wydatków SELECT fl.*FROM apps.fnd_documents_tl fdtl,apps.fnd_documents fd,apps.fnd_attached_documents fad,apps.fnd_lobs flWHERE fdtl.document_id =fd.document_idAND fd.id_document_ument =fad.pk1_value =':p_report_line_id' -- line_id z pierwszego zapytaniaORAZ fl.file_id =fd.media_idand fdtl.language='US';Jak określić rozmiar pliku w tabeli FND_LOBS?
select file_name, file_id,
do_char(upload_date,'dd-mon-rr hh24:mi:ss'),
do_char(data_wygaśnięcia ,'dd-mon-rr hh24:mi:ss' ),
file_content_type,
dbms_lob.getlength(file_data) size_byte
z applsys.fnd_lobs
gdzie file_id=; Jak zobaczyć zawartość LOB?
-- Odczytaj z fnd_lobs dane wyjściowe serwera file_idset o rozmiarze 1000000;declare my_lob BLOB; Bufor RAW(255); Kwota BINARY_INTEGER :=255; Pozycja INTEGER :=1;begin wybierz file_data do my_lob z fnd_lobs gdzie file_id =&enter_file_id; dbms_lob.open(my_lob, dbms_lob.lob_readonly); DBMS_OUTPUT.PUT_LINE('Początek danych'); pętla DBMS_LOB.READ(my_lob, kwota, pozycja, bufor); /* Przetwórz bufor:*/ DBMS_OUTPUT.PUT_LINE(utl_raw.cast_to_varchar2(Buffer)); Pozycja :=Pozycja + Kwota; pętla końcowa; dbms_lob.zamknij(moj_lob); WYJĄTEK KIEDY NIE ZNALEZIONO DANYCH WTEDY DBMS_OUTPUT.PUT_LINE('Koniec danych');koniec;/Mam nadzieję, że podobają Ci się te informacje na temat załączników w aplikacjach Oracle R12. Prosimy o przesłanie opinii
Powiązane artykuły
FND_LOBS :FND_LOBS przechowuje informacje o wszystkich obiektach LOB zarządzanych przez Generic File Manager (GFM). Jest to unikalna tabela używana zarówno dla tymczasowych danych EBS, jak i stałych danych użytkownika (tj. załączników).
Oracle EBS Audyt :Jak skonfigurować Audyt Oracle EBS, jak dodawać tabele do grupy audytu, jak wybrać kolumnę do audytu, żądanie jednoczesnej aktualizacji ścieżki audytu
Utwórz użytkownika EBS z zaplecza :Ten post dotyczy tworzenia użytkownika EBS z zaplecza , jak przypisać odpowiedzialność za aplikację do utworzonego użytkownika