SAP 小技巧特殊搜索帮助

作者:ABAP技巧与实战 约 9 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, PP, SD, WM, 仓库管理, 开发, 数据工程, 生产, 销售分销
SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

前言

SAP的搜索帮助是一个非常有用的功能.

常规情况下搜索帮助可以帮助用户选择内容填入字段中.

**本文介绍几种特殊的搜索帮助功能,用来添加一些特殊的字段内容**

特殊的搜索帮助

• RANGE类

• 码表类

• 表的字段名类

• 表的多字段类

• 层级选择类

• 指定表,字段的RANGE

RANGE类

搜索帮助界面类似选择屏幕,包含所有标准选择屏幕中的功能.

添加的选择条件合并成字符串的返回到目标字段.

_**01** _

**表现形式**

如下图, 对订单号限制 字段点击搜索帮助,会弹出一个动态选择屏幕,

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

输入复杂的选择条件,确认后.

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

把复杂选择条件的所有行通过逗号分割填写到字段中.

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

存在内容的情况下,点击搜索帮助,可以看到动态选择屏幕中的内容. 此时可以修改

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

在复杂选择内容中,可以通过多项选择,进入下一级搜索帮助多选内容.

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

多选确定的内容进入选择单值

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

当选择内容太多. ALV的字段无法显示(最多128个字符). 使用 MU <NUM10>替代

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

可以通过搜索帮助重现内容

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**02** _

**实现方式**

对表的字段分配特殊搜索帮助ZSH_RANGES_VBELN, 或 ZSH_RANGES_ALL_FIELDS

分配时指定参考表,参考字段即可.

注意,字段名建议命名规则 <参考字段名>_MUL . 字段长度限定为128位 (域ZDB_FIELDS_MUL)

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**03** _

**搜索帮助**

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

码表类

把字段的编码,描述通过弹窗显示,勾选结构组合成字符串返回到字段内容

码表的概念详见链接

_**01** _

**

**

**表现形式**

点击字段的搜索帮助,会显示该字段对应码表的所有编码,描述内容.

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

勾选后,所有编码通过英文逗号分割返回到字段内容中

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

如果勾选生成的字符串超过128位, 则使用<NUM10> 替代字段内容. 此时可以通过搜索帮助查看实际勾选内容

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**02** _

**实现方式**

为表字段分配通用搜索帮助 ZSH_MABIAO_MULTI

字段名命名规则 <码表字段>_MULTI

<码表字段> 在ZTMD006R中维护码表信息(获取编码,描述的方式)

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**03** _

**搜索帮助**

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

表的字段名类

同一行需要一个表名字段,添加表名. 然后搜索帮助中显示该表的所有字段, 双击把字段名选中到字段内容中

_**01** _

**表现形式**

显示指定表的所有字段,以便输入,这是一个最基础的搜索帮助形式

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**02** _

**实现方式**

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**03** _

**搜索帮助**

这是个最基础的搜索帮助. 通过传输参数传入表名,传出选择的字段名

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

表的多字段类

指定表后, 允许勾选多个字段.把勾选的结果组合成字符串返回到字段内容中

_**01** _

**表现形式**

输入表名后, 字段名的搜索帮助显示该表的所有字段, 通过勾选选中多字段

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

选中的多字段通过英文逗号分割生成字符串放到内容中

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

如果选中字段组合的字符串超过128位, 替换成 MU<NUM10> ,此时只能通过搜索帮助查看实际勾选字段

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**02** _

**实现方式**

表的字段分配搜索帮助 ZSH_TABLE_FIELDS_MULTI . 字段名命名没有什么限制

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**03** _

**搜索帮助**

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

层级选择类

选用了一个标准字段 物料的产品层次PRDHA

_**01** _

**表现形式**

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

选中后,把多层选择的内容组合放到字段内容中

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

产品层次在标准界面的搜索帮助表现形式(树状结构选择)

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

通过屏幕中指定VALUE-REQUEST实现

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**02** _

**实现方式**

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**03** _

**搜索帮助**

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

指定表,字段的RANGE

行中给定表名,字段名. 条件值内容通过搜索帮助的动态选择设置,选择内容合并到字符串输出

_**01** _

**表现形式**

参考RANGE类. 需要在行中先输入表名,字段名,值的搜索帮助按输入的表名,字段名生成动态选择屏幕.

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**02** _

**

**

**实现方式**

表中包含参考表,字段名 .字段值. 字段值的搜索帮助分配ZSH_RANGES_ALL_FIELDS. 同时指定表中的参考表,字段名

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**03** _

**搜索帮助**

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

特殊搜索帮助的应用

特殊搜索帮助在多个场景中使用, 这里列出几个示例

_**01** _

**配置自动单据过滤条件**

配置自动单据的保存过滤条件,符合过滤条件的单据保存时会写入自动产生后续单据的表中.

比如,交货单保存时,如果满足自动过账DN_POST的条件, 则写入ZTA_DN_POST. 后台定时执行ZA_DN_POST完成交货单的过账动作

其中同一个条件分组中的条件之间是AND关系, 不同的条件分组之间是OR关系

这种配置方式兼具简洁性和灵活性. 可以指定任意抬头/明细表字段内容作为条件,通过RANGE形式简化了条件值得输入.

一个配置表替代了之前的多个配置表.

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**02** _

**动态报表的默认选择内容**

动态报表的默认选择内容有复杂的填写规则,通过搜索帮助简化填写

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**03** _

**自动清账程序的多条件配置**

自动清账程序允许配置多个限制条件,这些限制条件通过特殊搜索帮助辅助维护.

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

_**04** _

**数据同步平台配置**

数据同步平台配置默认选择条件,分组字段

SAP 小技巧特殊搜索帮助 - 封面图
SAP 小技巧特殊搜索帮助 - 封面图

特殊配置内容的使用

CALL METHOD zcl_zorder_comm=>get_value_of_range( EXPORTING iv_range = lv_fieldvalue IMPORTING et_r = lr_range2 ).

详见示例程序 ZTS_COMM_GET_RANGE

*&---------------------------------------------------------------------**& Report ZTS_COMM_GET_RANGE*&---------------------------------------------------------------------**&*&---------------------------------------------------------------------*REPORT zts_comm_get_range.

DATA lr_range LIKE RANGE OF t001w-kunnr .DATA lr_range2 LIKE RANGE OF t001w-kunnr .DATA: lv_range_value TYPE string."一段RANGE字符lv_range_value = 'E/EQ/W001,I/CP/W*,W002,I/BT/1000000000/1999999999'. cl_demo_output=>next_section( '原始字符串,包换RANGE信息' ).cl_demo_output=>write( lv_range_value ).

"RANGE字符获取RANGE IDDATA: lv_always_rang

...

ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「SAP小技巧特殊搜索帮助.md」整理生成,仅用于内部技术分享与学习交流。