[Record Set]

Edited: 2017-02-16

Introduction

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.

Usage

 

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:

  1. pbs.BO.EAM.ITMA :  Attribute cho TSCĐ sẽ được ghi vào bảng pbs.BO.EAM.ITMA
  2. $action=AmendDetails :  Gọi giao diện dạng bảng để sửa và lưu dữ liệu trực tiếp.
  3. $recordset=ASSET_ATTR :  Sử dụng thiết lập recordset trong hình trên.
  4. UniqueId=106805 :   định danh cấu trúc định trước của 9 attribute. Sử dụng như tham số cho câu lệnh Data URL .
  5. ClassId=pbs.BO.FA.AR&ObjectKey=CAM-001 :   Preset cho các mẩu tin pbs.BO.EAM.ITMA mới, ghi nhận 9 thuộc tính này mô tả cho mã TSCĐ nào. Dựa vào dữ liệu này Phoebus có thể xác định thuộc tính cho bất kỳ mẩu tin nào trong hệ thống.

Câu lệnh trên sẽ mở giao diện như sau :

 

Ví dụ 2:

 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:

 

 

Module :

 

User table

pbs.BO.Data.EditableRecordSet?$code=<Code of recordset profile> & other parameters

Report Tags

If this function links with a report tag, please describe the report tag.

 

Data structure