ABAP常用function

 -----------------------------------------------------

獲取生產定單狀態
-----------------------------------------------------
call function 'STATUS_TEXT_EDIT'
EXPORTING
flg_user_stat = 'X'
objnr = LO_OBJNR
only_active = 'X'
spras = sy-langu
IMPORTING
line = ls_statu
EXCEPTIONS
object_not_found = 01.


使用:objnr 狀態對象號,only_active 激活的 ,


-----------------------------------------------------

--------------------------------------------------
獲取每個月的最後一天
---------------------------------------------------
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
day_in = date
IMPORTING
last_day_of_month = date1.

-------------------------------------------------------

--------------------------------------------------------------
去掉前面0
*&--------------------------------------------------------------------*
*& Form frm_alpha_output 去零
*&--------------------------------------------------------------------*
DEFINE alpha_minus.
call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
exporting
input = &1
importing
output = &1.
END-OF-DEFINITION.

---------------------------------------------------
前面加0
---------------------------------------------------
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = &1
importing
output = &1.

------------------------------------------------

踢用戶
TH_DELETE_USER
---------------------------------------
CALL FUNCTION 'CUT_2BYTES_STRINGS'
EXPORTING
I_STR = T_STR
I_LEN = 4
IMPORTING
O_STR = T_TXT04
T_STR 輸入字符 I_LEN 長度 T_TXT04輸出字符

金額轉換成大寫
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = T_AMOUNT10
CURRENCY = 'RMB'
LANGUAGE = '1'
IMPORTING
IN_WORDS = S_AMWORD2
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3.

把SAP裏的負號放到前面來的函數
CLOI_PUT_SIGN_IN_FRONT
使用示例

DATA : t(10) TYPE c VALUE '65465-' .

CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
value = t. 

write : t . 

-------------------------------------------
通過這個日期得出那天是星期幾
DAY_IN_WEEK

----------------------------------------
用來得到將來/過去的日期的
RP_CALC_DATE_IN_INTERVAL

-------------------------------------------
日期的加減
BKK_ADD_MONTH_TO_DATE
--------------------------------------------------------------------


一組有用的用戶交互窗口函數
POPUP_TO_CONFIRM_LOSS_OF_DATA 顯示有YES/NO的彈出窗口,提示用戶未保存的數據將丟失 

POPUP_TO_CONFIRM_STEP 提示是否確認操作的彈出窗口 

POPUP_TO_CONFIRM_WITH_MESSAGE 可以顯示定製的提示信息的確認窗口 

POPUP_TO_CONFIRM_WITH_VALUE 顯示確認用戶對某個特定對象的操作的彈出窗口 

POPUP_TO_DECIDE 將待確認選項以單選按鈕的方式顯示的彈出窗口 

POPUP_TO_DECIDE_WITH_MESSAGE 帶消息的確認窗口 

POPUP_TO_DISPLAY_TEXT 顯示多行信息的窗口 

POPUP_TO_SELECT_MONTH 月份選擇窗口 

POPUP_WITH_TABLE_DISPLAY 有表格對象的確認窗口 


一組操縱客戶端文件系統的函數
GUI_CREATE_DIRECTORY 在PC上建立文件目錄 

GUI_DELETE_FILE 刪除PC上的文件 

GUI_DOWNLOAD 文件下載函數 

GUI_EXEC 執行PC上的程序,或者打開文件 

GUI_GET_DESKTOP_INFO 得到PC客戶端的系統信息,比如操作系統等 

GUI_REMOVE_DIRECTORY 刪除PC目錄 

GUI_RUN 運行PC程序(ShellExecute) 

GUI_UPLOAD 從PC上傳程序 


判斷某天是否是假日 
HOLIDAY_CHECK_AND_GET_INFO

ABAP_DOCU_DOWNLOAD 
Download ABAP documentation in HTML format. 

GET_CURRENT_YEAR
得到當前的財政年(fiscal year) 


察看某日期的屬性,包括該日期是星期幾,第幾天(周2=2),是不是公共假期等,需要輸入國家日曆。

DAY_ATTRIBUTES_GET 

Return useful information about a day. Will tell you the day of the week as a word (Tuesday), the day of the week (2 would be Tuedsay), whether the day is a holiday, and more.(provided by Francois Henrotte)?




