Atenção

Este artigo é um artigo interno e não deve ser divulgado aos clientes! Em caso de dúvidas no procedimento, peça auxílio.​

DescriçãoApós efetuar o faturamento do pedido o mesmo não sobe para o instore retornando a mensagem O índice e o comprimento devem se referir a um local dentro da cadeia de caracteres. Nome do parâmetro: length

Causa​: Este incidente ocorre pois o número do pedido está em duplicidade ou falta informações nas tabelas.

Solução: Para solucionar o incidente, execute o processo abaixo:

1. Caso o pedido seja da modalidade showrooming, verifique nas tabelas LOJA_PEDIDO_ENTREGA_LISTA e LOJA_PEDIDO_ENTREGA se o pedido aparece. Utilize os filtros de ID_PEDIDO_ORIGEM ou PEDIDO;

SELECT * FROM LOJA_PEDIDO_ENTREGA_LISTA
WHERE ID_PEDIDO_ORIGEM='XX'

SELECT * FROM  LOJA_PEDIDO_ENTREGA
WHERE ID_PEDIDO_ORIGEM='XX'

1.1 Caso o pedido não seja um showrooming, verifique a tabela LOJA_PEDIDO conforme o comando abaixo:

SELECT * FROM LOJA_PEDIDO
WHERE ID_PEDIDO_ORIGEM='XX'

2. Verifique se o campo CODIGO_FILIAL_ORIGEM está correto de acordo com as informações da loja na tabela LOJA_PEDIDO_PGTO E LOJA_PEDIDO_VENDA;

SELECT * FROM LOJA_PEDIDO_PGTO
WHERE PEDIDO='XX'

SELECT * FROM LOJA_PEDIDO_VENDA
WHERE PEDIDO='XX'

2.1 Caso o pedido esteja com o código da filial incorreto e valores diferentes do pedido ou até mesmo uma data anterior, se trata de um pedido diferente e/ou possível reaproveitamento de banco.

3. Neste caso será necessário remover as informações incorretas para que não haja informações duplicadas. Remova as informações duplicadas da tabela em que está duplicado, podendo ser a tabela LOJA_PEDIDO_ENTREGA, LOJA_PEDIDO_ENTREGA_LISTA ou LOJA_PEDIDO_PGTO se for um pedido que não seja showrooming.

BEGIN TRAN

DELETE FROM LOJA_PEDIDO_ENTREGA 
WHERE PEDIDO='XX'

DELETE FROM  LOJA_PEDIDO_ENTREGA_LISTA 
WHERE PEDIDO='XX'

DELETE FROM LOJA_PEDIDO_PGTO
WHERE PEDIDO='XX'

ROLLBACK
COMMIT

3.1 Após remover será necessário inserir os dados de pagamento no do pedido , é possível efetuar o insert com o comando abaixo, lembrando que os dados devem ser inseridos de acordo com o pagamento do cliente.

INSERT INTO LOJA_PEDIDO_VENDA VALUES ('XX','XX','X','XX','XX','XX','XX',GETDATE())

INSERT INTO LOJA_PEDIDO_PGTO VALUES
('xx','xx','x','x','xx','xx',NULL,NULL,NULL,NULL,
'xx','x',NULL,NULL,'x','x','x',NULL,'x',NULL,'xx',
NULL,NULL,'x',NULL,NULL,NULL)

4. Após essa ação, reinicie o serviço do OMS e o pedido será integrado caso não ocorra nenhum outro incidente.

  • Sem rótulos