dbo.MG_MS_ITEM_DELETE

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_ITEM_DELETE
@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_item_id bigint

SELECT 
 @data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@ms_item_id=isnull(tempTable.item.value('ms_item_id[1]', 'bigint'),-1)
FROM @PARAMETER.nodes('param/field')  tempTable(item)

 
declare @old_ms_item_id bigint
       ,@old_ms_item_h_price_id bigint
       ,@old_sta_qty decimal(38,5)
       ,@old_sta_price_usd  decimal(38,5)

SELECT        TOP (1) 
  @old_ms_item_id=ms_item_id
, @old_sta_qty=sta_qty
, @old_sta_price_usd=sta_price_usd
,@old_ms_item_h_price_id=ms_item_h_price_id
FROM            vw_ms_item
WHERE        (ms_item_id = @ms_item_id)

if @old_ms_item_id is null
begin
 set @xStsno='02';
 set @xStsdes='Gagal, Item tidak di temukan' ;
goto f
end  


--- APAKAH TERKAIT DI DATA MOTLS

declare @result_use_molts varchar(max)=isnull(( 
SELECT        
'Inv. No :' +  vw_ms_molts_invoce.invoice_no + 
' ,Inv. Date :' +  dbo.date_to_str(vw_ms_molts_invoce.invoice_date) + 
' ,File :' +  dt_ms_file.file_name 
AS [text()] 
FROM            vw_ms_molts_invoce_item_list INNER JOIN
                         vw_ms_molts_invoce ON vw_ms_molts_invoce_item_list.ms_molts_invoice_id = vw_ms_molts_invoce.ms_molts_invoice_id INNER JOIN
                         dt_ms_file ON vw_ms_molts_invoce.ms_file_id = dt_ms_file.ms_file_id
WHERE        (vw_ms_molts_invoce_item_list.mapping_ms_item_id = @ms_item_id)
GROUP BY vw_ms_molts_invoce.invoice_no, vw_ms_molts_invoce.invoice_date, dt_ms_file.file_name 
For XML PATH (''))  ,'') 

set @resultX=@resultX + case when @result_use_molts='' then '' else 'MOLTS :'  + @pemisah + @result_use_molts end 
--- APAKAH TERKAIT DI DATA MANUAL INVOICE

declare @result_use_manual_invoice_kurir varchar(max)=isnull(( 
SELECT        
'Inv. No :' +  vw_ms_manual_invoce.invoice_no + 
' ,Inv. Date :' +  dbo.date_to_str(vw_ms_manual_invoce.invoice_date) + 
' ,File :' +  dt_ms_file.file_name 
AS [text()] 

FROM            vw_ms_manual_invoice_invoce_item_list INNER JOIN
                         vw_ms_manual_invoce ON vw_ms_manual_invoice_invoce_item_list.ms_manual_invoice_id = vw_ms_manual_invoce.ms_manual_invoice_id INNER JOIN
                         dt_ms_file ON vw_ms_manual_invoce.ms_file_id = dt_ms_file.ms_file_id
WHERE        
(vw_ms_manual_invoce.ms_manual_invoice_type_id = 1)
 AND (vw_ms_manual_invoice_invoce_item_list.mapping_ms_item_id = @ms_item_id) 
For XML PATH (''))  ,'')
set @resultX=@resultX + case when @result_use_manual_invoice_kurir='' then '' else 'KURIR :'  + @pemisah + @result_use_manual_invoice_kurir end 

declare @result_use_manual_invoice_40 varchar(max)=isnull(( 
SELECT        
'Inv. No :' +  vw_ms_manual_invoce.invoice_no + 
' ,Inv. Date :' +  dbo.date_to_str(vw_ms_manual_invoce.invoice_date) + 
' ,File :' +  dt_ms_file.file_name 
AS [text()] 

FROM            vw_ms_manual_invoice_invoce_item_list INNER JOIN
                         vw_ms_manual_invoce ON vw_ms_manual_invoice_invoce_item_list.ms_manual_invoice_id = vw_ms_manual_invoce.ms_manual_invoice_id INNER JOIN
                         dt_ms_file ON vw_ms_manual_invoce.ms_file_id = dt_ms_file.ms_file_id
WHERE        
(vw_ms_manual_invoce.ms_manual_invoice_type_id = 2)
 AND (vw_ms_manual_invoice_invoce_item_list.mapping_ms_item_id = @ms_item_id) 
For XML PATH (''))  ,'')
set @resultX=@resultX + case when @result_use_manual_invoice_40='' then '' else 'INVOICE 40 :'  + @pemisah + @result_use_manual_invoice_40 end 

