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: 

logo in ALV.

Former Member
0 Kudos

hi,

I want to know that , i have created logo using se78 and i have used it in scripts. But suppose i want to use it in ALV.

Then how to use it. When i give name of logo in ALV function module it is not showing logo in output.

11 REPLIES 11

former_member386202
Active Contributor
0 Kudos

Hi,

Upload logo through tcode OAER for ALV

Regards,

Prashant

Former Member
0 Kudos

Hello ,

Try this FM REUSE_ALV_COMMENTARY_WRITE....

Thank u

santhosh

Former Member
0 Kudos

Hi Santosh,

Please check the below thread(s),

Best Regards.

Former Member
0 Kudos

Dear Santosh,

DATA: i_list_top_of_page TYPE slis_t_listheader.

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

Best Regards,

Flavya

tarangini_katta
Active Contributor
0 Kudos

Hi Santosh,

Go to SE78.

Upload your Logo into SAP:

Give this name in the parameter i_logo.

DATA: i_list_top_of_page TYPE slis_t_listheader.

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

Thanks,

former_member209217
Active Contributor
0 Kudos

Hi Santosh ,

Try this code.

For displaying LOGO in ALV GRID CONTROL,

We have to use Predefined global class. CL_GUI_ALV_TREE_SIMPLE. FOR

displaying LOGO. AND we use CL_GUI_CUSTOM_CONTAINTER for

identifying the location where it should be displayed

DECLARATIONS;

TYPE-POOLS: SDYDO, SLIS.

DATA: L_LOGO TYPE SDYDO_VALUE," FOR DISPLAYING LOGO

L_LIST TYPE SLIS_T_LISTHEADER. " FOR LIST HEADING

DATA: LOGO TYPE SCRFNAME VALUE 'SLOGO',

CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,

LOGO1 TYPE REF TO CL_GUI_ALV_TREE_SIMPLE.

    • CREATE INSTANCE FOR ABOVE DEFINED CLASSES IN PBO EVENT

OF SCREEN FLOW LOGIC.

IF CONTAINER IS INITIAL.

CREATE OBJECT CONTAINER EXPORTING CONTAINER_NAME =

LOGO.

CREATE OBJECT LOGO1 EXPORTING I_PARENT = CONTAINER.

***Calling the method which is used to display logo in grid control ALV.

CALL METHOD LOGO->'CREATE_REPORT_HEADER'

EXPORTING

I_LIST_COMMENTARY = L_LIST

I_LOGO = ' ' " Here pass the logo where it is existing.

Regards,

Lakshman.

Former Member
0 Kudos

hi,

OAER will help you to upload a logo from other file....

now u can find it in the list of logo to be used for alv.

with regards

janani,

Former Member
0 Kudos

Hi,

try the code:

DATA : it_top TYPE slis_t_listheader.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' 
       EXPORTING
             ...
             i_callback_top_of_page            = 'TOP' "sub-routine TOP
             ...

*---------------------------------------------------------------------*
*       FORM top                                               *
*---------------------------------------------------------------------*
* ALV top of page                                             *
*---------------------------------------------------------------------*
FORM top.

 <add alv head commentary in 'it_top'>

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
            i_logo             = 'XXX'   "logo name
            it_list_commentary = it_top.
ENDFORM.                    "top

I hope it can help you.

Best Regards,

Wind lin

Former Member
0 Kudos

hi,

Try this code.


call function 'REUSE_ALV_GRID_DISPLAY'
exporting
  i_callback_program = i_repid
  it_fieldcat = header
  is_layout = gt_layout
  i_callback_top_of_page = 'TOP-OF-PAGE1'
  i_grid_title = xyz
  it_sort = gt_sort[]
  i_default = 'X'
  i_save = 'U'
  is_variant = gt_variant
  it_events = gt_events
tables
  t_outtab = t_output.

*****************

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

* Form TOP-OF-PAGE1

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

form top-of-page1.

data: header type slis_t_listheader,
      wa     type slis_listheader. 

* TITLE AREA

wa-typ = 'S'.
wa-info = text-h04.
append wa to header.

wa-typ = 'S'.
write sy-datum to wa-info mm/dd/yyyy.

concatenate text-h03 wa-info into wa-info separated by space.
append wa to header.

wa-typ = 'S'.
concatenate text-h02 sy-uname into wa-info separated by space.
append wa to header.

