KK~SAP

KK's Blog

  博客中心 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 登录 ::
  39 随笔 :: 1 文章 :: 4 评论 :: 1 Trackbacks
Cached @ 2025/6/13 14:48:02Control ASP.skins_cogitation_controls_blogstats_ascx
<2008年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

留言簿(0)

随笔档案

文章档案

搜索

最新评论

  • 1. SAP资料下载
  • SAP下载网,
    SAP资料共享网站,完全免费
    资料全由网友共享,大家共享,大家下载
  • --SAP99
  • 2. re: 信用管理理论及其在SAP中的应用
  • Yeah. My MSN is nyf425@hotmail.com.
  • --nyf425
  • 3. about bapi
  • 1BAPI鐨勪紭鐐? bapi鏄潰鍚戝璞$殑璁捐; bapi鏄浐瀹氱殑,涓鑸笉鑳戒慨鏀? bapi鍙互琚玸ap鍐呴儴閮ㄤ欢鍜岄潪sap绋嬪簭浣跨敤; bapi鐨勬垚鍔熷拰閿欒淇℃伅濮嬬粓閫氳繃RETURN杩斿洖; ...
  • --Neosun.Digger.SAP
  • 4. re: 信用管理理论及其在SAP中的应用
  • That's great. It's really hard to accept the Credit Management concept and map with the SAP System in the detail. You gave me a big help. Do you have any IM account, such as MSN?
  • --Dave
  • 5. re: SAP名词解释
  • Clearly help to understand my confuse.
    Great
  • --柚子Nan

阅读排行榜

评论排行榜

Cached @ 2025/6/13 14:48:02Control ASP.skins_cogitation_controls_singlecolumn_ascx

1, 首先对要上传的文件进行存在检查。

