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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

ALV总结非传品.docx

1、ALV总结非传品目 录1. 将得到并整理好的数据以ALV的形式显示出来 41.1. 在子FORM(这里如:F_FIELDS)指定需要显示的字段 41.2. 在子FORM(这里如:F_BUILD_LAYOUT)里设置ALV的全局属性 41.3. 在子FORM(这里如:F_DISPLAY)里将内表中的数据进行显示 51.4. 为ALV程序添加表头标题(这里以添加HTML表头标题为主) 51.4.1. 在显示ALV的函数(REUSE_ALV_GRID_DISPLAY_LVC)里添加一个参数 51.4.2. 在子FORM(F_TOP_OF_PAGE)里定义好需要的变量 51.4.3. 准备好所需数据,

2、如登录用户的描述、制表日期等 61.4.4. 将表头数据输出 62. 函数“REUSE_ALV_GRID_DISPLAY_LVC”中输入参数的应用 72.1. 排序 72.1.1. 在显示ALV的子FORM里定义排序用到的变量 72.1.2. 设置好需要排序的字段 82.1.3. 在显示ALV的函数的输入参数里添加排序的属性 82.2. 隐藏不必要的标准按钮 82.2.1. 先在显示ALV的子FORM里定义隐藏按钮用到的变量 82.2.2. 得到需要隐藏的标准按钮的“FCODE” 82.3. 自定义“工具栏” 92.3.1. 在显示ALV的函数的输入参数里指定自定义按钮的子FORM 93. 热

3、点链接、用户动作的捕捉、调用其他程序或标准事务程序 113.1 在显示ALV的函数的输入参数里指定捕捉用户动作的子FORM 113.2 在“字段和列名”的子FORM(F_FIELDS)里,对需要链接的列添加“热点”属性 113.3. 操作代码 113.4. 显示具体细节 123.5. 调用其他事务 143.6. 打开并选择文件: 144. 关于设置字段和列名的子FORM(F_FIELDS)的参数设置: 154.1. 单列优化宽度 154.2. 单列求和或者取消求和,添加属性 154.3. 对其方式 154.4. 作为图标输出 164.5. 固定列和关键列 164.6. 列的字符宽度 165.

4、单元格的F1、F4帮助: 175.1. F1帮助: 175.2. F4帮助: 176. 输入并保存、回调修改内表(输入时的小数位错位的问题、指定数据类型、小说位数) 177. 界面颜色的更改 187.1. 更改单元格(字体)的前景、背景颜色 197.2. 更改行的颜色和列的颜色: 197.3. 利用设置字段和列名子的FORM(F_FIELDS)里来设置列的颜色 208. ALV自带的最左端复选框按钮和自定义复选框按钮 208.1. ALV自带的复选框按钮: 208.2. 自定义复选框按钮 209. 按照上传的模板格式导出为本地文件 219.1. 定义导出为EXCEL用到的数据变量 219.2.

5、 上传模板 219.3 代码 2210. 为ALV标题添加图片 2610.1. 上传图片 2610.2. 在子FORM(F_TOP_OF_PAGE2)里的代码 27ALV:SAP LIST VIEW,一种比较美观的报表显示工具ALV用到的函数,目前我们有2个:REUSE_ALV_GRID_DISPLAY、REUSE_ALV_GRID_DISPLAY_LVC;两个函数都可以将数据用ALV的形式显示出来,只是方在一些小的地方有些不同。其中第两个函数都用到的全局变量为:1个类型池SLIS和一个指定列数的变量DATA:v_posTYPEi.指定第几列第1个函数用到的全局变量如下:DATA:wa_fie

6、ldcatTYPEslis_fieldcat_alv,相当于工作区 i_fieldcatTYPEslis_t_fieldcat_alv,存放列名的捏表 i_layoutTYPEslis_layout_alv.负责整个ALV的全局属性第2个函数用到的全局变量:DATA:wa_fieldcatTYPElvc_s_fcat,相当于工作区 i_fieldcatTYPElvc_t_fcat,存放列名的捏表 i_layoutTYPElvc_s_layo.负责整个ALV的全局属性 下面以第2个函数(REUSE_ALV_GRID_DISPLAY_LVC)来介绍ALV的用法;1. 将得到并整理好的数据以ALV的

