zoukankan      html  css  js  c++  java
  • 使用CDSVIew创建List Report

    sap sicf adt service没有激活的话,会导致web-ide的代码无法发布到服务器。

    odata使用的cdsview如果是在segw中参照进去的话,当cdsview新追加association的时候,需要将激活cdsview重新参照(删除旧的),否则无法将追加进的association公开,会导致错误。

    http://www.sapspot.com/developing-app-with-sap-fiori-elements-list-report-page-object-page-using-cds-view-and-annotations-abap-programming-model-on-sap-s-4-hana/

    https://www.samplecodeabap.com/cds-fiori-elements-key-value-description-sap-cds-annotations/

    页面是否设置为紧凑模式,需要在manifest文件中设置以下属性。

     不需要点击一览数据进入详情,需要将Objectpage的设置去掉。

    如果对listreport进行扩展,会在一览中显示radiobutton,如果不需要显示的话,可以设置以下属性。

    在公开odataservice时,如果删除system alias的话,同时需要变更service处理mode,否则odata服务无法访问。

     

    删除生成得srv跟model

    1. Delete Project from Service Builder

    2. Go to ABAP workbench and delete all generated classes and interfaces. (you may use "Go to ABAP Workbench" context menu from Service Builder classes nodes)

    3. Go to: SPRO -> SAP Customizing Implementation Guide -> SAP NetWeaver -> Gateway Service Enablement -> Backend OData Channel -> Service Development for Backend OData Channel:

    a.Delete service using "Maintain Services" node: provide the Technical Service Name and service version; then click on Delete Service button

    b.Delete model using "Maintain Models" node: provide Technical Model Name and Model Version; then click on delete Model button.

    Regards,

    错误:The association XXXX cannot be used locally in the view(see long text)

    如果在cdsview中取出一个association的表的项目,并且做为连结条件与另外一个association的表进行关联,并且取出第二个association的表的项目时,会出现这样的错误。正确的做法需要将第一个association的表变换成join,在去与第二个association的表进行关联。 

    CDSView中项目关联到textCDSview之后,将会在odata服务中新增加一个eneity XXXX_TEXT.

    用来作为连接条件的字段,cast之后,也会出现这个错误,需要在cast中使用 preserving type.

    在item中创建链接,可以用到以下注解

    #WITH_NAVIGATION_PATH
    Used for navigation within an application.

    #WITH_URL
    Used for navigation from an application to an external web site.

    #FOR_INTENT_BASED_NAVIGATION
    Used for navigation based on an action that is related to a semantic object.

    @Consumption.semanticObject: 'ZXXX'
    // @UI.lineItem: [{ position: 10 }]
    // @UI.lineItem: [{
    // position: 10,
    // type: #WITH_INTENT_BASED_NAVIGATION, 
    // semanticObjectAction: 'manage' }]
    // @UI.lineItem: [{
    // position: 10,
    // type: #FOR_INTENT_BASED_NAVIGATION, 
    // semanticObjectAction: 'manage' }]
    @UI.lineItem: [{
    position: 10,
    type: #WITH_URL, 
    url: 'manageURL' }]

    当使用#WITH_URL的时候,需要定义一个列作为参照,直接使用字符串会报错。

    如: "www.baidu.com" as manageURL,

    使用scc1用来copy移动番号的内容。

    https://sapyard.com/abap-programming-model-for-sap-fiori-1-overview/

     https://blogs.sap.com/2019/11/04/part10.-cds-views-vdm-annotation/

  • 相关阅读:
    观察者模式
    策略模式
    设计模式之Template Method
    面向对象设计原则
    设计模式简介
    封装Server类和Client类
    为客户端添加输入线程
    客户端升级为select网路模型
    将服务端select设置为非阻塞,处理更多业务
    Laradock 使用中遇到的问题汇总
  • 原文地址:https://www.cnblogs.com/suoluo119/p/12894334.html
Copyright © 2011-2022 走看看