如何在Fiori Elements CAP项目中处理CRUD操作

2020-08-17 05:58发布

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

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


你好

我正在使用SAP Cloud应用程序编程模型创建Fiori Elements应用程序。

我已经在SAP Business Application Studio上使用CAPM创建了我的Odata后端服务,并使用以下模型和服务定义将其部署到了SCP CF环境中:

model.cds

命名空间sap.capire.parkingapp;
 使用来自'@ sap/cds/common'的{managed,cuid};

 实体优惠:托管{
   密钥ID:整数;
   owner:字符串;
   地点:字符串;
   dateStart:日期
   dateEnd:日期;
   描述:字符串
   status:字符串默认为'available';

 }
 实体订单:托管{
   密钥ID:整数;
   OrderNo:字符串@title:'订单号'; //>可读密钥
   offer:报价关联
   受益人:字符串

 }
 

service.cds

使用" ../db/schema"中的{sap.capire.parkingapp作为我的};
 服务CatalogService @(path:'/browse'){

     @ odata.draft.enabled
     实体从my.Offer提供作为SELECT的报价(不包括{createdBy,modifiedBy}

     实体订单作为my.Orders上的投影;
    
    
 }

 

在SAP WebIDE上创建FE列表报告/对象页面项目,并使用注释建模器扩展将Local UI注释添加到项目中,得到以下结果:

当我想创建一个新实体(要约)时,出现以下开发人员工具中所示的问题:

我尝试在Postman上测试对Odata服务的发布请求,该请求正在运行,加载时我可以在Fiori列表报告页面中获取新插入的实体,但是它们像第一个显示的那样插入草稿中 图片(列表报告)。但是当我转到该新实体的详细信息(对象页面)时,当我尝试保存它时是草稿,我得到以下错误:

请如何处理此问题以对我的实体执行CRUD操作。 任何指示,建议,链接都将有所帮助。

谢谢

Mariam

(133.7 kB)

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

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


你好

我正在使用SAP Cloud应用程序编程模型创建Fiori Elements应用程序。

我已经在SAP Business Application Studio上使用CAPM创建了我的Odata后端服务,并使用以下模型和服务定义将其部署到了SCP CF环境中:

model.cds

命名空间sap.capire.parkingapp;
 使用来自'@ sap/cds/common'的{managed,cuid};

 实体优惠:托管{
   密钥ID:整数;
   owner:字符串;
   地点:字符串;
   dateStart:日期
   dateEnd:日期;
   描述:字符串
   status:字符串默认为'available';

 }
 实体订单:托管{
   密钥ID:整数;
   OrderNo:字符串@title:'订单号'; //>可读密钥
   offer:报价关联
   受益人:字符串

 }
 

service.cds

使用" ../db/schema"中的{sap.capire.parkingapp作为我的};
 服务CatalogService @(path:'/browse'){

     @ odata.draft.enabled
     实体从my.Offer提供作为SELECT的报价(不包括{createdBy,modifiedBy}

     实体订单作为my.Orders上的投影;
    
    
 }

 

在SAP WebIDE上创建FE列表报告/对象页面项目,并使用注释建模器扩展将Local UI注释添加到项目中,得到以下结果:

当我想创建一个新实体(要约)时,出现以下开发人员工具中所示的问题:

我尝试在Postman上测试对Odata服务的发布请求,该请求正在运行,加载时我可以在Fiori列表报告页面中获取新插入的实体,但是它们像第一个显示的那样插入草稿中 图片(列表报告)。但是当我转到该新实体的详细信息(对象页面)时,当我尝试保存它时是草稿,我得到以下错误:

请如何处理此问题以对我的实体执行CRUD操作。 任何指示,建议,链接都将有所帮助。

谢谢

Mariam

(133.7 kB)
付费偷看设置
发送
4条回答
My梦
1楼 · 2020-08-17 06:45.采纳回答

请检查您的manifest.json是否包含有关saml2参数的信息。

jovirus
2楼-- · 2020-08-17 06:40

您好格雷戈·沃尔夫

删除该参数后,问题已解决。

谢谢

Mariam

骆驼绵羊
3楼-- · 2020-08-17 06:45

嗨, Mariam ID-Manssour

来自 从外观上看,您的应用路由器未配置为将JWT转发到OData服务。

您的Fiori前端正在直接调用该服务(不通过应用路由器),或者没有任何提示。 可能正在调用OData服务,而不是得到json响应,而是得到身份验证屏幕(因此,网关错误和saml2反序列化错误)。

请共享应用程序的xs-app.json 路由器应用程序以及mta.yaml和xs-security.json。

最好的问候,
Ivan

大简至美
4楼-- · 2020-08-17 06:56

您好,伊万·米里索拉(Ivan Mirisola)

谢谢您的回答。

xs-app.json:

 {" welcomeFile":"/test/flpSandbox.html",
   " authenticationMethod":"路由",
   "登出": {
     " logoutEndpoint":"/img/do/logout"
   },
   "路线":[
     {
       " source":" ^/ParkingOdataV2-vf/(.*)$",
       " target":" $ 1",
       " authenticationType":"无",
       "目的地":" ParkingOdataV2-vf",
       " csrfProtection":false
     },
     {
       " source":" ^(。*)$",
       " target":" $ 1",
       " service":" html5-apps-repo-rt",
       " authenticationType":" xsuaa"
     }
   ]
 }
 

xs-security.json:

 {
   " xsappname":" mta_ParkingFioriApp",
   "租户模式":"专用",
   " description":"被调用应用程序的安全配置文件",
   "角色模板":[
     {
       " name":" Token_Exchange",
       " description":" UAA",
       "范围参考":[
         " uaa.user"
       ]
     }
   ]
 } 

mta.yaml:

 ID:mta_ParkingFioriApp
 _schema-version:" 2.1"
 参数:
   deploy_mode:html5-repo
 版本:0.0.1
 模块:
   -名称:mta-parkingfioriapp-approuter
     类型:approuter.nodejs
     路径:mta-parkingfioriapp-approuter
     参数:
       磁盘配额:256M
       记忆体:256M
     要求:
       -名称:mta_ParkingFioriApp_html5_repo_runtime
       -名称:dest_mta_ParkingFioriApp
       -名称:uaa_mta_ParkingFioriApp
   -名称:mta_ParkingFioriApp_ui_deployer
     类型:com.sap.html5.application-content
     路径:mta_ParkingFioriApp_ui_deployer
     要求:
       -名称:mta_ParkingFioriApp_html5_repo_host
     构建参数:
       要求:
         -名称:ParkingFioriApp
           工件:
             -'./*'
           目标路径:资源/ParkingFioriApp
   -名称:ParkingFioriApp
     类型:html5
     路径:ParkingFioriApp
     构建参数:
       制造商:定制
       命令:
         -npm安装
         -npm运行构建
       支持的平台:[]
       构建结果:dist
 资源:
   -名称:mta_ParkingFioriApp_html5_repo_runtime
     参数:
       服务计划:应用程序运行时
       服务:html5-apps-repo
     类型:org.cloudfoundry.managed-service
   -名称:mta_ParkingFioriApp_html5_repo_host
     参数:
       服务计划:应用托管
       服务:html5-apps-repo
     类型:org.cloudfoundry.managed-service
   -名称:uaa_mta_ParkingFioriApp
     参数:
       路径:./xs-security.json
       服务计划:应用
       服务:xsuaa
     类型:org.cloudfoundry.managed-service
   -名称:dest_mta_ParkingFioriApp
     参数:
       服务计划:精简版
       服务:目的地
     类型:org.cloudfoundry.managed-service
 

一周热门 更多>