ImageVerifierCode 换一换
格式:DOCX , 页数:72 ,大小:79.02KB ,
资源ID:28821707      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28821707.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ABAP技巧代码汇总.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ABAP技巧代码汇总.docx

1、ABAP技巧代码汇总都是从网上找到的编程技巧,汇总在一起。1、ABAP CHECKBOX 和LISTBOX使用指南1.什么是checkbox:就是一个复选框,可以用like或者type来定义,为1个字符型变量。它是parameter的一个选项,parameter xxx as checkbox就可以在选择屏幕上显示一个复选框。2.什么是listbox:就是一个下拉列表,你可以在这个列表中选择一条记录进行某种操作。也是parameter的一个选项,parameter xxx as listbox就可以在选择屏幕上显示一个下拉列表。3.如何使用:下面我们用一个程序来说明这两者的使用方法。REPOR

2、T Z_TEXTTYPE-POOLS: VRM . “存放combobox内容的type poolDATA: NAME TYPE VRM_ID , “ list box的名称 LIST TYPE VRM_VALUES , “ list box的值 VALUE LIKE LINE OF LIST . “ list box的结构*定义checkbox,指定command,为了能够响应选择屏幕中值的改变PARAMETERS: P_CB1 TYPE C AS CHECKBOX DEFAULT X USER-COMMAND CHECK, P_CB2 TYPE C AS CHECKBOX DEFAULT

3、X USER-COMMAND CHECK.*定义listbox,必须指定visible lengthPARAMETERS: P_LIST1(10) TYPE C AS LISTBOX VISIBLE LENGTH 15 , P_LIST2(20) TYPE C AS LISTBOX VISIBLE LENGTH 25 .*开始执行AT SELECTION-SCREEN OUTPUT .*选择1而没有选择2 IF P_CB1 = X AND P_CB2 = ”.*向listbox里面添加值 REFRESH LIST . VALUE-KEY = 11 . “这个就是变量P_LIST的值 VALUE

4、-TEXT = 11 . “这个是text APPEND VALUE TO LIST . VALUE-KEY = 22 . VALUE-TEXT = 22 . APPEND VALUE TO LIST . VALUE-KEY = 33 . VALUE-TEXT = 33 . APPEND VALUE TO LIST .*调用函数显示listbox里面的值 CALL FUNCTION VRM_SET_VALUES EXPORTING ID = P_LIST1 VALUES = LIST.*把第二个listbox的值清空,并且不能输入 CLEAR P_LIST2 . LOOP AT SCREEN

5、. IF SCREEN-NAME = P_LIST2 . SCREEN-INPUT = 0 . MODIFY SCREEN . ENDIF . ENDLOOP .*选择2,没有选择1,同上 ELSEIF P_CB2 = X AND P_CB1 = ”. REFRESH LIST . VALUE-KEY = AAAAAAAAAAAAAAAAAAAA . VALUE-TEXT = AAAAAAAAAAAAAAAAAAAA . APPEND VALUE TO LIST . VALUE-KEY = BBBBBBBBBBBBBBBBBBBB . VALUE-TEXT = BBBBBBBBBBBBBBBB

6、BBBB . APPEND VALUE TO LIST . VALUE-KEY = CCCCCCCCCCCCCCCCCCCC . VALUE-TEXT = CCCCCCCCCCCCCCCCCCCC . APPEND VALUE TO LIST . APPEND VALUE TO LIST . CALL FUNCTION VRM_SET_VALUES EXPORTING ID = P_LIST2 VALUES = LIST.*清空listbox 1的值 CLEAR P_LIST1 . LOOP AT SCREEN . IF SCREEN-NAME = P_LIST1 . SCREEN-INPUT

7、 = 0 . MODIFY SCREEN . ENDIF . ENDLOOP .*都没有选择,都清空且不能输入 ELSEIF P_CB1 = ” AND P_CB2 = ” . CLEAR: P_LIST1,P_LIST2 . LOOP AT SCREEN . IF SCREEN-NAME = P_LIST1 . SCREEN-INPUT = 0 . MODIFY SCREEN . ENDIF . ENDLOOP . LOOP AT SCREEN . IF SCREEN-NAME = P_LIST2 . SCREEN-INPUT = 0 . MODIFY SCREEN . ENDIF . EN

