Erro ao criar ordem no OM

Perguntas relacionadas a questões técnicas do Oracle EBS. Criação de Concorrentes, Value Sets, Alerts, Forms Personalizations, Configurações, etc
Responder
fsoares
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 29 Dez 2005 9:31 am
Localização: RJ

Pessoal,

Boa tarde, após quebrar muito a cabeça, resolvir postar esse problema aqui no forum, estou tomando um erro ao tentar criar uma ordem no OM(R11), utilizamos uma API customizada que chama as APIs CORE do Oracle, segue abaixo o erro.

Impossível encontrar uma data de calendário / LineType = 1261 / Name NF-Venda Normal-L / Um dos atributos de grupo falhou sua tentativa de programação.

Você tentou executar uma ação de programação em um grupo de programação (Configuração ATO, Configuração de Entrega Concluída, Conjunto de Entrega ou Conjunto de Chegada) e considerando que um dos membros do grupo falhou, isso fez com que todo o grupo falhasse.

Selecionar tudo

 / LineType = 1261 / Name NF-Venda Normal-L / Não inseriu a linha no conjunto. A linha não pode ser programada nos atributos do conjunto e não pode programar o conjunto completo na mesma data alternativa.
 / LineType = 1261 / Name NF-Venda Normal-L /  - ORA-06512: at "APPS.B2W_OM_PEDIDO_VENDA_PKG", line 1430

ORA-06510: PL/SQL: unhandled user-defined exception
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.

Olá Fsoares,

Só para entender melhor você esta usando qual API para criar uma Ordem de Venda no OM?

Seria a API OE_ORDER_PUB ?

Você esta inserindo nas tabelas de Interface do OM ?

Posta o código aí provalvelmente o erro esta na linha 1430.

Abs..
fsoares
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 29 Dez 2005 9:31 am
Localização: RJ

Madmax,

Correto, na API customizada, eu chama a

Selecionar tudo

Oe_Order_Pub.Process_Header
depois essa

Selecionar tudo

Oe_Order_Pub.Process_Order
, e por fim

Selecionar tudo

Oe_Order_Pub.Process_Line

Selecionar tudo

Oe_Order_Pub.Process_Header(p_Header_Rec     => l_Header_Rec,
                                      x_Header_Out_Rec => l_Out_Header_Rec,
                                      x_Return_Status  => l_Return_Status,
                                      x_Msg_Count      => l_Msg_Count,
                                      x_Msg_Data       => l_Msg_Data);
          Oe_Order_Pub.Process_Order(p_Api_Version_Number => l_Api_Version_Number,
                                     p_Init_Msg_List      => Fnd_Api.g_True,
                                     x_Return_Status      => l_Return_Status,
                                     x_Msg_Count          => l_Msg_Count,
                                     x_Msg_Data           => l_Msg_Data,
                                     -- In PARAM
                                     p_Header_Rec         => l_Header_Rec,
                                     p_Line_Tbl           => l_Line_Tbl,
                                     p_Action_Request_Tbl => l_Action_Request_Tbl,
                                     --  p_line_adj_tbl                => l_line_frete_adj_tbl,
                                     -- p_x_Line_Payment_tbl          => l_line_frete_adj_tbl,
                                     --OUT PARAM
                                     x_Header_Rec             => l_Out_Header_Rec,
                                     x_Header_Val_Rec         => l_Out_Header_Val_Rec,
                                     x_Header_Adj_Tbl         => l_Out_Header_Adj_Tbl,
                                     x_Header_Adj_Val_Tbl     => l_Out_Header_Adj_Val_Tbl,
                                     x_Header_Price_Att_Tbl   => l_Out_Header_Price_Att_Tbl,
                                     x_Header_Adj_Att_Tbl     => l_Out_Header_Adj_Att_Tbl,
                                     x_Header_Adj_Assoc_Tbl   => l_Out_Header_Adj_Assoc_Tbl,
                                     x_Header_Scredit_Tbl     => l_Out_Header_Scredit_Tbl,
                                     x_Header_Scredit_Val_Tbl => l_Out_Header_Scredit_Val_Tbl,
                                     x_Line_Tbl               => l_Out_Line_Tbl,
                                     x_Line_Val_Tbl           => l_Out_Line_Val_Tbl,
                                     x_Line_Adj_Tbl           => l_Out_Line_Adj_Tbl,
                                     x_Line_Adj_Val_Tbl       => l_Out_Line_Adj_Val_Tbl,
                                     x_Line_Price_Att_Tbl     => l_Out_Line_Price_Att_Tbl,
                                     x_Line_Adj_Att_Tbl       => l_Out_Line_Adj_Att_Tbl,
                                     x_Line_Adj_Assoc_Tbl     => l_Out_Line_Adj_Assoc_Tbl,
                                     x_Line_Scredit_Tbl       => l_Out_Line_Scredit_Tbl,
                                     x_Line_Scredit_Val_Tbl   => l_Out_Line_Scredit_Val_Tbl,
                                     --   p_header_payment_tbl          => l_header_payment_tbl,
                                     x_Header_Payment_Tbl     => x_Header_Payment_Tbl_Type,
                                     x_Header_Payment_Val_Tbl => x_Header_Payment_Val_Tbl_Type,
                                     x_Line_Payment_Tbl       => x_Line_Payment_Tbl_Type,
                                     x_Line_Payment_Val_Tbl   => x_Line_Payment_Val_Tbl_Type,
                                     x_Lot_Serial_Tbl         => l_Out_Lot_Serial_Tbl,
                                     x_Lot_Serial_Val_Tbl     => l_Out_Lot_Serial_Val_Tbl,
                                     x_Action_Request_Tbl     => l_Out_Action_Request_Tbl
                                     --  p_rtrim_data                  => l_rtrim_data,
                                     -- p_validate_desc_flex          => l_validate_desc_flex
                                     );

            Oe_Order_Pub.Process_Line(p_Line_Tbl      => l_Line_Tbl,
                                      x_Line_Out_Tbl  => l_Out_Line_Tbl,
                                      x_Return_Status => l_Return_Status,
                                      x_Msg_Count     => l_Msg_Count,
                                      x_Msg_Data      => l_Msg_Data);
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.

