




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.程序代码:TYPE-POOLS:vimty.TYPES:BEGINOFty_mod,rowTYPEi,ENDOFty_mod.DATA:g_containergrid1TYPEscrfnameVALUE'CUSTOM_CONTAINERTYPEREFTOcl_gui_alv_grid,g_custom_containerTYPEREFTOcl_gui_custom_container.DATA:i_tableTYPEREFTOdata,wa_allTYPEREFTOdata.DATA:org_crit_instTYPEvimty_oc_type,old_rcLIKEsy-subrc,act_levelLIKEauthb-actvt,only_show_allowedTYPEc,i_excludeTYPEui_functions.DATA:i_modTYPESTANDARDTABLEOFty_mod,i_delTYPESTANDARDTABLEOFty_mod.FIELD-SYMBOLS:<i_itab>TYPEtable,<wa_tab>TYPEANY.DATA:BEGINOFheaderOCCURS1.INCLUDESTRUCTUREvimdesc.DATA:ENDOFheader.DATA:BEGINOFnamtabOCCURS50.INCLUDESTRUCTUREvimnamtabDATA:ENDOFnamtab.
DATA:vim_wheretabLIKEvimwheretbOCCURS10.DATA:dba_sellistLIKEvimsellistOCCURS10.SELECTION-SCREENBEGINOFBLOCKbbWITHFRAMETITLEtext-100PARAMETER:viewnameTYPEtvdir-tabname.SELECTION-SCREENSKIP2.SELECTION-SCREENBEGINOFLINE."Display"Change"Display"ChangeSELECTION-SCREEN PUSHBUTTON36(10) text-102 USER-COMMAND b2.SELECTION-SCREEN ENDOFLINE.SELECTION-SCREEN ENDOFBLOCKbb.42.ATSELECTION-SCREEN.CASEsy-ucomm.WHEN'B1'.SETPF-STATUS'ALV'.CALLSCREEN9001.WHEN'B2'.SETPF-STATUS'ALV1'.CALLSCREEN9001.ENDCASE.*ClassusedtogetchangeddataCLASSlcleventhandlerDEFINITION.PUBLICSECTION.METHODS:handle_data_changedFOREVENTdata_changedOFcl_gui_alv_gridIMPORTINGer_data_changed.ENDCLASS. "lcl_event_handlerDEFINITION*ClassusedtogetchangeddataCLASSlcl_event_handlerIMPLEMENTATION.*HandleDataChangedMETHODhandle_data_changed.63.PERFORMhandle_data_changedUSINGer_data_changed.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.79.80.81.82.83.84.85.86.87.88.89.90.91.92.93.94.95.ENDCLASS."lcleventhandlerIMPLEMENTATIONENDCLASS.*&*&*&ModuleSTATUS9001OUTPUT*&textMODULEstatus9001OUTPUT.DATA:lifieldcatTYPElvctfcat.DATA:lwafieldcatTYPElvcsfcat.DATA:lh_flag(1).DATA:gr_event_handlerTYPEREFTOlcl_event_handler.handlerCreatinganinstancefortheeventhandlerCREATEOBJECTgr_event_handler.TRY.CREATEDATAitableTYPETABLEOF(viewname).ASSIGNitable-CREATEDATAitableTYPETABLEOF(viewname).ASSIGNitable-〉*TO<iitab>.CREATEDATAwaallLIKELINEOF<iitab>.CREATEDATAwaallLIKELINEOF<iitab>.ASSIGNwaall->*TO<watab>.ASSIGNwaall->*TO<watab>.SelectingdatadynamicallySELECT*FROM(viewname)INTOTABLE<i_itab>.BuildingthefieldcatelogCALLFUNCTION'LVCFIELDCATALOGMERGE'EXPORTINGistructurename=viewnameistructurename=viewnameCHANGINGctfieldcat=lifieldcatEXCEPTIONSinconsistentinterface=1program_error3.OTHERS3.96.IFsy-subrc<>0.97.MESSAGEIDsy-msgidTYPEsy-msgtyNUMBERsy-msgno98.WITHsy-msgv1sy-msgv2sy-msgv3sy-msgv4.99.ENDIF.100.*Makingfieldseditableexceptkeyfields101.IFsy-ucomm='UPD'ORsy-ucomm='CHANGE'.102.LOOPATli_fieldcatINTOlwa_fieldcat.103.IFlwa_fieldcat-key=space.104.lwa_fieldcat-edit='X'.105.MODIFYli_fieldcatFROMlwa_fieldcat.106.ENDIF.107.ENDLOOP.108.ENDIF.109.*Makingfieldseditable110.IFsy-ucomm='NEW'.111.LOOPATli_fieldcatINTOlwa_fieldcat.112.lwa_fieldcat-edit='X'.113.MODIFYli_fieldcatFROMlwa_fieldcat.114.ENDLOOP.115.lh_flag='X'.116.CLEAR:<i_itab>.117.DO100TIMES.118.APPEND<wa_tab>TO<i_itab>.119.ENDDO.120.ENDIF.121.*Excludebuttons122.PERFORMexclude_tb_functionsCHANGINGi_exclude.123.IFg_custom_containerISINITIAL.124.CREATEOBJECTg_custom_container125.EXPORTING126.container_name=g_container.127.CREATEOBJECTgrid1
128.EXPORTING129.i_parent=g_custom_container.130.ENDIF.131.*Makingallfieldsnon-editableifdisplaymode132.IFsy-ucomm='SHOW'.133.LOOPATli_fieldcatINTOlwa_fieldcat.134.lwa_fieldcat-edit=''.135.MODIFYli_fieldcatFROMlwa_fieldcat.136.ENDLOOP.137.ENDIF.138.IFsy-ucomm='SAVE'.139.LOOPATli_fieldcatINTOlwa_fieldcat.140.IFlwa_fieldcat-keyNEspace.141.lwa_fieldcat-edit=space.142.MODIFYli_fieldcatFROMlwa_fieldcat.143.ENDIF.144.ENDLOOP.145.ENDIF.146.*DisplayingALVGrid147.CALLMETHODgrid1->set_table_for_first_display148.EXPORTING149.i_structure_name =viewname150.it_toolbar_excluding=i_exclude151.CHANGING152.it_outtab =<i_itab>153.it_fieldcatalog =li_fieldcat.154.IFsy-subrcNE0.155.EXIT.156.ENDIF.157.*Gettingthechangeddata158.SETHANDLERgr_event_handler->handle_data_changedFORgrid1.159.CATCHcx_sy_create_data_error.ENDTRY.ENDMODULE.*&"STATUS9001OUTPUT160.161.162.163.164.165.166.167.168.169.170.171.172.173.174.175.176.177.178.179.180.181.182.183.184.185.186.187.188.189.190.191.*&*&ModuleUSERCOMMAND9001INPUT*&textMODULEusercommand9001INPUT.DATA:lhnorecTYPEi,lh_total(5)TYPEc,lh_succ(40)TYPEc,lwadelTYPEty_mod,lhnorecTYPEi,lh_total(5)TYPEc,lh_succ(40)TYPEc,lwadelTYPEty_mod,lh_totdelTYPEi.*lh_flagTYPEc,*li_fieldcatTYPElvc_t_fcat,*lwa_fieldcatTYPElvc_s_fcat.lwamodty_mod,TYPECASEsy-ucomm.WHEN'CHANGE'.SETPF-STATUS'ALV1'.WHEN'SAVE'.LockthetableCALLFUNCTION'ENQUEUE_E_TABLE'EXPORTINGmoderstable'E'tabname=viewnameEXCEPTIONSforeign_locksystem_failure=23.OTHERS3.IFsy-subrc<>0.
192.193.192.193.194.195.196.197.198.199.200.201.202.*204.205.206.207.208.209.210.211.212.*214.215.216.217.218.*220.221.*222.WITHsy-msgv1sy-msgv2sy-msgv3sy-msgv4.ENDIF.IFNOTgrid1ISINITIAL.CALLMETHODgrid1->check_changed_data.ENDIF.SORTi_modBYrow.DELETEADJACENTDUPLICATESFROMi_modCOMPARINGrow.lh_norec=LINES(i_mod).lh_total=lh_norec.SHIFTlh_totalLEFTDELETINGLEADINGspace.StandardTableUpdateIFi_mod[]ISNOTINITIAL.LOOPATi_modINTOlwa_mod.READTABLE<i_itab>INTO<wa_tab>INDEXlwa_mod-row.IFsy-subrc=0.IFlh_flagNE'X'.MODIFY(viewname)FROM<wa_tab>.ELSE.INSERT(viewname)FROM<wa_tab>.IFsy-subrcNE0.MESSAGEe009.ENDIF.ENDIF.ENDIF.ENDLOOP.CONCATENATElh_total' 'text-S01INTOlh_succSEPARATEDBYMESSAGEi000WITHlh_succ.ELSE.MESSAGEi000WITHtext-S02.space.ENDIF.space.223.*Unlockthetable224.225.226.227.228.229.230.231.232.233.234.235.236.237.238.239.240.241.242.243.244.245.246.247.248.249.250.251.252.253.254.255.CALLFUNCTION'DEQUEUE_E_TABLE'EXPORTINGmode_rstable='E'tabname =viewname.CLEAR:i_mod[],lh_flag.WHEN'DELETE'.SelectingSelectedRowsPERFORMhandle_user_commandUSINGsy-ucomm.IFi_del[]ISNOTINITIAL.LOOPATi_delINTOlwa_del.del-row.READTABLE<i_itab>INTO<wa_tab>INDEXlwadel-row.IFsy-subrc=0.DELETE(viewname)FROM<wa_tab>.ENDIF.ENDLOOP.lh_totdel=LINES(i_del).MESSAGEi011WITHlh_totdel.CLEAR:i_del[],lh_totdel.ELSE.MESSAGEi000WITHtext-S03.ENDIF.WHEN'EXIT'OR'BACK'OR'CANCEL'.CLEAR:li_fieldcat[],i_exclude[],i_del[],lh_totdel.LEAVETOSCREEN0.ENDCASE.ENDMODULE."USERCOMMAND9001INPUT*& **& Formhandle_data_changed*& *FORMhandle_data_changedUSING p_er_data_changedTYPEREFTOcl_alv_changed_data_protocol.DATA:lwa_mod_cell TYPE lvc_s_modi,lwa_mod TYPE ty_mod.LOOPATp_er_data_changed->mt_good_cellsINTOlwa_mod_cell.lwa_mod-row =lwa_mod_cell-row_id.APPENDlwa_modTO i_mod.ENDLOOP.ENDFORM. "handle_data_changed*& **& Formexclude_tb_functions*& *FORMexclude_tb_functionsCHANGINGpt_excludeTYPEui_functions.DATA:lwa_excludeTYPEui_func.lwa_exclude=cl_gui_alv_grid=>mc_fc_loc_append_row.APPENDlwa_excludeTOpt_exclude.lwa_exclude=cl_gui_alv_grid=>mc_fc_loc_copy.APPENDlwa_excludeTOpt_exclude.lwa_exclude=cl_gui_alv_grid=>mc_fc_loc_copy_row.APPENDlwa_excludeTOpt_exclude.lwa_exclude=cl_gui_alv_grid=>mc_fc_loc_cut.APPENDlwa_excludeTOpt_exclude.lwa_exclude=cl_gui_alv_grid=>mc_fc_loc_delete_row.APPENDlwa_excludeTOpt_exclude.lwa_exclude=cl_gui_alv_grid=>mc_fc_loc_insert_row.APPENDlwa_excludeTOpt_exclude.lwa_exclude=cl_gui_alv_grid=>mc_fc_loc_move_row.
APPENDlwa_excludeTOpt_exclude.lwa_exclude=cl_gui_alv_grid=>mc_fc_loc_paste.APPENDlwa_excludeTOpt_exclude.lwa_exclude=cl_gui_alv_grid=>mc_fc_loc_paste_new_row.APPENDlwa_excludeTOpt_exclude.ENDFORM. "exclude_tb_functions*& **& Formhandle_user_command*& *FORMhandle_user_commandUSINGp_ucommTYPEsyucomm.DATA:i_selected_rows TYPE lvc_t_roid.DATA:lwa_selected_row TYPE lvc_s_roid,lwa_del TYPE ty_mod.CALLMETHODgrid1->get_selected_rowsIMPORTINGet_row_no=i_selected_rows.LOOPATi_selected_rowsINTOlwa_selected_row.lwa_del-row=lwa_selected_row-row_id.APPENDlwa_delTOi_del.ENDLOOP.ENDFORM. "handle_user_command复制代码PS:1、 container名称:CUSTOM_CONTAINER2、 创建PFStatus——“ALV”“ALVT
Textsymbols 5已I已ctioritExfcs 'LjtHeadings4、创建4、创建T-code-SE93Textd...m…H100OMhJ5 *101Lusplay17 ■102Change66SOIRazord(S)Saved1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 口腔健康宣导课件
- 文化创意产业园区品牌塑造策略研究-2025年产业集聚背景下的创新实践
- 小学生知识讲座课件
- 优抚资金使用管理办法
- 企业生产人员管理办法
- 保险新人出勤管理办法
- 中铁隧道安全管理办法
- 乙醇燃料流通管理办法
- 企业调取印模管理办法
- 工业互联网平台数据备份与恢复策略:工业4.0数据安全防护指南
- 深静脉血栓形成的诊断和治疗指南第三
- 2026年中考英语复习:338条核心短语背诵卡+默写卡
- 2025年合肥高新创业投资管理合伙企业招聘考试笔试试题(含答案)
- 2025-2030中国新能源汽车充电桩行业供需状况及投资战略规划分析报告
- 肿瘤患者血象解读与临床意义
- 药物过敏性休克的急救护理讲课件
- 2025年福建省中考语文试卷真题(含标准答案)
- 2024江西现代职业技术学院招聘笔试真题带答案详解
- 车辆运输包月合同
- 茶百道加盟合同协议
- 模具合同三方附加协议
评论
0/150
提交评论