ABAP 经常用FUNCTION大全
[SAPABAP开发技术总结]Function远程、同步、异步调用
![[SAPABAP开发技术总结]Function远程、同步、异步调用](https://img.taocdn.com/s3/m/3ec17c5768eae009581b6bd97f1922791688be8f.png)
[SAPABAP开发技术总结]Function远程、同步、异步调⽤调⽤20.1.1.更新FM:CALL FUNCTION update_function IN UPDATE TASK,直到Commit Work 才运⾏主要⽤于本地更新(⾮远程RFC调⽤,如果是远程调⽤,则采⽤事务性RFC调⽤⽅式:IN BACKGROUND TASK)20.1.2.RFC函数:远程调⽤20.1.2.1.同步CALL FUNCTION func [ dest] [?desti?nei??n](在DESTINATION不省略的情况下,且dest取值⼜不为SPACE,则函数⼀定要是RFC函数才能采⽤此⽅式进⾏远程同步调⽤)20.1.2.2.异步CALL FUNCTION rfm_name dest]taskname PERFORMING return_form ON END OF TASKFORM return_form USING taskname....RECEIVE RESULTS FROM FUNCTION rfm_name...ENDFORM.WAIT UNTIL log_exp [UP TO sec SECONDS].参数;函数⼀定要是RFC函数才能采⽤异步调⽤;只要有STARTING NEW TASK选项,即为异步调⽤;如果是异步调⽤同⼀⽬标端的RFC函数,则可以省略DESTINATION20.1.2.2.1.事务性RFC调⽤实质上事务RFC调⽤也属于异步调⽤func [DESTINATION dest],并不⽴即执⾏,直到主调程序中的语句(隐式提交不要,⼀定要使⽤COMMIT WORK显⽰提交)才⼀次性执⾏多个远程函数调⽤(函数⼀定要为RFC函数,且要通过Commit Work语句显⽰提交后,才会去执⾏,否则不会执⾏;如果是同⼀⽬标端的RFC函数,则可以省略DESTINATION)20.1.2.3.DESTINATION 取值NONE:当前程序所在应⽤服务器作为⽬标系统,但调⽤过程还是RFC远程⽅式来调⽤,这与SPACE是同的l⽬标: DESTINATION选项将会被忽略,被调功能函数将作为普通函数在本机调⽤l⽬标BACK:⽤于被远程调⽤的RFM程序内部的CALL FUNCTION语句中的⽬标指定,通过已建⽴的RFC连接反过来调⽤该函数的主调者系统中的其他功能模块(即主调程序—>远程系统中的RFM—>⼜回调主调程序所在系统中的其他函数)。
SAP ABAP 函数总结 常用函数解释

GUI_DELETE_FILE – 在显示服务器端删除一个文件 。
GUI_DOWNLOAD – 从应用服务器下载内表到显示服务器。
GUI_EXEC – 调用一个文件或程序,取代了WS_EXECUTE。
GUI_GET_DESKTOP_INFO – 获得客户端桌面信息,取代了WS_QUERY。
RPY_DYNPRO_READ – 读取屏幕
PROFILE_GET - 从INI文件读取一条记录
PROFILE_SET – 往INI文件写一条记录
READ_TEXT – 上传长文本
REGISTRY_GET – 从注册表读取一条记录
REGISTRY_SET – 在注册表里设置一条记录
RFC_ABAP_INSTALL_AND_RUN – 当MODE参数值为‘F’时运行PROGRAM表中的程序'.
FILENAME_GET – 弹出一个文件选择对话框。
DATA out(60) TYPE c.
CALL FUNCTION 'FILENAME_GET'
EXPORTING
filename = 'c:1.txt'
title = 'GET FILENAME'
IMPORTING
filename = OUT.
函数名 描述
CONVERSION_EXIT_MATN1_INPUT 物料号码转换函数
CONVERSION_EXIT_MATN1_OUTPUT 同上相反
CONVERT_TO_LOCAL_CURRENCY 按照指定日期汇率转换金额为指定货币类型
SSF_FUNCTION_MODULE_NAME 根据form名取得对应的函数名(SmartForm)
abap 常用函数用法