declare @result_use_manual_invoice_27_in varchar(max)=isnull(( 
SELECT        
'Inv. No :' +  vw_ms_manual_invoce.invoice_no + 
' ,Inv. Date :' +  dbo.date_to_str(vw_ms_manual_invoce.invoice_date) + 
' ,File :' +  dt_ms_file.file_name 
AS [text()] 

FROM            vw_ms_manual_invoice_invoce_item_list INNER JOIN
                         vw_ms_manual_invoce ON vw_ms_manual_invoice_invoce_item_list.ms_manual_invoice_id = vw_ms_manual_invoce.ms_manual_invoice_id INNER JOIN
                         dt_ms_file ON vw_ms_manual_invoce.ms_file_id = dt_ms_file.ms_file_id
WHERE        
(vw_ms_manual_invoce.ms_manual_invoice_type_id = 3)
 AND (vw_ms_manual_invoice_invoce_item_list.mapping_ms_item_id = @ms_item_id) 
For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_manual_invoice_27_in='' then '' else 'INVOICE 27 IN :'  + @pemisah + @result_use_manual_invoice_27_in end 

--- APAKAH TERKAIT DI DOKUMENT IN

declare @result_use_bc_in_23 varchar(max)=isnull(( 
SELECT        
'Aju :' +  isnull(vw_ms_header_bc_in.NOMOR_AJU,'') + 
' ,Doc. No :' +  isnull(vw_ms_header_bc_in.NOMOR_DAFTAR,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_header_bc_in.TANGGAL_DAFTAR) + 
' ,Status :' +  vw_ms_header_bc_in.status_tpb_in_name
AS [text()] 

FROM            vw_ms_header_bc_in_item INNER JOIN
                         vw_ms_header_bc_in ON vw_ms_header_bc_in_item.ID_HEADER = vw_ms_header_bc_in.ID_HEADER
WHERE        
(NOT (vw_ms_header_bc_in.status_tpb_in_id = - 1)) 
AND (vw_ms_header_bc_in_item.mapping_ms_item_id = @ms_item_id) 
AND (vw_ms_header_bc_in.KODE_DOKUMEN_PABEAN = '23') 
AND (vw_ms_header_bc_in_item.mode_source = 1 or vw_ms_header_bc_in_item.mode_source = 4)
GROUP BY vw_ms_header_bc_in.NOMOR_AJU, vw_ms_header_bc_in.NOMOR_DAFTAR, vw_ms_header_bc_in.TANGGAL_DAFTAR, vw_ms_header_bc_in.status_tpb_in_name
For XML PATH (''))  ,'') 

 set @resultX=@resultX + case when @result_use_bc_in_23='' then '' else 'BC 23:'  + @pemisah + @result_use_bc_in_23 end 

declare @result_use_bc_in_27 varchar(max)=isnull(( 
SELECT        
'Aju :' +  isnull(vw_ms_header_bc_in.NOMOR_AJU,'') + 
' ,Doc. No :' +  isnull(vw_ms_header_bc_in.NOMOR_DAFTAR,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_header_bc_in.TANGGAL_DAFTAR) + 
' ,Status :' +  vw_ms_header_bc_in.status_tpb_in_name
AS [text()] 

FROM            vw_ms_header_bc_in_item INNER JOIN
                         vw_ms_header_bc_in ON vw_ms_header_bc_in_item.ID_HEADER = vw_ms_header_bc_in.ID_HEADER
WHERE        
(NOT (vw_ms_header_bc_in.status_tpb_in_id = - 1)) 
AND (vw_ms_header_bc_in_item.mapping_ms_item_id = @ms_item_id) 
AND (vw_ms_header_bc_in.KODE_DOKUMEN_PABEAN = '271') 
AND (vw_ms_header_bc_in_item.mode_source = 1 or vw_ms_header_bc_in_item.mode_source = 4)
GROUP BY vw_ms_header_bc_in.NOMOR_AJU, vw_ms_header_bc_in.NOMOR_DAFTAR, vw_ms_header_bc_in.TANGGAL_DAFTAR, vw_ms_header_bc_in.status_tpb_in_name
For XML PATH (''))  ,'')

 set @resultX=@resultX + case when @result_use_bc_in_27='' then '' else 'BC 27 IN:'  + @pemisah + @result_use_bc_in_27 end 

declare @result_use_bc_in_40 varchar(max)=isnull(( 
SELECT        
'Aju :' +  isnull(vw_ms_header_bc_in.NOMOR_AJU,'') + 
' ,Doc. No :' +  isnull(vw_ms_header_bc_in.NOMOR_DAFTAR,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_header_bc_in.TANGGAL_DAFTAR) + 
' ,Status :' +  vw_ms_header_bc_in.status_tpb_in_name
AS [text()] 

FROM            vw_ms_header_bc_in_item INNER JOIN
                         vw_ms_header_bc_in ON vw_ms_header_bc_in_item.ID_HEADER = vw_ms_header_bc_in.ID_HEADER
WHERE        
(NOT (vw_ms_header_bc_in.status_tpb_in_id = - 1)) 
AND (vw_ms_header_bc_in_item.mapping_ms_item_id = @ms_item_id) 
AND (vw_ms_header_bc_in.KODE_DOKUMEN_PABEAN = '40') 
AND (vw_ms_header_bc_in_item.mode_source = 1 or vw_ms_header_bc_in_item.mode_source = 4)
GROUP BY vw_ms_header_bc_in.NOMOR_AJU, vw_ms_header_bc_in.NOMOR_DAFTAR, vw_ms_header_bc_in.TANGGAL_DAFTAR, vw_ms_header_bc_in.status_tpb_in_name
For XML PATH (''))  ,'') 

set @resultX=@resultX + case when @result_use_bc_in_40='' then '' else 'BC 40:'  + @pemisah + @result_use_bc_in_40 end 

declare @result_use_bc_in_262 varchar(max)=isnull(( 
SELECT        
'Aju :' +  isnull(vw_ms_header_bc_in.NOMOR_AJU,'') + 
' ,Doc. No :' +  isnull(vw_ms_header_bc_in.NOMOR_DAFTAR,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_header_bc_in.TANGGAL_DAFTAR) + 
' ,Status :' +  vw_ms_header_bc_in.status_tpb_in_name
AS [text()] 

FROM            vw_ms_header_bc_in_item INNER JOIN
                         vw_ms_header_bc_in ON vw_ms_header_bc_in_item.ID_HEADER = vw_ms_header_bc_in.ID_HEADER
WHERE        
(NOT (vw_ms_header_bc_in.status_tpb_in_id = - 1)) 
AND (vw_ms_header_bc_in_item.mapping_ms_item_id = @ms_item_id) 
AND (vw_ms_header_bc_in.KODE_DOKUMEN_PABEAN = '262') 
AND (vw_ms_header_bc_in_item.mode_source = 1 or vw_ms_header_bc_in_item.mode_source = 4)
GROUP BY vw_ms_header_bc_in.NOMOR_AJU, vw_ms_header_bc_in.NOMOR_DAFTAR, vw_ms_header_bc_in.TANGGAL_DAFTAR, vw_ms_header_bc_in.status_tpb_in_name
For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_bc_in_262='' then '' else 'BC 262:'  + @pemisah + @result_use_bc_in_262 end 

--- APAKAH TERKAIT DI DOKUMENT CAR LINE
  
declare @result_use_carline varchar(max)=isnull((  
SELECT        
'Doc. No :' + vw_ms_out_car_line_header.doc_no + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_out_car_line_header.doc_date)+
' ,Prosses :' + isnull(vw_ms_out_car_line_header.ms_type_prosses_name ,'') + 
' ,Car Line :' + isnull(vw_ms_out_car_line_header.ms_car_line_name ,'')  + 
' ,Status :' + vw_ms_out_car_line_header.ms_car_line_out_header_status_name 
AS [text()]  
FROM            vw_ms_out_car_line_detail INNER JOIN
                         vw_ms_out_car_line_header ON vw_ms_out_car_line_detail.ms_car_line_out_header_id = vw_ms_out_car_line_header.ms_car_line_out_header_id
WHERE       
(vw_ms_out_car_line_detail.ms_item_id = @ms_item_id)
AND 
(NOT (vw_ms_out_car_line_header.ms_car_line_out_header_status_id = - 1))
GROUP BY vw_ms_out_car_line_header.doc_no, vw_ms_out_car_line_header.doc_date, vw_ms_out_car_line_header.ms_type_prosses_name, vw_ms_out_car_line_header.ms_car_line_name, 
                         vw_ms_out_car_line_header.ms_car_line_out_header_status_name  
For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_carline='' then '' else 'OUT PRODUCTION:'  + @pemisah + @result_use_carline end 

--- APAKAH TERKAIT DI DOKUMENT MEMO

declare @result_use_memo_selling varchar(max)=isnull((  
SELECT        
'Doc. No :' +  isnull(vw_ms_memo_header.doc_no,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_memo_header.doc_date) + 
' ,Status :' +  vw_ms_memo_header.ms_memo_header_status_name
AS [text()]  
FROM            vw_ms_memo_detail INNER JOIN
                         vw_ms_memo_header ON vw_ms_memo_detail.ms_memo_header_id = vw_ms_memo_header.ms_memo_header_id
WHERE        
(vw_ms_memo_detail.ms_item_id = @ms_item_id) 
AND (vw_ms_memo_header.ms_memo_type_id = 2)
GROUP BY vw_ms_memo_header.doc_no, vw_ms_memo_header.doc_date, vw_ms_memo_header.ms_memo_header_status_name
For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_memo_selling='' then '' else 'MEMO SELLING:'  + @pemisah + @result_use_memo_selling end 

declare @result_use_memo_repair varchar(max)=isnull((  
SELECT        
'Doc. No :' +  isnull(vw_ms_memo_header.doc_no,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_memo_header.doc_date) + 
' ,Status :' +  vw_ms_memo_header.ms_memo_header_status_name
AS [text()]  
FROM            vw_ms_memo_detail INNER JOIN
                         vw_ms_memo_header ON vw_ms_memo_detail.ms_memo_header_id = vw_ms_memo_header.ms_memo_header_id
WHERE        
(vw_ms_memo_detail.ms_item_id = @ms_item_id) 
AND (vw_ms_memo_header.ms_memo_type_id = 1)
GROUP BY vw_ms_memo_header.doc_no, vw_ms_memo_header.doc_date, vw_ms_memo_header.ms_memo_header_status_name
For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_memo_repair='' then '' else 'MEMO REPAIR:'  + @pemisah + @result_use_memo_repair end 

declare @result_use_memo_scrap varchar(max)=isnull((  
SELECT        
'Doc. No :' +  isnull(vw_ms_memo_header.doc_no,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_memo_header.doc_date) + 
' ,Status :' +  vw_ms_memo_header.ms_memo_header_status_name
AS [text()]  
FROM            vw_ms_memo_detail INNER JOIN
                         vw_ms_memo_header ON vw_ms_memo_detail.ms_memo_header_id = vw_ms_memo_header.ms_memo_header_id
WHERE        
(vw_ms_memo_detail.ms_item_id = @ms_item_id) 
AND (vw_ms_memo_header.ms_memo_type_id = 0)
GROUP BY vw_ms_memo_header.doc_no, vw_ms_memo_header.doc_date, vw_ms_memo_header.ms_memo_header_status_name
For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_memo_scrap='' then '' else 'MEMO SCRAP:'  + @pemisah + @result_use_memo_scrap end 

declare @result_use_memo_scrap_supply varchar(max)=isnull((  
SELECT        
'Doc. No :' +  isnull(vw_ms_memo_header.doc_no,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_memo_header.doc_date) + 
' ,Status :' +  vw_ms_memo_header.ms_memo_header_status_name
AS [text()]   
FROM            vw_ms_memo_detail INNER JOIN
                         vw_ms_memo_header ON vw_ms_memo_detail.ms_memo_header_id = vw_ms_memo_header.ms_memo_header_id INNER JOIN
                         vw_ms_memo_detail_suplly ON vw_ms_memo_detail.ms_memo_detail_id = vw_ms_memo_detail_suplly.ms_memo_detail_id
WHERE        (vw_ms_memo_header.ms_memo_type_id = 0) AND (vw_ms_memo_detail_suplly.ms_item_id = @ms_item_id)
GROUP BY vw_ms_memo_header.doc_no, vw_ms_memo_header.doc_date, vw_ms_memo_header.ms_memo_header_status_name
For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_memo_scrap_supply='' then '' else 'MEMO SCRAP SUPPLY ITEM:'  + @pemisah + @result_use_memo_scrap_supply end 

--- APAKAH TERKAIT DI DOKUMENT RETUR

declare @result_use_retur varchar(max)=isnull(( 

 SELECT        
 'Retur No :' +  isnull(vw_ms_production_retur_header.retur_no,'') + 
 ' ,Retur Date :' +  dbo.date_to_str(vw_ms_production_retur_header.retur_date) + 
 ' ,Status :' +  vw_ms_production_retur_header.status_production_retur_name
 AS [text()]   
 FROM            vw_ms_production_retur_detail INNER JOIN
        vw_ms_production_retur_header ON vw_ms_production_retur_detail.ms_production_retur_id = vw_ms_production_retur_header.ms_production_retur_id
 WHERE        (NOT (vw_ms_production_retur_header.status_production_retur_id = - 1)) AND (vw_ms_production_retur_detail.ms_item_id = @ms_item_id)
 For XML PATH (''))  ,'') 

set @resultX=@resultX + case when @result_use_retur='' then '' else 'RETUR:'  + @pemisah + @result_use_retur end 

--- APAKAH TERKAIT DI DOKUMENT STOCK OPNAME
declare @result_use_sto varchar(max)=isnull((  
SELECT        
'Doc. No :' +  isnull(vw_ms_sto_header.doc_code,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_sto_header.doc_date) + 
' ,Status :' +  vw_ms_sto_header.status_adj_sto_name
AS [text()]   
FROM            vw_ms_sto_detail INNER JOIN
                         vw_ms_sto_header ON vw_ms_sto_detail.sto_header_id = vw_ms_sto_header.ms_adj_sto_id
WHERE        (vw_ms_sto_detail.ms_item_id = @ms_item_id)
 AND (NOT (vw_ms_sto_header.status_adj_sto_id = - 1))


For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_sto='' then '' else 'STOCK OPNAME:'  + @pemisah + @result_use_sto end 

--- APAKAH TERKAIT DI DOKUMENT ADJUSTMENT
 
declare @result_use_adjustment varchar(max)=isnull((   
SELECT        
'Doc. No :' +  isnull(vw_ms_adjustment_header.doc_code,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_adjustment_header.doc_date) + 
' ,Status :' +  vw_ms_adjustment_header.status_adj_sto_name
AS [text()]   
FROM            vw_ms_adjustment_detail INNER JOIN
                         vw_ms_adjustment_header ON vw_ms_adjustment_detail.adjustment_header_id = vw_ms_adjustment_header.ms_adj_sto_id
WHERE        (vw_ms_adjustment_detail.ms_item_id = @ms_item_id)
 AND (NOT (vw_ms_adjustment_header.status_adj_sto_id = - 1))  

For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_adjustment='' then '' else 'ADJUSTMENT:'  + @pemisah + @result_use_adjustment end 

--- APAKAH TERKAIT DI BC OUT

declare @result_use_bc_out_30 varchar(max)=isnull(( 
SELECT        
'Aju :' +  isnull(vw_ms_header_bc_out.NOMOR_AJU,'') + 
' ,Doc. No :' +  isnull(vw_ms_header_bc_out.NOMOR_DAFTAR,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_header_bc_out.TANGGAL_DAFTAR) + 
' ,Status :' +  vw_ms_header_bc_out.status_tpb_out_name
AS [text()] 

FROM            vw_ms_header_bc_out_item INNER JOIN
                         vw_ms_header_bc_out ON vw_ms_header_bc_out_item.ID_HEADER = vw_ms_header_bc_out.ID_HEADER
WHERE        
(NOT (vw_ms_header_bc_out.status_tpb_out_id = - 1)) 
AND (vw_ms_header_bc_out_item.mapping_ms_item_id = @ms_item_id) 
AND (vw_ms_header_bc_out.KODE_DOKUMEN_PABEAN = '30') 
AND (vw_ms_header_bc_out_item.mode_source = 1 or vw_ms_header_bc_out_item.mode_source = 4)
GROUP BY vw_ms_header_bc_out.NOMOR_AJU, vw_ms_header_bc_out.NOMOR_DAFTAR, vw_ms_header_bc_out.TANGGAL_DAFTAR, vw_ms_header_bc_out.status_tpb_out_name
For XML PATH (''))  ,'')
 
 
set @resultX=@resultX + case when @result_use_bc_out_30='' then '' else 'BC 30:'  + @pemisah + @result_use_bc_out_30 end 

declare @result_use_bc_out_27 varchar(max)=isnull(( 
SELECT        
'Aju :' +  isnull(vw_ms_header_bc_out.NOMOR_AJU,'') + 
' ,Doc. No :' +  isnull(vw_ms_header_bc_out.NOMOR_DAFTAR,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_header_bc_out.TANGGAL_DAFTAR) + 
' ,Status :' +  vw_ms_header_bc_out.status_tpb_out_name
AS [text()] 

FROM            vw_ms_header_bc_out_item INNER JOIN
                         vw_ms_header_bc_out ON vw_ms_header_bc_out_item.ID_HEADER = vw_ms_header_bc_out.ID_HEADER
WHERE        
(NOT (vw_ms_header_bc_out.status_tpb_out_id = - 1)) 
AND (vw_ms_header_bc_out_item.mapping_ms_item_id = @ms_item_id) 
AND (vw_ms_header_bc_out.KODE_DOKUMEN_PABEAN = '27') 
AND (vw_ms_header_bc_out_item.mode_source = 1 or vw_ms_header_bc_out_item.mode_source = 4)
GROUP BY vw_ms_header_bc_out.NOMOR_AJU, vw_ms_header_bc_out.NOMOR_DAFTAR, vw_ms_header_bc_out.TANGGAL_DAFTAR, vw_ms_header_bc_out.status_tpb_out_name
For XML PATH (''))  ,'') 
set @resultX=@resultX + case when @result_use_bc_out_27='' then '' else 'BC 27 OUT:'  + @pemisah + @result_use_bc_out_27 end 

declare @result_use_bc_out_41 varchar(max)=isnull(( 
SELECT        
'Aju :' +  isnull(vw_ms_header_bc_out.NOMOR_AJU,'') + 
' ,Doc. No :' +  isnull(vw_ms_header_bc_out.NOMOR_DAFTAR,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_header_bc_out.TANGGAL_DAFTAR) + 
' ,Status :' +  vw_ms_header_bc_out.status_tpb_out_name
AS [text()] 

FROM            vw_ms_header_bc_out_item INNER JOIN
                         vw_ms_header_bc_out ON vw_ms_header_bc_out_item.ID_HEADER = vw_ms_header_bc_out.ID_HEADER
WHERE        
(NOT (vw_ms_header_bc_out.status_tpb_out_id = - 1)) 
AND (vw_ms_header_bc_out_item.mapping_ms_item_id = @ms_item_id) 
AND (vw_ms_header_bc_out.KODE_DOKUMEN_PABEAN = '41') 
AND (vw_ms_header_bc_out_item.mode_source = 1 or vw_ms_header_bc_out_item.mode_source = 4)
GROUP BY vw_ms_header_bc_out.NOMOR_AJU, vw_ms_header_bc_out.NOMOR_DAFTAR, vw_ms_header_bc_out.TANGGAL_DAFTAR, vw_ms_header_bc_out.status_tpb_out_name
For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_bc_out_41='' then '' else 'BC 41:'  + @pemisah + @result_use_bc_out_41 end 


declare @result_use_bc_out_261 varchar(max)=isnull(( 
SELECT        
'Aju :' +  isnull(vw_ms_header_bc_out.NOMOR_AJU,'') + 
' ,Doc. No :' +  isnull(vw_ms_header_bc_out.NOMOR_DAFTAR,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_header_bc_out.TANGGAL_DAFTAR) + 
' ,Status :' +  vw_ms_header_bc_out.status_tpb_out_name
AS [text()] 

FROM            vw_ms_header_bc_out_item INNER JOIN
                         vw_ms_header_bc_out ON vw_ms_header_bc_out_item.ID_HEADER = vw_ms_header_bc_out.ID_HEADER
WHERE        
(NOT (vw_ms_header_bc_out.status_tpb_out_id = - 1)) 
AND (vw_ms_header_bc_out_item.mapping_ms_item_id = @ms_item_id) 
AND (vw_ms_header_bc_out.KODE_DOKUMEN_PABEAN = '261') 
AND (vw_ms_header_bc_out_item.mode_source = 1 or vw_ms_header_bc_out_item.mode_source = 4)
GROUP BY vw_ms_header_bc_out.NOMOR_AJU, vw_ms_header_bc_out.NOMOR_DAFTAR, vw_ms_header_bc_out.TANGGAL_DAFTAR, vw_ms_header_bc_out.status_tpb_out_name
For XML PATH (''))  ,'')
 
set @resultX=@resultX + case when @result_use_bc_out_261='' then '' else 'BC 261:'  + @pemisah + @result_use_bc_out_261 end 

declare @result_use_bc_out_25 varchar(max)=isnull(( 
SELECT        
'Aju :' +  isnull(vw_ms_header_bc_out.NOMOR_AJU,'') + 
' ,Doc. No :' +  isnull(vw_ms_header_bc_out.NOMOR_DAFTAR,'') + 
' ,Doc. Date :' +  dbo.date_to_str(vw_ms_header_bc_out.TANGGAL_DAFTAR) + 
' ,Status :' +  vw_ms_header_bc_out.status_tpb_out_name
AS [text()] 

FROM            vw_ms_header_bc_out_item INNER JOIN
                         vw_ms_header_bc_out ON vw_ms_header_bc_out_item.ID_HEADER = vw_ms_header_bc_out.ID_HEADER
WHERE        
(NOT (vw_ms_header_bc_out.status_tpb_out_id = - 1)) 
AND (vw_ms_header_bc_out_item.mapping_ms_item_id = @ms_item_id) 
AND (vw_ms_header_bc_out.KODE_DOKUMEN_PABEAN = '25') 
AND (vw_ms_header_bc_out_item.mode_source = 1 or vw_ms_header_bc_out_item.mode_source = 4)
GROUP BY vw_ms_header_bc_out.NOMOR_AJU, vw_ms_header_bc_out.NOMOR_DAFTAR, vw_ms_header_bc_out.TANGGAL_DAFTAR, vw_ms_header_bc_out.status_tpb_out_name
For XML PATH (''))  ,'')

set @resultX=@resultX + case when @result_use_bc_out_25='' then '' else 'BC 25:'  + @pemisah + @result_use_bc_out_25 end 

declare @result_use_pemusnahan varchar(max)=isnull(( 
SELECT       
 'BAPB. No :' +  isnull(vw_ms_header_bc_out.NOMOR_DAFTAR,'') + 
' ,BAPB. Date :' +  dbo.date_to_str(vw_ms_header_bc_out.TANGGAL_DAFTAR) + 
' ,Status :' +  vw_ms_header_bc_out.status_tpb_out_name
AS [text()] 

FROM            vw_ms_header_bc_out_item INNER JOIN
                         vw_ms_header_bc_out ON vw_ms_header_bc_out_item.ID_HEADER = vw_ms_header_bc_out.ID_HEADER
WHERE        
(NOT (vw_ms_header_bc_out.status_tpb_out_id = - 1)) 
AND (vw_ms_header_bc_out_item.mapping_ms_item_id = @ms_item_id) 
AND (vw_ms_header_bc_out.KODE_DOKUMEN_PABEAN = 'PEMUSNAHAN') 
AND (vw_ms_header_bc_out_item.mode_source = 1 or vw_ms_header_bc_out_item.mode_source = 4)
GROUP BY vw_ms_header_bc_out.NOMOR_AJU, vw_ms_header_bc_out.NOMOR_DAFTAR, vw_ms_header_bc_out.TANGGAL_DAFTAR, vw_ms_header_bc_out.status_tpb_out_name
For XML PATH (''))  ,'')
 
set @resultX=@resultX + case when @result_use_pemusnahan='' then '' else 'PEMUSNAHAN:'  + @pemisah + @result_use_pemusnahan end 

SET @resultX= REPLACE(@resultX,@pemisah_replace,@pemisah);
IF @resultX is not null
BEGIN 
   SET @xStsno='17';
   SET @xStsdes='Gagal , Data Terpakai Di Dokumen : ' + @pemisah+  @pemisah+ @resultX + @pemisah+  @pemisah+ ', Cancel Terlebih dahulu dokumen terkait supply' ;
  GOto f
end    
 

--- CHECK APAKAH MS_ITEM_ID SUDAH TERAKAIT DENGAN POSTING FINAL AVG
 
declare @check_count int 
SELECT         
 @check_count=count(*)
FROM            dt_ms_cost_final_avg INNER JOIN
                         dt_ms_cost_final_avg_h_status ON dt_ms_cost_final_avg.ms_cost_final_avg_h_status_id = dt_ms_cost_final_avg_h_status.ms_cost_final_avg_h_status_id INNER JOIN
                         dt_ms_item_list_price ON dt_ms_cost_final_avg.ms_cost_final_avg_id = dt_ms_item_list_price.ms_cost_final_avg_id
WHERE        (dt_ms_cost_final_avg_h_status.ms_cost_final_avg_status_id = 1)
AND  dt_ms_item_list_price.ms_item_id=@ms_item_id
AND  not(dt_ms_cost_final_avg.ms_cost_final_avg_id =0) 

if @check_count >0 
begin
 set @xStsno='02';
 set @xStsdes='Gagal, Item tidak bisa di hapus karena Sudah terkait POSTING FINAL AVG' ;
goto f
end
 
BEGIN TRANSACTION;  

delete from dt_ms_item
WHERE        (ms_item_id = @ms_item_id) 

delete from dt_ms_item_h_status
WHERE        (ms_item_id = @ms_item_id) 

delete from dt_ms_item_list_price
WHERE        (ms_item_id = @ms_item_id)  

delete from dt_ms_item_daily_in_move_avg
WHERE        (ms_item_id = @ms_item_id) 
 
delete from dt_ms_item_daily_out_move_avg
WHERE        (ms_item_id = @ms_item_id) 

delete from dt_ms_item_list_price
WHERE        (ms_item_id = @ms_item_id) 

delete from dt_ms_item_in_detail
WHERE        (ms_item_id = @ms_item_id)  

delete from dt_ms_item_list_sta
WHERE        (ms_item_id = @ms_item_id)  

delete from dt_ms_mutasi_item
WHERE        (ms_item_id = @ms_item_id) 

DELETE FROM dt_ms_memo_detail_supply
FROM            dt_ms_memo_detail_supply INNER JOIN
                         dt_ms_memo_detail ON dt_ms_memo_detail_supply.ms_memo_detail_id = dt_ms_memo_detail.ms_memo_detail_id
WHERE        (dt_ms_memo_detail.ms_item_id = @ms_item_id) 

delete from dt_ms_memo_detail
WHERE        (ms_item_id = @ms_item_id) 
  
update  dt_ms_molts_invoice_detail
set mapping_ms_item_id=null
WHERE        (mapping_ms_item_id = @ms_item_id)  

update  dt_ms_tpb_in_barang
set mapping_ms_item_id=null
WHERE        (mapping_ms_item_id = @ms_item_id) 
 
update  dt_ms_tpb_out_barang
set mapping_ms_item_id=null
WHERE        (mapping_ms_item_id = @ms_item_id) 


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

--EXEC MG_MS_ITEM_DELETE
--'12json2::1270095738DWCRIMPING DIESG03IE014PCE01010000
--'
GO

Used By

No items found