wa-typ = 'S'.
concatenate text-h01 sy-repid into wa-info separated by space.
append wa to header.

********" LOGO

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

it_list_commentary = header

i_logo = 'ENJOYSAP_LOGO'.

*********" LOGO

endform.

Former Member
0 Kudos

Hi Santosh,

Steps for uploading Logo :-:

1. Transaction OAER

2. Class name as 'PICTURES'

3. Cass type as 'OT'

4. Enter the object key as the name of the logo you wish to give

5. Execute

6. Then in the new screen select Standard doc. types in bottom window

Click on the Screen icon

Now, it will ask for the file path where you have to upload the logo

7. Now you can use this logo in REUSE_ALV_COMMENTARY_WRITE

Thanks & Regards,

Krishna..

Former Member
0 Kudos

dis is a small program on ALV oops with logo

try to analyse the code

*Structure for Sales Document: Header Data

TYPES: BEGIN OF ST_VBAK,

VBELN TYPE VBAK-VBELN, "Sales Document

AUDAT TYPE VBAK-AUDAT, "Document Date

AUGRU TYPE VBAK-AUGRU, "Order reason

VKORG TYPE VBAK-VKORG, "Sales Org.

VTWEG TYPE VBAK-VTWEG, "Distribution Channel

VKBUR TYPE VBAK-VKBUR, "Sales Office

KUNNR TYPE VBAK-KUNNR, "Sold-to party

END OF ST_VBAK,

*Structure for on Sales Document: Item D

BEGIN OF ST_VBAP,

VBELN TYPE VBAP-VBELN, "Sales Document

POSNR TYPE VBAP-POSNR, "Item

MATNR TYPE VBAP-MATNR, "Material_D

ARKTX TYPE VBAP-ARKTX, "Description

WAERK TYPE VBAP-WAERK, "SD Document Category

KWMENG TYPE VBAP-KWMENG, "Order quantity

VRKME TYPE VBAP-VRKME, "Sales unit

WERKS TYPE VBAP-WERKS, "Plant (Own or External)

CMPRE TYPE VBAP-CMPRE, "Credit price

END OF ST_VBAP,

*Structure for Customer Master Partner Functions

BEGIN OF ST_KNVP,

KUNNR TYPE KNVP-KUNNR, "Customer Number 1

VKORG TYPE KNVP-VKORG, "Sales Organization

VTWEG TYPE KNVP-VTWEG, "Distribution Channel

SPART TYPE KNVP-SPART, "Division

PARVW TYPE KNVP-PARVW, "Partner Function

PARZA TYPE KNVP-PARZA, "Partner counter

PERNR TYPE KNVP-PERNR, "Personnel Number

END OF ST_KNVP,

*Structure for Sales Document Flow

BEGIN OF ST_VBFA,

VBELV TYPE VBELN_VON, "Preceding sales and distribution document

POSNV TYPE POSNR_VON, "Preceding item of an SD document

VBELN TYPE VBELN_NACH, "Subsequent sales and distribution document

POSNN TYPE POSNR_NACH, "Subsequent item of an SD document

VBTYP_N TYPE VBTYP_N, "Document category of subsequent document

END OF ST_VBFA,

*Structure for Sales Documents: Order Reasons: Texts

BEGIN OF ST_TVAUT,

SPRAS TYPE TVAUT-SPRAS, "Language Key

AUGRU TYPE TVAUT-AUGRU, "Order reason (reason for the business transaction)

BEZEI TYPE TVAUT-BEZEI, "Description

END OF ST_TVAUT,

*Structure for Organizational Unit: Sales Offices: Texts

BEGIN OF ST_TVKBT,

SPRAS TYPE TVKBT-SPRAS, "Language Key

VKBUR TYPE TVKBT-VKBUR, "Sales Office

BEZEI TYPE TVKBT-BEZEI, "Description

END OF ST_TVKBT,

*Strucutre for DSD Route Settlement: Tour Header Data

BEGIN OF ST_DSD,

TOUR_ID TYPE /DSD/HH_TOUR_ID, "DSD Route Settlement: Tour ID

DRIVER TYPE /DSD/HH_FARNR, "Driver Number

PLANT TYPE WERKS_D, "Plant

CREDATE TYPE /DSD/HH_CREDATE, "DSD - RA: Creation Date

END OF ST_DSD,