7、形式显示出来1.1. 在子FORM(这里如:F_FIELDS)指定需要显示的字段v_pos=v_pos+1.wa_fieldcat -col_pos=v_pos.指定列数wa_fieldcat -fieldname=PSPID.需要输出的内表的字段名wa_fieldcat -scrtext_l=项目定义.字段的描述-长字段标签wa_fieldcat scrtext_m =项目定义.字段描述-中字段标签wa_fieldcat -scrtext_s=项目定义.字段描述-短字段标签wa_fieldcat -fix_column=X.是否是固定列APPEND wa_fieldcatTOi_fieldc

8、at_lvc.CLEAR wa_fieldcat.这样逐步的将需要显示的字段都添加到内表i_fieldcat中;1.2. 在子FORM(这里如:F_BUILD_LAYOUT)里设置ALV的全局属性i_layout_lvc-zebra=X.使ALV界面呈现颜色交替i_layout_lvc-sel_mode=A.选择模式,“A”在最左端有选择按钮i_layout_lvc-cwidth_opt=X.自动优化列宽i_layout_lvc-detailinit=X.是否出现细节屏幕i_layout_lvc-detailtitl=详细内容.细节屏幕标题1.3. 在子FORM(这里如:F_DISPLAY)里

9、将内表中的数据进行显示 CALLFUNCTIONREUSE_ALV_GRID_DISPLAY_LVCEXPORTINGi_callback_program=sy-repid当前程序is_layout_lvc=i_layout_lvc属性内表it_fieldcat_lvc=i_fieldcat_lvc列明内表i_save=X是否保存布局TABLESt_outtab=i_tab数据内表EXCEPTIONSprogram_error=1OTHERS=2.通过这一步后,一个基本的ALV程序就完成了;下面是对ALV程序的优化和扩展。1.4. 为ALV程序添加表头标题(这里以添加HTML表头标题为主)1.

10、4.1. 在显示ALV的函数(REUSE_ALV_GRID_DISPLAY_LVC)里添加一个参数i_callback_html_top_of_page=F_TOP_OF_PAGE 其中“F_TOP_OF_PAGE”是书写ALV表头标题的子FORM,只是在这里使用,没有明显的“PERFORM”调用,如下:FORMf_top_of_pageUSINGp_cl_ddTYPEREFTOcl_dd_document.1.4.2. 在子FORM(F_TOP_OF_PAGE)里定义好需要的变量定义登录用户的描述DATA:l_nameTYPEstring,name_firstLIKEadrp-name_fi

11、rst,name_lastLIKEadrp-name_last.定义登录日期DATA:l_dateTYPEstring.定义缓冲区变量DATA:m_pTYPEi,m_bufferTYPEstring.1.4.3. 准备好所需数据,如登录用户的描述、制表日期等得到登录用户的描述SELECTSINGLEadrpname_firstadrpname_lastINTO(name_first,name_last)FROMadrpINNERJOINusr21ONadrppersnumber=usr21persnumberWHEREusr21bname=sy-uname.IFsy-subrc=0.CONCA

12、TENATEname_lastname_firstINTOl_name.ELSE.l_name=sy-uname.ENDIF.CLEARname_first.CLEARname_last.拼接制表日期CONCATENATEsy-datum+0(2).sy-datum+4(2).sy-datum+6(2).INTOl_date.1.4.4. 将表头数据输出开始输出表头标题m_buffer=ALV测试.CALLMETHODp_cl_dd-html_insertEXPORTINGcontents=m_bufferCHANGINGposition=m_p.输出制表人和制表日期CONCATENATE出表

13、人:l_name                                                           &

