abap 弹出对话框函数POPUP_GET_VALUES的使用方法
2016-07-08 11:27
471 查看
项目中,经常用到,点击按钮时弹出一个对话框,选择一些值,然后返回选择的值,进一步操作,下面是使用弹窗对话框函数POPUP_GET_VALUES返回日期的例子,当然后也可以时其他类型的,定义数据元素时,根据需要定义成相应的类型就行了,效果如下图:
代码如下:
DATA: it_value TYPE TABLE OF sval,
wa_value TYPE sval,
lv_rtn_cd.
CLEAR:it_value,wa_value,lv_rtn_cd.
IF lv_cmd = '1' OR lv_cmd = '2'.
wa_value-tabname = 'ZMMDATE'.
wa_value-fieldname = 'BDATE'.
wa_value-value = sy-datum.
APPEND wa_value TO it_value.
wa_value-tabname = 'ZMMDATE'.
wa_value-fieldname = 'EDATE'.
wa_value-value = sy-datum.
APPEND wa_value TO it_value.
ELSE.
wa_value-tabname = 'ZMMDATE'.
wa_value-fieldname = 'JDATE'.
wa_value-value = sy-datum.
APPEND wa_value TO it_value.
ENDIF.
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING
popup_title = '日期选择'
IMPORTING
returncode = lv_rtn_cd
TABLES
fields = it_value.
DATA:gt_itab TYPE TABLE OF zputwbsrq_s WITH HEADER LINE.
DATA:msg TYPE TABLE OF zbapimessage WITH HEADER LINE.
DATA:gt_in TYPE TABLE OF zputprrq_s WITH HEADER LINE.
DATA:gt_in1 TYPE TABLE OF zputporq_s WITH HEADER LINE.
DATA:msg1 TYPE TABLE OF zbapiret WITH HEADER LINE.
DATA:gt_in2 TYPE TABLE OF zputplrq_s WITH HEADER LINE.
IF lv_rtn_cd IS INITIAL.
READ TABLE it_value INTO wa_value WITH KEY fieldname = 'BDATE'.
IF sy-subrc = 0.
gt_itab-p_day = wa_value-value.
gt_itab-b_day = wa_value-value.
ENDIF.
ENDIF.
代码如下:
DATA: it_value TYPE TABLE OF sval,
wa_value TYPE sval,
lv_rtn_cd.
CLEAR:it_value,wa_value,lv_rtn_cd.
IF lv_cmd = '1' OR lv_cmd = '2'.
wa_value-tabname = 'ZMMDATE'.
wa_value-fieldname = 'BDATE'.
wa_value-value = sy-datum.
APPEND wa_value TO it_value.
wa_value-tabname = 'ZMMDATE'.
wa_value-fieldname = 'EDATE'.
wa_value-value = sy-datum.
APPEND wa_value TO it_value.
ELSE.
wa_value-tabname = 'ZMMDATE'.
wa_value-fieldname = 'JDATE'.
wa_value-value = sy-datum.
APPEND wa_value TO it_value.
ENDIF.
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING
popup_title = '日期选择'
IMPORTING
returncode = lv_rtn_cd
TABLES
fields = it_value.
DATA:gt_itab TYPE TABLE OF zputwbsrq_s WITH HEADER LINE.
DATA:msg TYPE TABLE OF zbapimessage WITH HEADER LINE.
DATA:gt_in TYPE TABLE OF zputprrq_s WITH HEADER LINE.
DATA:gt_in1 TYPE TABLE OF zputporq_s WITH HEADER LINE.
DATA:msg1 TYPE TABLE OF zbapiret WITH HEADER LINE.
DATA:gt_in2 TYPE TABLE OF zputplrq_s WITH HEADER LINE.
IF lv_rtn_cd IS INITIAL.
READ TABLE it_value INTO wa_value WITH KEY fieldname = 'BDATE'.
IF sy-subrc = 0.
gt_itab-p_day = wa_value-value.
gt_itab-b_day = wa_value-value.
ENDIF.
ENDIF.
相关文章推荐
- 如何监控项目里所有UI线程的操作(实战,BlockCanary)?
- UITextView的placehoder背景文字实现带并限制文字字数
- UICollectionReusableView 使用时的一些问题
- @value注解使用的简单介绍 ---谷营中西
- 数据类型变换uint8_t uint16_t等等
- Android 在子线程中更新UI的方式,使用handler
- Warning:The remote SSH server rejected X11 forwarding request.
- UICollectionViewLayout
- Errors running builder 'Validation' on project 'jumi_3.0'
- 点击tabBarItem跳转到其他界面 返回后还是之前所选item (跳转注册)
- php中生成标准uuid(guid)的方法
- error: static assertion failed: (boost::has_trivial_destructor<T>::value)
- non-zero exit value 1,non-zero exit value 2, non-zero exit value 3错误解决办法
- weblogic启动报错javax.xml.parsers.DocumentBuilderFactory
- GUI从入门到精通(一)
- UEditor图片不能居中,首行缩进无效等问题的解决
- 虚拟现实-VR-UE4-创建一个自定义的角色 Character
- 357. Count Numbers with Unique Digits
- ue4攻击目标的具体骨骼
- UITableViewCell