dbo.MG_MS_BC_OUT_EDIT

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_OUT_EDIT
@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)
,@ms_supplier_customer_id int
,@KODE_PEL_BONGKAR varchar(255)
,@KODE_KANTOR_BONGKAR varchar(255)
,@BRUTO decimal(38,4)
,@DISKON decimal(38,4)
,@NDPBM decimal(38,4) 
,@BIAYA_TAMBAHAN decimal(38,2)
,@KODE_ASURANSI varchar(255)
,@ASURANSI decimal(38,2)
,@KODE_HARGA varchar(255)
,@KODE_VALUTA varchar(255)
,@NOMOR_AJU varchar(255)
,@NOMOR_DAFTAR varchar(255)
,@TANGGAL_DAFTAR date
,@TANGGAL_TTD date
,@KOTA_TTD varchar(255)
,@WAKTU_BONGKAR datetime2(7)
,@FREIGHT decimal(38,2)
,@KODE_DOKUMEN_PABEAN varchar(255)
,@KODE_TUJUAN varchar(255)
,@PJT bit 
,@ID_HEADER bigint

SELECT 
 @data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
, @ID_HEADER=isnull(tempTable.item.value('ID_HEADER[1]', 'bigint'),-1)
,@ms_supplier_customer_id=isnull(tempTable.item.value('ms_supplier_customer_id[1]', 'int'),-1)
,@KODE_PEL_BONGKAR=left(ltrim(rtrim(isnull(tempTable.item.value('KODE_PEL_BONGKAR[1]', 'varchar(305)'),''))),255)
,@KODE_KANTOR_BONGKAR=left(ltrim(rtrim(isnull(tempTable.item.value('KODE_KANTOR_BONGKAR[1]', 'varchar(305)'),''))),255)
,@BRUTO=dbo.StrToDec4(isnull( tempTable.item.value('BRUTO[1]', 'varchar(255)'),'0'))
,@DISKON=dbo.StrToDec4(isnull( tempTable.item.value('DISKON[1]', 'varchar(255)'),'0'))
,@BIAYA_TAMBAHAN=dbo.StrToDec2(isnull( tempTable.item.value('BIAYA_TAMBAHAN[1]', 'varchar(255)'),'0'))
,@KODE_ASURANSI=left(ltrim(rtrim(isnull(tempTable.item.value('KODE_ASURANSI[1]', 'varchar(305)'),''))),255)
,@ASURANSI=dbo.StrToDec2(isnull( tempTable.item.value('ASURANSI[1]', 'varchar(255)'),'0'))
,@KODE_HARGA=left(ltrim(rtrim(isnull(tempTable.item.value('KODE_HARGA[1]', 'varchar(305)'),''))),255)
,@KODE_VALUTA=left(ltrim(rtrim(isnull(tempTable.item.value('KODE_VALUTA[1]', 'varchar(305)'),''))),255)
,@NDPBM=dbo.StrToDec4(isnull( tempTable.item.value('NDPBM[1]', 'varchar(255)'),'0'))
,@NOMOR_AJU=left(ltrim(rtrim(isnull(tempTable.item.value('NOMOR_AJU[1]', 'varchar(305)'),''))),255)
,@NOMOR_DAFTAR=left(ltrim(rtrim(isnull(tempTable.item.value('NOMOR_DAFTAR[1]', 'varchar(305)'),''))),255)
,@TANGGAL_DAFTAR=dbo.str_to_date(isnull(tempTable.item.value('TANGGAL_DAFTAR[1]', 'varchar(255)'),''))
,@TANGGAL_TTD=dbo.str_to_date(isnull(tempTable.item.value('TANGGAL_TTD[1]', 'varchar(255)'),''))
,@KOTA_TTD=left(ltrim(rtrim(isnull(tempTable.item.value('KOTA_TTD[1]', 'varchar(305)'),''))),255)
,@WAKTU_BONGKAR=dbo.str_to_date(isnull(tempTable.item.value('WAKTU_BONGKAR[1]', 'varchar(255)'),''))
,@FREIGHT=dbo.StrToDec2(isnull( tempTable.item.value('FREIGHT[1]', 'varchar(255)'),'0'))
,@KODE_DOKUMEN_PABEAN=left(ltrim(rtrim(isnull(tempTable.item.value('KODE_DOKUMEN_PABEAN[1]', 'varchar(305)'),''))),255)
,@KODE_TUJUAN=left(ltrim(rtrim(isnull(tempTable.item.value('KODE_TUJUAN[1]', 'varchar(305)'),''))),255)
,@PJT=isnull(tempTable.item.value('PJT[1]', 'bit'),0)
FROM @PARAMETER.nodes('param/field')  tempTable(item)

