REUSE_ALV_GRID_DISPLAY_LVC 的user_command
*&--------------------------------------------------------------------* *& Form CALL_FUNCTION *&--------------------------------------------------------------------* CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING I_STRUCTURE_NAME = 'ZMLPRTOPO' I_CALLBACK_PROGRAM = SY-REPID IS_LAYOUT_LVC = I_LAYOUT IT_FIELDCAT_LVC = I_FIELDCAT I_CALLBACK_PF_STATUS_SET = 'F_SET_STATUS' " FORM 名称 I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND' " FORM 名称 I_SAVE = 'X' I_GRID_TITLE = M_BUFFER TABLES T_OUTTAB = I_ZMLPRTOPO EXCEPTIONS PROGRAM_ERROR =1 OTHERS = 2. *&---------------------------------------------------------------------* *& Form F_SET_STATUS *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_EXTAB text *----------------------------------------------------------------------* FORM F_SET_STATUS USING P_EXTAB TYPE SLIS_T_EXTAB. SET PF-STATUS 'Z_ALV_STATUS'. ENDFORM. "F_SET_STATUS *&--------------------------------------------------------------------* *& Form F_USER_COMMAND *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * -->R_UCOMM text * -->R_RS_SELFIEtext *---------------------------------------------------------------------* FORM F_USER_COMMAND USING R_UCOMM TYPE SY-UCOMM R_RS_SELFIELD TYPE SLIS_SELFIELD. * BREAK LZH. **将ALV显示数据更新进输出内表中 DATA: LR_GRID TYPE REF TO CL_GUI_ALV_GRID. CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR' IMPORTING E_GRID = LR_GRID. CALL METHOD LR_GRID->CHECK_CHANGED_DATA. R_RS_SELFIELD-REFRESH = 'X'. * R_UCOMM = SY-UCOMM. CASE R_UCOMM. WHEN '&IC1'. READ TABLE I_ZMLPRTOPO INDEX R_RS_SELFIELD-TABINDEX. IF I_ZMLPRTOPO-EBELN IS NOT INITIAL. SET PARAMETER ID 'BES' FIELD I_ZMLPRTOPO-EBELN. CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN. ELSE. IF I_ZMLPRTOPO-BANFN IS NOT INITIAL. SET PARAMETER ID 'BAN' FIELD I_ZMLPRTOPO-BANFN. CALL TRANSACTION 'ME53N' AND SKIP FIRST SCREEN. ENDIF. ENDIF. WHEN '&SALL'. LOOP AT I_ZMLPRTOPO ASSIGNING <FS_TAB> WHERE SEL = SPACE. <FS_TAB>-SEL = 'X'. ENDLOOP. WHEN '&DSAL'. LOOP AT I_ZMLPRTOPO ASSIGNING <FS_TAB> WHERE SEL = 'X'. <FS_TAB>-SEL = SPACE. ENDLOOP. *&20170314 WHEN '&SAVE'. CALL FUNCTION 'POPUP_TO_CONFIRM' EXPORTING TITLEBAR = '请确认!' TEXT_QUESTION = '是否确认用选定数据创建PO?' TEXT_BUTTON_1 = '是' TEXT_BUTTON_2 = '否' DEFAULT_BUTTON = '1' DISPLAY_CANCEL_BUTTON = ' ' START_COLUMN = 25 START_ROW = 1 POPUP_TYPE = 'ICON_MESSAGE_QUESTION'"? IMPORTING ANSWER = G_ANSWER EXCEPTIONS TEXT_NOT_FOUND = 1 OTHERS = 2. CHECK G_ANSWER EQ '1'. CLEAR:G_ZTIME. G_ZTIME = SY-DATUM && SY-UZEIT. PERFORM FRM_GETALL_PR. PERFORM FRM_EXE_PO. *&test WHEN '&DEL'. * PERFORM FRM_DEL_DATA. LOOP AT I_ZMLPRTOPO INTO GW_TAB_1 WHERE SEL = 'X'. DELETE I_ZMLPRTOPO INDEX SY-TABIX. ENDLOOP. WHEN 'BACK'. LEAVE TO SCREEN 0. WHEN 'EXIT' OR 'CANCEL'. LEAVE PROGRAM. ENDCASE. * R_RS_SELFIELD-REFRESH = 'X'. ENDFORM. "F_USER_COMMAND
本人常年接收SAP运维和远程项目,ECC,S/4HANA,CRM,WDA.
远程人天可谈,终身售后,有活请联系V信:18925782767(问问题免费,欢迎交流!)
!!请关注本人技术分享公众号:SAP翔子(可扫头像二维码)
每天分享新知识,博客文章也会陆续整理并迁移至公众号,与您一起共同学习