函数名 描述
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
*关于星期(周)的函数
FM:GET_WEEK_INFO_BASED_ON_DATE
输入参数 值
DATE 2008.01.09
输出参数 值
WEEK 200802 <----2008年第二周
MONDAY 2008.01.07 <----这个周周一的日期
SUNDAY 2008.01.13 <----周日的日期
FM:DAY_IN_WEEK(输入日期是星期几)
输入参数 值
DATUM 2008.01.09
输出参数 值
WOTNR 3 <----2008-1-9为周三
*更多关于Week的函数请看Function Group:CADA
*弹出选择周的对话框
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_week-low.
PERFORM getweek CHANGING s_week-low.
FORM getweek CHANGING p_week .
DATA: begin_date TYPE d .
CALL FUNCTION ‘POPUP_CALENDAR_SDB‘
EXPORTING
sel_week = ‘X‘
focus_day = sy-datum
IMPORTING
begin_date = begin_date.
CALL FUNCTION ‘GET_WEEK_INFO_BASED_ON_DATE‘
EXPORTING
date = begin_date
IMPORTING
week = p_week.
ENDFORM.
在SE38环境下的程序名输入栏输入‘DEMO*‘后按F4,你可以查到SAP所有的DEMO示例程序,会学到很多
ABAP功能的实现方法,输入‘BCALV*‘后按F4,你可以查到很多ALV示例程序
下面是一段关于CEIL 和 FLOOR 的代码
DATA:a TYPE mseg-menge,
b TYPE mseg-menge,
c TYPE mseg-menge.
a = ‘1.36‘.
b = ‘1.34‘.
c = a / b.
c = CEIL( a / b ).
WRITE:/,c.
"输出 2.000
c = FLOOR( a / b ).
WRITE:/,c.
"输出 1.000