abap 常用函数用法ABAP是一种功能强大的SAP开发语言,用于创建和编辑业务应用程序。
在ABAP编程中,函数是一种常用的工具,用于执行特定的任务。
本篇文章将介绍一些常用的ABAP函数及其用法。
一、字符串函数1.LEFT(string,length):返回string字符串左边的length个字符。
2.RIGHT(string,length):返回string字符串右边的length个字符。
3.MID(string,start_position,length):返回string字符串从start_position开始,length个字符的子串。
4.CONCATENATE(string1,string2,...):将多个字符串连接成一个字符串。
5.TRIM(string):去除字符串首尾的空格。
6.LOWER(string):将字符串转换为小写。
7.UPPER(string):将字符串转换为大写。
二、数值函数1.ABS(number):返回number的绝对值。
2.ROUND(number,digits):对number进行四舍五入到digits位小数。
3.FLOOR(number):对number向下取整。
4.CEILING(number):对number向上取整。
5.MOD(number1,number2):返回number1除以number2的余数。
三、日期函数1.CURDATE():返回当前日期。
2.YEAR(date):返回date日期的年份。
3.MONTH(date):返回date日期的月份。
4.DAY(date):返回date日期的天数。
5.ADD_MONTHS(date,months):将date日期增加指定的月份。
6.SUBTRACT_MONTHS(date,months):将date日期减少指定的月份。
四、其他常用函数1.ISNULL(value):检查value是否为空。
2.IS_NOT_NULL(value):检查value是否不为空。
ABAP+函数总结+常用函数解释

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 显示检索helpREAD_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 全数字则在前面补0CONVERSION_EXIT_ALPHA_INPUT 和上面相反GET_JOB_RUNTIME_INFO 获得job相关信息TERMINAL_ID_GET 获得端末idDATE_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 日期CHECKcl_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文档。
SAPABAP函数总结常用函数解释

SAPABAP函数总结常用函数解释SAPABAP是一种流行的编程语言,常用于SAP系统开发。
在ABAP中,函数是可重复使用的代码块,用于执行特定的任务或操作。
这些函数可以在ABAP程序中调用,以提高代码的可维护性和重用性。
下面是一些常用的SAPABAP函数以及它们的解释。
1.STRLEN函数:返回一个字符串的长度。
这个函数可以用于计算字符串的字符数,以便于处理和操作字符串。
2.CONCATENATE函数:将多个字符串连接成一个字符串。
这个函数可以用于连接两个或多个字符串,使其成为一个新的字符串。
3.REPLACE函数:替换字符串中指定的内容。
这个函数可以用于替换一个字符串中的一些子串,以实现特定的文本替换需求。
4.SPLIT函数:将一个字符串按照指定的分隔符分割成一个字符串表。
这个函数可以用于将一个长字符串以指定的分隔符分割为多个小字符串,并存储在表中。
5.TRANSLATE函数:替换字符串中的字符。
这个函数可以用于替换一个字符串中的特定字符或字符串,以实现文本的转换或调整。
6.NUMERIC_CHECK函数:检查一个字符串是否为合法的数字。
这个函数可以用于验证一个字符串是否为合法的数字,以确保数据的准确性。
7.DATE_CONVERSION_FUNCTIONS函数:日期转换函数。
这个函数可以用于在不同日期格式之间进行转换,以满足不同日期格式的需求。
8.DYNPRO_NOT_FOUND函数:检查屏幕元素是否存在。
这个函数可以用于检查SAP屏幕中是否存在一个指定的屏幕元素,以便根据结果来决定后续的操作。
9.WRITE函数:向输出窗口或内部表写入数据。
这个函数可以用于将数据写入SAP输出窗口,或写入内部表,以进行后续的数据处理。
10.SY-SUBRC函数:获取最近一次操作的执行状态。
这个函数可以用于获取最近一次操作的执行结果,以便根据结果进行进一步的处理和判断。
11.CONVERSION_EXIT_ALPHA_INPUT函数:输入转换函数。
abap 聚合函数