8、DLOOP .*都选,执行 ELSEIF P_CB1 = X AND P_CB2 = X . REFRESH LIST . VALUE-KEY = 11 . VALUE-TEXT = 11 . APPEND VALUE TO LIST . VALUE-KEY = 22 . VALUE-TEXT = 22 . APPEND VALUE TO LIST . VALUE-KEY = 33 . VALUE-TEXT = 33 . APPEND VALUE TO LIST . CALL FUNCTION VRM_SET_VALUES EXPORTING ID = P_LIST1 VALUES = LIS

9、T. REFRESH LIST . VALUE-KEY = AAAAAAAAAAAAAAAAAAAA . VALUE-TEXT = AAAAAAAAAAAAAAAAAAAA . APPEND VALUE TO LIST . VALUE-KEY = BBBBBBBBBBBBBBBBBBBB . VALUE-TEXT = BBBBBBBBBBBBBBBBBBBB . APPEND VALUE TO LIST . VALUE-KEY = CCCCCCCCCCCCCCCCCCCC . VALUE-TEXT = CCCCCCCCCCCCCCCCCCCC . APPEND VALUE TO LIST .

10、CALL FUNCTION VRM_SET_VALUES EXPORTING ID = P_LIST2 VALUES = LIST. ENDIF .START-OF-SELECTION .*输出到第二屏幕看看 WRITE: P_LIST1 ,/ P_LIST2 .2、ABAP memory中的Export和Import可以用于SUBMIT方式调用其他ABAP程序后,数据只能通过某个透明表暂存,在由主程序查询透明表取得结果的情况,这样做的好处是不用在通过透明表转数据了,先把子程序中的数据EXPORT到一块命名的内存空间,然后在主程序里IMPORT命名的内存空间的值到内表中。REPORT z_ba

11、rry_export_import . DATA: BEGIN OF itab1 OCCURS 0 , ff(10) , END OF itab1. DATA: itab2 LIKE itab1 OCCURS 0 WITH HEADER LINE . DATA: str1 TYPE string , str2 TYPE string . APPEND 1 TO itab1. APPEND 2 TO itab1. str1 = sssssssssss. *如果是同名的对象,可以这么写: EXPORT itab1 TO MEMORY ID M1. FREE itab1. IMPORT itab1

12、FROM MEMORY ID M1. LOOP AT itab1. WRITE / itab1-ff. ENDLOOP. *如果不是同名的对象,需要加上一个对象名 EXPORT a = itab1 b = str1 TO MEMORY ID M2. IMPORT a = itab2 b = str2 FROM MEMORY ID M2. LOOP AT itab2. WRITE / itab2-ff. ENDLOOP.WRITE / str2.3、ABAP 获得程序的激活次数或者传输次数的方法REPOSRC :Report Source CodeDATA SUM TYPE I.PARAMETE

13、RS P_NAME TYPE STRING. SELECT COUNT(*) FROM E070 INNER JOIN E071 ON E071TRKORR = E070TRKORR INTO SUM WHERE E071OBJ_NAME = P_NAME AND E071LOCKFLAG AND E070TRSTATUS = R.REPOSRC 这个表很有意思,它包含任何一个程序的激活次数,即字段VERN(版本)其中的字段R3STATE 如果是A则表明是激活的版本。如果是I 表明是被修改的状态,如果最新的版本没有被激活,则会出现R3STATE字段 有A 和 I 的两组数据。其中I为最新的保存

14、数据的记录,VERN记录修改的次数。R3STATE字段为A的则是记录前一次被激活的版本数据,VERN对应的版本号。 表REPOSRC对应一个视图 这个视图是 PROGDIR.使用这个视图 对我们的 控制会更有帮助,其中 这个视图标签SELECITONS CONDITIONS中 进行限制如下:TABLE FIELDNAME 操作 COMPARISON VALUE AND/ORREPOSRC R3STATE EQ A ORREPOSRC R3STATE EQ I存放变式的表 VARI 这是一张数据簇表。4、ABAP 生成ZIP压缩文件的代码data: izip type ref to cl_aba

15、p_zip, cont type xstring , xzip_file type xstring, binary_tab type standard table of x255 .data: itab type standard table of sdokcntasc .start-of-selection. do 20 times. append ABAP开发 to itab. enddo. call function SCMS_TEXT_TO_XSTRING exporting mimetype = text/html;charset=gb2312 importing buffer =

