Application Development and Automation 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: 
Read only

ALV Grid

Former Member
0 Likes
618

Hi Friends,

I want to display logo in top_of_page using html_top_of_page.

plz help me.

\[removed by moderator\]

Edited by: Jan Stallkamp on Jul 29, 2008 5:25 PM

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
599

Hi,

Have a look on the following code.

It split the top-of-page and display the logo also.

Simply copy,paste and execute.

DISPLAY HEADER BY SPLITTING IT.

IT ALSO DISPLAYS THE LINE NUMBERS.

REPORT ZCS_PRG4 LINE-COUNT 25.

TABLES VBAK.

TYPE-POOLS SLIS.

  • Data Declaration

TYPES: BEGIN OF T_VBAK,

VBELN TYPE VBAK-VBELN,

ERDAT TYPE VBAK-ERDAT,

ERNAM TYPE VBAK-ERNAM,

AUDAT TYPE VBAK-AUDAT,

VBTYP TYPE VBAK-VBTYP,

NETWR TYPE VBAK-NETWR,

VKORG TYPE VBAK-VKORG,

VKGRP TYPE VBAK-VKGRP,

RN TYPE I,

END OF T_VBAK.

DATA IT_VBAK TYPE STANDARD TABLE OF T_VBAK INITIAL SIZE 0 WITH HEADER LINE.

  • ALV Data Declaration

DATA: FLDCAT TYPE SLIS_T_FIELDCAT_ALV,

W_FLDCAT TYPE SLIS_FIELDCAT_ALV,

GD_LAYOUT TYPE SLIS_LAYOUT_ALV,

GD_REPID TYPE SY-REPID.

SELECT-OPTIONS: VBELN FOR VBAK-VBELN.

START-OF-SELECTION.

PERFORM DATA_RETRIEVAL.

END-OF-SELECTION.

PERFORM BLD_FLDCAT.

PERFORM BLD_LAYOUT.

PERFORM DISPLAY_ALV_REPORT.

  • Build Field Catalog for ALV Report

FORM BLD_FLDCAT.

W_FLDCAT-FIELDNAME = 'VBELN'.

W_FLDCAT-SELTEXT_M = 'Sales_Document'.

W_FLDCAT-COL_POS = 1.

*W_FLDCAT-EMPHASIZE = 'C411'.

*CXYZ: C=COLOR,X=COLOR NUMBER(1-9),Y=BOLD(0/1),Z=INVERSE(0/1)

W_FLDCAT-OUTPUTLEN = 15.

W_FLDCAT-KEY = 'X'.

W_FLDCAT-ICON = 'X'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'ERDAT'.

W_FLDCAT-SELTEXT_L = 'Record_Date_created'.

W_FLDCAT-COL_POS = 2.

W_FLDCAT-KEY = 'X'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'ERNAM'.

W_FLDCAT-SELTEXT_L = 'Cteated_Person_Name'.

W_FLDCAT-COL_POS = 3.

W_FLDCAT-EMPHASIZE = 'C011'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'AUDAT'.

W_FLDCAT-SELTEXT_M = 'Document_Date'.

W_FLDCAT-COL_POS = 4.

W_FLDCAT-EMPHASIZE = 'C110'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'VBTYP'.

W_FLDCAT-SELTEXT_L = 'SDDocument_category'.

W_FLDCAT-COL_POS = 5.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'NETWR'.

W_FLDCAT-SELTEXT_L = 'Net_Value'.

W_FLDCAT-COL_POS = 6.

W_FLDCAT-OUTPUTLEN = 10.

W_FLDCAT-DO_SUM = 'X'.

W_FLDCAT-DATATYPE = 'CURR'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'VKORG'.

W_FLDCAT-SELTEXT_L = 'Sales_Organization'.

W_FLDCAT-COL_POS = 7.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'VKGRP'.

W_FLDCAT-SELTEXT_M = 'Sales_Group'.

W_FLDCAT-COL_POS = 8.

W_FLDCAT-EMPHASIZE = 'C801'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'RN'.

W_FLDCAT-SELTEXT_S = 'RN'.

W_FLDCAT-COL_POS = 0.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

ENDFORM.

  • Build Layout for ALV Grid Report

FORM BLD_LAYOUT.

GD_LAYOUT-NO_INPUT = 'X'.

*GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

*GD_LAYOUT-NO_SCROLLING = 'X'.

*GD_LAYOUT-BOX_FIELDNAME = 'VBELN'.

ENDFORM.

  • Display report using ALV grid

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[]

I_SAVE = 'X'

