搜索帮助基础 (★★★★)

搜索帮助基础 (★★★★)

#abap #abap-dictionary #abap-search-help

概览表

Element (要素) Description (描述)
Interface (接口) IMPORT/EXPORT 参数 — 控制数据传输
Selection Method (选择方法) 表或视图 — 确定候选值来源
Dialog Type (对话类型) 控制是否显示限制值对话框
Parameters (参数) 定义显示和传输的字段

搜索帮助的功能

搜索帮助描述一个完整的 F4 输入帮助流程

1
2
3
4
5
6
用户按 F4 → 搜索帮助启动
→ 获取上下文(IMPORT 参数)
→ 可选:显示限制值对话框
→ 选择数据(Selection Method)
→ 显示命中列表
→ 用户选择 → 返回值(EXPORT 参数)

选择方法 (Selection Method)

Selection Method 适用场景
Table (表) 数据在一个表或其文本表中
Database View (数据库视图) 数据分布在多个表 → Inner Join
Help View (帮助视图) 需要 Outer Join 时使用
⚠️维护视图不能作选择方法
搜索帮助不能使用维护视图作为选择方法。
优先使用数据库视图,仅在外连接必要时用帮助视图。

文本表自动处理

如果选择方法是表,且该表有文本表:

  • 系统自动使用当前登录语言的文本
  • 无需手动创建帮助视图

对话类型 (Dialog Type)

Type (类型) Behavior (行为)
Dialog with value restriction 显示限制值对话框,再显示命中列表
Dialog depending on hit list 少量结果直接显示;多结果先限制
No dialog 直接显示命中列表

参数 (Parameters)

IMPORT vs EXPORT

1
2
IMPORT: 从屏幕 → 搜索帮助(传入上下文)
EXPORT: 搜索帮助 → 屏幕(返回选定值)
📌搜索字段的特殊行为
搜索字段(Search Field)的值仅在包含通配符*+)时
才传递给 IMPORT 参数。

参数属性

Property (属性) Description (描述)
Position in dialog 在限制值/命中列表对话框中的位置
Data Element 定义显示格式(默认用选择方法的字段类型)
Default Value 预设值(字面量/系统字段/GET 参数)
Display only 在限制值对话框中只读

仅显示信息参数

⚠️不要设为 IMPORT
仅包含附加信息的参数不应设为 IMPORT
否则用户每次新搜索前必须清空该字段。

接口参数位置分配

1
2
3
4
5
6
7
8
9
10
11
12
Hit List Dialog (命中列表):
┌──────────────────────────────────┐
│ Pos 1: CARRID │ Pos 2: CARRNAME │ ← EXPORT 参数
│ Pos 3: CONNID │ Pos 4: CITYFROM │
└──────────────────────────────────┘

Restriction Dialog (限制值):
┌──────────────────────────────────┐
│ Pos 1: CARRID │ Pos 2: CITYFROM │ ← IMPORT 参数
└──────────────────────────────────┘

两个对话框可使用不同的参数和顺序!

考试/测试模式

Scenario/Keyword (场景/关键词) Answer (答案)
“维护视图能作选择方法吗?” 不能
“搜索字段何时传值给 IMPORT?” 仅当包含 *+ 通配符时
“附加信息参数应设为 IMPORT 吗?” 不应该(否则用户需清空)
“优先使用什么视图作选择方法?” 数据库视图(外连接必要时用帮助视图)