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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

SAP ALV 详细使用方法.docx

1、SAP ALV 详细使用方法ALV学习资料SAP提供一组ALV(ABAP LIST VIEWER)功能模块,这些功能模块可以修饰报表输出。这些设置的ALV功能可以提高报表的可读性。首先呢,我先跟大家说一下ALV是什么东西?ALV=SAP LIST VIEWER,SAP列表显示器。就目前ALV技术主要分ALV GRID 和 ALV TREE。先跟大家说一下目前本人用的比较多的ALV GRID技术,ALV GRID 的效果见图()。图()第一步在使用ALV时,需要定义一个SAP标准TYPE-POOLS,具体语法为:TYPE-POOLS: SLIS.然后需要定义一个LAYOUT式样,和一个FIELD

2、CAT字段格式,具体语法为:DATA: LIT_FCAT TYPE SLIS_T_FIELDCAT_ALV, LT_LAYO TYPE SLIS_LAYOUT_ALV,GIT_EVENTS TYPE SLIS_T_EVENT, GIT_LISTHEADER TYPE SLIS_T_LISTHEADER., LIT_EXTAB TYPE SLIS_T_EXTAB.第二步(可选)可以为需要为最初的目录显示选择参数。在这里需要使用函数REUSE_ALV_VARIANT_DEFAULT_GETSample code: CALL FUNCTION REUSE_ALV_VARIANT_DEFAULT_GE

3、T EXPORTING i_save = variant save condition ( A=all, U = user-specific ) CHANGING cs_variant = internal table containing the program name (and the default variant-optional ) EXCEPTIONS not_found = 2.使用者也可以使用现有的变量中选择,使用函数REUSE_ALV_VARIANT_F4。第三步调用函数REUSE_ALV_EVENTS_GET达到分屏显示的效果Sample code: CALL FUNCT

4、ION REUSE_ALV_EVENTS_GET EXPORTING I_LIST_TYPE = 0 IMPORTING ET_EVENTS = GIT_EVENTS EXCEPTIONS LIST_TYPE_WRONG = 1 OTHERS = 2.具体效果见图()图也可以为GIT_EVENTS添加许多参数也可以插入图片,需要使用函数REUSE_ALV_COMMENTARY_WRITESample code:CALL FUNCTION REUSE_ALV_COMMENTARY_WRITE EXPORTING IT_LIST_COMMENTARY = GIT_LISTHEADER 文本抬头 I

5、_LOGO = ENJOYSAP_LOGO. 图片 L_LISTHEADER-TYP = H. L_LISTHEADER-INFO = TEST ALV. 文本抬头内容APPEND L_LISTHEADER TO GIT_LISTHEADER.具体效果见图()图()第四步调用函数REUSE_ALV_FIELDCATALOG_MERGE获得标准字段Sample code:CALL FUNCTION REUSE_ALV_FIELDCATALOG_MERGE EXPORTING I_PROGRAM_NAME = SY-REPID I_STRUCTURE_NAME = MSEG 表名 CHANGING

6、 CT_FIELDCAT = LIT_FCAT 字段格式 EXCEPTIONS INCONSISTENT_INTERFACE = 1 PROGRAM_ERROR = 2 OTHERS = 3 CLEAR PS_FCAT. PS_FCAT-FIELDNAME = MATNR. 表中字段名PS_FCAT-REF_TABNAME = MSEG. 表名PS_FCAT-KEY = X 水平移动时固定该列PS_FCAT-COL_POS = 1. 列的位数 APPEND PS_FCAT TO LIT_FCAT.具体效果见图()图()在这里我们也可以使用自定义字段Sample code: PS_FCAT-FI

7、ELDNAME = TEXT. 字段名,一定要大写PS_FCAT-INTTYPE = P. 字段类型PS_FCAT-OUTPUTLEN = 20 . 输出长度 PS_FCAT-COL_POS = 7. 列的位数 PS_FCAT-SELTEXT_L = ADD BY Jacky_L. 列的抬头文本 PS_FCAT-SELTEXT_M = ADD BY Jacky_M. 列的抬头文本 PS_FCAT-SELTEXT_S = ADD BY Jacky_S. 列的抬头文本 PS_FCAT-DDICTXT = M. 选择M抬头 PS_FCAT-EDIT = X. 该列可编辑 APPEND PS_FCAT

8、 TO LIT_FCAT.具体效果见图()图()在这里我们也可以自己设定输出的格式Sample code: CLEAR PS_FCAT. PS_FCAT-FIELDNAME = BWART. 字段名,一定要大写 PS_FCAT-REF_TABNAME = MSEG 表名. PS_FCAT-OUTPUTLEN = 20. 字段输出长度 PS_FCAT-JUST = C. 字段输出居中 PS_FCAT-COL_POS = 9. 列的位置 PS_FCAT-EMPHASIZE = X. 颜色,也可以是CXYZ如C501. PS_FCAT-HOTSPOT = X. 激活热点 APPEND PS_FCAT

