介绍SAP预留函数创建搜索帮助
紧接上一节介绍的SAP预定义的出口函数F4IF_SHLP_EXIT_EXAMPLE创建搜索帮助,
该函数主要有两个部分:
Changing接口的参数属性如下:
SHLP:搜索帮助的基础描述,包括搜索帮助的名称、类型以及内部信息等。
以下:1)INTERFACE:会列出该搜索帮助中包含哪些字段及当前使用的是哪个字段。
2)FIELDDESCR:会列出包含字段的具体属性,如字段名称、类型、长度等
3)FIELDPROP:搜索帮助所定义字段的参数设置,如:EXP/IMP/SPos等
4)SELOPT:当搜索帮助中有输入值时会在该表中显示
CALLCONTORL:包含当前帮助的结构信息,搜索帮助的时间点都由该结构中的字段CALLCONTORL-STEP来控制。在输入帮助处理期间,定义了许多时间点,每一个定义了一个重要的输入帮助处理操作的起始时间。所包含控制时间点具体参数如下:
1)SELONE:可在集合搜索帮助中使用在时间点。一个集合搜索往往包含多个基本搜索,改时间点发生在选择一个基本搜索帮助之前,此时的搜索帮助信息已经被存放在内表SHLP_TAB中,通过对内标SHLP_TAB数据的控制来限制该集合搜索中是否能使用其他的基本搜索帮助。
2)PRESEL1:选择一个基本搜索帮助后,在该时间上、该搜索帮助(类型SHLP_DESR_T)的定义内就不再将表INTERFACE复制到表SELOPT中了,这意味着在这里仍然可以影响搜索帮助到屏幕的附件(表INTERFACE包含关于如何将屏幕字段和搜索帮助变量关联上的信息)
3)PRESEL:该时间点可以用于实现搜索帮助输入条件中某些字段预定义的控制
4)SELECT:选值之前,如果不想使用默认选择,那么就应该用搜索帮助推出该时间点,将DISP设置成下一个时间点
5)DISP:该时间点用于控制搜索帮助的输出结果。例如,在输出搜索结果时对用户检查权限,删除搜索结果中未能授权的数据
6)RETURN:(一般作为下一个时间点的返回值)如果在一个搜索帮助退出中选择一个单独命中,那么就将RETURN时间点作为下一步返回。如果对事物处理序列的控制取决于以选中的值(典型例子:设置SET/GET参量),那么在该时间点上改变F4的流程就是有意义的。然后,应该注意到,该处理将取决于一个值是手工输入的还是用输入帮助的。
7)RETTOP:只有当输入帮助由集合搜索帮助控制时,才转到该时间点。它直接跟着时间点RETURN。然而,集合搜索帮助的搜索帮助推出是在时间点RETTOP上调用的。
8)EXIT(仅为了下一个时间点返回)
如果用户有机会在一个搜索帮助退出中终止对话,那么EXIT时间点应作为下一步返回
9)CREATE:仅当用户选择函数”创建新值“时候,才访问create时间点,且当赋予控制参数CALLCONTORL所对应的结构体的字段CUSTTAB为非空值时,该时间点才是有效的。正常情况下,在那里输入将要维护的表(定制)的名字,CREATE之后,返回的下一步应该是SELECT,这样才能选择新输入的值,并且随后显示。
10)APP1,APP2,APP3:如果带有函数模块F4UT_LIST_EXIT的命中列表包含了更深一层的按钮,那么也会介入这些时间点。当用户单击相应的按钮时候就能访问这些时间点。
注意:如果F4帮助是一个集合搜索帮助,那么就在时间点SELONE和RETTOP上调用集合搜索帮助的出口。(RETTOP仅当用户选择一个值)。在所有的其他时间点上,调用以选择的元素搜索帮助的出口。
如果F4帮助是一个基本搜索帮助,不执行RETTOP时间点,在时间点SELONE(当时)调用元素搜索帮助的出口,其他准备工作都在时间点PRESEL1上执行。
TABLES接口中的参数如下:
SHLP_TAB:替代基本搜索帮助的清单,与Changing接口中的SHLP_DESCR参数基本类似。
RECORD_TAB:列出搜索帮助的结果数据,结果会回执在操作搜索帮助的字段上。
参照F4IF_SHLP_EXIT_EXAMPLE的接口创建自定义函数。RFC中首先需要创建一个内表用于存储抓取的自定义数据,所定义的内标必须包含搜索帮助参数中EXP所定义的字段,最后通过函数F4UT_RESULTS_MAP回执查询结果,最后调用DISP时间点将查询的参数显示在列表中。
上节例中:仅需要调用SELECT这个时间点来进行数学的查询输出。具体代码见上小节
介绍SAP预留函数创建搜索帮助的更多相关文章
- SAP CRM 在Web UI中创建搜索帮助
多数情况下,在Web UI为一个特定的字段提供搜索帮助需要在事务SE11中创建搜索帮助. (注:也可以通过在SE24中创建一个类并实现实现IF_BSP_WD_CUSTOM_F4_CALLBACK接口来 ...
- C# 使用 SAP NCO3.0 调用SAP RFC函数接口
最近使用C#调用SAP RFC函数,SAP提供了NCO3.0组件. 下载组件安装,之后引用“sapnco.dll”和“sapnco_utils.dll”两个文件. 在程序中 using SAP.Mid ...
- SharePoint 2013 创建搜索中心及搜索设置
本文没有太多深奥的东西,只是简单的搜索配置,如果你已经掌握请略过本文. 好了,进入内容简介,众所周知,搜索是SharePoint一大特性,下面,我们简单介绍下搜索中心的创建. 1.创建Search子网 ...
- flask实战-个人博客-使用工厂函数创建程序实例 --
使用工厂函数创建程序实例 使用蓝本还有一个重要的好处,那就是允许使用工厂函数来创建程序实例.在OOP(Object-Oriented Programming,面向对象编程)中,工厂(factory)是 ...
- 【SD系列】SAP SD模块-创建供应商主数据BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-创建供应商主数据B ...
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...
- JS函数创建的具体过程
JS函数创建的过程: 1.新建Object对象F,类型设置为Function 2.设置F.__proto__ = Function.prototype 3.设置F.constructor = Func ...
- [转]MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...
- .net 调用SAP RFC函数获取数据的两种方式
方式1:使用客户端自带的组件 安装客户端以后,添加引用:SAPFunctionsOCX(.net 的Com列表里一般找不到,需要引用DLL[一般位于以下路径:Program Files\SAP\Fro ...
随机推荐
- Hdu 1404 Digital Deletions
Problem地址:http://acm.hdu.edu.cn/showproblem.php?pid=1404 刚开始想采取找规律的方法解题,可以没有发现规律.无奈,只好采用求PN点的方法. 我们假 ...
- oracle scn浅析
1. 系统SCN号 查询系统SCN号的方法: select dbms_flashback.get_system_change_number from dual commit后系统SCN号会增长,但是即 ...
- Hadoop伪分布式模式部署
Hadoop的安装有三种执行模式: 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置.Hadoop执行在一个Java进程中.使用本地文件系统.不使用HDFS, ...
- c#取出LDAP SearchResult所有属性
string aaa = System.Threading.Thread.CurrentPrincipal.Identity.Name; DirectorySearcher ds = new Dire ...
- 网页制作之html基础学习1-简介
学习网页制作主要分为三大块 1.HTML 超文本标记语言( 全称:Hyper Text Markup Language) 专门编辑静态网页 2.CSS 网页美化:是HTML控制的样式 ...
- [置顶] JNI之java传递数据给c语言
1.首先创建 DataProvider类: package com.pl.ndkpassdata; public class DataProvider { static{ System.loadLib ...
- javascript每日一练(十三)——运动实例
一.图片放大缩小 <!doctype html> <html> <head> <meta charset="utf-8"> < ...
- IOS 调用系统相册或照相机tab按钮显示中文
- elasticsearch的javaAPI之query
elasticsearch的javaAPI之query API the Search API同意运行一个搜索查询,返回一个与查询匹配的结果(hits). 它能够在跨一个或多个index上运行, 或者一 ...
- asp.net错误.在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错
解决办法:将该项目所在目录设置为虚拟目录,右键-转为应用程序.