首页 > 解决方案 > 如何在规划模型 API 中使用 createMembers 方法?

问题描述

我正在尝试从 SAC 分析应用程序将成员添加到计划模型中,并且在尝试这样做时出现此错误:TypeError: e.startsWith is not a function

这是我尝试将成员添加到计划模型的代码:

for(var i=0; i<Ar_ID.length; i++) {
    idx = idx + 1;
    InventoryPlanning = ({id: idx, description: '', properties: {Amount: Ar_AMOUNT[i], Comment: Ar_COMMENTS[i], Company_Code: Ar_COMPANY_CODE[i], Country_Code: Ar_COUNTRY_CODE[i], Currency_Info: Ar_CURRENCY[i], Date: Ar_DATE[i], Lock_Flag: Ar_LOCK_FLAG[i], Type: Ar_TYPE[i], Value_Date: Ar_VALUE_DATE[i]}});
    var result= PlanningModel_1.createMembers("Inventory",InventoryPlanning);
    console.log(result);
}

当我打印什么InventoryPlanning(它是 PlanningModelMember 类型的脚本变量)时,输出如下所示:在此处输入图像描述

这是我想要的,并且与 Inventory 维度中的属性相匹配,所以我不确定为什么 createMembers 方法会给我这个错误。

标签: javascriptsap-analytics-cloud

解决方案


解决方案最终是将 idx 变量转换为字符串,将其存储在临时变量中,并将临时变量作为 id 键,如下所示:

for(var i=0; i<Ar_ID.length; i++) {
    idx = idx + 1;
    var tmp=ConvertUtils.numberToString(idx);
    InventoryPlanning = ({id: tmp, description: '', properties: {Amount: Ar_AMOUNT[i], Comment: Ar_COMMENTS[i], Company_Code: Ar_COMPANY_CODE[i], Country_Code: Ar_COUNTRY_CODE[i], Currency_Info: Ar_CURRENCY[i], Date: Ar_DATE[i], Lock_Flag: Ar_LOCK_FLAG[i], Type: Ar_TYPE[i], Value_Date: Ar_VALUE_DATE[i]}});
    var result= PlanningModel_1.createMembers("Inventory",InventoryPlanning);
    console.log(result);
}

推荐阅读