Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tệp đính kèm trong Ứng dụng Oracle R12

Phần đính kèm trong Ứng dụng Oracle là gì

  • Tính năng tệp đính kèm cho phép người dùng liên kết dữ liệu phi cấu trúc, chẳng hạn như hình ảnh, tài liệu xử lý văn bản, bảng tính hoặc văn bản với dữ liệu ứng dụng của họ. Ví dụ:người dùng có thể liên kết hình ảnh với các mục hoặc video với các thao tác dưới dạng hướng dẫn vận hành.
  • Thông tin đính kèm có thể chảy qua toàn bộ ứng dụng của bạn. Ví dụ:nếu bạn bật tệp đính kèm cho một số bộ phận, nơi người dùng sẽ đính kèm hình ảnh của bộ phận, thì bạn có thể bật tệp đính kèm cho tất cả các biểu mẫu khác đề cập đến số bộ phận của bạn. Sau đó, người dùng sẽ có thể nhìn thấy hình ảnh của bộ phận ở bất cứ nơi nào có số bộ phận đó.
  • Bạn có thể cung cấp bảo mật để giới hạn những tệp đính kèm mà người dùng có thể xem từ các biểu mẫu cụ thể bằng cách gán các danh mục tài liệu cho các chức năng biểu mẫu của bạn. Sau đó, người dùng chỉ định các tệp đính kèm riêng lẻ cho các danh mục cụ thể.
  • Bạn có thể thêm tính năng tệp đính kèm vào các biểu mẫu và chức năng ứng dụng của mình mà không cần sửa đổi mã biểu mẫu, miễn là các biểu mẫu của bạn được tạo bằng các tiêu chuẩn của Oracle E-Business Suite (bắt đầu với biểu mẫu Oracle E-Business Suite TEMPLATE).

Thông tin bảng cho phần đính kèm

Tất cả các bảng chứa dữ liệu liên quan đến tệp đính kèm đều thuộc sở hữu của lược đồ FND.

Có một số bảng chứa thông tin xác định khu vực nào của
ứng dụng có thể sử dụng tệp đính kèm:

FND_LOBS

Tệp đính kèm được lưu trữ trong bảng FND_LOBS, bảng này có cột BLOB FILE_DATA
nơi lưu trữ tệp đính kèm.

Cách nó được lưu trữ:

Ứng dụng Oracle không sử dụng bất kỳ kỹ thuật nén nào và tệp 50K sẽ
chiếm 50K trong cơ sở dữ liệu. Kích thước của tệp trong cơ sở dữ liệu có thể được lấy
bằng cách sử dụng gói DBMS_LOB, ví dụ sau cho thấy chi tiết của tệp 5K mà
được đính kèm theo yêu cầu:

 chọn FILE_NAME, FILE_CONTENT_TYPE, 
DBMS_LOB.GETLENGTH (file_data) SIZE_BYTES
từ FND_LOBS
trong đó FILE_NAME như '% test.doc%'
FILE_NAME FILE_CONTENT_TYPE SIZE_BYTES
----------------------- -------------------------- - Ứng dụng
test.doc / msword 5120


FND_DOCUMENTS

  • Điều này chứa thông tin không phụ thuộc vào ngôn ngữ về tài liệu bao gồm CATEGORY_ID và DATATYPE_ID. Nó không chứa tài liệu thực tế.
  • DATATYPE_ID được lấy từ FND_DOCUMENT_DATATYPES. Bảng này chứa một hàng cho mỗi loại dữ liệu được hỗ trợ, ví dụ:Văn bản ngắn, Tệp, v.v.
  • CATEGORY_ID được lấy từ FND_DOCUMENT_CATEGORIES. Bảng này chứa một hàng cho mỗi danh mục tệp đính kèm hợp lệ trong một ứng dụng. ví dụ:Nhận xét và Tiếp tục đều hợp lệ cho APPLICATION_ID =800 và Điều khoản khác hợp lệ cho tất cả các ứng dụng (APPLICATION_ID =0). Vì mỗi thực thể cụ thể được gieo bằng các danh mục hợp lệ, nên có một bảng khác, FND_DOC_CATEGORY_USAGES, chứa một hàng cho mỗi CATEGORY_ID hợp lệ cho ATTACHMENT_FUNCTION_ID. Nó xác định danh mục nào có thể được sử dụng cho các tệp đính kèm trên một biểu mẫu cụ thể.


FND_DOCUMENTS_TL

Bảng dịch FND_DOCUMENTS_TL lưu trữ thông tin về các tài liệu trong FND_DOCUMENTS và liên kết tới bảng này theo cột DOCUMENT_ID. Các hàng trong
FND_DOCUMENTS_TL bao gồm mô tả của tài liệu.


FND_ATTACHMENT_FUNCTIONS

Bảng này chứa thông tin về các biểu mẫu mà chức năng tệp đính kèm có thể được kích hoạt

