SAP基本搜索帮助及增强出口
se11创建基本搜索帮助时,各个参数的含意
- 选择方法 指定命中列表的数据来源,可以是数据库表,视图,CDS.如果指定了搜索帮助出口函数则该字段可以不输,数据来源可以在出口中自行指定
- 对话类型: 输入字段的建议搜索:
- 立即值显示: 在调用输入帮助后立即显示命中清单,通常如果命中清单只包含一些条目则建议使用该选项。
- 带有值限制的对话:立即显示限制值的对话框。如果正常情况下可能条目的清单非常大,则选择该选项。限制即将处理的数据设置会增加命中清单的清楚性,并降低值选择过程中系统的负载。
- 基于值集的对话:如果命中清单包含的条目小于100个,那么立即显示该命中清单。如果其包含的条目多余100个,那么显示限制值用的对话框。
- 输入字段的建议搜索帮助:如果勾选该字段则不需要调用搜索帮助,在输入字段中直接输入与该字段同名的搜索帮助的输入参数的值,系统会根据你输入的内容在下方显示筛选结果.不过只有数据源内容较少时建议使用.
- 多列全文搜索(数据库特定):可以在输入字段中输入与搜索帮助所有选择参数相关的内容,系统会进行全文搜索,并将结果显示在输入字段下方.精确度值:此值范围在 0.1 至 1 之间。系统中定义的标准值为 0.8。值 0.1 表示搜索查询允许的最大错误容差。1 表示搜索必须提供精确匹配。换言之,该值越小,搜索中能够容忍且之后显示在结果中的差异越大。
- 搜索帮助出口:此处需要填写一个和函数模块 F4IF_SHLP_EXIT_EXAMPLE有一样的参数.使用出口函数可以使搜索帮助更加灵活,具体用法稍后说明
- 搜索帮助参数:如果指定了选择方法,则参数必须是选择方法中的字段.如果使用了出口函数,则随意,但是要指定参数的数据元素
- IMP:该参数是否为输入参数,用来筛选命中列表
- EXP:该字段是否为输出参数,用来赋值给使用该搜索帮助的输入字段.
- LPOS列表:该参数字段在命中列表的位置
- SPOS选择列表:该字段在选择屏幕中位置
- SDIS选择显示:该参数字段在选择屏幕中仅显示,不可编辑,如果该字段被勾选,则必须指定该参数字段的默认值
- 参数字段对应的数据元素,必输项.
- modifyed 该字段被修改则可以调整参数字段对应的数据元素,但调整的数据元素的数据类型和长度要和选择方法中的数据元素相同.主要用了决定参数字段在命中列表和选择列表中的字段名称
- 缺省值:
- a) 包含在省略号(')中的常数,该常数必须在参量的内部表示中指定,参量的数据类型有一个编辑屏蔽(例如日期和时间)。例如日期1998年3月1日必须定义为 '19980301'。
- b) 系统字段。这是DDIC结构SYST的字段,其中前缀SY- 可用来代替前缀 SYST-。
- c)GET 参数的标识。
表或者结构绑定搜索帮助及字段分配与联动搜索帮助
- 建立如下搜索帮助
- 将搜索帮助绑定到自定义机构或者表的字段上
以上完成了搜索帮助的绑定及字段分配,
- 定义以下选择屏幕,或者在自定义屏幕中参照结构创建输入字段.
PARAMETERS p_werks TYPE zstest-werks .
PARAMETERS p_lgort TYPE zstest-lgort.
PARAMETERS p_lgobe TYPE zstest-lgobe .- 提前输入工厂字段的值,对库存地点使用搜索帮助时,工厂字段会自动带入的输入参数werks中,选择命中列表的条目后,会同时填写库存地点及库存地点描述字段.
- 以上就实现了输入参数的联动及选择结果填充多个字段.联动搜索帮助
搜索帮助出口的用法
- 搜索帮助出口可以使得搜索帮助更加的灵活
- 搜索帮助出口函数要求和系统函数F4IF_SHLP_EXIT_EXAMPLE具有相同的参数.
- 复制函数F4IF_SHLP_EXIT_EXAMPLE到自定义的函数,参照F4IF_SHLP_EXIT_EXAMPLE的代码根据需求完成自定义函数的代码
- 搜索帮助出口函数各个参数的含义
- SHLP现在使用的搜索帮助相关信息:参数字段,产生字段描述,输入字段选择条件等
- CALLCONTROL:搜索帮助流程控制
- SHLP_TAB:集合帮助下的所有简单搜索帮助相关信息
- RECORD_TAB:命中清单
搜索帮助增强出口使用方法
*"*"本地接口:
*" TABLES
*" SHLP_TAB TYPE SHLP_DESCT
*" RECORD_TAB STRUCTURE SEAHLPRES
*" CHANGING
*" VALUE(SHLP) TYPE SHLP_DESCR
*" VALUE(CALLCONTROL) LIKE DDSHF4CTRL STRUCTURE DDSHF4CTRL
*"---------------------------------------------------------------------- * EXIT immediately, if you do not want to handle this step
IF callcontrol-step <> 'SELONE' AND
callcontrol-step <> 'SELECT' AND
" AND SO ON
callcontrol-step <> 'DISP'.
EXIT.
ENDIF. *"----------------------------------------------------------------------
* STEP SELONE (Select one of the elementary searchhelps)
*"----------------------------------------------------------------------
* This step is only called for collective searchhelps. It may be used
* to reduce the amount of elementary searchhelps given in SHLP_TAB.
* The compound searchhelp is given in SHLP.
* If you do not change CALLCONTROL-STEP, the next step is the
* dialog, to select one of the elementary searchhelps.
* If you want to skip this dialog, you have to return the selected
* elementary searchhelp in SHLP and to change CALLCONTROL-STEP to
* either to 'PRESEL' or to 'SELECT'.
IF callcontrol-step = 'SELONE'.
* PERFORM SELONE .........
EXIT.
ENDIF. *"----------------------------------------------------------------------
* STEP PRESEL (Enter selection conditions)
*"----------------------------------------------------------------------
* This step allows you, to influence the selection conditions either
* before they are displayed or in order to skip the dialog completely.
* If you want to skip the dialog, you should change CALLCONTROL-STEP
* to 'SELECT'.
* Normaly only SHLP-SELOPT should be changed in this step.
IF callcontrol-step = 'PRESEL'.
* PERFORM PRESEL ..........
EXIT.
ENDIF.
*"----------------------------------------------------------------------
* STEP SELECT (Select values)
*"----------------------------------------------------------------------
* This step may be used to overtake the data selection completely.
* To skip the standard seletion, you should return 'DISP' as following
* step in CALLCONTROL-STEP.
* Normally RECORD_TAB should be filled after this step.
* Standard function module F4UT_RESULTS_MAP may be very helpfull in this
* step.
IF callcontrol-step = 'SELECT'.
IF sy-uname = 'PLM-SEAN'.
BREAK-POINT.
ENDIF.
"RECORD_TAB表的string字段里边包含了三位的空位及按照搜索帮助输出字段位置lpos顺序排列的各个输出字段的合并
SELECT FROM t001l
FIELDS concat( concat( concat( mandt ,werks ), lgort ),lgobe ) AS string INTO TABLE @record_tab. SELECT
*
FROM t001l
INTO TABLE @DATA(lt_t001l).
"也可以使用系统标准函数F4UT_RESULTS_MAP将源数据绑定到recordtab
CALL FUNCTION 'F4UT_RESULTS_MAP'
* EXPORTING
* SOURCE_STRUCTURE =
* APPLY_RESTRICTIONS = ' '
TABLES
shlp_tab = shlp_tab
record_tab = record_tab
source_tab = lt_t001l
CHANGING
shlp = shlp
callcontrol = callcontrol
* EXCEPTIONS
* ILLEGAL_STRUCTURE = 1
* OTHERS = 2
.
IF sy-subrc <> .
* Implement suitable error handling here
ENDIF. callcontrol-step = 'DISP'.
* IF RC = 0.
* CALLCONTROL-STEP = 'DISP'.
* ELSE.
* CALLCONTROL-STEP = 'EXIT'.
* ENDIF.
EXIT. "Don't process STEP DISP additionally in this call.
ENDIF.
*"----------------------------------------------------------------------
* STEP DISP (Display values)
*"----------------------------------------------------------------------
* This step is called, before the selected data is displayed.
* You can e.g. modify or reduce the data in RECORD_TAB
* according to the users authority.
* If you want to get the standard display dialog afterwards, you
* should not change CALLCONTROL-STEP.
* If you want to overtake the dialog on you own, you must return
* the following values in CALLCONTROL-STEP:
* - "RETURN" if one line was selected. The selected line must be
* the only record left in RECORD_TAB. The corresponding fields of
* this line are entered into the screen.
* - "EXIT" if the values request should be aborted
* - "PRESEL" if you want to return to the selection dialog
* Standard function modules F4UT_PARAMETER_VALUE_GET and
* F4UT_PARAMETER_RESULTS_PUT may be very helpfull in this step.
IF callcontrol-step = 'DISP'.
* PERFORM AUTHORITY_CHECK TABLES RECORD_TAB SHLP_TAB
* CHANGING SHLP CALLCONTROL.
EXIT.
ENDIF.
SAP基本搜索帮助及增强出口的更多相关文章
- SAP 增强-出口选找方法-全部
■ SAP 中如何寻找增强 方法一:利用TCODE寻找增强(第二代的增强) 执行一个程序(源代码后附),在选择屏幕处输入你所需要增强的程序TCODE,执行後,就会出现一个列表,那里就有关于如何增强这个 ...
- [SAP ABAP开发技术总结]增强Enhancement
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 基于SAP Kyma的订单编排增强介绍
尽管有一万个舍不得,2018年还是无可挽回地离我们远去了. 唯有SAP成都研究院的同事和我去年在网络上留下的这些痕迹,能证明2018年我们曾经很认真地去度过每一天: SAP成都研究院2018年总共87 ...
- ABAP FIELD-SYMBOLS 有大作用- 将没有可改参数的增强出口变得也能改主程序的值了
看下图代码: report z_xul_test2 中 定义了 全局变量 G_DATA1 , 分别调用了 z_xul_tes1 中的 form 和 function zbapi_test , 这两 ...
- SAP UI 搜索分页技术
搜索分页技术往往和另一个术语Lazy Loading(懒加载)联系起来.今天由Jerry首先介绍S/4HANA,CRM Fiori和S4CRM应用里的UI搜索分页的实现原理.后半部分由SAP成都研究院 ...
- SAP订单编排和流程增强概述
SAP产品里的订单处理,无论是On-Premises解决方案还是云产品,我认为归根到底可以概括成四个字:订单编排,包含两个层次的内容: 1. 单个订单通过业务流程或者工作流驱动的状态迁移: 2. 多种 ...
- ABAP FIELD-SYMBOLS 有大作用- 将没有可改參数的增强出口变得也能改主程序的值了
看下图代码: report z_xul_test2 中 定义了 全局变量 G_DATA1 , 分别调用了 z_xul_tes1 中的 form 和 function zbapi_test , 这两 ...
- 【ABAP系列】SAP F4搜索帮助的高级版
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP F4搜索帮助的高级版 ...
- 【EWM系列】SAP 关于EWM的WT增强简介
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 关于EWM的WT增强简介 ...
随机推荐
- Web页面测试总结(控件类)
界面测试,最多的就是各种控件的功能测试,只有掌握了其测试要点,了解测试方法,总结各种测试情景,才能熟练测试Web页面. 一.输入框 输入框分为文本输入框,数字输入框.一般使用在填写输入的内容上,比如名 ...
- Linux备份-删除指定日期内文件
#!/usr/bin/env bash source /etc/profile echo " *************** start filter *************** &q ...
- HDU 4944
FSF’s game Problem Description FSF has programmed a game.In this game, players need to divide a rect ...
- springData Jpa 快速入门
前言: 数据持久化的操作,一般都要由我们自己一步步的去编程实现,mybatis通过我们编写xml实现,hibernate也要配置对应的xml然后通过创建session执行crud操作.那么有没有这样一 ...
- [NOIP2007] 提高组 洛谷P1098 字符串的展开
题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数 ...
- Java高概率面试题目—finally
在Java面试中关于finally的面试题目出现的概率非常高,而且一旦面试官问起绝不会是蜻蜓点水,而是会向你发起层层递进地“连环问”,并且回答这系列问题常常需要代码的辅助,可谓考验基础的面试利题.究竟 ...
- hash存储结构【六】
一.概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Ag ...
- Redis 命令与连接【十一】
---------------------Redis 命令--------------- Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客 ...
- Codeforces 631C Report【其他】
题意: 给定序列,将前a个数进行逆序或正序排列,多次操作后,求最终得到的序列. 分析: 仔细分析可以想到j<i,且rj小于ri的操作是没有意义的,对于每个i把类似j的操作删去(这里可以用mult ...
- 2017-10-02-morning
T1 一道图论神题(god) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图 ...