ITPub博客

首页 > Linux操作系统 > Linux操作系统 > REUSE_ALV_GRID_DISPLAY 双击事件

REUSE_ALV_GRID_DISPLAY 双击事件

原创 Linux操作系统 作者:heart_smile 时间:2009-09-22 16:00:22 0 删除 编辑

REUSE_ALV_GRID_DISPLAY 双击事件,

最主要在样式设置中,有的字段不能使用的。

FORM FRM_ALV.

  
PERFORM ALV_SET_FIELD_LIST.

*  X_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
  REPORT_ID = SY-CPROG ."SY-REPID. “不能是REPID
  X_LAYOUT-ZEBRA = 
'X'.
  X_LAYOUT-DETAIL_POPUP = 
'X'.
  X_LAYOUT-COLWIDTH_OPTIMIZE = 
'X'.
*  X_LAYOUT-BOX_FIELDNAME  = 'BOX'. 有双击事件,不能加BOX,

  
DATA: FRM_PF_STATUS_SET   TYPE SLIS_FORMNAME  VALUE 'ALV_SET_STATUS'.   "ALV_SET_STATUS

  
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    
EXPORTING
      I_CALLBACK_PROGRAM = REPORT_ID
      IT_FIELDCAT        = GT_FIELDCAT
      I_CALLBACK_TOP_OF_PAGE  = 
'END_OF_PAGE'
      I_CALLBACK_PF_STATUS_SET = FRM_PF_STATUS_SET        
"触发事件调用子程序 "如果ALV使用自定义的工具栏,如果使用系统工具栏则忽略该行
      I_CALLBACK_USER_COMMAND  = 
'FRM_UCOMM'   "自定义工具栏的事件
*      it_sort            = gt_sort
      IS_LAYOUT          = X_LAYOUT
      IS_PRINT           = GT_PRINT
      I_SAVE             = 
'A'
    
TABLES
      T_OUTTAB           = OEKBE. 
"IT_OUTPUT. "


ENDFORM.                    "FRM_ALV

 

 

FORM FRM_UCOMM USING R_UCOMM LIKE SY-UCOMM
                     RS_SELFIELD 
TYPE SLIS_SELFIELD.
  
DATA:GV_MJAHR LIKE MSEG-MJAHR,
       GV_EBELP 
LIKE MSEG-EBELP,
       GV_EBELN 
LIKE EKKO-EBELN,
       GV_BSART 
LIKE EBAN-BSART.
  
CASE R_UCOMM.

    
WHEN 'B_PRINT'  .
      
PERFORM PREPARE_FOR_OUTPUT.
      
PERFORM OUTPUT_2.

    
WHEN  'B_OUT'  .
      
PERFORM EXPORTTOEXCEL.

    
WHEN '&F03' OR '&F15'.
      
LEAVE TO SCREEN 0.
    
WHEN '&F12'.
      
LEAVE PROGRAM.

    WHEN '&IC1'. " "
双击事件
      
IF RS_SELFIELD IS NOT INITIAL.
        
CLEAR:GV_EBELN,GV_EBELP, GV_MJAHR,GV_EBELN,GV_BSART.
        
CASE RS_SELFIELD-FIELDNAME.
          
WHEN 'BELNR'. " Display material document 就是物料文件号, MIGO
            GV_EBELN = RS_SELFIELD-
VALUE.
            
READ TABLE OEKBE INDEX RS_SELFIELD-TABINDEX.
            
IF SY-SUBRC = 0.
              GV_MJAHR = OEKBE-BUDAT+
0(4).
              GV_EBELP = OEKBE-EBELP.
            
ENDIF.
*          SET  PARAMETER ID  'MBN'  FIELD  RS_SELFIELD-VALUE. "PO
*          SET  PARAMETER ID  'MJA'  FIELD  GV_MJAHR.  "年度
*          CALL  TRANSACTION  'MIGO'  AND  SKIP  FIRST  SCREEN. "不能使用这个,因为如果不是物料文件号为黙认输入框,则读不到数据

            
CALL FUNCTION 'MIGO_DIALOG'
              
EXPORTING
                I_ACTION            = 
'A04'
                I_REFDOC            = 
'R02'
                I_NOTREE            = 
'X'
                I_NO_AUTH_CHECK     = 
' '
                I_DEADEND           = 
'X'
                I_SKIP_FIRST_SCREEN = 
'X'
                I_OKCODE            = 
'OK_GO'
                I_MBLNR             = GV_EBELN  
" Document Number
                I_MJAHR             = GV_MJAHR. 
" Document Year
*              I_ZEILE             = GV_EBELP.  " Document Item

          
WHEN 'EBELN'.                                     " PO ME23N
            
CLEAR:GV_EBELP,GV_EBELN .
            GV_EBELN = RS_SELFIELD-
VALUE.
            
READ TABLE OEKBE INDEX RS_SELFIELD-TABINDEX.
            
IF SY-SUBRC = 0.
              GV_EBELP = OEKBE-EBELP.
            
ENDIF.
            
CALL FUNCTION 'ME_DISPLAY_PURCHASE_DOCUMENT'
              
EXPORTING
                I_EBELN = GV_EBELN
                I_EBELP = GV_EBELP
              
EXCEPTIONS
                
OTHERS  = 1.

          
WHEN 'BANFN'.                                     "PR ME53N
            
CLEAR GV_BSART.
            
READ TABLE OEKBE INDEX RS_SELFIELD-TABINDEX.
            
IF SY-SUBRC = 0.
              GV_BSART = OEKBE-BSART.
            
ENDIF.
            
SET  PARAMETER ID  'BBA'  FIELD  GV_BSART. "PR TYPE
            
SET  PARAMETER ID  'BAN'  FIELD  RS_SELFIELD-VALUE.  "PR
            
CALL  TRANSACTION  'ME53N'  AND  SKIP  FIRST  SCREEN.

        
ENDCASE.
      
ENDIF.
  
ENDCASE.
  RS_SELFIELD-
REFRESH = 'X'.


ENDFORM.                    "frm_ucomm

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10339719/viewspace-615329/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-11-15

  • 博文量
    32
  • 访问量
    73121