地址:
具体代码如下:
一、下面是实际调用的方法。参数之一是“添加”和“编辑”是新组件还是修改组件。那个SQL查询就是判断u8中是否有组合。
'2.上传u8,如果上传成功再进行更新U8数据表 Dim flag '上传u8 3.先保存u8数据表 Set mrcu8 = U8Query("select * from v_BOM_BomParent where InvCode = '" & U(bpbh) & "'", msgtext) If mrcu8.EOF Then If Outsourcing_bom(U(bpbh), labBpmc.Caption, FGridArg, "Add") = False Then MsgBox ("委外构成上传U8出错!") Exit Sub End If Else If Outsourcing_bom(U(bpbh), labBpmc.Caption, FGridArg, "Edit") = False Then MsgBox ("委外构成上传U8出错!") Exit Sub End If End If
二、以下是调用EAI的BOM的方法。
更新库存文件表就是更新分包标识。
'ds_data 数据列 InvCode 子件编码,desl 定额数量 Public Function Outsourcing_bom(as_fjCode As String, as_fjName As String, ds_data As MSHFlexGrid, as_proc As String) As Boolean 'as_proc = "Edit" Outsourcing_bom = False Dim ls_xml As String Dim ls_sender As String Dim ls_data As String Dim ls_BomId As String Dim ls_BomType As String Dim ls_Version As String Dim ls_VersionDesc As String Dim ls_VersionEffDate As String Dim ls_Status As String Dim ls_VenCode As String Dim ls_VenDesc As String Dim ls_InvCode As String Dim ls_InvName As String Dim ls_ParentScrap As String ls_sender = U8_XTM '"001" ls_InvCode = as_fjCode '"WW" '父件编码 ls_InvName = as_fjName '"委外测试" '父件名称 ls_BomType = "1" 'BOM类型 不可为空 ls_Version = "10" '版本号 ls_VersionDesc = "01" '版本描述 ls_Status = "3" 'BOM状态 ls_ParentScrap = "0" '父件损耗率 ls_BomId = "1000000000" 'BOMID 不可为空 ls_VersionEffDate = "2000-01-01T00:00:00+00:00" '版本生效日 '增加文件头相关信息 ls_xml = "<?xml version=""1.0"" encoding=""UTF-8""?>" + vbCrLf ls_xml = ls_xml & "<ufinterface sender=""" & ls_sender & """ receiver=""u8"" roottag=""bom"" docid="""" proc=""" & as_proc & """ renewproofno = ""Y"" codeexchanged=""N"" exportneedexch=""N"" display="""" family="""" timestamp="""">" + vbCrLf ls_xml = ls_xml & "" + vbCrLf '一、增加文件中版本信息 version ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" & ls_BomId & "" + vbCrLf 'BOMID 不可为空 ls_xml = ls_xml & "" & ls_BomType & "" + vbCrLf 'BOM类型 不可为空 ls_xml = ls_xml & "" & ls_Version & "" + vbCrLf '版本号 ls_xml = ls_xml & "" & ls_VersionDesc & "" + vbCrLf '版本说明 ls_xml = ls_xml & "" & ls_VersionEffDate & "" + vbCrLf '版本生效日 ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" & ls_Status & "" + vbCrLf 'BOM状态 ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" & ls_VenCode & "" + vbCrLf '供应商编码 ls_xml = ls_xml & "" & ls_VenDesc & "" + vbCrLf '供应商名称 Dim ls_ufts As String ls_ufts = "AAAAAAA6aEU" ls_xml = ls_xml & "" & ls_ufts & "" + vbCrLf ' 'AAAAAAA6aEU= ls_xml = ls_xml & "" + vbCrLf '增加文件中父件信息 Parent ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" & ls_BomId & "" + vbCrLf 'BOMID 不可为空 ls_xml = ls_xml & "" & ls_InvCode & "" + vbCrLf '父件编码 ls_xml = ls_xml & "" & ls_InvName & "" + vbCrLf '父件名称 ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" & ls_ParentScrap & "" + vbCrLf '父件损耗率 ls_xml = ls_xml & "" + vbCrLf '二、Component 子件信息 For i = 1 To ds_data.rows - 1 'ds_data.RecordCount ls_xml = ls_xml & "" + vbCrLf ' ls_data = "100000000" & Trim(str(i)) ls_data = "1" For j = 1 To 9 - Len(Trim(str(i))) ls_data = ls_data & "0" Next j ls_data = ls_data & Trim(str(i)) ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '子件资料Id ls_data = "0" ls_xml = ls_xml & "" & ls_BomId & "" + vbCrLf 'BomId ls_data = Trim(str(i * 10)) ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '序号 ls_xml = ls_xml & "0000" + vbCrLf '子件编码 ' If i = 1 Then ' ls_data = "3910510723" ' Else ' ls_data = "3910510523" ' End If ls_data = Trim(ds_data.TextMatrix(i, 1)) ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '子件编码 ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_data = "2000-01-01T00:00:00+00:00" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '子件生效日期 ls_data = "2099-12-31T00:00:00+00:00" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '子件失效日期 ls_data = "1" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '固定/变动批量(0/1) '子件定额数量 ls_data = Trim(ds_data.TextMatrix(i, 2)) ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '基本用量-分子 ls_data = "1" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '基本用量-分母 ls_data = "0" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '子件损耗率 ls_data = "false" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '是否联副产品 ls_data = "100000000" & Trim(str(i)) ls_data = "1" For j = 1 To 9 - Len(Trim(str(i))) ls_data = ls_data & "0" Next j ls_data = ls_data & Trim(str(i)) ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '选项资料Id ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_data = "1" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf ' ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf Next i '三、ComponentOpt 子件其它信息 For i = 1 To ds_data.rows - 1 'ds_data.RecordCount ls_xml = ls_xml & "" + vbCrLf ' ls_data = "100000000" & Trim(str(i)) ls_data = "1" For j = 1 To 9 - Len(Trim(str(i))) ls_data = ls_data & "0" Next j ls_data = ls_data & Trim(str(i)) ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '选项资料Id ls_xml = ls_xml & "0" + vbCrLf ls_data = "3" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf 'WIP属性(1入库/2工序/3领料/4虚拟) ls_data = "true" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '是/否累计成本 ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf ls_data = "false" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '是否可选 ls_data = "2" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '互斥原则(1-ONE/2-ALL/3-ANY/4-AL0) ls_data = "100" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '计划比例 ls_data = "false" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '固定/变动批量(0/1) ls_data = "0" ls_xml = ls_xml & "" & ls_data & "" + vbCrLf '偏置期 ls_xml = ls_xml & "" + vbCrLf Next i '增加文件尾相关信息 ls_xml = ls_xml & "" + vbCrLf ls_xml = ls_xml & "" + vbCrLf Dim xml_document As New DOMDocument xml_document.loadXML (ls_xml) fn2 = App.Path & "u8_code2.xml" xml_document.save (fn2) Dim ls_temp As String '接收返回消息,如果成功,返回U8中物料代码,如果失败,返回错误信息 If SendToEAI(ls_xml, ls_temp) Then '成功 ' MsgBox "上传成功" & ls_temp Dim sqls() As String Dim sqls_range Dim msgtext As String sqls_range = 0 ReDim Preserve sqls(sqls_range) sqls(sqls_range) = "update Inventory set bProxyForeign = 1 where cInvCode = '" & as_fjCode & "' " If U8Update(sqls, msgtext) = False Then '数据库更新失败退出 MsgBox msgtext Outsourcing_bom = False Else Outsourcing_bom = True End If Else '失败 MsgBox ls_temp Outsourcing_bom = False End If End Function
分类:
技术要点:
相关文章:
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容