Liên kết dữ liệu giữa hệ thống JDE và Hệ thống quản lý giao hàng

Một phần của tài liệu Xây dựng hệ hỗ trợ hệ thống JDE phục vụ xử lý đơn hàng tại công ty bao bì giấy le (Trang 67 - 84)

(DMS)

A. Giới thiệu vấn đề

H thng qun lý giao hàng – Delivery Management System (DMS) là một hệ

thống quản lý giao hàng được xây dựng dựa trên nhu cầu quản lý việc giao hàng của nhà cung cấp đến khách hàng.

Hình 4.21: Quy trình giao hàng và các dữ liệu liên quan

Một đơn đặt hàng từ khách hàng sẽ được giao hàng thành nhiều đợt dựa trên yêu cầu tổng hợp về vận chuyển cũng như chuyên chở hàng hóa với quy cách lớn như các loại thùng hộp.

Mỗi đợt vận chuyển được mô tả cụ thể như sau:

˗ Với một đơn hàng gốc từ hệ thống JDE, nhân viên của bộ phận Bán hàng sẽ lập ra một hay nhiều Yêu cầu giao hàng – Delivery Request (DR) trên hệ thống DMS dựa theo yêu cầu của khách hàng để nhà

cung cấp lên kế hoạch giao chở hàng trực tiếp đến nhà kho hay nơi sản xuất của khách hàng.

˗ Sau khi nhân viên giao hàng của nhà cung cấp giao hàng tại kho của khách hàng, họ sẽ nhận được Phiếu nhập kho của khách hàng, được xem như biên nhận xác nhận việc giao hàng. Trong một số trường hợp, Phiếu nhập kho / Biên nhận của khách hàng được thay thế bằng Phiếu xuất kho của chính nhà cung cấp, với ý nghĩa tương đương.

˗ Nhân viên giao hàng / xuất nhập kho của nhà cung cấp sẽ nộp lại các loại chứng từ để nhân viên Bán hàng của nhà cung cấp xác nhận lên hệ thống DMS:

• Xác nhận số lượng hàng hóa đã giao, ngày giao hàng. • Số lô sản xuất/ số chứng từ liên quan đến việc giao nhận.

˗ Nếu hàng hóa chưa được giao hết dựa theo yêu cầu giao hàng (DR) được đưa ra ban đầu, nhà cung cấp sẽ tiếp tục xác nhận trên hệ thống theo từng lần giao hàng cho đến khi hoàn thành Yêu cầu giao hàng (DR) đó.

˗ Khi nhân viên Bán hàng của nhà cung cấp xác nhận giao hàng, nhân viên bán hàng của L&E sẽ xác thực lại một lần nữa (từ phía khách hàng hay từ các nguồn tin khác) việc giao hàng với số lượng và ngày giao là chính xác theo Yêu cầu mua hàng (DR).

˗ Bộ phận bán hàng của L&E sẽđóng Yêu cầu mua hàng (DR) đã hoàn thành giao hàng.

˗ Dựa trên các Yêu cầu mua hàng (DR) đã đóng trong ngày, nhân viên của L&E sẽ xác nhận giao hàng trên hệ thống JDE với từng đơn hàng: số lượng hàng giao và ngày giao của từng hàng hóa.

˗ Cuối ngày làm việc trên hệ thống JDE, các đơn hàng đã được xác nhận giao hàng trên JDE sẽ được thực hiện bút toán ghi sổ kế toán và ảnh hưởng đến các giao dịch tài chính liên quan đến phần hàng đã được giao.

Để quản lý được quy trình như trên trong việc quản lý giao hàng, hệ thống DMS phải có dữ liệu đầu vào chính là dữ liệu đơn hàng từ hệ thống JDE, ngoài ra mối liên hệ ràng buộc giữa những đơn hàng đang còn “dang dở” trong việc giao hàng và các Yêu cầu giao hàng (DR) cũng cần đến sự cung cấp dữ liệu liên tục từ JDE sang DMS.

