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
(@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 off
select @sts_no as status , @sts_des as description
END
--GO
--EXEC [dbo].[sp_stock_transfer]
-- @id_vgi_hdr = 23
--GO
GO
GO
CREATE PROCEDURE dbo.sp_stock_transfer
(@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 off
select @sts_no as status , @sts_des as description
END
--GO
--EXEC [dbo].[sp_stock_transfer]
-- @id_vgi_hdr = 23
--GO
GO
Depends On
7Used By
No items found