NJC__Documentation::DB

dbo.spi_incoming_approved_1

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

Name Data Type Length Description
@id_hdr bigint 8
@doc_in_from_id int 4
@doc_in_date varchar 50
@user varchar 70

SQL Script

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
create PROCEDURE dbo.spi_incoming_approved_1(@id_hdr as bigint, @doc_in_from_id int, @doc_in_date as varchar(50), @user varchar(70) )
AS
BEGIN
  declare @count int
  set @count = (select COUNT(*) from dbo.tbl_bc_in_hdr where id_bc_in_hdr = @id_hdr)
  if @count = 0
  begin
 select '01' as status, ' DATA NOT FOUND' as description
 return
  end
  
  if (select COUNT(*) from dbo.tbl_data_in_hdr where tbl_data_in_hdr.id_terkait = @id_hdr and tbl_data_in_hdr.status='APPROVED' and doc_in_from_id=@doc_in_from_id) > 0
  begin
 select '02' as status, ' DATA SUDAH APPROVED DI RECEIVING' as description
 return
  end
  
  if (select COUNT(*) from dbo.tbl_data_in_hdr where id_terkait = @id_hdr and doc_in_from_id=@doc_in_from_id) > 0
  begin
 select '03' as status, ' DATA SEDANG DIPROSES DI INVENTORY SILAHKAN CANCEL DAHULU' as description
 return
  end

 declare @idx_hdr bigint
 declare @doc_in_no varchar(50)
 declare @hasil varchar(50)
 declare @stsbrg varchar(50)

 set @doc_in_no = (select (SELECT [doc_in_from_name] FROM [dbo].[enum_data_in_from] where doc_in_from_id= @doc_in_from_id) + '-' + car from tbl_bc_in_hdr where id_bc_in_hdr = @id_hdr) 

 if (select COUNT(*) from dbo.tbl_bc_in_dtl_partnumber where id_bc_in_hdr = @id_hdr) = 0
 begin
  set @stsbrg='NOPART'
  -- no part tbl_bc_in_dtl_partnumber
  --select '01' as status, ' DATA PART NOT FOUND' as description
  --return
 end
 else
 begin
 
  set @stsbrg='PART' 
 end

 
 if  (select COUNT(*) from dbo.tbl_data_in_hdr where id_terkait = @id_hdr and doc_in_from_id=@doc_in_from_id) <> 0
 begin
  select '01' as status, ' DATA ALREADY EXIST ' as description
  return
 end

  
