SAP中的一些FUNCTION应用

单位转换

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = g_t_result-gmein
* LANGUAGE = SY-LANGU
IMPORTING
* LONG_TEXT =
output = g_t_result-gmein
* SHORT_TEXT =
EXCEPTIONS
unit_not_found = 1
OTHERS = 2.

判断某个字段里是否含有非数字字符

DATA:BB TYPE I.

*PARAMETERS P_CHAR(20) TYPE C.

CATCH SYSTEM-EXCEPTIONS CONVERSION_ERRORS = 1.

MOVE as_str TO BB.

ENDCATCH.

*WRITE :/ P_CHAR , BB.

IF SY-SUBRC = 1 .

* WRITE '这不是个数字'.

as_isnumber = ''.

ELSE.

* WRITE '这是个数字的字符'.

as_isnumber = 'X'.

ENDIF.

*********************

I18N:解决SMARTFORMS的不能从Field name 那边直接把变量拖入右边编辑框

事务码i18n中I18N CUSTOMIZING->ms word as editor把勾去了就可以了

********SAP中常用函数

函数名 描述
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 MONDAY 2008.01.07 SUNDAY 2008.01.13

FM:DAY_IN_WEEK(输入日期是星期几)

输入参数 值
DATUM 2008.01.09

输出参数 值
WOTNR 3


*更多关于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.

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/90072/viewspace-1046077/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/90072/viewspace-1046077/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.NET 4.0 是微软公司开发的一种应用程序框架。它提供了开发和运行多种类型应用程序的环境,包括 Web 应用程序、服务、Windows 应用程序等。它是微软所提供的一种全面的开发平台,并提供了丰富的类库和工具,支持多种编程语言,如C#、VB.NET等。.NET 4.0 可以帮助开发人员快速、高效地开发应用程序,并提供了良好的可扩展性和性能。 SAP RFC 是SAP(系统、应用与产品)公司提供的一种远程功能调用接口(Remote Function Call)。它允许外部系统通过远程方式与SAP应用程序进行通信和交互。通过SAP RFC,外部系统可以调用SAP应用程序的功能模块,并传输相关的数据。这样,外部系统可以与SAP系统集成,实现数据的共享和交换。同时,SAP RFC也可以用于在SAP系统内部进行模块之间的通信。 .NET 4.0 和 SAP RFC 可以结合使用,以实现.NET应用程序与SAP系统之间的集成。通过.NET 4.0所提供的丰富功能和灵活性,可以使用.NET编程语言(如C#)开发用于与SAP系统进行通信和交互的应用程序。同时,通过使用SAP RFC,可以调用SAP系统的功能,并在.NET应用程序处理相关的数据。这样,可以实现.NET应用程序与SAP系统之间的数据共享和交换,实现系统间的无缝集成。 总之,.NET 4.0 是一种开发框架,用于开发各种类型的应用程序,而SAP RFC 则是用于实现与SAP系统的远程通信的接口。两者可以结合使用,实现.NET应用程序和SAP系统之间的数据共享和交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值