MỤC LỤC MỤC LỤC................................................................................................................1 Kiến trúc ứng dụng .................................................................................................4 Tổng quan về kiến trúc ứng dụng. .................................................................................. 4 Mô hình phát triển và triển khai Oracle Application. ..................................................... 7
Các chuẩn cho việc Customize ứng dụng .............................................................8 Tổng quan về việc customize Oracle Applications......................................................... 8 Customization theo cách mở rộng. ................................................................................. 9 Customize theo cách mở rộng ......................................................................................... 9 Customize bằng cách chỉnh sửa .................................................................................... 11 Customize cơ sở dữ liệu Oracle Applications............................................................... 12 Nâng cấp và chỉnh sửa Oracle Applications ................................................................. 12 Tích hợp Custom Objects và Schemas ......................................................................... 12 Nâng cấp các form được customize lên Release 11i .................................................... 12
Tổng quan về Coding Standard trong ứng dụng ...............................................13 Theo dõi các thay đổi về dữ liệu với Record History ( WHO ) .................................... 13 Các ràng buộc khai báo ( declarative constraint ) : ....................................................... 15 View : ............................................................................................................................ 16 Sequence : ..................................................................................................................... 16 API đăng kí bảng : ........................................................................................................ 16 Tổng quan về việc sử dụng PL/SQL trong các ứng dụng : ........................................... 17 Thuật ngữ : .................................................................................................................... 17 Các chuẩn chung trong lập trình PL/SQL : ................................................................... 18 Định dạng mã PL/SQL : ............................................................................................... 19 Xử lý lỗi : ...................................................................................................................... 20 Một vài hướng dẫn khi coding SQL : ........................................................................... 21 Các trigger trong form : ................................................................................................ 22 Những sự thay thế cho các built-in trong Oracle Forms ............................................... 22 Lập trình các handler cho item, event và table : ........................................................... 23 Lập trình các handler cho item : ................................................................................... 24 Lập trình các handler cho event : .................................................................................. 25 Lập trình các handler cho table : ................................................................................... 25
Form TEMPLATE ................................................................................................40 Giới thiệu về form TEMPLATE : ................................................................................. 40 Các thư viện trong form TEMPLATE .......................................................................... 40 Các trigger trong form TEMPLATE............................................................................. 42
Thiết lập các thuộc tính của các đối tượng chứa(ContainerObject) ................49 Các đối tượng chứa : ..................................................................................................... 49 Module : ........................................................................................................................ 49 Window :....................................................................................................................... 49 Canvas : ......................................................................................................................... 51 1
Block : ........................................................................................................................... 51 Region : ......................................................................................................................... 54
Thiết lập các thuộc tính của các đối tượng Widget ...........................................55 Text Item : ..................................................................................................................... 55 Display Item : ................................................................................................................ 56 Poplist : ......................................................................................................................... 56 Option Group : .............................................................................................................. 56 Check Box :................................................................................................................... 56 Button ( Nút ) : .............................................................................................................. 56 List of Values ( LOV ) .................................................................................................. 57 Thiết lập các thuộc tính cho item : ................................................................................ 57 Một số lưu ý : ................................................................................................................ 60
Điều khiển hoạt động của Window, Block, và Region .......................................61 Điều khiển hoạt động của Window ............................................................................... 61 Lập trình cho các Tabbed Regions................................................................................ 69 Hành động của tabbed region : ..................................................................................... 70 3 mức khó trong lập trình : ........................................................................................... 70
Cho phép hoạt động truy vấn ..............................................................................73 Query Find : .................................................................................................................. 73 Triển khai Row-LOV .................................................................................................... 73 Triển khai Find Window ............................................................................................... 74
Lập trình các hành động cho item .......................................................................78 Mối quan hệ giữa các Item............................................................................................ 78 Item phụ thuộc có điều kiện .......................................................................................... 81 Các item đa phụ thuộc................................................................................................... 82 2 Master Item và 1 Dependent Item .............................................................................. 83 Kiểu phụ thuộc Cascading ............................................................................................ 85 Các item loại trừ lẫn nhau (Mutually Exclusive Items) ................................................ 86 Các item đồng hành với nhau (Mutually Inclusive Items) ............................................ 88 Mutually Inclusive Item liên hệ với Dependent Item ................................................... 89 Các item bắt buộc điều kiện (Conditionally Mandatory Items) .................................... 91 Các mặc định (Defaults) ............................................................................................... 93 Kiểm tra tính toàn vẹn (Integrity Checking) ................................................................. 94 Đối tượng Calendar ....................................................................................................... 97 Các lựa chọn cấp cao của Calendar .............................................................................. 98
Điều khiển Toolbar và Default Menu ...............................................................100 Pulldown Menu và Toolbar ........................................................................................ 100 Các lựa chọn có trên thanh công cụ ( toolbar ) : ......................................................... 101 Các mục chỉ có trong Menu ........................................................................................ 102 Điều khiển menu động ................................................................................................ 103 Tạo các biểu tượng trên toolbar cho các form bạn customize .................................... 104 Các menu đặc biệt ....................................................................................................... 105 Customize các Right–Mouse Menu (Popup Menus) .................................................. 105
Message Dictionary .............................................................................................108 Tổng quan về Message Dictionary ............................................................................. 108 Các điểm đặc trưng của Message Dictionary ............................................................ 108
2
Các bước cần tiến hành khi xác định Message Dictionary ......................................... 109 Thiết lập Message Dictionary ..................................................................................... 109 Phương pháp đối với Database Server–side Messaging. ............................................ 110
USER PROFILE .................................................................................................112 Các mức của User Profile: .......................................................................................... 112 Định nghĩa mới các tùy chọn của user profile ............................................................ 113 Thiết lập giá trị tùy chọn user profile.......................................................................... 113 Thiết lập user profile riêng của bạn ............................................................................ 113 Xác định trước tùy chọn user profile .......................................................................... 113 Profile Window ........................................................................................................... 114
FOLDER ..............................................................................................................116 Tổng quan về Folder. .................................................................................................. 116 Lập trình với Folder trên form ứng dụng. ................................................................... 116
3
Kiến trúc ứng dụng Tổng quan về kiến trúc ứng dụng. Kiến trúc ứng dụng của hệ thống Oracle Application theo mô hình tập trung 3 lớp, đó là các lớp Desktop Client, Middle Tier (Form Server) và Data Base Server. Mọi thao tác ở Client đều thực hiện dựa trên hệ thống Java nhúng. Dữ liệu nhập liệu được truyền về Application Server, việc xử lí các chức năng được thực hiện ở Application Server. Việc thao tác xử lí dữ liệu thực hiện ở Database Server. Kiến trúc tổng thể được mô tả như hình vẽ dưới đây:
Desktop Client : • Giao diện đồ họa, sử dụng trên các Web browser chuẩn có hỗ trợ Java nhúng chạy Jinitiator. • Oracle JInitiator là phiên bản Oracle của JavaSoft‟s Java Plug-In, cho phép xử lý JVM tại Web client thay vì dựa vào JVM default của browser.
4
•
Có thể tương thích với mọi PC,network computer hoặc trên bất cứ giao diện nào có Java.
Middle Tier (Form Server): • Xử lý các đáp ứng logic của Form. • Là nơi lưu giữ các dữ liệu cache cục bộ. • Trung gian giữa hai tầng.
5
Database Server: • Sử dụng các lời hàm từ xa (RPC) để giao tiếp với DB khi cần thiết (có thể thực hiện nhiều DB action cùng một lúc – các câu lệnh SQL). • Xử lý thao tác dữ liệu trên ứng dụng. • Lưu các thủ tục trên DB nên giao tiếp giữa các stored procedure và DB xảy ra trong bộ nhớ chứ không phải trên mạng. • Tương thích với DB từ 8i trở lên.
6
Mô hình phát triển và triển khai Oracle Application.
Hiện tại tại trung tâm sử dụng môi trường Window để thiết kế giao diện, dịch Form bằng Form Server trên hệ điều hành Linux. Quá trình phát triển form bao gồm ba bước chính là: • Build • Generate • Run/Test Build Form : Access to Libraries and Referenced Forms Thiết lập FORMS60_PATH. Referenced Objects and the ORACLE_APPLICATIONS V ariable Generating Your Form : (dịch Form trên Forms Server) Moving the File fmb Dịch file : f60gen module=demo.fmb userid=apps/apps Running Your Form for Testing : test trên môi trường Web chứ không phải trên Form developer Sau khi hoàn thành các bước trên chuyển đến Deployment : Nếu đang phát triển và triển khai trên cùng một platform thì chỉ cần copy file .fmx đến đích còn không phải dịch file trên platform đích.
7
Các chuẩn cho việc Customize ứng dụng Để có thể phát triển ứng dụng trên sản phẩm Oracle Applications bạn phải sử dụng Oracle Application Object Library cùng với các công cụ khác như Form và Report. Các chủ đề chính :
Tổng quan về việc customize Oracle Applications
Customize theo cách mở rộng
Customize theo cách chỉnh sửa
Customize cơ sở dữ liệu Oracle Applications
Nâng cấp và chỉnh sửa Oracle Applications
Nâng cấp Custom Forms lên Release 11i
Upgrade Utility và Standards Compliance Checker: flint60
Tổng quan về việc customize Oracle Applications Các công việc sau bạn có thể làm để phát triển trên ứng dụng :
Thay đổi các Form trên ứng dụng : – Giao diện (appearance) – Mã kiểm tra (validation logic) – Hành động (behavior)
Thay đổi Report hay chương trình : – Giao diện (appearance) – Mã (logic)
Thay đổi cơ sở dữ liệu của ứng dụng : – Thêm vào các read–only schema – Thêm mã vào các database trigger
Biên dịch lại toàn bộ ứng dụng.
8
Customization theo cách mở rộng. Phát triển các thành phần mới cũng như ứng dụng mới trên nền có sẵn sử dụng Oracle Application Object Library. Điều này có thể đơn giản bằng cách copy một thành phần có sẵn tới một thư mục khác và tiến hành sửa đổi nó.
Customization theo cách chỉnh sửa Cách này gọi là thay đổi ngay tại chỗ. Tuy nhiên theo khuyến cáo ta nên tránh cách làm này vì có thể gặp sự cố khi nâng cấp hoặc khi sửa đổi.
Các thành phần (Component) Component có thể là module code (như form, report hoặc SQL script) hay các đối tượng Oracle Application Object Library (như menus, responsibilities, messages) hay kể cả đối tượng CSDL(tables, views, packages, or functions). Một ứng dụng phát triển phải được đăng ký với Oracle Application Object Library và phải có thư mục riêng cùng với component của nó.
Các đối tượng cơ sở dữ liệu Một table, index, view, sequence, database trigger, package, grant, hoặc synonym.
Application Short Name Là tên tham chiếu của ứng dụng không có dấu cách.
Application Basepath Là tên của một biến môi trường được chuyển thành top directory của cây thư mục của ứng dụng. Oracle Application Object Library sẽ tìm các đường dẫn tới các thư mục ở mức dưới để thực hiện các file chạy trong ứng dụng kể cả form file.
Cấu trúc thư mục của Application Là sự sắp sếp thứ tự các thư mục trong ứng dụng. Thủ mục của Oracle Applications được tạo ra khi cài đặt ứng dụng hay khi nâng cấp ứng dụng. Với các ứng dụng tự tạo bạn phải tạo riêng các thư mục cho nó.
Các file môi trường (Environment Files) của ứng dụng Xác định biến môi trường khi cài đặt ứng dụng. Biến môi trường bao gồm
.env và adovars.env (đối với UNIX platforms).
Customize theo cách mở rộng
Định nghĩa ứng dụng được customize của bạn
9
Tạo cấu trúc thư mục cho ứng dụng được customize
Thêm ứng dụng được customize vào trong file Environment của ứng dụng
Thêm các thành phần mới vào trong ứng dụng được customize của bạn
Lập tài liệu cho các thành phần mới
Lập tài liệu cho các thành phần mới
Với mỗi thành phần mới, lập tài liệu cho ít nhất là các nội dung sau :
Mục đích
Các tham số đầu vào (cho report và program)
Các đầu ra ví dụ (cho report và program)
Xử lý mã
Các đối tượng CSDL được sử dụng và kiểu truy cập (select, update, insert,delete). Nếu các component tự của bạn là sửa từ bản copy của một component trong ứng dụng bạn phải liệt kê chúng trong file applcust.txt ( nằm ở $APPL_TOP/admin directory Oracle Applications sẽ sử dụng file này trong quá trình patch hay upgrade
Định nghĩa ứng dụng được customize của bạn Sử dụng Applications window để đăng ký custom application (bao gồm name và short name theo tiêu chuẩn đặt tên thông thường)
Tạo cấu trúc thư mục cho ứng dụng được customize Tự tạo cho ứng dụng của bạn một cấu trúc thư mục hợp lý.
Sửa đổi Applications Environment File Sửa đổi file biến môi trường cho hợp lý sau đó khởi động lại Forms Server và Internal Concurrent Manager rồi chạy file biến môi trường để Oracle Application Object Library tìm thấy các component.
Thêm mới các thành phần Mỗi khi tạo một component mới lưu ý là để chúng ở trong thư mục con hợp lý của ứng dụng.
Thêm một form mới Sử dụng file Template khi bắt đầu tạo một form mới để có thể tương thích
10
với ứng dụng hoặc sửa đổi một form đã có sẵn trên ứng dụng rồi đăng ký lại với ứng dụng.
Các bước tiếp theo là :
Thêm một Report hoặc một Concurrent Program
Thêm một Report Submission Form
Thêm Online Help
Thêm Menus
Thêm Responsibilities
Thêm các thông báo trong Message Dictionary
Customize bằng cách chỉnh sửa Các bước tiến hành để sửa đổi một form có sẵn trong ứng dụng : Với Release 11i, tất cả các form đêu đặt trong thư mục $AU_TOP/forms/. Copy Oracle Applications form để tiến hành sử đổi ( Lưu ý không sửa đổi trực tiếp lên form). Sử dụng Oracle Forms Developer and Oracle Application Object Library :
1. Xác định một file 2. Copy file vào trong custom application và đổi tên file 3. Bảo toàn file nguyên bản 4. Thực hiện các chỉnh sửa 5. Chú thích cho form 6. Dịch form 7. Đăng kí ứng dụng được customize trong applcust.txt 8. Lập tài liệu cho việc customize
Chú thích cho form Để ghi thông tin về ngày và người sửa của form sử dụng PRE–FORM trigger Oracle Forms. FND_STANDARD.FORM_INFO(‟$Revision: $‟, ‟