Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Top of page with table display

former_member209120
Active Contributor
0 Kudos

Hi experts,

I have one requirement in ALV, i need to display values in top of page in table format

For example like this

Thanks in advance...

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Ramesh,

Using "CL_DD_DOCUMENT"  you can achieve your requirement .

Check this Sample Code .

DATA: LT_TAB        TYPE REF TO CL_DD_TABLE_ELEMENT,

       LD_COL1       TYPE REF TO CL_DD_AREA,

       LD_COL2       TYPE REF TO CL_DD_AREA,

       LD_TEXT       TYPE SDYDO_TEXT_ELEMENT,

       LD_TEXT2       TYPE SDYDO_TEXT_ELEMENT,

       LD_TEXT3       TYPE SDYDO_TEXT_ELEMENT,

       LD_TEXT4       TYPE SDYDO_TEXT_ELEMENT,

       LD_TEXT5       TYPE SDYDO_TEXT_ELEMENT,

       LD_TEXT6       TYPE SDYDO_TEXT_ELEMENT .

PERFORM DISPLAY_ALV_REPORT.

*&---------------------------------------------------------------------*

*&      Form  DISPLAY_ALV_REPORT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM DISPLAY_ALV_REPORT.

   GD_REPID = SY-REPID.

   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

     EXPORTING

       I_CALLBACK_PROGRAM          = GD_REPID

       IS_LAYOUT                   = GD_LAYOUT

       I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE_SPLIT'

       IT_FIELDCAT                 = FLDCAT[]

     TABLES

       T_OUTTAB                    = IT_VBAK.     " Final Internal table

ENDFORM. "DISPLAY_ALV_REPORT


*&---------------------------------------------------------------------*

*&      Form  TOP_OF_PAGE_SPLIT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*      -->R_TOP      text

*----------------------------------------------------------------------*

FORM TOP_OF_PAGE_SPLIT USING R_TOP TYPE REF TO CL_DD_DOCUMENT.

   DATA: S_TAB TYPE SDYDO_TEXT_TABLE,

   C_AREA TYPE REF TO CL_DD_AREA,

   TEXT TYPE SDYDO_TEXT_ELEMENT.

   CALL METHOD R_TOP->ADD_TABLE

     EXPORTING

       NO_OF_COLUMNS = 2

       BORDER        = '1'

     IMPORTING

       TABLE         = LT_TAB.

   CALL METHOD LT_TAB->ADD_COLUMN

     EXPORTING

       WIDTH  = '33%'

     IMPORTING

       COLUMN = LD_COL1.

   CALL METHOD LT_TAB->ADD_COLUMN

     EXPORTING

       WIDTH  = '33%'

     IMPORTING

       COLUMN = LD_COL2.

   LD_TEXT = 'Months'.

   LD_TEXT2 = 'Savings'.

   LD_TEXT3 = 'January'.

   LD_TEXT4 = '$100'.

   LD_TEXT5 = 'February'.

   LD_TEXT6 = '$80'.

   CALL METHOD LD_COL1->ADD_TEXT

     EXPORTING

       TEXT         = LD_TEXT

       SAP_COLOR    = CL_DD_AREA=>LIST_BACKGROUND_INT

       SAP_EMPHASIS = 'STRONG'.

   CALL METHOD LD_COL2->ADD_TEXT

     EXPORTING

       TEXT         = LD_TEXT2

       SAP_COLOR    = CL_DD_AREA=>LIST_BACKGROUND_INT

       SAP_EMPHASIS = 'STRONG'.

   CALL METHOD LT_TAB->NEW_ROW.

   CALL METHOD LD_COL1->ADD_TEXT

     EXPORTING

       TEXT      = LD_TEXT3

       SAP_COLOR = CL_DD_AREA=>LIST_BACKGROUND_INT.

   CALL METHOD LD_COL2->ADD_TEXT

     EXPORTING

       TEXT      = LD_TEXT4

       SAP_COLOR = CL_DD_AREA=>LIST_BACKGROUND_INT.

   CALL METHOD LT_TAB->NEW_ROW.

   CALL METHOD LD_COL1->ADD_TEXT

     EXPORTING

       TEXT      = LD_TEXT5

       SAP_COLOR = CL_DD_AREA=>LIST_BACKGROUND_INT.

   CALL METHOD LD_COL2->ADD_TEXT

     EXPORTING

       TEXT      = LD_TEXT6

       SAP_COLOR = CL_DD_AREA=>LIST_BACKGROUND_INT.

   CALL METHOD LT_TAB->NEW_ROW.

ENDFORM. "TOP_OF_PAGE_SPLIT

Note : Marge this piece code into your existing ALV Code . 

Out Put :

Regard's

Smruti

6 REPLIES 6

FredericGirod
Active Contributor
0 Kudos

Hi,

have a look to the trans. DWDM there are severals example about split container & HTML browser integrate ..

regards

Fred

0 Kudos

Hi Frederi,

I am not getting solution for my requirement in DWDM.

0 Kudos

did you really need to put this table in top in HTML ?  could you simply used the split container with two alv table ?

