ABAP中对上传文件和下载文件的一般检查_第1页
ABAP中对上传文件和下载文件的一般检查_第2页
ABAP中对上传文件和下载文件的一般检查_第3页
ABAP中对上传文件和下载文件的一般检查_第4页
ABAP中对上传文件和下载文件的一般检查_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ABAP中对上传文件和下载文件的一般检查ABAP中对上传文件和下载文件的一般检查ABAP中对上传文件和下载文件的一般检查V:1.0精细整理,仅供参考ABAP中对上传文件和下载文件的一般检查日期:20xx年X月ABAP中对上传文件和下载文件的一般检查文件检查的一般方法。实用。设计一些通用模块,和使用方法。1,首先对要上传的文件进行存在检查。(在ATSELECTION-SCREEN事件下完成)CALLMETHODCL_GUI_FRONTEND_SERVICES=>FILE_EXISTEXPORTINGFILE=LW_FILERECEIVINGRESULT=LW_RESULTEXCEPTIONSCNTL_ERROR=1ERROR_NO_GUI=2WRONG_PARAMETER=3NOT_SUPPORTED_BY_GUI=4OTHERS=5.IFSY-SUBRC<>0.SETCURSORFIELD'P_UPFILE'."カーソルをセット*-----システムメッセージ出力MESSAGEIDSY-MSGIDTYPE'E'NUMBERSY-MSGNOWITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.ENDIF.*-----チェック結果判定IFLW_RESULT<>CNS_TRUE."ファイル存在しないSETCURSORFIELD'P_UPFILE'."カーソルをセット*-----MSG:アップロードファイル&1は存在しませんMESSAGEE116(ZNKCC1)WITHP_UPFILE.ENDIF.2,对于指定下载到本地的文件,首先,将屏幕上输入的路径和文件名分隔开来,(在ATSELECTION-SCREEN事件下完成)*-----CALL汎用モジュールCALLFUNCTION'SO_SPLIT_FILE_AND_PATH'EXPORTINGFULL_NAME=P_ERFILEIMPORTINGSTRIPPED_NAME=W_FILEFILE_PATH=P_O_PATHEXCEPTIONSX_ERROR=1OTHERS=2.IFSY-SUBRC<>0.SETCURSORFIELD'P_ERFILE'."カーソルをセット*-----システムメッセージ出力MESSAGEIDSY-MSGIDTYPE'E'NUMBERSY-MSGNOWITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.ENDIF.其次,检查分隔得到的文件路径(路径是否存在)。(在ATSELECTION-SCREEN事件下完成)CALLMETHODCL_GUI_FRONTEND_SERVICES=>DIRECTORY_EXISTEXPORTINGDIRECTORY=LW_PATHRECEIVINGRESULT=LW_RESULTEXCEPTIONSCNTL_ERROR=1ERROR_NO_GUI=2WRONG_PARAMETER=3NOT_SUPPORTED_BY_GUI=4OTHERS=5.IFSY-SUBRC<>0.SETCURSORFIELD'P_ERFILE'."カーソルをセットMESSAGEIDSY-MSGIDTYPE'S'NUMBERSY-MSGNOWITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.ENDIF.3,实现对上传文件的检索帮助。(在ATSELECTION-SCREENONVALUE-REQUESTFORP_UPFILE.事件下完成)CALLMETHODCL_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.*-----リターンコード判定IFSY-SUBRC<>0."メソッド失敗時SETCURSORFIELD'P_UPFILE'."カーソルをセット*-----システムメッセージ出力MESSAGEIDSY-MSGIDTYPE'S'NUMBERSY-MSGNOWITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.RETURN.ENDIF.*-----結果情報判定IFLW_RETURN<0.RETURN."選択画面へ戻るENDIF.*-----結果情報判定IFLW_ACTION=0.*-----[選択ファイルテーブル]の1件目を[アップロードファイル名]設定READTABLELTD_FILEINTOLTH_FILEINDEX1.*-----リターンコード判定IFSY-SUBRC=0.P_UPFILE=LTH_FILE-FILENAME.ENDIF.ENDIF.4,对下载的文件的检索帮助的实现同3。5,对下载的文件是保存帮助处理。CALLMETHODCL_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.*-----リターンコード判定IFSY-SUBRC<>0."CALLメソッド失敗時SETCURSORFIELD'P_ERFILE'."カーソルをセット*-----システムメッセージ出力MESSAGEIDSY-MSGIDTYPE'S'NUMBERSY-MSGNOWITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.RETURN."選択画面へ戻るENDIF.*-----結果情報判定IFLW_ACTION=0.*-----[ファイルパース名]を[選択画面-エラーファイル名]に設定するP_ERFILE=LW_FULLPATH.ENDIF.6.另外的情况,屏幕上输入下载文件指定路径和文件名后,先检查该文件是否存在,如果存在,则需要弹出对话框,提醒用户是否覆盖原文件。(在ATSELECTION-SCREENONVALUE-REQUESTFORP_DOFILE.事件下完成)*-----エラーファイルの存在チェックCALLMETHODCL_GUI_FRONTEND_SERVICES=>FILE_EXISTEXPORTINGFILE=LW_FILE"ファイルRECEIVINGRESULT=LW_RESULT"チェック結果EXCEPTIONSCNTL_ERROR=1ERROR_NO_GUI=2WRONG_PARAMETER=3NOT_SUPPORTED_BY_GUI=4OTHERS=5.*-----リターンコード判定IFSY-SUBRC<>0."CALLメソッド失敗時SETCURSORFIELD'P_ERFILE'."カーソルをセット*-----システムメッセージ出力MESSAGEIDSY-MSGIDTYPE'E'NUMBERSY-MSGNOWITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.ENDIF.提示是否覆盖原文件:*-----CALL汎用モジュールCALLFUNCTION'POPUP_TO_CONFIRM'EXPORTINGTITLEBAR=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.*-----リターンコード判定IFSY-SUBRC<>0."CALLモジュール失敗時*-----システムメッセージ出力MESSAGEIDSY-MSGIDTYPE'S'NUMBERSY-MSGNOWITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.LEAVELIST-PROCESSING.ENDIF.*-----結果情報判定IFLW_ANSWER='2'"いいえOR中止ボタン押下ORLW_ANSWER='A'.LEAVELIST-PROCESSING."選択画面へ戻るENDIF.示例:REPORTZLEI_FILE_CHECK.*----------------------------------------------------------------------**WORKS*----------------------------------------------------------------------*DATA:W_FILETYPESTRING."ファイル名*----------------------------------------------------------------------**CONSTANTS*----------------------------------------------------------------------*CONSTANTS:CNS_TRUE(1)TYPECVALUE'X'."TRUE*----------------------------------------------------------------------**PARAMETERS*----------------------------------------------------------------------*PARAMETERS:P_UPFILELIKERLGRAP-FILENAME,"UploadfileP_ERFILELIKERLGRAP-FILENAME."Downloadfile*----------------------------------------------------------------------**ATSELECTION-SCREEN*----------------------------------------------------------------------*ATSELECTION-SCREEN.*-----アップロードファイルの存在チェックPERFORMFRM_CHECK_UPFILE_EXIST.*-----エラーファイルのチェックPERFORMFRM_CHECK_ERFILE.*----------------------------------------------------------------------**ATSELECTION-SCREENONVALUE-REQUEST*----------------------------------------------------------------------*ATSELECTION-SCREENONVALUE-REQUESTFORP_UPFILE.*-----アップロードファイルの検索ヘルプPERFORMFRM_SEARCH_UPFILE.ATSELECTION-SCREENONVALUE-REQUESTFORP_ERFILE.*-----エラー出力ファイルの検索ヘルプPERFORMFRM_SAVE_ERFILE.*&---------------------------------------------------------------------**&FormFRM_CHECK_UPFILE_NAME*&---------------------------------------------------------------------**アップロードファイルの存在チェック*----------------------------------------------------------------------*FORMFRM_CHECK_UPFILE_EXIST.DATA:LW_FILETYPESTRING,"ファイルLW_RESULTTYPEC."チェック結果LW_FILE=P_UPFILE.CALLMETHODCL_GUI_FRONTEND_SERVICES=>FILE_EXISTEXPORTINGFILE=LW_FILERECEIVINGRESULT=LW_RESULTEXCEPTIONSCNTL_ERROR=1ERROR_NO_GUI=2WRONG_PARAMETER=3NOT_SUPPORTED_BY_GUI=4OTHERS=5.IFSY-SUBRC<>0.SETCURSORFIELD'P_UPFILE'."カーソルをセット*-----システムメッセージ出力MESSAGEIDSY-MSGIDTYPE'E'NUMBERSY-MSGNOWITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.ENDIF.*-----チェック結果判定IFLW_RESULT<>CNS_TRUE."ファイル存在しないSETCURSORFIELD'P_UPFILE'."カーソルをセット*-----MSG:アップロードファイル&1は存在しませんMESSAGEE116(ZNKCC1)WITHP_UPFILE.ENDIF.ENDFORM."FRM_CHECK_UPFILE_EXIST*&---------------------------------------------------------------------**&FormFRM_CHECK_ERFILE*&---------------------------------------------------------------------**エラーファイルのチェック*----------------------------------------------------------------------*FORMFRM_CHECK_ERFILE.DATA:LW_PATHTYPERLGRAP-FILENAME."パス*-----エラーファイルの切りのチェックPERFORMFRM_SPLIT_ERFILE_PATHCHANGINGLW_PATH.*-----エラーファイルのパスのチェックPERFORMFRM_CHECK_DIRECTORY_EXISTUSINGLW_PATH.*-----エラーファイルの存在のチェックPERFORMFRM_CHECK_ERFILE_EXIST.ENDFORM."FRM_CHECK_ERFILE*&---------------------------------------------------------------------**&FormFRM_SPLIT_ERFILE_PATH*&---------------------------------------------------------------------**エラーファイルの切りのチェック*----------------------------------------------------------------------**<--P_O_PATHパス(CHANGINGパラメータ)*----------------------------------------------------------------------*FORMFRM_SPLIT_ERFILE_PATHCHANGINGP_O_PATHTYPERLGRAP-FILENAME.*-----CALL汎用モジュールCALLFUNCTION'SO_SPLIT_FILE_AND_PATH'EXPORTINGFULL_NAME=P_ERFILEIMPORTINGSTRIPPED_NAME=W_FILEFILE_PATH=P_O_PATHEXCEPTIONSX_ERROR=1OTHERS=2.IFSY-SUBRC<>0.SETCURSORFIELD'P_ERFILE'.&quo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论