ABAP常用函数总结

ABAP-CPI-Odata POST-create_deep_entity 多层嵌套的处理及CPI端的调用 ABAP-CPI-Odata-POST-Create deep entity 阅读详情

函数名 描述

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

utput = 0000000000000。。。000000000000123

CONVERSION_EXIT_ALPHA_OUTPUT – 消除数字串前的0

example:

input = 00000000000123

utput = 123

CONVERT_OTF – 将SAP文档(SAP Script)转换成其他类型。

example:

CALL FUNCTION ‘CONVERT_OTF’

EXPORTING

FORMAT = ‘PDF’

IMPORTING

BIN_FILESIZE = FILE_LEN

TABLES

TF = OTFDATA

LINES = PDFDATA

EXCEPTIONS

ERR_MAX_LINEWIDTH = 1

ERR_FORMAT = 2

ERR_CONV_NOT_POSSIBLE = 3

THERS = 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

在SE38环境下的程序名输入栏输入’DEMO*’后按F4,你可以查到SAP所有的DEMO示例程序,会学到很多ABAP功能的实现方法,输入’BCALV*’后按F4,你可以查到很多ALV示例程序

函数名 描述

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

utput = 0000000000000。。。000000000000123

CONVERSION_EXIT_ALPHA_OUTPUT – 消除数字串前的0

example:

input = 00000000000123

utput = 123

CONVERT_OTF – 将SAP文档(SAP Script)转换成其他类型。

example:

CALL FUNCTION ‘CONVERT_OTF’

EXPORTING

FORMAT = ‘PDF’

IMPORTING

BIN_FILESIZE = FILE_LEN

TABLES

TF = OTFDATA

LINES = PDFDATA

EXCEPTIONS

ERR_MAX_LINEWIDTH = 1

ERR_FORMAT = 2

ERR_CONV_NOT_POSSIBLE = 3

THERS = 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

在SE38环境下的程序名输入栏输入’DEMO*’后按F4,你可以查到SAP所有的DEMO示例程序,会学到很多ABAP功能的实现方法,输入’BCALV*’后按F4,你可以查到很多ALV示例程序

星期五, 03月 4th, 2011

如果我们找BAPI可以通过SAP标准事物代码:BAPI查询到已经释放的BAPI.

如果只知道事物代码,可以通过下面的方式查询相应的BAPI.

例如我们找创建销售订单的BAPI 我们知道事物代码是VA01.

1、 我们进入VA01 界面,找到system –> status

2、 在事物代码位置上双击,找到PACKAGE VA

3、 用SE80打开包 VA

4、 打开业务工程—》业务对象类型。根据我们的业务需求。我们要找销售订单的创建,所有BUS2032 销售订单 的可能性最大。

5、 双击 BUS2032 打开方法 ,寻找和创建销售订单名字相同的方法 这里我们要找的就是SalesOrder.CreateFromDat2。将光标定位在 这个一行 点击 上面的程序 按钮。 即可看见程序源代码找到 ‘BAPI_SALESORDER_CREATEFROMDAT2。同样的我们可以看到修改订单的BAPI.删除的BAPI,我们也可以使用同样的方法找找。

6、 同样我们可以双击SalesOrder.CreateFromDat2 行 ,在弹出的窗口中找到 ABAP 子屏幕。如果单选按钮是 API功能 ,名称一栏即为我们要找BAPI.,如果是函数模块即为一个FM,如下图:
根据T-CODE找BAPI - 花刺 - 我的点点滴滴
7、 通过包我们也可以找到该包下所有的程序和函数组。

星期三, 12月 22nd, 2010

ABAP日期函数(求月末日,第几周,search help 只显示年月) 使用方法实例 计算两个日期间的工作天数,就是剔除了双休日后的天数.( 待考证)
DATE_CONVERT_TO_FACTORYDATE
HR_HK_DIFF_BT_2_DATES