14、nbsp                                                 出表日期:l_dateINTOm_buffer.CALLMETHODp_cl_dd-html_inse

15、rtEXPORTINGcontents=m_bufferCHANGINGposition=m_p.现将需要显示的表头数据放到变量“M_BUFFER”中,然后调用方法“P_CL_DD-HEML_INSERT”将数据插入到HTML页面中显示,至此显示表头数据完成;2. 函数“REUSE_ALV_GRID_DISPLAY_LVC”中输入参数的应用2.1. 排序排序之前,如果同一列有相同的数据,则排好序以后,在该列会自动将相同的数据合并为一行显示,不再出现多行重复的情况(但是若该ALV中有字段设置了“可编辑”,合并这一现象会失效),步骤如下:2.1.1. 在显示ALV的子FORM里定义排序用到的变量定

16、义排序变量DATA:wa_sort_lvcTYPElvc_s_sort,it_sort_lvcTYPElvc_t_sort. 2.1.2. 设置好需要排序的字段设置排序参数wa_sort_lvc-spos=1.排序顺序wa_sort_lvc-fieldname=CITYFROM.排序字段wa_sort_lvc-up=X.升序APPENDwa_sort_lvcTOit_sort_lvc.CLEARwa_sort_lvc.wa_sort_lvc-spos=2.排序顺序wa_sort_lvc-fieldname=CITYTO.排序字段wa_sort_lvc-up=X.升序APPENDwa_sort_

17、lvcTOit_sort_lvc.CLEARwa_sort_lvc.2.1.3. 在显示ALV的函数的输入参数里添加排序的属性it_sort_lvc=it_sort_lvc 2.2. 隐藏不必要的标准按钮2.2.1. 先在显示ALV的子FORM里定义隐藏按钮用到的变量定义隐藏标准按钮的变量DATA:wa_excludingTYPEslis_t_extab with header line,it_excludingTYPE table of slis_extab.DATA:wa_excludingTYPEslis_t_extab,it_excludingTYPEslis_extab.2.2.2.

18、 得到需要隐藏的标准按钮的“FCODE”首先用事务码“SE24”进入SAP的“类别制作器”,在“Object type”后面输入ALV的类“CL_GUI_ALV_GRID”,点击“Display”进入显示界面,点击“Attributes”选项卡,找到自己需要的“属性”和“初始值”,这个初始值就是我们要找的标准按钮的“FCODE”(注意:每一个标准按钮代表的FCODE是靠经验积累而 掌握的);1 、 设将需要隐藏的标准按钮的“FCODE”添加到内表IT_EXCLUDING中,代码如下:设置要隐藏的按钮的“FCODE”wa_excluding-fcode=&ABC.APPENDwa_excludi

19、ngTOit_excluding.2 、 在显示ALV的函数的输入参数里添加隐藏按钮的属性参数:it_excluding=it_excluding1、 ALV标题,定义标题变量并赋值,然后在显示ALV的函数的输入参数里添加“小标题”的参数,代码如下:小标题DATA:i_grid_titleTYPElvc_title.i_grid_title=小标题. * i_grid_title=i_grid_title2.3. 自定义“工具栏”2.3.1. 在显示ALV的函数的输入参数里指定自定义按钮的子FORMi_callback_pf_status_set=F_SET_STATUS当然该子FORM和产生

20、表头的子FORM一样,也不显式的调用,代码如下:FORMf_set_statusUSINGp_extabTYPEslis_t_extab.SETPF-STATUSZ_ALV_STATUS.ENDFORM.f_set_status 双击其中的“Z_ALV_STATUS”,进入创建工具栏的界面,输入名字后进入最终的界面在界面右侧,点击“应用工具条”后面的展开符号,在“项目”后面的白色方框内输入“自定义按钮”的代码后回车,选择静态文本回车,在“函数文本”后面输入想要显示的按钮的名称,在“图标名称”后面选择相应的图标(可选),回车在这一界面选择一个“快捷键”(必填)后回车,这样一个自定义按钮就做好了,