B. Đặc trưng kỹ thuật

Hệ thống JDE có máy chủđặt tại New York, Hoa Kỳ trong khi DMS lại có máy chủđặt tại Hongkong.

Người dùng ở các nước khác không thể tác động trực tiếp ở mức độ cơ sở dữ liệu đến hai hệ thống này mà chỉ có thể xuất dữ liệu từ hệ thống chính JDE và đem vào hệ thống quản lý giao hàng DMS thông qua giao diện trang web cuả hai hệ thống.

Dữ liệu phải được lọc riêng rẽ đối với từng nước (được ký hiệu trong hệ thống JDE bằng những số khác nhau như B40, B50, B80 …v.v).

Do khối lượng công việc, người dùng thường xuyên cần dữ liệu được cập nhật giữa 2 hệ thống này, tối thiểu 30 phút một lần. Như vậy, cần có người dùng tác động thường xuyên cho việc cập nhật này.

Ngoài ra, hệ thống hỗ trợ xử lý đơn hàng OPD cũng có hỗ trợ định đạng đơn hàng mua và bán (report mẫu) nên cũng cần cập nhật thông tin này.

C. Xây dựng giải pháp

Từđặc trưng của hai hệ thống kể trên, một công cụđược xây dựng dựa trên nền tảng của iMacro (một Add-in được phát triển cho Mozilla Firefox, Internet Explorer và Google Chrome) – giúp tương tác trên web một cách tựđộng.

Gii thiu v iMacros

iMacros là một phần mở rộng cho trình duyệt web Mozilla Firefox, Google Chrome và Internet Explorer có thêm chức năng điền dữ liệu và phát lại tương tự như các dạng chương trình trong thử nghiệm web và phần mềm tựđộng điền form. Các macro có thể được kết hợp và điều khiển thông qua JavaScript. Các đoạn macro và mã JavaScript ví dụ cũng được bao gồm trong phần mềm. iMacros được phát triển bởi iOpus, đầu tiên được phát hành vào năm 2001,

iMacros là công cụ ghi macro đầu tiên được thiết kế và tối ưu hóa cho trình duyệt web và điền các dạng form trên nền ứng dụng web.

iMacros cho Firefox và Chrome cung cấp một tính năng được gọi là cộng đồng hóa ứng dụng. Nó cho phép người dùng chia sẻ các macro và các đoạn code tương tự như cách họ chia sẻ bookmark trên các trang web bookmarking. Sau khi tạo được một macro mới, người dùng có thể chỉ cần nhấp chuột một lần để chia sẻ nó với bạn bè của họ như là một link, hoặc bằng cách gửi link qua email và các trang web bookmarking, hoặc bằng cách nhúng nó trong một trang web hoặc blog để truy cập công cộng. Về mặt kỹ thuật, điều này được thực hiện bằng cách nhúng imacro và đoạn JavaScript kiểm soát bên trong một liên kết văn bản đơn giản.

Cùng với các phiên bản phần mềm miễn phí, iMacros cũng có dạng như là một ứng dụng thương mại, với các tính năng bổ sung và hỗ trợ cho lập trình web, thu thập dữ liệu từ web, giám sát máy chủ Internet, và thử nghiệm web. Ngoài ra để làm việc với các trang HTML, các phiên bản thương mại có thể tự động hóa Adobe Flash, Adobe Flex, Silverlight, và Java applet bằng cách sử dụng Directscreen và công nghệ nhận dạng hình ảnh.

Phiên bản cao cấp cũng có một giao diện dòng lệnh và một giao diện lập trình ứng dụng (API) để tựđộng hóa các nhiệm vụ phức tạp hơn và tích hợp với các

chương trình khác hoặc các kịch bản. Giao diện lập trình ứng dụng iMacros – iMacros Scripting Edition – được thiết kế như một mô hình đối tượng thành phần (COM) và cho phép người sử dụng điều khiển từ xa (lập trình) trình duyệt có iMacros, Internet Explorer, Firefox và từ bất kỳ ứng dụng Windows hoặc ngôn ngữ lập trình nào.

