前言

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


标准查询方式.

以销售价格为例.  


01

执行事物代码:VK13


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


02

选择条件表


SAP工具箱之 统一条件查询报表_公众号_02


03

输入选择


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

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


04

多层查询


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

SAP工具箱之 统一条件查询报表_字段_05

SAP工具箱之 统一条件查询报表_公众号_06

标准功能的不足

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

  • 每次只能查询一个条件类型,
  • 查询结果按照不同的条件表分开到不同的块呈现. 当查询商品增多时, 该显示方式不利于查看分析数据.
  • 无法附带商品或地点的其它属性
  • ....


统一价格查询报表

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

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


01

程序预览


执行程序或事务代码: ZBC_PRICE_REPORT

输入选择条件

SAP工具箱之 统一条件查询报表_字段_07

获取查询结果

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


02

条件类型可配置


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

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

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



TIPS

SPRING

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

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

ZBC_PRICE_REPORT_SEL


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


03

选择屏幕自动调整


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


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



TIPS

SPRING

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

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


SAP工具箱之 统一条件查询报表_字段_10

SAP工具箱之 统一条件查询报表_字段_11


04

输出结果动态调整


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


码表框架链接


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

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


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

SAP工具箱之 统一条件查询报表_公众号_12

SAP工具箱之 统一条件查询报表_公众号_13


05

强制过滤功能


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

  • 强制过滤勾选后, 只查询存在该查询条件字段的条件类型/条件表
  • 如果不勾选.没有该查询条件字段的条件类型/条件表也会被查询

示例: 

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

如果输入了渠道 10. 

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

SAP工具箱之 统一条件查询报表_公众号_14


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开发技巧