abap 聚合函数ABAP(Advanced Business Application Programming)是一种面向SAP系统的编程语言,广泛用于企业资源计划(ERP)和商务信息仓库(BIW)等应用程序的开发。
在ABAP中,聚合函数(Aggregate Functions)是一组用于对数据进行汇总和计算的函数,能够提供有关数据集的总体信息。
本文将介绍ABAP中常用的聚合函数及其用法。
一、SUM函数SUM函数用于计算某个字段的总和。
例如,可以使用SUM函数计算销售订单中所有产品的销售数量总和。
语法:SUM(字段名)。
示例:DATA sales_amount TYPE i.SELECT SUM(数量) INTO sales_amount FROM 销售订单 WHERE 日期= '2021-01-01'.WRITE: '销售订单的销售总量为', sales_amount.二、AVG函数AVG函数用于计算某个字段的平均值。
例如,可以使用AVG函数计算销售订单中所有产品的平均销售价格。
语法:AVG(字段名)。
示例:DATA average_price TYPE p DECIMALS 2.SELECT AVG(价格) INTO average_price FROM 销售订单 WHERE 日期= '2021-01-01'.WRITE: '销售订单的平均销售价格为', average_price.三、MIN函数MIN函数用于计算某个字段的最小值。
例如,可以使用MIN函数找到销售订单中价格最低的产品。
语法:MIN(字段名)。
示例:DATA min_price TYPE p DECIMALS 2.SELECT MIN(价格) INTO min_price FROM 销售订单WHERE 日期= '2021-01-01'.WRITE: '销售订单中价格最低的产品价格为', min_price.四、MAX函数MAX函数用于计算某个字段的最大值。
ABAP常用函数

