訂單外部匯入處理 *E3

文字檔匯入客戶訂單作業. 匯入時在工作目錄下的 *.txt 檔都會被匯入. 可以將網站上的訂單資料, 即時寫入到E3主機工作目錄中, 再作排程自動匯入. 達到用E3來管理實體網購通路的目標.

匯入檔有工作錯誤發生時, 會紀錄在工作目錄下的 error.log 檔. 所以要去檢查 Log 檔, 是否有錯誤紀錄. 有參照錯誤的匯入檔, 或成功的匯入檔, 會被移到工作目錄的 backup 子目錄中, 所以參照錯誤時, 可以再看原文檔.

基本操作請看長時間處理說明.


執行環境設定

e3.edit.OutOrderImportProc.dir 參數一定要在 xconfig.cfg 檔中設定, 否則無法工作.

e3.edit.OutOrderImportProc.dir

匯入 txt 檔存放的主機工作目錄.
例: e3.edit.OutOrderImportProc.dir = c:/order/

e3.edit.OutOrderImportProc.charset

匯入 txt 檔的編碼方式, 可以省略, 內定為ISO-8859-1.
例: e3.edit.OutOrderImportProc.charset = UTF-8

值可設為: UTF-8, BIG5, GBK, GB2312, US-ASCII, ISO-8859-1, UTF-16BE, UTF-16LE, UTF-16.


匯入檔格式

因為是在主機匯入, 為免影響效能, 檔案不要太大, 要在100K以內.
匯入格式範例如下, 除了識別碼 END, H, D; 欄位和值用 {欄位=值} 來表示.

H{tsDate=2009-6-30}{outDate=2009-7-1}{stkId=001}{custId=001}{certNo=123456-1}
D{itemId=20100018}{qty=1}{price=100}
D{itemId=20100025}{qty=2}{price=200}
D{itemId=20100032}{qty=3}{price=300}
H{tsDate=2009-6-30}{outDate=2009-7-2}{stkId=001}{custId=002}{certNo=123456-2}
D{itemId=20100018}{qty=2}{price=500}
END

結尾識別 END

匯入文字檔前, 會先檢查是否有 'END' 結尾識別. 如果沒有會跳過不處理, 表示可能網站還在寫入中.

訂單表頭 H

第一碼 H 為訂單表頭, 欄位說明如下.
stkId = 分倉代碼
tsDate = 訂單日
outDate = 預出日, 可忽略
custId = 客戶主碼
hrId = 業務主碼, 可忽略
certNo = 憑証碼, 可忽略
batchNo = 批次碼, 可忽略
memo = 備註, 可忽略

商品明細筆 D

第一碼 D 為訂單商品, 最多筆數要配訂單明細, 欄位說明如下.
itemId = 商品主碼
qty = 數量
price = 單價
disct = 單筆折扣, 可忽略
isGift = 是否為贈品, 1=是; 可忽略


排程定時匯入

手動啟動只執行一次. 如果轉入訂單有急迫性, 可以讓系統每隔5分鐘, 或10分鐘自動匯入一次. 使用於網站後台時, 可以加速整個撿貨出貨流程.

排程設定步驟:

  • 1. 先設定 xconfig 的執行環境參數, 請看上面的說明.
  • 2. 測試執行, 安裝目錄的 util/order_imp.bat 批次檔, 再查看處理控制台處理紀錄, 執行是否正確無誤. 若為Linux則執行 order_imp.sh 批次檔.
  • 3. 建立作業系統的排程工作(Windows,Linux,Mac ...), 再把工作設定執行 order_imp.bat 的批次指令檔.

  • 相關文件