CREATE OR ALTER PROCEDURE SPU_NFS_PEDIDO (
    NFS_CONTROLE INTEGER,
    CONTROLE INTEGER)
AS
DECLARE VARIABLE PRODUTO_CODIGO INTEGER;
DECLARE VARIABLE PEDIDO_ITEM_PE_CONTROLE INTEGER;
DECLARE VARIABLE IQUANTIDADE NUMERIC(10,5);
DECLARE VARIABLE IT01 NUMERIC(10,5);
DECLARE VARIABLE IT02 NUMERIC(10,5);
DECLARE VARIABLE IT03 NUMERIC(10,5);
DECLARE VARIABLE IT04 NUMERIC(10,5);
DECLARE VARIABLE IT05 NUMERIC(10,5);
DECLARE VARIABLE IT06 NUMERIC(10,5);
DECLARE VARIABLE IT07 NUMERIC(10,5);
DECLARE VARIABLE IT08 NUMERIC(10,5);
DECLARE VARIABLE IT09 NUMERIC(10,5);
DECLARE VARIABLE IT10 NUMERIC(10,5);
DECLARE VARIABLE IT11 NUMERIC(10,5);
DECLARE VARIABLE IT12 NUMERIC(10,5);
DECLARE VARIABLE IT13 NUMERIC(10,5);
DECLARE VARIABLE IT14 NUMERIC(10,5);
DECLARE VARIABLE IT15 NUMERIC(10,5);
DECLARE VARIABLE IT16 NUMERIC(10,5);
DECLARE VARIABLE IT17 NUMERIC(10,5);
DECLARE VARIABLE IT18 NUMERIC(10,5);
DECLARE VARIABLE IT19 NUMERIC(10,5);
DECLARE VARIABLE IT20 NUMERIC(10,5);
BEGIN

    FOR
    SELECT A.PRODUTO_CODIGO, A.PEDIDO_ITEM_PE_CONTROLE, A.QUANTIDADE,
    A.T01,A.T02,A.T03,A.T04,A.T05,A.T06,A.T07,A.T08,A.T09,A.T10,
    A.T11,A.T12,A.T13,A.T14,A.T15,A.T16,A.T17,A.T18,A.T19,A.T20
    FROM TBNFS_ITEM A
    WHERE A.PEDIDO_ITEM_PE_CONTROLE > 0
      AND A.NFS_CONTROLE = :NFS_CONTROLE
      AND A.CONTROLE = :CONTROLE
    INTO
    :PRODUTO_CODIGO, :PEDIDO_ITEM_PE_CONTROLE,:IQUANTIDADE,
    :IT01,:IT02,:IT03,:IT04,:IT05,:IT06,:IT07,:IT08,:IT09,:IT10,
    :IT11,:IT12,:IT13,:IT14,:IT15,:IT16,:IT17,:IT18,:IT19,:IT20
    DO BEGIN

       IF (:PRODUTO_CODIGO > 0) THEN
           BEGIN

           UPDATE TBPEDIDO_ITEM_SALDO SET
           QUANTIDADE = QUANTIDADE - :IQUANTIDADE,
           T01 = T01 - :IT01,   T02 = T02 - :IT02,   T03 = T03 - :IT03,
           T04 = T04 - :IT04,   T05 = T05 - :IT05,   T06 = T06 - :IT06,
           T07 = T07 - :IT07,   T08 = T08 - :IT08,   T09 = T09 - :IT09,
           T10 = T10 - :IT10,   T11 = T11 - :IT11,   T12 = T12 - :IT12,
           T13 = T13 - :IT13,   T14 = T14 - :IT14,   T15 = T15 - :IT15,
           T16 = T16 - :IT16,   T17 = T17 - :IT17,   T18 = T18 - :IT18,
           T19 = T19 - :IT19,   T20 = T20 - :IT20
           WHERE PEDIDO_ITEM_CONTROLE = :PEDIDO_ITEM_PE_CONTROLE;
           END

       END

END;