已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ABAP中对上传文件和下载文件的一般检查 文件检查的一般方法。实用。设计一些通用模块,和使用方法。1, 首先对要上传的文件进行存在检查。(在AT SELECTION-SCREEN事件下完成)CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXISTEXPORTINGFILE = LW_FILERECEIVINGRESULT = LW_RESULTEXCEPTIONSCNTL_ERROR = 1ERROR_NO_GUI = 2WRONG_PARAMETER = 3NOT_SUPPORTED_BY_GUI = 4OTHERS = 5.IF SY-SUBRC <> 0.SET CURSOR FIELD P_UPFILE. "*- 出力MESSAGE ID SY-MSGID TYPE E NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.*- 結果判定IF LW_RESULT <> CNS_TRUE. "存在SET CURSOR FIELD P_UPFILE. "*- MSG: &1 存在MESSAGE E116(ZNKCC1) WITH P_UPFILE.ENDIF.2, 对于指定下载到本地的文件,首先,将屏幕上输入的路径和文件名分隔开来,(在AT SELECTION-SCREEN事件下完成)*- CALL 汎用CALL FUNCTION SO_SPLIT_FILE_AND_PATHEXPORTINGFULL_NAME = P_ERFILEIMPORTINGSTRIPPED_NAME = W_FILEFILE_PATH = P_O_PATHEXCEPTIONSX_ERROR = 1OTHERS = 2.IF SY-SUBRC <> 0.SET CURSOR FIELD P_ERFILE. "*- 出力MESSAGE ID SY-MSGID TYPE E NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.其次,检查分隔得到的文件路径(路径是否存在)。(在AT SELECTION-SCREEN事件下完成)CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_EXISTEXPORTINGDIRECTORY = LW_PATHRECEIVINGRESULT = LW_RESULTEXCEPTIONSCNTL_ERROR = 1ERROR_NO_GUI = 2WRONG_PARAMETER = 3NOT_SUPPORTED_BY_GUI = 4OTHERS = 5.IF SY-SUBRC <> 0.SET CURSOR FIELD P_ERFILE. "MESSAGE ID SY-MSGID TYPE S NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.3, 实现对上传文件的检索帮助。(在AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_UPFILE.事件下完成)CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOGEXPORTINGWINDOW_TITLE = LW_TITLE "選択CHANGINGFILE_TABLE = LTD_FILERC = LW_RETURN "値USER_ACTION = LW_ACTION "動作結果EXCEPTIONSFILE_OPEN_DIALOG_FAILED = 1CNTL_ERROR = 2ERROR_NO_GUI = 3NOT_SUPPORTED_BY_GUI = 4OTHERS = 5.*- 判定IF SY-SUBRC <> 0. "失敗時SET CURSOR FIELD P_UPFILE. "*- 出力MESSAGE ID SY-MSGID TYPE S NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.RETURN.ENDIF.*- 結果情報判定IF LW_RETURN < 0.RETURN. "選択画面戻ENDIF.*- 結果情報判定IF LW_ACTION = 0 .*- 選択1件目名設定READ TABLE LTD_FILE INTO LTH_FILE INDEX 1.*- 判定IF SY-SUBRC = 0.P_UPFILE = LTH_FILE-FILENAME.ENDIF.ENDIF.4, 对下载的文件的检索帮助的实现同3。5, 对下载的文件是保存帮助处理。CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOGEXPORTINGWINDOW_TITLE = LW_TITLE "出力選択CHANGINGFILENAME = LW_FILENAME "名PATH = LW_PATH "名FULLPATH = LW_FULLPATH "名USER_ACTION = LW_ACTION "動作結果EXCEPTIONSCNTL_ERROR = 1ERROR_NO_GUI = 2NOT_SUPPORTED_BY_GUI = 3OTHERS = 4.*- 判定IF SY-SUBRC <> 0. "CALL 失敗時SET CURSOR FIELD P_ERFILE. "*- 出力MESSAGE ID SY-MSGID TYPE S NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.RETURN. "選択画面戻ENDIF.*- 結果情報判定IF LW_ACTION = 0.*- 名選択画面-名設定P_ERFILE = LW_FULLPATH.ENDIF.6另外的情况,屏幕上输入下载文件指定路径和文件名后,先检查该文件是否存在,如果存在,则需要弹出对话框,提醒用户是否覆盖原文件。(在AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_DOFILE.事件下完成)*- 存在CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXISTEXPORTINGFILE = LW_FILE "RECEIVINGRESULT = LW_RESULT "結果EXCEPTIONSCNTL_ERROR = 1ERROR_NO_GUI = 2WRONG_PARAMETER = 3NOT_SUPPORTED_BY_GUI = 4OTHERS = 5.*- 判定IF SY-SUBRC <> 0. "CALL 失敗時SET CURSOR FIELD P_ERFILE. "*- 出力MESSAGE ID SY-MSGID TYPE E NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.提示是否覆盖原文件:*- CALL 汎用CALL FUNCTION POPUP_TO_CONFIRMEXPORTINGTITLEBAR = TEXT-006 "確認TEXT_QUESTION = TEXT-007 "質問TEXT_BUTTON_1 = TEXT-008 "TEXT_BUTTON_2 = TEXT-009 "DEFAULT_BUTTON = 1 "位置DISPLAY_CANCEL_BUTTON = X "取消押START_COLUMN = 25 "POPUP 開始列START_ROW = 6 "POPUP 開始行IMPORTINGANSWER = LW_ANSWER "EXCEPTIONSTEXT_NOT_FOUND = 1OTHERS = 2.*- 判定IF SY-SUBRC <> 0. "CALL失敗時*- 出力MESSAGE ID SY-MSGID TYPE S NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.LEAVE LIST-PROCESSING.ENDIF.*- 結 果情報判定IF LW_ANSWER = 2 "OR中止押下OR LW_ANSWER = A.LEAVE LIST-PROCESSING. "選択画面戻ENDIF.示例:REPORT ZLEI_FILE_CHECK.*-* WORKS*-*DATA:W_FILE TYPE STRING. "名*-* CONSTANTS*-*CONSTANTS:CNS_TRUE(1) TYPE C VALUE X. "TRUE*-* PARAMETERS*-*PARAMETERS:P_UPFILE LIKE RLGRAP-FILENAME, "Upload fileP_ERFILE LIKE RLGRAP-FILENAME. "Download file*-* AT SELECTION-SCREEN*-*AT SELECTION-SCREEN.*- 存在PERFORM FRM_CHECK_UPFILE_EXIST.*- PERFORM FRM_CHECK_ERFILE.*-* AT SELECTION-SCREEN ON VALUE-REQUEST*-*AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_UPFILE.*- 検索PERFORM FRM_SEARCH_UPFILE.AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_ERFILE.*- 出力検索PERFORM FRM_SAVE_ERFILE.*&-*& Form FRM_CHECK_UPFILE_NAME*&-* 存在*-*FORM FRM_CHECK_UPFILE_EXIST.DATA:LW_FILE TYPE STRING, "LW_RESULT TYPE C. "結果LW_FILE = P_UPFILE.CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXISTEXPORTINGFILE = LW_FILERECEIVINGRESULT = LW_RESULTEXCEPTIONSCNTL_ERROR = 1ERROR_NO_GUI = 2WRONG_PARAMETER = 3NOT_SUPPORTED_BY_GUI = 4OTHERS = 5.IF SY-SUBRC <> 0.SET CURSOR FIELD P_UPFILE. "*- 出力MESSAGE ID SY-MSGID TYPE E NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.*- 結果判定IF LW_RESULT <> CNS_TRUE. "存在SET CURSOR FIELD P_UPFILE. "*- MSG: &1 存在MESSAGE E116(ZNKCC1) WITH P_UPFILE.ENDIF.ENDFORM. " FRM_CHECK_UPFILE_EXIST*&- -*& Form FRM_CHECK_ERFILE*&-* *-*FORM FRM_CHECK_ERFILE.DATA:LW_PATH TYPE RLGRAP-FILENAME. "*- 切PERFORM FRM_SPLIT_ERFILE_PATH CHANGING LW_PATH.*- PERFORM FRM_CHECK_DIRECTORY_EXIST USING LW_PATH.*- 存在PERFORM FRM_CHECK_ERFILE_EXIST.ENDFORM. " FRM_CHECK_ERFILE*&-*& Form FRM_SPLIT_ERFILE_PATH*&-* 切*-* <- P_O_PATH(CHANGING)*-*FORM FRM_SPLIT_ERFILE_PATH CHANGING P_O_PATH TYPE RLGRAP-FILENAME.*- CALL 汎用CALL FUNCTION SO_SPLIT_FILE_AND_PATHEXPORTINGFULL_NAME = P_ERFILEIMPORTINGSTRIPPED_NAME = W_FILEFILE_PATH = P_O_PATHEXCEPTIONSX_ERROR = 1OTHERS = 2.IF SY-SUBRC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 丁辛醇装置操作工创新应用评优考核试卷含答案
- 浆液制备与丙酮回收工改进能力考核试卷含答案
- 列车长复试能力考核试卷含答案
- 植保无人机驾驶员岗前创新应用考核试卷含答案
- 钼钨冶炼辅料制备工测试验证水平考核试卷含答案
- 丁二烯装置操作工岗前成果转化考核试卷含答案
- 锻造加热工安全知识竞赛测试考核试卷含答案
- 2025年警容风纪自查自纠报告
- 粉末冶金课件
- 年加工1000吨PET片材及2000万个蛋糕底托项目报告表
- 苏教版小学数学五年级上册教案第八单元 用字母表示数
- 2025年存量房买卖合同模板
- 《手术室无菌技术》课件
- 城市更新中的建筑改造技术-全面剖析
- 无人机吊装作业安全管理
- 2024年深圳市福田区公开招考4名特聘岗位工作人员笔试带答案详解
- 湖北电力交易中心:2025年度湖北电力市场化交易百问百答
- 餐饮礼仪礼貌培训资料
- GB 4789.42-2025食品安全国家标准食品微生物学检验诺如病毒检验
- 设备修理工培训
- 《分数除法》大单元教学设计
评论
0/150
提交评论