- Tình huống kinh doanh
Doanh nghiệp muốn ngày giao hàng được tự động tính toán và số tiền nợ của khách hàng cũng được hiển thị ngay trên đơn hàng (Sales Order)
Bằng cách sử dụng UDV, 2 yêu cầu trên sẽ được giải quyết một cách nhanh chóng và gọn gàng.
- UDV là gì và có thể dùng chúng như thế nào?
UDV là tập giá trị do người dùng tự định nghĩa hoặc tập giá trị được tạo bởi câu truy vấn (Query).
UDV có thể được gắn vào 1 field có thuộc tính editable cho cả field của SAP B1 hoặc field do người dùng định nghĩa (User Defined Field)
- Dấu hiệu để nhận biết field đang được thêm UDV
Biểu tượng hình kính lúp là dấu hiệu để nhận biết field đang được gắn với UDV
Người dùng có thể bật/tắt việc hiển thị trên bằng View >>> Indicator Display >>> User Defined Value
- Cách thêm/gỡ UDV
Thêm: chọn field cần thêm, nhấn tổ hợp phím Alt + Shift + F2, sau đó chọn Search in Existing User Defined Values hoặc Search in Existing User Defined Values according to Saved Query
Gỡ: chọn field cần gỡ, nhấn tổ hợp phím Alt + Shift + F2, sau đó chọn Without search in User Defined Values
- Tập giá trị do người dùng định nghĩa
Khi chọn Search in Existing User Defined Values, hệ thống sẽ hiển thị chức năng cho phép khởi tạo tập giá trị.
- Tập giá trị từ kết quả truy vấn
Khi chọn Search in Existing User Defined Values according to Saved Query, hệ thống sẽ mở chức năng cho phép liên kết đến câu truy vấn để tạo tập giá trị.
Sẽ có tùy chọn cho phép kích hoạt câu query chạy tự động khi có sự thay đổi dữ liệu của các field được chọn. Người dùng có thể chọn tối đa 5 field.
Tần suất kích hoạt chạy câu query:
Với tùy chọn Display Saved User Defined Values, câu query chỉ chạy 1 lần duy nhất và đây cũng là lựa chọn mặc định của hệ thống.
Người dùng có thể chọn Refresh Regularly để mỗi lần có thay đổi của field, hệ thống sẽ kích hoạt chạy câu query.
- Kết quả
- Delivery Date= Posting Date + 7
Câu query: SELECT ADD_DAYS (($[ORDR."DocDate".DATE]), 7) FROM DUMMY;
- Hiển thị Account Balance của khách hàng ngay trên màn hình Sales Order
Câu query: SELECT “Balance” FROM OCRD WHERE “CardCode”=$[ORDR.”CardCode”]
Cảm ơn admin.
Cho mình hỏi sâu hơn chút về cách sử dụng UDV và Query: có thể viết Query gọi đến store procedure để xử lý tính toán xong rồi trả về field trên UDV được không?
Hoàn toàn được, sau đây là ví dụ về cách gọi Store Procedure từ Query
exec [tên_store] [biến_1], [biến_2],...
exec InventoryTransfer $[$23.1470001039.0],$[$23.5.0]