`
touchinsert
  • 浏览: 1333760 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

ABAP--如何将REUSE_ALV_GRID_DISPLAY的题头自适应居中显示

阅读更多

最近有个网友的用户需要将REUSE_ALV_GRID_DISPLAY的题头居中显示,我看看了SAP的代码,发现时可以实现的。

REUSE_ALV_GRID_DISPLAY的题头原理和机制

SAP的REUSE_ALV_GRID_DISPLAY的题头实际上一个简易的HTML浏览控件的封装调用,你在服务器用cl_dd_document类的add_text方法增加的文本,SAP都会翻译成HTML语言,再发送给客户端解释展现。

cl_dd_document类的add_text方法都会先进行HTML翻译,再调用cl_dd_document类的html_insert将真正的HTML元素添加到内表。因此,我们就何以通过cl_dd_document类的html_insert将特殊的HTML写到对应内表,实现特殊的现实效果。我想原理分到到这大家都清楚,REUSE_ALV_GRID_DISPLAY的题头不但可以实现居中,还可以实现HTML的各种效果。

备注:REUSE_ALV_GRID_DISPLAY的脚注标题也一样可以实现各种样式

代码样例:(注意红色部分代码)

REPORT ZTEST4.

TABLES : t001.
TYPE-POOLS: slis.

DATA : w_repid LIKE sy-repid.
TYPES : BEGIN OF ty_comp.
INCLUDE STRUCTURE t001.
TYPES : END OF ty_comp.

DATA: wa_layout TYPE slis_layout_alv.

DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.

DATA : it_comp TYPE TABLE OF ty_comp.

INITIALIZATION.
w_repid = sy-repid.

START-OF-SELECTION.

SELECT * FROM t001 INTO TABLE it_comp.

END-OF-SELECTION.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = w_repid
i_internal_tabname = 'IT_COMP'
I_STRUCTURE_NAME = 'T001'
i_inclname = w_repid

CHANGING
ct_fieldcat = it_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = w_repid
i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE'
is_layout = wa_layout
it_fieldcat = it_fieldcat
i_html_height_top = 10
TABLES
t_outtab = it_comp
EXCEPTIONS
program_error = 1
OTHERS = 2.


*&---------------------------------------------------------------------*
*& Form html_top_of_page
*&---------------------------------------------------------------------*

FORM html_top_of_page USING document TYPE REF TO cl_dd_document.
DATA: text TYPE sdydo_text_element.
DATA: position TYPE i.

SEARCH document->html_table FOR document->cursor.
IF sy-subrc eq 0.
position = sy-tabix.
CALL METHOD document->html_insert
EXPORTING
contents = '<div class=MsoNormal align=center style="text-align:center"> '
CHANGING
position = position.
CALL METHOD document->html_insert
EXPORTING
contents = '<span align="center" style=" font-weight:bold;">Test Company Code Data</span> </DIV>'
CHANGING
position = position.
ENDIF.

CALL METHOD document->new_line.
CALL METHOD document->new_line.

text = 'User Name : '.
CALL METHOD document->add_text
EXPORTING
text = text
sap_emphasis = 'Strong'.

CALL METHOD document->add_gap
EXPORTING
width = 2.

text = sy-uname.
CALL METHOD document->add_text
EXPORTING
text = text
sap_style = 'Key'.

CALL METHOD document->add_gap
EXPORTING
width = 10.

CALL METHOD document->add_icon
exporting
sap_icon = 'ICON_DATE'.

text = 'Date : '.
CALL METHOD document->add_text
EXPORTING
text = text
sap_emphasis = 'Strong'.

CALL METHOD document->add_gap
EXPORTING
width = 2.

text = sy-datum.
CALL METHOD document->add_text
EXPORTING
text = text
sap_style = 'Key'.

CALL METHOD document->add_gap
EXPORTING
width = 10.

text = 'Time : '.
CALL METHOD document->add_text
EXPORTING
text = text
sap_emphasis = 'Strong'.

CALL METHOD document->add_gap
EXPORTING
width = 2.

text = sy-uzeit.
CALL METHOD document->add_text
EXPORTING
text = text
sap_style = 'Key'.

CALL METHOD document->new_line.

CALL METHOD document->underline. "Draw an underLine
ENDFORM. "HTML_TOP_OF_PAGE

分享到:
评论

相关推荐

    abap-ALV.rar_ABAP系统ALV_abap_abap开发alv

    描述中提到“ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用”,这表明我们将重点关注ALV的基本概念、数据格式以及如何通过REUSE_ALV_GRID_DISPLAY_LVC函数来实现ALV的显示。 ALV格式通常涉及如何组织...

    REUSE_ALV_GRID_DISPLAY超详细讲解

    REUSE_ALV_GRID_DISPLAY是一个功能强大的ABAP函数模块,主要用于在ABAP程序中显示ALV网格控件。该函数模块提供了大量的参数和事件,使得开发者可以根据需要自定义ALV网格控件的外观和行为。 功能模块的调用: CALL...

    REUSE_ALV_FIELDCATALOG_MERGE注意点.docx

    在 SAP 开发环境中,"REUSE_ALV_FIELDCATALOG_MERGE" 是一个非常重要的函数,用于合并和创建用于 ALV (ABAP List Viewer) 输出的字段目录。然而,在使用这个函数时,可能存在一些陷阱和注意事项,导致程序出错或者...

    ABAP开发ALV中自定义按钮实现

    首先,我们需要定义一个报表程序,例如`ZMMR3009`,并在其中调用`REUSE_ALV_GRID_DISPLAY`函数来显示ALV。该函数接受一系列参数,如`I_CALLBACK_PROGRAM`用于指定当前程序,`I_LAYOUT`用于传递布局信息,`IT_...

    ABAP_ALV_知识整理

    - **调用REUSE_ALV_GRID_DISPLAY**: 使用此函数模块来创建标准ALV网格显示。 - **设置列属性**: 设置列的标题、宽度、对齐方式等。 - **设置数据源**: 指定数据源表。 - **设置排序**: 可以设置默认排序规则。 **...

    ABAP中的ALV操作

    - `CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`: 调用标准函数来显示ALV网格,并传递容器名称和数据表。 2. **ALV的列布局设置**: - `DATA: WA_LAYOUT TYPE LVC_S_LAYO`: 创建一个`LVC_S_LAYO`类型的变量来存储列...

    ALV.rar_SAP_abaP ALV_abap_alv_sap alv

    本篇将深入探讨如何通过ABAP编程实现ALV的多层输出,并调用系统方法。 首先,我们需要理解ABAP(Advanced Business Application Programming)是SAP开发的编程语言,用于在R/3系统上构建业务应用。在ABAP中,ALV的...

    ALV EDIT_MASK字段的使用.rar_ABAP EDIT_MASK_ALV EDIT_MASK字段的使用_ALVEDIT

    这通常通过在`CALL REPORT`或`CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`等语句中使用`SET_EDIT_MASK`方法来实现。例如: ``` DATA: ls_edit_mask TYPE lvc_s_fdef, lv_fieldname LIKE LINE OF it_fieldname. ls...

    SAP ABAP ALV分页显示

    3. **ALV调用**:通过调用函数`REUSE_ALV_GRID_DISPLAY`来显示`IT_ZZP2`中的数据。此函数接收多个参数,包括字段目录(`IT_FIELDCAT`)、回调程序ID(`GD_REPID`)以及输出表(`T_OUTTAB`)等。 4. **分页控制**:使用`SET...

    ABAP--ALV

    - 最后调用`REUSE_ALV_LIST_DISPLAY`函数模块来实际显示列表。 - `I_BYPASSING_BUFFER`:同上。 - `I_CALLBACK_PROGRAM`:回调程序名。 - `IT_EVENTS`:事件表。 - `IT_FIELDCAT`:字段目录表。 #### 三、...

    ABAP官方教程--- BC400_EN_Col32

    标题:“ABAP官方教程--- BC400_EN_Col32”和“Introduction to the ABAP Workbench”(ABAP工作台介绍)。 描述:本文件是一份关于ABAP官方教程的介绍,该教程的全称为“BC400_EN_Col32”,涵盖了ABAP工作台的入门...

    在ALV里编写回车事件

    FOREVENTuser_commandOFcl_gui_alv_grid IMPORTINGe_ucomm, handle_data_changed FOREVENTdata_changedOFcl_gui_alv_grid IMPORTINGer_data_changed. PRIVATESECTION. * Thisflagissetifanyerroroccuredinoneofthe *...

    ABAP官方教程---BC400_EN_46D_FV

    3. ABAP Workbench: ABAP工作台是SAP ABAP开发的核心环境,提供了开发、测试、调试ABAP程序的各种工具和功能。 4. Foundations and Concepts: 这部分强调了基础和概念的重要性,表明教程可能主要集中在基础知识点和...

    web-dynpro-abap-ui-element-tree_Ch01_CV_Introduction_

    在“web-dynpro-abap-ui-element-tree”这个主题中,我们主要探讨的是Web Dynpro ABAP中的UI元素树结构,以及如何在Chapter 1, Curriculum (CV) Introduction中理解和应用这些知识。 在Web Dynpro ABAP中,UI元素是...

    abap_alv去掉标准按钮

    例如,`CL_GUI_ALV_GRID=&gt;MC_FC_MAXIMUM`表示最大值计算功能,而`CL_GUI_ALV_GRID=&gt;MC_MB_VARIANT`则代表了变体视图功能。 #### 3. 调用ALV网格控件方法 在设置好排除列表后,需要在ALV网格控件的初始化过程中传递...

    绝版的从实例到精通abap 学习--ALV控件的使用

    此外,教程可能还会介绍如何使用其他相关类和接口,如`IF_GUI_ALV_COLUMN`(用于定义列行为)、`IF_ABAP_ALV_GRID_DISPLAY`(用于显示和控制ALV行为)等,以及如何实现个性化定制,如更改颜色、添加按钮、自定义排序...

    ALV LIST列头合并实例

    - **报告名称**: `ZDEMO_ALV_MERGERHEADER` - **功能**: 此报告旨在展示如何在ABAP环境中实现ALV列表视图的列头合并功能。 ### 使用到的关键表 - **AFKO**: 销售订单抬头数据。 - **AFRU**: 销售订单行项目数据。 ...

    ABAP-ALV进阶

    "ABAP-ALV进阶知识点详解" ABAP-ALV进阶是指在SAP系统中使用ABAP语言开发的高级列表查看器(ALV)...面向对象的 ALV GRID 必须存在于一个容器当中,就是 FUNCTION 的 ALV,实际上也是使用 CL_GUI_ALV_GRID 这个类的。

    ABAP OO去掉ALV中的标准工具栏

    ls_exclude = cl_gui_alv_grid=&gt;mc_fc_maximum. " 最大化功能 APPEND ls_exclude TO pt_exclude. ls_exclude = cl_gui_alv_grid=&gt;mc_fc_minimum. " 最小化功能 APPEND ls_exclude TO pt_exclude. ls_exclude ...

Global site tag (gtag.js) - Google Analytics