NJC__Documentation::DB

dbo.MG_MS_MOLTS_FILE_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_MOLTS_FILE_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_file_id bigint 
 
SELECT 
 @data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50) 
,@ms_file_id=left(ltrim(rtrim(isnull(tempTable.item.value('ms_file_id[1]', 'bigint'),-1))),255)
FROM @PARAMETER.nodes('param/field')  tempTable(item);

declare
@c_ms_file_id bigint  
,@c_file_type_id int  
,@c_status_file_id int  
,@c_ms_file_h_status_id int  
,@c_file_name varchar(255)  
,@c_file_url varchar(500)  
,@c_status_file_name varchar(500) 
,@c_file_type_name varchar(500)  
,@c_default_folder varchar(500)  
,@c_temp_folder varchar(500)  
,@c_format_folder varchar(500)  
,@c_allow_ext varchar(500)  

SELECT TOP(1)        
 @c_ms_file_id=dt_ms_file.ms_file_id
, @c_file_type_id=dt_ms_file.file_type_id
, @c_status_file_id=dt_ms_file_h_status.status_file_id
, @c_ms_file_h_status_id=dt_ms_file.ms_file_h_status_id
, @c_file_name=dt_ms_file.file_name
, @c_file_url=dt_ms_file.file_url
, @c_status_file_name=enum_ms_status_file.status_file_name
, @c_file_type_name=enum_ms_file_type.file_type_name
, @c_default_folder=enum_ms_file_type.default_folder
, @c_format_folder=enum_ms_file_type.format_folder
, @c_temp_folder=enum_ms_file_type.temp_folder
, @c_allow_ext=enum_ms_file_type.allow_ext
FROM            dt_ms_file INNER JOIN
                         dt_ms_file_h_status ON dt_ms_file.ms_file_h_status_id = dt_ms_file_h_status.ms_file_h_status_id INNER JOIN
                         enum_ms_status_file ON dt_ms_file_h_status.status_file_id = enum_ms_status_file.status_file_id INNER JOIN
                         enum_ms_file_type ON dt_ms_file.file_type_id = enum_ms_file_type.file_type_id
WHERE        (dt_ms_file.ms_file_id = @ms_file_id)
 
 
 
if @c_ms_file_id is null
begin
 set @xStsno='01';
 set @xStsdes='Gagal, Data File tidak di temukan ';
 goto f  
end

if not(@c_file_type_id=1)
begin
 set @xStsno='03';
 set @xStsdes='Gagal, File ' + @c_file_name + ' bukan merupakan file ' + @c_file_type_name;
 goto f 

end 
 


if (@c_status_file_id=0)
 goto bypasscheckinvoice
 

 
SET @resultX= ( 
SELECT       
  'NO : '+ invoice_no +
 +' DATE : ' +  dbo.date_to_str(cast(invoice_date as date)) + 
 +' -> ' + BC_TYPE + ' AJU :' + CAR + ', REG. NO :' + isnull(BC_NO,'-')+ ' , REG. DATE :' + isnull(BC_DATE,'-')  
+ @pemisah 
AS [text()] 
FROM            vw_ms_molts_invoce
WHERE        (used = 1) AND (ms_file_id = @ms_file_id) 
order by INVOICE_DATE,INVOICE_NO
For XML PATH (''))     
SET @resultX= REPLACE(@resultX,@pemisah_replace,@pemisah);
IF @resultX is not null
BEGIN 
   SET @xStsno='17';
   SET @xStsdes='Gagal , Data invoice sudah terpakai di dokumen :' + @pemisah+  @pemisah+ @resultX + @pemisah+  @pemisah+ ' ' ;
  GOto f
end    

 
 
bypasscheckinvoice:

BEGIN TRANSACTION;   
  
delete from dt_ms_molts_invoice_detail 
where exists(
select ms_molts_invoice_id  from (select ms_molts_invoice_id  from dt_ms_molts_invoice
where ms_file_id=@ms_file_id)xfilter
where dt_ms_molts_invoice_detail.ms_molts_invoice_id=xfilter.ms_molts_invoice_id 
)  

delete from dt_ms_molts_invoice
where ms_file_id=@ms_file_id 

if dbo.axFileExists(@c_file_url )=1
begin 
 declare @new_name_file varchar(500)=dbo.axMoveFileNoReplace(@c_file_url,@c_temp_folder)
end

delete from dt_ms_file_h_status 
where ms_file_id =@ms_file_id 
delete from dt_ms_file
where ms_file_id =@ms_file_id 


COMMIT TRANSACTION;
  --ROLLBACK TRAN;
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_MOLTS_FILE_DELETE
--'12MG_MS_MOLTS_FILE_DELETE2::1
--1'
GO

Used By

No items found