TABLES

T_OUTTAB = IT_VBAK

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM.

  • Retrieve data from VBAK table and populate itab IT_VBAK

FORM DATA_RETRIEVAL.

SELECT VBELN ERDAT ERNAM AUDAT VBTYP NETWR VKORG

FROM VBAK

INTO TABLE IT_VBAK

WHERE VBELN IN VBELN.

LOOP AT IT_VBAK.

IT_VBAK-RN = SY-TABIX.

MODIFY IT_VBAK INDEX SY-TABIX.

ENDLOOP.

ENDFORM.

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.

TYPES: BEGIN OF TAB_TEXT,

TEXT TYPE SDYDO_TEXT_ELEMENT,

END OF TAB_TEXT.

DATA: I_TEXT TYPE TABLE OF TAB_TEXT.

DATA: W_TEXT TYPE TAB_TEXT.

CALL METHOD R_TOP->INITIALIZE_DOCUMENT.

CALL METHOD R_TOP->VERTICAL_SPLIT

EXPORTING

SPLIT_AREA = R_TOP

SPLIT_WIDTH = '70%'

IMPORTING

RIGHT_AREA = C_AREA.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*CONCATENATE SY-DATUM4(2) ' / ' SY-DATUM6(2) ' / ' SY-DATUM(4) INTO DATE1.

*CONCATENATE 'DATE' DATE1 INTO W_TEXT-TEXT SEPARATED BY ':'.

W_TEXT-TEXT = 'GEMS TECHNO SOLUTIONS PVT LIMITED'.

APPEND W_TEXT TO I_TEXT.

W_TEXT-TEXT = 'PLOT NO.100,SECTOR 1'.

APPEND W_TEXT TO I_TEXT.

W_TEXT-TEXT = 'MVP DOUBLE ROAD'.

APPEND W_TEXT TO I_TEXT.

W_TEXT-TEXT = 'MVP COLONY,VIZAG'.

APPEND W_TEXT TO I_TEXT.

S_TAB[] = I_TEXT[].

CALL METHOD C_AREA->ADD_TEXT

EXPORTING

TEXT_TABLE = S_TAB

FIX_LINES = 'X'

SAP_FONTSIZE = CL_DD_DOCUMENT=>MEDIUM

SAP_EMPHASIS = CL_DD_DOCUMENT=>STRONG.

*CALL METHOD R_TOP->ADD_GAP

  • EXPORTING

  • WIDTH = 60.

TEXT = 'REPORT:'.

CALL METHOD R_TOP->ADD_TEXT

EXPORTING

TEXT = TEXT

SAP_EMPHASIS = 'STRONG'.

CALL METHOD R_TOP->ADD_GAP

EXPORTING

WIDTH = 2.

TEXT = SY-REPID.

CALL METHOD R_TOP->ADD_TEXT

EXPORTING

TEXT = TEXT

SAP_STYLE = 'KEY'.

CALL METHOD R_TOP->NEW_LINE.

TEXT = 'DATE:'.

CALL METHOD R_TOP->ADD_TEXT

EXPORTING

TEXT = TEXT

SAP_EMPHASIS = 'STRONG'.

CALL METHOD R_TOP->ADD_GAP

EXPORTING

WIDTH = 8.

TEXT = SY-DATUM.

CALL METHOD R_TOP->ADD_TEXT

EXPORTING

TEXT = TEXT

SAP_STYLE = 'KEY'.

CALL METHOD R_TOP->NEW_LINE.

CALL METHOD R_TOP->ADD_PICTURE

EXPORTING

picture_id = 'ENJOYSAP_LOGO'.

ENDFORM.

\[removed by moderator\]

thanks,

Chandu

Edited by: Jan Stallkamp on Jul 29, 2008 5:25 PM

Hi Friends,

I want to display logo in top_of_page using html_top_of_page.

plz help me.

\[removed by moderator\]

Edited by: Jan Stallkamp on Jul 29, 2008 5:25 PM

4 REPLIES 4
Read only

GauthamV
Active Contributor
0 Likes
599

hi,

use REUSE_ALV_COMMENTARY_WRITE function module to display logo on top.

FORM top_of_page.

*

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

i_logo = 'ENJOYSAP_LOGO'

it_list_commentary = i_list_top_of_page.

ENDFORM. "top_of_page

reward points if hlpful.

Read only

Former Member
0 Likes
600

Hi,

Have a look on the following code.

It split the top-of-page and display the logo also.

Simply copy,paste and execute.

DISPLAY HEADER BY SPLITTING IT.

