Data Interface là công cụ chuyển đổi dữ liệu:
Uyển chuyển nhất, có thể thiết lập để chuyển dữ liệu từ dạng này sang dạng khác cho dù loại dữ liệu cần tạo ra rất phức tạp.
Hỗ trợ phân bổ, tách nguồn dữ liệu theo tỷ lệ dữ liệu
Hỗ trợ trên giao diện người sử dụng, tự động đánh dấu dữ liệu cần chuyển đổi đã được xử lý.
Nguyên tắc hoạt động:
Là bảng dữ liệu nguồn được tạo ra dựa vào : Source URL , kết hợp với kết quả Survey.
Key columns là các cột trên bảng Source, dùng để đánh dấu các mục dữ liệu nguồn đã được xử lý
Là bảng dữ liệu dùng làm tỷ lệ để phân bổ từng dòng của bảng dữ liệu nguồn. Cấu trúc và cách xây dựng Ratio được thiết kế từ tính năng Data Interface Ratio
Original Values là các cột giá trị của Source. Chúng sẽ được tách ra theo tỷ lệ. Còn giá trị nguyên thủy của chúng sẽ được giữ trong các cột cùng tên + với tiếp đầu tố 'Original_' (Original_{0})
Nội dung bảng Ratio Cũng sẽ được thêm vào bảng nguồn với tiếp đầu tố 'Ratio_'. ("Ratio_{0}").
Ratio Filter: Là tên cột trên cả 2 bảng Source và Ratio. Nó dùng để xác định tỷ lệ cho từng dòng dữ liệu nguồn. Khi xử lý mỗi dòng dữ liệu từ Source, tỷ lệ phân bổ của riêng nó sẽ được xác định là tập hợp các dòng trên bảng ratio sao cho giá trị của cột Ratio filter trên cả 2 bảng là giống nhau.
Nếu Ratio Filter không được định nghĩa. Toàn bộ bảng Ratio sẽ được dùng để phân bổ cho toàn bộ các dòng của bảng Source.
Kết quả import Target Table thành loại dữ liệu Target đựơc quy định ở ô Target Data Type.
Chú ý với Journal import. Ta ghi pbs.BO.LA.JI/ RE.AJI thay vì JILine/ ARJILine
Exclusion Rule : loại trừ, bỏ qua các dòng trên bảng kết quả không tạo kết quả cuối cùng.
Shrink. Cộng gộp các dòng giống nhau lại.
⚠️ Chú ý
Thông thường, khi sử dụng lệnh pbs.BO.TM.DataInterface để post dữ liệu, Sequence number sẽ chạy tự động dựa trên setup numbering tại subform = DICode.
Ví dụ DI Code =TST được cài đặt để interface pbs.BO.HR.EMP ⇒ Sequence number dựa trên setup numbering tại pbs.BO.HR.EMP/TST.
Sau khi thiết lập, các profile này được chạy bằng các cách sau:
Có 2 cách chạy:
Chạy tự động trên server, không qua giao diện người sử dụng. Các lệnh interface để cập nhật thông tin tham chiếu (single record) ở hậu trường. Xem lệnh Data interface runner
Chạy qua giao diện người sử dụng. Thao tác viên phê duyệt và tạo thông tin tham chiếu từ nguồn dữ liệu ngoài. Xem lệnh Data Interface
JI - journal import, ARJI - Journal Import (Real Estate), SINV - Sales Invoices (pending), EPR - Employee Payroll Records, Phoebus có các tính năng riêng để chạy cho từng loại dữ liệu. Bản chất là tính năng pbs.BO.TM.DataInterface nhưng được thay đổi để phù hợp hơn với từng tính năng
ARJI : Ledger Interface (RE)
EPR : Payroll Interface
MI : Inventory Interface
SINV : Invoice Interface Setup
Định nghĩa Data interface Setup sử dụng trong lệnh này cho phép thiết lập quy tắc đánh dấu các mẩu tin đã xử lý thông qua cơ chế Transfer Manager Key - TMK
Sau khi mẩu tin đích được lưu thành công vào CSDL. Chương trình sẽ trích xuất từ bảng dữ liệu nguồn các mẩu tin vừa được xử lý. Xác định giá trị Key cần đánh dấu và thực hiện ghi vào bảng TMK với mã là DI-Mã_DI_Code
Khi chạy tự động trên server không có tương tác trực tiếp với user, các lỗi nếu có sẽ không cho phép tiến trình transfer được thực hiện. Logic này an toàn vì:
Các lỗi phải gây chú ý đến admin hệ thống càng nhanh càng tốt. Dữ liệu không được xử lý sẽ gây chú ý tốt hơn việc chỉ một phần dữ liệu được xử lý.
Các lỗi phát sinh nếu bỏ qua có thể gây nhầm lẫn hoặc lỗi khi đánh dấu dữ liệu đã xử lý. Ví dụ 1 dòng doanh thu bán hàng tạo 2 nghiệp vụ đích : Ghi nhận Doanh thu và ghi nhận hoa hồng cho bên thứ 3. Nếu chỉ 1 trong 2 nghiệp vụ đích họp lệ và vẫn được xử lý, bỏ qua nghiệp vụ không hợp lệ thì khi đánh dấu bằng TMK. dòng doanh thu bán hàng gốc sẽ được đánh dấu đã xử lý. Ta sẽ không có cơ hội xử lý lại dữ liệu bị lỗi nữa.
Bỏ qua lỗi transfer là cách triển khai rất rủi ro, sẽ gây nhiều vấn đề support sau này.
Cách dung hòa nhất nếu vẫn muốn bỏ qua lỗi là sử dụng tùy chọn $OneByOne. Khi đó mỗi dòng dữ liệu gốc được xử lý riêng biệt và được TMK đánh dấu riêng biệt. Tùy chọn này có thể làm chương trình chạy chậm hơn. Tuy nhiên do chạy trên server nên vấn đề này có thể bỏ qua.
Updated on : 2024-06-17 12:22:07. by : nghianh@spc-technology.com. nghianh at 10.0.0.8.
Topic : Data interface Setup. pbs.bo.tm.di