欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    ABAP技巧代码汇总.docx

    • 资源ID:73578       资源大小:77.12KB        全文页数:72页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    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 =


    注意事项

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

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开