IT ALSO DISPLAYS THE LINE NUMBERS.

REPORT ZCS_PRG4 LINE-COUNT 25.

TABLES VBAK.

TYPE-POOLS SLIS.

  • Data Declaration

TYPES: BEGIN OF T_VBAK,

VBELN TYPE VBAK-VBELN,

ERDAT TYPE VBAK-ERDAT,

ERNAM TYPE VBAK-ERNAM,

AUDAT TYPE VBAK-AUDAT,

VBTYP TYPE VBAK-VBTYP,

NETWR TYPE VBAK-NETWR,

VKORG TYPE VBAK-VKORG,

VKGRP TYPE VBAK-VKGRP,

RN TYPE I,

END OF T_VBAK.

DATA IT_VBAK TYPE STANDARD TABLE OF T_VBAK INITIAL SIZE 0 WITH HEADER LINE.

  • ALV Data Declaration

DATA: FLDCAT TYPE SLIS_T_FIELDCAT_ALV,

W_FLDCAT TYPE SLIS_FIELDCAT_ALV,

GD_LAYOUT TYPE SLIS_LAYOUT_ALV,

GD_REPID TYPE SY-REPID.

SELECT-OPTIONS: VBELN FOR VBAK-VBELN.

START-OF-SELECTION.

PERFORM DATA_RETRIEVAL.

END-OF-SELECTION.

PERFORM BLD_FLDCAT.

PERFORM BLD_LAYOUT.

PERFORM DISPLAY_ALV_REPORT.

  • Build Field Catalog for ALV Report

FORM BLD_FLDCAT.

W_FLDCAT-FIELDNAME = 'VBELN'.

W_FLDCAT-SELTEXT_M = 'Sales_Document'.

W_FLDCAT-COL_POS = 1.

*W_FLDCAT-EMPHASIZE = 'C411'.

*CXYZ: C=COLOR,X=COLOR NUMBER(1-9),Y=BOLD(0/1),Z=INVERSE(0/1)

W_FLDCAT-OUTPUTLEN = 15.

W_FLDCAT-KEY = 'X'.

W_FLDCAT-ICON = 'X'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'ERDAT'.

W_FLDCAT-SELTEXT_L = 'Record_Date_created'.

W_FLDCAT-COL_POS = 2.

W_FLDCAT-KEY = 'X'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'ERNAM'.

W_FLDCAT-SELTEXT_L = 'Cteated_Person_Name'.

W_FLDCAT-COL_POS = 3.

W_FLDCAT-EMPHASIZE = 'C011'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'AUDAT'.

W_FLDCAT-SELTEXT_M = 'Document_Date'.

W_FLDCAT-COL_POS = 4.

W_FLDCAT-EMPHASIZE = 'C110'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'VBTYP'.

W_FLDCAT-SELTEXT_L = 'SDDocument_category'.

W_FLDCAT-COL_POS = 5.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'NETWR'.

W_FLDCAT-SELTEXT_L = 'Net_Value'.

W_FLDCAT-COL_POS = 6.

W_FLDCAT-OUTPUTLEN = 10.

W_FLDCAT-DO_SUM = 'X'.

W_FLDCAT-DATATYPE = 'CURR'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'VKORG'.

W_FLDCAT-SELTEXT_L = 'Sales_Organization'.

W_FLDCAT-COL_POS = 7.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'VKGRP'.

W_FLDCAT-SELTEXT_M = 'Sales_Group'.

W_FLDCAT-COL_POS = 8.

W_FLDCAT-EMPHASIZE = 'C801'.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'RN'.

W_FLDCAT-SELTEXT_S = 'RN'.

W_FLDCAT-COL_POS = 0.

APPEND W_FLDCAT TO FLDCAT.

CLEAR W_FLDCAT.

ENDFORM.

  • Build Layout for ALV Grid Report

FORM BLD_LAYOUT.

GD_LAYOUT-NO_INPUT = 'X'.

*GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

*GD_LAYOUT-NO_SCROLLING = 'X'.

*GD_LAYOUT-BOX_FIELDNAME = 'VBELN'.

ENDFORM.

  • Display report using ALV grid

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[]

I_SAVE = 'X'

TABLES

T_OUTTAB = IT_VBAK

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM.

  • Retrieve data from VBAK table and populate itab IT_VBAK

FORM DATA_RETRIEVAL.

SELECT VBELN ERDAT ERNAM AUDAT VBTYP NETWR VKORG

FROM VBAK

INTO TABLE IT_VBAK

WHERE VBELN IN VBELN.