21、也可以修改,记住刚刚创建的按钮的代码,在下面的捕捉用户的动作的自FORM(F_USER_COMMAND)会根据刚才的代码来进行相应的操作;1、 点开“功能键”后面的展开符号,进入功能键的设置,下图是各个动作对应的代码:2、 没有自定义按钮时候,函数里的“i_callback_pf_status_set=F_SET_STATUS”这个参数可以不要,这时会显示ALV标准的按钮,当然这些按钮可以部分隐藏(见三、2);3、 当我们使用自定义按钮后,ALV自带的标准按钮,就会失效,这时我们需要将一些用户要求我们必须显示的按钮一一地在“应用工具条”后面补上,如下图:其中“分隔符”的插入方法为:在需要插入分

22、隔符的方框内选择菜单“Edit”“Insert”“Separator line”即可插入分隔符;下面是上图中的标准工具的名称、代码、图标名称、快捷键名称代码图标名称快捷键刷新REFRESHICON_REFRESHF8(可随便更改)导出为EXCEL表格EXCEL无Shift-F8(可随便更改)ABC 分析&ABCICON_ABCCtrl-F1按升序排列&OUPICON_SORT_UPCtrl-F4设置过滤器&ILTICON_FILTERCtrl-F5总计&UMCICON_SUMCtrl-F6邮件查收件%SLICON_MAILCtrl-F7更改布局&OL0ICON_ALV_VARIANTSCtrl

23、-F8选择布局&OADICON_ALV_VARIANT_CHOOSECtrl-F9保存布局&AVEICON_ALV_VARIANT_SAVECtrl-F10信息&INFOICON_INFORMATIONCtrl-F12明细&ETAICON_SELECT_DETAILCtrl-Shift-F3按降序排列&ODNICON_SORT_DOWNCtrl-Shift-F4删除过滤器&ILDICON_FILTER_UNDOCtrl-Shift-F5小计&SUMICON_INTERMEDIATE_SUMCtrl-Shift-F6Microsof&VEXCELICON_XLSCtrl-Shift-F7字处理&

24、AQWICON_WORD_PROCESSINGCtrl-Shift-F8本地文件%PCICON_EXPORTCtrl-Shift-F9打印预览&RNT_PREVICON_LAYOUT_CONTROLCtrl-Shift-F10图形&GRAPHICON_GRAPHICSCtrl-Shift-F11上表中红色的属于自定义按钮,自定义按钮可以使用标准的图标名称,也可以不适用图标;3. 热点链接、用户动作的捕捉、调用其他程序或标准事务程序3.1 在显示ALV的函数的输入参数里指定捕捉用户动作的子FORM i_callback_user_command = F_USER_COMMANDFORMf_use

25、r_commandUSINGp_ucommTYPEsy-ucommp_rs_selfieldTYPEslis_selfield.当然该子FORM和产生表头的子FORM一样,也不显式的调用;3.2 在“字段和列名”的子FORM(F_FIELDS)里,对需要链接的列添加“热点”属性v_pos=v_pos+1.wa_fieldcat-col_pos=v_pos.wa_fieldcat-fieldname=CITYFROM.wa_fieldcat-scrtext_l=起飞城市.wa_fieldcat-fix_column=X.wa_fieldcat-hotspot=X.热点,链接用APPENDwa_fieldcatTOi_fieldcat.CLEARwa_fieldcat.这样在显式界面上“起飞城市”所代表的字段“CITYFROM”的下面就会出现一条下划线,同时当鼠标移动到该列时,就会变成“等待”的手势,当用户单击每一条时,就会触动子FORM(F_USER_COMMAND)中的动作,进而引起某些操作;3.3. 操作代码对于热点链接,所对应的动作码为“&IC1”,在子FORM(F_USER_COMMAND)中捕捉用户的动作,并进行相应的操作,代码如下:FORMf_user_c

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

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