Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
| Name | Data Type | Length | Description |
|---|---|---|---|
| @PARAMETER | xml | -1 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
create procedure dbo.MG_MS_BC_IN_IMPORT_FROM_CEISA
@PARAMETER xml=''
---XencX---with encryption
as
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
declare @pemisah varchar(255)
declare @pemisah_replace varchar(255)
set @pemisah_replace='<br />'
--set @pemisah=CHAR(13) + CHAR(10) + '
'
set @pemisah = '
'
declare @resultX varchar(max)
declare @resultX2 varchar(max)
declare @XmlSts xml
declare @raw xml
declare @xStsnoheader varchar(2),
@xStsno varchar(2),
@xStsdes varchar(max)
set @xStsnoheader='07'
set @xStsno='00';
set @xStsdes='sukses'
BEGIN TRY
SET NOCOUNT ON
DECLARE @NOW datetime
set @NOW =GETDATE()
DECLARE
@data_by varchar(50)
,@bc_prefix varchar(255)
,@replace_if_exists bit
,@allow_move_ms_date_business bit
SELECT
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@bc_prefix=left(ltrim(rtrim(isnull(tempTable.item.value('bc_prefix[1]', 'varchar(305)'),''))),255)
,@replace_if_exists=isnull(tempTable.item.value('replace_if_exists[1]', 'bit'),0)
,@allow_move_ms_date_business=isnull(tempTable.item.value('allow_move_ms_date_business[1]', 'bit'),0)
FROM @PARAMETER.nodes('param/field') tempTable(item)
if not (@bc_prefix='23' or
@bc_prefix='262' or
@bc_prefix='40'
)
begin
set @xStsno='02';
set @xStsdes='Gagal, Type BC ' + @bc_prefix + 'tidak terdaftar ' ;
goto f
end
declare @tmp_id table(id bigint primary key)
insert into @tmp_id
SELECT
isnull(tempTable.item.value('id[1]', 'bigint'),-1)
FROM @PARAMETER.nodes('param/field/lst') tempTable(item)
if @replace_if_exists=0
begin
SET @resultX= (
SELECT
'AJU: '+ NOMOR_AJU +
+'NO: ' + NOMOR_DAFTAR +
+'DATE: ' + dbo.date_to_str(TANGGAL_DAFTAR)+
+'STATUS: ' + status_tpb_in_name+
+ @pemisah
AS [text()]
FROM
vw_ms_header_bc_in
WHERE (not( status_tpb_in_id = -1 )) AND exists (
select * from @tmp_id xfilter
where vw_ms_header_bc_in.ID_HEADER_ORI=xfilter.id
)
order by TANGGAL_DAFTAR,NOMOR_DAFTAR
For XML PATH (''))
SET @resultX= REPLACE(@resultX,@pemisah_replace,@pemisah);
IF @resultX is not null
BEGIN
SET @xStsno='17';
SET @xStsdes='Gagal , Ada dokumen yang terdaftar :' + @pemisah+ @pemisah+ @resultX + @pemisah+ @pemisah+ ' , Cancel terlebih dahulu ' ;
GOto f
end
end
else
begin
SET @resultX= (
SELECT
'AJU: '+ NOMOR_AJU +
+'NO: ' + NOMOR_DAFTAR +
+'DATE: ' + dbo.date_to_str(TANGGAL_DAFTAR)+
+'STATUS: ' + status_tpb_in_name+
+ @pemisah
AS [text()]
FROM
vw_ms_header_bc_in
WHERE ( status_tpb_in_id = 3 ) AND exists (
select * from @tmp_id xfilter
where vw_ms_header_bc_in.ID_HEADER_ORI=xfilter.id
)
order by TANGGAL_DAFTAR,NOMOR_DAFTAR
For XML PATH (''))
SET @resultX= REPLACE(@resultX,@pemisah_replace,@pemisah);
IF @resultX is not null
BEGIN
SET @xStsno='17';
SET @xStsdes='Gagal , dokumen dengan status finish tidak bisa di replace :' + @pemisah+ @pemisah+ @resultX + @pemisah+ @pemisah+ ' , Cancel terlebih dahulu ' ;
GOto f
end
end
BEGIN TRANSACTION;
declare @cur_ID_HEADER bigint
,@cur_ID_PENERIMA_BARANG varchar(255)
,@cur_NAMA_PENERIMA_BARANG varchar(255)
,@cur_NOMOR_IJIN_TPB_PENERIMA varchar(255)
declare @mapping_ms_supplier_customer_id bigint
declare @mapping_supplier_customer_code varchar(255)
declare @rumus_header varchar(max)= (
STUFF((
SELECT ', ' + cast( id as varchar(255))
FROM @tmp_id
for xml PATH(''), type
).value('.', 'varchar(max)'), 1, 1, '')
)
declare @xml_header xml
declare @rumus_sql_hdr nvarchar(max)
set @rumus_sql_hdr=
' declare @tmp_hdr tp_ms_tmp_ceisa_header INSERT INTO dt_ms_tpb_in_header (ID_HEADER_ORI,ALAMAT_PEMASOK, ALAMAT_PEMILIK, ALAMAT_PENERIMA_BARANG, ALAMAT_PENGIRIM, ALAMAT_PENGUSAHA, ALAMAT_PPJK, API_PEMILIK, API_PENERIMA, API_PENGUSAHA, ASAL_DATA, ASURANSI, BIAYA_TAMBAHAN, BRUTO, CIF, CIF_RUPIAH, DISKON, FLAG_PEMILIK, FLAG_URL_DOKUMEN_PABEAN, FOB, FREIGHT, HARGA_BARANG_LDP, HARGA_INVOICE, HARGA_PENYERAHAN, HARGA_TOTAL, ID_MODUL, ID_PEMASOK, ID_PEMILIK, ID_PENERIMA_BARANG, ID_PENGIRIM, ID_PENGUSAHA, ID_PPJK, JABATAN_TTD, JUMLAH_BARANG, JUMLAH_KEMASAN, JUMLAH_KONTAINER, KESESUAIAN_DOKUMEN, KETERANGAN, KODE_ASAL_BARANG, KODE_ASURANSI, KODE_BENDERA, KODE_CARA_ANGKUT, KODE_CARA_BAYAR, KODE_DAERAH_ASAL, KODE_DOKUMEN_PABEAN, KODE_FASILITAS, KODE_FTZ, KODE_HARGA, KODE_ID_PEMASOK, KODE_ID_PEMILIK, KODE_ID_PENERIMA_BARANG, KODE_ID_PENGIRIM, KODE_ID_PENGUSAHA, KODE_ID_PPJK, KODE_JENIS_API, KODE_JENIS_API_PEMILIK, KODE_JENIS_API_PENERIMA, KODE_JENIS_API_PENGUSAHA, KODE_JENIS_BARANG, KODE_JENIS_BC25, KODE_JENIS_NILAI, KODE_JENIS_PEMASUKAN01, KODE_JENIS_PEMASUKAN02, KODE_JENIS_TPB, KODE_KANTOR, KODE_KANTOR_BONGKAR, KODE_KANTOR_TUJUAN, KODE_LOKASI_BAYAR, KODE_NEGARA_PEMASOK, KODE_NEGARA_PEMILIK, KODE_NEGARA_PENGIRIM, KODE_NEGARA_TUJUAN, KODE_PEL_BONGKAR, KODE_PEL_MUAT, KODE_PEL_TRANSIT, KODE_PEMBAYAR, KODE_STATUS, KODE_STATUS_PENGUSAHA, KODE_STATUS_PERBAIKAN, KODE_TPS, KODE_TUJUAN_PEMASUKAN, KODE_TUJUAN_PENGIRIMAN, KODE_TUJUAN_TPB, KODE_TUTUP_PU, KODE_VALUTA, KOTA_TTD, LOKASI_ASAL, LOKASI_TUJUAN, NAMA_PEMASOK, NAMA_PEMILIK, NAMA_PENERIMA_BARANG, NAMA_PENGANGKUT, NAMA_PENGIRIM, NAMA_PENGUSAHA, NAMA_PPJK, NAMA_TTD, NDPBM, NETTO, NILAI_INCOTERM, NIPER_PENERIMA, NOMOR_AJU, NOMOR_API, NOMOR_BC11, NOMOR_BILLING, NOMOR_DAFTAR, NOMOR_IJIN_BPK_PEMASOK, NOMOR_IJIN_BPK_PENGUSAHA, NOMOR_IJIN_TPB, NOMOR_IJIN_TPB_PENERIMA, NOMOR_POLISI, NOMOR_VOY_FLIGHT, NPPPJK, NPWP_BILLING, POS_BC11, SERI, SUBPOS_BC11, SUBSUBPOS_BC11, TANGGAL_AJU, TANGGAL_BC11, TANGGAL_BERANGKAT, TANGGAL_BILLING, TANGGAL_DAFTAR, TANGGAL_IJIN_BPK_PEMASOK, TANGGAL_IJIN_BPK_PENGUSAHA, TANGGAL_IJIN_TPB, TANGGAL_NPPPJK, TANGGAL_TIBA, TANGGAL_TTD, TGL_JATUH_TEMPO_BILLING, TOTAL_BAYAR, TOTAL_BEBAS, TOTAL_DILUNASI, TOTAL_JAMIN, TOTAL_SUDAH_DILUNASI, TOTAL_TANGGUH, TOTAL_TANGGUNG, TOTAL_TIDAK_DIPUNGUT, URL_DOKUMEN_PABEAN, VERSI_MODUL, VOLUME, WAKTU_BONGKAR, WAKTU_STUFFING,is_get,create_by,create_date ,modify_by ,modify_date , mode_source ) output inserted.ID_HEADER ,inserted.ID_HEADER_ORI into @tmp_hdr SELECT ID, ALAMAT_PEMASOK, ALAMAT_PEMILIK, ALAMAT_PENERIMA_BARANG, ALAMAT_PENGIRIM, ALAMAT_PENGUSAHA, ALAMAT_PPJK, API_PEMILIK, API_PENERIMA, API_PENGUSAHA, ASAL_DATA, ASURANSI, BIAYA_TAMBAHAN, BRUTO, CIF, CIF_RUPIAH, DISKON, FLAG_PEMILIK, FLAG_URL_DOKUMEN_PABEAN, FOB, FREIGHT, HARGA_BARANG_LDP, HARGA_INVOICE, HARGA_PENYERAHAN, HARGA_TOTAL, ID_MODUL, ID_PEMASOK, ID_PEMILIK, ID_PENERIMA_BARANG, ID_PENGIRIM, ID_PENGUSAHA, ID_PPJK, JABATAN_TTD, JUMLAH_BARANG, JUMLAH_KEMASAN, JUMLAH_KONTAINER, KESESUAIAN_DOKUMEN, KETERANGAN, KODE_ASAL_BARANG, KODE_ASURANSI, KODE_BENDERA, KODE_CARA_ANGKUT, KODE_CARA_BAYAR, KODE_DAERAH_ASAL, KODE_DOKUMEN_PABEAN, KODE_FASILITAS, KODE_FTZ, KODE_HARGA, KODE_ID_PEMASOK, KODE_ID_PEMILIK, KODE_ID_PENERIMA_BARANG, KODE_ID_PENGIRIM, KODE_ID_PENGUSAHA, KODE_ID_PPJK, KODE_JENIS_API, KODE_JENIS_API_PEMILIK, KODE_JENIS_API_PENERIMA, KODE_JENIS_API_PENGUSAHA, KODE_JENIS_BARANG, KODE_JENIS_BC25, KODE_JENIS_NILAI, KODE_JENIS_PEMASUKAN01, KODE_JENIS_PEMASUKAN02, KODE_JENIS_TPB, KODE_KANTOR, KODE_KANTOR_BONGKAR, KODE_KANTOR_TUJUAN, KODE_LOKASI_BAYAR, KODE_NEGARA_PEMASOK, KODE_NEGARA_PEMILIK, KODE_NEGARA_PENGIRIM, KODE_NEGARA_TUJUAN, KODE_PEL_BONGKAR, KODE_PEL_MUAT, KODE_PEL_TRANSIT, KODE_PEMBAYAR, KODE_STATUS, KODE_STATUS_PENGUSAHA, KODE_STATUS_PERBAIKAN, KODE_TPS, KODE_TUJUAN_PEMASUKAN,case when @bc_prefix=''23'' then 2 else KODE_TUJUAN_PENGIRIMAN end , KODE_TUJUAN_TPB, KODE_TUTUP_PU, KODE_VALUTA, KOTA_TTD, LOKASI_ASAL, LOKASI_TUJUAN, NAMA_PEMASOK, NAMA_PEMILIK, NAMA_PENERIMA_BARANG, NAMA_PENGANGKUT, NAMA_PENGIRIM, NAMA_PENGUSAHA, NAMA_PPJK, NAMA_TTD, NDPBM, NETTO, NILAI_INCOTERM, NIPER_PENERIMA, NOMOR_AJU, NOMOR_API, NOMOR_BC11, NOMOR_BILLING, NOMOR_DAFTAR, NOMOR_IJIN_BPK_PEMASOK, NOMOR_IJIN_BPK_PENGUSAHA, NOMOR_IJIN_TPB, NOMOR_IJIN_TPB_PENERIMA, NOMOR_POLISI, NOMOR_VOY_FLIGHT, NPPPJK, NPWP_BILLING, POS_BC11, SERI, SUBPOS_BC11, SUBSUBPOS_BC11, TANGGAL_AJU, TANGGAL_BC11, TANGGAL_BERANGKAT, TANGGAL_BILLING, TANGGAL_DAFTAR, TANGGAL_IJIN_BPK_PEMASOK, TANGGAL_IJIN_BPK_PENGUSAHA, TANGGAL_IJIN_TPB, TANGGAL_NPPPJK, TANGGAL_TIBA, TANGGAL_TTD, TGL_JATUH_TEMPO_BILLING, TOTAL_BAYAR, TOTAL_BEBAS, TOTAL_DILUNASI, TOTAL_JAMIN, TOTAL_SUDAH_DILUNASI, TOTAL_TANGGUH, TOTAL_TANGGUNG, TOTAL_TIDAK_DIPUNGUT, URL_DOKUMEN_PABEAN, VERSI_MODUL, VOLUME, WAKTU_BONGKAR, WAKTU_STUFFING,1,@data_by,@NOW,@data_by,@NOW,1 FROM OPENQUERY(TPBDB, ''SELECT * FROM tpbdb.tpb_header where ID in ( ' + @rumus_header +
' )'') as data ; set @xml_header=(select * from @tmp_hdr for xml path(''row''),root(''data'')) '
declare @ParmDefinition nvarchar(max) = N'@data_by int, @NOW datetime ,@bc_prefix varchar(255), @xml_header xml OUTPUT';
EXECUTE sp_executesql @rumus_sql_hdr, @ParmDefinition,
@data_by =@data_by ,
@NOW =@NOW ,
@bc_prefix =@bc_prefix ,
@xml_header = @xml_header OUTPUT
declare @tmp_hdr tp_ms_tmp_ceisa_header
insert into @tmp_hdr
SELECT
isnull(tempTable.item.value('ID_HEADER[1]', 'bigint'),'')
,isnull(tempTable.item.value('ID_HEADER_ORI[1]', 'bigint'),'')
FROM @xml_header.nodes('data/row') tempTable(item)
declare @tmp_hdr_status table (
dt_ms_tpb_in_header_h_status_id bigint primary key
,ID_HEADER bigint)
INSERT INTO dt_ms_tpb_in_header_h_status
(ID_HEADER, status_tpb_in_id, status_info, create_date, create_by)
output inserted.dt_ms_tpb_in_header_h_status_id , inserted.ID_HEADER into @tmp_hdr_status
select ID_HEADER,2, '',@now,@data_by from @tmp_hdr
update dt_ms_tpb_in_header
set dt_ms_tpb_in_header_h_status_id=(select top (1) xdata.dt_ms_tpb_in_header_h_status_id from @tmp_hdr_status as xdata where xdata.ID_HEADER =dt_ms_tpb_in_header.ID_HEADER )
where exists(
select * from @tmp_hdr_status as xfilter where
dt_ms_tpb_in_header.ID_HEADER =xfilter.ID_HEADER
)
declare @cur_TANGGAL_DAFTAR date
DECLARE cust_cursor CURSOR FOR
select ID_HEADER
,case when KODE_DOKUMEN_PABEAN ='23' then ID_PEMASOK else ID_PENGIRIM end as ID_PENGIRIM
,case when KODE_DOKUMEN_PABEAN ='23' then NAMA_PEMASOK else NAMA_PENGIRIM end as NAMA_PENGIRIM
, TANGGAL_DAFTAR
FROM dt_ms_tpb_in_header
where
exists (
select * from @tmp_hdr xfrilter where
dt_ms_tpb_in_header.ID_HEADER =xfrilter.ID_HEADER
)
OPEN cust_cursor
FETCH NEXT FROM cust_cursor INTO @cur_ID_HEADER
,@cur_ID_PENERIMA_BARANG
,@cur_NAMA_PENERIMA_BARANG
,@cur_TANGGAL_DAFTAR
WHILE @@FETCH_STATUS = 0
BEGIN
declare @result_date_business_id bigint,
@result_date_business date,
@result_date_business_id_from bigint,
@result_date_business_from date,
@is_move_date_business bit,
@business_date date=@cur_TANGGAL_DAFTAR
EXEC [dbo].[MG_MS_CHECK_BUSINESS_DATE_AND_AVG]
@business_date = @business_date,
@allow_move_ms_date_business = @allow_move_ms_date_business,
@result_date_business_id = @result_date_business_id OUTPUT,
@result_date_business = @result_date_business OUTPUT,
@result_date_business_id_from = @result_date_business_id_from OUTPUT,
@result_date_business_from = @result_date_business_from OUTPUT,
@is_move_date_business = @is_move_date_business OUTPUT,
@xStsno = @xStsno OUTPUT,
@xStsdes = @xStsdes OUTPUT
set @mapping_ms_supplier_customer_id=null
set @mapping_supplier_customer_code =null
if @mapping_ms_supplier_customer_id is null
begin
SELECT top 1 @mapping_ms_supplier_customer_id= ms_supplier_customer_id
, @mapping_supplier_customer_code= supplier_customer_code
FROM dt_ms_supplier_customer
WHERE (replace(replace(id_nomor,'-',''),'.','') = (replace(replace(@cur_ID_PENERIMA_BARANG,'-',''),'.','')))
end
if @mapping_ms_supplier_customer_id is null
begin
SELECT top 1 @mapping_ms_supplier_customer_id= ms_supplier_customer_id
, @mapping_supplier_customer_code= supplier_customer_code
FROM dt_ms_supplier_customer
WHERE ( ltrim(ltrim(supplier_customer_name))= ltrim(ltrim(@cur_NAMA_PENERIMA_BARANG)))
end
if @mapping_ms_supplier_customer_id is null
begin
SELECT top 1 @mapping_ms_supplier_customer_id= ms_supplier_customer_id
, @mapping_supplier_customer_code= supplier_customer_code
FROM dt_ms_supplier_customer
WHERE replace(supplier_customer_name,' ','') = replace(@cur_NAMA_PENERIMA_BARANG,' ','')
end
update dt_ms_tpb_in_header
set mapping_supplier_id =@mapping_ms_supplier_customer_id
,mapping_supplier_by =@data_by
,mapping_supplier_date =@NOW
, ms_date_business_id=@result_date_business_id
, is_move_business_date=@is_move_date_business
, ms_date_business_id_from =@result_date_business_id_from
where ID_HEADER=@cur_ID_HEADER
FETCH NEXT FROM cust_cursor INTO @cur_ID_HEADER
,@cur_ID_PENERIMA_BARANG
,@cur_NAMA_PENERIMA_BARANG
,@cur_TANGGAL_DAFTAR
END
CLOSE cust_cursor
DEALLOCATE cust_cursor
declare @xml_detail xml
/* KODE_BARANG=part_no TIPE = part custom di ubah menjadi KODE_BARANG = part custom TIPE jadi part_no */
set @rumus_sql_hdr=
' declare @tmp_detail tp_ms_tmp_ceisa_barang insert into dt_ms_tpb_in_barang( ID_ORI, ASURANSI, CIF, CIF_RUPIAH, DISKON, FLAG_KENDARAAN, FOB, FREIGHT, HARGA_BARANG_LDP, HARGA_INVOICE, HARGA_PENYERAHAN, HARGA_SATUAN, JENIS_KENDARAAN, JUMLAH_BAHAN_BAKU, JUMLAH_KEMASAN, JUMLAH_SATUAN, KAPASITAS_SILINDER, KATEGORI_BARANG, KODE_ASAL_BARANG, TIPE, KODE_FASILITAS_DOKUMEN, KODE_GUNA, KODE_JENIS_NILAI, KODE_KEMASAN, KODE_LEBIH_DARI4TAHUN, KODE_NEGARA_ASAL, KODE_SATUAN, KODE_SKEMA_TARIF, KODE_STATUS, KONDISI_BARANG, MERK, NETTO, NILAI_INCOTERM, NILAI_PABEAN, NOMOR_MESIN, NOMOR_RANGKA, POS_TARIF, SERI_BARANG, SERI_IJIN, SERI_POS_TARIF, SPESIFIKASI_LAIN, TAHUN_PEMBUATAN, KODE_BARANG , UKURAN, URAIAN, VOLUME, ID_HEADER_ORI ,mode_source ,create_by ,create_date ,modify_by ,modify_date ,is_get,qty_pakai ,seri_barang_sub ,ID_HEADER ,mode_edit_id ) output inserted.ID, inserted.ID_ORI , inserted.ID_HEADER , inserted.ID_HEADER_ORI,inserted.SERI_BARANG into @tmp_detail SELECT data_ms_ceisa_barang.ID, data_ms_ceisa_barang.ASURANSI, data_ms_ceisa_barang.CIF, data_ms_ceisa_barang.CIF_RUPIAH, data_ms_ceisa_barang.DISKON, data_ms_ceisa_barang.FLAG_KENDARAAN, data_ms_ceisa_barang.FOB, data_ms_ceisa_barang.FREIGHT, data_ms_ceisa_barang.HARGA_BARANG_LDP, data_ms_ceisa_barang.HARGA_INVOICE, data_ms_ceisa_barang.HARGA_PENYERAHAN, data_ms_ceisa_barang.HARGA_SATUAN, data_ms_ceisa_barang.JENIS_KENDARAAN, data_ms_ceisa_barang.JUMLAH_BAHAN_BAKU, data_ms_ceisa_barang.JUMLAH_KEMASAN, data_ms_ceisa_barang.JUMLAH_SATUAN, data_ms_ceisa_barang.KAPASITAS_SILINDER, data_ms_ceisa_barang.KATEGORI_BARANG, data_ms_ceisa_barang.KODE_ASAL_BARANG, data_ms_ceisa_barang.KODE_BARANG, data_ms_ceisa_barang.KODE_FASILITAS_DOKUMEN, data_ms_ceisa_barang.KODE_GUNA, data_ms_ceisa_barang.KODE_JENIS_NILAI, data_ms_ceisa_barang.KODE_KEMASAN, data_ms_ceisa_barang.KODE_LEBIH_DARI4TAHUN, data_ms_ceisa_barang.KODE_NEGARA_ASAL, data_ms_ceisa_barang.KODE_SATUAN, data_ms_ceisa_barang.KODE_SKEMA_TARIF, data_ms_ceisa_barang.KODE_STATUS, data_ms_ceisa_barang.KONDISI_BARANG, data_ms_ceisa_barang.MERK, data_ms_ceisa_barang.NETTO, data_ms_ceisa_barang.NILAI_INCOTERM, data_ms_ceisa_barang.NILAI_PABEAN, data_ms_ceisa_barang.NOMOR_MESIN, data_ms_ceisa_barang.NOMOR_RANGKA, data_ms_ceisa_barang.POS_TARIF, data_ms_ceisa_barang.SERI_BARANG, data_ms_ceisa_barang.SERI_IJIN, data_ms_ceisa_barang.SERI_POS_TARIF, data_ms_ceisa_barang.SPESIFIKASI_LAIN, data_ms_ceisa_barang.TAHUN_PEMBUATAN, data_ms_ceisa_barang.TIPE, data_ms_ceisa_barang.UKURAN, data_ms_ceisa_barang.URAIAN, data_ms_ceisa_barang.VOLUME, data_ms_ceisa_barang.ID_HEADER, 1 AS Expr1, @data_by AS Expr2, @NOW AS Expr3, @data_by AS Expr4, @NOW AS Expr5, 1 AS Expr6, data_ms_ceisa_barang.JUMLAH_SATUAN AS Expr7, 0 AS Expr8,TMP_HDR.ID_HEADER ,1 FROM OPENQUERY(TPBDB, ''SELECT * FROM tpbdb.tpb_barang where ID_HEADER in ( ' + @rumus_header +
' )'') as data_ms_ceisa_barang INNER JOIN @tmp_hdr AS TMP_HDR ON data_ms_ceisa_barang.ID_HEADER = TMP_HDR.ID_HEADER_ORI; set @xml_detail=(select * from @tmp_detail for xml path(''row''),root(''data'')) '
set @ParmDefinition = N'@data_by int, @NOW datetime ,@bc_prefix varchar(255), @tmp_hdr tp_ms_tmp_ceisa_header readonly, @xml_detail xml OUTPUT';
EXECUTE sp_executesql @rumus_sql_hdr, @ParmDefinition,
@data_by =@data_by ,
@NOW =@NOW ,
@bc_prefix =@bc_prefix ,
@tmp_hdr =@tmp_hdr,
@xml_detail = @xml_detail OUTPUT
declare @tmp_detail tp_ms_tmp_ceisa_barang
insert into @tmp_detail
SELECT
isnull(tempTable.item.value('ID_BARANG[1]', 'bigint'),'') as ID_BARANG
,isnull(tempTable.item.value('ID_BARANG_ORI[1]', 'bigint'),'') as ID_BARANG_ORI
,isnull(tempTable.item.value('ID_HEADER[1]', 'bigint'),'') as ID_HEADER
,isnull(tempTable.item.value('ID_HEADER_ORI[1]', 'bigint'),'') as ID_HEADER_ORI
,isnull(tempTable.item.value('SERI[1]', 'bigint'),'') as SERI
FROM @xml_detail.nodes('data/row') tempTable(item)
update dt_ms_tpb_in_barang
set mapping_ms_item_id =isnull((select top (1) ms_item_id from dt_ms_item where part_no =dt_ms_tpb_in_barang.KODE_BARANG ),(select top (1) ms_item_id from dt_ms_item where part_no =dt_ms_tpb_in_barang.TIPE ))
,mapping_by = @data_by
,mapping_date =@NOW
where exists (
select * from @tmp_detail as xsource
where dt_ms_tpb_in_barang.ID =xsource.ID_BARANG
)
set @rumus_sql_hdr=
' insert into dt_ms_tpb_in_barang_tarif( ID_ORI, FLAG_BMT_SEMENTARA, JENIS_TARIF, JUMLAH_SATUAN, KODE_FASILITAS, KODE_KOMODITI_CUKAI, KODE_SATUAN, KODE_SUB_KOMODITI_CUKAI, KODE_TARIF, NILAI_BAYAR, NILAI_FASILITAS, NILAI_SUDAH_DILUNASI, SERI_BARANG, TARIF, TARIF_FASILITAS, ID_BARANG_ORI, ID_HEADER_ORI ,create_by ,create_date ,modify_by ,modify_date ,is_get,ID_BARANG ,ID_HEADER ) SELECT data_ms_ceisa_barang_tarif.ID, data_ms_ceisa_barang_tarif.FLAG_BMT_SEMENTARA, data_ms_ceisa_barang_tarif.JENIS_TARIF, data_ms_ceisa_barang_tarif.JUMLAH_SATUAN, data_ms_ceisa_barang_tarif.KODE_FASILITAS, data_ms_ceisa_barang_tarif.KODE_KOMODITI_CUKAI, data_ms_ceisa_barang_tarif.KODE_SATUAN, data_ms_ceisa_barang_tarif.KODE_SUB_KOMODITI_CUKAI, data_ms_ceisa_barang_tarif.KODE_TARIF, data_ms_ceisa_barang_tarif.NILAI_BAYAR, data_ms_ceisa_barang_tarif.NILAI_FASILITAS, data_ms_ceisa_barang_tarif.NILAI_SUDAH_DILUNASI, data_ms_ceisa_barang_tarif.SERI_BARANG, data_ms_ceisa_barang_tarif.TARIF, data_ms_ceisa_barang_tarif.TARIF_FASILITAS, data_ms_ceisa_barang_tarif.ID_BARANG, data_ms_ceisa_barang_tarif.ID_HEADER, @data_by AS Expr1, @NOW AS Expr2, @data_by AS Expr3, @NOW AS Expr4, 1 AS Expr5, TMP_BARANG.ID_BARANG AS Expr6, TMP_BARANG.ID_HEADER AS Expr7 FROM OPENQUERY(TPBDB, ''SELECT * FROM tpbdb.tpb_barang_tarif where ID_HEADER in ( ' + @rumus_header +
' )'') as data_ms_ceisa_barang_tarif INNER JOIN @tmp_detail AS TMP_BARANG ON data_ms_ceisa_barang_tarif.ID_BARANG = TMP_BARANG.ID_BARANG_ORI AND data_ms_ceisa_barang_tarif.ID_HEADER = TMP_BARANG.ID_HEADER_ORI AND data_ms_ceisa_barang_tarif.SERI_BARANG = TMP_BARANG.SERI where exists( select * from @tmp_detail as xfilter where data_ms_ceisa_barang_tarif.ID_HEADER=xfilter.ID_HEADER_ORI AND data_ms_ceisa_barang_tarif.ID_BARANG=xfilter.ID_BARANG_ORI AND data_ms_ceisa_barang_tarif.SERI_BARANG=xfilter.SERI ) '
set @ParmDefinition = N'@data_by int, @NOW datetime ,@bc_prefix varchar(255), @tmp_detail tp_ms_tmp_ceisa_barang readonly';
EXECUTE sp_executesql @rumus_sql_hdr, @ParmDefinition,
@data_by =@data_by ,
@NOW =@NOW ,
@bc_prefix =@bc_prefix ,
@tmp_detail =@tmp_detail
set @rumus_sql_hdr=
' insert into dt_ms_tpb_in_dokumen( ID_ORI , FLAG_URL_DOKUMEN, KODE_JENIS_DOKUMEN, NOMOR_DOKUMEN, SERI_DOKUMEN, TANGGAL_DOKUMEN, TIPE_DOKUMEN, URL_DOKUMEN, ID_HEADER_ORI ,create_by ,create_date ,modify_by ,modify_date ,is_get,mode_edit_id,ID_HEADER ) SELECT data_ms_ceisa_dokumen.ID, data_ms_ceisa_dokumen.FLAG_URL_DOKUMEN , data_ms_ceisa_dokumen.KODE_JENIS_DOKUMEN, data_ms_ceisa_dokumen.NOMOR_DOKUMEN , data_ms_ceisa_dokumen.SERI_DOKUMEN, data_ms_ceisa_dokumen.TANGGAL_DOKUMEN , data_ms_ceisa_dokumen.TIPE_DOKUMEN, data_ms_ceisa_dokumen.URL_DOKUMEN, data_ms_ceisa_dokumen.ID_HEADER, @data_by AS Expr1, @NOW AS Expr2, @data_by AS Expr3, @NOW AS Expr4,1,1,TMP_HDR.ID_HEADER FROM OPENQUERY(TPBDB, ''SELECT * FROM tpbdb.tpb_dokumen where ID_HEADER in ( ' + @rumus_header +
' )'') as data_ms_ceisa_dokumen INNER JOIN @tmp_hdr AS TMP_HDR ON data_ms_ceisa_dokumen.ID_HEADER = TMP_HDR.ID_HEADER_ORI where exists( select * from @tmp_hdr as xfilter where data_ms_ceisa_dokumen.ID_HEADER=xfilter.ID_HEADER_ORI ) '
set @ParmDefinition = N'@data_by int, @NOW datetime ,@bc_prefix varchar(255), @tmp_hdr tp_ms_tmp_ceisa_header readonly';
EXECUTE sp_executesql @rumus_sql_hdr, @ParmDefinition,
@data_by =@data_by ,
@NOW =@NOW ,
@bc_prefix =@bc_prefix ,
@tmp_hdr =@tmp_hdr
set @rumus_sql_hdr=
' insert into dt_ms_tpb_in_kontainer( ID_ORI , KESESUAIAN_DOKUMEN, KETERANGAN, KODE_STUFFING, KODE_TIPE_KONTAINER, KODE_UKURAN_KONTAINER, FLAG_GATE_IN, FLAG_GATE_OUT, NO_POLISI, NOMOR_KONTAINER, NOMOR_SEGEL, SERI_KONTAINER, WAKTU_GATE_IN, WAKTU_GATE_OUT , ID_HEADER_ORI ,create_by ,create_date ,modify_by ,modify_date ,is_get,mode_edit_id,ID_HEADER ) SELECT data_ms_ceisa_kontainer.ID, data_ms_ceisa_kontainer.KESESUAIAN_DOKUMEN, data_ms_ceisa_kontainer.KETERANGAN, data_ms_ceisa_kontainer.KODE_STUFFING, data_ms_ceisa_kontainer.KODE_TIPE_KONTAINER, data_ms_ceisa_kontainer.KODE_UKURAN_KONTAINER, data_ms_ceisa_kontainer.FLAG_GATE_IN, data_ms_ceisa_kontainer.FLAG_GATE_OUT, data_ms_ceisa_kontainer.NO_POLISI, data_ms_ceisa_kontainer.NOMOR_KONTAINER, data_ms_ceisa_kontainer.NOMOR_SEGEL, data_ms_ceisa_kontainer.SERI_KONTAINER, data_ms_ceisa_kontainer.WAKTU_GATE_IN, data_ms_ceisa_kontainer.WAKTU_GATE_OUT, data_ms_ceisa_kontainer.ID_HEADER, @data_by AS Expr1, @NOW AS Expr2, @data_by AS Expr3, @NOW AS Expr4, 1 AS Expr5, 1 AS Expr6, TMP_HDR.ID_HEADER AS Expr7 FROM OPENQUERY(TPBDB, ''SELECT * FROM tpbdb.tpb_kontainer where ID_HEADER in ( ' + @rumus_header +
' )'') as data_ms_ceisa_kontainer INNER JOIN @tmp_hdr AS TMP_HDR ON data_ms_ceisa_kontainer.ID_HEADER = TMP_HDR.ID_HEADER_ORI where exists( select * from @tmp_hdr as xfilter where data_ms_ceisa_kontainer.ID_HEADER=xfilter.ID_HEADER_ORI ) '
set @ParmDefinition = N'@data_by int, @NOW datetime ,@bc_prefix varchar(255), @tmp_hdr tp_ms_tmp_ceisa_header readonly';
EXECUTE sp_executesql @rumus_sql_hdr, @ParmDefinition,
@data_by =@data_by ,
@NOW =@NOW ,
@bc_prefix =@bc_prefix ,
@tmp_hdr =@tmp_hdr
COMMIT TRANSACTION;
f:
set nocount off
END TRY
BEGIN CATCH
IF (@@TRANCOUNT > 0) ROLLBACK TRAN;
set @xStsno='88'
set @xStsdes= ERROR_MESSAGE()
END CATCH
g:
set @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
select CAST( (select @XmlSts,isnull(@raw ,'') for xml path ('result')
) as XML) as dt
GO
GO
create procedure dbo.MG_MS_BC_IN_IMPORT_FROM_CEISA
@PARAMETER xml=''
---XencX---with encryption
as
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
declare @pemisah varchar(255)
declare @pemisah_replace varchar(255)
set @pemisah_replace='<br />'
--set @pemisah=CHAR(13) + CHAR(10) + '
'
set @pemisah = '
'
declare @resultX varchar(max)
declare @resultX2 varchar(max)
declare @XmlSts xml
declare @raw xml
declare @xStsnoheader varchar(2),
@xStsno varchar(2),
@xStsdes varchar(max)
set @xStsnoheader='07'
set @xStsno='00';
set @xStsdes='sukses'
BEGIN TRY
SET NOCOUNT ON
DECLARE @NOW datetime
set @NOW =GETDATE()
DECLARE
@data_by varchar(50)
,@bc_prefix varchar(255)
,@replace_if_exists bit
,@allow_move_ms_date_business bit
SELECT
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@bc_prefix=left(ltrim(rtrim(isnull(tempTable.item.value('bc_prefix[1]', 'varchar(305)'),''))),255)
,@replace_if_exists=isnull(tempTable.item.value('replace_if_exists[1]', 'bit'),0)
,@allow_move_ms_date_business=isnull(tempTable.item.value('allow_move_ms_date_business[1]', 'bit'),0)
FROM @PARAMETER.nodes('param/field') tempTable(item)
if not (@bc_prefix='23' or
@bc_prefix='262' or
@bc_prefix='40'
)
begin
set @xStsno='02';
set @xStsdes='Gagal, Type BC ' + @bc_prefix + 'tidak terdaftar ' ;
goto f
end
declare @tmp_id table(id bigint primary key)
insert into @tmp_id
SELECT
isnull(tempTable.item.value('id[1]', 'bigint'),-1)
FROM @PARAMETER.nodes('param/field/lst') tempTable(item)
if @replace_if_exists=0
begin
SET @resultX= (
SELECT
'AJU: '+ NOMOR_AJU +
+'NO: ' + NOMOR_DAFTAR +
+'DATE: ' + dbo.date_to_str(TANGGAL_DAFTAR)+
+'STATUS: ' + status_tpb_in_name+
+ @pemisah
AS [text()]
FROM
vw_ms_header_bc_in
WHERE (not( status_tpb_in_id = -1 )) AND exists (
select * from @tmp_id xfilter
where vw_ms_header_bc_in.ID_HEADER_ORI=xfilter.id
)
order by TANGGAL_DAFTAR,NOMOR_DAFTAR
For XML PATH (''))
SET @resultX= REPLACE(@resultX,@pemisah_replace,@pemisah);
IF @resultX is not null
BEGIN
SET @xStsno='17';
SET @xStsdes='Gagal , Ada dokumen yang terdaftar :' + @pemisah+ @pemisah+ @resultX + @pemisah+ @pemisah+ ' , Cancel terlebih dahulu ' ;
GOto f
end
end
else
begin
SET @resultX= (
SELECT
'AJU: '+ NOMOR_AJU +
+'NO: ' + NOMOR_DAFTAR +
+'DATE: ' + dbo.date_to_str(TANGGAL_DAFTAR)+
+'STATUS: ' + status_tpb_in_name+
+ @pemisah
AS [text()]
FROM
vw_ms_header_bc_in
WHERE ( status_tpb_in_id = 3 ) AND exists (
select * from @tmp_id xfilter
where vw_ms_header_bc_in.ID_HEADER_ORI=xfilter.id
)
order by TANGGAL_DAFTAR,NOMOR_DAFTAR
For XML PATH (''))
SET @resultX= REPLACE(@resultX,@pemisah_replace,@pemisah);
IF @resultX is not null
BEGIN
SET @xStsno='17';
SET @xStsdes='Gagal , dokumen dengan status finish tidak bisa di replace :' + @pemisah+ @pemisah+ @resultX + @pemisah+ @pemisah+ ' , Cancel terlebih dahulu ' ;
GOto f
end
end
BEGIN TRANSACTION;
declare @cur_ID_HEADER bigint
,@cur_ID_PENERIMA_BARANG varchar(255)
,@cur_NAMA_PENERIMA_BARANG varchar(255)
,@cur_NOMOR_IJIN_TPB_PENERIMA varchar(255)
declare @mapping_ms_supplier_customer_id bigint
declare @mapping_supplier_customer_code varchar(255)
declare @rumus_header varchar(max)= (
STUFF((
SELECT ', ' + cast( id as varchar(255))
FROM @tmp_id
for xml PATH(''), type
).value('.', 'varchar(max)'), 1, 1, '')
)
declare @xml_header xml
declare @rumus_sql_hdr nvarchar(max)
set @rumus_sql_hdr=
' declare @tmp_hdr tp_ms_tmp_ceisa_header INSERT INTO dt_ms_tpb_in_header (ID_HEADER_ORI,ALAMAT_PEMASOK, ALAMAT_PEMILIK, ALAMAT_PENERIMA_BARANG, ALAMAT_PENGIRIM, ALAMAT_PENGUSAHA, ALAMAT_PPJK, API_PEMILIK, API_PENERIMA, API_PENGUSAHA, ASAL_DATA, ASURANSI, BIAYA_TAMBAHAN, BRUTO, CIF, CIF_RUPIAH, DISKON, FLAG_PEMILIK, FLAG_URL_DOKUMEN_PABEAN, FOB, FREIGHT, HARGA_BARANG_LDP, HARGA_INVOICE, HARGA_PENYERAHAN, HARGA_TOTAL, ID_MODUL, ID_PEMASOK, ID_PEMILIK, ID_PENERIMA_BARANG, ID_PENGIRIM, ID_PENGUSAHA, ID_PPJK, JABATAN_TTD, JUMLAH_BARANG, JUMLAH_KEMASAN, JUMLAH_KONTAINER, KESESUAIAN_DOKUMEN, KETERANGAN, KODE_ASAL_BARANG, KODE_ASURANSI, KODE_BENDERA, KODE_CARA_ANGKUT, KODE_CARA_BAYAR, KODE_DAERAH_ASAL, KODE_DOKUMEN_PABEAN, KODE_FASILITAS, KODE_FTZ, KODE_HARGA, KODE_ID_PEMASOK, KODE_ID_PEMILIK, KODE_ID_PENERIMA_BARANG, KODE_ID_PENGIRIM, KODE_ID_PENGUSAHA, KODE_ID_PPJK, KODE_JENIS_API, KODE_JENIS_API_PEMILIK, KODE_JENIS_API_PENERIMA, KODE_JENIS_API_PENGUSAHA, KODE_JENIS_BARANG, KODE_JENIS_BC25, KODE_JENIS_NILAI, KODE_JENIS_PEMASUKAN01, KODE_JENIS_PEMASUKAN02, KODE_JENIS_TPB, KODE_KANTOR, KODE_KANTOR_BONGKAR, KODE_KANTOR_TUJUAN, KODE_LOKASI_BAYAR, KODE_NEGARA_PEMASOK, KODE_NEGARA_PEMILIK, KODE_NEGARA_PENGIRIM, KODE_NEGARA_TUJUAN, KODE_PEL_BONGKAR, KODE_PEL_MUAT, KODE_PEL_TRANSIT, KODE_PEMBAYAR, KODE_STATUS, KODE_STATUS_PENGUSAHA, KODE_STATUS_PERBAIKAN, KODE_TPS, KODE_TUJUAN_PEMASUKAN, KODE_TUJUAN_PENGIRIMAN, KODE_TUJUAN_TPB, KODE_TUTUP_PU, KODE_VALUTA, KOTA_TTD, LOKASI_ASAL, LOKASI_TUJUAN, NAMA_PEMASOK, NAMA_PEMILIK, NAMA_PENERIMA_BARANG, NAMA_PENGANGKUT, NAMA_PENGIRIM, NAMA_PENGUSAHA, NAMA_PPJK, NAMA_TTD, NDPBM, NETTO, NILAI_INCOTERM, NIPER_PENERIMA, NOMOR_AJU, NOMOR_API, NOMOR_BC11, NOMOR_BILLING, NOMOR_DAFTAR, NOMOR_IJIN_BPK_PEMASOK, NOMOR_IJIN_BPK_PENGUSAHA, NOMOR_IJIN_TPB, NOMOR_IJIN_TPB_PENERIMA, NOMOR_POLISI, NOMOR_VOY_FLIGHT, NPPPJK, NPWP_BILLING, POS_BC11, SERI, SUBPOS_BC11, SUBSUBPOS_BC11, TANGGAL_AJU, TANGGAL_BC11, TANGGAL_BERANGKAT, TANGGAL_BILLING, TANGGAL_DAFTAR, TANGGAL_IJIN_BPK_PEMASOK, TANGGAL_IJIN_BPK_PENGUSAHA, TANGGAL_IJIN_TPB, TANGGAL_NPPPJK, TANGGAL_TIBA, TANGGAL_TTD, TGL_JATUH_TEMPO_BILLING, TOTAL_BAYAR, TOTAL_BEBAS, TOTAL_DILUNASI, TOTAL_JAMIN, TOTAL_SUDAH_DILUNASI, TOTAL_TANGGUH, TOTAL_TANGGUNG, TOTAL_TIDAK_DIPUNGUT, URL_DOKUMEN_PABEAN, VERSI_MODUL, VOLUME, WAKTU_BONGKAR, WAKTU_STUFFING,is_get,create_by,create_date ,modify_by ,modify_date , mode_source ) output inserted.ID_HEADER ,inserted.ID_HEADER_ORI into @tmp_hdr SELECT ID, ALAMAT_PEMASOK, ALAMAT_PEMILIK, ALAMAT_PENERIMA_BARANG, ALAMAT_PENGIRIM, ALAMAT_PENGUSAHA, ALAMAT_PPJK, API_PEMILIK, API_PENERIMA, API_PENGUSAHA, ASAL_DATA, ASURANSI, BIAYA_TAMBAHAN, BRUTO, CIF, CIF_RUPIAH, DISKON, FLAG_PEMILIK, FLAG_URL_DOKUMEN_PABEAN, FOB, FREIGHT, HARGA_BARANG_LDP, HARGA_INVOICE, HARGA_PENYERAHAN, HARGA_TOTAL, ID_MODUL, ID_PEMASOK, ID_PEMILIK, ID_PENERIMA_BARANG, ID_PENGIRIM, ID_PENGUSAHA, ID_PPJK, JABATAN_TTD, JUMLAH_BARANG, JUMLAH_KEMASAN, JUMLAH_KONTAINER, KESESUAIAN_DOKUMEN, KETERANGAN, KODE_ASAL_BARANG, KODE_ASURANSI, KODE_BENDERA, KODE_CARA_ANGKUT, KODE_CARA_BAYAR, KODE_DAERAH_ASAL, KODE_DOKUMEN_PABEAN, KODE_FASILITAS, KODE_FTZ, KODE_HARGA, KODE_ID_PEMASOK, KODE_ID_PEMILIK, KODE_ID_PENERIMA_BARANG, KODE_ID_PENGIRIM, KODE_ID_PENGUSAHA, KODE_ID_PPJK, KODE_JENIS_API, KODE_JENIS_API_PEMILIK, KODE_JENIS_API_PENERIMA, KODE_JENIS_API_PENGUSAHA, KODE_JENIS_BARANG, KODE_JENIS_BC25, KODE_JENIS_NILAI, KODE_JENIS_PEMASUKAN01, KODE_JENIS_PEMASUKAN02, KODE_JENIS_TPB, KODE_KANTOR, KODE_KANTOR_BONGKAR, KODE_KANTOR_TUJUAN, KODE_LOKASI_BAYAR, KODE_NEGARA_PEMASOK, KODE_NEGARA_PEMILIK, KODE_NEGARA_PENGIRIM, KODE_NEGARA_TUJUAN, KODE_PEL_BONGKAR, KODE_PEL_MUAT, KODE_PEL_TRANSIT, KODE_PEMBAYAR, KODE_STATUS, KODE_STATUS_PENGUSAHA, KODE_STATUS_PERBAIKAN, KODE_TPS, KODE_TUJUAN_PEMASUKAN,case when @bc_prefix=''23'' then 2 else KODE_TUJUAN_PENGIRIMAN end , KODE_TUJUAN_TPB, KODE_TUTUP_PU, KODE_VALUTA, KOTA_TTD, LOKASI_ASAL, LOKASI_TUJUAN, NAMA_PEMASOK, NAMA_PEMILIK, NAMA_PENERIMA_BARANG, NAMA_PENGANGKUT, NAMA_PENGIRIM, NAMA_PENGUSAHA, NAMA_PPJK, NAMA_TTD, NDPBM, NETTO, NILAI_INCOTERM, NIPER_PENERIMA, NOMOR_AJU, NOMOR_API, NOMOR_BC11, NOMOR_BILLING, NOMOR_DAFTAR, NOMOR_IJIN_BPK_PEMASOK, NOMOR_IJIN_BPK_PENGUSAHA, NOMOR_IJIN_TPB, NOMOR_IJIN_TPB_PENERIMA, NOMOR_POLISI, NOMOR_VOY_FLIGHT, NPPPJK, NPWP_BILLING, POS_BC11, SERI, SUBPOS_BC11, SUBSUBPOS_BC11, TANGGAL_AJU, TANGGAL_BC11, TANGGAL_BERANGKAT, TANGGAL_BILLING, TANGGAL_DAFTAR, TANGGAL_IJIN_BPK_PEMASOK, TANGGAL_IJIN_BPK_PENGUSAHA, TANGGAL_IJIN_TPB, TANGGAL_NPPPJK, TANGGAL_TIBA, TANGGAL_TTD, TGL_JATUH_TEMPO_BILLING, TOTAL_BAYAR, TOTAL_BEBAS, TOTAL_DILUNASI, TOTAL_JAMIN, TOTAL_SUDAH_DILUNASI, TOTAL_TANGGUH, TOTAL_TANGGUNG, TOTAL_TIDAK_DIPUNGUT, URL_DOKUMEN_PABEAN, VERSI_MODUL, VOLUME, WAKTU_BONGKAR, WAKTU_STUFFING,1,@data_by,@NOW,@data_by,@NOW,1 FROM OPENQUERY(TPBDB, ''SELECT * FROM tpbdb.tpb_header where ID in ( ' + @rumus_header +
' )'') as data ; set @xml_header=(select * from @tmp_hdr for xml path(''row''),root(''data'')) '
declare @ParmDefinition nvarchar(max) = N'@data_by int, @NOW datetime ,@bc_prefix varchar(255), @xml_header xml OUTPUT';
EXECUTE sp_executesql @rumus_sql_hdr, @ParmDefinition,
@data_by =@data_by ,
@NOW =@NOW ,
@bc_prefix =@bc_prefix ,
@xml_header = @xml_header OUTPUT
declare @tmp_hdr tp_ms_tmp_ceisa_header
insert into @tmp_hdr
SELECT
isnull(tempTable.item.value('ID_HEADER[1]', 'bigint'),'')
,isnull(tempTable.item.value('ID_HEADER_ORI[1]', 'bigint'),'')
FROM @xml_header.nodes('data/row') tempTable(item)
declare @tmp_hdr_status table (
dt_ms_tpb_in_header_h_status_id bigint primary key
,ID_HEADER bigint)
INSERT INTO dt_ms_tpb_in_header_h_status
(ID_HEADER, status_tpb_in_id, status_info, create_date, create_by)
output inserted.dt_ms_tpb_in_header_h_status_id , inserted.ID_HEADER into @tmp_hdr_status
select ID_HEADER,2, '',@now,@data_by from @tmp_hdr
update dt_ms_tpb_in_header
set dt_ms_tpb_in_header_h_status_id=(select top (1) xdata.dt_ms_tpb_in_header_h_status_id from @tmp_hdr_status as xdata where xdata.ID_HEADER =dt_ms_tpb_in_header.ID_HEADER )
where exists(
select * from @tmp_hdr_status as xfilter where
dt_ms_tpb_in_header.ID_HEADER =xfilter.ID_HEADER
)
declare @cur_TANGGAL_DAFTAR date
DECLARE cust_cursor CURSOR FOR
select ID_HEADER
,case when KODE_DOKUMEN_PABEAN ='23' then ID_PEMASOK else ID_PENGIRIM end as ID_PENGIRIM
,case when KODE_DOKUMEN_PABEAN ='23' then NAMA_PEMASOK else NAMA_PENGIRIM end as NAMA_PENGIRIM
, TANGGAL_DAFTAR
FROM dt_ms_tpb_in_header
where
exists (
select * from @tmp_hdr xfrilter where
dt_ms_tpb_in_header.ID_HEADER =xfrilter.ID_HEADER
)
OPEN cust_cursor
FETCH NEXT FROM cust_cursor INTO @cur_ID_HEADER
,@cur_ID_PENERIMA_BARANG
,@cur_NAMA_PENERIMA_BARANG
,@cur_TANGGAL_DAFTAR
WHILE @@FETCH_STATUS = 0
BEGIN
declare @result_date_business_id bigint,
@result_date_business date,
@result_date_business_id_from bigint,
@result_date_business_from date,
@is_move_date_business bit,
@business_date date=@cur_TANGGAL_DAFTAR
EXEC [dbo].[MG_MS_CHECK_BUSINESS_DATE_AND_AVG]
@business_date = @business_date,
@allow_move_ms_date_business = @allow_move_ms_date_business,
@result_date_business_id = @result_date_business_id OUTPUT,
@result_date_business = @result_date_business OUTPUT,
@result_date_business_id_from = @result_date_business_id_from OUTPUT,
@result_date_business_from = @result_date_business_from OUTPUT,
@is_move_date_business = @is_move_date_business OUTPUT,
@xStsno = @xStsno OUTPUT,
@xStsdes = @xStsdes OUTPUT
set @mapping_ms_supplier_customer_id=null
set @mapping_supplier_customer_code =null
if @mapping_ms_supplier_customer_id is null
begin
SELECT top 1 @mapping_ms_supplier_customer_id= ms_supplier_customer_id
, @mapping_supplier_customer_code= supplier_customer_code
FROM dt_ms_supplier_customer
WHERE (replace(replace(id_nomor,'-',''),'.','') = (replace(replace(@cur_ID_PENERIMA_BARANG,'-',''),'.','')))
end
if @mapping_ms_supplier_customer_id is null
begin
SELECT top 1 @mapping_ms_supplier_customer_id= ms_supplier_customer_id
, @mapping_supplier_customer_code= supplier_customer_code
FROM dt_ms_supplier_customer
WHERE ( ltrim(ltrim(supplier_customer_name))= ltrim(ltrim(@cur_NAMA_PENERIMA_BARANG)))
end
if @mapping_ms_supplier_customer_id is null
begin
SELECT top 1 @mapping_ms_supplier_customer_id= ms_supplier_customer_id
, @mapping_supplier_customer_code= supplier_customer_code
FROM dt_ms_supplier_customer
WHERE replace(supplier_customer_name,' ','') = replace(@cur_NAMA_PENERIMA_BARANG,' ','')
end
update dt_ms_tpb_in_header
set mapping_supplier_id =@mapping_ms_supplier_customer_id
,mapping_supplier_by =@data_by
,mapping_supplier_date =@NOW
, ms_date_business_id=@result_date_business_id
, is_move_business_date=@is_move_date_business
, ms_date_business_id_from =@result_date_business_id_from
where ID_HEADER=@cur_ID_HEADER
FETCH NEXT FROM cust_cursor INTO @cur_ID_HEADER
,@cur_ID_PENERIMA_BARANG
,@cur_NAMA_PENERIMA_BARANG
,@cur_TANGGAL_DAFTAR
END
CLOSE cust_cursor
DEALLOCATE cust_cursor
declare @xml_detail xml
/* KODE_BARANG=part_no TIPE = part custom di ubah menjadi KODE_BARANG = part custom TIPE jadi part_no */
set @rumus_sql_hdr=
' declare @tmp_detail tp_ms_tmp_ceisa_barang insert into dt_ms_tpb_in_barang( ID_ORI, ASURANSI, CIF, CIF_RUPIAH, DISKON, FLAG_KENDARAAN, FOB, FREIGHT, HARGA_BARANG_LDP, HARGA_INVOICE, HARGA_PENYERAHAN, HARGA_SATUAN, JENIS_KENDARAAN, JUMLAH_BAHAN_BAKU, JUMLAH_KEMASAN, JUMLAH_SATUAN, KAPASITAS_SILINDER, KATEGORI_BARANG, KODE_ASAL_BARANG, TIPE, KODE_FASILITAS_DOKUMEN, KODE_GUNA, KODE_JENIS_NILAI, KODE_KEMASAN, KODE_LEBIH_DARI4TAHUN, KODE_NEGARA_ASAL, KODE_SATUAN, KODE_SKEMA_TARIF, KODE_STATUS, KONDISI_BARANG, MERK, NETTO, NILAI_INCOTERM, NILAI_PABEAN, NOMOR_MESIN, NOMOR_RANGKA, POS_TARIF, SERI_BARANG, SERI_IJIN, SERI_POS_TARIF, SPESIFIKASI_LAIN, TAHUN_PEMBUATAN, KODE_BARANG , UKURAN, URAIAN, VOLUME, ID_HEADER_ORI ,mode_source ,create_by ,create_date ,modify_by ,modify_date ,is_get,qty_pakai ,seri_barang_sub ,ID_HEADER ,mode_edit_id ) output inserted.ID, inserted.ID_ORI , inserted.ID_HEADER , inserted.ID_HEADER_ORI,inserted.SERI_BARANG into @tmp_detail SELECT data_ms_ceisa_barang.ID, data_ms_ceisa_barang.ASURANSI, data_ms_ceisa_barang.CIF, data_ms_ceisa_barang.CIF_RUPIAH, data_ms_ceisa_barang.DISKON, data_ms_ceisa_barang.FLAG_KENDARAAN, data_ms_ceisa_barang.FOB, data_ms_ceisa_barang.FREIGHT, data_ms_ceisa_barang.HARGA_BARANG_LDP, data_ms_ceisa_barang.HARGA_INVOICE, data_ms_ceisa_barang.HARGA_PENYERAHAN, data_ms_ceisa_barang.HARGA_SATUAN, data_ms_ceisa_barang.JENIS_KENDARAAN, data_ms_ceisa_barang.JUMLAH_BAHAN_BAKU, data_ms_ceisa_barang.JUMLAH_KEMASAN, data_ms_ceisa_barang.JUMLAH_SATUAN, data_ms_ceisa_barang.KAPASITAS_SILINDER, data_ms_ceisa_barang.KATEGORI_BARANG, data_ms_ceisa_barang.KODE_ASAL_BARANG, data_ms_ceisa_barang.KODE_BARANG, data_ms_ceisa_barang.KODE_FASILITAS_DOKUMEN, data_ms_ceisa_barang.KODE_GUNA, data_ms_ceisa_barang.KODE_JENIS_NILAI, data_ms_ceisa_barang.KODE_KEMASAN, data_ms_ceisa_barang.KODE_LEBIH_DARI4TAHUN, data_ms_ceisa_barang.KODE_NEGARA_ASAL, data_ms_ceisa_barang.KODE_SATUAN, data_ms_ceisa_barang.KODE_SKEMA_TARIF, data_ms_ceisa_barang.KODE_STATUS, data_ms_ceisa_barang.KONDISI_BARANG, data_ms_ceisa_barang.MERK, data_ms_ceisa_barang.NETTO, data_ms_ceisa_barang.NILAI_INCOTERM, data_ms_ceisa_barang.NILAI_PABEAN, data_ms_ceisa_barang.NOMOR_MESIN, data_ms_ceisa_barang.NOMOR_RANGKA, data_ms_ceisa_barang.POS_TARIF, data_ms_ceisa_barang.SERI_BARANG, data_ms_ceisa_barang.SERI_IJIN, data_ms_ceisa_barang.SERI_POS_TARIF, data_ms_ceisa_barang.SPESIFIKASI_LAIN, data_ms_ceisa_barang.TAHUN_PEMBUATAN, data_ms_ceisa_barang.TIPE, data_ms_ceisa_barang.UKURAN, data_ms_ceisa_barang.URAIAN, data_ms_ceisa_barang.VOLUME, data_ms_ceisa_barang.ID_HEADER, 1 AS Expr1, @data_by AS Expr2, @NOW AS Expr3, @data_by AS Expr4, @NOW AS Expr5, 1 AS Expr6, data_ms_ceisa_barang.JUMLAH_SATUAN AS Expr7, 0 AS Expr8,TMP_HDR.ID_HEADER ,1 FROM OPENQUERY(TPBDB, ''SELECT * FROM tpbdb.tpb_barang where ID_HEADER in ( ' + @rumus_header +
' )'') as data_ms_ceisa_barang INNER JOIN @tmp_hdr AS TMP_HDR ON data_ms_ceisa_barang.ID_HEADER = TMP_HDR.ID_HEADER_ORI; set @xml_detail=(select * from @tmp_detail for xml path(''row''),root(''data'')) '
set @ParmDefinition = N'@data_by int, @NOW datetime ,@bc_prefix varchar(255), @tmp_hdr tp_ms_tmp_ceisa_header readonly, @xml_detail xml OUTPUT';
EXECUTE sp_executesql @rumus_sql_hdr, @ParmDefinition,
@data_by =@data_by ,
@NOW =@NOW ,
@bc_prefix =@bc_prefix ,
@tmp_hdr =@tmp_hdr,
@xml_detail = @xml_detail OUTPUT
declare @tmp_detail tp_ms_tmp_ceisa_barang
insert into @tmp_detail
SELECT
isnull(tempTable.item.value('ID_BARANG[1]', 'bigint'),'') as ID_BARANG
,isnull(tempTable.item.value('ID_BARANG_ORI[1]', 'bigint'),'') as ID_BARANG_ORI
,isnull(tempTable.item.value('ID_HEADER[1]', 'bigint'),'') as ID_HEADER
,isnull(tempTable.item.value('ID_HEADER_ORI[1]', 'bigint'),'') as ID_HEADER_ORI
,isnull(tempTable.item.value('SERI[1]', 'bigint'),'') as SERI
FROM @xml_detail.nodes('data/row') tempTable(item)
update dt_ms_tpb_in_barang
set mapping_ms_item_id =isnull((select top (1) ms_item_id from dt_ms_item where part_no =dt_ms_tpb_in_barang.KODE_BARANG ),(select top (1) ms_item_id from dt_ms_item where part_no =dt_ms_tpb_in_barang.TIPE ))
,mapping_by = @data_by
,mapping_date =@NOW
where exists (
select * from @tmp_detail as xsource
where dt_ms_tpb_in_barang.ID =xsource.ID_BARANG
)
set @rumus_sql_hdr=
' insert into dt_ms_tpb_in_barang_tarif( ID_ORI, FLAG_BMT_SEMENTARA, JENIS_TARIF, JUMLAH_SATUAN, KODE_FASILITAS, KODE_KOMODITI_CUKAI, KODE_SATUAN, KODE_SUB_KOMODITI_CUKAI, KODE_TARIF, NILAI_BAYAR, NILAI_FASILITAS, NILAI_SUDAH_DILUNASI, SERI_BARANG, TARIF, TARIF_FASILITAS, ID_BARANG_ORI, ID_HEADER_ORI ,create_by ,create_date ,modify_by ,modify_date ,is_get,ID_BARANG ,ID_HEADER ) SELECT data_ms_ceisa_barang_tarif.ID, data_ms_ceisa_barang_tarif.FLAG_BMT_SEMENTARA, data_ms_ceisa_barang_tarif.JENIS_TARIF, data_ms_ceisa_barang_tarif.JUMLAH_SATUAN, data_ms_ceisa_barang_tarif.KODE_FASILITAS, data_ms_ceisa_barang_tarif.KODE_KOMODITI_CUKAI, data_ms_ceisa_barang_tarif.KODE_SATUAN, data_ms_ceisa_barang_tarif.KODE_SUB_KOMODITI_CUKAI, data_ms_ceisa_barang_tarif.KODE_TARIF, data_ms_ceisa_barang_tarif.NILAI_BAYAR, data_ms_ceisa_barang_tarif.NILAI_FASILITAS, data_ms_ceisa_barang_tarif.NILAI_SUDAH_DILUNASI, data_ms_ceisa_barang_tarif.SERI_BARANG, data_ms_ceisa_barang_tarif.TARIF, data_ms_ceisa_barang_tarif.TARIF_FASILITAS, data_ms_ceisa_barang_tarif.ID_BARANG, data_ms_ceisa_barang_tarif.ID_HEADER, @data_by AS Expr1, @NOW AS Expr2, @data_by AS Expr3, @NOW AS Expr4, 1 AS Expr5, TMP_BARANG.ID_BARANG AS Expr6, TMP_BARANG.ID_HEADER AS Expr7 FROM OPENQUERY(TPBDB, ''SELECT * FROM tpbdb.tpb_barang_tarif where ID_HEADER in ( ' + @rumus_header +
' )'') as data_ms_ceisa_barang_tarif INNER JOIN @tmp_detail AS TMP_BARANG ON data_ms_ceisa_barang_tarif.ID_BARANG = TMP_BARANG.ID_BARANG_ORI AND data_ms_ceisa_barang_tarif.ID_HEADER = TMP_BARANG.ID_HEADER_ORI AND data_ms_ceisa_barang_tarif.SERI_BARANG = TMP_BARANG.SERI where exists( select * from @tmp_detail as xfilter where data_ms_ceisa_barang_tarif.ID_HEADER=xfilter.ID_HEADER_ORI AND data_ms_ceisa_barang_tarif.ID_BARANG=xfilter.ID_BARANG_ORI AND data_ms_ceisa_barang_tarif.SERI_BARANG=xfilter.SERI ) '
set @ParmDefinition = N'@data_by int, @NOW datetime ,@bc_prefix varchar(255), @tmp_detail tp_ms_tmp_ceisa_barang readonly';
EXECUTE sp_executesql @rumus_sql_hdr, @ParmDefinition,
@data_by =@data_by ,
@NOW =@NOW ,
@bc_prefix =@bc_prefix ,
@tmp_detail =@tmp_detail
set @rumus_sql_hdr=
' insert into dt_ms_tpb_in_dokumen( ID_ORI , FLAG_URL_DOKUMEN, KODE_JENIS_DOKUMEN, NOMOR_DOKUMEN, SERI_DOKUMEN, TANGGAL_DOKUMEN, TIPE_DOKUMEN, URL_DOKUMEN, ID_HEADER_ORI ,create_by ,create_date ,modify_by ,modify_date ,is_get,mode_edit_id,ID_HEADER ) SELECT data_ms_ceisa_dokumen.ID, data_ms_ceisa_dokumen.FLAG_URL_DOKUMEN , data_ms_ceisa_dokumen.KODE_JENIS_DOKUMEN, data_ms_ceisa_dokumen.NOMOR_DOKUMEN , data_ms_ceisa_dokumen.SERI_DOKUMEN, data_ms_ceisa_dokumen.TANGGAL_DOKUMEN , data_ms_ceisa_dokumen.TIPE_DOKUMEN, data_ms_ceisa_dokumen.URL_DOKUMEN, data_ms_ceisa_dokumen.ID_HEADER, @data_by AS Expr1, @NOW AS Expr2, @data_by AS Expr3, @NOW AS Expr4,1,1,TMP_HDR.ID_HEADER FROM OPENQUERY(TPBDB, ''SELECT * FROM tpbdb.tpb_dokumen where ID_HEADER in ( ' + @rumus_header +
' )'') as data_ms_ceisa_dokumen INNER JOIN @tmp_hdr AS TMP_HDR ON data_ms_ceisa_dokumen.ID_HEADER = TMP_HDR.ID_HEADER_ORI where exists( select * from @tmp_hdr as xfilter where data_ms_ceisa_dokumen.ID_HEADER=xfilter.ID_HEADER_ORI ) '
set @ParmDefinition = N'@data_by int, @NOW datetime ,@bc_prefix varchar(255), @tmp_hdr tp_ms_tmp_ceisa_header readonly';
EXECUTE sp_executesql @rumus_sql_hdr, @ParmDefinition,
@data_by =@data_by ,
@NOW =@NOW ,
@bc_prefix =@bc_prefix ,
@tmp_hdr =@tmp_hdr
set @rumus_sql_hdr=
' insert into dt_ms_tpb_in_kontainer( ID_ORI , KESESUAIAN_DOKUMEN, KETERANGAN, KODE_STUFFING, KODE_TIPE_KONTAINER, KODE_UKURAN_KONTAINER, FLAG_GATE_IN, FLAG_GATE_OUT, NO_POLISI, NOMOR_KONTAINER, NOMOR_SEGEL, SERI_KONTAINER, WAKTU_GATE_IN, WAKTU_GATE_OUT , ID_HEADER_ORI ,create_by ,create_date ,modify_by ,modify_date ,is_get,mode_edit_id,ID_HEADER ) SELECT data_ms_ceisa_kontainer.ID, data_ms_ceisa_kontainer.KESESUAIAN_DOKUMEN, data_ms_ceisa_kontainer.KETERANGAN, data_ms_ceisa_kontainer.KODE_STUFFING, data_ms_ceisa_kontainer.KODE_TIPE_KONTAINER, data_ms_ceisa_kontainer.KODE_UKURAN_KONTAINER, data_ms_ceisa_kontainer.FLAG_GATE_IN, data_ms_ceisa_kontainer.FLAG_GATE_OUT, data_ms_ceisa_kontainer.NO_POLISI, data_ms_ceisa_kontainer.NOMOR_KONTAINER, data_ms_ceisa_kontainer.NOMOR_SEGEL, data_ms_ceisa_kontainer.SERI_KONTAINER, data_ms_ceisa_kontainer.WAKTU_GATE_IN, data_ms_ceisa_kontainer.WAKTU_GATE_OUT, data_ms_ceisa_kontainer.ID_HEADER, @data_by AS Expr1, @NOW AS Expr2, @data_by AS Expr3, @NOW AS Expr4, 1 AS Expr5, 1 AS Expr6, TMP_HDR.ID_HEADER AS Expr7 FROM OPENQUERY(TPBDB, ''SELECT * FROM tpbdb.tpb_kontainer where ID_HEADER in ( ' + @rumus_header +
' )'') as data_ms_ceisa_kontainer INNER JOIN @tmp_hdr AS TMP_HDR ON data_ms_ceisa_kontainer.ID_HEADER = TMP_HDR.ID_HEADER_ORI where exists( select * from @tmp_hdr as xfilter where data_ms_ceisa_kontainer.ID_HEADER=xfilter.ID_HEADER_ORI ) '
set @ParmDefinition = N'@data_by int, @NOW datetime ,@bc_prefix varchar(255), @tmp_hdr tp_ms_tmp_ceisa_header readonly';
EXECUTE sp_executesql @rumus_sql_hdr, @ParmDefinition,
@data_by =@data_by ,
@NOW =@NOW ,
@bc_prefix =@bc_prefix ,
@tmp_hdr =@tmp_hdr
COMMIT TRANSACTION;
f:
set nocount off
END TRY
BEGIN CATCH
IF (@@TRANCOUNT > 0) ROLLBACK TRAN;
set @xStsno='88'
set @xStsdes= ERROR_MESSAGE()
END CATCH
g:
set @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
select CAST( (select @XmlSts,isnull(@raw ,'') for xml path ('result')
) as XML) as dt
GO
Depends On
8Used By
No items found