9、 TO LIT_FCAT.具体效果见图()图()还可以把输出的字段变成图标:首先呢,在数据取入内表之后,循环这个内表,把要改变的那个字段进行操作Sample code: LOOP AT LIT_OUTTAB. LIT_OUTTAB-WERKS = 06. 图标的名字 MODIFY LIT_OUTTAB.ENDLOOP.然后在定义字段格式的时候 PS_FCAT-FIELDNAME = WERKS. PS_FCAT-REF_TABNAME = MSEG. PS_FCAT-COL_POS = 10. PS_FCAT-ICON = X. 激活图标 APPEND PS_FCAT TO LIT_FCAT.

10、具体效果见图()图()第五步当你把字段格式都设定完了之后,那么接下来你就需要设定LAYOUT输出的格式了。在LAYOUT中有几个参数是比较重要和比较常用到的:LAYOUT-COLWIDTH_OPTIMIZE:当你把这个参数的值设为X时,ALV中的字段就会自动缩近,也就是说当你把一个字段设为100位长时,而你输入的那个值只有10位长,这个参数就会把字段的长度自动缩进为10位长:Sample code:LT_LAYO-COLWIDTH_OPTIMIZE = X. 自动缩进效果见图()。图()LAYOUT-ZEBRA:当你把这个参数的值设为X时,ALV显示时会隔行颜色相同,Sample code:L

11、T_LAYO-COLWIDTH_OPTIMIZE = X. 自动缩进效果见图()。图()LAYOUT-F2CODE :当你把这个参数设为&ETA时,你双击字段时会触发FUNCTION CODESample code:LT_LAYO-F2CODE = &ETA 双击触发效果见图()。图()LAYOUT-EDIT:当你把这个参数的值设定为X之后,就表示输出的时候ALV所有的列都可以修改,Sample code:LT_LAYO-EDIT = X 所有列都可以修改效果见图()。图()第六步当你把字段格式和LAYOUT格式都设置的差不多了,那么接下来就需要把你要显示的字段和内容取入你的内表,这个我就不多

12、说了,每个人都每个人的需求。第七步那么在你做好以上那6个步骤之后,就可以把ALV显示出来了,这里需要调用函数REUSE_ALV_GRID_DISPLAYSample code: CALL FUNCTION REUSE_ALV_GRID_DISPLAY EXPORTING I_CALLBACK_PROGRAM = L_REPID 返回程序 IS_LAYOUT = LT_LAYO 输出格式 IT_FIELDCAT = LIT_FCAT 字段输出格式 IT_EVENTS = GIT_EVENTS 分屏显示 I_GRID_TITLE = 物料凭证 ALV抬头 I_CALLBACK_USER_COMMA

13、ND = FRM_UCOMM TABLES T_OUTTAB = LIT_OUTTAB 输出的内表 EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2.例子程序:*&-*& Report Z_TEST_ALV_ZJY *& *&-*& *& *&-*REPORT Z_TEST_ALV_ZJY .TABLES: MSEG.TYPE-POOLS: SLIS.DATA: LIT_FCAT TYPE SLIS_T_FIELDCAT_ALV, LT_LAYO TYPE SLIS_LAYOUT_ALV.DATA BEGIN OF LIT_OUTTAB OCCURS 0. INC

14、LUDE STRUCTURE MSEG.DATA: TEXT TYPE P DECIMALS 2, ROW_COLOR(4), END OF LIT_OUTTAB.DATA: GIT_EVENTS TYPE SLIS_T_EVENT, ,RUNTIME ERROR GIT_LISTHEADER TYPE SLIS_T_LISTHEADER.,RUNTIME ERRORDATA LIT_EXTAB TYPE SLIS_T_EXTAB.*&-* Start of Selection*&-*START-OF-SELECTION. PERFORM FRM_GET_EVENTS. PERFORM FRM

15、_COMMENT_BUILD. PERFORM FRM_FLDCAT. PERFORM FRM_LAYOUT. PERFORM FRM_ADD_DATA. PERFORM FRM_EXCLUDING. PERFORM FRM_OUTPUT.*&-*& Form FRM_FLDCAT*&-* text*-*FORM FRM_FLDCAT .DATA LS_FCAT TYPE SLIS_FIELDCAT_ALV.* CLEAR LIT_FCAT. PERFORM FRM_GET_ALL_FIELD USING LS_FCAT.* REF PERFORM FRM_REF_FIELD USING LS

