已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 野生植物保护职业发展研究报告-第1
- 钻土机项目可行性研究报告(规划设计模板)
- 阅读Little-Red-Riding-Hood公开课教案【宁夏吴忠】
- 项目可行性研究报告市场发展趋势与机会分析
- 食品添加剂纽甜项目可行性研究报告立项申请报告范文
- 高性能氮氧化物复合耐火材料项目可行性研究报告
- 高纯元素及化合物项目可行性研究报告方案可用于立项及银行贷款+
- 殷墟考古新突破:安阳发现商代晚期祭祀坑遗迹 -2026 届高三语文主题读写素材 11 月热点时事写作素材
- 2025年二级建造师之二建建筑工程实务题库附答案(基础题)
- 药品采购合同模板
- 2024年共青团入团积极分子团校结业考试试题库及答案
- 大型活动交通保障方案
- 高标准农田改造提升建设项目投标方案(技术标)
- 公园设施维修投标方案
- 工程制图习题集解答知识点省公开课一等奖全国示范课微课金奖课件
- 公路法知识培训课件
- 智能科技引领未来
- 多组学数据的整合与分析
- 《环境监测质量控制》课件
- 糖尿病治疗新进展
- GB/T 28957.1-2023道路车辆用于滤清器评定的试验粉尘第1部分:氧化硅试验粉尘
评论
0/150
提交评论