*Structure for Final Internal Table

BEGIN OF ST_FINAL,

VKORG TYPE VBAK-VKORG, "Sales Organization

PERNR TYPE KNVP-PERNR, "Partner Number

KUNNR TYPE VBAK-KUNNR, "Customer

VBELN TYPE VBAK-VBELN, "Sales Document

AUGRU TYPE VBAK-AUGRU, "Order Reason

BEZEI TYPE TVAUT-BEZEI, "Sales Document Order Reason Texts

AUDAT TYPE VBAK-AUDAT, "Document Date

VKBUR TYPE VBAK-VKBUR, "Sales Office

BEZEI1 TYPE TVKBT-BEZEI, "Sales Office Text

VBELN1 TYPE VBFA-VBELN, "Shipment Number

CREDATE TYPE /DSD/HH_RAHD-CREDATE, "Shipment Created Date

DRIVER TYPE /DSD/HH_RAHD-DRIVER, "Driver

MATNR TYPE VBAP-MATNR, "Material

ARKTX TYPE VBAP-ARKTX, "Short text for Material

AUGRU1 TYPE VBAK-AUGRU, "Order reason

BEZEI11 TYPE TVAUT-BEZEI, "Order reason text

KWMENG TYPE VBAP-KWMENG, "Order quantity

VRKME TYPE VBAP-VRKME, "Unit

CMPRE TYPE VBAP-CMPRE, "Item credit price

WAERK TYPE VBAP-WAERK, "Currency

END OF ST_FINAL.

**Structure for getting Report tittle

  • begin of st_trdirt,

  • text type trdirt-text, "Report Tittle Text

  • end of st_trdirt.

*Local class Definition deffered

CLASS LCL_EVENT_TOP_OF_PAGE DEFINITION DEFERRED.

*Declare Data Objects

DATA: WA_VBAK TYPE ST_VBAK, "Work area for VBAK

WA_VBAP TYPE ST_VBAP, "Work area for VBAP

WA_KNVP TYPE ST_KNVP, "Work area for KNVP

WA_TVAUT TYPE ST_TVAUT, "Work area for TVAUT

WA_TVKBT TYPE ST_TVKBT, "Work area for TVKBT

WA_VBFA TYPE ST_VBFA, "Work area for VBFA

WA_DSD TYPE ST_DSD, "work area for DSD

WA_FINAL TYPE ST_FINAL, "Work area for Final

WA_FIELDCATALOG TYPE LVC_S_FCAT, "Work area for Field catalog

V_TITLE TYPE TRDIRT-TEXT, "Variable for Text

IT_VBAK TYPE STANDARD TABLE OF ST_VBAK, "internal Table for VBAK

IT_TEMP TYPE STANDARD TABLE OF ST_VBAK, "Delete duplicate records

IT_VBAP TYPE STANDARD TABLE OF ST_VBAP, "Internal Table for VBAP

IT_TEMP1 TYPE STANDARD TABLE OF ST_VBAP, "Delete duplicate records from VBAP

IT_KNVP TYPE STANDARD TABLE OF ST_KNVP, "Internal table for KNVP

IT_TVAUT TYPE STANDARD TABLE OF ST_TVAUT, "Internal table for TVAUT

IT_TVKBT TYPE STANDARD TABLE OF ST_TVKBT, "Internal Table for TVKBT

IT_VBFA TYPE STANDARD TABLE OF ST_VBFA, "Internal table for VBFA

IT_DSD TYPE STANDARD TABLE OF ST_DSD, "Internal table for dsd

IT_FINAL TYPE STANDARD TABLE OF ST_FINAL, "Internal table for Final

IT_FIELDCATALOG TYPE LVC_T_FCAT, "Internal Table for Field catalog

OBJ_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER, "Object for container

OBJ_GRID TYPE REF TO CL_GUI_ALV_GRID, "Object for Grid

V_MYGRID TYPE SCRFNAME VALUE 'GRID1', "Varialbe for my grid

OBJ_EVENT TYPE REF TO LCL_EVENT_TOP_OF_PAGE, "Object for Local Class

OBJ_TOP TYPE REF TO CL_GUI_CONTAINER, "Object for Top of page

OBJ_DATA TYPE REF TO CL_GUI_CONTAINER, "Object for Grid data Display

OBJ_SPLITER TYPE REF TO CL_GUI_SPLITTER_CONTAINER, "Object for Spliting Container

