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 | |
| @nobl | varchar | 50 | |
| @tgbl | date | 3 | |
| @cmd | varchar | 10 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE PROCEDURE dbo.spi_invoiceupdatebl
(@datadiff varchar(max), @nobl varchar(50), @tgbl date, @cmd varchar(10))
AS
BEGIN
declare @datasplit varchar(8000)
declare @noblc varchar(50)
declare @tgblc date
-- if (select COUNT(*) as cnt from dbo.tbl_inv_hdr where nobl=@nobl and tgbl=@tgbl) > 0
-- begin
--select '01' as status, ' Data sudah diproses, silahkan cancel data jika ingin mengubah invoice' as description
--return
-- end
if @cmd='cancel'
begin
declare @inv_hdr_id 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 @inv_hdr_id = (select data from dbo.Split(@datasplit, ',') where id=1)
if (select COUNT(*) as cnt from dbo.tbl_inv_hdr where inv_hdr_id=@inv_hdr_id and status_inv <> 0) >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
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 @noblc = (select data from dbo.Split(@datasplit, ',') where id=3)
set @tgblc = (select data from dbo.Split(@datasplit, ',') where id=4)
update dbo.tbl_inv_hdr set nobl = @noblc, tgbl = null where [inv_hdr_id] = (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, ' Data 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 @noblc = (select data from dbo.Split(@datasplit, ',') where id=3)
set @tgblc = (select data from dbo.Split(@datasplit, ',') where id=4)
update dbo.tbl_inv_hdr set nobl = @noblc, tgbl = @tgblc where [inv_hdr_id] = (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.spi_invoiceupdatebl
(@datadiff varchar(max), @nobl varchar(50), @tgbl date, @cmd varchar(10))
AS
BEGIN
declare @datasplit varchar(8000)
declare @noblc varchar(50)
declare @tgblc date
-- if (select COUNT(*) as cnt from dbo.tbl_inv_hdr where nobl=@nobl and tgbl=@tgbl) > 0
-- begin
--select '01' as status, ' Data sudah diproses, silahkan cancel data jika ingin mengubah invoice' as description
--return
-- end
if @cmd='cancel'
begin
declare @inv_hdr_id 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 @inv_hdr_id = (select data from dbo.Split(@datasplit, ',') where id=1)
if (select COUNT(*) as cnt from dbo.tbl_inv_hdr where inv_hdr_id=@inv_hdr_id and status_inv <> 0) >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
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 @noblc = (select data from dbo.Split(@datasplit, ',') where id=3)
set @tgblc = (select data from dbo.Split(@datasplit, ',') where id=4)
update dbo.tbl_inv_hdr set nobl = @noblc, tgbl = null where [inv_hdr_id] = (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, ' Data 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 @noblc = (select data from dbo.Split(@datasplit, ',') where id=3)
set @tgblc = (select data from dbo.Split(@datasplit, ',') where id=4)
update dbo.tbl_inv_hdr set nobl = @noblc, tgbl = @tgblc where [inv_hdr_id] = (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
Depends On
4Used By
No items found