dbo.spi_insertbc27pasi

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

Name Data Type Length Description
@username varchar 50
@id_bc271_hdr bigint 8

SQL Script

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE PROCEDURE dbo.spi_insertbc27pasi
(
 @username varchar(50), @id_bc271_hdr bigint
)
AS
BEGIN
 declare @sts varchar(2), @desc varchar(50)
 --BEGIN TRY
 --BEGIN TRANSACTION
  declare @now date
  set @now = GETDATE()
  declare @ndpdm float
  set @ndpdm = (
   select top 1 nilai from dbo.tblKurs where (TgAkhir >= @now and TgAwal <= @now) and KdKurs = 'USD'  
  )

  declare @jmldetil int
  set @jmldetil = (SELECT COUNT(*) AS cnt
  FROM         tbl_detail_bc27_out 
  WHERE     (id_bc271_hdr = @id_bc271_hdr))

  declare @nobc27pasi varchar(20) , @tglbc27pasi date
  set @nobc27pasi = (select car from tbl_header_bc27_out where id_bc271_hdr = @id_bc271_hdr)
  set @tglbc27pasi = (select Tgldaf from tbl_header_bc27_out where id_bc271_hdr = @id_bc271_hdr)
  
  --if(select count(*) from tbl_bc_in_hdr where typedok = 'BC271' and bc_in_from_in = 'INVPASI' and car = @nobc27pasi
  ----and [BC23Tg] = @tglbc27pasi
  --) > 0
  --begin
  -- select '06' as [status], ' DATA SUDAH DI PROSES' as description
  -- return
  --end


  declare @tgbl date
  set @tgbl = GETDATE()
  declare @nobl varchar(100)
  declare @hasil varchar(50)
  exec [dbo].[spu_seq] @nomor_untuk = N'noajubc271', @hasil = @hasil OUTPUT
  set @nobl = @hasil 
  -- insert header
 declare @idhdr bigint
 insert into dbo.tbl_bc_in_hdr (
  [CAR]
  ,statusdok 
  ,typedok
  ,bc_in_from_in
  ,KdKpbc
  ,Tujuan
  ,JnsBarang
  ,TujuanKirim
  ,PasokNama
  ,PasokAlmt
  ,PasokNeg
  ,AngkutNama
  ,AngkutFl
  ,Moda
  ,KdVal
  ,NilInv
  ,KdHrg
  ,JmBrg
  ,Registrasi
  ,UsahaNama
  ,UsahaAlmt
  ,UsahaStatus
  ,KdTPB
  ,ApiKd
  ,ApiNo
  ,KdKpbcBongkar
  ,KdKpbcAwas
  ,Namattd
  ,KotaTtd
  ,nobl
  ,tglbl
  ,Ndpbm
  ,[BC23No]
  ,[BC23Tg]
  ,[DokTupTg]
  ) 
 select top 1
  CAR
  ,'DATA BARU'
  ,'BC271'
  ,'INVPASI'
  ,'150300'
  ,'1'
  ,'01'
  ,'02'
  ,PasokNama
  ,PasokAlmt1
  ,'ID'
  ,' '
  ,'1'
  ,''
  ,'USD'
  ,(case when NilSerah = '-' then 0  else isnull(NilSerah, 0)  end) 
        ,'1'
        ,@jmldetil
        ,(select top 1 Registrasi from tblImportir)
        ,(select top 1 impnama from tblImportir)
        ,(select top 1 impalmt from tblImportir)
        ,(select top 1 usahastatus from tblImportir)
        ,(select top 1 KdTPB from tblImportir)
        ,(select top 1 ApiKd from tblImportir)
        ,(select top 1 ApiNo from tblImportir)
        ,'150300'
        ,'150300'
        ,(select top 1 Namattd from tblImportir)
        ,(select top 1 KotaTtd from tblImportir)
        ,@nobl
        ,@tgbl
        ,@ndpdm
  ,Nodaf
  ,Tgldaf
  ,Tgldaf
 from tbl_header_bc27_out where id_bc271_hdr = @id_bc271_hdr

    set @idhdr=@@IDENTITY
    
 declare @car varchar(100)
    set @car = (select car from tbl_header_bc27_out where [id_bc271_hdr]=@id_bc271_hdr )
 
 declare @dnilinv float
 set @dnilinv = (select (case when NilSerah = '-' then 0  else isnull(NilSerah, 0)   end)  from tbl_header_bc27_out where [id_bc271_hdr]=@id_bc271_hdr )


 declare @qty float
 set @qty= (select sum([JmlSat]) from tbl_detail_bc27_out where [id_bc271_hdr]=@id_bc271_hdr)
     -- detil inv begin here
 insert into dbo.tbl_bc_in_dtl (
  [CAR]
  ,Serial
  ,BrgUrai
  ,DNilInv
  ,NoHs
  ,id_bc_in_hdr
  ,JnsBarangDtl
  ,TujuanKirimDtl
  ,SeriTrp
  ,Merk
  ,Tipe
  ,SpfLain
  ,KdBrg
  ,JmlSat
  ,KdSat
  ,BrgAsal
  ,Penggunaan

 ) select 
   @car
   ,row_number() over(order by (select 0)) 
   ,BrgUrai
   ,round(([JmlSat] *  @dnilinv/@qty),2) as DNilInv
   ,NoHS as NoHs
   ,@idhdr
   ,'01'
   ,'02'
   ,'0'
   ,'-'
   ,'-'
   ,part_name_customs
   ,[KdBrg1]
   ,[JmlSat]
   ,'MTR'
   ,'ID'
   ,'1'

  FROM  tbl_detail_bc27_out where [id_bc271_hdr]=@id_bc271_hdr

 -- update dokumen
 insert into dbo.tbl_bc_in_dok (
  CAR
  ,DokKd
  ,DokNo
  ,DokTg  
     ,id_bc_in_hdr
 ) select 
     @car
   ,'380'
   ,[NoInvoice]
   ,[TgInvoice]
   ,@idhdr
 FROM  tbl_detail_bc27_out
 where [id_bc271_hdr]=@id_bc271_hdr
   group by [NoInvoice] ,[TgInvoice]
     
  
 --update
 
 update tbl_header_bc27_out set status = 'DATA PROCESSED' where [id_bc271_hdr]=@id_bc271_hdr 
 INSERT INTO tbl_bc_in_hdr_h_status
                      (id_bc_in_hdr, statusdok, status_date)
 VALUES     (@idhdr, (select top 1 tbl_bc_in_hdr.statusdok from tbl_bc_in_hdr where tbl_bc_in_hdr.inv_hdr_id = @idhdr), GETDATE()) 
  
  
 --COMMIT
--END TRY
--BEGIN CATCH
---- Whoops, there was an error
--IF @@TRANCOUNT > 0
-- ROLLBACK

---- Raise an error with the details of the exception
--DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int
--Set @ErrMsg = ERROR_MESSAGE()
--set @ErrSeverity = ERROR_SEVERITY()
--select @ErrMsg as status,@ErrSeverity as description
--RAISERROR(@ErrMsg, @ErrSeverity, 1)
--END CATCH

set @sts = '00'
 set @desc = 'Data Processed'
 goto msg

msg:
  select @sts as status, @desc as description   
 
END

--go

-- exec(' [spi_insertbc27pasi] @username=''admin'', @id_bc271_hdr=276 ')
GO

Used By

No items found