带有RFC调用的全局Java库

2020-09-22 07:48发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

是否可以使用RFC调用来创建Global JavaScript库? 我尝试在脚本中使用函数,只是调用RFC,但它似乎不起作用。 不确定是否无法正确获取变量?

我已经阅读了javascript全局库文章,但是我正在寻找使用RFC的解决方案。

我在Personas Admin事务中创建的全局库的示例。

 var oRFC = session.createRFC(" BAPI_MATERIAL_GET_ALL");
 oRFC.setParameter(" MATERIAL",passmat);
 oRFC.setParameter(" VAL_AREA",plant);
 oRFC.setParameter(" RETURN",[{" TYPE":""," CODE":""," MESSAGE":""," LOG_NO":""," LOG_MSG_NO":" 000000"," MESSAGE_V1":  ""," MESSAGE_V2":""," MESSAGE_V3":""," MESSAGE_V4":""}]]);
 oRFC.requestResults([[" CLIENTDATA"," VALUATIONDATA"," MATERIALDESCRIPTION"," RETURN"]));
 oRFC.send();
 var _CLIENTDATA = oRFC.getResultObject(" CLIENTDATA");
 var _matlgrp2 = _CLIENTDATA.MATL_GROUP;
 var _unit2 = _CLIENTDATA.BASE_UOM;
 var _VALUATIONDATA = oRFC.getResultObject(" VALUATIONDATA");
 var _map2 = _VALUATIONDATA.MOVING_PR;
 var _price_unit2 = _VALUATIONDATA.PRICE_UNIT;
 var _price2 = _map2//_price_unit2;
 var _MATERIALDESCRIPTION = oRFC.getResultObject(" MATERIALDESCRIPTION");
 var _RETURN = oRFC.getResultObject(" RETURN");  

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

是否可以使用RFC调用来创建Global JavaScript库? 我尝试在脚本中使用函数,只是调用RFC,但它似乎不起作用。 不确定是否无法正确获取变量?

我已经阅读了javascript全局库文章,但是我正在寻找使用RFC的解决方案。

我在Personas Admin事务中创建的全局库的示例。

 var oRFC = session.createRFC(" BAPI_MATERIAL_GET_ALL");
 oRFC.setParameter(" MATERIAL",passmat);
 oRFC.setParameter(" VAL_AREA",plant);
 oRFC.setParameter(" RETURN",[{" TYPE":""," CODE":""," MESSAGE":""," LOG_NO":""," LOG_MSG_NO":" 000000"," MESSAGE_V1":  ""," MESSAGE_V2":""," MESSAGE_V3":""," MESSAGE_V4":""}]]);
 oRFC.requestResults([[" CLIENTDATA"," VALUATIONDATA"," MATERIALDESCRIPTION"," RETURN"]));
 oRFC.send();
 var _CLIENTDATA = oRFC.getResultObject(" CLIENTDATA");
 var _matlgrp2 = _CLIENTDATA.MATL_GROUP;
 var _unit2 = _CLIENTDATA.BASE_UOM;
 var _VALUATIONDATA = oRFC.getResultObject(" VALUATIONDATA");
 var _map2 = _VALUATIONDATA.MOVING_PR;
 var _price_unit2 = _VALUATIONDATA.PRICE_UNIT;
 var _price2 = _map2//_price_unit2;
 var _MATERIALDESCRIPTION = oRFC.getResultObject(" MATERIALDESCRIPTION");
 var _RETURN = oRFC.getResultObject(" RETURN");  
付费偷看设置
发送
4条回答
歪着头看世界
1楼-- · 2020-09-22 08:49

RFC可以在全局库中使用,但是需要将其作为一个函数来调用。 如果需要传递变量,则函数签名也需要允许这样做。

下面是一个简单的示例。

全局库:

 utils = {
 z_get_date_time:函数(pv_which){
 var oRFC = session.createRFC("/img/BA1/F4_API_GET_SYSTIME");
 oRFC.requestResults([[" E_RETURN"," E_SYSTIME"]);
 oRFC.send();
 var _E_RETURN = oRFC.getResultObject(" E_RETURN");
 var sys_time = oRFC.getResultObject(" E_SYSTIME");

 ...

                如果(pv_which ===" curdate"){
 返回日期
 }
 其他{
 返程时间
 }

 }
 };
 

此全局脚本是从风味中调用的:

 session.utils.include(" 124EC175DD5E1ED7B1B1460853286E63",否); //全局库的资源ID
 今天的var = utils.z_get_date_time(" curdate");
 
jovirus
2楼-- · 2020-09-22 08:24

谢谢。

当我尝试上面的代码时,出现错误,提示未定义utils。

您是否在代码开头执行了类似的操作var utils ="";?

Baoming ROSE
3楼-- · 2020-09-22 08:37

您不需要将Include指令分配给变量。

我假设您复制/粘贴了示例,如果是这样,则需要将资源ID更新为分配给全局库的任何内容。 (还请注意,全局库示例只是该示例,不会按原样返回值。)

大简至美
4楼-- · 2020-09-22 08:40

使用Dennis示例,对我有用的语法是:

 utils = session.utils.include(" 124EC175DD5E1ED7B1B1460853286E63",true); //全局库的资源ID
 今天的var = utils.z_get_date_time(" curdate"); 

一周热门 更多>