dbo.sp_stock_transfer_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_vgi_hdr bigint 8
@user varchar 70

SQL Script

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE PROCEDURE dbo.sp_stock_transfer_1
 (@id_vgi_hdr bigint, @user varchar(70))
AS
BEGIN
 declare @sts_no varchar(2)  
 declare @sts_des varchar(500)  
 declare @doc_out_no varchar(50)
    declare @hasil varchar(50)
    --exec [dbo].[spu_seq] @nomor_untuk = N'stock_transfer', @hasil = @hasil OUTPUT
    --set @doc_out_no = @hasil
 -- CHECK APAKA ID VGI HDR SUDAH DI ADA? doc_out_to_id = 1 data out produksi
 
   if (
 SELECT     COUNT(*) AS Expr1
 FROM         tbl_data_out_hdr
 WHERE     (doc_out_to_id = 1) AND (id_terkait = @id_vgi_hdr))>0
 begin
 set @sts_no  ='09'
 set @sts_des ='Sudah Pernah di transfer'
 goto f
 end
 
 if (select COUNT(*) from tbl_vgi_hdr where id_vgi_hdr = @id_vgi_hdr)=0
 begin
  
  set @sts_no  ='01'
  set @sts_des ='Data Tidak Ditemukan'
  goto f 
 end

 declare @cekno_masuk varchar(50)
 declare @cektg_masuk date

 set @cekno_masuk = (select top 1 ISSUE_NO from [tbl_vgi_hdr] where [id_vgi_hdr]=@id_vgi_hdr)
 set @cektg_masuk = (select top 1 REG_DATE from [tbl_vgi_hdr] where [id_vgi_hdr]=@id_vgi_hdr)

 if(select count(*) from tbl_data_out_hdr where doc_out_to_id=1 and doc_out_no=@cekno_masuk and [doc_out_date]=@cektg_masuk) > 0 
 begin
  set @sts_no  ='03'
  set @sts_des ='Data Data Sudah Ada'
  goto f 
 end


BEGIN TRY  
 BEGIN TRANSACTION 
 --insert header
 

 declare @id_data_out_hdr bigint
 insert into tbl_data_out_hdr(
  doc_out_no
  ,doc_out_date
  ,id_terkait
  ,doc_out_to_id
   ,[create_by]
      ,[update_by]
      ,[update_date]
      ,[create_date]
       
 ) select 
 ISSUE_NO
 ,REG_DATE
 ,@id_vgi_hdr
 ,1  -- keluar ke produksi
 ,@user
 ,@user
 ,GETDATE()
 ,GETDATE()
 from tbl_vgi_hdr where id_vgi_hdr = @id_vgi_hdr
 
 set @id_data_out_hdr=@@IDENTITY
 
 -- insert h status
 declare @id_data_out_hdr_h_status bigint
 INSERT INTO tbl_data_out_hdr_h_status
        (id_data_out_hdr, status_date, status, create_by, create_date, update_by, update_date)
 VALUES     (@id_data_out_hdr, GETDATE(), 'DATA PROCESSED', @user, GETDATE(), @user, GETDATE())
 set @id_data_out_hdr_h_status =@@IDENTITY

 INSERT INTO tbl_data_out_dtl
    (id_data_out_hdr
  ,id_part_number
  ,out_date
  ,part_name_customs
  ,part_number
  ,qty
  ,qty_supply
  ,unit_out
  ,unit_konversi
  ,pengali
  ,box
  ,pack
  ,assy_code
  ,type_items
  )
 select 
 @id_data_out_hdr
 ,(select top 1 id  from tbl_data_part_hs where part_no=dbo.tbl_vgi_dtl.part_number)
 ,vgi_date
 ,(select top 1 part_name_customs  from tbl_data_part_hs where part_no=dbo.tbl_vgi_dtl.part_number)
 ,(select top 1 part_no  from tbl_data_part_hs where part_no=dbo.tbl_vgi_dtl.part_number)
 ,isnull(qty,0)
 ,isnull(qty,0)
 ,(select top 1 UNIT from tbl_item_list where part_no=dbo.tbl_vgi_dtl.part_number)
 ,(select top 1 UNIT from tbl_item_list where part_no=dbo.tbl_vgi_dtl.part_number)
 ,1
 ,1
 ,1
 ,r2
 ,'RM'
 from dbo.tbl_vgi_dtl 
 where id_vgi_hdr = @id_vgi_hdr
 --where id_vgi_hdr = @id_vgi_hdr and r2 <> 'G9'
 
 
 UPDATE    tbl_data_out_hdr
 SET              id_data_out_hdr_h_status = @id_data_out_hdr_h_status
 WHERE     (id_data_out_hdr = @id_data_out_hdr)

 
 update tbl_vgi_hdr set status='DATA PROCESSED' where id_vgi_hdr = @id_vgi_hdr
 
 
 
 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    

--set @sts_no ='00'
-- set @sts_des ='Data Processed with ID '+CAST(@id_data_out_hdr as varchar(255))
-- goto f
 
f:
-- set nocount on
 --select @sts_no as status , @sts_des as description
END


--GO

--EXEC [dbo].[sp_stock_transfer]
-- @id_vgi_hdr = 23

--GO
GO