16、_FCAT.* PERFORM FRM_REDEFINE_FIELD USING LS_FCAT.* PERFORM FRM_SUM_FIELD USING LS_FCAT.* HOTSPOT PERFORM FRM_COLOR_HOTSPOT USING LS_FCAT.* PERFORM FRM_FORMAT_FIELD USING LS_FCAT.ENDFORM. FRM_FLDCAT*&-*& Form FRM_ADD_DATA*&-* text*-*FORM FRM_ADD_DATA . SELECT * UP TO 10 ROWS INTO CORRESPONDING FIELDS

17、 OF TABLE LIT_OUTTAB FROM MSEG.* ICON LOOP AT LIT_OUTTAB. LIT_OUTTAB-WERKS = 06. LIT_OUTTAB-TEXT = . LIT_OUTTAB-ROW_COLOR = 5. MODIFY LIT_OUTTAB. ENDLOOP.ENDFORM. FRM_ADD_DATA*&-*& Form FRM_LAYOUT*&-* text*-*FORM FRM_LAYOUT . LT_LAYO-COLWIDTH_OPTIMIZE = X. LT_LAYO-ZEBRA = X. *LT_LAYO-EDIT = X. ALV,*

18、 LT_LAYO-INFO_FIELDNAME = ROW_COLOR. OUTTAB LT_LAYO-F2CODE = &ETA. FUNCTION CODE* LT_LAYO-TOTALS_ONLY = X.* LT_LAYO-DETAIL_POPUP = X.ENDFORM. FRM_LAYOUT*&-*& Form FRM_OUTPUT*&-* text*-*FORM FRM_OUTPUT .DATA L_REPID LIKE SY-REPID VALUE SY-REPID. CALL FUNCTION REUSE_ALV_GRID_DISPLAY EXPORTING I_CALLBA

19、CK_PROGRAM = L_REPID SAPSY-REPID IS_LAYOUT = LT_LAYO IT_FIELDCAT = LIT_FCAT IT_EVENTS = GIT_EVENTS I_SAVE = X I_GRID_TITLE = I_CALLBACK_USER_COMMAND = FRM_UCOMM IT_EXCLUDING = LIT_EXTAB SHIFT+F3 SAPALV STATUS SAPLSALV* I_STRUCTURE_NAME = MSEG MSEG TABLES T_OUTTAB = LIT_OUTTAB EXCEPTIONS PROGRAM_ERRO

20、R = 1 OTHERS = 2. IF SY-SUBRC 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.ENDFORM. FRM_OUTPUT*&-*& Form FRM_GET_ALL_FIELD*&-* text*-* - p1 text* - p2 text*-*FORM FRM_GET_ALL_FIELD USING PS_FCAT TYPE SLIS_FIELDCAT_ALV. CALL FUNCTION REUSE_ALV_F

21、IELDCATALOG_MERGE EXPORTING I_PROGRAM_NAME = SY-REPID* I_INTERNAL_TABNAME = I_STRUCTURE_NAME = MSEG* I_CLIENT_NEVER_DISPLAY = X* I_INCLNAME =* I_BYPASSING_BUFFER =* I_BUFFER_ACTIVE = CHANGING CT_FIELDCAT = LIT_FCAT EXCEPTIONS INCONSISTENT_INTERFACE = 1 PROGRAM_ERROR = 2 OTHERS = 3 . IF SY-SUBRC 0. M

22、ESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. LOOP AT LIT_FCAT INTO PS_FCAT. IF SY-TABIX 4. DELETE LIT_FCAT. ENDIF. ENDLOOP.ENDFORM. FRM_GET_ALL_FIELD*&-*& Form FRM_REF_FIELD*&-* text*-*FORM FRM_REF_FIELD USING PS_FCAT TYPE SLIS_FIELDCAT_ALV. CLEAR

23、 PS_FCAT. PS_FCAT-FIELDNAME = MATNR. PS_FCAT-REF_TABNAME = MSEG. PS_FCAT-COL_POS = 1. PS_FCAT-KEY = X. APPEND PS_FCAT TO LIT_FCAT.ENDFORM. FRM_REF_FIELD*&-*& Form FRM_REDEFINE_FIELD*&-* text*-*FORM FRM_REDEFINE_FIELD USING PS_FCAT TYPE SLIS_FIELDCAT_ALV.* CLEAR PS_FCAT. PS_FCAT-FIELDNAME = TEXT. PS_FCAT-INTTYPE = P. PS_FCAT-DATATYPE = P. PS_FCAT-OUTPUTLEN = 20. PS_FCAT-COL_POS = 7.* LIT_FCAT-CHECKBOX = X. PS_FCAT-SELTEXT_L = ADD BY Jacky_L. PS_FCAT-SELTEXT_M = ADD BY Jacky_M. PS_FCAT-SELTEXT_S = ADD BY Jacky_S.

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

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