点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我需要使用对象数组作为输入来调用HANA过程。现在,我需要转换为逗号分隔的字符串并像下面这样作为Array传递。
是否有更好的方法,例如将pass作为表参数? 请提出。
输入:
{" id":" 1","材料":[{" MATNR":" 10025"},{" MATNR":" 10026"}]}
我目前正在这样做,将输入数组转换为字符串并传递给它。
materialString = input.materials.map(x =>"'" + x +"'").toString() const tx = cds.transaction(req) 让vProc =等待tx.run(`call" proc"('$ {input.id}',ARRAY($ {materialstring}))`)
当前没有支持直接输入ARRAY参数的HANA客户端。
ARRAY SQLScript数据类型实际上仅在SQL/SQLScript上下文中可用。 例如,它没有映射到JDBC/Java数组(或与此相关的JavaScript字典)。
因此,您可以继续将动态SQL与ARRAY()函数一起使用以构造数组,也可以重新考虑 将"数组"传输到数据库上下文的方法。
一种常见的替代方法是-如果数组结构允许这样做,即实际上有点像"内部表",则创建一个临时表, 将要传输到该表中的数据,并将临时表用作过程中的输入参数。
文档仅讨论带参数的视图,而不是过程。 期待具有HANA专家解答的SAP CAP。
一周热门 更多>