Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Null on Null Input | False |
| Schema Bound | False |
| Assembly |
Parameters
| Name | Data Type | Length | Description |
|---|---|---|---|
| (Result) | decimal | 17 | |
| @valuta_date | date | 3 | |
| @valuta_code | varchar | 255 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE FUNCTION dbo.get_rate_valuta (@valuta_date date , @valuta_code varchar(255))
RETURNS decimal(38,4)
WITH EXECUTE AS CALLER
AS
BEGIN
declare @date_part int= DATEPART(dw,@valuta_date)
if @date_part <4
begin
set @valuta_date= dateadd(DAY,-(3 + @date_part),@valuta_date)
end
else if @date_part >4
begin
set @valuta_date= dateadd(DAY,-(@date_part-4),@valuta_date)
end
declare @rate decimal(38,4)
if not(@valuta_code='IDR')
begin
set @rate=(SELECT top(1) dt_currencies.rate
FROM dt_currencies INNER JOIN
dt_currencies_header ON dt_currencies.headerid = dt_currencies_header.id INNER JOIN
dt_currencies_master ON dt_currencies.currenciesid = dt_currencies_master.id
WHERE (dt_currencies_header.startdate =@valuta_date) AND (dt_currencies_master.currenciescode = @valuta_code)
)
if @rate is null and @valuta_date is not null
begin
set @rate=dbo.RunSQLStr (' dbo.sp_rate_valuta_new_insert_auto '''+ convert(varchar(10),@valuta_date,121) +''','''+ @valuta_code +'''')
end
end
else
begin
set @rate=1
end
return(@rate)
END;
GO
GO
CREATE FUNCTION dbo.get_rate_valuta (@valuta_date date , @valuta_code varchar(255))
RETURNS decimal(38,4)
WITH EXECUTE AS CALLER
AS
BEGIN
declare @date_part int= DATEPART(dw,@valuta_date)
if @date_part <4
begin
set @valuta_date= dateadd(DAY,-(3 + @date_part),@valuta_date)
end
else if @date_part >4
begin
set @valuta_date= dateadd(DAY,-(@date_part-4),@valuta_date)
end
declare @rate decimal(38,4)
if not(@valuta_code='IDR')
begin
set @rate=(SELECT top(1) dt_currencies.rate
FROM dt_currencies INNER JOIN
dt_currencies_header ON dt_currencies.headerid = dt_currencies_header.id INNER JOIN
dt_currencies_master ON dt_currencies.currenciesid = dt_currencies_master.id
WHERE (dt_currencies_header.startdate =@valuta_date) AND (dt_currencies_master.currenciescode = @valuta_code)
)
if @rate is null and @valuta_date is not null
begin
set @rate=dbo.RunSQLStr (' dbo.sp_rate_valuta_new_insert_auto '''+ convert(varchar(10),@valuta_date,121) +''','''+ @valuta_code +'''')
end
end
else
begin
set @rate=1
end
return(@rate)
END;
GO
Used By
24- dbo.v_bc3025_dtl
- dbo.vw_ms_item_in_detail_for_bahan_baku
- dbo.MG_MS_ADJUSTMENT_HEADER_APPROVE
- dbo.MG_MS_BC_IN_GET_KURS_INFO_NOW
- dbo.MG_MS_BC_IN_IMPORT_FROM_GRN
- dbo.MG_MS_BC_IN_IMPORT_FROM_INVOICE
- dbo.MG_MS_BC_IN_IMPORT_FROM_MOLTS
- dbo.MG_MS_BC_OUT_IMPORT_FROM_MEMO
- dbo.MG_MS_ITEM_ADD
- dbo.MG_MS_ITEM_EDIT
- dbo.MG_MS_PRODUCTION_RETUR_HEADER_APPROVE
- dbo.MG_MS_STO_HEADER_APPROVE
- dbo.MG_PEMI_RPT_DEVISA
- dbo.sp_bahan_baku_asal_2
- dbo.sp_ex_bc25
- dbo.sp_insertbc25
- dbo.fn_data_bahan_baku
- dbo.fn_rpt_bc30
- dbo.fn_rpt_in_bc23
- dbo.fn_rpt_kb_dpil
- dbo.fn_rpt_kb_ekspor
- dbo.fn_rpt_kb_kb
- dbo.fn_rpt_out_bc30
- dbo.fn_rpt_return