1. 程式人生 > >ABAP 常用函數

ABAP 常用函數

數字串 others nload mat def with for 半角 html form

函數名 描述
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
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 – 彈出一個文件選擇對話框。

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

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

CONVERSION_EXIT_CUNIT_OUTPUT 單位轉換

SJIS_DBC_TO_SBC 全角轉半角

SJIS_SBC_TO_DBC 半角轉換為全角

CO_R0_CHECK_DECIMAL_POINT 根據單位檢查數據的小數位

POSTAL_CODE_CHECK 檢查郵政編碼 GET_JOB_RUNTIME_INFO 獲得job相關信息

TERMINAL_ID_GET 獲得終端

idDATE_CONVERT_TO_FACTORYDATE 把輸入日期轉為工廠日歷日期

MESSAGE_TEXT_BUILD 把消息轉為文本

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

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

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

CLPB_IMPORT :從剪貼板導入internal table
CLPB_EXPORT : 從internal table輸入到剪貼板
示例程序:GRCLPB_1

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

ABAP 常用函數