exec  MG_CHECK_USER @data_by, 0, @xStsno output,@xStsdes output; 
if @xStsno <>'00' 
goto f ;


declare 
 @check_ID_HEADER bigint
,@check_status_tpb_out_name varchar(255)
,@check_is_get bit
,@check_status_tpb_out_id int 
,@check_mode_source varchar(255)
,@check_ID_HEADER_ORI  bigint
,@check_KODE_STATUS varchar(255)

SELECT  top(1)      
  @check_ID_HEADER=ID_HEADER
, @check_status_tpb_out_name=status_tpb_out_name
, @check_is_get=is_get
, @check_status_tpb_out_id=status_tpb_out_id
, @check_mode_source=mode_source_ID
, @check_ID_HEADER_ORI=ID_HEADER_ORI
, @check_KODE_STATUS=KODE_STATUS
FROM            vw_ms_header_bc_out
WHERE        (ID_HEADER = @ID_HEADER) 

if @check_ID_HEADER is null
begin
 set @xStsno='02';
 set @xStsdes='Gagal, Pilih Dokumen yang akan di edit' ;
goto f
end
 

if @check_status_tpb_out_id=-1  
begin
 set @xStsno='02';
 set @xStsdes='Gagal, Dokumen dengan status ' + @check_status_tpb_out_name + ' tidak bisa di EDIT';
goto f
end

if @check_status_tpb_out_id=3 
begin
 set @xStsno='02';
 set @xStsdes='Gagal, Dokumen dengan status ' + @check_status_tpb_out_name + ' tidak bisa di EDIT';
goto f
end
if not(@KODE_DOKUMEN_PABEAN='PEMUSNAHAN')
begin

 
 if @ms_supplier_customer_id =-1
 begin
  set @xStsno='02';
  set @xStsdes='Gagal, Kode Pengirim Tidak boleh kosong' ;
 goto f
 end

 declare
   @check_ms_supplier_customer_id int
 , @check_id_type int 
 , @check_id_nomor varchar(255)
 , @check_supplier_customer_code  varchar(255)
 , @check_supplier_customer_name  varchar(255)
 , @check_supplier_customer_address  varchar(255)
 , @check_supplier_customer_country  varchar(255)
 , @check_api_type_id int 
 , @check_api_no  varchar(255)
 , @check_skep_no  varchar(255)
 , @check_skep_date date

 SELECT   top(1)      
   @check_ms_supplier_customer_id=ms_supplier_customer_id
 , @check_id_type=id_type
 , @check_id_nomor=id_nomor
 , @check_supplier_customer_code=supplier_customer_code
 , @check_supplier_customer_name=supplier_customer_name
 , @check_supplier_customer_address=supplier_customer_address
 , @check_supplier_customer_country=supplier_customer_country
 , @check_api_type_id=api_type_id
 , @check_api_no=api_no
 , @check_skep_no=skep_no
 , @check_skep_date=skep_date
 FROM            dt_ms_supplier_customer
 WHERE        (ms_supplier_customer_id = @ms_supplier_customer_id)
 

 if @check_ms_supplier_customer_id is null
 begin
  set @xStsno='02';
  set @xStsdes='Gagal,Kode Pengirim tidak terdaftar' ;
 goto f
 end
end
if @KODE_HARGA =''
begin
 set @xStsno='02';
 set @xStsdes='Gagal, Kode Harga Tidak boleh kosong' ;
goto f
end

