Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
| Name | Data Type | Length | Description |
|---|---|---|---|
| @datadiff | varchar | -1 | |
| @cmd | varchar | 10 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE PROCEDURE dbo.sp_groupinv_bc40
(@datadiff varchar(max), @cmd varchar(10))
AS
BEGIN
declare @datasplit varchar(8000)
declare @nobl varchar(50)
declare @tgbl date
declare @noinv varchar(50)
declare @tginv date
set @nobl = '-'
if @cmd='cancel'
begin
declare @id_nonhib_hdr bigint
DECLARE b_cursor CURSOR FOR select f_result from dbo.fn_ParseCSVString (@datadiff, '|')
OPEN b_cursor
FETCH NEXT FROM b_cursor INTO @datasplit
WHILE @@FETCH_STATUS = 0
BEGIN -- begin here
set @id_nonhib_hdr = (select data from dbo.Split(@datasplit, ',') where id=1)
if (select COUNT(*) as cnt from dbo.tbl_nonhib where id_nonhib_hdr=@id_nonhib_hdr and status<>'new') >0
begin
select '02' as status, ' Ada data yang sudah diproses menjadi data bc, '+CHAR(13)+CHAR(10)+' silahkan recalculate data jika ingin mengubah invoice '+CHAR(13)+CHAR(10)+(select data from dbo.Split(@datasplit, ',') where id=2) as description
CLOSE b_cursor
DEALLOCATE b_cursor
return
end
FETCH NEXT FROM b_cursor INTO @datasplit
END
CLOSE b_cursor
DEALLOCATE b_cursor
-- if (select COUNT(*) as cnt from dbo.tbl_bc_in_hdr where nobl=@nobl and tglbl=@tgbl) > 0
-- begin
--select '02' as status, ' Ada data yang sudah diproses menjadi data bc, '+CHAR(13)+CHAR(10)+' silahkan recalculate data jika ingin mengubah invoice' as description
--return
-- end
DECLARE a_cursor CURSOR FOR select f_result from dbo.fn_ParseCSVString (@datadiff, '|')
OPEN a_cursor
FETCH NEXT FROM a_cursor INTO @datasplit
WHILE @@FETCH_STATUS = 0
BEGIN -- begin here
--set @noinv = (select data from dbo.Split(@datasplit, ',') where id=3)
--set @tginv = (select data from dbo.Split(@datasplit, ',') where id=4)
update dbo.tbl_nonhib set nobl = @nobl, tgbl = null where [id_nonhib_hdr] = (select data from dbo.Split(@datasplit, ',') where id=1)
FETCH NEXT FROM a_cursor INTO @datasplit
END
CLOSE a_cursor
DEALLOCATE a_cursor
select '00' as status, ' SUKSES CANCLED' as description
end
if @cmd='proses'
begin
if (select COUNT(*) as cnt from dbo.tbl_bc_in_hdr where nobl=@nobl and tglbl=@tgbl) > 0
begin
select '02' as status, ' Ada data yang sudah diproses menjadi data bc, '+CHAR(13)+CHAR(10)+' silahkan recalculate data jika ingin mengubah invoice' as description
return
end
set @tgbl = GETDATE()
declare @hasil varchar(50)
exec [dbo].[spu_seq] @nomor_untuk = N'noajubc40', @hasil = @hasil OUTPUT
set @nobl = 'BC40'+@hasil
DECLARE a_cursor CURSOR FOR select f_result from dbo.fn_ParseCSVString (@datadiff, '|')
OPEN a_cursor
FETCH NEXT FROM a_cursor INTO @datasplit
WHILE @@FETCH_STATUS = 0
BEGIN -- begin here
set @noinv = (select data from dbo.Split(@datasplit, ',') where id=2)
set @tginv = (select data from dbo.Split(@datasplit, ',') where id=3)
update dbo.tbl_nonhib set nobl = @nobl, tgbl = @tgbl where [id_nonhib_hdr] = (select data from dbo.Split(@datasplit, ',') where id=1)
FETCH NEXT FROM a_cursor INTO @datasplit
END
CLOSE a_cursor
DEALLOCATE a_cursor
select '00' as status, ' SUKSES UPDATED' as description
end
END
GO
GO
CREATE PROCEDURE dbo.sp_groupinv_bc40
(@datadiff varchar(max), @cmd varchar(10))
AS
BEGIN
declare @datasplit varchar(8000)
declare @nobl varchar(50)
declare @tgbl date
declare @noinv varchar(50)
declare @tginv date
set @nobl = '-'
if @cmd='cancel'
begin
declare @id_nonhib_hdr bigint
DECLARE b_cursor CURSOR FOR select f_result from dbo.fn_ParseCSVString (@datadiff, '|')
OPEN b_cursor
FETCH NEXT FROM b_cursor INTO @datasplit
WHILE @@FETCH_STATUS = 0
BEGIN -- begin here
set @id_nonhib_hdr = (select data from dbo.Split(@datasplit, ',') where id=1)
if (select COUNT(*) as cnt from dbo.tbl_nonhib where id_nonhib_hdr=@id_nonhib_hdr and status<>'new') >0
begin
select '02' as status, ' Ada data yang sudah diproses menjadi data bc, '+CHAR(13)+CHAR(10)+' silahkan recalculate data jika ingin mengubah invoice '+CHAR(13)+CHAR(10)+(select data from dbo.Split(@datasplit, ',') where id=2) as description
CLOSE b_cursor
DEALLOCATE b_cursor
return
end
FETCH NEXT FROM b_cursor INTO @datasplit
END
CLOSE b_cursor
DEALLOCATE b_cursor
-- if (select COUNT(*) as cnt from dbo.tbl_bc_in_hdr where nobl=@nobl and tglbl=@tgbl) > 0
-- begin
--select '02' as status, ' Ada data yang sudah diproses menjadi data bc, '+CHAR(13)+CHAR(10)+' silahkan recalculate data jika ingin mengubah invoice' as description
--return
-- end
DECLARE a_cursor CURSOR FOR select f_result from dbo.fn_ParseCSVString (@datadiff, '|')
OPEN a_cursor
FETCH NEXT FROM a_cursor INTO @datasplit
WHILE @@FETCH_STATUS = 0
BEGIN -- begin here
--set @noinv = (select data from dbo.Split(@datasplit, ',') where id=3)
--set @tginv = (select data from dbo.Split(@datasplit, ',') where id=4)
update dbo.tbl_nonhib set nobl = @nobl, tgbl = null where [id_nonhib_hdr] = (select data from dbo.Split(@datasplit, ',') where id=1)
FETCH NEXT FROM a_cursor INTO @datasplit
END
CLOSE a_cursor
DEALLOCATE a_cursor
select '00' as status, ' SUKSES CANCLED' as description
end
if @cmd='proses'
begin
if (select COUNT(*) as cnt from dbo.tbl_bc_in_hdr where nobl=@nobl and tglbl=@tgbl) > 0
begin
select '02' as status, ' Ada data yang sudah diproses menjadi data bc, '+CHAR(13)+CHAR(10)+' silahkan recalculate data jika ingin mengubah invoice' as description
return
end
set @tgbl = GETDATE()
declare @hasil varchar(50)
exec [dbo].[spu_seq] @nomor_untuk = N'noajubc40', @hasil = @hasil OUTPUT
set @nobl = 'BC40'+@hasil
DECLARE a_cursor CURSOR FOR select f_result from dbo.fn_ParseCSVString (@datadiff, '|')
OPEN a_cursor
FETCH NEXT FROM a_cursor INTO @datasplit
WHILE @@FETCH_STATUS = 0
BEGIN -- begin here
set @noinv = (select data from dbo.Split(@datasplit, ',') where id=2)
set @tginv = (select data from dbo.Split(@datasplit, ',') where id=3)
update dbo.tbl_nonhib set nobl = @nobl, tgbl = @tgbl where [id_nonhib_hdr] = (select data from dbo.Split(@datasplit, ',') where id=1)
FETCH NEXT FROM a_cursor INTO @datasplit
END
CLOSE a_cursor
DEALLOCATE a_cursor
select '00' as status, ' SUKSES UPDATED' as description
end
END
GO
Used By
No items found