U811.1接口EAI系列之六--物料上传--VB语言
生活随笔
收集整理的這篇文章主要介紹了
U811.1接口EAI系列之六--物料上传--VB语言
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.?業務系統同步U811.1存貨檔案通用方法.
2.具體代碼處理如下:
作者:王春天 2013-11-06
地址:http://www.cnblogs.com/spring_wang/p/3409844.html
代碼中調用的通用方法在: http://www.cnblogs.com/spring_wang/p/3393147.html
'物料信息生成XMLPublic Function xml_inventory(ds_data As adodb.Recordset, as_proc As String) As Boolean
xml_inventory = False
??? Dim ls_xml As String
??? Dim ls_sender As String
??? Dim ls_code As String '物料編碼
??? Dim ls_name As String '物料名稱
??? Dim ls_type As String '物料類別
??? Dim ls_unit As String '主計量單位
??? Dim ls_part_unit As String '物料其它單位
??? Dim ls_unit_group As String '物料單位組
??? Dim ls_bProxyForeign As String '是否委外0-否;1-是
??? Dim ls_purchase_flag As String '是否外購0-否;1-是
??? Dim ls_sale_flag As String '是否內銷0-否;1-是
??? Dim ls_selfmake_flag As String '是否自制0-否;1-是
??? Dim ls_bexpsale As String '是否外銷0-否;1-是
??? Dim ls_prod_consu_flag? '是否生產耗用
??? Dim ls_pro_sale_price As String '計劃價 / 售價
??? Dim ls_pricetype As String '計價方式(計劃價法 / 全月平均法)
??? Dim ls_inv_position As String '貨位編碼
??? Dim ls_defwarehouse As String ' 默認倉庫編碼
???
??? '此數據需要在數據庫中配置
??? ls_sender = U8_XTM
???
???
??? '以下數據從傳入的DATASET中獲取
??? ls_bProxyForeign = "0" '是否委外0-否;1-是
??? ls_purchase_flag = "1" '是否采購0-否;1-是
??? ls_sale_flag = "1" '是否內銷0-否;1-是
??? ls_selfmake_flag = "1" '是否自制0-否;1-是
??? ls_bexpsale = "1" '是否外銷0-否;1-是
???
??? If U(ds_data.Fields("kclybz").Value) = "Z" Then
??????? ls_selfmake_flag = "1"
??? End If
???
??? ls_code = U(ds_data.Fields("kcwpdm").Value) '"A0001" '物料編碼
??? ls_name = Trim(ds_data.Fields("kcwpmc").Value) '"修改后名稱" '物料名稱
???
??? ls_type = ds_data.Fields("kccpbs").Value '"02" '物料類別
???
??? ls_unit = U(ds_data.Fields("kckcdw").Value) '"002002" '主計量單位
??? ls_part_unit = ds_data.Fields("kccgdw").Value '"002002" '物料其它單位
??? ls_unit_group = "01" '物料單位組
??? ls_prod_consu_flag = "1" '是否生產耗用
?
???
'期初數據才上傳計劃價,等上線后去掉上傳計劃價Start
??? ls_pricetype = "計劃價法" '計價方式(計劃價法/全月平均法)
??? If U(ds_data.Fields("kccbhs").Value) = "S" Then
??????? ls_pricetype = "全月平均法"
??? End If
??? If ds_data.Fields("kcjhcb").Value = "" Then
??????? ls_pro_sale_price = 0 '計劃價 / 售價
??? Else
??????? ls_pro_sale_price = ds_data.Fields("kcjhcb").Value '計劃價 / 售價
??? End If
'期初數據才上傳計劃價,等上線后去掉上傳計劃價End
???
??? ls_inv_position = "" '貨位編碼
??? If U(ds_data.Fields("kcqshw").Value) <> "" Then
??????? ls_inv_position = U(ds_data.Fields("kcqshw").Value) '貨位編碼
??? End If
???
??? ls_defwarehouse = "" '默認倉庫編碼
??? If U(ds_data.Fields("kcqsck").Value) <> "" Then
??????? ls_defwarehouse = U(ds_data.Fields("kcqsck").Value) '默認倉庫編碼
??? End If
???
??? '增加文件頭相關信息
??? ls_xml = "<?xml version=""1.0"" encoding=""UTF-8""?>" + vbCrLf
???
??? ls_xml = ls_xml & "<ufinterface sender=""" & ls_sender & """ receiver=""u8"" roottag=""inventory"" docid="""" proc=""" & as_proc & """ renewproofno = ""N"" codeexchanged=""N"" exportneedexch=""N"" display="""" family="""" timestamp="""">" + vbCrLf
???
??? '增加文件中數據項信息 header
??? ls_xml = ls_xml & "<inventory>" + vbCrLf
??? ls_xml = ls_xml & "<header>" + vbCrLf
???
??
'期初數據才上傳計劃價,等上線后去掉上傳計劃價Start
??? ls_xml = ls_xml & "<pro_sale_price>" & ls_pro_sale_price & "</pro_sale_price>" + vbCrLf '計劃價 / 售價
??? ls_xml = ls_xml & "<pricetype>" & ls_pricetype & "</pricetype>" + vbCrLf '計價方式(計劃價法 / 全月平均法)
'期初數據才上傳計劃價,等上線后去掉上傳計劃價End
?
??? ls_xml = ls_xml & "<inv_position>" & ls_inv_position & "</inv_position>" + vbCrLf '貨位編碼
??? ls_xml = ls_xml & "<defwarehouse>" & ls_defwarehouse & "</defwarehouse>" + vbCrLf '默認倉庫編碼
???
??? ls_xml = ls_xml & "<code>" & ls_code & "</code>" + vbCrLf '物料編碼
??? ls_xml = ls_xml & "<name>" & ls_name & "</name>" + vbCrLf '物料名稱
??? ls_xml = ls_xml & "<sort_code>" & ls_type & "</sort_code>" + vbCrLf '存貨分類
??? ls_xml = ls_xml & "<main_measure>" & ls_unit & "</main_measure>" + vbCrLf '主計量單位編碼
??? ls_xml = ls_xml & "<sale_flag>" & ls_sale_flag & "</sale_flag>" + vbCrLf '是否內銷 0 1
??? ls_xml = ls_xml & "<purchase_flag>" & ls_purchase_flag & "</purchase_flag>" + vbCrLf '是否外購 0 1
??? ls_xml = ls_xml & "<selfmake_flag>" & selfmake_flag & "</selfmake_flag>" + vbCrLf '是否自制 0 1
??? ls_xml = ls_xml & "<prod_consu_flag>" & ls_prod_consu_flag & "</prod_consu_flag>" + vbCrLf '是否生產耗用 0 1
??? ls_xml = ls_xml & "<in_making_flag>" & "0" & "</in_making_flag>" + vbCrLf '是否在制 0 1
??? ls_xml = ls_xml & "<tax_serv_flag>" & "0" & "</tax_serv_flag>" + vbCrLf '是否應稅勞務 0 1
??? ls_xml = ls_xml & "<suit_flag>" & "0" & "</suit_flag>" + vbCrLf '是否成套件 0 1
??? ls_xml = ls_xml & "<qlty_guarantee_flag>" & "0" & "</qlty_guarantee_flag>" + vbCrLf '是否保質期管理 0 1
??? ls_xml = ls_xml & "<batch_flag>" & "0" & "</batch_flag>" + vbCrLf '是否批次管理 0 1
??? ls_xml = ls_xml & "<entrust_flag>" & "0" & "</entrust_flag>" + vbCrLf '是否受托代銷 0 1
??? ls_xml = ls_xml & "<backlog_flag>" & "0" & "</backlog_flag>" + vbCrLf '是否呆滯積壓 0 1
??? ls_xml = ls_xml & "<free_item1>" & "0" & "</free_item1>" + vbCrLf '存貨是否有自由項1 0 1
??? ls_xml = ls_xml & "<free_item2>" & "0" & "</free_item2>" + vbCrLf '存貨是否有自由項2 0 1
??? ls_xml = ls_xml & "<free_item3>" & "0" & "</free_item3>" + vbCrLf '存貨是否有自由項3 0 1
??? ls_xml = ls_xml & "<free_item4>" & "0" & "</free_item4>" + vbCrLf '存貨是否有自由項4 0 1
??? ls_xml = ls_xml & "<free_item5>" & "0" & "</free_item5>" + vbCrLf '存貨是否有自由項5 0 1
??? ls_xml = ls_xml & "<free_item6>" & "0" & "</free_item6>" + vbCrLf '存貨是否有自由項6 0 1
??? ls_xml = ls_xml & "<free_item7>" & "0" & "</free_item7>" + vbCrLf '存貨是否有自由項7 0 1
??? ls_xml = ls_xml & "<free_item8>" & "0" & "</free_item8>" + vbCrLf '存貨是否有自由項8 0 1
??? ls_xml = ls_xml & "<free_item9>" & "0" & "</free_item9>" + vbCrLf '存貨是否有自由項9 0 1
??? ls_xml = ls_xml & "<free_item10>" & "0" & "</free_item10>" + vbCrLf '存貨是否有自由項10 0 1
??? ls_xml = ls_xml & "<btrack>" & "0" & "</btrack>" + vbCrLf '出庫跟蹤入庫 0 1
??? ls_xml = ls_xml & "<bserial>" & "0" & "</bserial>" + vbCrLf '是否序列號管理 0 1
??? ls_xml = ls_xml & "<bbarcode>" & "0" & "</bbarcode>" + vbCrLf '條形碼管理 0 1
'??? ls_xml = ls_xml & "<unitgroup_type>" & "1" & "</unitgroup_type>" + vbCrLf '計量單位組類別
??? ls_xml = ls_xml & "<unitgroup_code>" & ls_unit_group & "</unitgroup_code>" + vbCrLf '計量單位組編碼
??? ls_xml = ls_xml & "<solitude>" & "0" & "</solitude>" + vbCrLf '是否單獨存放 0 1
??? ls_xml = ls_xml & "<specialties>" & "0" & "</specialties>" + vbCrLf '特殊藥品標志 0 1
??? ls_xml = ls_xml & "<PropertyCheck>" & "0" & "</PropertyCheck>" + vbCrLf '是否質檢 0 1
??? ls_xml = ls_xml & "<RecipeBatch>" & "0" & "</RecipeBatch>" + vbCrLf '是否處方藥 0 1
??? ls_xml = ls_xml & "<bPlanInv>" & "0" & "</bPlanInv>" + vbCrLf '是否計劃品 0 1
??? ls_xml = ls_xml & "<bProxyForeign>" & ls_bProxyForeign & "</bProxyForeign>" + vbCrLf '是否委外 0 1
??? ls_xml = ls_xml & "<bATOModel>" & "0" & "</bATOModel>" + vbCrLf 'ATO 0 1
??? ls_xml = ls_xml & "<bCheckItem>" & "0" & "</bCheckItem>" + vbCrLf '是否選項類 0 1
??? ls_xml = ls_xml & "<bPTOModel>" & "0" & "</bPTOModel>" + vbCrLf 'PTO 0 1
??? ls_xml = ls_xml & "<bequipment>" & "0" & "</bequipment>" + vbCrLf '是否備件 0 1
??? ls_xml = ls_xml & "<bMPS>" & "0" & "</bMPS>" + vbCrLf '是否MPS件 0 1
??? ls_xml = ls_xml & "<bROP>" & "0" & "</bROP>" + vbCrLf '是否ROP件 0 1
??? ls_xml = ls_xml & "<bRePlan>" & "0" & "</bRePlan>" + vbCrLf '是否重復計劃 0 1
??? ls_xml = ls_xml & "<bBillUnite>" & "0" & "</bBillUnite>" + vbCrLf '是否令單合并 0 1
??? ls_xml = ls_xml & "<bCutMantissa>" & "0" & "</bCutMantissa>" + vbCrLf '是否切除尾數 0 1
??? ls_xml = ls_xml & "<bInTotalCost>" & "1" & "</bInTotalCost>" + vbCrLf '成本相關 0 1
??? ls_xml = ls_xml & "<iSupplyType>" & "0" & "</iSupplyType>" + vbCrLf '供應類型 0 1
??? ls_xml = ls_xml & "<bConfigFree1>" & "0" & "</bConfigFree1>" + vbCrLf '結構性自由項1 0 1
??? ls_xml = ls_xml & "<bConfigFree2>" & "0" & "</bConfigFree2>" + vbCrLf '結構性自由項2 0 1
??? ls_xml = ls_xml & "<bConfigFree3>" & "0" & "</bConfigFree3>" + vbCrLf '結構性自由項3 0 1
??? ls_xml = ls_xml & "<bConfigFree4>" & "0" & "</bConfigFree4>" + vbCrLf '結構性自由項4 0 1
??? ls_xml = ls_xml & "<bConfigFree5>" & "0" & "</bConfigFree5>" + vbCrLf '結構性自由項5 0 1
??? ls_xml = ls_xml & "<bConfigFree6>" & "0" & "</bConfigFree6>" + vbCrLf '結構性自由項6 0 1
??? ls_xml = ls_xml & "<bConfigFree7>" & "0" & "</bConfigFree7>" + vbCrLf '結構性自由項7 0 1
??? ls_xml = ls_xml & "<bConfigFree8>" & "0" & "</bConfigFree8>" + vbCrLf '結構性自由項8 0 1
??? ls_xml = ls_xml & "<bConfigFree9>" & "0" & "</bConfigFree9>" + vbCrLf '結構性自由項9 0 1
??? ls_xml = ls_xml & "<bConfigFree10>" & "0" & "</bConfigFree10>" + vbCrLf '結構性自由項10 0 1
??? ls_xml = ls_xml & "<bPeriodDT>" & "0" & "</bPeriodDT>" + vbCrLf '是否周期檢驗 0 1
??? ls_xml = ls_xml & "<bimportmedicine>" & "0" & "</bimportmedicine>" + vbCrLf '是否進口藥品 0 1
??? ls_xml = ls_xml & "<bfirstbusimedicine>" & "0" & "</bfirstbusimedicine>" + vbCrLf '是否首營藥品 0 1
??? ls_xml = ls_xml & "<bforeexpland>" & "0" & "</bforeexpland>" + vbCrLf '預測展開 0 1
??? ls_xml = ls_xml & "<fconvertrate>" & "1" & "</fconvertrate>" + vbCrLf '轉換因子 0 1
??? ls_xml = ls_xml & "<binvmodel>" & "0" & "</binvmodel>" + vbCrLf '模型 0 1
??? ls_xml = ls_xml & "<bexpsale>" & ls_bexpsale & "</bexpsale>" + vbCrLf '是否外銷 0 1
??? ls_xml = ls_xml & "<bcheckbsatp>" & "0" & "</bcheckbsatp>" + vbCrLf '檢查售前ATP 0 1
??? ls_xml = ls_xml & "<bcheckfree1>" & "0" & "</bcheckfree1>" + vbCrLf '核算自由項1 0 1
??? ls_xml = ls_xml & "<bcheckfree2>" & "0" & "</bcheckfree2>" + vbCrLf '核算自由項2 0 1
??? ls_xml = ls_xml & "<bcheckfree3>" & "0" & "</bcheckfree3>" + vbCrLf '核算自由項3 0 1
??? ls_xml = ls_xml & "<bcheckfree4>" & "0" & "</bcheckfree4>" + vbCrLf '核算自由項4 0 1
??? ls_xml = ls_xml & "<bcheckfree5>" & "0" & "</bcheckfree5>" + vbCrLf '核算自由項5 0 1
??? ls_xml = ls_xml & "<bcheckfree6>" & "0" & "</bcheckfree6>" + vbCrLf '核算自由項6 0 1
??? ls_xml = ls_xml & "<bcheckfree7>" & "0" & "</bcheckfree7>" + vbCrLf '核算自由項7 0 1
??? ls_xml = ls_xml & "<bcheckfree8>" & "0" & "</bcheckfree8>" + vbCrLf '核算自由項8 0 1
??? ls_xml = ls_xml & "<bcheckfree9>" & "0" & "</bcheckfree9>" + vbCrLf '核算自由項9 0 1
??? ls_xml = ls_xml & "<bcheckfree10>" & "0" & "</bcheckfree10>" + vbCrLf '核算自由項10 0 1
??? ls_xml = ls_xml & "<bbommain>" & "1" & "</bbommain>" + vbCrLf '允許BOM母件 0 1
??? ls_xml = ls_xml & "<bbomsub>" & "1" & "</bbomsub>" + vbCrLf '允許BOM子件 0 1
??? ls_xml = ls_xml & "<bproductbill>" & "0" & "</bproductbill>" + vbCrLf '允許生產訂單 0 1
??? ls_xml = ls_xml & "<icheckatp>" & "0" & "</icheckatp>" + vbCrLf '檢查ATP 0 1
??? ls_xml = ls_xml & "<bpiece>" & "0" & "</bpiece>" + vbCrLf '計件 0 1
??? ls_xml = ls_xml & "<bsrvitem>" & "0" & "</bsrvitem>" + vbCrLf '服務項目 0 1
??? ls_xml = ls_xml & "<bsrvfittings>" & "0" & "</bsrvfittings>" + vbCrLf '務配件 0 1
??? ls_xml = ls_xml & "<bPUQuota>" & "0" & "</bPUQuota>" + vbCrLf '參與配額 0 1
??? ls_xml = ls_xml & "<bInvROHS>" & "0" & "</bInvROHS>" + vbCrLf 'ROHS物料 0 1
??? ls_xml = ls_xml & "<bprjmat>" & "0" & "</bprjmat>" + vbCrLf '是否工程物料 0 1
??? ls_xml = ls_xml & "<binvasset>" & "0" & "</binvasset>" + vbCrLf '資產 0 1
??? ls_xml = ls_xml & "<bsrvproduct>" & "0" & "</bsrvproduct>" + vbCrLf '服務產品 0 1
??? ls_xml = ls_xml & "<iAcceptDelayDays>" & "0" & "</iAcceptDelayDays>" + vbCrLf '允許延后天數 0 1
??? ls_xml = ls_xml & "<iPlanCheckDay>" & "0" & "</iPlanCheckDay>" + vbCrLf '計劃檢驗天數 0 1
'??? ls_xml = ls_xml & "<iMaterialsCycle>" & "0" & "</iMaterialsCycle>" + vbCrLf '用料周期
??? ls_xml = ls_xml & "<bSCkeyProjections>" & "0" & "</bSCkeyProjections>" + vbCrLf '投產推算關鍵子件 0 1
??? ls_xml = ls_xml & "<iSupplyPeriodType>" & "0" & "</iSupplyPeriodType>" + vbCrLf '供應期間類型 0 1
??? ls_xml = ls_xml & "<iAvailabilityDate>" & "1" & "</iAvailabilityDate>" + vbCrLf '可用日期 0 1
??? ls_xml = ls_xml & "<iPlanCheckDay>" & "0" & "</iPlanCheckDay>" + vbCrLf '計劃檢驗天數 0 1
??? ls_xml = ls_xml & "<cPlanMethod>" & "R" & "</cPlanMethod>" + vbCrLf '計劃方法
??? ls_xml = ls_xml & "<cSRPolicy>" & "PE" & "</cSRPolicy>" + vbCrLf '供需政策
??? ls_xml = ls_xml & "<idrawtype>" & "0" & "</idrawtype>" + vbCrLf '領料方式
???
??? ls_xml = ls_xml & "<puunit_code>" & ls_part_unit & "</puunit_code>" + vbCrLf '采購默認計量單位編碼
??? ls_xml = ls_xml & "<saunit_code>" & ls_part_unit & "</saunit_code>" + vbCrLf '銷售默認計量單位編碼
??? ls_xml = ls_xml & "<stunit_code>" & ls_part_unit & "</stunit_code>" + vbCrLf '庫存默認計量單位編碼
??? ls_xml = ls_xml & "<caunit_code>" & ls_part_unit & "</caunit_code>" + vbCrLf '成本默認輔計量編碼
??? ls_xml = ls_xml & "<cProductUnit>" & ls_part_unit & "</cProductUnit>" + vbCrLf '生產計量單位編碼
???
??? ls_xml = ls_xml & "</header>" + vbCrLf
??? 'body
??? ls_xml = ls_xml & "<body>" + vbCrLf
??? ls_xml = ls_xml & "<entry>" + vbCrLf
???
??? ls_xml = ls_xml & "<invcode>" & ls_code & "</invcode>" + vbCrLf '存貨編碼? 和上面保持一致
???
??? ls_xml = ls_xml & "</entry>" + vbCrLf
??? ls_xml = ls_xml & "</body>" + vbCrLf
???
??? '增加文件尾相關信息
??? ls_xml = ls_xml & "</inventory>" + vbCrLf
??? ls_xml = ls_xml & "</ufinterface>" + vbCrLf
???
???
???? Dim xml_document As New DOMDocument
??? xml_document.loadXML (ls_xml)
??? fn2 = App.Path & "\u8_inventory.xml"
??? xml_document.Save (fn2)
???
???
??? Dim ls_temp As String '接收返回消息,如果成功,返回U8中物料代碼,如果失敗,返回錯誤信息
??? If SendToEAI(ls_xml, ls_temp) Then '成功
??????? xml_inventory = True
??? Else '失敗
??????? MsgBox ls_temp
??? End If
End Function
?
總結
以上是生活随笔為你收集整理的U811.1接口EAI系列之六--物料上传--VB语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android:SharedPrefer
- 下一篇: discusz 判断当前页是门户还是论坛