InovacaoMediaBrasil/ProcessWorkflowsAndDatabaseScripts

View on GitHub
Src/Sankhya/Scripts/Cadastra parceiro na controle de pedidos de pedidos removidos.sql

Summary

Maintainability
Test Coverage
SET NOCOUNT ON;

DECLARE
@PEDORIGINAL    INT,
@CODPARC        INT;

DECLARE cPedidos CURSOR FAST_FORWARD FOR
    SELECT F.PEDORIGINAL, R.CODPARC
    FROM sankhya.AD_PEDIDOVTEXSCFLUXO AS F WITH (NOLOCK)
    INNER JOIN sankhya.TGFCAN AS R WITH (NOLOCK)
    ON R.NUNOTA = F.NUNOTA
    WHERE F.PEDORIGINAL IN (
        SELECT P.PEDORIGINAL
        FROM sankhya.AD_PEDIDOVTEXSC AS P WITH (NOLOCK)
        WHERE CODPARC IS NULL
    ) AND F.OCORRENCIA = 'P'
    AND EXISTS(SELECT 1 FROM sankhya.TGFPAR WHERE CODPARC = R.CODPARC)


OPEN cPedidos;

FETCH NEXT FROM cPedidos
INTO @PEDORIGINAL, @CODPARC;

WHILE @@FETCH_STATUS = 0
BEGIN 
    IF EXISTS (SELECT 1 FROM sankhya.TGFPAR WHERE CODPARC = @CODPARC)
        UPDATE sankhya.AD_PEDIDOVTEXSC
        SET CODPARC = @CODPARC
        WHERE PEDORIGINAL = @PEDORIGINAL
        AND CODPARC IS NULL;
    
    FETCH NEXT FROM cPedidos
    INTO @PEDORIGINAL, @CODPARC;
END
CLOSE cPedidos;
DEALLOCATE cPedidos;