XML PUBLISHER - Customizar Layout default de Ordem de Compra

Oracle Business Intelligence, Oracle Warehouse Builder OWB, Oracle Discoverer, BI Publisher, XML Publisher, OLAP, Data Mining, ODI Oracle Data Integrator, etc
Responder
LordElfo
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 111
Registrado em: Qui, 22 Fev 2007 2:34 pm
Localização: DF
________________
http://lordelfo.blogspot.com
Thiago Façanha

Olá Pessoal.
Estou com um problema aqui.
Estou tentando criar um template customizado baseado no layout padrão de ordem de compra.
Até agora fiz os seguintes passos.

-Fui na responsabilidade Administrador do XML Publisher
-Entrei no menu modelo
-Dupliquei o modelo padrão de ordem de compra.
-Alterei o arquivo PO_STANDARD_XSLFO.xsl do template customizado, criando uma nova coluna.

Até ai beleza. mostrei 2 vezes a descrição do item na tabela.

Meu problema é que na coluna que criei eu preciso mostrar a descrição longa do item, localizada no campo long_description da tabela mtl_system_items_tl

Vi que ele gera o pdf na package PO_COMMUNICATION_PVT provavelmente na função poxmlgen

Mas eu precisarei modificar essa função CORE?
ou tem como mudar apenas o arquivo de definição de dados relacionado com o template?

Alguém tem alguma idéia?

Vlw pessoal.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Sim, no XML Publisher lá no TEMPLATE você edita qual é o DATA DEFINITION relacionado ao template. E já era!
Vai na aba template, escolhe seu template e clica em UPDATE pra altear isso!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Cara, agora que eu vi que você está usando um XSL.
É fácil de alterar quando o arquivo é um RTF e tem um data definition em XML...

Mas nesses casos de XSL que é o caso da PO, eu to tentando descobrir como que se faz isso. :-(

Parece que tem que editar as views XML, exemplo: PO_HEADERS_XML.
Dai o programa em java monta os dados de acordo com a VIEW. Tenta adicionar esse novo campo na view e rodar seu template pra ver se vai funcionar... Depois avisa nóis :-)

Além disso tem todas as outras views:
PO_LINE_LOCATIONS_XML, PO_DISTRIBUTION_XML e PO_RELEASE_XML


Eu achei essa dica, mas não encontrei o POXPOSTD_XML.rtf

Selecionar tudo

R12 PO output can be created or modified by using BI Publisher. The following are the steps that need to be taken.

1. Download the Standard PO xml file from /po/12.0.0/patch/115/publisher/defs. Name of the file is PO_STANDARD_P.xml
2. Download the staqndard template either from the application or from the directory /po/12.o.o/patch/115/publisher/template/US. Name of the file is POXPOSTD_XML.rtf
3. Use BI pulisher to modify or recreate the template and name it with a custom name
4. Register the template in the application. Template datasource must be set to Standard Purchase Order Data Source
5. Update Document type: Purchase Order Standard by navigating to Purchasing->Setup->Purchasing->Document Types. Update the Document Type Layout to the name of your custom template from the standard value of Standard Purchase Order Stylesheet.
6. Test your output by running the concurrent program PO output for communications
7. The standard PO xml output can be modified by modifying the views PO_HEADERS_XML and PO_LINES_XML, for example the standard PO xml does not have value for vendor contact email, for this to be included in the xml modify PO_HEADERS_XML to add column PVC.EMAIL where PVC is PO_VENDOR_CONTACTS table.
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

O que o Tomas disse esta correto, mas vou te dar uma dica.

Rode este select no sqldevelopers

Selecionar tudo

SELECT FILE_DATA, DBMS_LOB.GETLENGTH(FILE_DATA), 
FILE_NAME, LAST_UPDATE_DATE 
FROM XDO_LOBS 
where file_name LIKE 'XXOMBRN%'  --  nome do Report
FOR UPDATE

vai aparecer 2 arquivos rtf e xls no xls click no campo FILE_DATA campo (blob), vai aparecer o arquivo xls para alteração depois Feche o arquivo irá aparecer uma mensagem para salvar o xdo_lobs.file_data clicar em YES

Depois clicar em post changes e commit pronto.


Espero ter ajudado.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eu achei esse link, que pode trazer algumas informações.
http://chandramatta.blogspot.com/2010/0 ... ce-po.html

O que eu não entendi é o seguinte:

Dúvida 1:
* Não existe nenhum concurrent program vinculado a esse relatório "PO_STANDARD_XSLFO" --> "Standard Purchase Order Stylesheet".
Então: QUEM executa esse relatório ? Como que ele é executado ? (vou dar uma olhada no programa da aprovação de ordem de compra. Ali ele dispara esse relatório e envia pro email)

Duvida 2:
* Como saber quais são os parâmetros desse relatório ? ( Quando temos o XML e um RTF fica tudo bem definido no início do XML)

:?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

DUVIDA 1

