ABAP常用函数
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简介ABAP是SAP系统中广泛使用的编程语言,用于开发系统功能、报表、图形用户界面等。
ABAP程序可以通过调用函数来实现各种功能,提高开发效率。
二、ABAP函数分类ABAP函数根据功能和用途可以分为以下几类:1. 数据处理函数:用于对数据进行处理,包括数据类型转换、数值计算、字符串处理等。
2. 数据库操作函数:用于与数据库进行交互,包括查询、插入、更新、删除等操作。
3. 文件操作函数:用于对文件进行读写、删除等操作。
4. 字符串操作函数:用于对字符串进行操作,包括分割、合并、替换、加密等。
5. 日期和时间函数:用于处理日期和时间,包括获取当前日期和时间、计算日期差值、格式化日期等。
6. 用户自定义函数:用户可以根据需要编写自定义函数,实现特定的功能。
以下是一个ABAP函数表的示例,列出了部分常用的ABAP函数:1. 数据类型转换函数(1) TYPE-CONVERT(value1, type, value2) 将value1从一种类型转换为type类型,并返回转换后的结果。
(2) VALUE(value, type) 将value转换为指定类型,并返回转换后的结果。
(3) TYPE-CHECK(value, type) 检查value是否符合type类型的要求,返回TRUE或FALSE。
2. 数值计算函数(1) ABS(number) 返回number的绝对值。
(2) ROUND(number, digits) 对number进行四舍五入,digits 指定小数位数。
(3) SQUARE(number) 返回number的平方。
(4) FLOOR(number) 对number向下取整。
(5) CEILING(number) 对number向上取整。
3. 字符串操作函数(1) STR-SUBSTR(string, start_pos, [end_pos]) 从string中截取从start_pos到end_pos之间的子串。
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集锦
ARFC_GET_TID
以十六进制形式返回终端的IP地址。
33
BAL_*
容纳了SAP的应用程序日志所有的函数模块。
34
BP_EVENT_RAISE
在ABAP/4程序中触发一个事件。
35
F4IF_SHLP_EXIT_EXAMPLE
F4接口模块。
36
FTP_CONNECT
打开并登陆FTP服务器的连接。
将负号前置,SAP默认将负号放在数字后面。
52
CONVERSION_EXIT_ALPHA_INPUT
数字串前补0
53
CONVERSION_EXIT_ALPHA_OUTPUT
消除数字串前的0
54
BAPI_CURRENCY_CONV_TO_EXTERNAL
将金额转换成外部数据格式
55
BAPI_CURRENCY_CONV_TO_INTERNAL
ALV
14
RZL_SLEEP
ENQUE_SLEEP
ENQUEUE_ESFUNCTION
几秒钟之后执行程序锁定Fra bibliotek个ABAP程序使它不可以被执行:
15
SAP_CONVERT_TO_CSV_FORMAT
SAP_CONVERT_TO_TEX_FORMAT
SAP_CONVERT_TO_TXT_FORMAT
SAP_CONVERT_TO_XLS_FORMAT
将金额转换成内部数据格式
56
UNIT_CONVERSION_SIMPLE
衡量单位转换
57
SJIS_DBC_TO_SBC
全角转半角
58
SJIS_SBC_TO_DBC
半角转换为全角
abap 常用函数用法 -回复
abap 常用函数用法-回复标题:ABAP常用函数用法详解ABAP(Advanced Business Application Programming)是SAP公司开发的一种高级编程语言,广泛应用于企业资源规划(ERP)系统中。
在ABAP编程中,函数的使用是不可或缺的一部分。
本文将详细介绍一些ABAP常用函数的用法。
1. CONCATENATE函数CONCATENATE函数用于连接两个或更多的字符字段或变量。
其基本语法如下:CONCATENATE expression1 [ INTO target ] [ SEPARATED BY separator ].例如,我们想要连接两个字符串"Hello"和"World":DATA(str1) = 'Hello'.DATA(str2) = 'World'.DATA(result) = CONCATENATE str1 ' ' str2.在上述代码中,'result'的值将会是"Hello World"。
2. SUBSTRING函数SUBSTRING函数用于从字符串中提取一部分子字符串。
其基本语法如下:SUBSTRING string [ OFFSET offset ] [ LENGTH length ].例如,我们想要从字符串"Hello World"中提取"World":DATA(full_str) = 'Hello World'.DATA(sub_str) = SUBSTRING full_str OFFSET 6.在上述代码中,'sub_str'的值将会是"World"。
3. REPLACE函数REPLACE函数用于在字符串中替换某个子字符串。
ABAP常用日期函数总结
ABAP 常用日期函数总结WEEK的函数:function group:CADA1.计算两个日期间的工作天数,即除双休日之外的天数DATE_CONVERT_TO_FACTORYDATEHR_HK_DIFF_BT_2_DATES2.根据系统当前时间找到上月的第一天和最后一天。
CALL FUNCTION'FIMA_DATE_CREATE'EXPORTINGi_date = sy-datum * I_FLG_END_OF_MONTH = ' '* I_YEARS = 0I_MONTHS = '-1'* I_DAYS = 0* I_CALENDAR_DAYS = 0I_SET_LAST_DAY_OF_MONTH = 'X'IMPORTINGE_DATE = lastdate.* E_FLG_END_OF_MONTH =* E_DAYS_OF_I_DATE = .其中,lastdate为上月最后一天。
Firstday是上月第一天Concatenate lastdate+(6)'01' into firstday.3.当天是当年的第几周DATE_GET_WEEK4.得到该周第一天Week_get_first_day5.查找当前月份以前的月份(比如现在是4月份,如果我需要知道六个月以前的月份)ccm_go_back_monthsrp_calc_date_in_interval6.获取两日期之间天数函数:fima_days_and_months_and_years7.取得当月的第一天和最后一天Concatenate sy-datum(6)'01' into so_date-low.Call function'BKK_GET_MONTH_LASTDAY'EXPORTINGi_date = SY-DATUM* IMPORTINGE_DATE = so_date-high.So_date-sign = 'I' .So_date-option = 'BT'.Append so_date.8.Rp_calc_date_in_interval 年月日加减9.DATE_CHECK_PLASIBILITY 日期有效性检查10.SD_DATETIME_DIFFERENCE 两日期做差11.DATE_CONVERT_TO_FACTORYDATE 把输入日期转为工厂日历日期12.MONTH_NAMES_GET 获得所有的月和名字13.F4_DATE 弹出一个窗口显示一个日历允许用户选择一个日期14.RP_LAST_DAY_OF_MONTHS 获得一个月的最后一天15.FIRST_DAY_IN_PERIOD_GET 获得期间首日16.LAST_DAY_IN_PERIOD_GET 获得期间末日17.获得两个日期的年数CALL FUNCTION'HR_99S_INTERVAL_BETWEEN_DATES' EXPORTINGBEGDA = gdatendda = sy-datum* TAB_MODE = ' '* IMPORTING* DAYS =* C_WEEKS =* C_MONTHS =C_YEARS = l_age* WEEKS =* MONTHS =* YEARS =* D_MONTHS =* MONTH_TAB =.18.关于星期的函数CALLFUNCTION'GET_WEEK_INFO_BASED_ON_DATE' EXPORTINGDATE= SY-DATUMIMPORTINGWEEK =MONDAY =SUNDAY =.19.输入日期,显示星期几CALL FUNCTION'DAY_IN_WEEK'EXPORTINGdatum =IMPORTINGWOTNR = 对应日期星期几20.弹出选择周的对话框AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_week-low. PERFORM getweek CHANGING s_week-low.*&---------------------------------------------------------------------**& Form getweek*&------------------------------------------------------------FORM getweek CHANGING p_week.DATA: begin_date TYPE d.CALL FUNCTION'POPUP_CALENDAR_SDB'EXPORTING* SEL_DAY =sel_week = 'X'* SEL_MONTH =* SEL_INTERVAL =* DAY_INFO =* SEL_ONLY_MARKED_DAYS =focus_day = sy-datum* IMPORTINGbegin_date = begin_date* END_DATE =.CALL FUNCTION'GET_WEEK_INFO_BASED_ON_DATE'EXPORTINGdate = begin_dateIMPORTINGweek = p_week.* MONDAY =* SUNDAY =ENDFORM. "getweek21.只显示年月,但要有日期的search help.PARAMETERS: p1(6) TYPE c.AT SELECTION-SCREEN ON VALUE-REQUEST FOR p1. DATA: l_date TYPE sy-datum.CALL FUNCTION'F4_DATE'EXPORTINGdate_for_first_month = sy-datum* DISPLAY = ' '* FACTORY_CALENDAR_ID = ' '* GREGORIAN_CALENDAR_FLAG = ' '* HOLIDAY_CALENDAR_ID = ' '* PROGNAME_FOR_FIRST_MONTH = ' ' IMPORTINGselect_date = l_date* SELECT_WEEK =* SELECT_WEEK_BEGIN =* SELECT_WEEK_END =EXCEPTIONScalendar_buffer_not_loadable = 1date_after_range = 2date_before_range = 3date_invalid = 4factory_calendar_not_found = 5holiday_calendar_not_found = 6parameter_conflict = 7OTHERS= 8.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.p1 = l_date+0(6).*检查日期的合理性CALL FUNCTION'DATE_CHECK_PLAUSIBILITY'EXPORTINGdate= bkdf-dbbdt "周期性分录的凭证抬头补充周期性分录凭证开始日期EXCEPTIONSplausibility_check_failed = 1OTHERS= 2.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.22.判断是不是时间TIME_CHECK_PLAUSIBILITY23.得到当前的财政年GET_CURRENT_YEAR24.查看某日期的属性,包括该日期是周几,第几天,是不是公共假日,需要输入国家日历DAY_ATTRIBUTES_GET25.判断某天是不是假日HOLIDAY_CHECK_AND_GET_INFO26.月份选择窗口POPUP_TO_SELECT_MONTH27.比较日期和时间type-pools: trff. "Treasury: Finanzmathematik 国库计量金融表库data: x_log_op type trff_type_c_2. "Treasury: FinanzmathematikCALL FUNCTION'FIMA_DATE_CREATE'EXPORTINGi_date = sy-datumi_time = sy-uzeitI_FLG_END_OF_MONTH = 'X'l_comp_date = l_modify-moddatel_comp_time = l_modify-modtime* I_YEARS = 0* I_MONTHS = 0* I_DAYS = 0* I_CALENDAR_DAYS = 0* I_SET_LAST_DAY_OF_MONTH = ' 'IMPORTINGe_log_op = x_log_op.* E_DATE =* E_FLG_END_OF_MONTH =* E_DAYS_OF_I_DATE =.p_months = -4. "前4月,如果为正,则是后面的日期CALL FUNCTION'MONTH_PLUS_DETERMINE'EXPORTINGmonths = p_monthsolddate = p_dateIMPORTINGNEWDATE = p_date.28.从数据库表中获得指定语言每周七天的名称:WEEKDAY_GET 函数模块的作用:输入参数:Language:指定语言代码,可以省略,为登录语言。
abap常用函数收集
abap常用函数收集一、单位换算call function 'Z_FICO_DWHS'EXPORTINGa_matnr = tab01-ymatnr "物料号码a_unit_from = 'PNL' "基本计量单位meinsa_unit_to = 'PC' "itab_fp-vrkme "销售单位IMPORTINGa_rate = tybrgew.二、 CONVERSION_EXIT_ALPHA_OUTPUT功能:删除输入的数字编号中的前置 0。
这个基本上不太用得到。
输入参数:INPUT:不限制类型,必须输入。
原始编号。
输出参数:OUTPUT:日期类型。
计算出的结果。
测试结果:如果 INPUT 输入为纯数字(就是只有 0~9 之间的字符),结果删除该数字的前置 0。
如果 INPUT 输入不为纯数字(就是包含 0~9 之外的字符),结果就跟输入值一样。
代码说明:调用了一个系统函数 CONVERSION_EXIT_ALPHA_OUTPUT,这个函数是 SAP 用 C 语言写的,仅供 SAP 公司内部使用,我们的开发时无法使用。
三、正确地使用SAP的标准对话框函数在用户设计sap的程序时,经常需要一些对话框,用户可以自己编写,但使用SAP系统中提供了的对话框函数将减少许多开发工作。
12.3.1. 将货币转成外部储存值CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL' EXPORTINGcurrency =amount_internal =IMPORTINGAMOUNT_EXTERNAL =exceptionsOTHERS = 1.12.3.2. 将货币转成内部CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_INTERNALEXPORTINGcurrency =amount_external =max_number_of_digits =IMPORTINGAMOUNT_INTERNAL =RETURN =exceptionsOTHERS = 1.12.3.3. 求汇率CALL FUNCTION 'CALCULATE_EXCHANGE_RATE'EXPORTINGDATE = ITAB1-INVDTFOREIGN_AMOUNT = ITAB1-AMTFOREIGN_CURRENCY = ITAB1-CURRLOCAL_AMOUNT = ITAB1-AMTNTD LOCAL_CURRENCY = 'NTD'TYPE_OF_RATE = 'M'IMPORTINGEXCHANGE_RATE = ITAB1-EXRAT* FOREIGN_FACTOR =* LOCAL_FACTOR =EXCEPTIONSNO_RATE_COMPUTABLE = 1NO_RATE_FOUND = 2RATE_TOO_BIG = 3* NO_FACTORS_FOUND = 4NO_SPREAD_FOUND = 5OTHERS = 6.CALL FUNCTION 'READ_EXCHANGE_RATE' EXPORTINGdate = eket-eindtforeign_currency = ekko-waerslocal_currency = 'NTD'type_of_rate = 'M'IMPORTINGexchange_rate = zexchange_rate FOREIGN_FACTOR =LOCAL_FACTOR =VALID_FROM_DATE =EXCEPTIONSno_rate_found = 1no_factors_found = 2no_spread_found = 3OTHERS = 4.1、sap的函数组列表和用途说明适用情况Function group提示用户将可能丢失数据SPO1提示用户对某个问题选择Yes或者NoSPO1提示用户将可能丢失数据, 并询问用户是否继续操作SPO1提示用户在多个操作中选择一个操作SPO2提示用户是继续当前操作或者取消当前操作SPO2提示用户输入数据 (可以根据一个表检查或者不检查输入值)SPO4将数据显示给用户SPO4将详细数据显示给用户SPO6从列表中选择数据 SP05用可滚动的对话框显示数据给用户STAB从视图或者数据表中打印数据STPR2、函数列表和说明2.1 SPO1的函数* POPUP_TO_CONFIRM_STEP* POPUP_TO_CONFIRM_WITH_MESSAGE类似POPUP_TO_CONFIRM_STEP,只是多三行的文本错误诊断提示。
ABAP常用的调用函数
Description 读取某个日期所在月的最后一天 计算某个日期加上天数之后的日期 计算某个日期加上几年几月几日后的日期 计算某个日期是星期几 计算某个日起是当年的第几周 检查字符串里只有数字还是字符的函数
本地文件的上传和下载 与POPUP有关的函数 执行Windows应用程序 读取现在屏幕Field的值 Proccess图标 发送邮件 输入内表或结构,返回field List 几秒钟之后执行程序
18
cl_abap_char_utilities=>form_feed 18 cl_abap_char_utilities=>horizontal_tab 19 DYNP_VALUES_READ 20 DYNP_VALUES_UPDATE 21 GET_GLOBAL_SYMBOLS 22 RPY_DYNPRO_READ 23 DY_GET_SET_FIELD_VALUE 24 RS_REFRESH_FROM_SELECTOPTIONS 25 DY_GET_FOCUS 26 BP_JOBLOG_READ 27 GET_JOB_RUNTIME_INFO 28 CLPB_EXPORT 29 CLPB_IMPORT 30 CONVERT_OTF 31 ABAP_DOCU_DOWNLOAD 32 ARFC_GET_TID 33 BAL_* 34 BP_EVENT_RAISE 35 F4IF_SHLP_EXIT_EXAMPLE 36 FTP_CONNECT 37 FTP_COMMAND 38 FTP_DISCONNECT 39 GET_INCLUDETAB 40 GUI_EXEC 41 GUI_GET_DESKTOP_INFO 42 GUI_RUN 43 HELP_START 44 K_WERKS_OF_BUKRS_FIND 45 POPUP_TO_CONFIRM_LOSS_OF_DATA
ABAP的一些常用函数用法
ABAP的⼀些常⽤函数⽤法1、ABS 绝对值2、ROUD:除了调⽤函数外,还有另⼀个⽤法:round( val = arg {dec = n}|{prec = n} [mode = m] )3、SUBSTRING:SUBSTRING( VAL = GS_STRING OFF = GI_FLAG - 1 LEN = 1 )1. substring( val = text [off = off] [len = len] ) ...2. substring_from( val = text {sub = substring}|{regex = regex}[case = case ] [occ = occ] [len = len] ) ...3. substring_after( val = text {sub = substring}|{regex = regex}[case = case ] [occ = occ] [len = len] ) ...4. substring_before( val = text {sub = substring}|{regex = regex}[case = case ] [occ = occ] [len = len] ) ...5. substring_to( val = text {sub = substring}|{regex = regex}[case = case ] [occ = occ] [len = len]) ...ExampleThe return codes of the following function calls are: "CD", "CDEFGH"., "EFGH"., "AB"., and "ABCD".DATA result TYPE string.result = substring( val = 'ABCDEFGH' off = 2 len = 2 ).result = substring_from( val = 'ABCDEFGH' sub = 'CD' ).result = substring_after( val = 'ABCDEFGH' sub = 'CD' ).result = substring_before( val = 'ABCDEFGH' sub = 'CD' ).result = substring_to( val = 'ABCDEFGH' sub = 'CD' ).ROUND 详细说明:EffectThis function rounds a decimal floating point number declared as an argument for the parameter val. A data object specified for arg is converted to the data type decfloat34 before the function is executed, if necessary.If the parameter dec is given a value, the value entered is rounded to the number of decimal places specified in n and returned. Data objects of type i is expected for n. The value of these data objects cannot be less than -6144. If a negative value is given, the relevant whole number place is rounded.If the parameter prec is given a value, the value entered is rounded to the specified in n and returned. Data objects of type i are expected for n. The value of these data objects must be greater than 0.A rounding can reduce and but cannot increase them. If dec is specified, the mantissa of the return code does not contain any zeros after the position where the rounding applies. If prec is specified, the input value is returned without being changed, if the specified precision is greater than or equal to the input value.You can use the mode parameter (optional) to set the rounding type. For m it is only possible to specify values that exist as ROUND_... constants in class . The following table shows the possible rounding rules. If mode is not given a value, commercial rounding is used. SUBSTRING 的详细使⽤说明:In the argument , the substring functions determine a substring and return it.The substring is determined as follows:The function substring uses the offset and the length to return a certain subrange. At least one of the two arguments off or len must be specified.The function substring_from scans text for the match (specified in ) with the character string specified in or with the specified in and returns the subrange of the length from the offset of the found location. If len is not specified, the substring is returned to the end of the character string. If substring is empty, an exception from the class CX_SY_STRG_PAR_VAL is raised. The search is case-sensitive by default, but you can override this with the parameter case. If no substring is found, the return code is empty.The function substring_after works in the same way as substring_from, but the subrange plus the length of the substring found is returned, from the offset of the found location.The function substring_before works in the same way as substring_from, but the subrange of the length is returned, before the offset of the found location. If len is not specified, the subrange is formed from the start of the character string.The function substring_to works in the same way as substring_before, but the subrange before the offset of the found location plus the length of the substring found is returned.The return code has the type string accordingly.NoteThe performance of the substring functions is not as good as a direct . They do, however, allow you to use in all operand positions.。
abap 常用函数
序号函数名说明备注1 CIF_GEN4_CONVERT_DATETIME 时间,日期转换成时间戳2 CIF_GEN4_CONVERT_TIMESTAMP 时间戳转换成时间,日期3 CONVERSION_EXIT_ALPHA_INPUT前导零函数4 CONVERSION_EXIT_ALPHA_OUTPUT取消前导零函数5 CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG打开目录选文件6 SAPGUI_PROGRESS_INDICATOR进度条7 SSF_FUNCTION_MODULE_NAME 获取samrtforms测试的函数名称8 SUSR_USER_AUTH_FOR_OBJ_GET 显示用户针对特定对象的授权9 F4_FILENAME 获取文件路径文件10 CL_GUI_FRONTEND_SERVICES=>FILE_EXIST 检查文件是否存在文件11 POPUP_TO_CONFIRM 标准对话弹出信息12 POPUP_TO_CONFIRM_STEP 弹框确认13 TEXT_CONVERT_XLS_TO_SAP EXCEL 转成SAP内容文件14 DATE_CHECK_PLAUSIBILITY检查是否为日期格式15 TIME_CHECK_PLAUSIBILITY检查是否为时间格式16 WEEK_GET_FIRST_DAY获取周的第一天17 SE16N_INTERFACE 操作数据库表18CONVERSION_EXIT_CUNIT_OUTPUT 内部单位转外部单位19 CONVERSION_EXIT_CUNIT_INPUT 外部单位转内部20CONVERSION_EXIT_MATN1_OUTPUT 物料去零21 CONVERSION_EXIT_MATN1_INPUT 物料加零22 CALL FUNCTION'BAPI_TRANSACTION_ROLLBACK'.BAPI 回滚23 CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT = 'X'.BAPI 提交24 SALP_SM_CALC_TIME_DIFFERENCE 计算两个时间的秒差值25 CALL METHOD CL_SYSTEM_UUID=>IF_SYSTEM_UUID_STATIC~CREATE_UUID_C32RECEIVINGUUID = GS_SORD_LOG-UUID.获取16位随机值转换例程。
ABAP语言的常用变量和常用函数
ABAP语言的常用变量和常用函数系统常用变量:SY-SUBRC 执行状态SY-DA TUM 服务器日期SY-UZEIT 服务器时间SY-INDEX 循环的次数(DO While)SY-TABIX 当前处理的表的IndexSY-LINSZ 当前报表宽度SY-UNAME 用户名SY-TCODE 当前的事务代码SY-LANGU 当前登录语言SY-BATCH 后台的程序运行SY-DYNNR 当前屏幕的编号SY-LINCT 当前报表长度SY-LSIND 列表索引页SY-LISTI 上一个列表的索引SY-LILLI 绝对列表中选定行的行号SY-CUCOL 屏幕,PAI 的水平光标位置SY-CUROW 屏幕,PAI 的垂直光标位置SY-CPAGE 列表的当前显示页SY-STARO 真实行号SY-LISEL 选择行的容,长度为255SY-LINNO 当前行SY-PAGNO 当前页号SY-SLSET 选择屏幕的变式名称SY-MSGID 消息, 消息类SY-MSGTY 消息,消息类型SY-MSGNO 消息, 消息编号SY-MSGV1 消息,消息变量1SY-MSGV2 消息,消息变量2SY-MSGV3 消息,消息变量3SY-MSGV4 消息,消息变量4SY-VLINE 垂直线SY-ULINE 水平线SY-ABCDE 常量,A-Z字母表SY-UCOMM 屏幕,PAI 触发的功能代码系统常用函数21. SHIFT STRING:左移字符串。
长度减1。
22 CONCATENATE 字符合并23. SPLIT:拆分字符串。
24. SEARCH:查询字符串。
25. REPLACE:替换字符串。
26. CONDENSE:删除多余的空格。
27. TRANSLATE:转换字符格式,如将'ABC'转换为'ABC'28. CONVERT TEXT:创建一个可排序的字符串。
29. OVERLAY:用一个字符串覆盖另一个字符串。
SAPABAP函数总结常用函数解释
SAPABAP函数总结常用函数解释1.CONCATENATE:该函数用于连接多个字符串。
它可以将两个或多个字符串连接在一起,并生成一个新的字符串。
2.REPLACE:REPLACE函数用于将一个字符串中的一些字符替换成其他字符。
开发人员可以指定要替换的字符以及替换后的字符。
3.SPLIT:SPLIT函数用于将一个字符串分割成一个内部表。
开发人员可以指定分隔符,并且可以将分隔后的子字符串存储在一个内部表中。
4.STRLEN:STRLEN函数用于获取一个字符串的长度。
它返回字符串中字符的数量。
5.CONDENSE:CONDENSE函数用于去掉一个字符串中的多余空格。
它会去掉字符串开头和结尾的空格,并将连续的多个空格替换成一个空格。
6.CONVERT:CONVERT函数用于在不同的字符集之间进行转换。
它可以将一个字符串从一种字符集转换成另一种字符集。
7.TRANSLATE:TRANSLATE函数用于将一个字符串中的一些字符替换成其他字符。
它可以将一个字符集中的字符映射到另一个字符集中的字符。
8.TO_UPPERCASE:TO_UPPERCASE函数用于将一个字符串中的所有字符转换为大写形式。
9.TO_LOWERCASE:TO_LOWERCASE函数用于将一个字符串中的所有字符转换为小写形式。
10.SHIFT:SHIFT函数用于将一个字符串中的字符向左或向右移动。
它可以将字符串中的所有字符向左或向右移动指定的数量。
11.STRIP:STRIP函数用于去掉一个字符串中的多余字符。
开发人员可以指定要去掉的字符,并将被去掉的字符替换成指定的字符。
12.NUMERIC_CHECK:NUMERIC_CHECK函数用于检查一个字符串是否只包含数字字符。
它可以用于验证用户输入的数据是否为数字。
13.CURRENCY_CONVERSION:CURRENCY_CONVERSION函数用于将一个金额从一种货币转换为另一种货币。
一些我工作中经常使用的ABAP新语法和函数,关键字,可以提高工作效率
一些我工作中经常使用的ABAP新语法和函数,关键字,可以提高工作效率我平时工作积累下来的一些代码小片段。
(1) 直接批量生成数据到ABAP内表里:* 2017-05-14 7:17PM in Xun's house, WieslochINSERT demo_join1 FROM TABLE @( VALUE #(( a = 'a1' b = 'b1' c = 'c1' d = 'uu' )( a = 'a2' b = 'b2' c = 'c2' d = 'uu' )( a = 'a3' b = 'b3' c = 'c3' d = 'vv' )( a = 'a4' b = 'b4' c = 'c4' d = 'ww' ) ) ).(2) 采用内联方式遍历ABAP内表:DATA address_annos TYPE STANDARD TABLE OF field_anno-annonameWITH EMPTY KEY.address_annos = VALUE #(( '.FULLNAME' )( 'SEMANTICS.ADDRESS.STREET' )( 'SEMANTICS.ADDRESS.CITY' )( 'SEMANTICS.ADDRESS.ZIPCODE' )( 'SEMANTICS.ADDRESS.COUNTRY' ) ).DATA address_components TYPE STANDARD TABLE OF field_anno-fieldnameWITH EMPTY KEY.address_components = VALUE #(FOR address_anno IN address_annos( VALUE #( fieldannos[ annoname = address_anno ]-fieldnameDEFAULT '---' ) ) ).(3) 两个内表间数据的复制,两个内表的列结构可以不同,开发人员需要额外传入一个映射表,告诉corresponding关键字,源内表的哪一列应该赋到目标内表的哪一列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
博客:/u2/64908/article_85516.html常用的系统变量如下:1. SY-PAGNO当前页号2. SY-DATUM当前时间3. SY-LINSZ当前报表宽度4. SY-LINCT当前报表长度5. SPACE空字符6. SY-SUBRC执行状态为0,表示成功.7. SY-UNAME 用户名8. SY-UZEIT当前时间9. SY-TCODE当前的事务代码10. SY-LSIND列表索引页11. SY-LISTI上一个列表的索引12. SY-LILLI绝对列表中选定行的行号13. SY-CUROW屏幕上的行14. SY-CUCOL光标列15. SY-CPAGE列表的当前显示页16. SY-STARO真实行号17. SY-LISEL选择行的内容,长度为25518. SY-LINNO当前行19. SY-INDEX:做无条件循环是的次数值.20. SY-FDPOS:子字符串在源串中的位置。
系统常用函数21. SHIFT STRING:左移字符串。
长度减1。
22 CONCATENATE 字符合并23. SPLIT:拆分字符串。
24. SEARCH:查询字符串。
25. REPLACE:替换字符串。
26. CONDENSE:删除多余的空格。
27. TRANSLATE:转换字符格式,如将'ABC'转换为'ABC'28. CONVERT TEXT:创建一个可排序的字符串。
29. OVERLAY:用一个字符串覆盖另一个字符串。
30. STRLEN:字符串长度。
31. ABS:取绝对值。
32. COS、SIN、TAN:取三角函数值。
33. ACOS、ASIN、A TAN:反三角函数。
34. COSH、SINH、TANH:双曲函数。
35. EXP:E的幂函数。
36. LOG:底数为E的对数。
37. LOG10:底数为10的对数。
38. SQRT:平方根。
39. SIGN:返回参数符号。
40. TRUNC:返回参数的整数部分。
41. FRAC:输入参数的小数部分。
42. CEIL:返回不小于参数的最小整数。
43. FLOOR:返回不大于参数的最小整数WS_DOWNLOAD :下载表格到本地文件可能没有类的方法高效RP_LAST_DAY_OF_MONTHS:取月的最后一天UNIT_CONVERSION_SIMPLE:单位换算WS_FILENAME_GET:呼叫open dialog的方式C14B_ADD_TIME:加时间到某年某日BAPI_CURRENCY_CONV_TO_INTERNAL:将货币转成内部存储值BAPI_CURRENCY_CONV_TO_EXTERNAL:将货币转成外部储存值CONVERSION_EXIT_ALPHA_OUTPUT:将数字前的0都去除NUMERIC_CHECK:判断是否为数字SPELL_AMOUNT :将数字转化成文字TMP_GUI_FILE_OPEN_DIALOG 调用选择文件对话框ALSM_EXCEL_TO_INTERNAL_TABLE Excel数据到内部表CA TS_NUMERIC_INPUT_CHECK:数值检查sy-index:做无条件循环是的次数值.sy-subrc:系统执行后的返回值,如果为0就表示成功,否则为失败。
sy-fdpos:子字符串在源串中的位置。
sy-uzeit:获取系统时间。
sy-datum:获取系统日期。
shift string:左移字符串。
长度减1。
concatenate:连接字符串。
split:拆分字符串。
search:查询字符串。
replace:替换字符串。
condense:删除多余的空格。
translate:转换字符格式,如将'ABC'转换为'abc'convert text:创建一个可排序的字符串。
overlay:用一个字符串覆盖另一个字符串。
strlen:字符串长度。
abs:取绝对值。
cos、sin、tan:取三角函数值。
acos、asin、atan:反三角函数。
cosh、sinh、tanh:双曲函数。
exp:e的幂函数。
Log:底数为e的对数。
log10:底数为10的对数。
sqrt:平方根。
sign:返回参数符号。
trunc:返回参数的整数部分。
frac:输入参数的小数部分。
ceil:返回不小于参数的最小整数。
floor:返回不大于参数的最小整数。
函数名描述CONVERSION_EXIT_ALPHA_INPUT 料号前面补0CONVERSION_EXIT_ALPHA_OUTPUT 料号前面减0CONVERSION_EXIT_MATN1_INPUT 料号前面补0CONVERSION_EXIT_MATN1_OUTPUT 料号前面减0LAST_DAY_OF_MONTHS 查询某日期的在当月的最后一天CO_SF_CAUFVD_GET 根据工单号查询订单抬头和项目SO_NEW_DOCUMENT_ATT_SEND_API1 外发邮件VIEW_MAINTENANCE_CALL 调用数据表的维护视图SO_OBJECT_SEND 外发邮件函数名CONVERSION_EXIT_ALPHA_INPUT功能:料号前面补0,实例:CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "料号前面加0” EXPORTINGinput = matnr_inIMPORTINGoutput = matnr_out.说明:1)数字料号入Table需要补0,不会自动产生,有字母料号却会自动补0. 2)只能用‟字符型‟CONVERSION_EXIT_MATN1_INPUT功能:料号前面补0实例:CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT' "料号前面补0” EXPORTINGinput = matnr_inIMPORTINGoutput = matnr_outEXCEPTIONSlength_error = 1OTHERS = 2.说明: 1)数字料号入Table需要补0,不会自动产生,有字母料号却会自动补0.2)只能用于料号转换CONVERSION_EXIT_ALPHA_OUTPUT功能:料号前面去0实例:CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' "料号前面去0. EXPORTINGinput = wa_ysy1-matnrIMPORTINGoutput = wa_ysy1-matnr.说明:CONVERSION_EXIT_MATN1_OUTPUT功能:料号前面去0实例:CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTINGinput = t_afpo-matnrIMPORTINGoutput = t_afpo-matnrEXCEPTIONSOTHERS = 1.说明:LAST_DAY_OF_MONTHS功能:查询某日期的在当月的最后一天CALL FUNCTION 'LAST_DAY_OF_MONTHS'EXPORTINGday_in = f_date "月任意一天类型必须为D(要完成日期## IMPORTINGlast_day_of_month = p_date "月最后一天类型必须为D(完整日期)EXCEPTIONSday_in_no_date = 1OTHERS = 2.说明:CO_SF_CAUFVD_GET功能: 根据工单号查询订单抬头和项目实例:DATA: wa_caufvd TYPE caufvd.CALL FUNCTION 'CO_SF_CAUFVD_GET'"取得订单抬头和项目EXPORTINGaufnr_imp = aufnrIMPORTINGcaufvd_exp = wa_caufvd “订单抬头和项目结构EXCEPTIONSnot_found = 1OTHERS = 2.说明:SO_NEW_DOCUMENT_ATT_SEND_API1功能:邮件发送SAPoffice: Send new document with attachments using RFC 实例:FORM email_itab. “邮件内容“WRITE: '编号' TO email_itab-line+0(3), "255个长度的文本字段:文本"'记帐日期' TO email_itab-line+3(10),ENDFORM. "email_itabFORM reset_objpack .it_packing_list-transf_bin = space. "标记将以二进制形式传输对象的标志"it_packing_list-head_start = 0."表头开始行"it_packing_list-head_num = 1. "表头行数"it_packing_list-body_start = 1."内容开始行"it_packing_list-body_num = it_message_lines. "内容行数"it_packing_list-doc_type = 'RAW'. "信息类型"APPEND it_packing_list.ENDFORM. "reset_objpackFORM reset_doc_chng .DESCRIBE TABLE email_itab LINES it_message_lines.gd_doc_data-doc_size = it_message_lines * 255 + STRLEN( email_itab ). "SAPoffice 文档的大小" gd_doc_data-obj_langu = sy-langu. "创建文档使用的语言"gd_doc_data-obj_name = 'SAPRPT'. "文档,文件夹或分配清单的名称"gd_doc_data-obj_descr = '邮件标题'. "Email标题"gd_doc_data-sensitivty = 'F'. "对象:灵敏度(个人的,功能的,...) F:功能"ENDFORM. "reset_doc_chngFORM reset_reclist .SELECT zmaaddrINTO it_receivers-receiverFROM ziebtemail.it_receivers-rec_type = 'U'. "互联网地址APPEND it_receivers.CLEAR it_receivers.ENDSELECT.ENDFORM. "reset_reclistDATA: gd_doc_data LIKE sodocchgi1,gd_sent_all(1) TYPE c,it_message_lines TYPE sy-tabix,it_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,it_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE.DATA: BEGIN OF email_itab OCCURS 10.INCLUDE STRUCTURE soli.DATA: END OF email_itab.PERFORM email_itab. "TABLES OUTPUT_TAB.PERFORM reset_doc_chng.PERFORM reset_reclist.PERFORM reset_objpack.CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'EXPORTINGdocument_data = gd_doc_data “新文档的属性”PUT_IN_OUTBOX = 'X' “标志:发送后将文档移到outbox* COMMIT_WORK = ' '* IMPORTINGSENT_TO_ALL = gd_sent_all “Flag: Document sent to all”* NEW_OBJECT_ID = ID of created object (not document!)tablespacking_l ist = it_packing_list “SAPoffice:输入对象组件描述”* OBJECT_HEADER =* CONTENTS_BIN =* CONTENTS_TXT =* CONTENTS_HEX =* OBJECT_PARA =* OBJECT_PARB =receivers = email_itab”SAPoffice:API 收件人清单的结构”* EXCEPTIONS* TOO_MANY_RECEIVERS = 1* DOCUMENT_NOT_SENT = 2* DOCUMENT_TYPE_NOT_EXIST = 3* OPERATION_NO_AUTHORIZATION = 4* PARAMETER_ERROR = 5* X_ERROR = 6* ENQUEUE_ERROR = 7* OTHERS = 8.IF sy-subrc <>0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.说明:VIEW_MAINTENANCE_CALL功能:调用数据表的维护视图实例:CALL FUNCTION 'VIEW_MAINTENANCE_CALL'EXPORTINGaction = 'U' “活动(显示/维护/传输)”* CORR_NUMBER = ' '* GENERATE_MAINT_TOOL_IF_MISSING = ' '* SHOW_SELECTION_POPUP = ' 'view_name = 'ZIEBTEMA IL' “要处理的视图/表格的名称”* NO_WARNING_FOR_CLIENTINDEP = ' '* RFC_DESTINATION_FOR_UPGRADE = ' '* CLIENT_FOR_UPGRADE = ' '* VARIANT_FOR_SELECTION = ' '* COMPLEX_SELCONDS_USED = ' '* CHECK_DDIC_MAINFLAG = ' '* SUPPRESS_WA_POPUP = ' '* TABLES* DBA_SELLIST =* EXCL_CUA_FUNCT =* EXCEPTIONS* CLIENT_REFERENCE = 1* FOREIGN_LOCK = 2* INVALID_ACTION = 3* NO_CLIENTINDEPENDENT_AUTH = 4* NO_DATABASE_FUNCTION = 5* NO_EDITOR_FUNCTION = 6* NO_SHOW_AUTH = 7* NO_TVDIR_ENTRY = 8* NO_UPD_AUTH = 9* ONLY_SHOW_ALLOWED = 10* SYSTEM_FAILURE = 11* UNKNOWN_FIELD_IN_DBA_SELLIST = 12* VIEW_NOT_FOUND = 13* MAINTENANCE_PROHIBITED = 14* OTHERS = 15.IF sy-subrc <>0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.说明:SO_OBJECT_SEND功能:外发邮件实例:REPORT ztmail02 .DATA: BEGIN OF itab OCCURS 0,pernr LIKE pa0001-pernr,ename LIKE pa0001-ename,END OF itab.DATA: message_content LIKE soli OCCURS 10 WITH HEADER LINE, receiver_list LIKE soos1 OCCURS 5 WITH HEADER LINE,packing_list LIKE soxpl OCCURS 2 WITH HEADER LINE,listobject LIKE abaplist OCCURS 10,compressed_attachment LIKE soli occurs 100 WITH HEADER LINE,w_object_hd_change LIKE sood1 occurs 100 WITH HEADER LINE, compressed_size LIKE sy-index.START-OF-SELECTION.SELECT pernr enameINTO CORRESPONDING FIELDS OF TABLE itabFROM pa0001WHERE pernr <50.LOOP AT itab.WRITE: /02 sy-vline, itab-pernr, 15 sy-vline, itab-ename, 50sy-vline.ENDLOOP.*receiversreceiver_list-recextnam = 'shuchang@'. “直接外部地址作为接收方” receiver_list-recesc = …U‟. “收件人类型的说明; U 互联网地址”receiver_list-sndart = …MAIL'. “输出设备; MAIL 邮件”receiver_list-sndpri = '1'. “发送:优先级; 1 最高优先权”APPEND receiver_list.*general dataw_object_hd_change-objla = sy-langu. “创建文档使用的语言”w_object_hd_change-objnam = 'Object name'. “文档,文件夹或分配清单的名称”w_object_hd_change-objsns = 'F'. “对象:灵敏度(个人的,功能的,...)” F: 功能w_object_hd_change -OBJDES = …Message subject‟. “Mail的标题”APPEND w_object_hd_change.*contentmessage_content-line = 'Message content'. “发送的内容”APPEND message_content.CALL FUNCTION 'SO_OBJECT_SEND'EXPORTINGobject_hd_change = w_object_hd_change “通常头数据”object_type = 'RAW' “对象类型”OUTBOX_FLAG = 'X' “标志:发送后将文档移到outboxowner = sy-uname “负责传送的用户”TABLESobjcont = message_content “发送的内容”receivers = receiver_list “接收对象属性”att_cont = compressed_attachment.。