Ví dụ:FND_ATTACHMENT_FUNCTIONS chứa một hàng cho FUNCTION_NAME =
'PERWSHRG' tức là biểu mẫu Người và việc kết hợp.
FND_ATTACHMENT_BLOCKS liên kết tới FND_ATTACHMENT_FUNCTIONS qua cột
ATTACHMENT_FUNCTION_ID và chứa một hàng cho BLOCK_NAME ='PERSON' .
FND_ATTACHMENT_BLK_ENTITIES giữ một hàng cho khối 'PERSON' với
DATA_OBJECT_CODE ='PER_Posystem_F' và PK1_FIELD ='PERSON.PERSON_ID' và
xác định xem có thể truy vấn, chèn tệp đính kèm vào khối này hay không , đã cập nhật
và bị xóa.


FND_ATTACHMENT_BLOCK

Điều này chứa thông tin về các khối trong các biểu mẫu đó mà tính năng tệp đính kèm có thể được bật;

FND_ATTACHMENT_BLK_ENTITIES

Điều này giữ thông tin về các tệp đính kèm có thể được sử dụng trong một khối biểu mẫu cụ thể.

FND_ATTACHED_DOCUMENTS

FND_ATTACHED_DOCUMENTS lưu trữ thông tin liên quan đến tài liệu với một thực thể và
trong ví dụ này sẽ lưu giữ ENTITY_NAME ='PER_Posystem_F' và PK1_VALUE =44.
PK1_VALUE là giá trị cho FND_ATTACHMENT_BLK_ENTITIES.PK1_FIELD (tức là
'PERSON. PERSON_ID ') và do đó, tệp đính kèm này dành cho người có
PER_Posystem_F.PERSON_ID =44. DOCUMENT_ID của tài liệu đã lưu trữ cũng
được lưu giữ trên bảng này.


FND_ATTACHED_DOCS_FORM_VL
FND_DM_FOLDERATTACHMENTEXT

Truy vấn liên quan đến tệp đính kèm

Truy vấn để tìm kiểu dữ liệu tài liệu

 SQL> chọn USER_NAME từ fnd_document_datatypes; USER_NAME --------- Short TextLong TextImageOLE ObjectWeb PageFileDocument ReferenceOracle FileOracle Files Folder / Workspace 

Truy vấn tìm tệp đính kèm

 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;  

Giả sử chúng ta muốn có tệp đính kèm Dòng Iexpense

 select report_line_idfrom apps.ap_expense_report_lines_all l where report_header_id =:P_expense_report_number; - số báo cáo chi phí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 fdAND.document_id =fad.ument_idANDLINE fad fad.pk1_value =':p_report_line_id' - line_id trong truy vấn đầu tiênAND fl.file_id =fd.media_idand fdtl.language ='US'; 

Làm thế nào để xác định kích thước của tệp trong bảng 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
từ applsys.fnd_lobs
trong đó file_id =;

Làm thế nào để xem nội dung của LOB?

 - Đọc từ fnd_lobs một thông lượng tệp_cấp phục vụ đã cho trên kích thước 1000000; khai báo my_lob BLOB; Bộ đệm RAW (255); Số tiền BINARY_INTEGER:=255; Vị trí INTEGER:=1; bắt đầu chọn tệp_dữ liệu vào my_lob từ fnd_lobs nơi tệp_id =&enter_file_id; dbms_lob.open (my_lob, dbms_lob.lob_readonly); DBMS_OUTPUT.PUT_LINE ('Bắt đầu dữ liệu'); loop DBMS_LOB.READ (my_lob, Amount, Position, Buffer); / * Xử lý bộ đệm:* / DBMS_OUTPUT.PUT_LINE (utl_raw.cast_to_varchar2 (Bộ đệm)); Chức vụ:=Chức vụ + Số tiền; kết thúc vòng lặp; dbms_lob.close (my_lob); NGOẠI LỆ KHI KHÔNG CÓ_DATA_FOUND THÌ DBMS_OUTPUT.PUT_LINE ('Kết thúc dữ liệu'); end; / 

Hy vọng bạn thích thông tin này về Phần đính kèm trong Ứng dụng Oracle R12. Vui lòng cung cấp phản hồi

Các bài viết có liên quan
FND_LOBS:FND_LOBS lưu trữ thông tin về tất cả LOB được quản lý bởi Trình quản lý tệp chung (GFM). đây là một bảng duy nhất được sử dụng cho cả dữ liệu tạm thời của EBS và dữ liệu người dùng vĩnh viễn (tức là Tệp đính kèm).
Oracle EBS Kiểm toán:Cách thiết lập Kiểm toán Oracle EBS, cách thêm bảng trong nhóm kiểm tra, cách chọn cột để kiểm tra, yêu cầu cập nhật đường mòn kiểm tra đồng thời
Tạo người dùng EBS từ chương trình phụ trợ:Bài đăng này nói về cách Tạo người dùng EBS từ chương trình phụ trợ , cách gán trách nhiệm ứng dụng cho người dùng đã tạo


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC ResultSet:Tôi cần getDateTime, nhưng chỉ có getDate và getTimeStamp

  2. SQL:làm thế nào để sử dụng UNION và sắp xếp theo một lựa chọn cụ thể?

  3. jdbc jar để sử dụng với oracle 11g &jdk 1.6 và cách kết nối với chính db

  4. Tìm tất cả các giá trị không phải dạng số trong một cột trong Oracle

  5. Cập nhật Bảng Oracle từ Excel VBA Macro bằng cách sử dụng kết nối ODBC