NJC__Documentation::DB

dbo.MG_MS_BC_IN_IMPORT_FROM_CEISA

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

Used By

No items found