(在AT SELECTION-SCREEN事件下完成

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST

EXPORTING

FILE = LW_FILE

RECEIVING

RESULT = LW_RESULT

EXCEPTIONS

CNTL_ERROR = 1

ERROR_NO_GUI = 2

WRONG_PARAMETER = 3

NOT_SUPPORTED_BY_GUI = 4

OTHERS = 5.

IF SY-SUBRC <> 0.

SET CURSOR FIELD 'P_UPFILE'. "カーソルをセット

*----- システムメッセージ出力

MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO

WITH 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_PATH'

EXPORTING

FULL_NAME = P_ERFILE

IMPORTING

STRIPPED_NAME = W_FILE

FILE_PATH = P_O_PATH

EXCEPTIONS

X_ERROR = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

SET CURSOR FIELD 'P_ERFILE'. "カーソルをセット

*----- システムメッセージ出力

MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

其次,检查分隔得到的文件路径(路径是否存在)。(在AT SELECTION-SCREEN事件下完成

CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_EXIST

EXPORTING

DIRECTORY = LW_PATH

RECEIVING

RESULT = LW_RESULT

EXCEPTIONS

CNTL_ERROR = 1

ERROR_NO_GUI = 2

WRONG_PARAMETER = 3

NOT_SUPPORTED_BY_GUI = 4

OTHERS = 5.

IF SY-SUBRC <> 0.

SET CURSOR FIELD 'P_ERFILE'. "カーソルをセット

MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO

WITH 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_DIALOG

EXPORTING

WINDOW_TITLE = LW_TITLE "ファイル選択

CHANGING

FILE_TABLE = LTD_FILE

RC = LW_RETURN "リターン値

USER_ACTION = LW_ACTION "動作結果

EXCEPTIONS

FILE_OPEN_DIALOG_FAILED = 1

CNTL_ERROR = 2

ERROR_NO_GUI = 3

NOT_SUPPORTED_BY_GUI = 4

OTHERS = 5.

*----- リターンコード判定

IF SY-SUBRC <> 0. "メソッド失敗時

SET CURSOR FIELD 'P_UPFILE'. "カーソルをセット

*----- システムメッセージ出力

MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO

WITH 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_DIALOG

EXPORTING

WINDOW_TITLE = LW_TITLE "エラー出力ファイル選択

CHANGING

FILENAME = LW_FILENAME "ファイル名

PATH = LW_PATH "パース名

FULLPATH = LW_FULLPATH "ファイルパース名

USER_ACTION = LW_ACTION "動作結果

EXCEPTIONS

CNTL_ERROR = 1

ERROR_NO_GUI = 2

NOT_SUPPORTED_BY_GUI = 3

OTHERS = 4.

*----- リターンコード判定

IF SY-SUBRC <> 0. "CALL メソッド失敗時

SET CURSOR FIELD 'P_ERFILE'. "カーソルをセット

*----- システムメッセージ出力

MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO

WITH 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_EXIST

EXPORTING

FILE = LW_FILE "ファイル

RECEIVING

RESULT = LW_RESULT "チェック結果

EXCEPTIONS

CNTL_ERROR = 1

ERROR_NO_GUI = 2

WRONG_PARAMETER = 3

NOT_SUPPORTED_BY_GUI = 4

OTHERS = 5.

*----- リターンコード判定

IF SY-SUBRC <> 0. "CALL メソッド失敗時

SET CURSOR FIELD 'P_ERFILE'. "カーソルをセット

*----- システムメッセージ出力

MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

提示是否覆盖原文件

*----- CALL 汎用モジュール

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

TITLEBAR = 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 の開始行

IMPORTING

ANSWER = LW_ANSWER "リターンコード

EXCEPTIONS

TEXT_NOT_FOUND = 1

OTHERS = 2.

*----- リターンコード判定

IF SY-SUBRC <> 0. "CALLモジュール失敗時

*----- システムメッセージ出力

MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO

WITH 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 file

P_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_EXIST

EXPORTING

FILE = LW_FILE

RECEIVING

RESULT = LW_RESULT

EXCEPTIONS

CNTL_ERROR = 1

ERROR_NO_GUI = 2

WRONG_PARAMETER = 3

NOT_SUPPORTED_BY_GUI = 4

OTHERS = 5.

IF SY-SUBRC <> 0.

SET CURSOR FIELD 'P_UPFILE'. "カーソルをセット

*----- システムメッセージ出力

MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO

WITH 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_PATH'

EXPORTING

FULL_NAME = P_ERFILE

IMPORTING

STRIPPED_NAME = W_FILE

FILE_PATH = P_O_PATH

EXCEPTIONS

X_ERROR = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

SET CURSOR FIELD 'P_ERFILE'. "カーソルをセット

*----- システムメッセージ出力

MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " FRM_SPLIT_ERFILE_PATH

*&---------------------------------------------------------------------*

*& Form FRM_CHECK_DIRECTORY_EXIST

*&---------------------------------------------------------------------*

* エラーファイルのパスのチェック

*----------------------------------------------------------------------*

* --> P_I_PATH パス(USINGパラメータ)

*----------------------------------------------------------------------*

FORM FRM_CHECK_DIRECTORY_EXIST USING P_I_PATH TYPE RLGRAP-FILENAME.

DATA:

LW_RESULT TYPE C, "チェック結果

LW_PATH TYPE STRING. "ファイル

LW_PATH = P_I_PATH.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_EXIST

EXPORTING

DIRECTORY = LW_PATH

RECEIVING

RESULT = LW_RESULT

EXCEPTIONS

CNTL_ERROR = 1

ERROR_NO_GUI = 2

WRONG_PARAMETER = 3

NOT_SUPPORTED_BY_GUI = 4

OTHERS = 5.

IF SY-SUBRC <> 0.

分享按钮发布于: 2008-01-07 16:03 nyf425 阅读(1544) 评论(0)  编辑 收藏

评论

标题
姓名
主页
内容 
  登录  使用高级评论  Top 订阅回复  取消订阅
[使用Ctrl+Enter键可以直接提交]