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 |
|---|---|---|---|
| @nomor_seri | varchar | 50 | |
| @tgl | varchar | 50 | |
| @tipe_faktur | varchar | 50 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE FUNCTION dbo.f_pajakbc
(
@nomor_seri varchar(50), @tgl varchar(50), @tipe_faktur varchar(50)
)
RETURNS @tbl_pajak table (
car varchar(50)
,bcno varchar(50)
,bctg date
,pasoknama varchar(50)
,status_bc varchar(50)
)
AS
begin
declare @thn varchar(50), @pemasok varchar(50), @bctgl date, @noaju varchar(50), @nodaf varchar(50)
,@status_bc varchar(50)
declare @nobc1 varchar(50), @carurut varchar(50), @bln varchar(5)
declare @carpajak varchar(50)
if @tipe_faktur = 'B1'
begin
if(select count(*) from [dbo].[axSplit](@nomor_seri, '#',0)) = 2
begin
if (select LEN(value) from [dbo].[axSplit](@nomor_seri, '#',0)
where rownum = 1) = 3
begin
set @status_bc = 'NON BC25'
end else
begin
set @nobc1 = substring(@nomor_seri, 0 , CHARINDEX('#', @nomor_seri) )
set @thn = (select substring(dbo.pajaktgl(@tgl), 1,4))
set @bln = (select substring(dbo.pajaktgl(@tgl), 6,2))
if (select count(*) from [dbo].[tbl_sa_hdr]
where [BC25No] LIKE '%' + @nobc1 + '' and YEAR([BC25Tg])=@thn and MONTH([BC25Tg]) = @bln
) > 0
begin
select @noaju = [BC25NAJU], @nodaf=[BC25No], @bctgl=[BC25Tg], @pemasok=[NAMA_PEMBELI] from [dbo].[tbl_sa_hdr]
where [BC25No] LIKE '%' + @nobc1 + '' and YEAR([BC25Tg])=@thn and MONTH([BC25Tg]) = @bln
set @status_bc = 'MATCH BC25'
end
else
begin
set @status_bc = 'NOT MATCH BC25'
end
end
end
else
begin
set @status_bc = 'NOT BC 25'
end
insert into @tbl_pajak
(
car
,bcno
,bctg
,pasoknama
,status_bc
)
select @noaju as noaju, @nodaf as nodaf, @bctgl as bctgl, @pemasok as pemasok, @status_bc as status_bc
end
if @tipe_faktur = 'B2'
begin
set @status_bc = 'NON BC'
insert into @tbl_pajak
(
car
,bcno
,bctg
,pasoknama
,status_bc
)
select @noaju as noaju, @nodaf as nodaf, @bctgl as bctgl, @pemasok as pemasok, @status_bc as status_bc
end
if @tipe_faktur = 'B3'
begin
if(select count(*) from tbl_bc_in_hdr where typedok = 'BC40' and replace(replace(no_faktur, '.', ''), '-','') = replace(replace(@nomor_seri, '.', ''), '-','') ) > 0
begin
select top 1 @noaju=CAR, @nodaf=BC23No, @bctgl=BC23Tg, @pemasok = PasokNama from tbl_bc_in_hdr where typedok = 'BC40' and replace(replace(no_faktur, '.', ''), '-','') = replace(replace(@nomor_seri, '.', ''), '-','')
set @status_bc = 'MATCH BC'
end
else
begin
set @status_bc = 'NOT MATCH BC'
end
insert into @tbl_pajak
(
car
,bcno
,bctg
,pasoknama
,status_bc
)
select @noaju as noaju, @nodaf as nodaf, @bctgl as bctgl, @pemasok as pemasok, @status_bc as status_bc
end
if @tipe_faktur = 'A1'
begin
select top 1 @noaju=car, @nodaf=NODAFT, @bctgl=TGDAFT, @pemasok=NAMABELI from tbl_bc_out_hdr where typedok = 'BC30' and NODAFT = RIGHT(@nomor_seri, 6) and car like '%'+LEFT(REPLACE(@nomor_seri,'-',''),14)+'%'
if @noaju is not null
begin
set @status_bc = 'MATCH BC'
end
else
begin
set @status_bc = 'NON BC'
end
insert into @tbl_pajak
(
car
,bcno
,bctg
,pasoknama
,status_bc
)
select @noaju as noaju, @nodaf as nodaf, @bctgl as bctgl, @pemasok as pemasok, @status_bc as status_bc
end
if @tipe_faktur = 'A2'
begin
insert into @tbl_pajak
(
car
,bcno
,bctg
,pasoknama
,status_bc
)
select @noaju as noaju, @nodaf as nodaf, @bctgl as bctgl, @pemasok as pemasok, @status_bc as status_bc
end
return
end
--go
--select * from [f_pajakbc]('070.004-20.20049134','Fri Feb 21 00:00:00 WIB 2020','B3')
GO
GO
CREATE FUNCTION dbo.f_pajakbc
(
@nomor_seri varchar(50), @tgl varchar(50), @tipe_faktur varchar(50)
)
RETURNS @tbl_pajak table (
car varchar(50)
,bcno varchar(50)
,bctg date
,pasoknama varchar(50)
,status_bc varchar(50)
)
AS
begin
declare @thn varchar(50), @pemasok varchar(50), @bctgl date, @noaju varchar(50), @nodaf varchar(50)
,@status_bc varchar(50)
declare @nobc1 varchar(50), @carurut varchar(50), @bln varchar(5)
declare @carpajak varchar(50)
if @tipe_faktur = 'B1'
begin
if(select count(*) from [dbo].[axSplit](@nomor_seri, '#',0)) = 2
begin
if (select LEN(value) from [dbo].[axSplit](@nomor_seri, '#',0)
where rownum = 1) = 3
begin
set @status_bc = 'NON BC25'
end else
begin
set @nobc1 = substring(@nomor_seri, 0 , CHARINDEX('#', @nomor_seri) )
set @thn = (select substring(dbo.pajaktgl(@tgl), 1,4))
set @bln = (select substring(dbo.pajaktgl(@tgl), 6,2))
if (select count(*) from [dbo].[tbl_sa_hdr]
where [BC25No] LIKE '%' + @nobc1 + '' and YEAR([BC25Tg])=@thn and MONTH([BC25Tg]) = @bln
) > 0
begin
select @noaju = [BC25NAJU], @nodaf=[BC25No], @bctgl=[BC25Tg], @pemasok=[NAMA_PEMBELI] from [dbo].[tbl_sa_hdr]
where [BC25No] LIKE '%' + @nobc1 + '' and YEAR([BC25Tg])=@thn and MONTH([BC25Tg]) = @bln
set @status_bc = 'MATCH BC25'
end
else
begin
set @status_bc = 'NOT MATCH BC25'
end
end
end
else
begin
set @status_bc = 'NOT BC 25'
end
insert into @tbl_pajak
(
car
,bcno
,bctg
,pasoknama
,status_bc
)
select @noaju as noaju, @nodaf as nodaf, @bctgl as bctgl, @pemasok as pemasok, @status_bc as status_bc
end
if @tipe_faktur = 'B2'
begin
set @status_bc = 'NON BC'
insert into @tbl_pajak
(
car
,bcno
,bctg
,pasoknama
,status_bc
)
select @noaju as noaju, @nodaf as nodaf, @bctgl as bctgl, @pemasok as pemasok, @status_bc as status_bc
end
if @tipe_faktur = 'B3'
begin
if(select count(*) from tbl_bc_in_hdr where typedok = 'BC40' and replace(replace(no_faktur, '.', ''), '-','') = replace(replace(@nomor_seri, '.', ''), '-','') ) > 0
begin
select top 1 @noaju=CAR, @nodaf=BC23No, @bctgl=BC23Tg, @pemasok = PasokNama from tbl_bc_in_hdr where typedok = 'BC40' and replace(replace(no_faktur, '.', ''), '-','') = replace(replace(@nomor_seri, '.', ''), '-','')
set @status_bc = 'MATCH BC'
end
else
begin
set @status_bc = 'NOT MATCH BC'
end
insert into @tbl_pajak
(
car
,bcno
,bctg
,pasoknama
,status_bc
)
select @noaju as noaju, @nodaf as nodaf, @bctgl as bctgl, @pemasok as pemasok, @status_bc as status_bc
end
if @tipe_faktur = 'A1'
begin
select top 1 @noaju=car, @nodaf=NODAFT, @bctgl=TGDAFT, @pemasok=NAMABELI from tbl_bc_out_hdr where typedok = 'BC30' and NODAFT = RIGHT(@nomor_seri, 6) and car like '%'+LEFT(REPLACE(@nomor_seri,'-',''),14)+'%'
if @noaju is not null
begin
set @status_bc = 'MATCH BC'
end
else
begin
set @status_bc = 'NON BC'
end
insert into @tbl_pajak
(
car
,bcno
,bctg
,pasoknama
,status_bc
)
select @noaju as noaju, @nodaf as nodaf, @bctgl as bctgl, @pemasok as pemasok, @status_bc as status_bc
end
if @tipe_faktur = 'A2'
begin
insert into @tbl_pajak
(
car
,bcno
,bctg
,pasoknama
,status_bc
)
select @noaju as noaju, @nodaf as nodaf, @bctgl as bctgl, @pemasok as pemasok, @status_bc as status_bc
end
return
end
--go
--select * from [f_pajakbc]('070.004-20.20049134','Fri Feb 21 00:00:00 WIB 2020','B3')
GO
Used By
No items found