CLPB_IMPORT :從剪貼板導入internal table
CLPB_EXPORT:從internal table輸入到剪貼板

示例程序:GRCLPB_1

在SE38環境下的程序名輸入欄輸入'DEMO*'後按F4,你可以查到SAP所有的DEMO示例程序,會學到很多ABAP功能的實現方法,輸入'BCALV*'後按F4,你可以查到很多ALV示例程序


ABAP 常用FUNCTION集錦1

ABAP_DOCU_DOWNLOAD – 以HTML格式下載ABAP文檔。

ARFC_GET_TID – 以十六進制形式返回終端的IP地址。

BAL_* -容納了SAP的應用程序日誌所有的函數模塊。

BP_EVENT_RAISE –在 ABAP/4 程序中觸發一個事件。

BP_JOBLOG_READ –獲得job log的執行結果。

 

CLOI_PUT_SIGN_IN_FRONT – 將負號前置, SAP默認將負號放在數字後面。

CLPB_EXPORT –從內表導入到剪貼板。

CLPB_IMPORT – 從剪貼板導入內表。

COMMIT_TEXT -To load long text into SAP 。

CONVERSION_EXIT_ALPHA_INPUT - 數字串前補0

example:

input = 123

output = 0000000000000。。。000000000000123

CONVERSION_EXIT_ALPHA_OUTPUT – 消除數字串前的0

example:

input = 00000000000123

output = 123

CONVERT_OTF – 將SAP文檔(SAP Script)轉換成其他類型。

example:

CALL FUNCTION 'CONVERT_OTF'

EXPORTING

FORMAT = 'PDF'

IMPORTING

BIN_FILESIZE = FILE_LEN

TABLES

OTF = OTFDATA

LINES = PDFDATA

EXCEPTIONS

ERR_MAX_LINEWIDTH = 1

ERR_FORMAT = 2

ERR_CONV_NOT_POSSIBLE = 3

OTHERS = 4。

DATE_GET_WEEK – 返回一個日期所在的週數。

DATE_CHECK_PLAUSIBILITY – 檢查一個日期是否是SAP的有效格式。

DYNP_VALUES_READ – 讀取SCREEN字段的值,也可以用來讀取報表SELECTION SCREEN。

DYNP_VALUES_UPDATE -更新屏幕字段的值。

ENQUE_SLEEP –在繼續處理之前等待一個指定的時間。

ENQUEUE_ESFUNCTION – 鎖定一個ABAP程序使它不可以被執行:

RELID = 'ZZ' 
SRTF2 = 0 
SRTF = (your report name)

注意不要用SY-REPID來傳遞你的報表名字,當把SY-REPID作爲參數傳遞給函數模塊的時候,SY-REPID的值實際上已經發生了變化。

EPS_GET_FILE_ATTRIBUTES – 獲得文件屬性。

EPS_GET_DIRECTORY_LISTING – 返回一個本地或網絡目錄的文件列表。

F4_DATE - 彈出一個窗口顯示一個日曆允許用戶選擇一個日期。

F4IF_SHLP_EXIT_EXAMPLE – F4接口模塊。

FILENAME_GET – 彈出一個文件選擇對話框。

FTP_CONNECT – 打開並登陸FTP服務器的連接。

FTP_COMMAND – 在FTP服務器上執行一個命令。

FTP_DISCONNECT –關閉指向FTP服務器的連接。

FORMAT_MESSAGE - Takes a message id and number, and puts it into a variable。 Works better than WRITE_MESSAGE, since some messages use $ as a place holder, and WRITE_MESSAGE does not accommodate that, it only replaces the ampersands (&) in the message。

GET_GLOBAL_SYMBOLS – 返回一個程序的tables, select options, texts, etc 。甚至包含selection screen的文本定義。

GET_INCLUDETAB – 獲得一個程序的INCLUDES列表。

GUI_CREATE_DIRECTORY –在顯示服務器端創建一個目錄 。

GUI_DELETE_FILE – 在顯示服務器端刪除一個文件 。

GUI_DOWNLOAD – 從應用服務器下載內表到顯示服務器。

GUI_EXEC – 調用一個文件或程序,取代了WS_EXECUTE。

