Ứng dụng cập nhật bảng giá (Price List) từ file Excel trong SAP cập nhật giá hàng loạt Item với nhiều giá khác nhau, tiện lợi hơn sử dụng công cụ import Data Transfer Workbench
Tôi có trách nhiệm cập nhật bảng giá của các sản phẩm của siêu thị. Như trước kia, dựa vào bảng giá mà bộ phận Sales gửi qua để lập 1 template trên Excel theo mẫu của Data Transfer Workbench , sau đó save file này thành dạng .txt (Text delimited) để Import file này vào Data Transfer Workbench. Công việc cứ lặp đi lặp lại đến nhàm chán. Một ngày đẹp trời, tôi quyết định viết ra 1 tool nho nhỏ để làm việc này trở nên đơn giản hơn.
Giải pháp
- Cốt lõi là sử dụng B1WS – Business One Web Services Wrapper, là giải pháp gọi các hàm dịch vụ trong SAP Business One DI Server (Data Interface Server) như 1 web service. Trong trường hợp cụ thể này, tôi sử dụng ItemService của B1WS để thay đổi các thông tin của Item, trong đó có Item Price. Tôi viết 1 function tên là (C#) UpdateItemPriceListFromClipBoard nhận tham số 1 DataTable chứa mã sản phẩm, giá tương ứng với bảng giá. Hàm này duyệt từng ItemCode và từng giá của nó để cập nhật vào SAP.
- Ngoài ra, còn sử dụng các kỹ thuật liên quan tới web: aJax, JSON …
Đó là về kỹ thuật bên trong, còn thao tác bên ngoài như sau:
– Lập bản giá với cấu trúc: ItemCode , L1, L2, …, Ln (n là mã bảng giá trong Price List của SAP). Bôi đen, copy bảng này
– Tôi có dựng 1 web application nho nhỏ để có thể dán bảng giá ở trên vào bằng cách nhấn nút Ctrl + V. Sau đó nhấn nút Cập nhật giá. Lúc này, website sẽ gọi 1 webservice để truyền bảng này vào function UpdateItemPriceListFromClipBoard để cập nhật giá
Triển khai chi tiết thì trong khuôn khổ bài viết, tôi không thể trình bày hết được vì khá dài dòng, nếu bạn đọc quan tâm thì liên hệ với mình – 01252225111 hoặc facebook.com/anhlada2002 hoặc sử dụng khung bình luận ở phía dưới để trao đổi kiến thức nhé.