SAP工具箱之 统一条件查询报表

2021-10-30 19:49发布


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

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

点击蓝字 关注我们

前言

条件(价格)是ERP中很重要的一种主数据. 系统中允许通过特定的TCODE: VK13(销售)/MEK3(采购) 查询已经维护的条件 . 


标准查询方式.

以销售价格为例.  


01

执行事物代码:VK13



02

选择条件表



03

输入选择



04

多层查询


通过查询界面点击条件信息,可以进入特定条件类型的多层级结果查询

标准功能的不足

SAP ERP软件的标准条件查询功能的不足

  • 每次只能查询一个条件类型,

  • 查询结果按照不同的条件表分开到不同的块呈现. 当查询商品增多时, 该显示方式不利于查看分析数据.

  • 无法附带商品或地点的其它属性

  • ....


统一价格查询报表

基于标准条件查询的不足,开发了一个统一价格报表.(前期代码是一位同事实现的,感谢) 用来查询系统中维护的条件.

下面介绍一下这个报表的一些重要特性.


01

程序预览


执行程序或事务代码: ZBC_PRICE_REPORT

输入选择条件

获取查询结果


02

条件类型可配置


可以通过配置控制允许查询的条件类型. 

可以为报表创建多个事务代码,

配置不同的事务代码允许不同的条件类型范围.

TIPS

SPRING

程序会根据配置表ztbc_price_c1 自动获取允许显示的条件, 如果没有配置该表,则默认显示所有Z开头的条件和PB00/PA00

首次执行程序如果报错,需要清空INCLUDE 程序中的代码 

ZBC_PRICE_REPORT_SEL


03

选择屏幕自动调整


选择屏幕会自动根据输入的条件类型,动态调整选择界面中的字段(按条件类型相关的字段及附加的商品或商品+地点属性作为动态选择条件).


下面的图示中可以看到, 输入ZP02条件类型和ZP03条件类型. 选择屏幕内容会自动调整.

TIPS

SPRING

允许通过通配符或者多值输入多个条件. 选择屏幕取多条件的集合

具体查询执行时,每个条件会使用自己所需的选择字段


04

输出结果动态调整


输出结果根据所有查询到的条件自动确定需要输出的字段,并且通过码表框架自动补充描述.

码表框架链接
无峰,公众号:ABAP 技巧与实战SAP开发框架系列之 码表框架

输出结果中,对应条件类型,条件表的关键字段,通过蓝色显示,以便区分与其他字段


下面图示的两个输出清单是根据条件类型及查询结果自动调整输出内容的.


05

强制过滤功能


如果输入了特定查询条件, 

  • 强制过滤勾选后, 只查询存在该查询条件字段的条件类型/条件表

  • 如果不勾选.没有该查询条件字段的条件类型/条件表也会被查询

示例: 

两个条件类型 ZZ00(商品+渠道) ZZ01(商品+地点)

如果输入了渠道 10. 

  • 勾选强制查询 ,则ZZ00只查询渠道10的 , ZZ01就不会被查询.

  • 没有勾选强制查询, 则 ZZ00只查询渠道10的,ZZ01 查询所有


06

自动补充相关属性


允许通过结构

ZSBC_PRICE_REPORT 

中嵌套的结构 

ZSBC_PRICE_MARA 

ZSBC_PRICE_MARC 

添加字段,添加的字段会自动定义为选择条件, (为了避免属性字段被用于条件表导致重复, 结构中的属性字段需命名: <原属性字段>_PR. ) 添加的字段如果是编码,需要补充码表以便显示描述.

  • 如果结果集合中存在MATNR 则会自动显示ZSBC_PRICE_MARA中的属性,

  • 如果结果集合中存在MATNR WERKS ,则会自动显示ZSBC_PRICE_MARC中的属性.

总结

统一条件查询报表根据系统的条件配置体系,整合大量用户的意见,历经多个项目形成了目前的这些特性. 可以查询所有通过标准定价体系配置的条件,通过灵活,动态的方式呈现结果, 并且允许通过预留的结构扩展商品属性. 

实在是居家,旅行,做项目必备的好工具. 

这么好的工具哪里才能获取

建议有能力的开发根据本文描述特性自行开发.

程序在S4中开发,使用了一些新的ABAP特性,ECC系统不确保没有语法错误.

如有你确实有需要,请在文章末点喜欢作者打赏50元后联系微信号392077索取源代码.


THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)



公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077


公众号主群加入受限, 请扫码加入副群后,向管理员申请加入主群

赞赏支持