Cara,

Você esta fazendo certo, olhando o erro que você informou o problema deve estar nessa package

Selecionar tudo

APPS.B2W_OM_PEDIDO_VENDA_PKG", line 1430
porque o erro ORA-06512 e que você esta passando um valor muito grande para o campo que esta recebendo.

Verifique o tamanho das variáveis e tente debugar no PL/SQL neste ponto.

Espero ter ajudado.

Att.
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.

Outra coisa:

O erro ORA-06510: PL/SQL: unhandled user-defined exception que você este recebendo e porque esta faltando um EXCEPTION ou seja um tratamento para essa package.

Verifique um tratamento adequado para tratar este erro assim não receberá mais este erro.

Att.
fsoares
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 29 Dez 2005 9:31 am
Localização: RJ

Pois é, o estranho que a PKG, é a mesma que está em PROD, e lá funciona.

Vou tenta pegar a instância do serviço bpel aqui, que está chamando a procedure de criação de ordem no OM.
fsoares
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 29 Dez 2005 9:31 am
Localização: RJ

A linha do erro é em um RAISE do código, após chamar a process_line...

Selecionar tudo

            Oe_Order_Pub.Process_Line(p_Line_Tbl      => l_Line_Tbl,
                                      x_Line_Out_Tbl  => l_Out_Line_Tbl,
                                      x_Return_Status => l_Return_Status,
                                      x_Msg_Count     => l_Msg_Count,
                                      x_Msg_Data      => l_Msg_Data);

            If (l_Return_Status != Fnd_Api.g_Ret_Sts_Success) Then
              --
              If (l_Msg_Count > 0) Then
                --
                For l_Index In 1 .. l_Msg_Count Loop
                  l_Msg_Data := Oe_Msg_Pub.Get(p_Msg_Index => l_Index,
                                               p_Encoded   => 'F');
                  --
                  l_Msg_Data_Out := l_Msg_Data_Out || l_Msg_Data || ' / ' ||
                                    'LineType = ' || l_Line_Tbl(Linhas)
                                   .Line_Type_Id || ' / Name ' ||
                                    l_Lines_Rec.Linetype || ' / ';
                  --
                End Loop;

                l_Msg_Erro := l_Msg_Data_Out;
                Raise Erro; --Linha do erro 1355
                --
              End If;
            End If;
fsoares
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 29 Dez 2005 9:31 am
Localização: RJ

Madmax,

Achei que o erro ORA-06512 indicasse o numero da linha do código que o programa saiu, enfim, eu olhei aqui e nada está estourando no tamanho.

Tem mais alguma dica?
fsoares
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 29 Dez 2005 9:31 am
Localização: RJ

Estou achando que pode ser um erro funcional. Mas já olhei todos os setups do OM, comparando com PROD, e está tudo ok.
fsoares
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 29 Dez 2005 9:31 am
Localização: RJ

Descobri o problema, o pessoal alterou o calendário do INV, mas não recriou o mesmo.

Fiz o rebuild, e parou o erro.
Responder
  • Informação
  • Quem está online

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