dbo.spu_nonhib_bl

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.spu_nonhib_bl
(@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 @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 @noblc = (select data from dbo.Split(@datasplit, ',') where id=3)
  set @tgblc = (select data from dbo.Split(@datasplit, ',') where id=4)
  update dbo.tbl_nonhib set  nobl = @noblc, 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  
  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_nonhib set  nobl = @noblc, tgbl = @tgblc 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