




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ALVALV 开发流程:开发流程: 1. 将得到并整理好的数据以将得到并整理好的数据以 ALV 的形式显示出来的形式显示出来.4 1.1. 在子在子 FORM(这里如:(这里如:F_FIELDS)指定需要显示的字段)指定需要显示的字段.4 1.2. 在子在子 FORM(这里如:(这里如:F_BUILD_LAYOUT)里设置)里设置 ALV 的全局属性的全局属性 .4 1.3. 在子在子 FORM(这里如:(这里如:F_DISPLAY)里将内表中的数据进行显示)里将内表中的数据进行显示 .51.4. 为为 ALV 程序添加表头标题(这里以添加程序添加表头标题(这里以添加 HTML 表头标题为主)表头标题为主).5 1.4.1. 在显示 ALV 的函数(REUSE_ALV_GRID_DISPLAY_LVC)里添加一个参数.5 1.4.2. 在子 FORM(F_TOP_OF_PAGE)里定义好需要的变量.5 1.4.3. 准备好所需数据,如登录用户的描述、制表日期等.6 1.4.4. 将表头数据输出 .6 2. 函数函数“REUSE_ALV_GRID_DISPLAY_LVC”中输入参数的应用中输入参数的应用 .7 2.1. 排序排序.7 2.1.1. 在显示 ALV 的子 FORM 里定义排序用到的变量 .7 2.1.2. 设置好需要排序的字段 .8 2.1.3. 在显示 ALV 的函数的输入参数里添加排序的属性.8 2.2. 隐藏不必要的标准按钮隐藏不必要的标准按钮.8 2.2.1. 先在显示 ALV 的子 FORM 里定义隐藏按钮用到的变量.8 2.2.2. 得到需要隐藏的标准按钮的“FCODE”.8 2.3. 自定义自定义“工具栏工具栏” .9 2.3.1. 在显示 ALV 的函数的输入参数里指定自定义按钮的子 FORM.9 3. 热点链接、用户动作的捕捉、调用其他程序或标准事务程序热点链接、用户动作的捕捉、调用其他程序或标准事务程序.11 3.1在显示在显示 ALV 的函数的输入参数里指定捕捉用户动作的子的函数的输入参数里指定捕捉用户动作的子 FORM .11 3.2在在“字段和列名字段和列名”的子的子 FORM(F_FIELDS)里,对需要链接的列添加)里,对需要链接的列添加“热点热点”属性属性.11 3.3. 操作代码操作代码 .11 3.4. 显示具体细节显示具体细节.12 3.5. 调用其他事务调用其他事务.14 3.6. 打开并选择文件:打开并选择文件: .14 4. 关于设置字段和列名的子关于设置字段和列名的子 FORM(F_FIELDS)的参数设置:)的参数设置:.15 4.1. 单列优化宽度单列优化宽度.15 4.2. 单列求和或者取消求和,添加属性单列求和或者取消求和,添加属性.15 4.3. 对其方式对其方式 .15 4.4. 作为图标输出作为图标输出.16 4.5. 固定列和关键列固定列和关键列.16 4.6. 列的字符宽度列的字符宽度.16 5. 单元格的单元格的 F1、F4 帮助:帮助:.17 5.1. F1 帮助:帮助:.17 5.2. F4 帮助:帮助:.17 6. 输入并保存、回调修改内表(输入时的小数位错位的问题、指定数据类型、输入并保存、回调修改内表(输入时的小数位错位的问题、指定数据类型、 小说位数)小说位数).17 7. 界面颜色的更改界面颜色的更改 .18 7.1. 更改单元格(字体)的前景、背景颜色更改单元格(字体)的前景、背景颜色.19 7.2. 更改行的颜色和列的颜色更改行的颜色和列的颜色: .19 7.3. 利用设置字段和列名子的利用设置字段和列名子的 FORM(F_FIELDS)里来设置列的颜色)里来设置列的颜色 .20 8. ALV 自带的最左端复选框按钮和自定义复选框按钮自带的最左端复选框按钮和自定义复选框按钮.20 8.1. ALV 自带的复选框按钮:自带的复选框按钮:.20 8.2. 自定义复选框按钮自定义复选框按钮 .20 9. 按照上传的模板格式导出为本地文件按照上传的模板格式导出为本地文件.21 9.1. 定义导出为定义导出为 EXCEL 用到的数据变量用到的数据变量 .21 9.2. 上传模板上传模板 .21 9.3 代码代码.22 10. 为为 ALV 标题添加图片标题添加图片.26 10.1. 上传图片上传图片 .26 10.2. 在子在子 FORM(F_TOP_OF_PAGE2)里的代码)里的代码.27 ALV:ABAP LIST VIEW,一种比较美观的报表显示工具 REUSE_ALV_LIST_DISPLAY Grid 的是 Excel 单元格的格式,而 list 不是 REUSE_ALV_GRID_DISPLAY 可以控制某一行 某一列,甚至某一格(CELL)的读写 ALV 用到的函数,目前我们有 2 个:REUSE_ALV_GRID_DISPLAY、REUSE_ALV_GRID_DISPLAY_LVC;两个 函数都可以将数据用 ALV 的形式显示出来,只是在一些小的地方有些不同。只是在一些小的地方有些不同。 其中这两个函数都用到的全局变量为:1 个类型池 SLIS 和一个指定列数的变量 DATA: v_pos TYPE i. 指定第几列 pos 表示列 第 1 个函数用到的全局变量如下:都是 slis 类型池中的类型,结尾都是 alv(表示他们用于 alv) DATA: wa_fieldcat TYPE slis_fieldcat_alv , 相当于工作区 i_fieldcat TYPE slis_t_fieldcat_alv , 存放列名的内表 i_layout TYPE slis_layout_alv . 负责整个 ALV 的全局属性 第 2 个函数用到的全局变量: DATA: wa_fieldcat TYPE lvc_s_fcat , 相当于工作区 i_fieldcat_lvc TYPE lvc_t_fcat , 存放列名的内表 i_layout_lvc TYPE lvc_s_layo . 负责整个 ALV 的全局属性 下面以第 2 个函数(REUSE_ALV_GRID_DISPLAY_LVC)来介绍 ALV 的用法; 1.将得到并整理好的数据以将得到并整理好的数据以 ALV 的形式的形式 显示出来显示出来 1.1.在子在子 FORM(这里如:(这里如:F_FIELDS)指定需要显示)指定需要显示 的字段的字段 wa_fieldcat 工作区,可以赋值工作区,可以赋值 v_pos = v_pos + 1 . 初始值是零 wa_fieldcat-col_pos = v_pos . 指定列数 wa_fieldcat-fieldname = PSPID . 需要输出的内表的字段名 wa_fieldcat-scrtext_l = 项目定义 . 字段的描述-长字段标签 screen text long wa_fieldcat-scrtext_m = 项目定义 . 字段描述-中字段标签 wa_fieldcat-scrtext_s = 项目定义 . 字段描述-短字段标签 wa_fieldcat-fix_column = X . 是否是固定列 column klm列 APPEND wa_fieldcat TO i_fieldcat_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”“A”在最左端有选择按在最左端有选择按 钮钮 i_layout_lvc-cwidth_opt = X . 自动优化列宽 i_layout_lvc-detailinit = X . 是否出现细节屏幕 i_layout_lvc-detailtitl = 详细内容 . 细节屏幕标题 1.3.在子在子 FORM(这里如:(这里如:F_DISPLAY)里将内表中的)里将内表中的 数据进行显示数据进行显示 CALL FUNCTION REUSE_ALV_GRID_DISPLAY_LVC EXPORTING i_callback_program = sy-repid 当前程序 is_layout_lvc = i_layout_lvc 属性内表 it_fieldcat_lvc = i_fieldcat_lvc 列明内表 i_save = X 是否保存布局 TABLES t_outtab = i_tab 数据内表 EXCEPTIONS program_error = 1 OTHERS = 2. 通过这一步后,一个基本的 ALV 程序就完成了;下面是对 ALV 程序的优化和扩展。 1.4.为 ALV 程序添加表头标题(这里以添加 HTML 表 头标题为主) 1.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”调用,如下: FORM f_top_of_page USING p_cl_dd TYPE REF TO cl_dd_document. 1.4.2.在子在子 FORM(F_TOP_OF_PAGE)里定义好需要的变)里定义好需要的变 量量 定义登录用户的描述 DATA: l_name TYPE string , name_first LIKE adrp-name_first , name_last LIKE adrp-name_last . 定义登录日期 DATA: l_date TYPE string . 定义缓冲区变量 DATA: m_p TYPE i , m_buffer TYPE string . 1.4.3.准备好所需数据,如登录用户的描述、制表日期等 得到登录用户的描述 SELECT SINGLE adrpname_first adrpname_last INTO (name_first,name_last) FROM adrp INNER JOIN usr21 ON adrppersnumber = usr21persnumber WHERE usr21bname = sy-uname . IF sy-subrc = 0 . CONCATENATE name_last name_first INTO l_name . ELSE . l_name = sy-uname . ENDIF. CLEAR name_first . CLEAR name_last . 拼接制表日期 CONCATENATE sy-datum+0(4) . sy-datum+4(2) . sy-datum+6(2) . INTO l_date . 1.4.4.将表头数据输出将表头数据输出 开始输出表头标题 m_buffer = ALV 测试 . CALL METHOD p_cl_dd-html_insert EXPORTING contents = m_buffer CHANGING position = m_p. 输出制表人和制表日期 CONCATENATE 出表人: l_name出表日期: l_date INTO m_buffer . CALL METHOD p_cl_dd-html_insert EXPORTING contents = m_buffer CHANGING position = m_p. 现将需要显示的表头数据放到变量“M_BUFFER”中,然后调用方法“P_CL_DD-HEML_INSERT”将 数据插入到 HTML 页面中显示,至此显示表头数据完成; 2.函数函数 “REUSE_ALV_GRID_DISPLAY_LVC”中输入中输入 参数的应用参数的应用 2.1.排序排序 排序之前,如果同一列有相同的数据,则排好序以后,在该列会自动将相同的数据合并为一行显 示,不再出现多行重复的情况(但是若该 ALV 中有字段设置了“可编辑” ,合并这一现象会失效) , 步骤如下: 2.1.1.在显示在显示 ALV 的子的子 FORM 里定义排序用到的变量里定义排序用到的变量 定义排序变量 DATA: wa_sort_lvc TYPE lvc_s_sort , struture it_sort_lvc TYPE lvc_t_sort . table 2.1.2.设置好需要排序的字段设置好需要排序的字段 设置排序参数 wa_sort_lvc-spos = 1 . 排序顺序 wa_sort_lvc-fieldname = CITYFROM . 排序字段 wa_sort_lvc-up = X . 升序 APPEND wa_sort_lvc TO it_sort_lvc . CLEAR wa_sort_lvc . wa_sort_lvc-spos = 2 . 排序顺序 wa_sort_lvc-fieldname = CITYTO . 排序字段 wa_sort_lvc-up = X . 升序 APPEND wa_sort_lvc TO it_sort_lvc . CLEAR wa_sort_lvc . 2.1.3.在显示在显示 ALV 的函数的输入参数里添加排序的属性的函数的输入参数里添加排序的属性 it_sort_lvc = it_sort_lvc 2.2.隐藏不必要的标准按钮隐藏不必要的标准按钮 2.2.1.先在显示先在显示 ALV 的子的子 FORM 里定义隐藏按钮用到的里定义隐藏按钮用到的 变量变量 定义隐藏标准按钮的变量 DATA: wa_excluding TYPE slis_t_extab , it_excluding TYPE slis_extab . 2.2.2.得到需要隐藏的标准按钮的得到需要隐藏的标准按钮的“FCODE” 首先用事务码“SE24”进入 SAP 的“类别制作器” ,在“Object type”后面输入 ALV 的类 “CL_GUI_ALV_GRID” ,点击“Display”进入显示界面,点击“Attributes”选项卡,找到自己需要的 “属性”和“初始值” ,这个初始值就是我们要找的标准按钮的“FCODE” (注意:每一个标准按钮代表的 FCODE 是靠经验积累而 掌握的) ; 1、设将需要隐藏的标准按钮的“FCODE”添加到内表 IT_EXCLUDING 中,代码如下: 设置要隐藏的按钮的“FCODE” wa_excluding-fcode = &ABC . APPEND wa_excluding TO it_excluding . 2、在显示 ALV 的函数的输入参数里添加隐藏按钮的属性参数: it_excluding = it_excluding 1、 ALV 标题,定义标题变量并赋值,然后在显示 ALV 的函数的输入参数里添加“小标题”的参数, 代码如下: 小标题 DATA: i_grid_title TYPE lvc_title . i_grid_title = 小标题 . * i_grid_title = i_grid_title 2.3.自定义自定义“工具栏工具栏” 2.3.1.在显示在显示 ALV 的函数的输入参数里指定自定义按钮的函数的输入参数里指定自定义按钮 的子的子 FORM i_callback_pf_status_set = F_SET_STATUS 当然该子 FORM 和产生表头的子 FORM 一样,也不显式的调用,代码如下: FORM f_set_status USING p_extab TYPE slis_t_extab . SET PF-STATUS Z_ALV_STATUS . ENDFORM. f_set_status 双击其中的“Z_ALV_STATUS” ,进入创建工具栏的界面,输入名字后进入最终的界面在界面右侧, 点击“应用工具条”后面的展开符号,在“项目”后面的白色方框内输入“自定义按钮”的代码 后回车,选择静态文本回车,在“函数文本”后面输入想要显示的按钮的名称,在“图标名称” 后面选择相应的图标(可选) ,回车在这一界面选择一个“快捷键” (必填)后回车,这样一个自 定义按钮就做好了,也可以修改,记住刚刚创建的按钮的代码,在下面的捕捉用户的动作的自 FORM(F_USER_COMMAND)会根据刚才的代码来进行相应的操作; 1、 点开“功能键”后面的展开符号,进入功能键的设置,下图是各个动作对应的代码: 2、 没有自定义按钮时候,函数里的“i_callback_pf_status_set = F_SET_STATUS”这个 参数可以不要,这时会显示 ALV 标准的按钮,当然这些按钮可以部分隐藏(见三、2) ; 3、 当我们使用自定义按钮后,ALV 自带的标准按钮,就会失效,这时我们需要将一些用户要求我们 必须显示的按钮一一地在“应用工具条”后面补上,如下图: 其中“分隔符”的插入方法为:在需要插入分隔符的方框内选择菜单“Edit”“Insert” “Separator line”即可插入分隔符; 下面是上图中的标准工具的名称、代码、图标名称、快捷键 名称名称代码代码图标名称图标名称快捷键快捷键 刷新 REFRESHICON_REFRESH F8(可随便更改) 导出为 EXCEL 表格 EXCEL 无Shift-F8(可随便更改) ABC 分析 &ABCICON_ABCCtrl-F1 按升序排列 &OUPICON_SORT_UPCtrl-F4 设置过滤器 &ILTICON_FILTERCtrl-F5 总计 &UMCICON_SUMCtrl-F6 邮件查收件 %SLICON_MAILCtrl-F7 更改布局 &OL0ICON_ALV_VARIANTSCtrl-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-F6 Microsof&VEXCELICON_XLSCtrl-Shift-F7 字处理 &AQWICON_WORD_PROCESSINGCtrl-Shift-F8 本地文件 %PCICON_EXPORTCtrl-Shift-F9 打印预览 &RNT_PREVICON_LAYOUT_CONTROLCtrl-Shift-F10 图形 &GRAPHICON_GRAPHICSCtrl-Shift-F11 上表中红色的属于自定义按钮,自定义按钮可以使用标准的图标名称,也可以不适用图标; 3.热点链接、用户动作的捕捉、调用其热点链接、用户动作的捕捉、调用其 他程序或标准事务程序他程序或标准事务程序 3.1 在显示在显示 ALV 的函数的输入参数里指定捕捉用户动作的函数的输入参数里指定捕捉用户动作 的子的子 FORM FORM f_user_command USING p_ucomm TYPE sy-ucomm p_rs_selfield TYPE slis_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 . 热点,链接用 APPEND wa_fieldcat TO i_fieldcat . CLEAR wa_fieldcat . 这样在显式界面上“起飞城市”所代表的字段“CITYFROM”的下面就会出现一条下划线,同时 当鼠标移动到该列时,就会变成“等待”的手势,当用户单击每一条时,就会触动子 FORM(F_USER_COMMAND)中的动作,进而引起某些操作; 3.3.操作代码操作代码 对于热点链接,所对应的动作码为“&IC1” ,在子 FORM(F_USER_COMMAND)中捕捉用户的动作,并进行相 应的操作,代码如下: FORM f_user_command USING p_ucomm TYPE sy-ucomm p_rs_selfield TYPE slis_selfield . CASE p_ucomm. WHEN &IC1 . 判断用户的动作 读取用户点击的当前行的一行内容 READ TABLE i_tab INTO wa_tab INDEX p_rs_selfield-tabindex . IF p_rs_selfield-fieldname EQ CITYFROM. 判断用户点击的是哪一列 IF NOT wa_tab-cityfrom IS INITIAL . PERFORM f_show_detail USING p_rs_selfield . 显示具体细节 ENDIF. ELSEIF p_rs_selfield-fieldname EQ TCODE . IF NOT wa_tab-tcode IS INITIAL . PERFORM f_call_tran USING p_rs_selfield . 调用其他事务 ENDIF . ELSEIF p_rs_selfield-fieldname EQ ICON_FOLDER . PERFORM f_open_folder USING p_rs_selfield . 打开文件 ENDIF. CLEAR wa_tab . WHEN &SAVE_DATA . PERFORM f_save_data . 保存数据 WHEN PRINT . PERFORM f_print_data. 打印数据 WHEN EXCEL . PERFORM f_export . 导出数据 ENDCASE. p_rs_selfield-refresh = X . 当用户在显式界面上对数据进行修改时,同 时内表中的数据也随之刷新 ENDFORM. f_user_command 3.4.显示具体细节显示具体细节 1、先定义一个存放具体内容的内表并整理好相关数据; 2、调用 一个指定大小的屏幕来显示具体的内容,代码如下: CALL SCREEN 0100 STARTING AT 12 12 ENDING AT 137 24 . 3、双击该屏幕号码“0100”创建该屏幕,在“属性”卡输入该屏幕的描述,在“逻辑 流”卡里将系统默认注释掉的 PBO、PAI 事件的模块取消注释并产生这两个模块(双击并 确定) ; 4、在“屏幕制作器”界面点击进入“屏幕制作器”的图形界面,开始绘制 我们需要的屏幕元素,这里我们需要一个“表控制” (最左边从下数第四个元素) ,该表格 的属性设置为: 名称: 起始行列和高宽 上图表示“列标题”为“具体内容” ,可以水平或垂直的调节大小,有水平和垂直的分隔 符,只能同时选中一行一列,带选择列(DE_BOX) ,最左端两列固定不滚动; 5、接下来给单元格和列标题名称并给单元格指定内表的字段, 6、屏幕的 PBO、PAI 事件的代码如下: PROCESS BEFORE OUTPUT. MODULE status_0100. LOOP AT i_detail INTO wa_detail WITH CONTROL vs_detail CURSOR i_detail-current_line . ENDLOOP. * PROCESS AFTER INPUT. LOOP AT i_detail . ENDLOOP. MODULE user_command_0100. 7、需要在定义变量的时候声明一下表控制和动作的接受者(OK_CODE)如下: * 表控制 IS_MATNR CONTROLS vs_detail TYPE TABLEVIEW USING SCREEN 0100 . 利用同名传递原理,来接受细节屏幕上的元素“ok_code”的值 DATA: ok_code TYPE sy-ucomm . 8“MODULE status_0100.”的代码如下: MODULE status_0100 OUTPUT. SET PF-STATUS 0100 . DESCRIBE TABLE i_detail LINES vs_detail-current_line . ENDMODULE. status_0100 OUTPUT 在“0100”的工具栏里,只设置即可满足需求; “MODULE user_command_0100.”的代码如下: MODULE user_command_0100 INPUT. CASE ok_code. WHEN BACK . SET SCREEN 0 . 返回主屏幕 ENDCASE. ENDMODULE. user_command_0100 INPUT 完成调用细节屏幕; 注意:在显示细节屏幕的字段的类型上,当内表中有数据为货币类型的时候,要在“格式”里指明该字段 是货币类型的数据,如下图: 3.5.调用其他事务调用其他事务 FORM f_call_tran USING p_rs_selfield TYPE slis_selfield . SET PARAMETER ID LIB FIELD p_rs_selfield-value . CALL TRANSACTION SE37 .AND SKIP FIRST SCREEN . ENDFORM. f_call_tran “LIB”是指参数 ID,查找方法:用一个事务码进入事务界面,在输入框内按 F1,在弹出来的 界面中点击,新界面中的就是参数 ID; “SE37”是指我们要调用的事务代码, “AND SKIP FIRST SCREEN”表示跳过第一屏屏幕; 3.6.打开并选择文件:打开并选择文件: 1、现则内表中定义好存放文件路径的字段(这里是 FILE_PATH) ,当用户点击界面上设置好 的打开文件图标时,就会触发子 FORM(F_USER_COMMAND)里的打开文件的子 FORM(F_OPEN_FOLDER) ; 2子 FORM(F_OPEN_FOLDER)的代码如下: FORM f_open_folder USING p_rs_selfield TYPE slis_selfield . DATA: l_file_path LIKE rlgrap-filename . CALL FUNCTION WS_FILENAME_GET EXPORTING mode = O title = 选择文件 IMPORTING filename = l_file_path EXCEPTIONS inv_winsys = 1 no_batch = 2 selection_cancel = 3 selection_error = 4 OTHERS = 5. IF sy-subrc = 0. wa_tab-file_path = l_file_path . 将得到的文件的路径赋给当前行的路 径 MODIFY i_tab INDEX wa_tab- numer FROM wa_tab TRANSPORTING file_path . CLEAR l_file_path . ELSE . MESSAGE s000 WITH 没有选择文件 . ENDIF. ENDFORM. f_open_folder 4.关于设置字段和列名的子关于设置字段和列名的子 FORM(F_FIELDS)的参数设置:)的参数设置: 4.1.单列优化宽度单列优化宽度 当在子 FORM(F_BUILD_LAYOUT)里没有指明全局优化列宽的时候,在需要指定优化的字段的属性里指定 下列属性就可以单列优化了, wa_fieldcat-col_opt = X . 4.2.单列求和或者取消求和,添加属性单列求和或者取消求和,添加属性 wa_fieldcat-do_sum = X . 求和 wa_fieldcat-no_sum = X . 取消求和 如果此时在子 FORM(F_BUILD_LAYOUT)里添加下列属性,则求和后的行就会在第一行出现: i_layout-totals_bef = X . 4.3.对其方式对其方式 wa_fieldcat-just = L . 左对齐 wa_fieldcat-just = C . 居中对齐 wa_fieldcat-just = R . 右对齐 当然,在不指明对其方式的前提下,ABAP 的各种数据类型优默认的对其方式,其中字符串是默 认为左对齐,而货币、数量默认为右对齐; 4.4.作为图标输出作为图标输出 1、首先在开始包含进一个包括,如下: 包含图标等在内的一些信息 INCLUDE . 2、然后在内表中定义一个代表图标的字段(这里如 ICON_FOLDER) ,在整理数据的时候,需 要将代表图标的代码赋给给字段,如下 图标 wa_banfn-icon_folder = icon_object_folder . 3、接着在子 FORM(F_FIELDS)里给需要图标显示的列添加下列属性: v_pos = v_pos + 1 . wa_fieldcat-col_pos = v_pos . wa_fieldcat-fieldname = ICON_FOLDER . wa_fieldcat-scrtext_l = ICON . wa_fieldcat-icon = X . 图标 wa_fieldcat-hotspot = X . APPEND wa_fieldcat TO i_fieldcat . CLEAR wa_fieldcat . 这样图标就可以在 ALV 界面中显示了,其中添加“热点”的目的是为了当用户点击该图标的 时候,可以触发一系列的操作,如文件的选择等等; 注意:图标的名称用事务码“ICON”进入后左边第二列就是图标代码,根据需要进行选择; 4.5.固定列和关键列固定列和关键列 两者都可以使具有该属性的列固定不滚动,但是前者不改变该列的颜色,而后者会将该列的颜色 弄成一色,不容易确认,但它具有其他的功能,代码如下: wa_fieldcat-fix_column = X . 固定列 wa_fieldcat-key = X . 关键列 4.6.列的字符宽度列的字符宽度 可以明显地指明该列的输出宽度,属性代码如下: wa_fieldcat-outputlen= 10 . 输出宽度 列抬头的工具提示,在列的属性添加下列参数,当用户将鼠标放到列名上时,可以显示“提示”2 字, 代码如下: wa_fieldcat-tooltip = 提示 . 5.单元格的单元格的 F1、F4 帮助:帮助: 5.1.F1 帮助:帮助: 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨栏考试题及答案
- 中级财务会计(北方工业大学)知到智慧树答案
- 新安全生产法培训试题(含答案)
- 天津历年教师招聘考试教育公共基础知识真题及答案
- 实验动物助理技师模拟题+参考答案
- 中学生心理健康与道德教育知到智慧树答案
- 化妆品相关法规考核试题(附答案)
- 2025年度税务单证审核及报税合同
- 2025年食品级储存空间租赁合同
- 2025年度道路拓宽土方运输合同范本
- 内蒙古职工考勤管理制度
- GB/T 21220-2024软磁金属材料
- 《数字媒体技术导论》全套教学课件
- 吉林大学介绍
- 卫浴设备安装技能的培训与认证
- NB-T+10488-2021水电工程砂石加工系统设计规范
- 废气处理工程协议
- SH/T 3158-2024 石油化工管壳式余热锅炉(正式版)
- QCSG1204009-2015电力监控系统安全防护技术规范
- 学校幼儿园消防安全风险自查检查指南
- 厚积落叶听雨声
评论
0/150
提交评论