Function Two
?
Funtion:CONVERSION_EXIT_ALPHA_INPUT
功能:全數字則在前面補0
參數:
???Import:
?????INPUT:輸入的字符串
???Export:
?????OUTPUT:輸出的字符串
Funtion:CONVERSION_EXIT_ALPHA_INPUT
功能:和上面相反
Funtion:GET_JOB_RUNTIME_INFO
功能:獲得job相關信息
參數:
???Export:
????EVENTID:后臺處理的事件id
????EVENTPARM:后臺事件的參數(例如,job id,job名字)
????TERNAL_PROGRAM_ACTIVE:沒用過
????JOBCOUNT:job id
????JOBNAME:job 名稱
Funtion:TERMINAL_ID_GET
功能:獲得端末id
參數:
???Import:
?????USERNAME:用戶名
???Export:
?????TERMINAL:terminal id
Funtion:DATE_CONVERT_TO_FACTORYDATE
功能:把輸入日期轉為工廠日歷日期
參數:
???Import:
?????CORRECT_OPTION:表示工作日計算方式的標記??
?????DATE:必須轉化為工廠日歷日期的日期
?????FACTORY_CALENDAR_ID:工廠日歷ID????
???Export:
?????DATE:必須轉化為工廠日歷日期的日期???
?????FACTORYDATE:指定日歷中的工作日數??????
?????WORKINGDAY_INDICATOR:表示某日期是否為工作日的標志????????
例子:
DATA:DATE1???????LIKE SCAL-DATE,
?????DATE2???????LIKE SCAL-DATE,
?????CORRECTION?? LIKESCAL-INDICATOR,
?????CALENDAR????LIKE SCAL-FCALID,
?????FACTORYDATE LIKE SCAL-FACDATE,
?????WORKDAY?????LIKE SCAL-INDICATOR.
?????CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
??????????EXPORTINGDATE????????????????= DATE1
??????????????????????CORRECT_OPTION??????= CORRECTION
??????????????????????FACTORY_CALENDAR_ID = CALENDAR
??????????IMPORTINGDATE????????????????= DATE2
??????????????????????FACTORYDATE?????????= FACTORYDATE
??????????????????????WORKINGDAY_INDICATOR = WORKDAY
??????????EXCEPTIONSCORRECT_OPTION_INVALID????= 1
???????????????????????DATE_AFTER_RANGE??????????= 2
??????????????????????DATE_BEFORE_RANGE?????????= 3
??????????????????????DATE_INVALID??????????????= 4
??????????????????????FACTORY_CALENDAR_NOT_FOUND = 5.
Funtion:MESSAGE_TEXT_BUILD
功能:把消息轉為文本
參數:
???Import:
?????MSGID:消息id
?????MSGNR:消息號
?????MSGV1:參數1
?????MSGV2:參數2
?????MSGV3:參數3
?????MSGV4:參數4
???Export:
?????MESSAGE_TEXT_OUTPUT:輸出的字符串
說明:可以用write <message> to<text>代替。
每天函數講解系列----2006.01.16
?
Function: POPUP_TO_CONFIRM
Group:SPO1
功能:彈出確認窗口
參數:
???Import:
?????TITLEBAR:彈出窗口的標題,最多40位
?????TEXT_QUESTION:問題,最長80位,多出來的截斷
?????TEXT_BUTTON_1:第一按鈕的text,最長8位
?????ICON_BUTTON_1:第一按鈕顯示的icon
?????TEXT_BUTTON_2:第二按鈕的text,最長8位
?????ICON_BUTTON_2:第二按鈕顯示的icon
?????DEFAULT_BUTTON:默認的按鈕
?????DISPLAY_CANCEL_BUTTON:是否顯示取消
?????POPUP_TYPE:彈出的類型:決定顯示的icon
????????ICON_MESSAGE_QUESTION :問題
?????????ICON_MESSAGE_INFORMATION:信息
?????????ICON_MESSAGE_WARNING:警告
?????????ICON_MESSAGE_ERROR:錯誤
?????????ICON_MESSAGE_CRITICAL:沖突
?????START_COLUMN:彈出位置:列
?????START_ROW:彈出位置:行
?????IV_QUICKINFO_BUTTON_1:第一按鈕的顯示信息(鼠標放上去后看到的)
?????IV_QUICKINFO_BUTTON_2:第二按鈕的顯示信息(鼠標放上去后看到的)
???Export:
?????ANSWER:返回點擊的按鈕
???????'1' :第一個按鈕
????????'2' :第二個按鈕
????????'A' :取消按鈕
每天函數講解系列----2006.01.20
?
物料號碼轉換函數,上傳文件時可能會用到
1.CONVERSION_EXIT_MATN1_INPUT
???EXPORTING????
?????INPUT = '要轉換的物料號'
???IMPORTING
?????OUTPUT = '轉換后的內部使用的物料號'.
比如輸入123456,輸出000000000000123456
2.CONVERSION_EXIT_MATN1_OUTPUT.
作用同上面相反,用法較簡單,就不說了
call function'CONVERT_TO_LOCAL_CURRENCY'?????"按照指定日期匯率轉換金額為指定貨幣類型
?????????exporting
???????????DATE????????????= T_EKKO-BEDAT?? "日期
???????????FOREIGN_AMOUNT?? =T_DATA-NETPR?? "待轉換金額
???????????FOREIGN_CURRENCY =WAERS?????????"當前貨幣單位
???????????LOCAL_CURRENCY?? ='USD'?????????"目標貨幣
?????????importing
???????????LOCAL_AMOUNT????= T_DATA-NETPR. "轉換后金額
?????endif.
call function'SSF_FUNCTION_MODULE_NAME'?????"根據form名取得對應的函數名(SmartForm)
???exporting
?????FORMNAME??????????='ZFI_06'???????????????"Form名
???importing
?????FM_NAME???????????=FUNC_MODULE_NAME???????"返回函數名
???exceptions
?????NO_FORM???????????= 1
?????NO_FUNCTION_MODULE = 2
?????others????????????= 3.
由于開發機上開發smartform傳入生產機后有可能會改變其函數名,所以在調用smartform前使用這個函數
每天函數講解系列----2006.01.23
?
DATE_CHECK_PLAUSIBILITY 日期CHECK
CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
???EXPORTING
?????date?????????????????????= i_date
???EXCEPTIONS
?????plausibility_check_failed = 1
?????OTHERS???????????????????= 2.
cl_gui_frontend_services=>gui_upload 上傳到服務器
CALL METHODcl_gui_frontend_services=>gui_upload
???EXPORTING
?????filename???????????????= l_filename
?????filetype???????????????= i_filetype
?????has_field_separator????= i_separator
*?????HEADER_LENGTH??????????= 0
*?????DAT_MODE???????????????= SPACE
*?????CODEPAGE???????????????= SPACE
*?????IGNORE_CERR????????????= ABAP_TRUE
*?????REPLACEMENT????????????= '#'
*?????READ_BY_LINE???????????= 'X'
*???IMPORTING
*?????FILELENGTH?????????????=
*?????HEADER?????????????????=
???CHANGING
?????data_tab???????????????= o_tab_table
???EXCEPTIONS
?????file_open_error????????= 1
?????file_read_error????????= 2
?????no_batch???????????????= 3
?????gui_refuse_filetransfer = 4
?????invalid_type???????????= 5
?????no_authority???????????= 6
?????unknown_error??????????= 7
?????bad_data_format????????= 8
?????header_not_allowed?????= 9
?????separator_not_allowed?? =10
?????header_too_long????????= 11
?????unknown_dp_error???????= 12
?????access_denied??????????= 13
?????dp_out_of_memory???????= 14
?????disk_full??????????????= 15
?????dp_timeout?????????????= 16
?????not_supported_by_gui???= 17
?????error_no_gui???????????= 18
?????OTHERS?????????????????= 19.
cl_gui_frontend_services=>gui_download 下載到服務器
CALL METHODcl_gui_frontend_services=>gui_download
???EXPORTING
*?????BIN_FILESIZE?????????????=
?????filename?????????????????= l_filename
?????filetype?????????????????= i_filetype
*?????APPEND???????????????????= SPACE
?????write_field_separator????= i_separator
*?????HEADER???????????????????= '00'
*?????TRUNC_TRAILING_BLANKS????= SPACE
*?????WRITE_LF?????????????????= 'X'
*?????COL_SELECT???????????????= SPACE
*?????COL_SELECT_MASK??????????= SPACE
*?????DAT_MODE?????????????????= SPACE
*?????CONFIRM_OVERWRITE????????= SPACE
*?????NO_AUTH_CHECK????????????= SPACE
*?????CODEPAGE?????????????????= SPACE
*?????IGNORE_CERR??????????????= ABAP_TRUE
*?????REPLACEMENT??????????????= '#'
*?????WRITE_BOM????????????????= SPACE
*?????TRUNC_TRAILING_BLANKS_EOL = 'X'
*???IMPORTING
*?????FILELENGTH???????????????=
???CHANGING
?????data_tab?????????????????= o_tab_table[]
???EXCEPTIONS
?????file_write_error?????????= 1
?????no_batch?????????????????= 2
?????gui_refuse_filetransfer?? =3
?????invalid_type?????????????= 4
?????no_authority?????????????= 5
?????unknown_error????????????= 6
?????header_not_allowed???????= 7
?????separator_not_allowed????= 8
?????filesize_not_allowed?????= 9
?????header_too_long??????????= 10
?????dp_error_create??????????= 11
?????dp_error_send????????????= 12
?????dp_error_write???????????= 13
?????unknown_dp_error?????????= 14
?????access_denied????????????= 15
?????dp_out_of_memory?????????= 16
?????disk_full????????????????= 17
?????dp_timeout???????????????= 18
?????file_not_found???????????= 19
?????dataprovider_exception???= 20
?????control_flush_error??????= 21
?????not_supported_by_gui?????= 22
?????error_no_gui?????????????= 23
?????OTHERS???????????????????= 24.
SSF_FUNCTION_MODULE_NAME??
SMARTFORMS輸出報表時,生成一個函數名稱,然后CALL這個名稱
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
???EXPORTING
?????FORMNAME??????????=CNS_SMART?????????"SMARTFORMSの名稱
???IMPORTING
?????FM_NAME???????????=W_FMNAME??????????"SMARTFORMSの名稱
???EXCEPTIONS
?????NO_FORM???????????= 1
?????NO_FUNCTION_MODULE = 2
?????OTHERS????????????= 3.
* CALL FUNCTION W_FMNAME
*???TABLES
*?????I_HEAD??????????=I_HEAD??????????
*???EXCEPTIONS
*?????FORMATTING_ERROR = 1
*?????INTERNAL_ERROR?? = 2
*?????SEND_ERROR??????= 3
*?????USER_CANCELED???= 4
*?????OTHERS??????????= 5.
GRAPH_MATRIX_3D 把數據生成柱狀3D
TIME_CHECK_PLAUSIBILITY??判斷是不是時間
每天函數講解系列----2006.02.11
?
Funtion:POPUP_TO_DECIDE_LIST??
功能:彈出供選擇窗口,最多25個選項,選擇可以是單選按鈕也可以是復選按鈕,可以設定最多選擇的個數。
參數:
???Import:
?????CURSORLINE :默認光標所在行
?????MARK_FLAG:選擇的標志,一般設為‘X’
?????MARK_MAX:最大選擇的選項個數
?????START_COL:起始行
?????START_ROW :起始列,用來定位彈出窗口的位置
?????TEXTLINE1:文本行
?????TEXTLINE2:文本行
?????TEXTLINE3 :文本行
?????TITEL:彈出窗口的標題
?????DISPLAY_ONLY:僅顯示
???Export:
?????ANSWER:A:取消 空:做了選擇
???Tables:
?????T_SPOPLI:選擇結果
例子:
REPORTZ_BOBO?????????????????????????????????.
* 定義函數需要的變量
DATA: BEGIN OF SPOPLIST OCCURS 15.
?????????INCLUDE STRUCTURE SPOPLI.
DATA: END?? OF SPOPLIST.
DATA: ANTWORT TYPE C.
* 添加選擇參數
SPOPLIST-VAROPTION = 'Creditor'.
APPEND SPOPLIST.
SPOPLIST-VAROPTION = 'Material'.
APPEND SPOPLIST.
SPOPLIST-VAROPTION = 'Account '.
SPOPLIST-SELFLAG?? = 'X'.
CALL FUNCTION 'POPUP_TO_DECIDE_LIST'
????EXPORTINGTITEL???????????= 'Possible entra: Order'
??????????????TEXTLINE1???????= 'By which criteria'
??????????????TEXTLINE2???????= 'should orders'
??????????????TEXTLINE3???????= 'be selected?'
??????????????MARK_MAX????????= 2
??????????????MARK_FLAG???????= 'X'
??? IMPORTINGANSWER??????????= ANTWORT
???TABLES????T_SPOPLI????????= SPOPLIST
??? EXCEPTIONSTOO_MUCH_ANSWERS = 1
??????????????TOO_MUCH_MARKS?? = 2.
IF SY-SUBRC = 2.
??? WRITE: 'Toomany answers chosen.'.
ENDIF.
* 取消
IF ANTWORT = 'A'.
??? WRITE:'Popup canceled.'.
ELSE.
??? WRITE:'Options chosen:'.
??? LOOP ATSPOPLIST WHERE SELFLAG = 'X'.
?????WRITE: / SPOPLIST-VAROPTION.
???ENDLOOP.
ENDIF.
總結
以上是生活随笔為你收集整理的Function Two的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Function One
- 下一篇: ABAP-FI常用BAPI