O Concurrent é o PO Output for Communication (POXPOPDF)
Dentro dele, um dos parâmetros é o "Purchase Order Layout", onde você escolhe entre os layouts do PO. Ele se baseia por este value_set: PO_SRS_POXPOPDF_PO_TEMPLATE.

Mas este é apenas um concurrent que CHAMA um Java Concurrent Program..
Pra mexer nos dados, tem que mexer nas VIEWS XML.

O meu problema é que eu quero criar um NOVO Data Definition :-( e daí eu não sei quais são os parâmetros que esse Data Definition deve ter.

PS: To fazendo essa modificação aqui também. :-(
LordElfo
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 111
Registrado em: Qui, 22 Fev 2007 2:34 pm
Localização: DF
________________
http://lordelfo.blogspot.com
Thiago Façanha

Opa Pessoal
alguém chegou a olhar a
package PO_COMMUNICATION_PVT ?
Estou propenso a acreditar que as informações vem pela função poxmlgen

Mas o código é tão intrincado... passa por tantas que fiquei meio confuso.
E pior não identifico os campos do relatório.

Minha idéia é .
Ele manda os resultados por essa função e o xml do layout se usar o mesmo nome que o campo recebe os valores...

Mas está complicado =(
LordElfo
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 111
Registrado em: Qui, 22 Fev 2007 2:34 pm
Localização: DF
________________
http://lordelfo.blogspot.com
Thiago Façanha

Opa Gori.
Olhando o link que você passou parece q seria o que preciso =)
http://chandramatta.blogspot.com/2010/0 ... ce-po.html

Estou vendo se consigo modificar uma view aqui para retornar o que preciso.
Só não vi onde ele chama essas views

Selecionar tudo

select * from PO_HEADERS_XML;
select * from PO_LINES_XML;
select * from PO_LINE_LOCATIONS_XML;
select * from PO_DISTRIBUTION_XML;
LordElfo
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 111
Registrado em: Qui, 22 Fev 2007 2:34 pm
Localização: DF
________________
http://lordelfo.blogspot.com
Thiago Façanha

De volta....

Alterei a view... adicionando uma tabela a mais para poder pegar um campo dela.
Criei um novo Data Definition
Copiei os arquivos que estavam na data definition original PO_STANDART_PO.xsd e PO_STANDART_PO.xml para este novo data definition que criei.

adicionei o campo

Selecionar tudo

<xs:element ref="ITEM_LONG_DESCRIPTION"/> 
dentro da parte LINES_ROW
ITEM_LONG_DESCRIPTION foi o campo que adicionei na view PO_LINES_XML

e no arquivo de template eu coloquei a chamada para ITEM_LONG_DESCRIPTION...

Bem... não deu erro no view.... estou esperando o analista de negócios para poder testar mudando a definicão dos templates PO e testar na aplicação...
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Vou ter que alterar também o relatório de Liberações (Releases).
A princípio, será +ou- a mesma coisa... Depois aviso se eu tiver alguma dificuldade.
LordElfo
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 111
Registrado em: Qui, 22 Fev 2007 2:34 pm
Localização: DF
________________
http://lordelfo.blogspot.com
Thiago Façanha

Opa.
Finalmente fiz o teste.
Deu certo aqui.
No fim das contas eu precisei modificar apenas a view relacionada.

No meu layout tinha item_description. Fui na PO_LINES_XML e alterei a query dessa view para incluir a descrição longa.

Uma coisa importante que vi nestes testes foi que precisa rodar uma concurrent para caso você altere o layout. Essa concurrent fica disponível pra responsabilidade do Publisher logo abaixo das opções de controle do layout.
Eu estava com problema pois alterava o layout e na hora de testar ainda estava a mesma coisa... Com essa concurrent ele atualiza e quando vou testar pega a nova alteração feita.
Vlw pessoal.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Para que conste:
O nome do concurrent é: XML Publisher Template Re-Generator

Acho que só tem que executar ele caso você altere um arquivo XSL.

:-o
Renan Castro
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Ter, 22 Fev 2011 11:01 am
Localização: Juiz de Fora

Senhores, bom dia!

Desculpem-me por reviver este tópico mas quero dizer o quanto estou grato a vocês pelas valiosas informações!
Eu já vi customizações da Ordem de Compra em que o consultor mudou até a package de comunicação e diversas classes Java. Mais de 30 objetos foram enviados através de patch.

Com as informações aqui contidas fui capaz de fazer da forma menos intrusiva possível modificando o menor número de objetos CORE possível (nesse caso só a VIEW).
Na release mais nova do OEBS (12.1.3) há ainda uma opção no programa concorrente POPOXPDF para regerar o documento na base de dados, uma solicitação comum dos clientes que não querem subir revisão após modificar apenas um Comentário no documento da OC.

Mais uma vez, obrigado a todos! É excepcional como eu fiz tudo que aqui estava escrito e não tive problema algum, tudo simplesmente funcionou! Excelente meus amigos!



Abraços, cordialmente,
Renan.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes