Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java内置Javascript-将数组/列值传递给Hashmap_Javascript_Java_Sap - Fatal编程技术网

Java内置Javascript-将数组/列值传递给Hashmap

Java内置Javascript-将数组/列值传递给Hashmap,javascript,java,sap,Javascript,Java,Sap,大家好,Javascript专家 我需要使用JavaScript将一些值传递给SAP功能模块。 请参阅附加的SAP输入参数快照,我需要使用javaScript传递值 我需要传递值(在快照中以黄色突出显示) 我能够传递ID\u对话框,ID\u个人钥匙,ID\u个人钥匙类型,ID\u来源的行值,没有任何问题(请参见下面的代码) --JavaScript-- 但是输入字段IT_值是SAP中的一个内部表,有4列 Row IT_VALUES Column APPLID | FILEDNAM

大家好,Javascript专家

我需要使用JavaScript将一些值传递给SAP功能模块。 请参阅附加的SAP输入参数快照,我需要使用javaScript传递值

我需要传递值(在快照中以黄色突出显示)

我能够传递
ID\u对话框
ID\u个人钥匙
ID\u个人钥匙类型
ID\u来源
的行值,没有任何问题(请参见下面的代码)

--JavaScript--

但是输入字段
IT_值
是SAP中的一个内部表,有4列

Row
IT_VALUES
Column        APPLID  | FILEDNAME |  F  |  LOW
我必须在IT\u值中传递下面的列值

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);

请帮忙……)

听起来您想知道如何将一个对象指定给另一个对象中的键。为了澄清,您的
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;

希望这会有所帮助

1)您的JavaScript结构有点不合常规。。当然不是干的2)java.util.HashMap是从哪里来的?谢谢你,Dux。我尝试了您的建议,但当我将inputParams传递给SAP function.runFunction时,我遇到了错误:无法将[object object]转换为java.util.Map:(
var arr = function() {
  // - this is called an object
  return {
    APPLID: 'LO_SRS',
    FIELDNAME: 'PLANT',
    F: 'V',
    LOW : '4060',
  };
};
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;