Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
| Name | Data Type | Length | Description |
|---|---|---|---|
| @nobl | varchar | 20 | |
| @tgbl | date | 3 | |
| @typebc | varchar | 5 | |
| @noinv | varchar | -1 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE PROCEDURE dbo.sp_insertbc23
@nobl as varchar(20), @tgbl as date, @typebc as varchar(5), @noinv as varchar(MAX)
AS
BEGIN
declare @tbl_listinv_bl table ( id_hdr bigint,noinv varchar(60))
declare @sts varchar(2), @desc varchar(50)
declare @idata varchar(50)
DECLARE a_cursor CURSOR FOR
select data from dbo.Split( @noinv, CHAR(124))
OPEN a_cursor
FETCH NEXT FROM a_cursor INTO @idata
WHILE @@FETCH_STATUS = 0
BEGIN -- begin here
insert into @tbl_listinv_bl (id_hdr, noinv) values((select data from dbo.Split( @idata, ',') where ID = 1), (select data from dbo.Split( @idata, ',') where ID = 2))
FETCH NEXT FROM a_cursor INTO @idata
END
CLOSE a_cursor
DEALLOCATE a_cursor
declare @ihdr bigint, @inoinv varchar(50)
if (select COUNT(*) as cnt from dbo.tbl_bc_in_hdr where dbo.tbl_bc_in_hdr.nobl = @nobl and dbo.tbl_bc_in_hdr.tglbl = @tgbl ) > 0
begin
set @sts = '04'
set @desc = 'Data Sudah Ada di data BC Lakukan Recalculate jika ingin menggabungkan ke no nomor '+@nobl+' tgl '+cast(@tgbl as varchar)
goto msg
end
DECLARE i_cursor CURSOR FOR
select id_hdr, noinv from @tbl_listinv_bl
OPEN i_cursor
FETCH NEXT FROM i_cursor INTO @ihdr, @inoinv
WHILE @@FETCH_STATUS = 0
BEGIN -- begin here
if (select COUNT(*) as cnt from dbo.tbl_inv_hdr where nobl = @nobl and inv_hdr_id=@ihdr) = 0
begin
set @sts = '01'
set @desc = 'Data Not Found '+@nobl+' idhdr= '+cast(@ihdr as varchar)+' noinv= '+@inoinv
goto msg
end
FETCH NEXT FROM i_cursor INTO @ihdr, @inoinv
END
CLOSE i_cursor
DEALLOCATE i_cursor
if ( select count(*)
FROM
dbo.tbl_inv_hdr
INNER JOIN dbo.v_noinv_dtl ON (dbo.tbl_inv_hdr.inv_hdr_id = dbo.v_noinv_dtl.inv_hdr_id)
LEFT OUTER JOIN dbo.tbl_data_part_hs ON (dbo.v_noinv_dtl.partnumber = dbo.tbl_data_part_hs.part_no)
WHERE
dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl = @tgbl and dbo.tbl_data_part_hs.part_name is null
GROUP BY
dbo.tbl_data_part_hs.part_name,
dbo.v_noinv_dtl.r7,
dbo.tbl_data_part_hs.hs_code,tbl_data_part_hs.kode_barang) > 0
begin
set @sts = '01'
set @desc = 'Part Number tidak ditemukan. Isikan dahulu Part Number.'
goto msg
end
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'
)
-- Begin Header
declare @jmldetil int
set @jmldetil=(select count(*) from (
select COUNT(*) as total
FROM
dbo.tbl_inv_hdr
INNER JOIN dbo.v_noinv_dtl ON (dbo.tbl_inv_hdr.inv_hdr_id = dbo.v_noinv_dtl.inv_hdr_id)
LEFT OUTER JOIN dbo.tbl_data_part_hs ON (dbo.v_noinv_dtl.partnumber = dbo.tbl_data_part_hs.part_no)
WHERE
dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl=@tgbl
GROUP BY
dbo.tbl_data_part_hs.part_name,
dbo.tbl_inv_hdr.nobl,dbo.v_noinv_dtl.r7) xdata )
insert into dbo.tbl_bc_in_hdr (
[CAR]
,noinv
,tginv
,inv_hdr_id
,statusdok
,typedok
,bc_in_from_in
,KdKpbc
,Tujuan
,JnsBarang
,TujuanKirim
,PasokNama
,PasokAlmt
,PasokNeg
,AngkutNama
,AngkutFl
,Moda
,KdVal
,NilInv
,KdHrg
,JmBrg
,Registrasi
,UsahaId
,UsahaNpwp
,UsahaNama
,UsahaAlmt
,UsahaStatus
,KdTPB
,ApiKd
,ApiNo
,KdKpbcBongkar
,KdKpbcAwas
,Namattd
,KotaTtd
,nobl
,tglbl
,Ndpbm
,Fob
,PelBkr
,TglTtd
)
select top 1
'-'
,dbo.tbl_inv_hdr.r3
,substring(dbo.tbl_inv_hdr.r5, 1, 2)+ substring(dbo.tbl_inv_hdr.r5, 4, 2) + substring(dbo.tbl_inv_hdr.r5, 7, 2)
,dbo.tbl_inv_hdr.inv_hdr_id
,'DATA BARU'
,@typebc
,'INV HIB' --
,'150300'
,'1'
,'01'
,'02'
,(select top 1 supplier_name from dbo.tbl_data_supplier where subcode_as400 = dbo.tbl_inv_hdr.r2)
,(select top 1 supplier_address from dbo.tbl_data_supplier where subcode_as400 = dbo.tbl_inv_hdr.r2)
,(select top 1 supplier_country from dbo.tbl_data_supplier where subcode_as400 = dbo.tbl_inv_hdr.r2)
,dbo.tbl_inv_hdr.r20
,(select top 1 AngkutFl from tblkapal where AngkutNama = dbo.tbl_inv_hdr.r20)
,(select top 1 AngkutModa from tblkapal where AngkutNama = dbo.tbl_inv_hdr.r20)
,(select top 1 kdval from v_detil_invoice where inv_hdr_id = dbo.tbl_inv_hdr.inv_hdr_id)
,(SELECT top 1 (sum(dbo.v_detil_invoice.qty * dbo.v_detil_invoice.amount)) AS xxx FROM dbo.tbl_inv_hdr INNER JOIN dbo.v_detil_invoice ON (dbo.tbl_inv_hdr.inv_hdr_id = dbo.v_detil_invoice.inv_hdr_id) WHERE dbo.tbl_inv_hdr.nobl = @nobl GROUP BY dbo.tbl_inv_hdr.nobl)
,'1'
,@jmldetil
,(select top 1 Registrasi from tblImportir)
,(select top 1 IMPID from tblImportir)
,(select top 1 IMPNPWP 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
,ISNULL(@ndpdm, 0)
,(SELECT top 1 (sum(dbo.v_detil_invoice.qty * dbo.v_detil_invoice.amount)) AS xxx FROM dbo.tbl_inv_hdr INNER JOIN dbo.v_detil_invoice ON (dbo.tbl_inv_hdr.inv_hdr_id = dbo.v_detil_invoice.inv_hdr_id) WHERE dbo.tbl_inv_hdr.nobl = @nobl GROUP BY dbo.tbl_inv_hdr.nobl)
,'IDTPP'
,GETDATE()
from dbo.tbl_inv_hdr
where dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl = @tgbl
GROUP BY
dbo.tbl_inv_hdr.r3,
dbo.tbl_inv_hdr.r5,
dbo.tbl_inv_hdr.r2,
dbo.tbl_inv_hdr.r20,
dbo.tbl_inv_hdr.inv_hdr_id
declare @idhdr bigint
set @idhdr = @@IDENTITY
INSERT INTO tbl_bc_in_hdr_h_status
(id_bc_in_hdr, statusdok, status_date)
VALUES (@idhdr, (select top 1 statusdok from tbl_bc_in_hdr where [id_bc_in_hdr] = @idhdr), GETDATE())
-- 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
,KemasJn
,KemasJm
) select
'-'
,row_number() over(order by (select 0))
,isnull(dbo.tbl_data_part_hs.part_name, '-UNKNOWN' + replace(convert(varchar(255) , newid()), '-','')) --,isnull(dbo.tbl_data_part_hs.part_name_customs, v_noinv_dtl.partnumber)
,(SUM(dbo.v_noinv_dtl.qty * (dbo.v_noinv_dtl.amount/1000)))
,REPLACE(dbo.tbl_data_part_hs.hs_code,'.','')
,@idhdr
,'01'
,'02'
,'0'
,'-'
,'-'
,'-'
,isnull(tbl_data_part_hs.kode_barang, '-')
,SUM(dbo.v_noinv_dtl.qty)
,(ISNULL((select top 1 KD_SAT_BC from dbo.tbl_satuan_bc where KD_SAT_INTERNAL = dbo.v_noinv_dtl.r7), dbo.v_noinv_dtl.r7))
,(select top 1 dbo.tbl_bc_in_hdr.PasokNeg from dbo.tbl_bc_in_hdr where dbo.tbl_bc_in_hdr.id_bc_in_hdr=@idhdr )
,'1'
,'BX'
,SUM(dbo.v_noinv_dtl.box)
FROM
dbo.tbl_inv_hdr
INNER JOIN dbo.v_noinv_dtl ON (dbo.tbl_inv_hdr.inv_hdr_id = dbo.v_noinv_dtl.inv_hdr_id)
LEFT OUTER JOIN dbo.tbl_data_part_hs ON (dbo.v_noinv_dtl.partnumber = dbo.tbl_data_part_hs.part_no)
WHERE
dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl = @tgbl
GROUP BY
dbo.tbl_data_part_hs.part_name,
dbo.v_noinv_dtl.r7,
dbo.tbl_data_part_hs.hs_code,tbl_data_part_hs.kode_barang
-- end detil
-- update dokumen
insert into dbo.tbl_bc_in_dok (
CAR
,DokKd
,DokNo
,DokTg
,id_bc_in_hdr
)select
'-'
,'380'
,dbo.tbl_inv_hdr.r3
,substring(dbo.tbl_inv_hdr.r5, 1, 2)+ substring(dbo.tbl_inv_hdr.r5, 4, 2) + substring(dbo.tbl_inv_hdr.r5, 7, 2)
,@idhdr
from dbo.tbl_inv_hdr
where dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl = @tgbl
GROUP BY
dbo.tbl_inv_hdr.r3,
dbo.tbl_inv_hdr.r5
insert into dbo.tbl_bc_in_dok (
CAR
,DokKd
,DokNo
,DokTg
,id_bc_in_hdr ) values ('-', '705', @nobl, @tgbl, @idhdr)
-- update kontener
insert into dbo.tbl_bc_in_con (
[id_bc_in_hdr]
,[CAR]
,[ContNo]
,[ContUkur]
,[ContTipe]
)select
@idhdr
,'-'
,dbo.tbl_inv_hdr.r4
,'40'
,'F'
from dbo.tbl_inv_hdr
where dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl = @tgbl
GROUP BY
dbo.tbl_inv_hdr.r3,
dbo.tbl_inv_hdr.r4,
dbo.tbl_inv_hdr.r5
-- insert to partname detil bc in
insert into tbl_bc_in_dtl_partnumber (
[inv_dtl]
,[inv_hdr_id]
,[id_bc_in_hdr]
,[noinv]
,[car]
,[nobc]
,[tglbc]
,part_no2
,[part_number]
,[part_name]
,[part_name_customs]
,[bm]
,[qty]
,[unit]
,[harga]
,[kdval]
,[box]
,[pack]
,hscode
,id_partnumber
,seri_detil
) select
dbo.v_noinv_dtl.[inv_dtl]
,dbo.v_noinv_dtl.[inv_hdr_id]
,@idhdr
,dbo.v_noinv_dtl.[noinv]
,(CASE WHEN (dbo.v_noinv_dtl.[car] = 0) THEN '-' END)
,dbo.v_noinv_dtl.[nobc]
,dbo.v_noinv_dtl.[tglbc]
,(select top 1 tbl_data_part_hs.part_no2 from tbl_data_part_hs where tbl_data_part_hs.part_no = dbo.v_noinv_dtl.partnumber)
,dbo.v_noinv_dtl.partnumber
,(select top 1 tbl_data_part_hs.part_name from tbl_data_part_hs where tbl_data_part_hs.part_no = dbo.v_noinv_dtl.partnumber)
,isnull(dbo.tbl_data_part_hs.part_name_customs,'-UNKNOWN' + replace(convert(varchar(255) , newid()), '-','')) as part_name_customs
,isnull(dbo.tbl_data_part_hs.bm, 0) as bm
,dbo.v_noinv_dtl.qty
,dbo.v_noinv_dtl.r7
,dbo.v_noinv_dtl.amount
,dbo.v_noinv_dtl.kdval
,dbo.v_noinv_dtl.box
,dbo.v_noinv_dtl.pack
,dbo.tbl_data_part_hs.hs_code
,dbo.tbl_data_part_hs.id
,(select top 1 Serial from tbl_bc_in_dtl where id_bc_in_hdr = @idhdr and BrgUrai=dbo.tbl_data_part_hs.part_name)
FROM
dbo.v_noinv_dtl
LEFT OUTER JOIN dbo.tbl_data_part_hs ON (dbo.v_noinv_dtl.partnumber = dbo.tbl_data_part_hs.part_no)
WHERE nobl = @nobl and tgbl = @tgbl
--update
update dbo.tbl_inv_hdr set dbo.tbl_inv_hdr.status_inv = 1 where dbo.tbl_inv_hdr.nobl = @nobl and tgbl = @tgbl
--INSERT INTO tbl_bc_in_hdr_h_status
-- (id_bc_in_hdr, statusdok, status_date)
--VALUES (@idhdr, (select top 1 statusdok from tbl_bc_in_hdr where [id_bc_in_hdr] = @idhdr), GETDATE())
insert into dbo.tbl_bc_in_trf
(
CAR
,NoHs
,KdTrpBm
,TrpBm
,TrpPpn
,[id_bc_in_hdr]
)
select
'-'
,NoHs
,'1'
,isnull((select top 1 dbo.tbl_data_part_hs.bm from dbo.tbl_data_part_hs where replace(dbo.tbl_data_part_hs.hs_code,'.','')=NoHs), 0) as bm
,10
,@idhdr
from dbo.tbl_bc_in_dtl where id_bc_in_hdr=@idhdr
group by NoHs
-- tblbc23fas
insert into dbo.tbl_bc_in_fas
(
[id_bc_in_hdr]
,[CAR]
,[Serial]
,[KdFasBM]
,[FasBM]
,[KdFasCuk]
,[FasCuk]
,[KdFasPpn]
,[FasPpn]
,[KdFasPph]
,[FasPph]
,[KdFasPbm]
,[FasPbm]
)
select
@idhdr
,'-'
,Serial
,'2'
,100
,''
,0
,'2'
,100
,'2'
,100
,''
,0
from dbo.tbl_bc_in_dtl where id_bc_in_hdr=@idhdr
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
GO
CREATE PROCEDURE dbo.sp_insertbc23
@nobl as varchar(20), @tgbl as date, @typebc as varchar(5), @noinv as varchar(MAX)
AS
BEGIN
declare @tbl_listinv_bl table ( id_hdr bigint,noinv varchar(60))
declare @sts varchar(2), @desc varchar(50)
declare @idata varchar(50)
DECLARE a_cursor CURSOR FOR
select data from dbo.Split( @noinv, CHAR(124))
OPEN a_cursor
FETCH NEXT FROM a_cursor INTO @idata
WHILE @@FETCH_STATUS = 0
BEGIN -- begin here
insert into @tbl_listinv_bl (id_hdr, noinv) values((select data from dbo.Split( @idata, ',') where ID = 1), (select data from dbo.Split( @idata, ',') where ID = 2))
FETCH NEXT FROM a_cursor INTO @idata
END
CLOSE a_cursor
DEALLOCATE a_cursor
declare @ihdr bigint, @inoinv varchar(50)
if (select COUNT(*) as cnt from dbo.tbl_bc_in_hdr where dbo.tbl_bc_in_hdr.nobl = @nobl and dbo.tbl_bc_in_hdr.tglbl = @tgbl ) > 0
begin
set @sts = '04'
set @desc = 'Data Sudah Ada di data BC Lakukan Recalculate jika ingin menggabungkan ke no nomor '+@nobl+' tgl '+cast(@tgbl as varchar)
goto msg
end
DECLARE i_cursor CURSOR FOR
select id_hdr, noinv from @tbl_listinv_bl
OPEN i_cursor
FETCH NEXT FROM i_cursor INTO @ihdr, @inoinv
WHILE @@FETCH_STATUS = 0
BEGIN -- begin here
if (select COUNT(*) as cnt from dbo.tbl_inv_hdr where nobl = @nobl and inv_hdr_id=@ihdr) = 0
begin
set @sts = '01'
set @desc = 'Data Not Found '+@nobl+' idhdr= '+cast(@ihdr as varchar)+' noinv= '+@inoinv
goto msg
end
FETCH NEXT FROM i_cursor INTO @ihdr, @inoinv
END
CLOSE i_cursor
DEALLOCATE i_cursor
if ( select count(*)
FROM
dbo.tbl_inv_hdr
INNER JOIN dbo.v_noinv_dtl ON (dbo.tbl_inv_hdr.inv_hdr_id = dbo.v_noinv_dtl.inv_hdr_id)
LEFT OUTER JOIN dbo.tbl_data_part_hs ON (dbo.v_noinv_dtl.partnumber = dbo.tbl_data_part_hs.part_no)
WHERE
dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl = @tgbl and dbo.tbl_data_part_hs.part_name is null
GROUP BY
dbo.tbl_data_part_hs.part_name,
dbo.v_noinv_dtl.r7,
dbo.tbl_data_part_hs.hs_code,tbl_data_part_hs.kode_barang) > 0
begin
set @sts = '01'
set @desc = 'Part Number tidak ditemukan. Isikan dahulu Part Number.'
goto msg
end
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'
)
-- Begin Header
declare @jmldetil int
set @jmldetil=(select count(*) from (
select COUNT(*) as total
FROM
dbo.tbl_inv_hdr
INNER JOIN dbo.v_noinv_dtl ON (dbo.tbl_inv_hdr.inv_hdr_id = dbo.v_noinv_dtl.inv_hdr_id)
LEFT OUTER JOIN dbo.tbl_data_part_hs ON (dbo.v_noinv_dtl.partnumber = dbo.tbl_data_part_hs.part_no)
WHERE
dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl=@tgbl
GROUP BY
dbo.tbl_data_part_hs.part_name,
dbo.tbl_inv_hdr.nobl,dbo.v_noinv_dtl.r7) xdata )
insert into dbo.tbl_bc_in_hdr (
[CAR]
,noinv
,tginv
,inv_hdr_id
,statusdok
,typedok
,bc_in_from_in
,KdKpbc
,Tujuan
,JnsBarang
,TujuanKirim
,PasokNama
,PasokAlmt
,PasokNeg
,AngkutNama
,AngkutFl
,Moda
,KdVal
,NilInv
,KdHrg
,JmBrg
,Registrasi
,UsahaId
,UsahaNpwp
,UsahaNama
,UsahaAlmt
,UsahaStatus
,KdTPB
,ApiKd
,ApiNo
,KdKpbcBongkar
,KdKpbcAwas
,Namattd
,KotaTtd
,nobl
,tglbl
,Ndpbm
,Fob
,PelBkr
,TglTtd
)
select top 1
'-'
,dbo.tbl_inv_hdr.r3
,substring(dbo.tbl_inv_hdr.r5, 1, 2)+ substring(dbo.tbl_inv_hdr.r5, 4, 2) + substring(dbo.tbl_inv_hdr.r5, 7, 2)
,dbo.tbl_inv_hdr.inv_hdr_id
,'DATA BARU'
,@typebc
,'INV HIB' --
,'150300'
,'1'
,'01'
,'02'
,(select top 1 supplier_name from dbo.tbl_data_supplier where subcode_as400 = dbo.tbl_inv_hdr.r2)
,(select top 1 supplier_address from dbo.tbl_data_supplier where subcode_as400 = dbo.tbl_inv_hdr.r2)
,(select top 1 supplier_country from dbo.tbl_data_supplier where subcode_as400 = dbo.tbl_inv_hdr.r2)
,dbo.tbl_inv_hdr.r20
,(select top 1 AngkutFl from tblkapal where AngkutNama = dbo.tbl_inv_hdr.r20)
,(select top 1 AngkutModa from tblkapal where AngkutNama = dbo.tbl_inv_hdr.r20)
,(select top 1 kdval from v_detil_invoice where inv_hdr_id = dbo.tbl_inv_hdr.inv_hdr_id)
,(SELECT top 1 (sum(dbo.v_detil_invoice.qty * dbo.v_detil_invoice.amount)) AS xxx FROM dbo.tbl_inv_hdr INNER JOIN dbo.v_detil_invoice ON (dbo.tbl_inv_hdr.inv_hdr_id = dbo.v_detil_invoice.inv_hdr_id) WHERE dbo.tbl_inv_hdr.nobl = @nobl GROUP BY dbo.tbl_inv_hdr.nobl)
,'1'
,@jmldetil
,(select top 1 Registrasi from tblImportir)
,(select top 1 IMPID from tblImportir)
,(select top 1 IMPNPWP 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
,ISNULL(@ndpdm, 0)
,(SELECT top 1 (sum(dbo.v_detil_invoice.qty * dbo.v_detil_invoice.amount)) AS xxx FROM dbo.tbl_inv_hdr INNER JOIN dbo.v_detil_invoice ON (dbo.tbl_inv_hdr.inv_hdr_id = dbo.v_detil_invoice.inv_hdr_id) WHERE dbo.tbl_inv_hdr.nobl = @nobl GROUP BY dbo.tbl_inv_hdr.nobl)
,'IDTPP'
,GETDATE()
from dbo.tbl_inv_hdr
where dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl = @tgbl
GROUP BY
dbo.tbl_inv_hdr.r3,
dbo.tbl_inv_hdr.r5,
dbo.tbl_inv_hdr.r2,
dbo.tbl_inv_hdr.r20,
dbo.tbl_inv_hdr.inv_hdr_id
declare @idhdr bigint
set @idhdr = @@IDENTITY
INSERT INTO tbl_bc_in_hdr_h_status
(id_bc_in_hdr, statusdok, status_date)
VALUES (@idhdr, (select top 1 statusdok from tbl_bc_in_hdr where [id_bc_in_hdr] = @idhdr), GETDATE())
-- 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
,KemasJn
,KemasJm
) select
'-'
,row_number() over(order by (select 0))
,isnull(dbo.tbl_data_part_hs.part_name, '-UNKNOWN' + replace(convert(varchar(255) , newid()), '-','')) --,isnull(dbo.tbl_data_part_hs.part_name_customs, v_noinv_dtl.partnumber)
,(SUM(dbo.v_noinv_dtl.qty * (dbo.v_noinv_dtl.amount/1000)))
,REPLACE(dbo.tbl_data_part_hs.hs_code,'.','')
,@idhdr
,'01'
,'02'
,'0'
,'-'
,'-'
,'-'
,isnull(tbl_data_part_hs.kode_barang, '-')
,SUM(dbo.v_noinv_dtl.qty)
,(ISNULL((select top 1 KD_SAT_BC from dbo.tbl_satuan_bc where KD_SAT_INTERNAL = dbo.v_noinv_dtl.r7), dbo.v_noinv_dtl.r7))
,(select top 1 dbo.tbl_bc_in_hdr.PasokNeg from dbo.tbl_bc_in_hdr where dbo.tbl_bc_in_hdr.id_bc_in_hdr=@idhdr )
,'1'
,'BX'
,SUM(dbo.v_noinv_dtl.box)
FROM
dbo.tbl_inv_hdr
INNER JOIN dbo.v_noinv_dtl ON (dbo.tbl_inv_hdr.inv_hdr_id = dbo.v_noinv_dtl.inv_hdr_id)
LEFT OUTER JOIN dbo.tbl_data_part_hs ON (dbo.v_noinv_dtl.partnumber = dbo.tbl_data_part_hs.part_no)
WHERE
dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl = @tgbl
GROUP BY
dbo.tbl_data_part_hs.part_name,
dbo.v_noinv_dtl.r7,
dbo.tbl_data_part_hs.hs_code,tbl_data_part_hs.kode_barang
-- end detil
-- update dokumen
insert into dbo.tbl_bc_in_dok (
CAR
,DokKd
,DokNo
,DokTg
,id_bc_in_hdr
)select
'-'
,'380'
,dbo.tbl_inv_hdr.r3
,substring(dbo.tbl_inv_hdr.r5, 1, 2)+ substring(dbo.tbl_inv_hdr.r5, 4, 2) + substring(dbo.tbl_inv_hdr.r5, 7, 2)
,@idhdr
from dbo.tbl_inv_hdr
where dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl = @tgbl
GROUP BY
dbo.tbl_inv_hdr.r3,
dbo.tbl_inv_hdr.r5
insert into dbo.tbl_bc_in_dok (
CAR
,DokKd
,DokNo
,DokTg
,id_bc_in_hdr ) values ('-', '705', @nobl, @tgbl, @idhdr)
-- update kontener
insert into dbo.tbl_bc_in_con (
[id_bc_in_hdr]
,[CAR]
,[ContNo]
,[ContUkur]
,[ContTipe]
)select
@idhdr
,'-'
,dbo.tbl_inv_hdr.r4
,'40'
,'F'
from dbo.tbl_inv_hdr
where dbo.tbl_inv_hdr.nobl = @nobl and dbo.tbl_inv_hdr.tgbl = @tgbl
GROUP BY
dbo.tbl_inv_hdr.r3,
dbo.tbl_inv_hdr.r4,
dbo.tbl_inv_hdr.r5
-- insert to partname detil bc in
insert into tbl_bc_in_dtl_partnumber (
[inv_dtl]
,[inv_hdr_id]
,[id_bc_in_hdr]
,[noinv]
,[car]
,[nobc]
,[tglbc]
,part_no2
,[part_number]
,[part_name]
,[part_name_customs]
,[bm]
,[qty]
,[unit]
,[harga]
,[kdval]
,[box]
,[pack]
,hscode
,id_partnumber
,seri_detil
) select
dbo.v_noinv_dtl.[inv_dtl]
,dbo.v_noinv_dtl.[inv_hdr_id]
,@idhdr
,dbo.v_noinv_dtl.[noinv]
,(CASE WHEN (dbo.v_noinv_dtl.[car] = 0) THEN '-' END)
,dbo.v_noinv_dtl.[nobc]
,dbo.v_noinv_dtl.[tglbc]
,(select top 1 tbl_data_part_hs.part_no2 from tbl_data_part_hs where tbl_data_part_hs.part_no = dbo.v_noinv_dtl.partnumber)
,dbo.v_noinv_dtl.partnumber
,(select top 1 tbl_data_part_hs.part_name from tbl_data_part_hs where tbl_data_part_hs.part_no = dbo.v_noinv_dtl.partnumber)
,isnull(dbo.tbl_data_part_hs.part_name_customs,'-UNKNOWN' + replace(convert(varchar(255) , newid()), '-','')) as part_name_customs
,isnull(dbo.tbl_data_part_hs.bm, 0) as bm
,dbo.v_noinv_dtl.qty
,dbo.v_noinv_dtl.r7
,dbo.v_noinv_dtl.amount
,dbo.v_noinv_dtl.kdval
,dbo.v_noinv_dtl.box
,dbo.v_noinv_dtl.pack
,dbo.tbl_data_part_hs.hs_code
,dbo.tbl_data_part_hs.id
,(select top 1 Serial from tbl_bc_in_dtl where id_bc_in_hdr = @idhdr and BrgUrai=dbo.tbl_data_part_hs.part_name)
FROM
dbo.v_noinv_dtl
LEFT OUTER JOIN dbo.tbl_data_part_hs ON (dbo.v_noinv_dtl.partnumber = dbo.tbl_data_part_hs.part_no)
WHERE nobl = @nobl and tgbl = @tgbl
--update
update dbo.tbl_inv_hdr set dbo.tbl_inv_hdr.status_inv = 1 where dbo.tbl_inv_hdr.nobl = @nobl and tgbl = @tgbl
--INSERT INTO tbl_bc_in_hdr_h_status
-- (id_bc_in_hdr, statusdok, status_date)
--VALUES (@idhdr, (select top 1 statusdok from tbl_bc_in_hdr where [id_bc_in_hdr] = @idhdr), GETDATE())
insert into dbo.tbl_bc_in_trf
(
CAR
,NoHs
,KdTrpBm
,TrpBm
,TrpPpn
,[id_bc_in_hdr]
)
select
'-'
,NoHs
,'1'
,isnull((select top 1 dbo.tbl_data_part_hs.bm from dbo.tbl_data_part_hs where replace(dbo.tbl_data_part_hs.hs_code,'.','')=NoHs), 0) as bm
,10
,@idhdr
from dbo.tbl_bc_in_dtl where id_bc_in_hdr=@idhdr
group by NoHs
-- tblbc23fas
insert into dbo.tbl_bc_in_fas
(
[id_bc_in_hdr]
,[CAR]
,[Serial]
,[KdFasBM]
,[FasBM]
,[KdFasCuk]
,[FasCuk]
,[KdFasPpn]
,[FasPpn]
,[KdFasPph]
,[FasPph]
,[KdFasPbm]
,[FasPbm]
)
select
@idhdr
,'-'
,Serial
,'2'
,100
,''
,0
,'2'
,100
,'2'
,100
,''
,0
from dbo.tbl_bc_in_dtl where id_bc_in_hdr=@idhdr
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
Depends On
18- dbo.Split
- dbo.tbl_bc_in_hdr
- dbo.tbl_inv_hdr
- dbo.v_noinv_dtl
- dbo.tbl_data_part_hs
- dbo.tblKurs
- dbo.tbl_data_supplier
- dbo.tblkapal
- dbo.v_detil_invoice
- dbo.tblImportir
- dbo.tbl_bc_in_hdr_h_status
- dbo.tbl_bc_in_dtl
- dbo.tbl_satuan_bc
- dbo.tbl_bc_in_dok
- dbo.tbl_bc_in_con
- dbo.tbl_bc_in_dtl_partnumber
- dbo.tbl_bc_in_trf
- dbo.tbl_bc_in_fas
Used By
No items found