12-08-2008 8:15 AM
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.
12-08-2008 8:18 AM
12-08-2008 8:20 AM
12-08-2008 8:20 AM
12-08-2008 8:21 AM
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
12-08-2008 8:26 AM
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,
12-08-2008 8:29 AM
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.
12-08-2008 8:29 AM
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,
12-08-2008 8:33 AM
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
12-08-2008 8:48 AM
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.
12-08-2008 9:30 AM
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..
12-08-2008 12:33 PM
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