Hình 4.22: Các ứng dụng chức năng của iMacro Một vài ứng dụng cụ thể của iMacros:

iMacros có thểđược lập trình để thực hiện lại hầu hết các hành động của người dùng tương tác với trình duyệt web:

• Tựđộng điền các mẫu đơn.

• Điều hướng các trang web phức tạp liên tục mà không cần sự can thiệp của người dùng.

• Các Macro tiện dụng, cơđộng: được ghi trên một máy tính , có thểđược phát lại và thực thi trên bất kỳ máy tính khác có cài đặt iMacros. Trong khi đó, mục AutoComplete của Microsoft không thểđược sao chép từ một máy tính khác

• Lưu trữ an toàn của mật khẩu bằng cách sử dụng tiêu chuẩn công nghiệp 256-bit thuật toán mã hóa AES. AES cũng được sử dụng bởi các tổ chức chính phủ Hoa Kỳđể bảo vệ thông tin nhạy cảm .

• Lưu giữ sự riêng tư: tất cả dữ liệu chỉđược lưu trữ trên máy tính cục bộ. • Các macro có thể được chia sẻ với các đồng nghiệp và tăng năng suất cho

toàn bộ tổ chức.

Phiên bản tiêu chuẩn – Standard Edition – của iMacros với các công dụng phục vụ cho những nhà lập trình web chuyên nghiệp:

• Kiểm thử hồi quy toàn bộ các khu vực của các trang web phức tạp ở một nút bấm.

• Tựđộng theo dõi công cụ tìm kiếm, quản lý Google và Overture phải trả tiền cho mỗi click khi hiển thị từ danh sách công cụ tìm kiếm, trích xuất thông tin từ các trang web , cơ sở dữ liệu trực tuyến và tải về các truy vấn kết quả tự động.

• Giám sát Internet : kiểm tra nội dung trang web và cảnh báo nếu macro phát hiện ra vấn đề trên trang web. Khác với các dịch vụ giám sát Internet đơn giản, iMacros có thể thử nghiệm các hình thức trực tuyến của bất kỳ phức tạp (ví dụ như tạo ra lệnh kiểm tra trong một cửa hàng trực tuyến ) bao gồm các yếu tố trên cả Java và Macromedia Flash.

• Đo thời gian phản ứng trang web với các lệnh STOPWATCH để tạo ra bảng thống kê hiệu suất .

• Tránh các câu lệnh phức tạp trong Perl và công cụ, các lệnh Unix phức tạp khác.

• iMacros có thểđược thiết lập để mô phỏng Internet Explorer (IE) hoàn toàn. Trong chế độ này, một máy chủ web không thể phân biệt giữa một người dùng bình thường (con người) và tương tác từ iMacros.

• Trích xuất bất kỳ nội dung bảng trực tiếp trên web vào một tập tin dạng CSV. • iMacros hỗ trợ các trang web dựa trên Java applet hoặc Flash ( của Adobe

Shockwave plug-in ) .

• Hỗ trợ XHTML & hỗ trợ HTML5 với plugin của Internet Explorer.

Phiên bản Enterprise Edition hỗ trợ công việc của người phát triển phần mềm và phát triển web chuyên nghiệp với các chức năng:

• Trích xuất dữ liệu từ các trang web (truy vấn web).

• Cho phép phát triển ứng dụng thành ứng dụng web trong thời gian ngắn. • Viết một macro và gọi dòng lệnh iMacros hoặc mã giao diện. iMacros sẽ

thực hiện phần còn lại.

• Sử dụng iMacros như một Internet agent , robot hay spider.

• Thêm khả năng "lướt web" và "truy vấn web" cho đoạn mã Windows Scripts. • Đóng gói iMacros cùng với ứng dụng.

Mô t công vic tương tác

Bước 1:

Đăng nhập vào hệ thống JDE, lấy thông tin của những đơn hàng mua đang được xử lý trong hệ thống theo từng nước ( ví dụ : B40)

Bước 2:

Lấy thông tin trên JDE của những đơn hàng bán đang được xử lý.

Bước 3:

Chỉnh sửa thông tin trên 2 file được download về để phù hợp với định dạng CSV: lọc bỏ những ký tựđặc biệt, định dạng format số hợp lệ

Bước 4:

Đăng nhập vào hệ thống DMS, upload các đơn hàng bán trên hệ thống.

Bước 5:

Bước 6:

Upload thông tin đơn hàng mua và bán lên Cơ sở dữ liệu của hệ thống Hỗ trợ xử lý đơn hàng (OPD) – máy chủ SQL Server 2008.

Xây dng mã lnh cho hành động tương ng

[upload_B40.bat]: Tp tin Windows Batch cho vic cp nht mt nước.

@echo off

rem Xác định các biến ghi nhận ngày giờ hệ thống

FOR /F "tokens=1-4 delims=/ " %%i IN ("%date%") DO (SET m=%%j set d=%%k

set y=%%l)

FOR /F "tokens=1-4 delims=: " %%i IN ("%time%") DO (SET hour=%%i set min=%%j)

rem Tạo hệ thống thư mục gồm thư mục cũ và thư mục liên quan

mkdir "E:\L&E\JDE\Export to VWS\%y%.%m%" mkdir "E:\L&E\JDE\Export to VWS\%y%.%m%\old" mkdir "E:\L&E\JDE\Export to VWS\%y%.%m%\log" del /Q "E:\L&E\JDE\Export to VWS\Temp\*"

rem Di chuyển toàn bộ file của ngày hôm trước vào thư mục cũ

FOR /F "usebackq tokens=1 delims=" %%t IN (`dir /b "E:\L&E\JDE\Export to VWS\%y%.%m%" ^| find /v "%y%.%m%.%d%"`) DO @move "E:\L&E\JDE\Export to VWS\%y%.%m%\%%t" "E:\L&E\JDE\Export to VWS\%y%.%m%\old"

rem Tắt các ứng dụng Firefox đang mở

taskkill /F /IM firefox.exe /T

rem Đánh dấu nhãn :ExCustB40

:ExCustB40

rem Gọi iMacros để chạy trong firefox: lấy thông tin đơn hàng bán trên hệ thống JDE

start /wait firefox.exe "./iMacros-BATCH/Launch- iMacro.html?m=ExCustB40.iim"

timeout 2

rem Kiểm tra file được download về, nếu chưa có file, chạy lại từ nhãn :ExCustB40

if not exist "E:\L&E\JDE\Export to VWS\Temp\export.csv" goto ExCustB40

rem Đặt lại tên cho file mới để phân biệt, ví dụ từ export.csv to "CUSTOMER PO 2012.03.11.CSV"

E:\Programming\DOS\DataBridge\CsvEdit.vbs "E:\L&E\JDE\Export to VWS\Temp\export.csv" "E:\L&E\JDE\Export to VWS\Temp\CUSTOMER PO %y%.%m%.%d%.csv"

del /Q "E:\L&E\JDE\Export to VWS\Temp\export.csv"

taskkill /F /IM firefox.exe /T

rem Đánh dấu nhãn :ExSuppB40

:ExSuppB40

rem Gọi iMacros để chạy trong firefox: lấy thông tin đơn hàng mua trên hệ thống JDE

start /wait firefox.exe "./iMacros-BATCH/Launch- iMacro.html?m=ExSuppB40.iim"

rem Kiểm tra file được download về, nếu chưa có file, chạy lại từ nhãn :ExSuppB40

if not exist "E:\L&E\JDE\Export to VWS\Temp\export.csv" goto ExSuppB40

rem Đặt lại tên cho file mới để phân biệt, ví dụ từ export(1).csv sang "Supplier PO 2012.03.11.CSV"

