InovacaoMediaBrasil/ProcessWorkflowsAndDatabaseScripts

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

Summary

Maintainability
Test Coverage
USE SANKHYA_PRODUCAO;

SET NOCOUNT ON;

DECLARE
@PEDORIGINAL    INT,
@CODPARC        INT;

DECLARE cPedidos CURSOR FAST_FORWARD FOR
    SELECT P.PEDORIGINAL, C.CODPARC
    FROM sankhya.AD_PEDIDOVTEXSC AS P WITH (NOLOCK)
    INNER JOIN sankhya.TGFCAB AS C WITH (NOLOCK)
    ON C.AD_PEDORIGINAL = P.PEDORIGINAL
    WHERE P.CODPARC IS NULL
    AND EXISTS (SELECT 1 FROM sankhya.TGFPAR WHERE CODPARC = C.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;