[Record Set] |
Edited: 2017-02-16
Record Set cho phép khai báo các mẩu tin thành 1 tập hợp để dễ dàng thay đổi.
Recorset có thể dùng chung với EditList hoặc GridFixed (Attribute Item chỉ dùng với GridFixed)
Ví dụ : Ta có 1 mã tài sản cố định và muốn nhập một tập hợp gồm 9 thuộc tính cho tài sản đó.
+ Các thuộc tính được lưu vào bảng item attribute
+ Danh mục các thuộc tính được quy định ở bảng attribute (9 thuộc tính)
Như vậy, nếu đây là 1 tài sản mới, chưa có thuộc tính nào thì 9 thuộc tính sẽ được lấy ra từ danh mục attribute. Ngược lại nếu 1->9 thuộc tính đã được định nghĩa trước đó, thì ta phải lấy những thuộc tính cũ của tài sản từ danh mục item attributes. Sau đó trộn lẫn 2 danh mục mới và cũa lại để ra bảng thuộc tính hiện thời.
Ví dụ 2: Ta có 1 dự án (project) và muốn nhập một tập hợp gồm 10 ghi chú (notes) cho dự án này.
+ Cấu trúc 10 ghi chú được lưu vào bảng Lookup PR_NOTES
+ Bản thân các ghi chú được lưu vào bảng Project Notes.
Như vậy, nếu đây là 1 dự án mới, chưa có ghi chú nào thì 10 ghi chú sẽ được lấy ra từ danh mục lookup PR_NOTES. Ngược lại nếu 1->10 ghi chú đã được ghi nhận trước đó, thì ta phải lấy những ghi chú cũ của dự án từ danh mục Project Notes. Sau đó trộn lẫn 2 danh mục mới và cũa lại để ra bảng các ghi chú hiện thời.
1. Định nghĩa Recordset
Data URL : Tạo danh sách 1 - cấu trúc thuộc tính cho 1 mã TSCĐ mới
Transform Target: Nơi lưu trữ các thuộc tính của 1 mã TSCĐ - danh sách 2
Recordset Key Formula : Khi trộn lẫn danh sách 1 và 2 để tạo ra danh mục các thuộc tính hiện thời. Phoebus sẽ dung công thức nằng đẻ xác định thuộc tính nào đã ghi nhận, thuộc tính nào chưa.
2. Sử dụng Recordset
Sau khi định nghĩa recordset ta có thể sử dụng nó cùng với EditList UI như sau:
pbs.BO.EAM.ITMA?$action=AmendDetails&$recordset=ASSET_ATTR&ClassId=pbs.BO.FA.AR&ObjectKey=[AssetCode]&UniqueId=[AnalF1]
khi gán với context-dòng được chọn là Asset Record. Lệnh trên được gán tham số như sau:
pbs.BO.EAM.ITMA?$action=AmendDetails&$recordset=ASSET_ATTR&ClassId=pbs.BO.FA.AR&ObjectKey=CAM-001&UniqueId=106805
Giải thích cú pháp:
Câu lệnh trên sẽ mở giao diện như sau :
Sử dụng Recorset với Grid-fixed. Xét ví dụ ta muốn thiết lập một tập hợp các ghi chú ( notes) cho 1 candidate
1. Danh mục các ghi chú được tạo bởi pbs.BO.Lookup : HRCDDNOTES như sau
2. Thiết lập Recordset bao gồm 2 mẩu tin Candidate Notes như sau:
Ta thấy DataURL mô tả nguồn để tạo ra 2 mẩu tin Candidate Notes. Transform Target khai báo loại mẩu tin muons tạo ra là pbs.BO.HR.CDDNOTES
Bảng mapping bên dưới convert danh mục HRCDDNOTES thành danh mục pbs.BO.HR.CDDNOTES
Chú ý đặc biệt tới ô Recordset Key Formula: tiêu chí Sort No sẽ dùng để merge danh mục Notes có sẵn với 2 record được tạo ra theo mẫu HRCDDNOTES
3. Thiết lập GridFixed trên form pbs.BO.HR.CANDIDATE như sau :
(Chú ý setup Header To Detail Fields LineNo->CandidateID : Post)
Kết quả cuối cùng:
pbs.BO.Data.EditableRecordSet?$code=<Code of recordset profile> & other parameters
If this function links with a report tag, please describe the report tag.