默认情况下,Infoset以PNP/PCH逻辑数据库作为数据源,包括Infotype的所有字段。但当我们需要输出字段不是直接从Infotype中获得时就需要制作扩展字段。典型的场景有输出计算字段,比如员工年龄,需要用当前日期减去员工生日;输出组织相关字段,比如员工的行政级别是维护在组织单元上的;输出自定义数据表的字段;甚至是工资/考勤结果表的工资项。

1.使用Infotype增强字段

对于标准Infotype或者客户化的Infotype,我们都可以制作增强字段。具体方法可以google到,这里就不重复。每当Infotype的字段更新后,Infoset也会更新。这种方法制作扩展字段很简单,但是并不是所有字段都应该存储在Infotype中,这样会浪费存储空间。而且每增加个字段都要改动Infotype的数据结构。

2.使用Infoset附加字段

事务代码SQ02,选择一个Infoset,进入修改界面,转到‘附加’tab页。选择一个信息类型,再点击新建,可以增加附加字段。步骤按照下图:

定义附加字段的数据类型、文本:

转到‘代码’tab页,为附加字段编写取数逻辑的ABAP代码。

最终效果如下,第2列是标准字段,第3列是自己做的附加字段。

3.使用Infotype查询字段

查询字段与附加字段输出效果一样,区别是查询字段可以作为选择条件出现在选择屏幕上,而附加字段不可以。

查询字段的配置方法可以参考IMG

主要步骤是:

(1)增加CI_Pnnnn_AF结构

(2)拷贝标准RPAQ_GET_AF_nnnn函数(SE37),然后增加查询字段的取数的ABAP代码

(3)从IMG转到SQ02,要手动把新的查询字段更新到Infoset。菜单路径如下:

完成后的效果,可以看到查询字段是可以作为选择条件的:

4.使用SAP Query的局部字段

局部字段顾名思义只能在一个Query使用的字段。

在SQ01的菜单路径

局部字段的取数逻辑只能编写计算公式,而不是ABAP代码。以计算员工年龄为例,ZBIRTH是P0002-GBDAT在Query中的短名称,计算公式如下:

最终效果如下

总结

本文使用员工生日计算员工年龄的场景,介绍了4种不同的实现方法。非常佩服SAP做底层架构的能力,为顾问提供如此多的可能性。个人经验来说,方法2和方法3应该是最灵活、最强大的,在实际项目中使用比较多。

QUERY 1:制作扩展字段相关推荐

  1. 聊聊为什么 IDL 只能扩展字段而非修改

    转载地址:聊聊为什么 IDL 只能扩展字段而非修改 前几年业界流行使用 thrift, 比如滴滴.这几年 grpc 越来越流行,很多开源框架也集成了,我司大部分服务都同时开放 grpc 和 http ...

  2. 不改表结构如何动态扩展字段

    笔者的动态字段扩展解决方案主要针对 Mysql 5.7.8 以下版本,在 Mysql 5.7.8 已经新增 JSON Data Type,同样适用该方案,而且情况变得更加简单. 痛点 软件行业唯一不变 ...

  3. ABAP:BAPI_ACC_DOCUMENT_POST扩展字段

    1.se11创建结构,必须包含行项目号POSNR字段,和其他需要扩展的字段,如记账码Posting Key.原因代码      Reason Code等: 2.SE19实现BADI增强ACC_DOCU ...

  4. WSS 扩展文件夹的属性--如何给文件夹添加扩展字段

    一直以为wss3.0(MOSS)的文件夹不支持扩展字段,所有的文件夹只有 孤零零的一个 "名称"字段 ,要加个譬如 "备注"或者什么的无从下手. 其实,wss是 ...

  5. 数据库表扩展字段设计思路

    1:什么是扩展字段? 某张表中的字段为基本属性,某个系统在不同用户不同场合可能需要其他的属性. 2:扩展思路 扩展原则:扩展字段的使用是用户级别的,即在不改动系统程序的条件下进行扩展. 数据存储:1: ...

  6. SAP Cloud for Customer 2102版本如何使用Key User Tool创建扩展字段 - extension field

    点击Start Adaptation,进入Adaptation模式: 进入order header区域,点击drill down: 点击Add Field: 这里会显示一个表格,罗列了系统当前创建的所 ...

  7. 如何在Marketing Cloud里创建extension field扩展字段

    首先在Marketing Cloud里找到创建扩展字段的tile入口,搜索关键字extension: 这会进入Fiori应用"Custom fields",能看到系统里所有创建好的 ...

  8. 如何在调用Marketing Cloud contact创建API时增加对扩展字段的支持

    需求:扩展字段"微信ID"是我创建出来的extension field,我想用Marketing Cloud提供的contact creation API,在创建contact时也 ...

  9. SAP CRM WebClient UI搜索结果界面的扩展字段显示

    SAP CRM WebClient UI搜索结果界面的扩展字段显示原理. 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

最新文章

  1. SSAS系列——【07】多维数据(查询Cube)
  2. 基于图像的三维物体重建:在深度学习时代的最新技术和趋势综述之三维曲面解码...
  3. 老段mysql,老段视频汇总
  4. opencv 裁剪 java_如何在opencv java中裁剪检测到的面部图像
  5. LeetCode 594. 最长和谐子序列(map)
  6. mongodb备份还原
  7. MYSQL同步 Slave_IO_Running: No 或者Slave_SQL_Running: No 解决办法
  8. 配置VS2008本地调试.NETFRAMEWORK源代码
  9. LoadRunner场景参数文件部分参数说明
  10. vsftpd基于mysql_vsftpd基于mysql实现用户认证
  11. QQ音乐、网易云音乐、酷狗音乐歌单导入到Spotify
  12. java吉他游戏_[Java]吉他谱浏览器 0.1
  13. RFID资产管理|超高频RFID技术在医院资产管理项目中的应用-铨顺宏
  14. 数据标准化方法z-score讲解(matlab)
  15. 干货分享丨精心整理了份Python知识点高清速查表!太受用了!
  16. 嵌入式开发——结构体指针作为参数传递变量的值不正确
  17. PYNQ-z2的学习过程
  18. 【沃顿商学院学习笔记】商业分析——Customer Analytics:05 营销中的新兴数据集:营销科学的未来 EMERGING DATA SETS IN MARKETING
  19. 利用Python转换密文
  20. 后台弹出提示信息方法

热门文章

  1. 练好敲代码的内功——初识数据储存
  2. HTML学生个人网站作业设计:电影网站设计——影视传媒公司网站(8页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  3. Go语言学习笔记—golang基础简介
  4. 云计算创新展望-精耕细作的超级云计算平台
  5. js中 charCodeAt
  6. 面经:阿里三、四面及HR面自我剖析---Java岗(80分钟、30分钟、15分钟)
  7. 2020-09-27 总共四面
  8. 【Vue全家桶】Vue-Router (详解)
  9. V-Ray怎么快速渲染_渲染加速小技巧
  10. 8. OpenCV--图像直方图 模板匹配