根据当前时间如何找到上月的第一天和最后一天?
CALL FUNCTION ‘FIMA_DATE_CREATE’
EXPORTING
I_DATE = SY-DATUM
I_MONTHS = ‘-1′
I_SET_LAST_DAY_OF_MONTH = ‘X’
IMPORTING
E_DATE = LASTDATE.
LASTDATE是上个月最后一天。
FIRSTDAY是上月第一天
CONCATENATE LASTDATE+0(6) ‘01′ INTO FIRSTDAY.。
当天是当年的第几周
DATE_GET_WEEK
得到该周第一天
WEEK_GET_FIRST_DAY
查找当前月份以前的月份(比如现在是4月份,如果我需要知道6个月之前是哪个月)
CCM_GO_BACK_MONTHS
RP_CALC_DATE_IN_INTERVAL
获取两日期之间天数函数:
FIMA_DAYS_AND_MONTHS_AND_YEARS
取得当月的第一天和最后一天
CONCATENATE sy-datum(6) ‘01′ INTO so_date-low.
CALL FUNCTION ‘BKK_GET_MONTH_LASTDAY’
EXPORTING
i_date = sy-datum
IMPORTING
e_date = so_date-high.
so_date-sign = ‘I’. so_date-option = ‘BT’. APPEND so_date.
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      返回一个日期所在的周数。
CALL FUNCTION ‘HR_99S_INTERVAL_BETWEEN_DATES’”获得两个日期的年数
EXPORTING
begda = gdat
endda = sy-datum
IMPORTING
c_years = l_age.

关于星期(周)的函数
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.
F4_CLOCK 选择时间
*需求:只有显示年月,但要有日期的search help
PARAMETERS:p1(6)TYPEc.
ATSELECTION-SCREENONVALUE-REQUESTFORp1.
DATA:l_dateTYPEsy-datum.
CALLFUNCTION’F4_DATE’
EXPORTING
date_for_first_month = sy-datum
IMPORTING
select_date = l_date
EXCEPTIONS
calendar_buffer_not_loadable =1
date_after_range =2
date_before_range =3
date_invalid =4
factory_calendar_not_found =5
holiday_calendar_not_found =6
parameter_conflict =7
OTHERS =8.
IFsy-subrc 0.
MESSAGEIDsy-msgidTYPEsy-msgtyNUMBERsy-msgno
WITHsy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
p1 = l_date+0(6).
* check plausibilty of dates
CALL FUNCTION ‘DATE_CHECK_PLAUSIBILITY’
EXPORTING
DATE = bkdf-dbbdt.
TIME_CHECK_PLAUSIBILITY 判断是不是时间
GET_CURRENT_YEAR
得到当前的财政年(fiscal year)

察看某日期的属性,包括该日期是星期几,第几天(周2=2),是不是公共假期等,需要输入国家日历。

DAY_ATTRIBUTES_GET
判断某天是否是假日
HOLIDAY_CHECK_AND_GET_INFO
POPUP_TO_SELECT_MONTH 月份选择窗口
比较日期和时间
TYPE-POOLS : TRFF .
DATA : X_LOG_OP TYPE TRFF_TYPE_C_2 .
CALL FUNCTION ‘FIMA_DATE_COMPARE’
EXPORTING
I_FLG_INTRADAY = ‘X’
I_DATE = SY-DATUM
I_TIME = SY-UZEIT
I_COMP_DATE = L_MODIFY-MODDATE
I_COMP_TIME = L_MODIFY-MODTIME
IMPORTING
E_LOG_OP = X_LOG_OP.
p_months = -4.”前4月,如果为正,则是后面的日期

CALL FUNCTION ‘MONTH_PLUS_DETERMINE’
EXPORTING
MONTHS = p_months
OLDDATE = p_date
IMPORTING
NEWDATE = p_date.
获得某个日期所在的周,获得某周的第一天。

DATE_GET_WEEK 和 WEEK_GET_FIRST_DAY
function date_get_week.
*”———————————————————————-
*”*”Lokale Schnittstelle:
*” IMPORTING
*” VALUE(DATE) LIKE SCAL-DATE
*” EXPORTING
*” VALUE(WEEK) LIKE SCAL-WEEK
*” EXCEPTIONS
*” DATE_INVALID
*”———————————————————————-

函数模块作用:
获得某个日期所在的周。
=============================================
function week_get_first_day.
*”———————————————————————-
*”*”Lokale Schnittstelle:
*” IMPORTING
*” VALUE(WEEK) LIKE SCAL-WEEK
*” EXPORTING
*” VALUE(DATE) LIKE SCAL-DATE
*” EXCEPTIONS
*” WEEK_INVALID
*”———————————————————————-

