销售订单创建VBA脚本:传递材料编号和Variant配置

时间:2014-08-12 21:13:59

标签: vba excel-vba sap excel

我是Excel VBA脚本的新手,我面临的问题是:

1)从Excel单元格中挑选物料编号并传递到创建BAPI的销售订单。

数据声明

Dim Material As String

Material = ActiveSheet.Range("E14")

oItemsIn.Value(1, "MATERIAL") =  Material

在这种情况下,错误信息在那里"材料2094266在销售区域中不存在"

但如果我传递材料" 000000000002094266"然后它工作正常

从单元格中选择值后,如何更改材料编号中前导零的格式?

2)我如何为我在值

之下传递的订单项传递材料配置(变量配置)
    Set CFGS_REF = oBapiCtrl.DimAs(boOrder, "CreateFromData", "OrderCfgsRef")
    Set CFGS_VK = oBapiCtrl.DimAs(boOrder, "CreateFromData", "OrderCfgsInst")
    Set CFGS_VALUE = oBapiCtrl.DimAs(boOrder, "CreateFromData", "OrderCfgsValue")

    'OrderCfgsRefinst
    CFGS_REF.Value("POSEX") = "000010" 
    CFGS_REF.Value("CONFIG_ID") = "000010"
    CFGS_REF.Value("ROOT_ID") = "00000010"

    ' forOrderCfgsVk
    CFGS_VK.Value("CONFIG_ID") = "000010"
    CFGS_VK.Value("INST_ID") = "00000010"
    CFGS_VK.Value("CLASS_TYPE") = "300"

    'OrderCfgsValue

    CFGS_VALUE.Value("CONFIG_ID") = "000010"
    CFGS_VALUE.Value("INST_ID") = "00000010" ' Item
    CFGS_VALUE.Value("CHARC") = "PRG_ORD_SOURCE"
    CFGS_VALUE.Value("Value") = "Excel"

但它会在CFGS_REF.Value(" POSEX")=" 000010"中引发数据不匹配错误。

1 个答案:

答案 0 :(得分:0)

将前导零添加回材料编号:

oItemsIn.Value(1, "MATERIAL") =  Format(Material, "000000000000000000")