格式化搜索是SAP强大的工具,可以极大提高用户的输入便捷,在10.0中,格搜又有了本质上的提高,支持多点触发,本文将手把手教你如何定义格式化搜索。
一、 概述:
SAP格式化搜索是指:帮助我们在操作过程中,自动输入预设内容到用户操作界面的功能。
在SAP中,任意输入的地方,都可以添加选择工具。选择工具分两种:系统自带的和用户自定义的,系统中自带的选择工具,指的是事先定义的主数据或单据,我们在调用的时候,按TAB键即可。
对于无法选择的输入框,我们也可以用格式化搜索的方式,添加我们想要的任意选择数据,来提高用户的输入便捷,这类选择,我们可以用快捷键shift+F2来进行调用,或者点击录入框上的放大镜图标来调用。
字段右侧的放大镜标志显示格式化搜索的存在,您可以在“查看--选择工具显示--用户定义的值”来查看。
二、 配置说明:
本文模拟场景:在销售订单行中录入物料编号时自动输入该物料的外文名称
1. 定义格式化搜索
概述: 在查询管理器中定义取值SQL,最后在销售订单行的格子中关联这段取值SQL以达到录入物料编号时自动填外文名称的目的
增加字段
因为标准功能的销售订单行中目前没有外文名称的格子,所以首先要增加自定义字段,添加后销售订单行中将会多一个名为【外文名称】的格子
路径:主界面-工具-定制工具-用户自定义字段-营销单据-行-添加(增加自定义字段)
2、定义预设内容
通过在【查询管理器】中定义SQL (此处可以理解为Excel公式)来实现自动填写的目的
找到【外文名称】存放的位置
物料的外文名称存放在SAP物料主数据界面上,首先我们要知道它在SAP后台存在哪个位置,叫什么名字 方法如下:
找到物料主数据与销售订单界面的关联
销售订单行与物料数据关联是物料编码,那么界面上的物料编码怎么获得呢,参考下图:
定义取值SQL
通过前面的步骤,找到了外文描述存放的位置和与销售订单的关联字段,接下来就可以在SQL中定义取值
路径:工具-查询-查询向导(U)-执行
上图SQL代码中的$[$38.1.0]表示前述步骤中界面上的物料编号 格式相对固定
$[$Item.Column.0/Number/Currency/Date],按需求不同时改变其中的内容
0:表示取值为文本
Number:表示取数字
Currency:表示取值为货币
Date:表示取值为日期
2. 为字段关联格式化搜索
通过前面的步骤定义好了格式化搜索,接下来将此格搜与界面做一个关联,即可实现自动填写的目的
路径:主菜单-销售-销售订单
最终效果:
在销售订单中录入物料编号后,SAP将自动填写外文名称
3. 取消格式化搜索
取消格搜的方法如下图:
可能碰到的问题
a) 本例中只能按【物料编号】变化时,自动填外文名称,如果希望多个触发字段建议升级到SAP 10.0版本及以上,新版本支持最多5个触发字段,但这5个字段必须同时在行表或主表中。
新版本增强后可以实现如:A=B+C*D ,且当更改B、C、D任意一个值时都可以自动刷新A,如下图:
b) 需要取得行中带有货币符号的金额进行计算时,虽然只需要数字,但是每次都会把货币符号带上,导致无法计算。
问题原因:参数0和number取得的结果值时不一样的,特别是带有货币符号的字段。
解决方法:以销售订单中不含税单价为例,若单价显示为“100RMB”,使用$[$38.14.0]时,得到的结果就是字符串形式的“100 RMB”。这是可以修改格式化搜索的参数为number,即“$[$38.14.number]”,就可以得到数值型“100”。