函数模块作用:
获得某周的第一天。
============================================
上述两个函数的功能已经包含在 HR_GBSSP_GET_WEEK_DATES 中了。
从数据表中获得指定语言每周七天的名称,例如中文就是星期一、星期二……星期日,英文就是Sunday、Monday……Saturday。
WEEKDAY_GET
FUNCTION WEEKDAY_GET.
*”———————————————————————-
*”*”Lokale Schnittstelle:
*” IMPORTING
*” VALUE(LANGUAGE) LIKE SY-LANGU DEFAULT SY-LANGU
*” EXPORTING
*” VALUE(RETURN_CODE) LIKE SY-SUBRC
*” TABLES
*” WEEKDAY STRUCTURE T246
*” EXCEPTIONS
*” WEEKDAY_NOT_FOUND
*”———————————————————————-

函数模块作用:
从数据表中获得指定语言每周七天的名称,例如中文就是星期一、星期二……星期日,英文就是Sunday、Monday……Saturday。

输入参数:
LANGUAGE:指定语言代码,可以省略,如果不填就是当前登录语言。注意,在调用时如果指定某种特定语言,必须用一个字节的语言代码,例如中文是 1、英文是 E……,而不能用 ZH、EN,语言代码参见表 T002。

输出参数:
RETURN_CODE:返回码,查询数据库获得的返回码。但是由于这个函数会抛出异常,因此返回码的作用不大。

表:
WEEKDAY:结构与透明表 T246 相同,用来存储返回给用户的周日名称。

异常:
WEEKDAY_NOT_FOUND:没有找到周日的描述。

星期四, 11月 18th, 2010

下面总结一下ABAP中的各种接口技术,因为学习时间不是很长,肯定还不全(还有增强、出口等),以后再补上。

针对具体的情况,选择不同的接口方法,或几种方法并行使用。

一、CPI-C

是基础,但不是很常用,比较底层

二、RFC

1、R3系统之间

(1)在调用系统上进行RFC目标系统的配置(TCODE:SM59)

(2)在远程系统上创建允许远程访问的功能模块

2、R3与外部系统之间

(1)外部程序调用SAP功能(功能模块、BAPI)

(2)SAP调用外部程序

三、Connectors

(1)SAP Business Connector(SAP BC)

(2)SAP Marketplace Connector

(3).NET Connector、Java Connector、DCOM Connector、Lotus Connector

四、OLE

1、Excel作为OLE客户端

2、ABAP作为OLE2控制器

五、Desktop Office Integrated(DOI)

六、WebService

1、R3中创建WebService的方法(举函数模块产生WebService的方法)

(1)定义函数模块并选择函数组

(2)根据向导生成WebService

(3)使用TCODE “wsadmin”和“wsconfig”对服务进行管理和配置

(4)生成WSDL和测试WebService

3、外部系统使用R3的WebService

4、R3调用外部系统上的WebService

(1)根据WebService连接,使用se80,创建代理类(Proxy Object),并激活

(2)为代理类配置逻辑端口(TCODE:lpconfig)

(3)在程序中使用代理类完成WebService中方法的调用

七、FTP

配合数据迁移的方法(标准导入程序、定制BDC、LSMW、DXWB),可完成一些接口功能。

1、条件

(1)服务器和客户端程序(SAPFTPA和SAPFTP)

(2)服务器配置

(3)IIS或Serv-U建立FTP服务

2、操作方式

(1)连接到FTP服务器

(2)进行操作(执行FTP命令)

(3)断开与FTP服务器的连接

3、操作实例

(1)获取FTP服务器上的文件列表

(2)本地与FTP之间的文件交换

(3)应用服务器与FTP服务器之间的文件交换

八、外部数据库

1、连接外部数据库

(1)服务器端配置(DBCON)

(2)访问SQL Server数据库,必须要求R3系统安装在Windows系统上(因为需要一些DLL库支持)

(3)访问外部Oracle数据库

2、使用Native SQL进行数据库操作

九、ALE and EDI、IDoc接口

十、SAP Exchange Infrastructure(SAP XI)

