天天看點

Oracle EBS 報表輸出ExcelOracle EBS 報表輸出Excel @吃蘿蔔去

Oracle EBS 報表輸出Excel @吃蘿蔔去

首先需要在系統中增加請求的輸出類型

增加EXCEL輸出類型

  1. 在快碼 ‘CP_OUTPUT_FILE_TYPE’ 中新增一行:

    1.1) 路徑: (Responsibility) Application Developer > (Menu) Application > (SubMenu) Lookups > (Function) Application Object Library.

    1.2) 查詢快碼 ‘CP_OUTPUT_FILE_TYPE’.

    1.3) 增加一行:

    Code: TEST, Meaning: TEST, Description: Test of Excel Output.

Note: 由于 FND_CONCURRENT_PROGRAMS.OUTPUT_FILE_TYPE 的字元類型為 VARCHAR2(4), 是以快碼的長度不能超過4個字元.

快碼 ‘CP_OUTPUT_FILE_TYPE’ 正常情況下是不允許新增資料的。

Note: 如果在建立資料的時候form提示 “FRM-41051- You can not create records here.” 可以使用form個性化來解決。

A.) FORM ‘Application Object Library Lookups’, 點選’Help’ > ‘Diagnostics’ > ‘Custom Code’ > ‘Personalize’.

B.) 在個性化界面設定以下内容 :

  • 序号: 10
  • 描述: Allow Edit
  • 條件> Trigger Event : WHEN-NEW-RECORD-INSTANCE, Trigger Object : FND_LOOKUP_VALUES
  • 動作> Seq : 10, Type : Property, Object Type : Block, Target Object : FND_LOOKUP_VALUES, Property Name : INSERT_ALLOWED, Value : TRUE.
    Oracle EBS 報表輸出ExcelOracle EBS 報表輸出Excel @吃蘿蔔去
    Oracle EBS 報表輸出ExcelOracle EBS 報表輸出Excel @吃蘿蔔去
    C.) 儲存.
  1. 為EXCEL輸出類型設定比對的檢視類型 ‘application/vnd.ms-excel’ :

    2.1) 路徑 : (Responsibility) System Administrator > (Menu) Install > (Function) Viewer Options.

    2.2) 增加一行:

    類型 : TEST, Mime Mime類别: application/vnd.ms-excel, 描述: Test Excel Format.

    2.3) 儲存.

  2. 确認并發請求的輸出類型為’TEST’ :
    Oracle EBS 報表輸出ExcelOracle EBS 報表輸出Excel @吃蘿蔔去

    3.1) 路徑 : (Responsibility) System Administrator > (Menu) Concurrent > (SubMenu) Program > (Function) Define.

    3.2)确認這個 ‘TEST’ 是最新建立的.

  3. 送出并發請求檢視輸出是否是用EXCLE打開.

并發請求參考代碼

create or replace procedure  test_excel(
errbuf out varchar2,
errcode out number) as 

begin
 
   fnd_file.put_line(fnd_file.output,'
   <?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:html="http://www.w3.org/TR/REC-html40">
 <Worksheet ss:Name="Demo Sheet">
  <Table>
   <Row>
    <Cell><Data ss:Type="String">Hello!World!</Data></Cell>
   </Row>
   <Row>
    <Cell><Data ss:Type="String">Hello!World!</Data></Cell>
   </Row>
   <Row>
    <Cell><Data ss:Type="String">Hello!World!</Data></Cell>
   </Row>
  </Table>
 </Worksheet>
</Workbook>');
end ;