来自ServiceLayer脚本引擎的调用操作

2020-09-12 14:14发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的同事, 有...

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

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


亲爱的同事,

有什么方法可以调用ServiceLayer JS扩展中的动作(例如取消文档)? 我浏览了文档,发现那里什么也没有。 毫不奇怪,CRUD API仅提供用于CRUD操作的方法。 我什至尝试用另一种方法扩展ServiceLayerContext原型,但这仍然无济于事(再次不足为奇)。

以删除为例,我们可以在JS SDK中找到以下内容:

 SAPB1.ServiceLayerContext.prototype.remove =函数(名称,键,callbackFunc){
     var entityType = null;
     如果(this.hasOwnProperty(name)){
         entityType = this [name] .type;
     }
    
     var normalizedKey = SAPB1.Utility.NormalizeKey(key,entityType);
     var strRet = this.contextHandle.deleteEntity(name,normalizedKey);
     var jsonRet = JSON.parse(strRet);
    
     var ret = new SAPB1.DataServiceResponse('remove',jsonRet.status,jsonRet.body);
     如果(!ret.isOK()){
         if(ret.getErrCode()== http.ScriptError.TRANSACTION_TOO_LARGE_ERROR){
             抛出新的http.HttpException(ret.status,ret.getErrMsg(),ret.getErrCode());
         }
     }
     如果(typeof(callbackFunc)==='函数'){
         callbackFunc(jsonRet.status,jsonRet.body);
     }
     返回ret
 };
 

contextHandle如下:

函数getContextHandle(){
         返回serviceLayerContext;
     }
     this.contextHandle = getContextHandle();
 

因此,我假定此serviceLayerContext变量是用于执行SL操作的变量(我在这里吗?)。 但我不知道该对象的签名。 我试图记录它,但没有成功。 我的用例是,我主要将SE用于复杂的事务处理,并且如果您需要使用主数据也可以。 但是,当您需要更改AR发票和收款时,通常需要取消链并重新创建。 在这种情况下,如果没有此SL操作,则SE对于我的业务案例是完全没有用的。

感谢您的帮助。

3条回答
compass1988
2020-09-12 15:02

嗨,

我们也在搜索此内容。
您找到了什么吗?

亲切的问候。

一周热门 更多>

相关问答