星期四, 11月 18th, 2010
1、使用where语句
不推荐
Select * from zflight.
Check : zflight-airln = ‘LF’ and zflight-fligh = ‘BW222’.
Endselect.
推荐
Select * from zflight where airln = ‘LF’ and fligh = ‘222’.
Endselect.

2、使用聚合函数
不推荐
Maxnu = 0.
Select * from zflight where airln = ‘LF’ and cntry = ‘IN’.
Check zflight-fligh > maxnu.
Maxnu = zflight-fligh.
Endselect.
推荐
Select max( fligh ) from zflight into maxnu where airln = ‘LF’ and cntry = ‘IN’.

3、使用视图代替基本表查询
不推荐
Select * from zcntry where cntry like ‘IN%’.
Select single * from zflight where cntry = zcntry-cntry and airln = ‘LF’.
Endselect.
推荐
Select * from zcnfl where cntry like ‘IN%’ and airln = ‘LF’.
Endselect.

4、使用INTO table 代替select endselect
不推荐
Refresh: int_fligh.
Select * from zflight into int_fligh.
Append int_fligh. Clear int_fligh.
Endselect.
推荐
Refresh: int_fligh.
Select * from zflight into table int_fligh.

5、使用批量修改内表代替逐行修改
不推荐
Loop at int_fligh.
If int_fligh-flag is initial.
Int_fligh-flag = ‘X’.
Endif.
Modify int_fligh.
Endloop.
推荐
Int_fligh-flag = ‘X’.
Modify int_fligh transporting flag where flag is initial.

6、使用二分法查询,提高查询内表数据速度
不推荐
Read table int_fligh with key airln = ‘LF’.
推荐
Read table int_fligh with key airln = ‘LF’ binary search.

7、两个内表添加使用批量增加代替逐行
不推荐
Loop at int_fligh1.
Append int_fligh1 to int_fligh2.
Endloop.
推荐
Append lines of int_fligh1 to int_fligh2.

8、使用table buffering
Use of buffered tables is recommended to improve the performance considerably. The buffer is bypassed while using the following statementsSelect distinct
Select … for update
Order by, group by, having clause
Joins
Use the Bypass buffer addition to the select clause in order to explicitly bypass the buffer while selecting the data.

9、 使用FOR ALL Entries
不推荐
Loop at int_cntry. Select single * from zfligh into int_fligh where cntry = int_cntry-cntry. Append int_fligh. Endloop.
推荐
Select * from zfligh appending table int_fligh
For all entries in int_cntry
Where cntry = int_cntry-cntry.

10、正确地使用where语句,使查询能使用索引
When a base table has multiple indices, the where clause should be in the order of the index, either a primary or a secondary index
To choose an index, the optimizer checks the field names specified in the where clause and then uses an index that has the same order of the fields. One more tip is that if a table begins with MANDT, while an index does not, there is a high possibility that the optimizer might not use that index.

11、正确地使用MOVE语句
Instead of using the move-corresponding clause it is advisable to use the move statement instead. Attempt should be made to move entire internal table headers in a single shot, rather than moving the fields one by one.

12、正确地使用inner join
Let us take an example of 2 tables, zairln and zflight. The table zairln has the field airln, which is the airline code and the field lnnam, which is the name of the airline. The table zflight has the field airln, the airline code and other fields which hold the details of the flights that an airline operates.
Since these 2 tables a re logically joined by the airln field, it is advisable to use the inner join.
Select a~airln a~lnnam b~fligh b~cntry into table int_airdet
From zairln as a inner join zflight as b on a~airln = b~airln.
In order to restrict the data as per the selection criteria, a where clause can be added to the above inner join.

13、使用sort by 代替order by

14、避免使用SELECT DISTINCT语句
使用的 ABAP SORT + DELETE ADJACENT DUPLICATES 代替.

星期二, 11月 2nd, 2010

屏幕中INPUT字段的下拉列表方式的效果如下图:

1

实现方法:1.首先在屏幕ELEMENT LIST中按如下设置:

2

在屏幕流语句中加入

process on value-request.
field wa_maintable-KUNNR module mod_KUNNR.

在MOD_KUNNR中使用函数‘VRM_SET_VALUES ’设置该字段的下拉列表的VALUE TBALE既可。

