天天看點

好用的ABAP函數

函數名 描述

SD_VBAP_READ_WITH_VBELN 根據銷售訂單讀取表vbap中的資訊

EDIT_LINES 把READ_TEXT傳回的LINES中的行按照TDFORMAT=“*”重新組織

VIEW_MAINTENANCE_CALL 維護表視圖

函數名 描述 

DY_GET_FOCUS 獲得螢幕焦點 

DY_GET_SET_FIELD_VALUE 獲得或者設定螢幕字段的值

F4IF_INT_TABLE_VALUE_REQUEST 顯示檢索help 

READ_TEXT 讀取長文本

CONVERSION_EXIT_CUNIT_OUTPUT 機關轉換

SJIS_DBC_TO_SBC 全角轉半角

SJIS_SBC_TO_DBC 半角轉換為全角

CO_R0_CHECK_DECIMAL_POINT 根據機關檢查資料的小數位

POSTAL_CODE_CHECK 檢查郵政編碼

CONVERSION_EXIT_ALPHA_INPUT 全數字則在前面補0

CONVERSION_EXIT_ALPHA_INPUT 和上面相反

GET_JOB_RUNTIME_INFO 獲得job相關資訊

TERMINAL_ID_GET 獲得端末id

DATE_CONVERT_TO_FACTORYDATE 把輸入日期轉為工廠月曆日期

MESSAGE_TEXT_BUILD 把消息轉為文本

POPUP_TO_CONFIRM 彈出确認視窗

CONVERSION_EXIT_MATN1_INPUT 物料号碼轉換函數

CONVERSION_EXIT_MATN1_OUTPUT 同上相反

CONVERT_TO_LOCAL_CURRENCY 按照指定日期匯率轉換金額為指定貨币類型

SSF_FUNCTION_MODULE_NAME 根據form名取得對應的函數名(SmartForm)

DATE_CHECK_PLAUSIBILITY 日期CHECK

cl_gui_frontend_services=>gui_upload 上傳到伺服器

cl_gui_frontend_services=>gui_download 下載下傳到服本地

SSF_FUNCTION_MODULE_NAME SMARTFORMS輸出報表時,生成一個函數名稱,然後CALL這個名稱

POPUP_TO_DECIDE_LIST 彈出供選擇視窗

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

input = 00000000000123

output = 123

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

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 – 彈出一個檔案選擇對話框。

DATA out(60) TYPE c.

CALL FUNCTION 'FILENAME_GET'

  EXPORTING

    filename = 'c:/1.txt'

    title    = 'GET FILENAME'

  IMPORTING

    filename = OUT.

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 – 獲得所有的月和名字 

**** 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_STEP,隻是多三行的文本錯誤診斷提示。

POPUP_TO_CONFIRM_WITH_VALUE  用此函數可以建立一個對話框用于詢問使用者是否執行某步操作,該操作可能會丢失資料,使用者可以選擇Yes No                             或者Cancel。該函數可以傳入一個标題,兩行的文本(提示問題)和一個對象值

POPUP_TO_DECIDE              顯示一個對話框,使用者可以兩個操作中的一個或者取消。可以傳入三行提示文本

POPUP_TO_DECIDE_WITH_MESSAGE   類似POPUP_TO_DECIDE

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。

PRICING – 獲得定價條件

PROFILE_GET - 從INI檔案讀取一條記錄

PROFILE_SET – 往INI檔案寫一條記錄

READ_TEXT – 上傳長文本

REGISTRY_GET – 從系統資料庫讀取一條記錄

REGISTRY_SET – 在系統資料庫裡設定一條記錄

RFC_ABAP_INSTALL_AND_RUN – 當MODE參數值為‘F’時運作PROGRAM表中的程式'.

RH_GET_ACTIVE_WF_PLVAR – 獲得激活的HR計劃

RH_START_EXCEL_WITH_DATA – 啟動Excel并用内表給檔案指派

RH_STRUC_GET –傳回所有相關的組織資訊

RP_CALC_DATE_IN_INTERVAL – 年月日加減

RP_LAST_DAY_OF_MONTHS – 獲得一個月的最後一天

RPY_DYNPRO_READ – 讀取螢幕

RPY_TRANSACTION_READ – 給定一個事務代碼,獲得其程式和螢幕;或給定一個程式和螢幕獲得事務代碼

RS_COVERPAGE_SELECTIONS – 獲得一個報表的選擇參數清單。 

RS_REFRESH_FROM_SELECTOPTIONS –獲得目前選擇螢幕的内容

RS_SEND_MAIL_FOR_SPOOLLIST – 在程式中給SAP office 發送消息 

RS_VARIANT_CONTENTS – 獲得一個變式的内容 

RZL_SLEEP – 将目前程式挂起 