LOOP AT IT_VBAK.

IT_VBAK-RN = SY-TABIX.

MODIFY IT_VBAK INDEX SY-TABIX.

ENDLOOP.

ENDFORM.

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.

TYPES: BEGIN OF TAB_TEXT,

TEXT TYPE SDYDO_TEXT_ELEMENT,

END OF TAB_TEXT.

DATA: I_TEXT TYPE TABLE OF TAB_TEXT.

DATA: W_TEXT TYPE TAB_TEXT.

CALL METHOD R_TOP->INITIALIZE_DOCUMENT.

CALL METHOD R_TOP->VERTICAL_SPLIT

EXPORTING

SPLIT_AREA = R_TOP

SPLIT_WIDTH = '70%'

IMPORTING

RIGHT_AREA = C_AREA.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*CONCATENATE SY-DATUM4(2) ' / ' SY-DATUM6(2) ' / ' SY-DATUM(4) INTO DATE1.

*CONCATENATE 'DATE' DATE1 INTO W_TEXT-TEXT SEPARATED BY ':'.

W_TEXT-TEXT = 'GEMS TECHNO SOLUTIONS PVT LIMITED'.

APPEND W_TEXT TO I_TEXT.

W_TEXT-TEXT = 'PLOT NO.100,SECTOR 1'.

APPEND W_TEXT TO I_TEXT.

W_TEXT-TEXT = 'MVP DOUBLE ROAD'.

APPEND W_TEXT TO I_TEXT.

W_TEXT-TEXT = 'MVP COLONY,VIZAG'.

APPEND W_TEXT TO I_TEXT.

S_TAB[] = I_TEXT[].

CALL METHOD C_AREA->ADD_TEXT

EXPORTING

TEXT_TABLE = S_TAB

FIX_LINES = 'X'

SAP_FONTSIZE = CL_DD_DOCUMENT=>MEDIUM

SAP_EMPHASIS = CL_DD_DOCUMENT=>STRONG.

*CALL METHOD R_TOP->ADD_GAP

  • EXPORTING

  • WIDTH = 60.

TEXT = 'REPORT:'.

CALL METHOD R_TOP->ADD_TEXT

EXPORTING

TEXT = TEXT

SAP_EMPHASIS = 'STRONG'.

CALL METHOD R_TOP->ADD_GAP

EXPORTING

WIDTH = 2.

TEXT = SY-REPID.

CALL METHOD R_TOP->ADD_TEXT

EXPORTING

TEXT = TEXT

SAP_STYLE = 'KEY'.

CALL METHOD R_TOP->NEW_LINE.

TEXT = 'DATE:'.

CALL METHOD R_TOP->ADD_TEXT

EXPORTING

TEXT = TEXT

SAP_EMPHASIS = 'STRONG'.

CALL METHOD R_TOP->ADD_GAP

EXPORTING

WIDTH = 8.

TEXT = SY-DATUM.

CALL METHOD R_TOP->ADD_TEXT

EXPORTING

TEXT = TEXT

SAP_STYLE = 'KEY'.

CALL METHOD R_TOP->NEW_LINE.

CALL METHOD R_TOP->ADD_PICTURE

EXPORTING

picture_id = 'ENJOYSAP_LOGO'.

ENDFORM.

\[removed by moderator\]

thanks,

Chandu

Edited by: Jan Stallkamp on Jul 29, 2008 5:25 PM

Read only

Former Member
0 Likes
599

Hi,

try like this,

form top_of_page.

call reuse_alv_commentary_write.

u can pass any logo throgh OAER transaction using this FM.

Regards,

kk.

Read only

Former Member
0 Likes
599

hi,

If function module REUSE_ALV_COMMENTARY_WRITE is not used in the form for I_CALLBACK_TOP_OF_PAGE, the form routine must be passed in parameter I_CALLBACK_HTML_TOP_OF_PAGE for the online mode. The form should then have the following format:

form top_of_page using cl_dd type ref to cl_dd_document.

In the form, you can, for example, use methods of class CL_DD_DOCUMENT to display text in HTML format and add pictures.

So this option is only used in online mode.

type-pools : slis.

data : it type STANDARD TABLE OF vbak,

wa type vbak.

select * from vbak into table it up to 10 rows.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP-OF-PAGE'

I_STRUCTURE_NAME = 'VBAK'

TABLES

T_OUTTAB = it.

form TOP-OF-PAGE USING cl_dd type ref to cl_dd_document.

create object cl_dd.

call methods ( goto se24 and give cl_dd_document and see the methods ).

endform.