GUI_GET_DESKTOP_INFO – 獲得客戶端桌面信息,取代了WS_QUERY。

GUI_REMOVE_DIRECTORY – 從顯示服務器刪除一個目錄 。

GUI_RUN – 啓動一個文件或程序 。

GUI_UPLOAD – 從顯示服務器上傳文件到應用服務器,取代了WS_UPLOAD。

HELP_START – 爲一個字段顯示幫助。 Useful for doing AT SELECTION SCREEN ON VALUE REQUEST for those fields that do not provide F4 help at the DDIC level。

HOLIDAY_GET – 基於Factory Calendar&/ Holiday Calendar提供了一個節日表。

INIT_TEXT –上傳長文本到SAP。

K_WERKS_OF_BUKRS_FIND – 返回一個特定公司代碼的所有工廠。

LIST_TO_ASCII –將ABAP報表從 OTF形式轉換成ASCII 形式。

LIST_FROM_MEMORY – Retrieves the output of a report from memory when the report was executed using SUBMIT。。。EXPORTING LIST TO MEMORY。 See also WRITE_LIST。

MONTH_NAMES_GET – 獲得所有的月和名字

MONTHS_BETWEEN_TWO_DATES_NEW -獲得月份之差

MS_EXCEL_OLE_STANDARD_OLE – 創建一個文件並自動啓動Excel 。

CONVERT_OTFSPOOLJOB_2_PDF - converts a OTF spool to PDF (i。e。 Sap script document)

CONVERT_ABAPSPOOLJOB_2_PDF -convert ABAP spool output to PDF

POPUP_TO_CONFIRM_LOSS_OF_DATA – 彈出一個對話框告知用戶有可能丟失數據,詢問是否操作繼續。

POPUP_TO_CONFIRM_STEP -彈出一個對話框詢問用戶是否操作繼續。

POPUP_TO_CONFIRM_WITH_MESSAGE

POPUP_TO_CONFIRM_WITH_VALUE

POPUP_TO_DECIDE

POPUP_TO_DECIDE_WITH_MESSAGE

POPUP_TO_DISPLAY_TEXT

POPUP_TO_SELECT_MONTH –彈出一個對話框供選擇月。

POPUP_WITH_TABLE_DISPLAY -Provide a display of a table for user to select one, with the value of the table line returned when selected。   ABAP 常用FUNCTION集錦1

  

ABAP 常用FUNCTION集錦1

ABAP_DOCU_DOWNLOAD – 以HTML格式下載ABAP文檔。

ARFC_GET_TID – 以十六進制形式返回終端的IP地址。

BAL_* -容納了SAP的應用程序日誌所有的函數模塊。

BP_EVENT_RAISE –在 ABAP/4 程序中觸發一個事件。

BP_JOBLOG_READ –獲得job log的執行結果。

 

CLOI_PUT_SIGN_IN_FRONT – 將負號前置, SAP默認將負號放在數字後面。

CLPB_EXPORT –從內表導入到剪貼板。

CLPB_IMPORT – 從剪貼板導入內表。

COMMIT_TEXT -To load long text into SAP 。

CONVERSION_EXIT_ALPHA_INPUT - 數字串前補0

example:

input = 123

output = 0000000000000。。。000000000000123

CONVERSION_EXIT_ALPHA_OUTPUT – 消除數字串前的0

example:

input = 00000000000123

output = 123

CONVERT_OTF – 將SAP文檔(SAP Script)轉換成其他類型。

example:

CALL FUNCTION 'CONVERT_OTF'

EXPORTING

FORMAT = 'PDF'

IMPORTING

BIN_FILESIZE = FILE_LEN

TABLES

OTF = OTFDATA

LINES = PDFDATA

EXCEPTIONS

ERR_MAX_LINEWIDTH = 1

ERR_FORMAT = 2

ERR_CONV_NOT_POSSIBLE = 3

OTHERS = 4。

DATE_GET_WEEK – 返回一個日期所在的週數。

DATE_CHECK_PLAUSIBILITY – 檢查一個日期是否是SAP的有效格式。

DYNP_VALUES_READ – 讀取SCREEN字段的值,也可以用來讀取報表SELECTION SCREEN。

DYNP_VALUES_UPDATE -更新屏幕字段的值。

