可以实现弹出一个对话框,提供选择数据的功能……

栗子1:

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

  TYPE-POOLS slis.
DATA: selec TYPE slis_selfield,
l_exit TYPE c.
DATA: lv_repid TYPE sy-repid. lv_repid = sy-repid.
CONCATENATE sy-title '檢查異動類型+異動指示碼+特殊庫存是否與ZCO011相同' INTO gv_title. REFRESH gt_msg.
CLEAR: gs_msg,gt_msg.
SELECT *
INTO TABLE @gt_matdoc
FROM matdoc
WHERE budat BETWEEN @gv_start_date AND @gv_end_date
AND bukrs EQ @p_bukrs
AND mjahr = @gv_start_date+()
AND werks IN @s_werks
AND matnr IN @s_matnr
AND lgort IN @s_lgort. SELECT * FROM zco011 INTO TABLE gt_zco011.
SORT gt_zco011 BY kokrs bwart kzbew sobkz.
LOOP AT gt_matdoc.
READ TABLE gt_zco011 INTO DATA(ls_zco011) WITH KEY bwart = gt_matdoc-bwart
kzbew = gt_matdoc-kzbew
sobkz = gt_matdoc-sobkz
BINARY SEARCH.
IF sy-subrc <> .
IF gt_matdoc-bwart = '' OR gt_matdoc-bwart = ''. "開帳MVT不納入
ELSE.
CONCATENATE '異動類型:' gt_matdoc-bwart
',異動指示碼:' gt_matdoc-kzbew
',特殊庫存指示碼:' gt_matdoc-sobkz
',不存在設定檔中' INTO gs_msg-msg.
COLLECT gs_msg INTO gt_msg.
CLEAR gs_msg.
ENDIF.
ENDIF.
ENDLOOP. LOOP AT gt_msg ASSIGNING FIELD-SYMBOL(<lf_msg>).
<lf_msg>-num = sy-tabix.
ENDLOOP. IF gt_msg[] IS NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_title = gv_title "'SELECT MATERIAL'
i_tabname = 'GT_MSG'
i_structure_name = 'SLS_MSGS'
i_callback_program = lv_repid
**i_callback_user_command = 'USER_COMMAND'
IMPORTING
es_selfield = selec
e_exit = l_exit
TABLES
t_outtab = gt_msg.
* CALL FUNCTION 'SLS_MISC_SHOW_MESSAGE_TAB'
* TABLES
* p_messages = gt_msg[]
* EXCEPTIONS
* no_messages_provided = 1
* OTHERS = 2.
ELSE.
MESSAGE i001() WITH '本期:異動類型+異動指示碼+特殊庫存與ZCO011設定一致.'.
LEAVE LIST-PROCESSING.
ENDIF.

展示效果:

可以实现

栗子2:

CALL FUNCTION 'SLS_MISC_SHOW_MESSAGE_TAB'

REUSE_ALV_POPUP_TO_SELECT使用技巧的更多相关文章

  1. REUSE_ALV_POPUP_TO_SELECT的使用技巧

    通过函数的方法弹出一个对话框,提供选择数据的功能…… DATA: BEGIN OF lt_exidv OCCURS , box TYPE char1, exidv TYPE exidv, status ...

  2. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  3. 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧

    记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...

  4. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  5. 工欲善其事,必先利其器 之 VS2013全攻略(安装,技巧,快捷键,插件)!

    如有需要WPF工具的朋友可以移步 工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧 之前一篇<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATI ...

  6. 15个关于Chrome的开发必备小技巧[译]

    谷歌Chrome,是当前最流行且被众多web开发人员使用的浏览器.最快六周就更新发布一次以及伴随着它不断强大的开发组件,使得Chrome成为你必备的开发工具.例如,在线编辑CSS,console以及d ...

  7. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  8. 【工具使用】mac电脑使用技巧

    本文地址 分享提纲: 1.  mac命令行和finder的交互 2. 一些mac的插件 3. 一些开发的配置 1.mac命令行和findder交互           1)命令行中打开当前文件夹: o ...

  9. Function.prototype.toString 的使用技巧

    Function.prototype.toString这个原型方法可以帮助你获得函数的源代码, 比如: function hello ( msg ){ console.log("hello& ...

随机推荐

  1. HDU-1237- 简单计算器--栈的基本应用

    简单计算器 Problem Description 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值.   Input 测试输入包含若干测试用例,每个测试用例占一行,每行不 ...

  2. Robot Framework--标签Tag

    Robot Framework的标签是一个简单而又强大的分类机制,功能如下: 标签在reports,logs以及测试数据中展示,显示关于测试用例的元数据信息 用例的执行统计(total,passed, ...

  3. sql 索引的使用 转载:https://www.cnblogs.com/xiaoyangjia/p/11267191.html#mysql_performance

    B-Tree索引的3个限制: 如果不是按照索引的最左列开始查找,则无法使用索引 不能跳过索引中的列.如果联合索引(a,b,c) ,如果使用条件a和c条件查询,那么只能使用索引的第一列a 如果查询中有某 ...

  4. Python获取百度浏览记录

    Python模拟百度登录实例详解 http://www.jb51.net/article/78406.htm Python实战计划学习作业2-1 http://blog.csdn.net/python ...

  5. .NET项目 - sqlserver 连接字符串

    服务器本地连接: <connectionStrings> <add name="db" connectionString="Data Source=lo ...

  6. 解决 ImportError: No module named 'pip._internal'问题

    pip错误 ImportError: No module named 'pip_internal' 解决  ImportError: No module named 'pip._internal' 问 ...

  7. vue 组件的通信方式(完整版)

    几种通信方式无外乎以下几种: Prop(常用) $emit (组件封装用的较多) .sync语法糖 (较少) $attrs & $listeners (组件封装用的较多) provide &a ...

  8. SLAM第一篇:基础知识

    无论在室内.野外.空中还是水下,SLAM是机器人进入未知环境遇到的第一个问题.本期给大家介绍SLAM的基础知识:传感器与视觉SLAM框架 近来年,智能机器人技术在世界范围内得到了大力发展.人们致力于把 ...

  9. RBF、GRNN 和 PNN 神经网络在Matlab中的用法

    一.RBF神经网络 RBF神经网络概述 径向基函数神经网络 与 BP 神经网络的区别在于训练过程--其参数初始化具有一定方法,并非随机,隐含层的末尾使用了径向基函数,它的输出经过加权和得到 LW2.1 ...

  10. C++类*类型和其他类型相互转换

    类类型转换时会出现两种之间转换,下面我们说的是类类型 1.其他类型转换为本类类型 通过类带一个参数的构造函数:或者多个参数构造函数,除了第一个参数后面参数都有默认值时!这样在其他类型赋值给该类类型对象 ...