CREATE OR ALTER PROCEDURE SPD_NFS_PEDIDO (
    NFS_CONTROLE INTEGER,
    CONTROLE INTEGER)
AS
DECLARE VARIABLE PRODUTO_CODIGO INTEGER;
DECLARE VARIABLE PEDIDO INTEGER;
DECLARE VARIABLE PEDIDO_ITEM_PE_CONTROLE INTEGER;
DECLARE VARIABLE QUANTIDADE NUMERIC(10,5);
DECLARE VARIABLE T01 NUMERIC(10,5);
DECLARE VARIABLE T02 NUMERIC(10,5);
DECLARE VARIABLE T03 NUMERIC(10,5);
DECLARE VARIABLE T04 NUMERIC(10,5);
DECLARE VARIABLE T05 NUMERIC(10,5);
DECLARE VARIABLE T06 NUMERIC(10,5);
DECLARE VARIABLE T07 NUMERIC(10,5);
DECLARE VARIABLE T08 NUMERIC(10,5);
DECLARE VARIABLE T09 NUMERIC(10,5);
DECLARE VARIABLE T10 NUMERIC(10,5);
DECLARE VARIABLE T11 NUMERIC(10,5);
DECLARE VARIABLE T12 NUMERIC(10,5);
DECLARE VARIABLE T13 NUMERIC(10,5);
DECLARE VARIABLE T14 NUMERIC(10,5);
DECLARE VARIABLE T15 NUMERIC(10,5);
DECLARE VARIABLE T16 NUMERIC(10,5);
DECLARE VARIABLE T17 NUMERIC(10,5);
DECLARE VARIABLE T18 NUMERIC(10,5);
DECLARE VARIABLE T19 NUMERIC(10,5);
DECLARE VARIABLE T20 NUMERIC(10,5);
BEGIN
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.PRODUTO_CODIGO > 0
    AND A.NFS_CONTROLE = :NFS_CONTROLE
    AND A.CONTROLE = :CONTROLE
INTO
:PRODUTO_CODIGO, :PEDIDO_ITEM_PE_CONTROLE, :QUANTIDADE,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,:T11,:T12,:T13,:T14,
:T15,:T16,:T17,:T18,:T19,:T20;

       UPDATE TBPEDIDO_ITEM_SALDO SET
       QUANTIDADE = QUANTIDADE + :QUANTIDADE,
       T01 = T01+ :T01, T02 = T02+ :T02, T03 = T03+ :T03, T04 = T04+ :T04,
       T05 = T05+ :T05, T06 = T06+ :T06, T07 = T07+ :T07, T08 = T08+ :T08,
       T09 = T09+ :T09, T10 = T10+ :T10, T11 = T11+ :T11, T12 = T12+ :T12,
       T13 = T13+ :T13, T14 = T14+ :T14, T15 = T15+ :T15, T16 = T16+ :T16,
       T17 = T17+ :T17, T18 = T18+ :T18, T19 = T19+ :T19, T20 = T20+ :T20
       WHERE PEDIDO_ITEM_CONTROLE = :PEDIDO_ITEM_PE_CONTROLE;

END;