OBJ_DOC TYPE REF TO CL_DD_DOCUMENT. "Object for Importing Event of TOP of PAGE

*Selection Screen

SELECT-OPTIONS: S_KUNNR FOR WA_VBAK-KUNNR, "Customer Number

S_VKORG FOR WA_VBAK-VKORG, "Sales Organization

S_VTWEG FOR WA_VBAK-VTWEG, "Distribution Channel

S_VKBUR FOR WA_VBAK-VKBUR, "Sales Office

S_AUDAT FOR WA_VBAK-AUDAT. "Document Date

*Start of Selection

START-OF-SELECTION.

PERFORM FILL_INTERNAL_TABLES. "Fill Internal Tables

PERFORM FILL_FINAL_INTERNAL. "Fill final Internal Tables

PERFORM FILL_FIELDCATALOG. "Fill Field catalog

*End of Selection

END-OF-SELECTION.

CALL SCREEN 100.

----


  • CLASS LCL_EVENT_TOP_OF_PAGE DEFINITION

----


  • Local Class Definition

----


CLASS LCL_EVENT_TOP_OF_PAGE DEFINITION.

PUBLIC SECTION.

METHODS: HANDLE_TOP_OF_PAGE

FOR EVENT TOP_OF_PAGE OF CL_GUI_ALV_GRID

IMPORTING E_DYNDOC_ID.

ENDCLASS. "LCL_EVENT_TOP_OF_PAGE DEFINITION

----


  • CLASS LCL_EVENT_TOP_OF_PAGE IMPLEMENTATION

----


  • Local Class Implementation

----


CLASS LCL_EVENT_TOP_OF_PAGE IMPLEMENTATION.

METHOD HANDLE_TOP_OF_PAGE.

PERFORM EVENT_TOP_OF_PAGE USING OBJ_DOC.

ENDMETHOD. "HANDLE_TOP_OF_PAGE

ENDCLASS. "LCL_EVENT_TOP_OF_PAGE IMPLEMENTATION

&----


*& Module STATUS_0100 OUTPUT

&----


  • PBO for display the data

----


MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'BACK'. "For getting BACK and EXIT

SET TITLEBAR 'TITTLE'. "For getting Tittle BAR

*Create Container Object

IF OBJ_CONTAINER IS INITIAL.

CREATE OBJECT OBJ_CONTAINER

EXPORTING

  • PARENT =

CONTAINER_NAME = V_MYGRID

  • STYLE =

  • LIFETIME = lifetime_default

  • REPID =

  • DYNNR =

  • NO_AUTODEF_PROGID_DYNNR =

EXCEPTIONS

CNTL_ERROR = 1

CNTL_SYSTEM_ERROR = 2

CREATE_ERROR = 3

LIFETIME_ERROR = 4

LIFETIME_DYNPRO_DYNPRO_LINK = 5

OTHERS = 6

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

*Create the object for the class CL_DD_DOCUMENT

CREATE OBJECT OBJ_DOC

EXPORTING

STYLE = 'ALV_GRID'

  • BACKGROUND_COLOR =

  • BDS_STYLESHEET =

  • NO_MARGINS =

.

*Create the object for the Splitter

*Splitting the Grid Control

CREATE OBJECT OBJ_SPLITER

EXPORTING

  • LINK_DYNNR =

  • LINK_REPID =

  • SHELLSTYLE =

  • LEFT =

  • TOP =

  • WIDTH =

  • HEIGHT =

  • METRIC = cntl_metric_dynpro

  • ALIGN = 15

PARENT = OBJ_CONTAINER

ROWS = 2

COLUMNS = 1

  • NO_AUTODEF_PROGID_DYNNR =

  • NAME =

EXCEPTIONS

CNTL_ERROR = 1

CNTL_SYSTEM_ERROR = 2

OTHERS = 3

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

*Assigne First Grid Control Part to the Top Ref variable

CALL METHOD OBJ_SPLITER->GET_CONTAINER

EXPORTING

ROW = 1

COLUMN = 1

RECEIVING

CONTAINER = OBJ_TOP.

*Assigne Second Grid Control Part to the Grid Data Display

CALL METHOD OBJ_SPLITER->GET_CONTAINER

EXPORTING

ROW = 2

COLUMN = 1

RECEIVING

