08-06-2013 8:59 AM
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...
08-06-2013 11:14 AM
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
08-06-2013 9:06 AM
Hi,
have a look to the trans. DWDM there are severals example about split container & HTML browser integrate ..
regards
Fred
08-06-2013 9:30 AM
08-06-2013 9:51 AM
did you really need to put this table in top in HTML ? could you simply used the split container with two alv table ?
08-06-2013 9:56 AM
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
08-06-2013 11:14 AM
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
08-06-2013 11:46 AM