NJC__Documentation::DB

dbo.MG_MS_BC_IN_GET_KURS_INFO_NOW

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_GET_KURS_INFO_NOW
@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) 
, @ID_HEADER bigint 
, @DATE_KURS date
, @VALUTA varchar(50) 

SELECT 
 @data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@VALUTA=left(ltrim(rtrim(isnull(tempTable.item.value('VALUTA[1]', 'varchar(100)'),''))),50)
,@ID_HEADER=isnull(tempTable.item.value('ID_HEADER[1]', 'bigint'),-1)
,@DATE_KURS=dbo.str_to_date(isnull(tempTable.item.value('DATE_KURS[1]', 'varchar(255)'),''))

FROM @PARAMETER.nodes('param/field')  tempTable(item)
 
exec  MG_CHECK_USER @data_by, 0, @xStsno output,@xStsdes output; 
if @xStsno <>'00' 
goto f ;

if @ID_HEADER>-1
begin 
 declare 
   @check_ID_HEADER bigint
 , @check_status_tpb_in_name varchar(255)
 , @check_is_get bit
 , @check_status_tpb_in_id int 
 , @check_mode_source varchar(255)
 , @check_ID_HEADER_ORI  bigint
 , @check_KODE_STATUS varchar(255) 
 , @check_NDPBM decimal(38, 4)  
 , @check_KODE_DOKUMEN_PABEAN  varchar(255)
 , @check_TANGGAL_DAFTAR date

 SELECT  top(1)      
   @check_ID_HEADER=ID_HEADER
 , @check_status_tpb_in_name=status_tpb_in_name
 , @check_is_get=is_get
 , @check_status_tpb_in_id=status_tpb_in_id
 , @check_mode_source=mode_source_ID
 , @check_ID_HEADER_ORI=ID_HEADER_ORI
 , @check_KODE_STATUS=KODE_STATUS
 , @VALUTA=KODE_VALUTA
 , @check_NDPBM=NDPBM
 , @check_KODE_DOKUMEN_PABEAN=KODE_DOKUMEN_PABEAN
 , @check_TANGGAL_DAFTAR=TANGGAL_DAFTAR
 FROM            vw_ms_header_bc_in
 WHERE        (ID_HEADER = @ID_HEADER)  
end
--- nambah grn local purchase ditampilkan di nomor receive (grnnumber) dan tgl receive (grndate)
declare @grn varchar(50), @grdate date, @no_inv varchar(50), @tgl_inv date

select @no_inv = [NOMOR_DOKUMEN], @tgl_inv = [TANGGAL_DOKUMEN]  from [vw_ms_header_bc_in_document]
where  [KODE_JENIS_DOKUMEN] = '380' and ID_HEADER = @ID_HEADER

select top 1 @grn=GRNUMBER, @grdate=isnull(GRDATE, '') from test_compare
where inv_no = @no_inv and inv_date = @tgl_inv


if @DATE_KURS is null
set @DATE_KURS=cast(@now as date); 
 
 
declare @detail xml

if @check_KODE_DOKUMEN_PABEAN = '40' and @check_mode_source = 6
begin
 set @detail =(
 select 
  upper( @VALUTA ) AS rk  
 , case when @VALUTA='' or  @DATE_KURS>cast(@Now as date) then 0 else  dbo.get_rate_valuta(@DATE_KURS,@VALUTA)  end   AS rv_h
 , case when @ID_HEADER>-1 or  @DATE_KURS>cast(@Now as date) then dbo.get_rate_valuta(@DATE_KURS,'USD') else 0 end AS rv_u 
 ,case when  @DATE_KURS>cast(@Now as date) then '' else dbo.date_to_str(@DATE_KURS) end as dk
 ,case when  @DATE_KURS>cast(@Now as date) then '' else dbo.date_to_str(@check_TANGGAL_DAFTAR) end as dd
 , isnull(@grn, '') as gn
 , isnull(CONVERT(varchar, @grdate, 103) , '') as gt
 for xml path ('detail')
 )
end
else
begin
 set @detail =(
 select 
  upper( @VALUTA ) AS rk  
 , case when @VALUTA='' or  @DATE_KURS>cast(@Now as date) then 0 else  dbo.get_rate_valuta(@DATE_KURS,@VALUTA)  end   AS rv_h
 , case when @ID_HEADER>-1 or  @DATE_KURS>cast(@Now as date) then dbo.get_rate_valuta(@DATE_KURS,'USD') else 0 end AS rv_u 
 ,case when  @DATE_KURS>cast(@Now as date) then '' else dbo.date_to_str(@DATE_KURS) end as dk
 ,case when  @DATE_KURS>cast(@Now as date) then '' else dbo.date_to_str(@check_TANGGAL_DAFTAR) end as dd
 for xml path ('detail')
 )

end


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

Used By

No items found