ENQUE_SLEEP –在繼續處理之前等待一個指定的時間。

ENQUEUE_ESFUNCTION – 鎖定一個ABAP程序使它不可以被執行:

RELID = 'ZZ' 
SRTF2 = 0 
SRTF = (your report name)

注意不要用SY-REPID來傳遞你的報表名字,當把SY-REPID作爲參數傳遞給函數模塊的時候,SY-REPID的值實際上已經發生了變化。

EPS_GET_FILE_ATTRIBUTES – 獲得文件屬性。

EPS_GET_DIRECTORY_LISTING – 返回一個本地或網絡目錄的文件列表。

F4_DATE - 彈出一個窗口顯示一個日曆允許用戶選擇一個日期。

F4IF_SHLP_EXIT_EXAMPLE – F4接口模塊。

FILENAME_GET – 彈出一個文件選擇對話框。

FTP_CONNECT – 打開並登陸FTP服務器的連接。

FTP_COMMAND – 在FTP服務器上執行一個命令。

FTP_DISCONNECT –關閉指向FTP服務器的連接。

FORMAT_MESSAGE - Takes a message id and number, and puts it into a variable。 Works better than WRITE_MESSAGE, since some messages use $ as a place holder, and WRITE_MESSAGE does not accommodate that, it only replaces the ampersands (&) in the message。

GET_GLOBAL_SYMBOLS – 返回一個程序的tables, select options, texts, etc 。甚至包含selection screen的文本定義。

GET_INCLUDETAB – 獲得一個程序的INCLUDES列表。

GUI_CREATE_DIRECTORY –在顯示服務器端創建一個目錄 。

GUI_DELETE_FILE – 在顯示服務器端刪除一個文件 。

GUI_DOWNLOAD – 從應用服務器下載內表到顯示服務器。

GUI_EXEC – 調用一個文件或程序,取代了WS_EXECUTE。

GUI_GET_DESKTOP_INFO – 獲得客戶端桌面信息,取代了WS_QUERY。

GUI_REMOVE_DIRECTORY – 從顯示服務器刪除一個目錄 。

GUI_RUN – 啓動一個文件或程序 。

GUI_UPLOAD – 從顯示服務器上傳文件到應用服務器,取代了WS_UPLOAD。

HELP_START – 爲一個字段顯示幫助。 Useful for doing AT SELECTION SCREEN ON VALUE REQUEST for those fields that do not provide F4 help at the DDIC level。

HOLIDAY_GET – 基於Factory Calendar&/ Holiday Calendar提供了一個節日表。

INIT_TEXT –上傳長文本到SAP。

K_WERKS_OF_BUKRS_FIND – 返回一個特定公司代碼的所有工廠。

LIST_TO_ASCII –將ABAP報表從 OTF形式轉換成ASCII 形式。

LIST_FROM_MEMORY – Retrieves the output of a report from memory when the report was executed using SUBMIT。。。EXPORTING LIST TO MEMORY。 See also WRITE_LIST。

MONTH_NAMES_GET – 獲得所有的月和名字

MONTHS_BETWEEN_TWO_DATES_NEW -獲得月份之差

MS_EXCEL_OLE_STANDARD_OLE – 創建一個文件並自動啓動Excel 。

CONVERT_OTFSPOOLJOB_2_PDF - converts a OTF spool to PDF (i。e。 Sap script document)

CONVERT_ABAPSPOOLJOB_2_PDF -convert ABAP spool output to PDF

POPUP_TO_CONFIRM_LOSS_OF_DATA – 彈出一個對話框告知用戶有可能丟失數據,詢問是否操作繼續。

POPUP_TO_CONFIRM_STEP -彈出一個對話框詢問用戶是否操作繼續。

POPUP_TO_CONFIRM_WITH_MESSAGE

POPUP_TO_CONFIRM_WITH_VALUE

POPUP_TO_DECIDE

POPUP_TO_DECIDE_WITH_MESSAGE

POPUP_TO_DISPLAY_TEXT

POPUP_TO_SELECT_MONTH –彈出一個對話框供選擇月。

POPUP_WITH_TABLE_DISPLAY -Provide a display of a table for user to select one, with the value of the table line returned when selected。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章