BEGIN TRY  
 BEGIN TRANSACTION
  UPDATE dbo.tbl_bc_in_hdr set statusdok = 'DATA SENT TO INVENTORY' where id_bc_in_hdr = @id_hdr
  
  INSERT INTO tbl_bc_in_hdr_h_status
                      (id_bc_in_hdr, statusdok, status_date)
  VALUES     (@id_hdr, (select top 1 statusdok from tbl_bc_in_hdr where id_bc_in_hdr = @id_hdr), GETDATE())
 
  
  --select '00' as status, ' SUKSES UPDATED' as description
  insert into dbo.tbl_data_in_hdr (doc_in_no, doc_in_from_id, id_terkait, status) values(@doc_in_no, @doc_in_from_id, @id_hdr, 'DATA PROCESSED')
  set @idx_hdr=SCOPE_IDENTITY()

  
  if @stsbrg = 'PART'
  begin  
   insert into dbo.tbl_data_in_dtl (
    id_data_in_hdr
    ,doc_in_from_id
    ,part_name_customs
    ,part_number
    ,part_no
    ,qty_in
    ,unit_in
    ,box
    ,pack
    ,id_part_number
    ,harga
    ,kdval
    ,type_brg
    ,part_name
   ) select 
     @idx_hdr
     ,@doc_in_from_id
     ,part_name_customs
     ,part_number
     ,part_no2
     ,qty
     ,unit
     ,box
     ,pack
     ,id_partnumber
     ,harga
     ,kdval
     ,1  -- partmaterial
     ,part_name
   from dbo.tbl_bc_in_dtl_partnumber where id_bc_in_hdr = @id_hdr
  end
  else
  begin
   if(select top 1 JnsBarang from dbo.tbl_bc_in_hdr   where id_bc_in_hdr = @id_hdr) = '03'
   begin
    insert into dbo.tbl_data_in_dtl (
     id_data_in_hdr
     ,doc_in_from_id
     ,part_name_customs
     ,part_number
     ,part_no
     ,qty_in
     ,unit_in
     ,box
     ,pack
     ,id_part_number
     ,harga
     ,kdval
     ,type_brg
     ,part_name
    ) select 
     @idx_hdr
      ,@doc_in_from_id
      ,[BrgUrai]
      ,[KdBrg]
      ,[KdBrg]
      ,[JmlSat]
      ,[KdSat]
      ,1
      ,1
      ,0
      ,[DNilInv]
      ,(select [KdVal] from tbl_bc_in_hdr where id_bc_in_hdr = @id_hdr )
      ,5 --mutasi mesin dan peralatan kantor
      ,[KdBrg]
    from dbo.tbl_bc_in_dtl where id_bc_in_hdr = @id_hdr
   end 

   if(select top 1 JnsBarang from dbo.tbl_bc_in_hdr   where id_bc_in_hdr = @id_hdr) = '07'
   begin
    insert into dbo.tbl_data_in_dtl (
     id_data_in_hdr
     ,doc_in_from_id
     ,part_name_customs
     ,part_number
     ,part_no
     ,qty_in
     ,unit_in
     ,box
     ,pack
     ,id_part_number
     ,harga
     ,kdval
     ,type_brg
     ,part_name
    ) select 
     @idx_hdr
      ,@doc_in_from_id
      ,[BrgUrai]
      ,[KdBrg]
      ,[KdBrg]
      ,[JmlSat]
      ,[KdSat]
      ,1
      ,1
      ,0
      ,[DNilInv]
      ,(select [KdVal] from tbl_bc_in_hdr where id_bc_in_hdr = @id_hdr )
      ,7 --mutasi barang reimpor
      ,[KdBrg]
    from dbo.tbl_bc_in_dtl where id_bc_in_hdr = @id_hdr
   end

   if(select top 1 JnsBarang from dbo.tbl_bc_in_hdr   where id_bc_in_hdr = @id_hdr) = '02'
   begin
    insert into dbo.tbl_data_in_dtl (
     id_data_in_hdr
     ,doc_in_from_id
     ,part_name_customs
     ,part_number
     ,part_no
     ,qty_in
     ,unit_in
     ,box
     ,pack
     ,id_part_number
     ,harga
     ,kdval
     ,type_brg
     ,part_name
    ) select 
     @idx_hdr
      ,@doc_in_from_id
      ,[BrgUrai]
      ,[KdBrg]
      ,[KdBrg]
      ,[JmlSat]
      ,[KdSat]
      ,1
      ,1
      ,0
      ,[DNilInv]
      ,(select [KdVal] from tbl_bc_in_hdr where id_bc_in_hdr = @id_hdr )
      ,10 --mutasi bahan penolong
      ,[KdBrg]
    from dbo.tbl_bc_in_dtl where id_bc_in_hdr = @id_hdr
   end
   if(select top 1 JnsBarang from dbo.tbl_bc_in_hdr   where id_bc_in_hdr = @id_hdr) is null
   begin
    insert into dbo.tbl_data_in_dtl (
     id_data_in_hdr
     ,doc_in_from_id
     ,part_name_customs
     ,part_number
     ,part_no
     ,qty_in
     ,unit_in
     ,box
     ,pack
     ,id_part_number
     ,harga
     ,kdval
     ,type_brg
     ,part_name
    ) select 
     @idx_hdr
      ,@doc_in_from_id
      ,[BrgUrai]
      ,[KdBrg]
      ,[KdBrg]
      ,[JmlSat]
      ,[KdSat]
      ,1
      ,1
      ,0
      ,[DNilInv]
      ,(select [KdVal] from tbl_bc_in_hdr where id_bc_in_hdr = @id_hdr )
      ,10 --mutasi bahan penolong
      ,[KdBrg]
    from dbo.tbl_bc_in_dtl where id_bc_in_hdr = @id_hdr
   end
  end 
  
  update dbo.tbl_bc_in_hdr set statusdok = 'DATA PROCESSED INVENTORY' where id_bc_in_hdr = @id_hdr
  INSERT INTO tbl_bc_in_hdr_h_status (id_bc_in_hdr, statusdok, status_date) values (@id_hdr, 'DATA PROCESSED INVENTORY', GETDATE())
    
  INSERT INTO tbl_data_in_hdr_h_status
                      (id_data_in_hdr, status, status_date)
  VALUES     (@idx_hdr, 'DATA PROCESSED', GETDATE())


  
  update dbo.tbl_bc_in_hdr set statusdok = 'APPROVED INVENTORY' where id_bc_in_hdr = @id_hdr
  
  INSERT INTO tbl_bc_in_hdr_h_status
      (id_bc_in_hdr, statusdok, status_date, create_by, create_date, update_by, update_date)
  VALUES     (@idx_hdr, (select top 1 statusdok from tbl_bc_in_hdr where id_bc_in_hdr = @idx_hdr), GETDATE(), @user, GETDATE(), @user, GETDATE())
  
  update dbo.tbl_data_in_hdr set status = 'APPROVED', doc_in_date=@doc_in_date where id_data_in_hdr = @idx_hdr
  
  INSERT INTO tbl_data_in_hdr_h_status
      (id_data_in_hdr, status, status_date, create_by, create_date, update_by, update_date)
  VALUES     ((select top 1 [tbl_data_in_hdr].id_data_in_hdr from dbo.[tbl_data_in_hdr] where id_data_in_hdr = @idx_hdr), 'APPROVED', GETDATE(), @user, GETDATE(), @user, GETDATE())
  

  select '00' as status, ' DATA SUKSES UPDATED' as description

 COMMIT
END TRY
 
BEGIN CATCH
  -- Whoops, there was an error
  IF @@TRANCOUNT > 0
     ROLLBACK

  -- Raise an error with the details of the exception
  DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int
  Set @ErrMsg = ERROR_MESSAGE()
  set @ErrSeverity = ERROR_SEVERITY()
  select @ErrMsg as description,@ErrSeverity as status
  RAISERROR(@ErrMsg, @ErrSeverity, 1)
END CATCH
  
  
END

--go
--BEGIN TRY
   
-- EXEC [spi_incoming_approved_1] @id_hdr = 1169911, @doc_in_from_id=5, @doc_in_date = '12/24/2019', @user = 0
   
-- END TRY
-- BEGIN CATCH
-- SELECT
-- '06' AS status
-- ,ERROR_MESSAGE() AS description;
    
-- END CATCH;
GO

Used By

No items found