cancel
Showing results for 
Search instead for 
Did you mean: 

Problema ao criar Pick via DI em diferentes clients simultâneos

Former Member
0 Kudos

Bom dia a todos.

Gostaria de pedir uma ajuda.

Estou criando um AddOn que ao cliente concluir um Pedido de Venda, o AddOn irá selecionar os lotes dos itens com base em alguns critérios(o primeiro é o lote que esta mais próximo de vencer, o segundo é o uma certa ordem no subnível do deposito e por ai vai...).

Consegui criar o AddOn, tudo funciona perfeitamente, porém o cliente possui uma quantidade muito grande de clientes realizando esses pedidos de venda, e em alguns casos esta havendo uma concorrência, como por exemplo:

     - Vamos supor tenho um item chamado "It", esse item possui 2 lotes no meu deposito, o lote "LT1" e o"LT2".

     - Eu tenho 2 "LT1" que vai vencer em maio, e 5 "LT2" que irão vencer em dezembro. Logo o ao realizar um Pedido de Venda, o "LT1" ira ser selecionado primeiro.

     - Esta ocorrendo em alguns casos que o um client cria um Pedido de Venda e seleciona 1 item do "LT1" e exatamente no mesmo momento um outro cliente esta realizando um outro Pedido de Venda que vai selecionar 2 itens do "LT1".

     Agora vem o problema...

     - Já que eu tenho 7 itens, o SAP deixa eu realizar a venda, e como os dois picking estão ocorrendo simultaneamente minha consulta SQL fala que tem 2 itens "LT1" disponível para seleção, uma vez que nenhum dos dois objetos (um em cada client) conclui o update no Picking, realmente há 2 "LT1" disponíveis.

     - Só que quem confirmar primeiro vai receber os itens, o que realizar o update depois não ira reservar nada, uma vez que outro Pedido de Venda já realizou o Picking daquele lote.

Espero que tenho conseguido repassar meu problema e o cenário, já que a situação é um tanto quanto complexa.

Pensei em uma possível solução:

Estou usando a DI API, será que não seria o caso utilizar a DI Server? Pois pelo que eu li na descrição dela no Help parece ser uma possível solução. No entanto um outro desenvolver SAP disse que ela não iria solucionar.

Então fica aqui meu pedido de ajuda, Será que a DI Server é a solução? Se não, alguém tem alguma sugestão?

Agradeço a todos desde já pela atenção.


Obrigado.

Accepted Solutions (1)

Accepted Solutions (1)

pedro_magueija
Active Contributor
0 Kudos

Bom dia Edwaldo,

Acho que utilizar o DI Server não vai fazer diferença. O que poderias fazer é o seguinte:

No momento do update tens de verificar se os lotes seleccionados continuam activos e esta consulta tem de ser efectuada dentro de uma transacção. No caso de os lotes terem sido usados por um outro cliente (que tenha sido mais rápido a fazer o update), notificas o utilizador que os lotes seleccionados foram utilizados e que ele deverá escolher outros lotes.

O importante é que se faça a consulta de lotes disponíveis dentro da transacção que irá efectivamente criar o pick.

Boa sorte.


Best regards,

Pedro Magueija

Message was edited by: Moshe Naveh

Answers (0)