Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
| Name | Data Type | Length | Description |
|---|---|---|---|
| @username | varchar | 50 | |
| @id_bc271_hdr | bigint | 8 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE PROCEDURE dbo.spi_insertbc27pasi
(
@username varchar(50), @id_bc271_hdr bigint
)
AS
BEGIN
declare @sts varchar(2), @desc varchar(50)
--BEGIN TRY
--BEGIN TRANSACTION
declare @now date
set @now = GETDATE()
declare @ndpdm float
set @ndpdm = (
select top 1 nilai from dbo.tblKurs where (TgAkhir >= @now and TgAwal <= @now) and KdKurs = 'USD'
)
declare @jmldetil int
set @jmldetil = (SELECT COUNT(*) AS cnt
FROM tbl_detail_bc27_out
WHERE (id_bc271_hdr = @id_bc271_hdr))
declare @nobc27pasi varchar(20) , @tglbc27pasi date
set @nobc27pasi = (select car from tbl_header_bc27_out where id_bc271_hdr = @id_bc271_hdr)
set @tglbc27pasi = (select Tgldaf from tbl_header_bc27_out where id_bc271_hdr = @id_bc271_hdr)
--if(select count(*) from tbl_bc_in_hdr where typedok = 'BC271' and bc_in_from_in = 'INVPASI' and car = @nobc27pasi
----and [BC23Tg] = @tglbc27pasi
--) > 0
--begin
-- select '06' as [status], ' DATA SUDAH DI PROSES' as description
-- return
--end
declare @tgbl date
set @tgbl = GETDATE()
declare @nobl varchar(100)
declare @hasil varchar(50)
exec [dbo].[spu_seq] @nomor_untuk = N'noajubc271', @hasil = @hasil OUTPUT
set @nobl = @hasil
-- insert header
declare @idhdr bigint
insert into dbo.tbl_bc_in_hdr (
[CAR]
,statusdok
,typedok
,bc_in_from_in
,KdKpbc
,Tujuan
,JnsBarang
,TujuanKirim
,PasokNama
,PasokAlmt
,PasokNeg
,AngkutNama
,AngkutFl
,Moda
,KdVal
,NilInv
,KdHrg
,JmBrg
,Registrasi
,UsahaNama
,UsahaAlmt
,UsahaStatus
,KdTPB
,ApiKd
,ApiNo
,KdKpbcBongkar
,KdKpbcAwas
,Namattd
,KotaTtd
,nobl
,tglbl
,Ndpbm
,[BC23No]
,[BC23Tg]
,[DokTupTg]
)
select top 1
CAR
,'DATA BARU'
,'BC271'
,'INVPASI'
,'150300'
,'1'
,'01'
,'02'
,PasokNama
,PasokAlmt1
,'ID'
,' '
,'1'
,''
,'USD'
,(case when NilSerah = '-' then 0 else isnull(NilSerah, 0) end)
,'1'
,@jmldetil
,(select top 1 Registrasi from tblImportir)
,(select top 1 impnama from tblImportir)
,(select top 1 impalmt from tblImportir)
,(select top 1 usahastatus from tblImportir)
,(select top 1 KdTPB from tblImportir)
,(select top 1 ApiKd from tblImportir)
,(select top 1 ApiNo from tblImportir)
,'150300'
,'150300'
,(select top 1 Namattd from tblImportir)
,(select top 1 KotaTtd from tblImportir)
,@nobl
,@tgbl
,@ndpdm
,Nodaf
,Tgldaf
,Tgldaf
from tbl_header_bc27_out where id_bc271_hdr = @id_bc271_hdr
set @idhdr=@@IDENTITY
declare @car varchar(100)
set @car = (select car from tbl_header_bc27_out where [id_bc271_hdr]=@id_bc271_hdr )
declare @dnilinv float
set @dnilinv = (select (case when NilSerah = '-' then 0 else isnull(NilSerah, 0) end) from tbl_header_bc27_out where [id_bc271_hdr]=@id_bc271_hdr )
declare @qty float
set @qty= (select sum([JmlSat]) from tbl_detail_bc27_out where [id_bc271_hdr]=@id_bc271_hdr)
-- detil inv begin here
insert into dbo.tbl_bc_in_dtl (
[CAR]
,Serial
,BrgUrai
,DNilInv
,NoHs
,id_bc_in_hdr
,JnsBarangDtl
,TujuanKirimDtl
,SeriTrp
,Merk
,Tipe
,SpfLain
,KdBrg
,JmlSat
,KdSat
,BrgAsal
,Penggunaan
) select
@car
,row_number() over(order by (select 0))
,BrgUrai
,round(([JmlSat] * @dnilinv/@qty),2) as DNilInv
,NoHS as NoHs
,@idhdr
,'01'
,'02'
,'0'
,'-'
,'-'
,part_name_customs
,[KdBrg1]
,[JmlSat]
,'MTR'
,'ID'
,'1'
FROM tbl_detail_bc27_out where [id_bc271_hdr]=@id_bc271_hdr
-- update dokumen
insert into dbo.tbl_bc_in_dok (
CAR
,DokKd
,DokNo
,DokTg
,id_bc_in_hdr
) select
@car
,'380'
,[NoInvoice]
,[TgInvoice]
,@idhdr
FROM tbl_detail_bc27_out
where [id_bc271_hdr]=@id_bc271_hdr
group by [NoInvoice] ,[TgInvoice]
--update
update tbl_header_bc27_out set status = 'DATA PROCESSED' where [id_bc271_hdr]=@id_bc271_hdr
INSERT INTO tbl_bc_in_hdr_h_status
(id_bc_in_hdr, statusdok, status_date)
VALUES (@idhdr, (select top 1 tbl_bc_in_hdr.statusdok from tbl_bc_in_hdr where tbl_bc_in_hdr.inv_hdr_id = @idhdr), GETDATE())
--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 status,@ErrSeverity as description
--RAISERROR(@ErrMsg, @ErrSeverity, 1)
--END CATCH
set @sts = '00'
set @desc = 'Data Processed'
goto msg
msg:
select @sts as status, @desc as description
END
--go
-- exec(' [spi_insertbc27pasi] @username=''admin'', @id_bc271_hdr=276 ')
GO
GO
CREATE PROCEDURE dbo.spi_insertbc27pasi
(
@username varchar(50), @id_bc271_hdr bigint
)
AS
BEGIN
declare @sts varchar(2), @desc varchar(50)
--BEGIN TRY
--BEGIN TRANSACTION
declare @now date
set @now = GETDATE()
declare @ndpdm float
set @ndpdm = (
select top 1 nilai from dbo.tblKurs where (TgAkhir >= @now and TgAwal <= @now) and KdKurs = 'USD'
)
declare @jmldetil int
set @jmldetil = (SELECT COUNT(*) AS cnt
FROM tbl_detail_bc27_out
WHERE (id_bc271_hdr = @id_bc271_hdr))
declare @nobc27pasi varchar(20) , @tglbc27pasi date
set @nobc27pasi = (select car from tbl_header_bc27_out where id_bc271_hdr = @id_bc271_hdr)
set @tglbc27pasi = (select Tgldaf from tbl_header_bc27_out where id_bc271_hdr = @id_bc271_hdr)
--if(select count(*) from tbl_bc_in_hdr where typedok = 'BC271' and bc_in_from_in = 'INVPASI' and car = @nobc27pasi
----and [BC23Tg] = @tglbc27pasi
--) > 0
--begin
-- select '06' as [status], ' DATA SUDAH DI PROSES' as description
-- return
--end
declare @tgbl date
set @tgbl = GETDATE()
declare @nobl varchar(100)
declare @hasil varchar(50)
exec [dbo].[spu_seq] @nomor_untuk = N'noajubc271', @hasil = @hasil OUTPUT
set @nobl = @hasil
-- insert header
declare @idhdr bigint
insert into dbo.tbl_bc_in_hdr (
[CAR]
,statusdok
,typedok
,bc_in_from_in
,KdKpbc
,Tujuan
,JnsBarang
,TujuanKirim
,PasokNama
,PasokAlmt
,PasokNeg
,AngkutNama
,AngkutFl
,Moda
,KdVal
,NilInv
,KdHrg
,JmBrg
,Registrasi
,UsahaNama
,UsahaAlmt
,UsahaStatus
,KdTPB
,ApiKd
,ApiNo
,KdKpbcBongkar
,KdKpbcAwas
,Namattd
,KotaTtd
,nobl
,tglbl
,Ndpbm
,[BC23No]
,[BC23Tg]
,[DokTupTg]
)
select top 1
CAR
,'DATA BARU'
,'BC271'
,'INVPASI'
,'150300'
,'1'
,'01'
,'02'
,PasokNama
,PasokAlmt1
,'ID'
,' '
,'1'
,''
,'USD'
,(case when NilSerah = '-' then 0 else isnull(NilSerah, 0) end)
,'1'
,@jmldetil
,(select top 1 Registrasi from tblImportir)
,(select top 1 impnama from tblImportir)
,(select top 1 impalmt from tblImportir)
,(select top 1 usahastatus from tblImportir)
,(select top 1 KdTPB from tblImportir)
,(select top 1 ApiKd from tblImportir)
,(select top 1 ApiNo from tblImportir)
,'150300'
,'150300'
,(select top 1 Namattd from tblImportir)
,(select top 1 KotaTtd from tblImportir)
,@nobl
,@tgbl
,@ndpdm
,Nodaf
,Tgldaf
,Tgldaf
from tbl_header_bc27_out where id_bc271_hdr = @id_bc271_hdr
set @idhdr=@@IDENTITY
declare @car varchar(100)
set @car = (select car from tbl_header_bc27_out where [id_bc271_hdr]=@id_bc271_hdr )
declare @dnilinv float
set @dnilinv = (select (case when NilSerah = '-' then 0 else isnull(NilSerah, 0) end) from tbl_header_bc27_out where [id_bc271_hdr]=@id_bc271_hdr )
declare @qty float
set @qty= (select sum([JmlSat]) from tbl_detail_bc27_out where [id_bc271_hdr]=@id_bc271_hdr)
-- detil inv begin here
insert into dbo.tbl_bc_in_dtl (
[CAR]
,Serial
,BrgUrai
,DNilInv
,NoHs
,id_bc_in_hdr
,JnsBarangDtl
,TujuanKirimDtl
,SeriTrp
,Merk
,Tipe
,SpfLain
,KdBrg
,JmlSat
,KdSat
,BrgAsal
,Penggunaan
) select
@car
,row_number() over(order by (select 0))
,BrgUrai
,round(([JmlSat] * @dnilinv/@qty),2) as DNilInv
,NoHS as NoHs
,@idhdr
,'01'
,'02'
,'0'
,'-'
,'-'
,part_name_customs
,[KdBrg1]
,[JmlSat]
,'MTR'
,'ID'
,'1'
FROM tbl_detail_bc27_out where [id_bc271_hdr]=@id_bc271_hdr
-- update dokumen
insert into dbo.tbl_bc_in_dok (
CAR
,DokKd
,DokNo
,DokTg
,id_bc_in_hdr
) select
@car
,'380'
,[NoInvoice]
,[TgInvoice]
,@idhdr
FROM tbl_detail_bc27_out
where [id_bc271_hdr]=@id_bc271_hdr
group by [NoInvoice] ,[TgInvoice]
--update
update tbl_header_bc27_out set status = 'DATA PROCESSED' where [id_bc271_hdr]=@id_bc271_hdr
INSERT INTO tbl_bc_in_hdr_h_status
(id_bc_in_hdr, statusdok, status_date)
VALUES (@idhdr, (select top 1 tbl_bc_in_hdr.statusdok from tbl_bc_in_hdr where tbl_bc_in_hdr.inv_hdr_id = @idhdr), GETDATE())
--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 status,@ErrSeverity as description
--RAISERROR(@ErrMsg, @ErrSeverity, 1)
--END CATCH
set @sts = '00'
set @desc = 'Data Processed'
goto msg
msg:
select @sts as status, @desc as description
END
--go
-- exec(' [spi_insertbc27pasi] @username=''admin'', @id_bc271_hdr=276 ')
GO
Depends On
9Used By
No items found