




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.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-SUB
2、RC <> 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, 对于指定下载到本地的文件,首先,将屏
3、幕上输入的路径和文件名分隔开来,(在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-M
4、SGNOWITH 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 = 4OTHER
5、S = 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_TI
6、TLE = 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-
7、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,
8、 对下载的文件是保存帮助处理。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
9、= 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另外的情况,屏幕上输入下载文件指定路径和文件名后,先检查该
10、文件是否存在,如果存在,则需要弹出对话框,提醒用户是否覆盖原文件。(在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 = 4OTHE
11、RS = 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 "質問TEX
12、T_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失敗時*-
13、 出力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*-*CONS
14、TANTS: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-SCR
15、EEN 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, "L
16、W_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. "*- 出力
17、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_ERFI
18、LE*&-* *-*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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车厢工厂转让协议书
- 黄金买卖合同协议书
- 车辆代租代管协议书
- 公费医学生分配协议书
- 项目管理分包协议书
- 驾驶培训安全协议书
- 非诉事务委托协议书
- 集体种植合作协议书
- Brand KPIs for second-hand apparel online shops hewi. (hardly ever worn it) in the United Kingdom-外文版培训课件(2025.2)
- 项目策划框架协议书
- 【MOOC】《学术交流英语》(东南大学)章节中国大学慕课答案
- GB/T 2934-2007联运通用平托盘主要尺寸及公差
- 拘留所教育课件01
- 2022年六一儿童节ppt演讲课件
- 2022年兖州煤业榆林能化有限公司招聘笔试试题及答案解析
- 国家开放大学《财务管理#》形考任务1-4参考答案
- 医院检验科冰箱温度登记表
- 常见异常心电图识别及处理课件
- 重庆交通大学-黄璇-答辩通用PPT模板
- 中国医院质量安全管理 第4-13部分:医疗管理住院患者健康教育 T∕CHAS 10-4-13-2020
- 新沪教牛津版七年级上册英语全册教案
评论
0/150
提交评论