Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, tenho a seguinte Table Type.
CREATE TYPE DBO.TT_MFAT_DT_ITENS_RET_NF AS TABLE
(
nr_item_dt INT identity(1,1),
cd_produto char(13),
nr_item_produto int,
cd_origem_dt int,
cd_destino_dt int,
qt_receb int,
qt_dt int,
qt_saldo_receb int,
qt_pedido_dt int,
nr_nf_origem varchar(8),
ds_serie_origem varchar(2),
dt_emissao datetime,
cd_barras char(13) NULL,
tp_estoque varchar(3) NULL,
tp_unidade VARCHAR(2) NULL
)
E preciso fazer o insert nela na seguinte condição:
DECLARE @TT_MFAT_DT_ITENS_RET_NF AS DBO.TT_MFAT_DT_ITENS_RET_NF
insert into #@TT_MFAT_DT_ITENS_RET_NF
EXEC sgf_fat.dbo.p_mfat_retorno_dt_item @TT_ITENS_DT, @fl_erro_ret OUTPUT, @ds_msg_ret OUTPUT
O problema é que não insere nada, acredito que seja por causa do meu OUTPUT, alguém pode me dizer se tem como fazer isso?
Obrigado!
Acredito que o problema seja, porque minha PROC, chama uma outra proc.
create table #tmpRetItemSaldo
(
cd_produto char(13),
nr_item int,
qt_receb int,
qt_dt int,
qt_saldo_receb int,
qt_pedido_dt int,
dt_emissao datetime,
nr_nf_origem varchar(6),
ds_serie_origem varchar(3),
cd_origem_dt int,
cd_destino_dt int
)
--–1. Declara CURSOR (DECLARE)
declare item_cursor cursor
for select cd_origem_dt, cd_destino_dt, cd_produto, qt_pedido from @TT_ITENS_DT
--–2. Abre o CURSOR (OPEN)
open item_cursor
--–3. Alimenta variáveis com os dados do CURSOR (FETCH)
declare @cd_origem_dt smallint,
@cd_destino_dt smallint,
@cd_produto char(13),
@qt_pedido int
fetch next from item_cursor into @cd_origem_dt, @cd_destino_dt, @cd_produto, @qt_pedido
WHILE @@FETCH_STATUS = 0
begin
insert into #tmpRetItemSaldo exec sgf_rec.dbo.p_mrec_consistir_saldo_dev_produto @cd_destino_dt,@cd_origem_dt,@cd_produto,@qt_pedido
-- Pega proximo item do loop
fetch next from item_cursor into @cd_origem_dt, @cd_destino_dt, @cd_produto, @qt_pedido
end
--–4. Fecha e desaloca o CURSOR (CLOSE e DEALLOCATE)
close item_cursor
deallocate item_cursor;
Essa eh a chamada da segunda proc.
Tentei mudar o retorno para uma string simples e mesmo assim não acontece nada.
drop table #TmpRetDT123Me retorna a msg: Command(s) completed successfully.
Nem o select vem, acho estranho.