网站页面锚点怎么做信息化建设 调查报告 乡镇网站
网站页面锚点怎么做,信息化建设 调查报告 乡镇网站,在线照片编辑工具,自己建的网站打开的特别慢Query option是指客户端在获取EntitySet的URL中后缀的一些指令#xff0c;在第一篇第四小节我们已经见识了一部分Query指令。在下面表中列出了最重要的QueryOption。注意指令在URL中必须小写。 Operation Query Option Filtering and projecting $filter and $select Sort…Query option是指客户端在获取EntitySet的URL中后缀的一些指令在第一篇第四小节我们已经见识了一部分Query指令。在下面表中列出了最重要的QueryOption。注意指令在URL中必须小写。 Operation Query Option Filtering and projecting $filter and $select Sorting $orderby Client-side paging $top, $skip and $inlinecount Counting $count lnlining $expand Formatting $format 一$filter
框架不会提供默认Filter我们必须在service implemenation中自己实现Filter也就是在Get_entityset方法的重写中自己代码实现Filter框架会将Filter转化成Select-Option形式以方便ServiceImplementation中代码的处理。
支持以下元素
由ComplexType形成的多层结构如第一篇中的Item使用斜杠访问成员【http..ser/Item$filterDETAIL_INFO/UNIT eq KG】
逻辑运算符【not/and/or】都必须小写注意not加单个条件不需要括号否则要括号明确not的结合方向
关系运算符【eq等于/ne不等/lt小于/le小等/gt大于/ge大等】都必须小写只能出现在filter之后不能当做eq使用
函数 contains(MATNR,abc)
实例【$filter(not startswith(MATNR, S)) and ITMNO eq 0020】
框架解析为Select-Option形式【MATNRE CP S*】和【ITMNOI EQ 0020】 二$select
实现projection效果限定返回实体的property。简化返回字段对接口性能乃至后端功能都有提升。
实例【$selectDOCNO,MATNR】
注意字段名区分大小写多字段逗号分隔
投影由框架自动实现我们重写DPC时不需要自定义代码但是可以通过如下代码获取传入的投影字段。
io_tech_request_context-get_select_entity_properties() 三$orderby
很简单在第一篇第四节已经说过了多列逗号分隔默认asc
实例【$orderbyITMNO,MATNR desc】 四$top $skip
客户端分页常用于移动端应用有限的页面空间要展示大量的实体集必须要分页展示在页面上有一些显示元素来标识分页信息实体集的总数量当前展示的分页数当前分页展示的行位于实体集的从几行到几行。
比如在UI5页面中放入一个Table控件绑定了OdataModel下图红框并设置为可分页且每页5行下图蓝框 在页面加载第一批数据时我们可以看到浏览器请求地址中$skip0$top5限定了取值范围inlinecountallpages用于获取数据总条数下一小节详述 我们点击页面上的More获取第二次数据地址中的$skip5$top5限定了第二批数据取数范围 五$inlinecount
获取满足filter条件的Entity行数这样客户端可显示总行数而且能计算出分多少页该指令有以下两种用法
$inlinecountallpages 返回数量
$inlinecountnone 不返回数量
在DPC的Get_entityset中我们用如下代码
IF io_tech_request_context-has_inlinecount( ) EQ ABAP_true. //allpages为真none为假
es_response_context-inlinecount 3. //将计算数量放入该返回参数
ELSE.
clear es_response_context-inlinecount.
ENDIF.
在返回的报文中将多出来一个标签表示entity总数量 六$count
获取Entity数量它很特别
其一URL没有?来引导【https://www.123.com:44301/sap/opu/odata/sap/Y_TEST_ODATA4_SRV/ItemSet/$count】
其二返回body中只有一个数量没有其他任何内容
在DPC的Get_entityset中我们可以用如下代码判断是否客户端请求为count
io_tech_request_context-has_count( ) EQ ABAP_true
es_response_context-count 998.
如果使用自定义代码直接赋值最后返回为所赋值否则系统自动根据所得et_entityset的行数返回考虑到效率如果只想获取$count我们没必要获取entityset我们可以使用上面自定义代码直接select count(*)并返回。 $count与$inlinecount的区别$count返回报文只有数量而$inlinecount可以跟数据一起返回数量另外$inlinecount必须自定义代码显式赋值 七$expand
借助Navigation关系将互相关联的多个Entity以层级方式在报文中返回。
实例【https://xxxxxx:44301/sap/opu/odata/sap/Y_TEST_ODATA4_SRV/HeaderSet(4500000002)?$expandAssociation_To_Item】
最终形成的报文在导航Link中加了一个inline标签而导航目标的EntitySet就包含在这个标签如下图ItemsData 上例中Header的Key可以不指定多个导航逗号分隔假设有三个Entity关联为A-B-C
我们以A为URL起点【https://xxxxxx:44301/.._SRV/A(01)?$expandA_To_B,A_To_B/B_To_C】
我们以B为URL起点【https://xxxxxx:44301/.._SRV/B(01)?$expandB_To_A,B_To_C】
$expand导航默认会使用get_entity和get_entityset来取数这可能导致多次取数的性能影响_DPC_EXT还提供了get_expanded_entityset方法来一次性取出所有关联实体如果实现了该方法就不会通过get_entityset取数了 八$format
格式选项决定了OData调用和响应的格式OData2.0支持XML和JSON两种格式其中XML是默认的。用法【$formatjson】
【$formatxslx】指明响应是一个二进制excel文件流。注意该格式只支持NetWeaver7.4以上且有很多限制譬如不支持$expand
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91095.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!