dbo.f_pajakbc

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

Used By

No items found