if (
SELECT        COUNT(*) AS Expr1
FROM            enum_ms_type_price 
WHERE        (type_price_code = @KODE_HARGA)) =0
begin
 set @xStsno='02';
 set @xStsdes='Gagal,Kode Harga tidak terdaftar' ;
goto f
end


-- declare @bc_prefix varchar(25)
--declare @c_id_header bigint
--,@c_status_tpb_out_id int
--,@c_status_tpb_out_name varchar(255)
--,@c_NOMOR_AJU varchar(255)
--,@c_TANGGAL_DAFTAR date
--,@c_NOMOR_DAFTAR varchar(255)
--,@c_ID_HEADER_ORI bigint
-- declare @c_KODE_STATUS varchar(10)
--if @c_id_header =-1
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Header dokumen tidak di temukan(-1)' ;
-- goto f

--end
 
BEGIN TRANSACTION;    
UPDATE dt_ms_tpb_out_header 
set 
ALAMAT_PEMASOK=case when @KODE_DOKUMEN_PABEAN ='23' then @check_supplier_customer_address else null end--ALAMAT_PEMASOK
, ALAMAT_PENGIRIM= case when @KODE_DOKUMEN_PABEAN ='23' then null  else @check_supplier_customer_address end--ALAMAT_PENGIRIM
, ID_PEMASOK= case when @KODE_DOKUMEN_PABEAN ='23' then @check_id_nomor else null end--ID_PEMASOK
, ID_PENGIRIM= case when @KODE_DOKUMEN_PABEAN ='23' then null  else @check_id_nomor end--ID_PENGIRIM
, KODE_ID_PEMASOK = case when @KODE_DOKUMEN_PABEAN ='23' then @check_id_type else null end--KODE_ID_PEMASOK
, KODE_ID_PENGIRIM= case when @KODE_DOKUMEN_PABEAN ='23' then null else @check_id_type end--KODE_ID_PENGIRIM
, NAMA_PEMASOK= case when @KODE_DOKUMEN_PABEAN ='23' then @check_supplier_customer_name else null end--NAMA_PEMASOK
, NAMA_PENGIRIM= case when @KODE_DOKUMEN_PABEAN ='23' then null else @check_supplier_customer_name end-- NAMA_PENGIRIM
, KODE_NEGARA_PEMASOK = case when @KODE_DOKUMEN_PABEAN ='23' then @check_supplier_customer_country else null end--KODE_NEGARA_PEMASOK
, KODE_NEGARA_PENGIRIM = case when @KODE_DOKUMEN_PABEAN ='23' then null else @check_supplier_customer_country end-- KODE_NEGARA_PENGIRIM
, KODE_PEL_BONGKAR =@KODE_PEL_BONGKAR 
, KODE_KANTOR_BONGKAR =@KODE_KANTOR_BONGKAR
, BRUTO =@BRUTO 
, DISKON=@DISKON
, BIAYA_TAMBAHAN =@BIAYA_TAMBAHAN 
, ASURANSI =@ASURANSI
, KODE_HARGA =@KODE_HARGA 
, KODE_VALUTA=@KODE_VALUTA 
, NDPBM =@NDPBM
, NOMOR_AJU =@NOMOR_AJU 
, NOMOR_DAFTAR =@NOMOR_DAFTAR
, TANGGAL_DAFTAR =@TANGGAL_DAFTAR
, TANGGAL_TTD =@TANGGAL_TTD
, KOTA_TTD =@KOTA_TTD 
, WAKTU_BONGKAR =@WAKTU_BONGKAR 
, FREIGHT =@FREIGHT  
, mapping_supplier_id  =@check_ms_supplier_customer_id 
, mapping_supplier_date = case when mapping_supplier_id  =@check_ms_supplier_customer_id  then mapping_supplier_date else @now end
, mapping_supplier_by = case when mapping_supplier_id  =@check_ms_supplier_customer_id  then mapping_supplier_by else @data_by  end
, PJT=@PJT
, KODE_ASURANSI=@KODE_ASURANSI
, KODE_TUJUAN_PEMASUKAN =case when @KODE_DOKUMEN_PABEAN ='262' then @KODE_TUJUAN else null end
, KODE_TUJUAN_PENGIRIMAN=case when @KODE_DOKUMEN_PABEAN ='262' then null else @KODE_TUJUAN end  
, modify_date=@now
, modify_by=@data_by
 where ID_HEADER =@ID_HEADER  