abap函数荟萃2009年04月02日星期四08:331 .函数WS_UPLOAD功能﹕将TXT文件转换成SAP中的内表定义的数据表格文件注意﹕1函数将按参数data_tab的实际参数(假设为table1) table1定义的各个字段的长度来依次将TXT文件间隔开﹐并依次将对应的值付给table1的字段,table中的各个字段必须为C型2 TXT文件中﹐各个字段值之间不能有空格事例: ZBC400_JOHN_262 .函数TH_POPUP功能:向函数入口参数client , user决定的用户发送信息(信息为入口参数message决定的信息)事例﹕ZBC_LSL_0173.函数HELP_V ALUES_GET_WITH_TABLE功能﹕弹出用户所需要的信息﹐让用户选择﹐并把选种的信息付给输入框﹐相当与建立起SEARCH HELP注意: 1 tables的参数fields , valuetab需要固定的内表结构2 importing的参数select_value有高﹐低两个值﹐即用户选种的值付给相应的输入框的最小值﹐最大值3 tables的参数fields , valuetab的实际参数(假设为tab_field, field_value)tab_field, field_value的付值,其tab_field内表中﹐有且仅有一个字段的selectflag = 'X’事例﹕ZPP0002934 .函数Z_UDARBID功能﹕根据工单号﹐当前工作中心代号﹐读出上一工作中心代号﹐上一工作中心名称﹐下一工作中心代号﹐下一工作中心名称事例﹕ZPP000224_EDIT说明﹕取得上下组别的函数更正确的函数z_udarbid_change(可以解决组别循环问题)示例﹕ZBAK_ZPP000222_LSL5 .函数Z_COLORANDSIZE功能﹕根据该物料的组态﹐得出该物料的颜色尺码.注意﹕入口参数IP_SPRAS = 'E’表示本厂款号﹐’M’表示客户款号6 .函数Z_PRINTTITLE功能﹕打印标准报表头事例﹕ZBC_LSL_7777 .函数Z_PAGECHANGE功能﹕许多记录时﹐进行翻叶操作8 .函数READ_TEXT功能﹕读取内文假设﹕FORM get_pitext USING pn LIKE thead-tdname .REFRESH tabline.CALL FUNCTION 'READ_TEXT'EXPORTINGclient = sy-mandtid = '0006'language = 'M'object = 'VBBK'name = pnarchive_handle = 0IMPORTINGheaders = theadTABLESlines = tablineEXCEPTIONSnot_found = 2.注意﹕1 tabline必须为固定格式, headers的实际参数必须为thead name的实际参数必须为thead-tdname形式,靠它来确定取谁的内文2 client , language , archive_handle的入口值基本固定如上3 id为va03?转到?表头?内文?(双击要读取的内文项)?goto?headertext id既是参数id的值text object既是参数object的值事例﹕ZPP0002209 .函数Z_CURR_TO_CHAR .功能﹕把curr型的数据转化成char型的数据﹐转化后的数据仍然按curr型数据显示(“###,###,###.##”)并可以在char型数前后添加固定个特殊字符(“**12,111,456.23”, ”**********12.45”)假设p_curr为CURR型﹐p_char = '*’CALL FUNCTION 'Z_CURR_TO_CHAR'EXPORTINGp_curr_i = p_curr* p_char_i = p_char* p_num_i = 2* p_bore_i =* p_nums_i = 20IMPORTINGp_char_o = t_chrEXCEPTIONno_p_curr_i = 1curr_type_wrong = 2not_bore_i = 3OTHERS = 4.说明﹕p_curr :必须输入参数﹐不能超过15个长度,被转化的参数p_char :可线参数﹐须添加的特殊字符p_num_I :可线参数﹐当参数p_nums_I为空时有效﹐要添加的特殊字符的个数p_bore_I:可线参数﹐决定是在前/后添加特殊字符,b?前﹐e?后﹐默认为b,只能输入b/e否则函数不转化p_nums_I:可线参数﹐决定转化成固定个字符长度的﹐若参数p_char_I有值﹐则不足位时补特殊字符﹐若参数p_char_I为空时﹐该参数无效﹐若该参数输入值﹐则参数p_num_I无效。
ABAP 经常用FUNCTION大全

dynp_values_read –读取screen字段的值,也可以用来读取报表selection screen。
dynp_values_update - 更新屏幕字段的值。
get_global_symbols –返回一个程序的tables, select options, texts, etc 。
甚至包含selection screen的文本定义。
rpy_dynpro_read –读取屏幕dy_get_set_field_value - 获得或者设置屏幕字段的值rs_refresh_from_selectoptions –获得当前选择屏幕的内容dy_get_focus –获得屏幕焦点bp_joblog_read - 获得job log的执行结果。
get_job_runtime_info - 获得job相关信息clpb_export - 从内表导入到剪贴板。
clpb_import - 从剪贴板导入内表。
convert_otf - 将sap文档(sap script)转换成其他类型。
abap_docu_download - 以html格式下载abap文档。
arfc_get_tid - 以十六进制形式返回终端的ip地址。
bal_* - 容纳了sap的应用程序日志所有的函数模块。
bp_event_raise - 在abap/4 程序中触发一个事件。
f4if_shlp_exit_example –f4接口模块。
ftp_connect –打开并登陆ftp服务器的连接。
ftp_command –在ftp服务器上执行一个命令。
ftp_disconnect –关闭指向ftp服务器的连接。
get_includetab –获得一个程序的includes列表。
gui_exec –调用一个文件或程序,取代了ws_execute。
gui_get_desktop_info –获得客户端桌面信息,取代了ws_query。
gui_run –启动一个文件或程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
dynp_values_read –读取screen字段的值,也可以用来读取报表selection screen。
dynp_values_update - 更新屏幕字段的值。
get_global_symbols –返回一个程序的tables, select options, texts, etc 。
甚至包含selection screen的文本定义。
rpy_dynpro_read –读取屏幕dy_get_set_field_value - 获得或者设置屏幕字段的值rs_refresh_from_selectoptions –获得当前选择屏幕的内容dy_get_focus –获得屏幕焦点bp_joblog_read - 获得job log的执行结果。
get_job_runtime_info - 获得job相关信息clpb_export - 从内表导入到剪贴板。
clpb_import - 从剪贴板导入内表。
convert_otf - 将sap文档(sap script)转换成其他类型。
abap_docu_download - 以html格式下载abap文档。
arfc_get_tid - 以十六进制形式返回终端的ip地址。
bal_* - 容纳了sap的应用程序日志所有的函数模块。
bp_event_raise - 在abap/4 程序中触发一个事件。
f4if_shlp_exit_example –f4接口模块。
ftp_connect –打开并登陆ftp服务器的连接。
ftp_command –在ftp服务器上执行一个命令。
ftp_disconnect –关闭指向ftp服务器的连接。
get_includetab –获得一个程序的includes列表。
gui_exec –调用一个文件或程序,取代了ws_execute。
gui_get_desktop_info –获得客户端桌面信息,取代了ws_query。
gui_run –启动一个文件或程序。
help_start –为一个字段显示帮助。
k_werks_of_bukrs_find –返回一个特定公司代码的所有工厂。
popup_to_confirm_loss_of_data –弹出一个对话框告知用户有可能丢失数据,询问是否操作继续。
popup_to_confirm_step - 弹出一个对话框询问用户是否操作继续。
popup_to_confirm_with_messagepopup_to_confirm_with_valuepopup_to_decidepopup_to_decide_with_messagepopup_to_display_textpopup_to_select_month –弹出一个对话框供选择月。
popup_with_table_display - provide a display of a table for user to select one, wi th the value of the table line returned when selected。
conversion_exit_cunit_output 单位转换cloi_put_sign_in_front 将负号前置,sap默认将负号放在数字后面。
conversion_exit_alpha_input 数字串前补0conversion_exit_alpha_output 消除数字串前的0bapi_currency_conv_to_external 将金额转换成外部数据格式bapi_currency_conv_to_internal 将金额转换成内部数据格式unit_conversion_simple 衡量单位转换sjis_dbc_to_sbc 全角转半角sjis_sbc_to_dbc 半角转换为全角text_split 字符串分割convert_to_local_currency 按照指定日期汇率转换金额为指定货币类型convert_otfspooljob_2_pdf 将otf spool转换为pdfconvert_abapspooljob_2_pdf 将abap spool转换为pdfpricing 获得定价条件profile_get 从ini文件读取一条记录profile_set 往ini文件写一条记录read_text 读取长文本save_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 年月日加减date_check_plausibility 日期有效性检查sd_datetime_difference 两日期作差date_convert_to_factorydate 把输入日期转为工厂日历日期month_names_get 获得所有的月和名字f4_date 弹出一个窗口显示一个日历答应用户选择一个日期。
rp_last_day_of_months 获得一个月的最后一天first_day_in_period_get 获得期间首日last_day_in_period_get 获得期间末日date_get_week 返回一个日期所在的周数。
holiday_get 基于工厂日历/节日日历提供了一个节日表。
rs_variant_contents –获得程序变式的信息rs_change_created_variant –修改程序变式的信息rzl_sleep –将当前程序挂起enque_sleep –在继续处理之前等待一个指定的时间。
enqueue_esfunction –锁定一个abap程序使它不可以被执行:注重不要用sy-repid来传送你的报表名字,当把sy-repid作为参数传送给函数模块的时候,sy-repid的值实际上已经发生了变化。
rzl_submit –提交一个远程报表gui_upload 上传文件到服务器gui_download 下载文件到本地file_get_name 从逻辑文件名得到物理文件路径及文件名。
filename_get 弹出一个文件选择对话框。
so_split_file_and_path 将一个包含路径的全文件名分割为文件名和路径。
eps_get_file_attributes 获得文件属性。
rzl_read_dir_local 读取应用服务器的目录gui_create_directory 在显示服务器端创建一个目录。
gui_delete_file 在显示服务器端删除一个文件。
upload_files 上传一个或多个文件ms_excel_ole_standard_ole 创建一个文件并自动启动excel 。
gui_remove_directory 从显示服务器删除一个目录。
eps_get_directory_listing 返回一个本地或网络目录的文件列表。
rzl_read_dir 假如服务器名字左部为空,从本地读取目录,否则读取远程服务器的目录。
rzl_read_file 假如为给定服务器名字则读取本地文件,否则读取远程服务器文件。
rzl_write_file_local 将内表保存到显示服务器(not pc). 不使用open dataset因此避免了授权检查。
sapgui_progress_indicator –显示一个进度条rpy_transaction_read –给定一个事务代码,获得其程序和屏幕;或给定一个程序和屏幕获得事务代码scrolling_in_table –当编写模块池的时候可以用它来处理滚动so_new_document_att_send_api1 - 将文档作为邮件的一部分发送so_spool_read –根据spool号获得printer spoolso_wind_spool_list –根据用户浏览printer spool号list_to_ascii –将abap报表从otf形式转换成ascii 形式。
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 –返回终端idth_delete_user –剔除一个用户,效果同sm04th_environment –获得unix环境th_popup –在特定用户屏幕上显示一个系统消息th_remote_transaction –在远程服务器上运行事务代码th_user_info –获得当前用户的信息(会话,登陆的工作台等)th_user_list –显示登陆到应用服务器的用户列表write_list 显示一个列表对象ws_excel 启动excelws_volume_get 获得终端设备标签www_list_to_html 运行一个报表之后,调用这个方法将列表输出转换成htmlsd_vbap_read_with_vbeln 根据销售订单读取表vbap中的信息co_r0_check_decimal_point 根据单位检查数据的小数位postal_code_check 检查邮政编码view_maintenance_call 维护表视图f4if_int_table_value_request 显示检索helpterminal_id_get 获得终端idmessage_text_build 把消息转为文本ssf_function_module_name 根据form名取得对应的函数名(smartform)ssf_function_module_name smartforms输出报表时,生成一个函数名称,然后call 这个名称rs_coverpage_selections 获得一个报表的选择参数列表。