понедельник, 28 октября 2013 г.

Способы выгрузки в Excel из XML Publisher для OEBS 11

Способ 1
При помощи http://xlspe.com/news.php
  • раскрашиваем наш excel-документ тегами с группами и полями
  • сохраняем наш excel-документ в формате Таблица XML 2003
  • прогоняем через программу XLS Processor Engine for BI Publisher. На выходе получаем XSL
  • Полученный XSL подсовываем в шаблон BI Publisher как тип XSL-XML
  • Печатаем отчет, который хоть и в формате XML, все равно открывается в Exce
Из минусов то, что программа преобразования триальная.

Способ 2
Делаем шаблон в rtf, output ставим как excel. 
Метод имеет ограничения, описанных тут

Способ 3
Описан тут http://habrahabr.ru/post/148041/ и в документации
В документации все пошагово, но пробиться через проверку Template Viewer не удалось надо быть внимательнее, пропустил : после Data Contains. И, судя по всему, в OEBS 11 это не заработает 


1138602.1
At this time there is limited support for Excel templates in R12.0 and 12.1 and there is no support for Excel templates in 11i. The best solution for EBS clients wanting to use Excel templates is to license and install Oracle BI Publisher Enterprise 10g or 11g, and run the reports from there
444604.1
Excel Templates are only partially supported on the Oracle E-Business Suite Release 12.0.x. There are no current plans to backport this feature to the Oracle E-Business Suite Release 11i, nor will it be fully supported in 12.1.x.

При подсовывании в XML Publisher (хотя в нем и есть тип шаблона Excel), генерирует ошибку
[10/28/13 7:16:16 PM] [UNEXPECTED] [62458:RT1060398] java.lang.ClassCastException: java.io.FileOutputStream cannot be cast to java.lang.String at oracle.apps.xdo.template.excel.ExcelController.processActionLanguage(ExcelController.java:356) at oracle.apps.xdo.template.excel.ExcelController.process(ExcelController.java:242) at oracle.apps.xdo.template.ExcelProcessor.process(ExcelProcessor.java:245) at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:6179) at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3459) at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3548) at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:290) at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:157) 

Способ 4 
Корявый. При помощи Template Viewer можно сгенерировать XSL файл (аналогично способу 1), который не содержит форматирования. Не проверялся, непонятно как будет выкидываться результат.