COMMIT TRANSACTION;
  declare @detail xml
  set @detail =(
 select
 ID_HEADER AS rID 
, status_tpb_out_id AS r1 
, status_tpb_out_name AS r2 
, mode_source_id AS r3 
, mode_source_name AS r4 
, is_get AS r5 
, KODE_DOKUMEN_PABEAN AS r6 
, NOMOR_AJU AS r7 
, PJT AS r8 
, dbo.date_to_str(TANGGAL_DAFTAR ) AS r9 
, NOMOR_DAFTAR AS r10 
, KODE_STATUS AS r11 
, URAIAN_STATUS AS r12 
, KODE_TUJUAN_IN_OUT AS r13 
, URAINAN_TUJUAN_IN_OUT AS r14 
, MODULE_ID_PENGIRIM AS r15 
, MODULE_NAMA_PENGIRIM AS r16 
, MODULE_KODE_ID_PENGIRIM AS r17 
, MODULE_ALAMAT_PENGIRIM AS r18 
, MODULE_KODE_NEGARA_PENGIRIM AS r19 
, MODULE_NAMA_NEGARA_PENGIRIM AS r20 
, id_type AS r21 
, mapping_supplier_id AS r21id  
, INTERNAL_ID_PENGIRIM AS r22 
, INTERNAL_KODE_PENGIRIM AS r23 
, INTERNAL_NAMA_PENGIRIM AS r24 
, INTERNAL_ALAMAT_PENGIRIM AS r25 
, INTERNAL_KODE_NEGARA_PENGIRIM AS r26 
, INTERNAL_NAMA_NEGARA_PENGIRIM AS r27 
, api_type_id AS r28 
, api_no AS r29 
, skep_no AS r30 
, dbo.date_to_str(skep_date ) AS r31 
, KODE_VALUTA AS r32 
, cast(NDPBM AS decimal(18,4)) AS r33 
, KODE_HARGA AS r34 
, cast(HARGA_TOTAL AS decimal(18,2)) AS r35 
, KODE_ASURANSI AS r36 
, cast(ASURANSI AS decimal(18,2)) AS r37 
, cast(BIAYA_TAMBAHAN AS decimal(18,2)) AS r38 
, cast(DISKON AS decimal(18,2)) AS r39 
, cast(FREIGHT AS decimal(18,2)) AS r40 
, cast(BRUTO AS decimal(18,2)) AS r41 
, cast(NETTO AS decimal(18,2)) AS r42 
, JUMLAH_BARANG AS r43 
, JUMLAH_KEMASAN AS r44 
, JUMLAH_KONTAINER AS r45 
, KODE_KANTOR_BONGKAR AS r46 
, KODE_KANTOR_BONGKAR_NAME AS r47 
, KODE_PEL_BONGKAR AS r48 
, KODE_PEL_BONGKAR_NAME AS r49 
, surat_jalan_no AS r50 
, dbo.date_to_str(surat_jalan_date ) AS r51 
, WAKTU_BONGKAR AS r52 
, WAKTU_STUFFING AS r53 
, status_info AS r54 
, dbo.date_to_str2(status_date ) AS r55 
, status_by AS r56 
, dbo.date_to_str2(create_date ) AS r57 
, create_by AS r58 
, dbo.date_to_str2(modify_date ) AS r59 
, modify_by AS r60 
, ID_HEADER_ORI AS r61 
from vw_ms_header_bc_out
where ID_HEADER=@ID_HEADER
for xml path ('detail')
)

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 ,'') ,isnull(@detail ,'')   for xml path ('result')
)  as XML)  as dt

--GO

--EXEC MG_MS_BC_OUT_EDIT
--'12json2::1ABA0127810007'
GO

Used By

No items found