发表于: 星期五, 12月 11th, 2009 1:08 pm
归类于:ABAP , 默认文章分类
Trackback:http://scnblogs.techweb.com.cn/wangyang/archives/14.html/trackback
阅读次数:105

星期一, 09月 13th, 2010

有人说,只要有开发权限,在sap中就相当于拥有所有权限,但前提条件是你要知道怎么做。

在se38中,键入程序名SAPMSUU0,按下调试按钮,便会进入debug模式。很简短的一段su01代码。

在  IF sy-subrc <> 0.打入断点,执行此部时更改SY-SUBRC参数为0。执行后便进入用户维护的初始屏幕。

输入框中键入/H,单击显示按钮。再次进入debug模式。点击create point 的红色stop按钮,在FORM中的program

键入SAPLSUU0,Fmla键入auth_check,运行。程序此时会跳入断点中。单步执行到出此form时,

会观察到给rc变量赋值,而后会跳出form,判断此rc的值。把rc的值改为0并执行。

星期四, 12月 10th, 2009

避免重复发明轮子,还因为我在网上我找不到理想的解决逻辑,所以自己发明了个轮子。e58886e9a1b52

接口接口导入参数仅为要分页的行数。

在全局数据中设置最少6个变量,分别为:1、当前输出的内表行数 2、判断分页条件数  3、空行工作空间 4、空行内表 5、空行数量 6、内表总行数

逻辑为:

在内表的大循环下:

1、设置当前行数自动加一的变量,计算分页条件数

2、输出表数据

3、如果分页条件数满足,(当前行数与分页数的mod为零),进行强制分页,返回P页面。