ren "E:\L&E\JDE\Export to VWS\Temp\export.csv" "SUPPLIER PO %y%.%m%.%d%.csv"

rem Di chuyển từ folder tạm sang folder làm việc

move "E:\L&E\JDE\Export to VWS\temp\*.csv" "E:\L&E\JDE\Export to VWS\%y%.%m%"

rem Gọi iMacros để chạy trong firefox :Upload dữ liệu vào hệ thống DMS

taskkill /F /IM firefox.exe /T

start /wait firefox.exe "./iMacros-BATCH/Launch- iMacro.html??m=ImportB40.iim"

rem Copy 2 file dữ liệu sang ổđĩa mạng của SQL server

copy "E:\System\Tasks\Upload\JDE-VWS\Data\%y%.%m%\SUPPLIER PO %y%.%m%.%d%.csv" "S:\Tasks\Upload\JDE-VWS\Data\%y%.%m%\SUPPLIER PO %y%.%m%.%d%.csv" copy "E:\System\Tasks\Upload\JDE-VWS\Data\%y%.%m%\CUSTOMER PO %y%.%m%.%d%.csv" "S:\Tasks\Upload\JDE-VWS\Data\%y%.%m%\CUSTOMER PO %y%.%m%.%d%.csv"

rem UPLOAD VÀO OPD

rem Xóa bảng đơn hàng mua của từng nước – ghi log

echo Delete: >

E:\System\Tasks\Upload\OPD\Log\B40_SupplierPO_%y%.%m%.%d%_%hour%%min%.txt sqlcmd -S tcp:192.168.2.18\LEVN -l120 -d OPD_VN -E -Q "DELETE FROM

JDE_SupplierPO WHERE OrderCo='00004'" >>

E:\System\Tasks\Upload\OPD\Log\B40_SupplierPO_%y%.%m%.%d%_%hour%%min%.txt

echo. >>

E:\System\Tasks\Upload\OPD\Log\B40_SupplierPO_%y%.%m%.%d%_%hour%%min%.txt

rem Thêm dữ liệu các đơn hàng mới – ghi log

echo Insert: >>

E:\System\Tasks\Upload\OPD\Log\B40_SupplierPO_%y%.%m%.%d%_%hour%%min%.txt sqlcmd -S LEDATA\LEVN -d OPD_VN -E -Q "BULK INSERT JDE_SupplierPO from 'E:\System\Tasks\Upload\JDE-VWS\Data\%y%.%m%\SUPPLIER PO %y%.%m%.%d%.csv' WITH (fieldterminator=',',rowterminator='\n',FIRSTROW =2)" >>

E:\System\Tasks\Upload\OPD\Log\B40_SupplierPO_%y%.%m%.%d%_%hour%%min%.txt

rem Xóa bảng đơn hàng bán của từng nước – ghi log

echo Delete: >

sqlcmd -S LEDATA\LEVN -d OPD_VN -E -Q "DELETE FROM JDE_CustomerPO WHERE OrderCo='4'" >> E:\System\Tasks\Upload\OPD\Log\B40_CustomerPO_%y%.%m%.%d%_%hour%%min%.txt echo. >> E:\System\Tasks\Upload\OPD\Log\B40_CustomerPO_%y%.%m%.%d%_%hour%%min%.txt echo Insert: >> E:\System\Tasks\Upload\OPD\Log\B40_CustomerPO_%y%.%m%.%d%_%hour%%min%.txt

rem Thêm dữ liệu các đơn hàng mới – ghi log

sqlcmd -S LEDATA\LEVN -d OPD_VN -E -Q "BULK INSERT JDE_CustomerPO from 'E:\System\Tasks\Upload\JDE-VWS\Data\%y%.%m%\CUSTOMER PO %y%.%m%.%d%.csv' WITH (fieldterminator=',',rowterminator='\n',FIRSTROW =2)" >>

E:\System\Tasks\Upload\OPD\Log\B40_CustomerPO_%y%.%m%.%d%_%hour%%min%.txt

