屏幕-弹出对话框

这篇博客介绍了如何在OO_ALV报表中处理双击事件,通过弹出对话框展示详细信息。内容涉及到内部输出表的列颜色编码,其中字段名以'CXY'格式定义,用于指定颜色和突出显示状态。
摘要由CSDN通过智能技术生成

屏幕-弹出对话框

用于OO_ALV报表的双击事件弹出框显示详情中,时间有限就不做修改了,直接上注释:

P_ROW_ID :行
P_COLUMN_ID :列

FORM FRM_DOUBLE_CLICK USING P_ROW_ID
                            P_COLUMN_ID
                            P_ROW_NO_ID.
                            
  DATA LV_EXIT TYPE C VALUE 'X'.

包含颜色代码的内部输出表字段的名称:
完整的列表行由内部输出表的一列中的颜色编码单独着色。此字段的名称分配给此参数。
内部输出表字段必须是char(3)类型。
编码必须具有以下语法:‘CXY’:
** C = color(每段代码必须以‘C’开头)
** x = 颜色编号(‘1’-‘9’)
** y = 突出显示(‘0’=off,‘1’=on)
** 注意:键列的颜色不受影响。

TYPES: BEGIN OF STRUCT_POPUP,
       MATNR LIKE MARA-MATNR,
       MAKTX LIKE MAKT-MAKTX,
       COLOR TYPE CHAR03,
       END OF STRUCT_POPUP.
DATA: GT_POPUP TYPE TABLE OF STRUCT_POPUP,
      GS_POPUP TYPE STRUCT_POPUP.

** 将双击选中的行内容添加到显示表:
  CLEAR GS_CHECK.
  READ TABLE GT_CHECK INTO GS_CHECK INDEX P_ROW_ID.
  GS_POPUP-MATNR = GS_CHECK-MATNR.
  GS_POPUP-MAKTX = GS_CHECK-MAKTX.
  GS_POPUP-COLOR = 'C70'.
  APPEND GS_POPUP TO GT_POPUP.

** 删除弹出框右下部分工具栏的部分按钮:
  DATA LT_EXCLUDE TYPE SLIS_T_EXTAB.
  DATA LS_EXCLUDE TYPE SLIS_EXTAB.
  LS_EXCLUDE-FCODE = '&ETA'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '%SC'.  APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '%SC+'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '&OUP'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '&ODN'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '&ILT'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '&OL0'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '&CRB'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '&CRL'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '&CRR'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '&CRE'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
*  LS_EXCLUDE-fcode = '&AC1'. APPEND LS_EXCLUDE TO LT_EXCLUDE. " cancel
  LS_EXCLUDE-FCODE = '&ALL'. APPEND LS_EXCLUDE TO LT_EXCLUDE.
  LS_EXCLUDE-FCODE = '&SAL'. APPEND LS_EXCLUDE TO LT_EXCLUDE.

** 为弹出框ALV显示添加字段目录:
  DATA IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
*  DATA IT_FIELDCAT TYPE TABLE OF SLIS_FIELDCAT_ALV WITH HEADER LINE.
  IT_FIELDCAT-COL_POS   = '1'.
  IT_FIELDCAT-FIELDNAME = 'MATNR'.
  IT_FIELDCAT-SELTEXT_L = '物料号'.
  APPEND IT_FIELDCAT.
  CLEAR IT_FIELDCAT.
  IT_FIELDCAT-COL_POS   = '2'.
  IT_FIELDCAT-FIELDNAME = 'MAKTX'.
  IT_FIELDCAT-SELTEXT_L = '物料描述'.
  APPEND IT_FIELDCAT.
  CLEAR IT_FIELDCAT.

  CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
    EXPORTING
      I_TITLE                       = 'Title of the popup'
      I_SELECTION                   = ' '
*     I_ALLOW_NO_SELECTION          =
      I_ZEBRA                       = 'X'
      I_SCREEN_START_COLUMN         = 2
      I_SCREEN_START_LINE           = 5
      I_SCREEN_END_COLUMN           = 68
      I_SCREEN_END_LINE             = 10
*     I_CHECKBOX_FIELDNAME          =
      I_LINEMARK_FIELDNAME          = 'COLOR'

** I_SCROLL_TO_SEL_LINE: 一行已被高亮显示,其在内部输出表中的索引大于可以在弹出窗口中显示的条目数,而无需滚动。
** 当调用弹出时,光标应立即定位在该行上或滚动到该行上。先决条件:用“C50”对突出显示的行进行颜色编码
*     I_SCROLL_TO_SEL_LINE          = 'X'

** it_tabname:调用程序中内部输出表的名称
** 显示表的目录字段添加的两种方式:
** 方式一:数据库结构体
*     I_TABNAME                     = '1'             "调用程序中内部输出表的名称
*     I_STRUCTURE_NAME              = 'MARA'

** 方式二:使用 IT_FIELDCAT,此时必须注意,I_TABNAME必须有值,即使是赋值为空
** 此处必须赋值(目前已经测试:可以赋值为空,也可以赋值为需要显示的内表)
*      I_TABNAME                     = 'GT_POPUP'     "调用程序中内部输出表的名称
      I_TABNAME                     = SPACE
      IT_FIELDCAT                   = IT_FIELDCAT[]   "自己添加的字段目录

      IT_EXCLUDING                  = LT_EXCLUDE      "删除不需要的菜单栏/工具栏按钮
*     I_CALLBACK_PROGRAM            =
*     I_CALLBACK_USER_COMMAND       =
*     IS_PRIVATE                    =
   IMPORTING
*     ES_SELFIELD                   =           "返回光标相关信息
      E_EXIT                        = LV_EXIT   "当用户使用‘Cancel’函数离开弹出窗口时,将设置标志。
    TABLES
      T_OUTTAB                      = GT_POPUP
   EXCEPTIONS
     PROGRAM_ERROR                 = 1
     OTHERS                        = 2.
  IF SY-SUBRC <> 0.
*Implement suitable error handling here
  ENDIF.

  CLEAR GS_CHECK.
  REFRESH GT_POPUP.
ENDFORM.

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值