Você está na página 1de 3

Excel Report:-

After completing non-excel report,

Step 1 :-
I - Create a formula column. Here “CF_Excel_hdr”
Object Navigator -> Data Model -> Formula Column -> Report Editor :
Select Formula Column from tool palette(report-level-column)

II - Set Properties from Property Palette of formula column

III - Select PL-SQL Editor from Property Palette of formula column.


Write code like.. ( HEADER INFORMATION )
function CF_Excel_hdrFormula return VARCHAR2 is
vDelimiter VARCHAR2(1) := :P_EXCEL_DELIMITER;
vTextQualifier VARCHAR2(1) := :P_EXCEL_TEXT_QUALIFIER;
vOutHdr VARCHAR2(3000);
begin
vOutHdr := vTextQualifier||'Customer'||vTextQualifier||vDelimiter||
vTextQualifier||'PO Number'||vTextQualifier||vDelimiter||
vTextQualifier||'Item'||vTextQualifier||vDelimiter||
vTextQualifier||'Cust Part No'||vTextQualifier||vDelimiter||
vTextQualifier||'AS'||vTextQualifier||vDelimiter||
vTextQualifier||'Booked Date'||vTextQualifier||vDelimiter
vTextQualifier||'Order Dt'||vTextQualifier||vDelimiter||
vTextQualifier||'Sales Order'||vTextQualifier||vDelimiter||
vTextQualifier||'Line Type'||vTextQualifier||vDelimiter||
vTextQualifier||'Order Source'||vTextQualifier||vDelimiter||
vTextQualifier||'Req Date'||vTextQualifier||vDelimiter||
vTextQualifier||'Sch Date'||vTextQualifier||vDelimiter||
vTextQualifier||'Subinv'||vTextQualifier||vDelimiter||
vTextQualifier||'Order Qty'||vTextQualifier||vDelimiter||
vTextQualifier||'SO Curr'||vTextQualifier||vDelimiter||
vTextQualifier||'Sell Price'||vTextQualifier||vDelimiter||
vTextQualifier||'Ext Amount'||vTextQualifier||vDelimiter||
vTextQualifier||'Ext Amount('||:p_func_curr ||')' ;
RETURN(vOutHdr);
end;
Step 2:-
I - Create another formula column “CF_Excel”
Object Navigator -> Data Model -> Formula Column -> Report Editor :
Select Formula Column from tool palette ( within group )

II - Set Properties from Property Palette of formula column

III - Select PL-SQL Editor from Property Palette of formula column.


Write code like..
function CF_ExcelFormula return VARCHAR2 is
vDelimiter VARCHAR2(1) := :P_EXCEL_DELIMITER;
vTextQualifier VARCHAR2(1) := :P_EXCEL_TEXT_QUALIFIER;
vOut VARCHAR2(2000);
begin
vOut := vTextQualifier||REPLACE(:customer1,vTextQualifier,vTextQualifier||vTextQualifier)||vTextQualifier||vDelimiter||
vTextQualifier||REPLACE(:po_number1,vTextQualifier,vTextQualifier||vTextQualifier)||vTextQualifier||vDelimiter||
vTextQualifier||REPLACE(:item,vTextQualifier,vTextQualifier||vTextQualifier)||vTextQualifier||vDelimiter||
vTextQualifier||REPLACE(:cf_customeritem,vTextQualifier,vTextQualifier||vTextQualifier)||vTextQualifier||vDelimiter||
vTextQualifier||REPLACE(:name,vTextQualifier,vTextQualifier||vTextQualifier)||vTextQualifier||vDelimiter||
TO_CHAR(:booked_date)||vDelimiter||
TO_CHAR(:order_date)||vDelimiter||
TO_CHAR(:sales_order)||vDelimiter||
vTextQualifier||:line_type||vTextQualifier||vDelimiter||
vTextQualifier||:order_source_name||vTextQualifier||vDelimiter||
TO_CHAR(:req_shp_date)||vDelimiter||
TO_CHAR(:sch_date)||vDelimiter||
vTextQualifier||REPLACE(:subinv,vTextQualifier,vTextQualifier||vTextQualifier)||vTextQualifier||vDelimiter||
TO_CHAR(:cf_order_qty)||vDelimiter||
vTextQualifier||:hcurr_code||vTextQualifier||vDelimiter||
TO_CHAR(:cf_sell_price)||vDelimiter||
TO_CHAR(:cf_ext_amount)||vDelimiter||
TO_CHAR(:cf_func_amt) ;
RETURN(vOut);
end;
Step 3:-
Set a Layout for non-excel information
Object Navigator -> Data Model -> Layout Model -> Report Editor
Select Frame option from tool palette. Drag it on layout editor . Here “F_Excel_header”
Create field in the F_Excel_header frame. Set properties for the created field.
Give Source. Here “CF_Excel_hdr”

PL-SQL Editor
function F_Excel_headerFormatTrigger return boolean is
begin
IF :P_PRINT_EXCEL='Y' THEN -- :P_PRINT_EXCEL – user parameter
RETURN (TRUE);
ELSE
RETURN (FALSE);
END IF;
RETURN NULL;
end;

Step 4:-
Select Repeating Frame option from tool palette. Drag it in previous created frame .Here “F_excel”.
Go to Property Palette of repeating frame and give source name. Here “G_Backlog”
Create field in the F_Excel repeating frame. Set properties for the created field.
Give Source. Here “CF_Excel”

Você também pode gostar