remĐặt tên file lại với ngày giờđể lưu trữ

ren "E:\L&E\JDE\Export to VWS\%y%.%m%\SUPPLIER PO %y%.%m%.%d%.csv" "SUPPLIER PO_B40_%y%.%m%.%d%_%hour%%min%.csv"

ren "E:\L&E\JDE\Export to VWS\%y%.%m%\CUSTOMER PO %y%.%m%.%d%.csv" "CUSTOMER PO_B40_%y%.%m%.%d%_%hour%%min%.csv"

rem Xóa các file log cũ hơn 10 ngày

forfiles -p "E:\System\Tasks\Upload\JDE-VWS\Data\log" -s -m *.* -d -10 -c "cmd /c del @path"

Lp thi gian biu – sp xếp Batch Job

Dựa trên yêu cầu công việc và cập nhật của các nước cũng như khoảng thời gian cần thiết để dữ liệu được truy vấn & thời gian của trình duyệt web thực thi dựa trên tài nguyên hệ thống, thời gian biểu như trên được lập ra:

Task scheduler của server được lập dựa trên thời gian biểu này nhằm bảo đảm cho các công việc có thểđược thực hiện một cách trơn tru và thời gian chờ của người dùng giữa các lần cập nhật là ngắn nhất.

Vì trong việc cập nhật có điều kiện lặp cho đến khi có được file dữ liệu, nên nếu thời gian chạy của một task quá dài có thể dẫn đến 2 task cùng chạy. Việc này sẽ làm phát sinh vòng lặp vô hạn của các ứng dụng Firefox dẫn đến shutdown server. Để ngăn chặn việc này, một ứng dụng windows được bật kèm nhằm đảm bảo không có 2 task chạy cùng lúc.

Ghi log – lưu tp tin cp nht liên quan

Bảng dưới đây chỉ ra các tập tin dữ liệu và log được lưu trữ trong quá trình một lần cập nhật:

Action Output File Ni dung ca output file

Upload B40 iMacros: ExCustB40.iim CUSTOMER PO_B40_2013.09.25_815. csv

Thông tin các đơn hàng bán cho Khách hàng trên JDE iMacros: ExSuppB40.iim SUPPLIER PO_B40_2013.09.25_815. csv

Thông tin các đơn hàng mua từ Nhà cung cấp trên JDE

iMacros: ImportB40.iim

DMS\Log\B40_SupplierP O_2013.03.11_08.17.txt

Số dòng thông tin đơn hàng mua

được upload thành công lên DMS DMS\Log\B40_CustomerP

O_2013.03.11_08.17.txt Sđượố dòng thông tin c upload thành công lên DMS đơn hàng bán SQL command:

Delete & Insert Supplier PO

OPD\Log\B40_SupplierP O_2013.03.11_08.17.txt

Số dòng thông tin đơn hàng mua

được upload thành công lên cơ sở dữ

liệu SQL của OPD SQL command:

Delete & Insert Customer PO

OPD\Log\B40_CustomerP O_2013.03.11_08.17.txt

Số dòng thông tin đơn hàng mua

được upload thành công lên cơ sở dữ

liệu SQL của OPD Upload B50 iMacros: ExCustB50.iim CUSTOMER PO_B50_2013.09.25_805. csv

Thông tin các đơn hàng bán cho Khách hàng trên JDE iMacros: ExSuppB50.iim SUPPLIER PO_B50_2013.09.25_805. csv

Thông tin các đơn hàng mua từ Nhà cung cấp trên JDE

iMacros: ImportB50.iim

DMS\Log\B50_SupplierP O_2013.03.11_08.07.txt

Số dòng thông tin đơn hàng mua

được upload thành công lên DMS

Một phần của tài liệu Xây dựng hệ hỗ trợ hệ thống JDE phục vụ xử lý đơn hàng tại công ty bao bì giấy le (Trang 67 - 84)

Tải bản đầy đủ (PDF)

(114 trang)