terima kasih atas jawaban mas aksan, saya sudah coba jawaban yang 
pertama dan sukses tapi untuk jawaban kedua tentang tanggal, 
sepertinya tidak jalan, maksudnya semua data yang diinput kosong 
tetap terisi 01/01/1900. Maaf selalu merepotkan..berikut saya 
sertakan penggalan codingnya, sbb:

IF @IDP>0
        BEGIN
                
                Update stnk set 
                No_STNK = @No_STNK,
                Tgl_STNK = dbo.fnGetDate(Tgl_STNK) ,
                No_BPKB = @No_BPKB,
                Tgl_BPKB = dbo.fnGetDate(@Tgl_BPKB),
                tgl_transfer_bbn = dbo.fnGetDate(@tgl_transfer_bbn),
                Ttd_bpkb = dbo.fnGetDate(@Ttd_bpkb),
                No_ttd_BPKB = @No_ttd_BPKB,
                tgl_spp_bbn = dbo.fnGetDate(@tgl_spp_bbn),
                bbn = @bbn,     
                Keterangan = @Keterangan,
                tgl_terbit_stnk = dbo.fnGetDate(@tgl_terbit_stnk),
                id_birojasa = @id_birojasa
                Where id_pengirim = @id_pengirim
                
        END
ELSE
        begin   
--bila stnk belum dinput
insert into stnk ( 
id_pengirim,No_STNK,Tgl_STNK,No_BPKB,Tgl_BPKB,tgl_transfer_bbn,Ttd_bp
kb,No_ttd_BPKB,tgl_spp_bbn,bbn,Keterangan,tgl_terbit_stnk,id_birojasa
,tgl_created)
values (@id_pengirim,@No_STNK,dbo.fnGetDate
(@Tgl_STNK),@No_BPKB,dbo.fnGetDate(@Tgl_BPKB),dbo.fnGetDate
(@tgl_transfer_bbn),dbo.fnGetDate
(@Ttd_bpkb),@No_ttd_BPKB,dbo.fnGetDate
(@tgl_spp_bbn),@bbn,@Keterangan,dbo.fnGetDate
(@tgl_terbit_stnk),@id_birojasa,getdate())
        
        end

Kirim email ke