Hello Javascript Experts,
我有一个要求,我必须使用JavaScript将一些值传递给SAP功能模块。 请参阅SAP中输入参数的附加快照,其中我需要使用javaScript传递值。 https://i.stack.imgur.com/PtiYw.png
我需要传递值(快照中突出显示为黄色)
Row
IT_VALUES
Column APPLID | FILEDNAME | F | LOW
| | |
Values LO_SRS | PLANT | V | 4060
Row Values
ID_DIALOGID DIA_LO_SRS
ID_PERSKEYTP U
ID_PERSKEY USERID
ID_ORIGIN A
我能够传递ID_DIALOG
,ID_PERSKEY
,ID_PERSKEYTYP
,ID_ORIGIN
的行值,而不会出现任何问题(请参阅下面的代码)。
Row Values
ID_DIALOGID DIA_LO_SRS
ID_PERSKEYTP U
ID_PERSKEY USERID
ID_ORIGIN A
- 的JavaScript -
// Main function: ztest
function ztest(Par){
importClass(java.util.HashMap);
var inputParams = new HashMap();
inputParams.put("ID_DIALOG", 'DIA_LO_SRS');
inputParams.put("ID_PERSKEYTYP", 'U');
inputParams.put("ID_PERSKEY", 'USERID');
inputParams.put("ID_ORIGIN", 'A' );
return inputParams;
}
但输入字段IT_VALUES
是SAP中的内部表,有4列
Row
IT_VALUES
Column APPLID | FILEDNAME | F | LOW
我必须在IT_VALUES
中传递以下列值Row
IT_VALUES
Column APPLID | FILEDNAME | F | LOW
| | |
Values LO_SRS | PLANT | V | 4060
我想我可以使用数组
var arr = {
IT_VALUES :
[
{
APPLID : "LO_SRS",
FEILDNAME : "PLANT",
F : "V",
LOW : "4060"
}
]
}
或对象
var arr = function()
{
return {APPLID: 'LO_SRS', FIELDNAME: 'PLANT', F: 'V', LOW : '4060'}
}
var it_values = arr();
但我不知道如何将列值传递给hashmap。
var inputParams = new HashMap();
inputParams.put("IT_VALUES",????????????????????????????????????)
inputParams.put("ID_DIALOG", 'DIA_LO_SRS');
inputParams.put("ID_PERSKEYTYP", 'U');
inputParams.put("ID_PERSKEY", 'USERID');
inputParams.put("ID_ORIGIN", 'A' );
return inputParams;
}
var bapiRet = mConnection.runFunction("FPB_PERS_POST_FOR_DIALOG", inputParams);
请帮助......:)
答案 0 :(得分:0)
听起来您想知道如何将对象分配给另一个对象中的键。为了澄清,您的arr
函数正在返回一个对象,而不是一个数组。
var arr = function() {
// - this is called an object
return {
APPLID: 'LO_SRS',
FIELDNAME: 'PLANT',
F: 'V',
LOW : '4060',
};
};
你可以将它传递给任何其他对象,例如inputParams
,javascript中没有HashMap
,只需使用其他对象:
var inputParams = {};
inputParams["IT_VALUES"] = it_values;
inputParams["ID_DIALOG"] = 'DIA_LO_SRS';
// etc...
return inputParams;
或者你可以这样做:
var inputParams = {
IT_VALUES: it_values,
ID_DIALOG: 'DIA_LO_SRS',
// etc...
};
return inputParams;
希望有所帮助