RZL_SUBMIT – 送出一個遠端報表 

RZL_READ_DIR_LOCAL – 讀取應用伺服器的目錄 

RZL_READ_DIR – 如果伺服器名字左部為空,從本地讀取目錄,否則讀取遠端伺服器的目錄

RZL_READ_FILE – 如果為給定伺服器名字則讀取本地檔案,否則讀取遠端伺服器檔案。

RZL_WRITE_FILE_LOCAL - 将内表儲存到顯示伺服器(not PC). 不使用OPEN DATASET是以避免了授權檢查。

SAPGUI_PROGRESS_INDICATOR – 顯示一個進度條 

SAVE_TEXT – 上傳長文本 

SCROLLING_IN_TABLE –當編寫子產品池的時候可以用它來處理滾動

SD_DATETIME_DIFFERENCE – 兩日期作差 

SO_NEW_DOCUMENT_ATT_SEND_API1 - 将文檔作為郵件的一部分發送 

SO_SPLIT_FILE_AND_PATH – 将一個包含路徑的全檔案名分割為檔案名和路徑 

SO_SPOOL_READ – 根據SPOOL号獲得printer spool

SO_WIND_SPOOL_LIST – 根據使用者浏覽printer spool号

SX_OBJECT_CONVERT_OTF_PDF – 從OTF轉換為PDF (SAP 腳本轉換)

SX_OBJECT_CONVERT_OTF_PRT – 從OTF轉換為列印機格式(SAP 腳本轉換)

SX_OBJECT_CONVERT_OTF_RAW – 從OTF轉換為ASCII(SAP 腳本轉換)

SXPG_CALL_SYSTEM - 檢查使用者是否有執行某個指令的權限

SXPG_COMMAND_LIST_GET – 獲得一個包含所有定義的外部OS指令的清單.

SXPG_COMMAND_DEFINITION_GET – 從R/3系統資料庫讀取單個外部OS指令的定義

SXPG_COMMAND_CHECK - 檢查使用者是否有執行某個指令的權限

SXPG_COMMAND_EXECUTE -檢查使用者是否有執行某個指令的權限,擁有授權則執行指令

TERMINAL_ID_GET –傳回終端ID

TH_DELETE_USER – 剔除一個使用者,效果同SM04

TH_ENVIRONMENT – 獲得UNIX環境

TH_POPUP –在特定使用者螢幕上顯示一個系統消息

TH_REMOTE_TRANSACTION – 在遠端伺服器上運作事務代碼

TH_USER_INFO – 獲得目前使用者的資訊 (會話,登陸的工作台等)

TH_USER_LIST –顯示登陸到應用伺服器的使用者清單

UNIT_CONVERSION_SIMPLE –衡量機關轉換

UPLOAD –上傳檔案到顯示伺服器

UPLOAD_FILES – 上傳一個或多個檔案

WRITE_LIST –顯示一個清單對象

WS_DOWNLOAD –将内表下載下傳到顯示伺服器

WS_EXCEL –啟動EXCEL

WS_EXECUTE –執行一個程式

WS_FILE_DELETE – 删除一個檔案 

WS_FILENAME_GET –調用檔案選擇對話框

WS_MSG –顯示一個對話框顯示線上消息

WS_UPLOAD – 從顯示伺服器上傳檔案到内表

WS_VOLUME_GET –獲得終端裝置标簽

WWW_LIST_TO_HTML – 運作一個報表之後,調用這個方法将清單輸出轉換成HTML

VIEW_MAINTENANCE_CALL 維護表視圖 

DY_GET_SET_FIELD_VALUE 獲得或者設定螢幕字段的值 

POSTAL_CODE_CHECK 檢查郵政編碼 GET_JOB_RUNTIME_INFO 獲得job相關資訊

TERMINAL_ID_GET 獲得終端

idDATE_CONVERT_TO_FACTORYDATE 把輸入日期轉為工廠月曆日期

DATE_CHECK_PLAUSIBILITY 檢查日期合法性

CHECKcl_gui_frontend_services=>gui_upload 上傳到伺服器

cl_gui_frontend_services=>gui_download 下載下傳到本地

SSF_FUNCTION_MODULE_NAME SMARTFORMS輸出報表時,生成一個函數名稱,然後CALL這個名  

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

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)?

REUSE_ALV_VARIANT_DEFAULT_GET 讀取預設的布局 

REUSE_ALV_VARIANT_EXISTENCE 檢測指定布局是否存在 

REUSE_ALV_VARIANT_F4 顯示布局格式選擇對話窗. 

具體可參考BALVST02_GRID程式。

CLPB_IMPORT :從剪貼闆導入internal table

CLPB_EXPORT : 從internal table輸入到剪貼闆

示例程式:GRCLPB_1

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

繼續閱讀