CONTAINER = OBJ_DATA.

  • Set height for g_parent_html

CALL METHOD OBJ_SPLITER->SET_ROW_HEIGHT

EXPORTING

ID = 1

HEIGHT = 35.

*Create the Grid Object based on Second Splitting Reference

CREATE OBJECT OBJ_GRID

EXPORTING

  • I_SHELLSTYLE = 0

  • I_LIFETIME =

I_PARENT = OBJ_DATA

  • I_APPL_EVENTS = space

  • I_PARENTDBG =

  • I_APPLOGPARENT =

  • I_GRAPHICSPARENT =

  • I_NAME =

  • I_FCAT_COMPLETE = SPACE

EXCEPTIONS

ERROR_CNTL_CREATE = 1

ERROR_CNTL_INIT = 2

ERROR_CNTL_LINK = 3

ERROR_DP_CREATE = 4

OTHERS = 5

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

*Create the Object for Local Class

CREATE OBJECT OBJ_EVENT.

*Assinge Grid Control Object to the Top of Page Event

SET HANDLER OBJ_EVENT->HANDLE_TOP_OF_PAGE FOR OBJ_GRID.

*Display Internal Table Data in the Second Splitting Grid Control

CALL METHOD OBJ_GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

I_STRUCTURE_NAME = 'ZST_FULL_RETURN'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

  • IR_SALV_ADAPTER =

CHANGING

IT_OUTTAB = IT_FINAL

IT_FIELDCATALOG = IT_FIELDCATALOG

  • IT_SORT =

  • IT_FILTER =

EXCEPTIONS

INVALID_PARAMETER_COMBINATION = 1

PROGRAM_ERROR = 2

TOO_MANY_LINES = 3

OTHERS = 4

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

*Assigne Top of Page Event to the List Process

CALL METHOD OBJ_GRID->LIST_PROCESSING_EVENTS

EXPORTING

I_EVENT_NAME = 'TOP_OF_PAGE'

I_DYNDOC_ID = OBJ_DOC

  • IS_SUBTOTTXT_INFO =

  • IP_SUBTOT_LINE =

  • I_TABLE_INDEX =

  • CHANGING

  • C_SUBTOTTXT =

.

*Display Top of Page data by using DISPLAY Document Method

CALL METHOD OBJ_DOC->DISPLAY_DOCUMENT

EXPORTING

  • REUSE_CONTROL =

  • REUSE_REGISTRATION =

  • CONTAINER =

PARENT = OBJ_TOP

EXCEPTIONS

HTML_DISPLAY_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.

ENDIF.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • PAI Module for BACK and EXIT

----


MODULE USER_COMMAND_0100 INPUT.

CASE SY-UCOMM.

WHEN 'BACK'.

LEAVE TO SCREEN 0.

WHEN 'EXIT'.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Form fill_internal_tables

&----


  • Fill Internal Tables from Data base

----


FORM FILL_INTERNAL_TABLES .

*Select VBAK data

SELECT VBELN AUDAT AUGRU VKORG VTWEG VKBUR KUNNR

FROM VBAK

INTO TABLE IT_VBAK

WHERE AUDAT IN S_AUDAT AND

VKORG IN S_VKORG AND

VTWEG IN S_VTWEG AND

VKBUR IN S_VKBUR AND

KUNNR IN S_KUNNR.

IF SY-SUBRC = 0.

SORT IT_VBAK BY VBELN.

ENDIF.

IF IT_VBAK IS NOT INITIAL.

IT_TEMP = IT_VBAK.

SORT IT_TEMP BY KUNNR.

DELETE ADJACENT DUPLICATES FROM IT_TEMP COMPARING KUNNR.

IF SY-SUBRC = 0.

*Select KNVP data

SELECT KUNNR VKORG VTWEG SPART PARVW PARZA PERNR

FROM KNVP

INTO TABLE IT_KNVP

FOR ALL ENTRIES IN IT_TEMP

WHERE KUNNR = IT_TEMP-KUNNR.

IF SY-SUBRC = 0.

SORT IT_KNVP BY KUNNR.

ENDIF.

REFRESH IT_TEMP.

ENDIF.

IT_TEMP = IT_VBAK.

SORT IT_TEMP BY AUGRU.

DELETE ADJACENT DUPLICATES FROM IT_TEMP COMPARING AUGRU.

IF SY-SUBRC = 0.