4、在全局定义的初始化里面通过计算得出空行总数,在此把空行工作空间循环空行总数次加入到空行内表中(此处空行内表类型为通用的简单结构

TYPES:

BEGIN OF tp_blank ,
b TYPE c,
END OF tp_blank,
itab_blank TYPE TABLE OF tp_blank.

5、判断如果满足当前输出的内表行数与内表总行数相等,变进行空行输出循环’loop1‘。

其中,第一个的事件中有表头和带有高度的脚标,选择‘在表结束处’。

星期三, 12月 9th, 2009

e58886e9a1b51

判断分页为:

current_l = current_l + 1.
pagination =  current_l MOD line.

强制分页条件为:

PAGINATION=0.

ABAP - CPI 调用OData Service进行Vendor的创建和更新 ABAP - CPI - OData 阅读详情

相关推荐

ABAP 常用函数Function

ABAP Coding过程中比较好用的Function整理。

matinal 當冬夜漸暖 。公众号:matinal 436

ABAP中的各种接口技术

针对具体的情况,选择不同的接口方法,或几种方法并行使用。 一、CPI-C 1、是基础,但不是很常用,比较底层 2、使用C语言简单举例 二、RFC 1、R3系统之间 (1)在调用系统上进行RFC目标系统的配置(TCODE:SM59) (2)在远程系统上创建允许远程访问的功能模块 (3)调用方法及举例(同步、异步、事务性) 2、R3与外部系统之间 (1)外部程序调用SAP功能(功能模块、BAPI) (2)SAP调用外部程序 (3)互调举例: A.C/C++ B.OCX、SAP.Functions 三、Conn

qq_41757790的博客 1814

ABAP常用弹出窗口函数

展示消息 POPUP_TO_CONFIRM:可以自由发挥 POPUP_TO_DECIDE_LOCKED_DATA:传入用户名,显示数据锁定信息 POPUP_DISPLAY_MESSAGE :显示消息 POPUP_TO_DISPLAY_TEXT 显示两行文本 RSDC_SHOW_MESSAGES_POPUP:弹出窗口,显示批量消息,同ME21N采购订单界面弹出 C14Z_MESSAGES_SHOW...

u012232542的博客 4721

SAP ABAP 常用实用函数(不收藏会后悔)

SAP ABAP 常用实用函数

Li958172829的博客 4550

ABAP中常用函数

一、给选择屏幕按钮添加图标和文本:ICON_CREATE 1.定义按钮: SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN PUSHBUTTON 2(15) but1 USER-COMMAND view. "定义搜索按钮 SELECTION-SCREEN PUSHBUTTON 30(15) but2 USER-COMMAND edit. "定义维护按钮 SELECTION-SCREEN END OF LINE. INITIALIZATION. PERFOR

weixin_43734184的博客 1277

Android/AutoMotive 多用户文件操作与权限管理

本文深入探讨了Android/Automotive多用户系统的文件操作与权限管理机制。文章阐述了多用户隔离与共享的核心原理,重点介绍了如何使用adb指令精准管理不同用户的应用与数据,并提供了在Android Automotive车载场景下实现安全跨用户数据共享与权限控制的最佳实践。

weixin_29214691的博客 162

ABAP 常用函数、系统变量

常用的系统变量如下: 1. SY-PAGNO当前页号 2. SY-DATUM当前时间 3. SY-LINSZ当前报表宽度 4. SY-LINCT当前报表长度 5. SPACE空字符 6. SY-SUBRC执行状态为0,表示成功. 使用SELECT语句选择查询: SY-SUBRC = 0: 至少有一行数据,当ENDSELECT语句执行完,SY-DBCNT中保存...

qq_16689111的博客 606

别再只盯着meta包了!盘点R语言中7个元分析工具包的特色与适用场景

本文深入评测了R语言中7个主流元分析工具包(meta、metafor、netmeta、mada、mvmeta、metasens、rmeta)的核心功能与适用场景,帮助研究者根据具体需求精准选型。通过对比表格和实际代码示例,详细解析了各工具包在传统两两比较、网络Meta分析、诊断准确性研究等不同场景下的差异化优势,并提供了性能对比和组合使用建议。

weixin_30736301的博客 296

【转】 ABAP常用函数集锦

转载自 magicvicon最终编辑 magicvicon<br />ABAP常用函数集锦<br />函数名 描述 <br />SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息<br />EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织<br />VIEW_MAINTENANCE_CALL 维护表视图<br />函数名 描述 <br />DY_GET_FOCUS 获得屏幕焦点 <br />DY_GET_SET_FIELD_

小笨笨的专栏 1137

Spring Authorization Server 实战指南:构建企业级 OAuth2/OIDC 授权中心

本文介绍了Spring Authorization Server作为构建企业级OAuth2/OIDC授权中心的解决方案。首先分析了传统认证模式的不足和OAuth2/OIDC协议的优势,然后详细讲解了如何从零搭建授权服务器,包括核心配置类、授权流程、数据库持久化等关键实现。文章还涵盖了资源服务器配置、客户端应用集成、安全最佳实践以及生产环境部署建议,完整呈现了Spring Authorization Server的核心功能和使用场景。通过本教程,开发者可以掌握统一认证授权系统的构建方法,为微服务架构提供安全可

qq_39476913的博客 783

VirtualBox虚拟机拖放文件总失败?手把手教你配置双向拖放与共享文件夹(Ubuntu版)

本文详细指导如何在VirtualBox的Ubuntu虚拟机中配置高效的数据交换方案。核心是安装VirtualBox Guest Additions,并在此基础上开启双向拖放与共享粘贴板功能,同时建立稳定的共享文件夹,彻底解决主机与虚拟机间文件传输失败的问题,构建无缝的跨系统工作环境。

weixin_29245767的博客 232

ABAP常用函数集锦

ABAP常用函数集锦

SAP技术备份 648

智能织梦:基于Rokid AR眼镜的家庭情感记忆增强系统设计与实践

本文介绍了基于Rokid AR眼镜的'智能织梦'系统,通过增强现实技术捕捉和重现家庭情感记忆。系统利用多模态传感器和轻量级情感识别模型,自动记录家庭互动中的情感峰值时刻,并生成沉浸式记忆片段。测试数据显示,该系统显著提升了家庭情感互动的频率和质量,特别适用于多代同堂家庭和记忆唤醒场景。

sre5engineer的博客 536

[转]SAP ABAP 中一些常用函数

函数名描述 ABAP_DOCU_DOWNLOAD Download ABAP documentation in HTML format. ARFC_GET_TID – 以十六进制形式返回终端的IP地址。 ADDR_GET_COMPLETE_ALL_TYPES 功能:获得地址的相关信息 BP_EVENT_RAISE –在 ABAP/4 程序中触发一个事件。 BKK_...

JavaFans 484

Python+QMT量化交易实战:从零搭建你的第一个极速策略(附完整代码)

本文提供了一份详细的Python+QMT量化交易实战指南,手把手教你从零搭建一个可回测、可实盘的极速策略。内容涵盖环境配置、QMT核心机制解析、双均线策略的完整代码实现、回测优化方法以及实盘部署要点,帮助量化交易新手快速入门并掌握核心开发流程。

b9c0d的博客 1012

红外回充方案之红外接收和发射/附源码(1)

本文介绍了基于NEC协议的红外回充方案实现,重点讲解了红外收发原理和GD32F330单片机的接收端实现。文章首先说明采用38kHz载波和一体化红外接收管的设计优势,能有效抗环境光干扰。接着详细解析NEC协议格式,包括9ms起始信号、地址码、命令码及其反码校验机制,并给出逻辑1和0的调制方式。在接收端实现上,展示了GD32F330定时器输入捕获配置代码,通过双边沿触发测量脉冲宽度进行解码。文章还提供了状态机设计思路和数据结构,为低成本机器人红外回充方案提供了完整的技术实现方案。

m0_59406757的博客 1237

【ABAP系列】SAP ABAP常用函数总结第一篇

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:【ABAP系列】SAP ABAP常用函数总结第一篇 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。 正文部分 1:负号前置:CLOI_PUT_SIGN_IN_FRONT 2:加前导零:...

ARICK2014的博客 463

11、体内皮质功能的电压敏感染料成像技术

本文详细介绍了电压敏感染料成像(VSDI)技术在体内皮质功能研究中的应用。内容涵盖VSDI的技术起源、作用机制、信号特点与解读局限性,以及其在映射感觉皮质功能区方面的优势。文章对比了VSDI与电极记录和钙成像技术的差异,突出了其在高时空分辨率下监测神经元群体亚阈值活动的独特价值。同时,提供了完整的实验操作流程,包括手术步骤、染料应用、光学系统配置及数据分析方法,并总结了常见问题及其解决方案。随着基因靶向和多模态技术结合的发展,VSDI有望进一步提升信号特异性和空间精度,成为解析大脑网络动态的重要工具。

Apple的专栏 81

ABAP常用日期处理函数

ABAP中常用日期函数: 一、查询两个日期间的日间间隔   CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'     EXPORTING       I_DATE_FROM          = '20080101' *

传奇哥的专栏 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ABAP 常用函数

函数名 描述 SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织VIEW_MAINTENANCE_CALL 维护表视图 函数名 描述 DY_GET_FOCUS 获得屏幕焦点 DY_GET_SET_FIELD_VALUE 获得或者设置屏幕字段的值 函数名 描述 F4...

weixin_30773135的博客 127

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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 显示检索help READ_TEXT 读取长文本 CONVERS

ChampaignWolf的专栏 813

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ABAP常用函数第一篇

1:负号前置:CLOI_PUT_SIGN_IN_FRONT 文章连接:ABAP常用函数第一篇

matinal 當冬夜漸暖 。公众号:matinal 961

ABAP 函数总结 常用函数解释

函数名 描述SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织VIEW_MAINTENANCE_...

cugang2892的博客 293

ABAP语言常用的系统字段及函数

常用的系统变量如下: 1. SY-PAGNO当前页号 2. SY-DATUM当前时间 3. SY-LINSZ当前报表宽度 4. SY-LINCT当前报表长度 5. SPACE空字符 6. SY...

ctqx11128的博客 176

SAP ABAP 常用函数(一)

SAP ABAP 常用函数(一)函数名 描述 SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织VIEW_MAINTENANCE_CALL 维护表视图 函数名 描述 DY_GET_FOCUS 获得屏幕焦点 DY_GET_SET_FIELD_VALUE 获得或者设置

free_pop2k的专栏 869

ABAP常用日期函数

ABAP中常用日期函数: 一、查询两个日期间的日间间隔   CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'     EXPORTING       I_DATE_FROM          = '20080101' *     I_KEY_DAY_FROM  =       I_DATE_TO                = '2

zhutao10033的专栏 2309
上一篇: ABAP 小技巧
下一篇: SAP 与 PI之间 SLD等组件连接用法
Footloose_
博客等级 码龄10年 254粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值