número de argumentos inválidos

Este forum é destinado a perguntas relacionadas a Oracle, mas que não se enquadram nos forums acima. Aqui serão tratadas também sobre outras tecnologias da oracle, como o Workflow, BPEL, Spatial, OCS, etc.
Responder
alexrsilva
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 153
Registrado em: Ter, 27 Mai 2008 1:31 pm
Localização: Rio de Janeiro - RJ
Alex Silva
Analista de Sistemas
11i.10 Applications Developer Implementation Champion
11i.10 E-Business Suite Integration Champion

Senhores,
Estou desenvolvendo um relatório no xml publisher,e ao rodar o concurrent, me retorna um erro de número de argumentos inválidos.
Alguém que argumentos serias esses?

meu template.xml

Selecionar tudo

<parameters>
<parameter name="p_vendor_name" dataType="character" />
<parameter name="p_segment1" dataType="character" />
<parameter name="p_segment2" dataType="character" />
<parameter name="p_segment3" dataType="character" />
<parameter name="p_segment4" dataType="character" />
<parameter name="p_reference_date" dataType="character" />
</parameters>

declaração de minha package

Selecionar tudo

function BeforeReportTrigger return boolean;
  p_vendor_name    varchar2(240);
  p_DATAINICIAL    date;
  p_DATAFINAL      date;
  p_ACCOUNT_KEY    varchar2(200);
  p_mesAno         varchar2(20);
  p_segment1       varchar2(20);
  p_segment2       varchar2(20);
  p_segment3       varchar2(20);
  p_segment4       varchar2(20);
  p_reference_date varchar2(20);
ele roda tudo certo, havia colocado um trace no código, ele passou e colocou todos os códigos corretamente.

Minha function

Selecionar tudo

 function BeforeReportTrigger return boolean is
  begin
    begin
      select gcck.concatenated_segments
        into p_account_key
        from gl_code_combinations_kfv gcck
       where gcck.segment1 = p_segment1
         and gcck.segment2 = p_segment2
         and gcck.segment3 = p_segment3
         and gcck.segment4 = p_segment4;
    exception
      when others then
        p_account_key := null;
    end;
    begin
      p_mesAno      := to_date(p_reference_date, 'MON-YY');
      p_datainicial := to_date(p_mesAno, 'DD/MM/RRRR');
      p_datafinal   := Last_Day(Trunc(p_datainicial));
    exception
      when others then
        null;
    end;
    return(true);
  end BeforeReportTrigger;
campos usados no template.xml

Selecionar tudo

         and cfeo.gl_date between &p_DATAINICIAL and &p_DATAFINAL
         and gcck.concatenated_segments =
             NVL(&p_ACCOUNT_KEY, gcck.concatenated_segments)
         and vendor.vendor_name = NVL(:p_vendor_name, vendor.vendor_name)

Estou usando o R12 para publicar o relatório.


Grato desde já
alexrsilva
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 153
Registrado em: Ter, 27 Mai 2008 1:31 pm
Localização: Rio de Janeiro - RJ
Alex Silva
Analista de Sistemas
11i.10 Applications Developer Implementation Champion
11i.10 E-Business Suite Integration Champion

Resolvido!!!!
O problema é que estava retornando uma data e como vinha com '31/08/09', essas aspas simples estavam deixando o meu select todo errado.
Foi resolvido retornando a cláusula and com a data já formatada, com vários '''' para poder deixar o select correto.

Para quem precisar, aí está a resposta!!!

Obrigado e Abraços!!!
Responder
  • Informação
  • Quem está online

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