*Select TVAUT data

SELECT SPRAS AUGRU BEZEI

FROM TVAUT

INTO TABLE IT_TVAUT

FOR ALL ENTRIES IN IT_TEMP

WHERE AUGRU = IT_TEMP-AUGRU.

IF SY-SUBRC = 0.

SORT IT_TVAUT BY SPRAS AUGRU.

ENDIF.

REFRESH IT_TEMP.

ENDIF.

IT_TEMP = IT_VBAK.

SORT IT_TEMP BY VKBUR.

DELETE ADJACENT DUPLICATES FROM IT_TEMP COMPARING VKBUR.

IF SY-SUBRC = 0.

*Select TVKBT data

SELECT SPRAS VKBUR BEZEI

FROM TVKBT

INTO TABLE IT_TVKBT

FOR ALL ENTRIES IN IT_TEMP

WHERE VKBUR = IT_TEMP-VKBUR.

IF SY-SUBRC = 0.

SORT IT_TVKBT BY SPRAS VKBUR.

ENDIF.

REFRESH IT_TEMP.

ENDIF.

*Select VBAP data

SELECT VBELN POSNR MATNR ARKTX WAERK KWMENG VRKME WERKS CMPRE

FROM VBAP

INTO TABLE IT_VBAP

FOR ALL ENTRIES IN IT_VBAK

WHERE VBELN = IT_VBAK-VBELN.

IF SY-SUBRC = 0.

SORT IT_VBAP BY VBELN POSNR.

ENDIF.

ENDIF.

IF IT_VBAP IS NOT INITIAL.

IT_TEMP1 = IT_VBAP.

SORT IT_TEMP1 BY WERKS.

DELETE ADJACENT DUPLICATES FROM IT_TEMP1 COMPARING WERKS.

IF SY-SUBRC = 0.

*Select /DSD/HH_RAHD data

SELECT TOUR_ID DRIVER PLANT CREDATE

FROM /DSD/HH_RAHD

INTO TABLE IT_DSD

FOR ALL ENTRIES IN IT_TEMP1

WHERE PLANT = IT_TEMP1-WERKS.

IF SY-SUBRC = 0.

SORT IT_DSD BY TOUR_ID.

ENDIF.

ENDIF.

*Select VBFA data

SELECT VBELV POSNV VBELN POSNN VBTYP_N

FROM VBFA

INTO TABLE IT_VBFA

FOR ALL ENTRIES IN IT_VBAP

WHERE VBELV = IT_VBAP-VBELN AND

POSNV = IT_VBAP-POSNR.

IF SY-SUBRC = 0.

SORT IT_VBFA BY VBELV POSNV.

ENDIF.

ENDIF.

*For getting Report tittle.

SELECT SINGLE TEXT FROM TRDIRT INTO V_TITLE WHERE NAME = SY-REPID.

ENDFORM. " fill_internal_tables

&----


*& Form fill_final_internal

&----


  • Fill Final Internal Tables

----


FORM FILL_FINAL_INTERNAL .

LOOP AT IT_VBAP INTO WA_VBAP.

READ TABLE IT_VBAK INTO WA_VBAK

WITH KEY VBELN = WA_VBAP-VBELN

BINARY SEARCH. " TRANSPORTING VBELN AUGRU VKBUR KUNNR.

IF SY-SUBRC = 0.

WA_FINAL-VKORG = WA_VBAK-VKORG.

WA_FINAL-KUNNR = WA_VBAK-KUNNR.

WA_FINAL-VBELN = WA_VBAK-VBELN.

WA_FINAL-AUGRU = WA_VBAK-AUGRU.

WA_FINAL-AUDAT = WA_VBAK-AUDAT.

WA_FINAL-VKBUR = WA_VBAK-VKBUR.

READ TABLE IT_KNVP INTO WA_KNVP

WITH KEY KUNNR = WA_VBAK-KUNNR

BINARY SEARCH

TRANSPORTING PERNR.

IF SY-SUBRC = 0.

WA_FINAL-PERNR = WA_KNVP-PERNR.

ENDIF.

READ TABLE IT_TVAUT INTO WA_TVAUT

WITH KEY AUGRU = WA_VBAK-AUGRU

BINARY SEARCH

TRANSPORTING BEZEI.

IF SY-SUBRC = 0.

WA_FINAL-BEZEI = WA_TVAUT-BEZEI.

ENDIF.

READ TABLE IT_TVKBT INTO WA_TVKBT

WITH KEY VKBUR = WA_VBAK-VKBUR

BINARY SEARCH

TRANSPORTING BEZEI.

IF SY-SUBRC = 0.

WA_FINAL-BEZEI1 = WA_TVKBT-BEZEI.

ENDIF.

ENDIF.

READ TABLE IT_VBFA INTO WA_VBFA

WITH KEY VBELV = WA_VBAP-VBELN

POSNV = WA_VBAP-POSNR

BINARY SEARCH

TRANSPORTING VBELN.

IF SY-SUBRC = 0.

WA_FINAL-VBELN1 = WA_VBFA-VBELN.

ENDIF.

WA_FINAL-CREDATE = WA_DSD-CREDATE.

WA_FINAL-DRIVER = WA_DSD-DRIVER.

WA_FINAL-MATNR = WA_VBAP-MATNR.

WA_FINAL-ARKTX = WA_VBAP-ARKTX.

WA_FINAL-KWMENG = WA_VBAP-KWMENG.

WA_FINAL-VRKME = WA_VBAP-VRKME.

WA_FINAL-CMPRE = WA_VBAP-CMPRE.

WA_FINAL-WAERK = WA_VBAP-WAERK.

APPEND WA_FINAL TO IT_FINAL.

CLEAR WA_FINAL.

ENDLOOP.

ENDFORM. " fill_final_internal

&----


*& Form EVENT_TOP_OF_PAGE

&----


  • Form for Top of Page

----


FORM EVENT_TOP_OF_PAGE USING P_OBJ_DOC TYPE REF TO CL_DD_DOCUMENT.

DATA: V_TEXT(255) TYPE C.

*New Line for getting another data

CALL METHOD P_OBJ_DOC->NEW_LINE

  • EXPORTING

  • REPEAT =

.

*For Program Name

V_TEXT = 'Program Name : '.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INT

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

CLEAR V_TEXT.

*For Getting Program Name

V_TEXT = SY-REPID.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INV

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

CLEAR V_TEXT.

*New Line for getting another data

CALL METHOD P_OBJ_DOC->NEW_LINE

  • EXPORTING

  • REPEAT =

.

*User Name Text

V_TEXT = 'User Name : '.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INT

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

CLEAR V_TEXT.

*User Name Value

V_TEXT = SY-UNAME.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INV

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

*For getting New Line

CALL METHOD P_OBJ_DOC->NEW_LINE

  • EXPORTING

  • REPEAT =

.

*Client Text

V_TEXT = 'Client : '.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INT

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

CLEAR V_TEXT.

*Client Value

V_TEXT = SY-MANDT.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INV

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

*For getting New Line

CALL METHOD P_OBJ_DOC->NEW_LINE

  • EXPORTING

  • REPEAT =

.

*Company Name Text

V_TEXT = 'Company Name : '.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INT

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

CLEAR V_TEXT.

*Company Name Value

V_TEXT = 'ISERVICEGLOBE'.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INV

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

*For getting New Line

CALL METHOD P_OBJ_DOC->NEW_LINE

  • EXPORTING

  • REPEAT =

.

*Report Description Text

V_TEXT = 'Report Description : '.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INT

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

CLEAR V_TEXT.

*Report Description Value

V_TEXT = V_TITLE.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INV

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

*For getting New Line

CALL METHOD P_OBJ_DOC->NEW_LINE

  • EXPORTING

  • REPEAT =

.

*Date Text

V_TEXT = 'Date : '.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INT

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

CLEAR V_TEXT.

*Date Value

V_TEXT = SY-DATUM.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INV

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

*New Line

CALL METHOD P_OBJ_DOC->NEW_LINE

  • EXPORTING

  • REPEAT =

.

*Text for Time

V_TEXT = 'Time : '.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INT

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

CLEAR V_TEXT.

*Data for TIME

V_TEXT = SY-UZEIT.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INV

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

*New Line

CALL METHOD P_OBJ_DOC->NEW_LINE

  • EXPORTING

  • REPEAT =

.

*Page NumberText

V_TEXT = 'Page Number : '.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INT

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

CLEAR V_TEXT.

*Page Number Value

V_TEXT = SY-CPAGE + 1.

CALL METHOD P_OBJ_DOC->ADD_TEXT

EXPORTING

TEXT = V_TEXT

  • TEXT_TABLE =

  • FIX_LINES =

  • SAP_STYLE = CL_DD_AREA=>HEADING

SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INV

SAP_FONTSIZE = CL_DD_AREA=>LARGE

  • SAP_FONTSTYLE =

  • SAP_EMPHASIS =

  • STYLE_CLASS =

  • CHANGING

  • DOCUMENT =

.

*For getting New Line

CALL METHOD P_OBJ_DOC->NEW_LINE

  • EXPORTING

  • REPEAT =

.

*For Getting Gap

CALL METHOD P_OBJ_DOC->ADD_GAP

EXPORTING

WIDTH = 300.

*Add the Logo

CALL METHOD P_OBJ_DOC->ADD_PICTURE

EXPORTING

PICTURE_ID = 'ENJOYSAP_LOGO'

WIDTH = '100'

  • ALTERNATIVE_TEXT =

  • TABINDEX =

.

ENDFORM. " EVENT_TOP_OF_PAGE

&----


*& Form fill_fieldcatalog

&----


  • Fill Field Catalog

----


FORM FILL_FIELDCATALOG .

*Sales Organization

WA_FIELDCATALOG-FIELDNAME = 'VKORG'.

WA_FIELDCATALOG-ROW_POS = 1.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Partner Number

WA_FIELDCATALOG-FIELDNAME = 'PERNR'.

WA_FIELDCATALOG-ROW_POS = 1.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Customer

WA_FIELDCATALOG-FIELDNAME = 'KUNNR'.

WA_FIELDCATALOG-ROW_POS = 1.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Sales Document

WA_FIELDCATALOG-FIELDNAME = 'VBELN'.

WA_FIELDCATALOG-ROW_POS = 2.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Order Reason

WA_FIELDCATALOG-FIELDNAME = 'AUGRU'.

WA_FIELDCATALOG-ROW_POS = 2.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Sales Document Order Reason Texts

WA_FIELDCATALOG-FIELDNAME = 'BEZEI'.

WA_FIELDCATALOG-ROW_POS = 2.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Document Date

WA_FIELDCATALOG-FIELDNAME = 'AUDAT'.

WA_FIELDCATALOG-ROW_POS = 2.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Sales Office

WA_FIELDCATALOG-FIELDNAME = 'VKBUR'.

WA_FIELDCATALOG-ROW_POS = 2.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Sales Office Text

WA_FIELDCATALOG-FIELDNAME = 'BEZEI1'.

WA_FIELDCATALOG-ROW_POS = 2.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Shipment Number

WA_FIELDCATALOG-FIELDNAME = 'VBELN1'.

WA_FIELDCATALOG-ROW_POS = 2.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Shipment Created Date

WA_FIELDCATALOG-FIELDNAME = 'CREDATE'.

WA_FIELDCATALOG-ROW_POS = 2.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Driver

WA_FIELDCATALOG-FIELDNAME = 'DRIVER'.

WA_FIELDCATALOG-ROW_POS = 2.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Material

WA_FIELDCATALOG-FIELDNAME = 'MATNR'.

WA_FIELDCATALOG-ROW_POS = 3.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Short text for Material

WA_FIELDCATALOG-FIELDNAME = 'ARKTX'.

WA_FIELDCATALOG-ROW_POS = 3.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Order reason

WA_FIELDCATALOG-FIELDNAME = 'AUGRU1'.

WA_FIELDCATALOG-ROW_POS = 3.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Order reason text

WA_FIELDCATALOG-FIELDNAME = 'BEZEI11'.

WA_FIELDCATALOG-ROW_POS = 3.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Order quantity

WA_FIELDCATALOG-FIELDNAME = 'KWMENG'.

WA_FIELDCATALOG-ROW_POS = 3.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Unit

WA_FIELDCATALOG-FIELDNAME = 'VRKME'.

WA_FIELDCATALOG-ROW_POS = 3.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Item credit price

WA_FIELDCATALOG-FIELDNAME = 'CMPRE'.

WA_FIELDCATALOG-ROW_POS = 3.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

*Currency

WA_FIELDCATALOG-FIELDNAME = 'WAERK'.

WA_FIELDCATALOG-ROW_POS = 3.

APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR WA_FIELDCATALOG.

ENDFORM.

Regards.,

Kiran Posanapalli