16、cont tables text_tab = itab exceptions failed = 1 others = 2. create object izip. call method izip-add exporting name = ITAB.TXT content = cont. call method izip-save receiving zip = xzip_file. call function SCMS_XSTRING_TO_BINARY exporting buffer = xzip_file tables binary_tab = binary_tab. call fun

17、ction GUI_DOWNLOAD exporting filename = C:sf.zip filetype = BIN tables data_tab = binary_tab.5、ABAP程序打印Spool Request到PDF其实打印到pdf完全不需要程序,只要你装了pdf打印生成软件,打印的时候选择pdf也就行了。本文的程序非我所做,不过也不知道从哪里拿到的了。在不经意间看到了,于是在机器上测试下,发现有些地方需要更正。改好了,测试好了,放上来分享给大家。程序源代码如下: *&-*& ReportZBOB_R2PDF *&*&-*& *&*&-* REPORTzbob_r2pd

18、f. *- Enhancements: only allow to be run with variant.Then called *- program will be transparent to users*- TABLESTABLES:tsp01.*- STRUCTURES DATA:mstr_print_parms LIKE pri_params,mc_valid(1) TYPE c,mi_bytecount TYPE i,mi_length TYPE i, mi_rqident LIKE tsp01-rqident.*- INTERNAL TABLES DATA:mtab_pdf L

19、IKE tline OCCURS 0 WITH HEADER LINE, mc_filename LIKE rlgrap-filename. *- SELECTION SCREEN PARAMETERS:p_repid LIKE sy-repid, Report to execute p_linsz LIKE sy-linsz DEFAULT 132, Line sizep_paart LIKE sy-paart DEFAULT X_65_132. Paper Format START-OF-SELECTION. CONCATENATE d: p_repid .pdf INTO mc_file

20、name. *- Setup the Print Parmaters CALL FUNCTION GET_PRINT_PARAMETERS EXPORTING copies = 1 new_list_id = X no_dialog = X user = sy-uname IMPORTING out_parameters = mstr_print_parms valid = mc_valid EXCEPTIONS archive_info_not_found = 1 invalid_print_params = 2 invalid_archive_params = 3 OTHERS = 4.

21、*- Make sure that a printer destination has been set up *- If this is not done the PDF function module ABENDSIF mstr_print_parms-pdest = space. mstr_print_parms-pdest = LOCL.ENDIF.*- Explicitly set line width, and output format so that *- the PDF conversion comes out OKmstr_print_parms-linsz = p_lin

22、sz. mstr_print_parms-paart = p_paart. SUBMIT (p_repid) TO SAP-SPOOL WITHOUT SPOOL DYNPRO SPOOL PARAMETERS mstr_print_parms VIA SELECTION-SCREEN AND RETURN. *- Find out what the spool number is that was just created PERFORM get_spool_number USING sy-repid sy-uname CHANGING mi_rqident. *- Convert Spoo

23、l to PDFCALL FUNCTION CONVERT_ABAPSPOOLJOB_2_PDF EXPORTING src_spoolid = mi_rqident no_dialog = space dst_device = mstr_print_parms-pdest IMPORTING pdf_bytecount = mi_bytecount TABLES pdf = mtab_pdf EXCEPTIONS err_no_abap_spooljob = 1 err_no_spooljob = 2 err_no_permission = 3 err_conv_not_possible =

24、 4 err_bad_destdevice = 5 user_cancelled = 6 err_spoolerror = 7 err_temseerror = 8 err_btcjob_open_failed = 9 err_btcjob_submit_failed = 10 err_btcjob_close_failed= 11 OTHERS = 12. data: lf type string.lf = mc_filename. CALL FUNCTION GUI_DOWNLOAD EXPORTING* BIN_FILESIZE = filename = lf FILETYPE = BIN* APPEND = * WRITE_FIELD_SEPARATOR = * HEADER = 00* TRUNC_TRAILING_BLANKS = * WRITE_LF = X* COL_SELECT = * COL_SELECT_MASK = * DAT_MODE = * CONFIRM_OVERWRITE = * NO_AUTH_CHECK = * CODEPAGE = * IGNORE_CERR = ABAP_TRUE* REPLACEMENT = # * WRITE_BOM =

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1