本文主要记录一些收集来的BAPI

在SE38环境下的程序名输入栏

  • 输入 DEMO 后按 F4,你可以查到 SAP 所有的 DEMO 示例程序,会学到很多 ABAP 功能的实现方法

  • 输入 BCALV 后按 F4,你可以查到很多 ALV 示例程序 。

函数名 描述

 CONVERSION_EXIT_ALPHA_INPUT   数字串前补0
 CONVERSION_EXIT_ALPHA_OUTPUT  消除数字串前的0
 TERMINAL_ID_GET    获得端末id
 TH_USER_INFO       获得当前用户的信息 (会话登陆的工作台等)
 BKK_GET_MONTH_LASTDAY         根据日期获取当前月的最后一天 
 CONVERSION_EXIT_CUNIT_OUTPUT  单位转换
 SJIS_DBC_TO_SBC    全角转半角
 SJIS_SBC_TO_DBC    半角转换为全角
 CO_R0_CHECK_DECIMAL_POINT     根据单位检查数据的小数位
 CONVERSION_EXIT_MATN1_INPUT   物料号码转换函数
 CONVERSION_EXIT_MATN1_OUTPUT  同上相反
 CONVERT_TO_LOCAL_CURRENCY     按照指定日期汇率转换金额为指定货币类型
 SSF_FUNCTION_MODULE_NAME      根据form名取得对应的函数名(SmartForm) 
 K_WERKS_OF_BUKRS_FIND         返回一个特定公司代码的所有工厂
 DATE_CHECK_PLAUSIBILITY       日期CHECK
 DATE_GET_WEEK      返回一个日期所在的周数 
 MONTH_NAMES_GET    获得所有的月和名字
 RP_CALC_DATE_IN_INTERVAL      年月日加减
 SD_DATETIME_DIFFERENCE        两日期作差 
 RP_LAST_DAY_OF_MONTHS         获得一个月的最后一天
 DATE_CHECK_PLAUSIBILITY       检查一个日期是否是SAP的有效格式
 HOLIDAY_GET        基于Factory Calendar&/ Holiday Calendar
 SAPGUI_PROGRESS_INDICATOR	    显示一个进度条 
 CLOI_PUT_SIGN_IN_FRONT        将负号前置 SAP默认将负号放在数字后面
 TH_USER_LIST       显示登陆到应用服务器的用户列表
 UNIT_CONVERSION_SIMPLE        衡量单位转换
 SXPG_COMMAND_CHECK            检查用户是否有执行某个命令的权限
 SXPG_COMMAND_EXECUTE          检查用户是否有执行某个命令的权限拥有授权则执行命令
 FILENAME_GET       弹出一个文件选择对话框
	DATA out(60) TYPE c.
	 CALL FUNCTION 'FILENAME_GET'  
	 EXPORTING    
		filename = 'c:/1.txt'    
		title = 'GET FILENAME'  
	  IMPORTING   
		filename = OUT.
 GET_JOB_RUNTIME_INFO          获得job相关信息
 BP_JOBLOG_READ                获得job log的执行结果
 DATE_CONVERT_TO_FACTORYDATE   把输入日期转为工厂日历日期
 VIEW_MAINTENANCE_CALL         维护表视图 

函数名 描述

 BAPI_TRANSACTION_COMMIT   COMMIT WORK AND WAIT.
 BAPI_TRANSACTION_ROLLBACK ROLLBACK WORK.
 SD_VBAP_READ_WITH_VBELN   根据销售订单读取表vbap中的信息
 EDIT_LINES                把READ_TEXT返回的LINES中的行按照TDFORMAT=*重新组织
 DY_GET_FOCUS              获得屏幕焦点 
 DY_GET_SET_FIELD_VALUE    获得或者设置屏幕字段的值 
 F4IF_INT_TABLE_VALUE_REQUEST 显示检索help 
 READ_TEXT            读取长文本
 INIT_TEXT           上传长文本到SAP
 POSTAL_CODE_CHECK   检查邮政编码 
 MESSAGE_TEXT_BUILD  把消息转为文本 
 POPUP_TO_CONFIRM    弹出确认窗口 