Former Member
0 Kudos

Ramesh,

Make use of HTML_TOP_OF_PAGE for displaying table like display in top of page. For grid display, there is import parameter i_callback_html_top_of_page where you provide the sub-routine that will display the data in table format. A table like display will involve usage of html tags for displaying the data.

Note that when html top of page is used in ALV display, print preview/print will not have data displayed in the top of page.

Hope this helps,

~Athreya

Former Member
0 Kudos

Hi Ramesh,

Using "CL_DD_DOCUMENT"  you can achieve your requirement .

Check this Sample Code .

DATA: LT_TAB        TYPE REF TO CL_DD_TABLE_ELEMENT,

       LD_COL1       TYPE REF TO CL_DD_AREA,

       LD_COL2       TYPE REF TO CL_DD_AREA,

       LD_TEXT       TYPE SDYDO_TEXT_ELEMENT,

       LD_TEXT2       TYPE SDYDO_TEXT_ELEMENT,

       LD_TEXT3       TYPE SDYDO_TEXT_ELEMENT,

       LD_TEXT4       TYPE SDYDO_TEXT_ELEMENT,

       LD_TEXT5       TYPE SDYDO_TEXT_ELEMENT,

       LD_TEXT6       TYPE SDYDO_TEXT_ELEMENT .

PERFORM DISPLAY_ALV_REPORT.

*&---------------------------------------------------------------------*

*&      Form  DISPLAY_ALV_REPORT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM DISPLAY_ALV_REPORT.

   GD_REPID = SY-REPID.

   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

     EXPORTING

       I_CALLBACK_PROGRAM          = GD_REPID

       IS_LAYOUT                   = GD_LAYOUT

       I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE_SPLIT'

       IT_FIELDCAT                 = FLDCAT[]

     TABLES

       T_OUTTAB                    = IT_VBAK.     " Final Internal table

ENDFORM. "DISPLAY_ALV_REPORT


*&---------------------------------------------------------------------*

*&      Form  TOP_OF_PAGE_SPLIT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*      -->R_TOP      text

*----------------------------------------------------------------------*

FORM TOP_OF_PAGE_SPLIT USING R_TOP TYPE REF TO CL_DD_DOCUMENT.

   DATA: S_TAB TYPE SDYDO_TEXT_TABLE,

   C_AREA TYPE REF TO CL_DD_AREA,

   TEXT TYPE SDYDO_TEXT_ELEMENT.

   CALL METHOD R_TOP->ADD_TABLE

     EXPORTING

       NO_OF_COLUMNS = 2

       BORDER        = '1'

     IMPORTING

       TABLE         = LT_TAB.

   CALL METHOD LT_TAB->ADD_COLUMN

     EXPORTING

       WIDTH  = '33%'

     IMPORTING

       COLUMN = LD_COL1.

   CALL METHOD LT_TAB->ADD_COLUMN

     EXPORTING

       WIDTH  = '33%'

     IMPORTING

       COLUMN = LD_COL2.

   LD_TEXT = 'Months'.

   LD_TEXT2 = 'Savings'.

   LD_TEXT3 = 'January'.

   LD_TEXT4 = '$100'.

   LD_TEXT5 = 'February'.

   LD_TEXT6 = '$80'.

   CALL METHOD LD_COL1->ADD_TEXT

     EXPORTING

       TEXT         = LD_TEXT

       SAP_COLOR    = CL_DD_AREA=>LIST_BACKGROUND_INT

       SAP_EMPHASIS = 'STRONG'.

   CALL METHOD LD_COL2->ADD_TEXT

     EXPORTING

       TEXT         = LD_TEXT2

       SAP_COLOR    = CL_DD_AREA=>LIST_BACKGROUND_INT

       SAP_EMPHASIS = 'STRONG'.

   CALL METHOD LT_TAB->NEW_ROW.

   CALL METHOD LD_COL1->ADD_TEXT

     EXPORTING

       TEXT      = LD_TEXT3

       SAP_COLOR = CL_DD_AREA=>LIST_BACKGROUND_INT.

   CALL METHOD LD_COL2->ADD_TEXT

     EXPORTING

       TEXT      = LD_TEXT4

       SAP_COLOR = CL_DD_AREA=>LIST_BACKGROUND_INT.

   CALL METHOD LT_TAB->NEW_ROW.

   CALL METHOD LD_COL1->ADD_TEXT

     EXPORTING

       TEXT      = LD_TEXT5

       SAP_COLOR = CL_DD_AREA=>LIST_BACKGROUND_INT.

   CALL METHOD LD_COL2->ADD_TEXT

     EXPORTING

       TEXT      = LD_TEXT6

       SAP_COLOR = CL_DD_AREA=>LIST_BACKGROUND_INT.

   CALL METHOD LT_TAB->NEW_ROW.

ENDFORM. "TOP_OF_PAGE_SPLIT

Note : Marge this piece code into your existing ALV Code . 

Out Put :

Regard's

Smruti

0 Kudos

Hi Experts,

Thank You.