ABAP-弹出对话框函数-'POPUP_TO_CONFIRM'
ABAP中对上传文件和下载文件的一般检查
MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
LEAVE LIST-PROCESSING.
ENDIF.
*----- 結果情報判定
IF LW_ANSWER = '2' "いいえOR中止ボタン押下
* CONSTANTS
*----------------------------------------------------------------------*
CONSTANTS:
CNS_TRUE(1) TYPE C VALUE 'X'. "TRUE
*----------------------------------------------------------------------*
*----- システムメッセージ出力
MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
RETURN.
ENDIF.
*----- 結果情報判定
IF LW_RETURN < 0.
OR LW_ANSWER = 'A'.
LEAVE LIST-PROCESSING. "選択画面へ戻る
ENDIF.
示例:
REPORT ZLEI_FILE_CHECK.
*----------------------------------------------------------------------*
abap屏幕显示调用总结-alv双击打开窗口和弹出窗
sap abap屏幕显示调用总结-alv双击打开窗口和弹出窗1)alv及其事件定义CLASS lcl_event_receiver DEFINITION.PUBLIC SECTION.METHODS handle_f4FOR EVENT onf4 OF cl_gui_alv_gridIMPORTING e_fieldnamees_row_noer_event_dataet_bad_cells.METHODS catch_doubleclickFOR EVENT double_click OF cl_gui_alv_gridIMPORTING e_rowe_columnes_row_no .ENDCLASS. "lcl_event_receiver DEFINITION *---------------------------------------------------------------------* * CLASS lcl_event_receiver IMPLEMENTATION*---------------------------------------------------------------------* CLASS lcl_event_receiver IMPLEMENTATION. METHOD handle_f4.PERFORM f4 USING e_fieldnamees_row_noer_event_dataet_bad_cells.ENDMETHOD. "handle_f4 METHOD catch_doubleclick.PERFORM atdoubleclick USING e_rowe_columnes_row_no.ENDMETHOD. "catch_doubleclickENDCLASS. "lcl_event_receiver IMPLEMENTATIONFORM atdoublec lick USING p_e_rowp_e_columnp_es_row_no.* MESSAGE '双击' TYPE 'I'.READ TABLE itab INDEX p_e_row.IF p_e_column = 'EBELN'.SET PARAMETER ID 'BES' FIELD itab-ebeln.CALL FUNCTION 'ME_DISPLAY_PURCHASE_DOCUMENT' "相应双击事件,根据双击列进行调用相应的方法EXPORTINGi_ebeln = itab-ebelni_enjoy = 'X'.ELSEIF p_e_column = 'LIFNR'.CALL FUNCTION 'MMPUR_VENDOR_DISPLAY'EXPORTINGim_lifnr = itab-lifnrim_ekorg = 'B000'.else.CALL SCREEN 200."(弹出窗口)ENDIF.ENDFORM. " atdoubleclickMODULE status_0100 OUTPUT.SET PF-STATUS 'MAIN200'.gs_variant-report = sy-repid."注册事件到alvIF g_custom_container IS INITIAL.CREATE OBJECT g_custom_containerEXPORTING container_name = g_container.IF go_grid IS INITIAL.CREATE OBJECT go_gridEXPORTINGi_parent = g_custom_container."cl_gui_container=>screen0."CREATE OBJECT event_receiver.SET HANDLER event_receiver->handle_f4 FOR go_grid.CALL METHOD go_grid->register_f4_for_fieldsEXPORTINGit_f4 = gt_f4."gt_f4用于保存产生f4事件的字段SET HANDLER event_receiver->catch_doubleclick FOR go_grid.IF sy-batch IS INITIAL.CALL METHOD go_grid->register_edit_eventEXPORTINGi_event_id = cl_gui_alv_grid=>mc_evt_enter.ENDIF.PERFORM load_data_into_grid.ENDIF.ENDIF.ENDMODULE.(2)弹出窗口200显示:CLASS lcl_event_handler DEFINITION.PUBLIC SECTION.CLASS-METHODS:on_close FOR EVENT close OF cl_gui_dialogbox_container IMPORTING sender.ENDCLASS. "lcl_event_handler DEFINITION*----------------------------------------------------------------------** CLASS lcl_event_handler IMPLEMENTATION*----------------------------------------------------------------------* CLASS lcl_event_handler IMPLEMENTATION.METHOD on_close.CALL METHOD sender->free.FREE: con_diabox, l_alv.CALL SCREEN '100'.ENDMETHOD. "on_closeENDCLASS.MODULE STATUS_0200 OUTPUT.SELECT * FROM sflight INTO TABLE lt_sflight.IF con_diabox IS INITIAL.CREATE OBJECT con_diaboxEXPORTINGwidth = 600height = 200top = 70left = 140caption = 'Title'EXCEPTIONSOTHERS = 1.SET HANDLER lcl_event_handler=>on_close FOR con_diabox .CREATE OBJECT l_alvEXPORTINGi_parent = con_diabox.ENDIF.CALL METHOD l_alv->set_table_for_first_display EXPORTINGi_structure_name = 'SFLIGHT'CHANGINGit_outtab = lt_sflight.ENDMODULE.。
abap dialog 区间
ABAP(高级商务应用程序编程语言)是一种支持SAP系统开发的编程语言。
ABAP Dialog是指在SAP系统中用户与系统进行交互的界面。
本文将介绍ABAP Dialog区间的相关概念和使用方法。
一、ABAP Dialog区间的概念ABAP Dialog区间是指在SAP系统中用来实现用户交互的一个特定区域。
这个区域通常包括了用户输入的字段、系统的输出结果、以及交互式的按钮和菜单。
在ABAP程序中,通过对Dialog区间的设置和控制,可以实现与用户的有效交流,让用户能够更方便地使用系统进行操作。
二、ABAP Dialog区间的组成ABAP Dialog区间通常由以下几个主要组成部分构成:1. 输入字段:用户可以在这些字段中输入相关的信息,比如订单号、产品名称等等。
这些输入字段可以是文本框、下拉菜单、多选框等形式。
2. 输出结果:系统会在Dialog区间中显示相关的查询结果、报表、图形等信息,让用户能够直观地看到系统处理的结果。
3. 交互按钮:通过按钮和菜单,用户可以触发系统执行相应的功能,比如提交订单、保存数据、导出报表等。
4. 交互逻辑:除了上述组成部分之外,ABAP Dialog区间还包括了一些交互逻辑的控制,比如事件触发、界面刷新、数据验证等。
三、ABAP Dialog区间的使用方法在ABAP程序中,可以通过一些特定的语句和函数来创建和使用Dialog区间。
以下是一些主要的使用方法:1. 在ABAP程序中使用DIALOG语句定义Dialog区间的布局和元素。
2. 通过MODULE模块和相关的事件处理函数,实现处理用户的交互操作和逻辑。
3. 使用相关的函数和方法,比如对话框函数(POPUP_TO_CONFIRM、POPUP_TO_DECIDE等)来实现用户提示和确认操作。
四、ABAP Dialog区间的优势和应用场景ABAP Dialog区间作为SAP系统中用户交互的重要部分,具有以下一些优势和应用场景:1. 提高用户体验:通过合理的布局和交互设计,可以提高用户在系统中的操作效率和便利性。
SAP中的popupdialog(弹出对话框)常见实现方法
SAP中的popupdialog(弹出对话框)常见实现⽅法⽅法1:FM:POPUP_TO_CONFIRM(标准对话弹出消息)有三个button:YES-NO-CANL,可进⾏对应的逻辑推断可设定标题,描写叙述问题,不⽅便对⽂本进⾏换⾏等排版,不能改变弹出框⼤⼩。
⽅法2:FM:POPUP_CONTINUE_YES_NO有两个button:J-N(YES-NO),可进⾏对应的逻辑推断可设定标题,最⼤仅仅能⼩时两⾏⽂本,不⽅便对两⾏以上⽂本进⾏排版,不能改变弹出框⼤⼩。
⽅法3:以内部数据,在⽂本编辑器中按⾏进⾏输出FM:ADA_POPUP_WITH_TABLE(Popup to display internal table data)可设定标题,能将⾮常多数据,以text⽂本的⽅式,在弹出框中以text编辑器UI显⽰,仅仅能控制弹出框显⽰位置。
不能改变弹出框⼤⼩。
⽅法4:FM:POPUP_WITH_TABLE_DISPLAY(将数据当做表格数据显⽰)有两个button:选择-取消-(双击)可设定标题。
可将⾮常多数据按⾏进⾏显⽰,⽽且还有选择功能,能够返回选中的⾏数。
能够控制弹出框显⽰位置。
能够改变弹出框⼤⼩⽅法5:FM:POPUP_WITH_TABLE_DISPLAY_OK有两个button:选择-取消跟函数POPUP_WITH_TABLE_DISPLAY⾮常相似。
可是没有选择功能,⽽且标题始终是‘Register’。
不能改变。
能够控制弹出框显⽰位置,能够改变弹出框⼤⼩⽅法6:⾃⼰写代码拷贝SAP 标准的程序⽤OO 的⽅法改写ALV⾥⾯detail display 的实现⽅法。
实现⽅法例如以下:CALL SCREEN 0101 STARTING AT STARTPOS_COL STARTPOS_ROWENDING AT ENDPOS_COL ENDPOS_ROW.*&---------------------------------------------------------------------**& Module STATUS_0101 OUTPUT*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*MODULE status_0101 OUTPUT.SET PF-STATUS '101'.SET TITLEBAR '101'.ENDMODULE. " STATUS_0101 OUTPUT*&---------------------------------------------------------------------**& Module USER_COMMAND_0101 INPUT*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*MODULE user_command_0101 INPUT.IF ok_code = 'CANCEL'.* LEAVE PROGRAM.LEAVE TO SCREEN 0.ELSEIF ok_code = 'CANCEL'.* LEAVE PROGRAM.LEAVE TO SCREEN 0.ENDIF.ENDMODULE. " USER_COMMAND_0101 INPUT重点:CALL SCREEN 0101 STARTING ATENDING AT .这个语法,你就明确了,那么煞费苦⼼的去找POPPUP 函数是多么的狼狈。
ABAP编程技术与技巧总结
ABAP编程技术与技巧总结1.时间及⽇期合法性检查FUNCTION:TIME_CHECK_PLAUSIBILITY Time plausibility checkDATE_CHECK_PLAUSIBILITY Date plausibility check说明:当数据合法时SY-SUBRC返回值为0,否则返回1.2.弹出⽤户交互对话框:CALL FUNCTION 'POPUP_TO_CONFIRM'EXPORTINGtitlebar = 'CHECK'* DIAGNOSE_OBJECT = ' 'text_question = texttext_button_1 = 'YES'icon_button_1 = 'NO'IMPORTINGanswer = answer* TABLES* PARAMETER =EXCEPTIONStext_not_found = 1OTHERS = 2.说明:其中text是⽤于显⽰在弹出对话框的中的⽂本字符.需事先设置好其值. Answer为⼀位字符型数据,1表⽰YES,2表⽰NO.3.根据某年某⽉某⽇得到本年本⽉的最后⼀天:call function 'RP_LAST_DAY_OF_MONTHS'exportingday_in = sdataimportinglast_day_of_month = sdataexceptionsday_in_no_date = 1others = 2.4.传输请求:STMS(se10)->选择要传输的主机名双击->细节—>Other Requeset->ADD,输⼊需传输的Request num..刷新->是->登录被传输的系统->查到需要传输的Request num.->import Request(后⾯的⼩车)->选择集团->是。
ABAP语言的常用变量和常用函数
ABAP语言的常用变量和常用函数系统常用变量:SY-SUBRC 执行状态SY-DATUM 服务器日期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:用一个字符串覆盖另一个字符串。
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文档。
SAP常用的一些函数新
去掉 LIFNR 前导 0 call function 'CONVERSION_EXIT_ALPHA_OUTPUT' exporting input = G_T_RESULT-LIFNR importing output = G_T_RESULT-LIFNR.
单位转换
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.
CONVERSION_EXIT_ALPHA_INPUT - 数字串前补 0 example: input = 123 output = 0000000000000。。。000000000000123
CONVERSION_EXIT_ALPHA_OUTPUT – 消除数字串前的 0 example: input = 00000000000123 output = 123
BP_JOBLOG_READ –获得 job log 的执行结果。
CLOI_PUT_SIGN_IN_FRONT – 将负号前置, SAP 默认将负号放在数字后面。
CLPB_EXPORT –从内表导入到剪贴板。
CLPB_IMPORT – 从剪贴板导入内表。
COMMIT_TEXT -To load long text into SAP 。
sap 弹出框进入断点的方法
SAP 弹出框进入断点的方法引言在SAP系统中,弹出框是一种常见的交互式界面元素,用于显示和收集用户输入的信息。
在开发和调试SAP应用程序时,我们经常需要在弹出框中设置断点,以便在特定的代码行上暂停执行并检查程序状态。
本文将介绍在SAP系统中如何实现在弹出框中设置断点的方法。
1. 断点简介断点是一种调试工具,用于在程序执行过程中暂停执行,以便程序员可以检查变量的值、代码的执行路径等信息。
在SAP系统中,我们可以在ABAP代码中设置断点,当程序执行到断点所在的代码行时,程序会自动暂停执行并进入调试模式。
2. 弹出框调试在SAP系统中,弹出框通常由函数模块或方法调用触发。
为了在弹出框中设置断点,我们需要知道弹出框的函数模块或方法名。
2.1 查找弹出框的函数模块或方法名要查找弹出框的函数模块或方法名,可以按照以下步骤进行操作: 1. 打开SAP事务码“SE24”或“SE80”,进入ABAP对象浏览器。
2. 输入弹出框的技术名称或描述,如“弹出框”、“Popup”等,点击“搜索”按钮。
3. 在搜索结果中找到与弹出框相关的函数模块或方法。
通常,弹出框的函数模块或方法名会以“POPUP_”、“POPUP_TO_”等开头。
2.2 设置断点一旦找到了弹出框的函数模块或方法名,就可以在代码中设置断点了。
下面是在SAP系统中设置断点的方法:2.2.1 使用ABAP代码设置断点在ABAP代码中设置断点的方法如下所示:BREAK-POINT.将以上代码行插入到弹出框的函数模块或方法调用之前,保存并激活代码。
2.2.2 使用调试器设置断点除了在代码中设置断点外,我们还可以使用调试器在运行时设置断点。
要使用调试器设置断点,请按照以下步骤进行操作: 1. 打开SAP事务码“SE37”或“SE38”,进入函数模块或ABAP程序的编辑器。
2. 输入弹出框的函数模块或方法名,点击“运行”按钮。
3. 在函数模块或方法的执行窗口中,点击“调试”按钮,进入调试模式。
ABAP分享一弹出框函数的简单示例
ABAP分享⼀弹出框函数的简单⽰例在开发中经常会使⽤到弹出框这个功能,在SAP中有很多函数可以实现类似的功能,这⾥介绍⼀个⽐较简单常⽤的函数 POPUP_TO_CONFIRM下⾯是⼀个实现的简单⽰例:TABLES sscrfields.DATA: qus TYPE string,ans TYPE c. " 根据⽤户的操作会有三个值 1 是, 2 否, A 取消SELECTION-SCREEN:BEGIN OF BLOCK abs WITH FRAME TITLE TEXT-001,PUSHBUTTON 2(20) but1 USER-COMMAND cli1, "定义⼀个按钮当点击按钮时会弹出弹出框END OF BLOCK abs.INITIALIZATION.but1 = '点击后会有弹出框'.AT SELECTION-SCREEN.CASE sscrfields-ucomm. "当⽤户点击按钮后会触发AT SELECTION-SCREEN事件,并且function code fcode会存储到sscrfields-ucomm字段中。
WHEN 'CLI1'.qus = '确定吗'.CALL FUNCTION 'POPUP_TO_CONFIRM' "弹出框函数 POPUP_TO_CONFIRMEXPORTINGtext_question = qusIMPORTINGanswer = ans.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.CASE ans.WHEN '1'.MESSAGE '您点击的是确定按钮' TYPE 'S'.WHEN '2'.MESSAGE '您点击的是否按钮' TYPE 'S'.WHEN OTHERS.MESSAGE '您点击的是取消按钮' TYPE 'S'.ENDCASE.ENDCASE.。
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
CLPB_IMPORT :从剪贴板导入internal table
CLPB_EXPORT:从internal table输入到剪贴板
示例程序:GRCLPB_1
在SE38环境下的程序名输入栏输入'DEMO*'后按F4,你可以查到SAP所有的DEMO示例程序,会学到很多ABAP功能的实现方法,输入'BCALV*'后按F4,你可以查到很多ALV示例程序
ABAP 常用FUNCTION集锦1
ABAP_DOCU_DOWNLOAD – 以HTML格式下载ABAP文档。
ARFC_GET_TID – 以十六进制形式返回终端的IP地址。
BAL_* -容纳了SAP的应用程序日志所有的函数模块。
BP_EVENT_RAISE –在 ABAP/4 程序中触发一个事件。
金额转换成大写
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = T_AMOUNT10
CURRENCY = 'RMB'
LANGUAGE = '1'
IMPORTING
IN_WORDS = S_AMWORD2
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 4。
DATE_GET_WEEK – 返回一个日期所在的周数。
DATE_CHECK_PLAUSIBILITY – 检查一个日期是否是SAP的有效格式。
DYNP_VALUES_READ – 读取SCREEN字段的值,也可以用来读取报表SELECTION SFIRM_WITH_VALUE 显示确认用户对某个特定对象的操作的弹出窗口
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,只是多三行的文本错误诊断提示。
SAP常用的一些函数
ENQUEUE_ESFUNCTION – 锁定一个 ABAP 程序使它不可以被执行:
RELID = 'ZZ' SRTF2 = 0 SRTF = (your report name)
注意不要用 SY-REPID 来传递你的报表名字,当把 SY-REPID 作为参数传递给函数模块的时候,SY-REPID 的值实际上已经发生了变化。
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。
EPS_GET_FILE_ATTRIBUTES – 获得文件属性。
EPS_GET_DIRECTORY_LISTING – 返回一个本地或网络目录的文件列表。
F4_DATE - 弹出一个窗口显示一个日历允许用户选择一个日期。
F4IF_SHLP_EXIT_EXAMPLE – F4 接口模块。
FILENAME_GET – 弹出一个文件选择对话框。
BP_JOBLOG_READ –获得 job log 的执行结果。
CLOI_PUT_SIGN_IN_FRONT – 将负号前置, SAP 默认将负号放在数字后面。
CLPB_EXPORT –从内表导入到剪贴板。
SAPBAPI函数使用及示例.doc
1 bapi概述(1)bap is 是"business applicatio n programming interfaces7'的简写,中文翻译为"业务应用编程接口〃。
不同的系统或模块进行通讯时,就需要用到编程接口。
(2)bapi时外部应用程序访问sap业务对象的方法。
在面向对象编程方面,业务对象(business object)和bapi是sap的两个很重要的内容,业务对象就是类,bapi就是业务对象的方法。
他们的关系描述如下:kernel -一>intergrity 一->interface 一一>access:kernel为内核,对数据库直接进行操作intergrity为业务对象,将实际业务定义成一个类interface为应用编程接口,通过该接口,对业务对彖进行操作access为访问方式,直接面向对象编程或远程函数调用⑶ 每一个bapi都有与之对应的以” bapi_ “开头的函数。
例如:业务对象” user “表示” 系统用户“,它有bapi (方法)“lock”和“unlock”,它们用来锁定系统用户和对系统用户解锁。
这两个方法对应的函数为“bapi_use:r_lock"和"b api_user_unlock”。
2查看bapi(1)运行bapi,进入sap bapi浏览器,在这里,我们能够通过业务层次迅速找到需要的业务对象和方法。
如:业务对象一>bussines object关键字段一>short descriptionbapi --> method与bapi 对应的函数--> function module3 bapi编程-abap中访问bapirfl于ABAP不是面向对彖的语言,所以在abap程序中使用bapi实际上是调用bapi函数。
把皮的函数名称,可以在bapi exploer中的a function module"见到。
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常用函数收集
输入参数:INPUT:不限制类型,必须输入。原始编号。
输出参数:OUTPUT:日期类型。计算出的结果。
测试结果:
如果 INPUT 输入为纯数字(就是只有 0~9 之间的字符),结果删除该数字的前置 0。
如果 INPUT 输入不为纯数字(就是包含 0~9 之外的字符),结果就跟输入值一样。E_TOO_BIG = 3
* NO_FACTORS_FOUND = 4
NO_SPREAD_FOUND = 5
OTHERS = 6.
12.3.1.将货币转成外部储存值
CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
EXPORTING
currency =
amount_internal =
IMPORTING
AMOUNT_EXTERNAL =
amount_external =
max_number_of_digits =
IMPORTING
AMOUNT_INTERNAL =
RETURN =
EXCEPTIONS
可以设置某个按钮作为默认按钮。
CALL FUNCTION 'POPUP_TO_CONFIRM_LOSS_OF_DATA'
EXPORTING TITEL = TITEL
TEXTLINE1 = SPOP-TEXTLINE1
IMPORTING
answer = answer.
* POPUP_TO_CONFIRM_WITH_VALUE
* POPUP_TO_CONFIRM_LOSS_OF_DATA
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 获得或者设置屏幕函数名描述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_OUTPUT 和上面相反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文档。