函数名 描述

 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 程序中触发一个事件
 CLPB_EXPORT 		    从内表导入到剪贴板
 CLPB_IMPORT 		    从剪贴板导入内表
 COMMIT_TEXT 		    To load long text into SAP 
 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.

函数名 描述

 DYNP_VALUES_READ 	           读取SCREEN字段的值也可以用来读取报表SELECTION SCREEN
 DYNP_VALUES_UPDATE		  更新屏幕字段的值 
 ENQUE_SLEEP 				   在继续处理之前等待一个指定的时间
 ENQUEUE_ESFUNCTION 	      	锁定一个ABAP程序使它不可以被执行 注意不要用SY-REPID来传递你的报表名
 EPS_GET_FILE_ATTRIBUTES 		获得文件属性
 EPS_GET_DIRECTORY_LISTING 	返回一个本地或网络目录的文件列表
 F4_DATE 				弹出一个窗口显示一个日历允许用户选择一个日期
 F4IF_SHLP_EXIT_EXAMPLE 		F4接口模块
 FTP_CONNECT    	     打开并登陆FTP服务器的连接
 FTP_COMMAND    	     在FTP服务器上执行一个命令
 FTP_DISCONNECT 	     关闭指向FTP服务器的连接
 FORMAT_MESSAGE 	     获取消息ID和数字并将其放入变量
 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		     为一个字段显示帮助
 LIST_TO_ASCII 	    将ABAP报表从 OTF形式转换成ASCII 形式
 LIST_FROM_MEMORY	    将内容列表输出到内存,参照WRITE_LIST
 MS_EXCEL_OLE_STANDARD_OLE      创建一个文件并自动启动Excel 
 CONVERT_OTFSPOOLJOB_2_PDF      将OTF假脱机转换为PDF(Sap脚本文档)
 CONVERT_ABAPSPOOLJOB_2_PDF     将ABAP假脱机输出转换为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_DECIDEPOPUP_TO_DISPLAY_TEXT  显示多行信息的窗口
 POPUP_TO_SELECT_MONTH   	   弹出一个对话框供选择月
 POPUP_WITH_TABLE_DISPLAY 	   提供一个表的显示供用户选择一个选中时返回的表行的值
 PRICING 		获得定价条件
 PROFILE_GET 	从INI文件读取一条记录
 PROFILE_SET 	往INI文件写一条记录
 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 返回所有相关的组织信息
 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因此避免了授权检查
 SCROLLING_IN_TABLE		   当编写模块池的时候可以用它来处理滚动
 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命令的定义
 TH_DELETE_USER		 	剔除一个用户效果同SM04
 TH_ENVIRONMENT			获得UNIX环境
 TH_POPUP				在特定用户屏幕上显示一个系统消息
 TH_REMOTE_TRANSACTION		 在远程服务器上运行事务代码
 UPLOAD 		上传文件到显示服务器
 UPLOAD_FILES 	        传一个或多个文件
 WRITE_LIST		显示一个列表对象
 WS_DOWNLOAD	        将内表下载到显示服务器
 WS_EXCEL		启动EXCELWS_EXECUTE 执行一个程序
 WS_FILE_DELETE	删除一个文件
 WS_FILENAME_GET       调用文件选择对话框
 WS_MSG		显示一个对话框显示在线消息
 WS_UPLOAD		从显示服务器上传文件到内表
 WS_VOLUME_GET 	获得终端设备标签
 WWW_LIST_TO_HTML      运行一个报表之后调用这个方法将列表输出转换成HTML
 DATE_CONVERT_TO_FACTORYDATE	  把输入日期转为工厂日历日期
 MESSAGE_TEXT_BUILD 	          把消息转为文本
 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	   将ABAP文档以HTML格式下载
 GET_CURRENT_YEAR		 得到当前的财政年fiscal year 察看某日期的属性包括该日期是星期几第几天
						 2=2是不是公共假期等需要输入国家日历
 DAY_ATTRIBUTES_GET 	  返回有关一天的有用信息 会告诉你星期几作为一个单词星期几是否是假日等等
 REUSE_ALV_VARIANT_DEFAULT_GET 	读取默认的布局 
 REUSE_ALV_VARIANT_EXISTENCE 	  检测指定布局是否存在 
 REUSE_ALV_VARIANT_F4 			 显示布局格式选择对话窗. 具体可参考BALVST02_GRID程序