Dear All,
Setelah mencuri-curi waktu, akhirnya selesai juga ngetik Bagian ke 2 dari
Accounting Programming ini, seperti biasa, posting ini juga bisa anda lihat
di http://dasmaniacool.blogspot.com <http://dasmaniacool.blogspot.com> .
Semoga bermanfaat. So please enjoy ...
ACCOUNTING PROGRAMMING Bag. 2 : JURNAL UMUM
Setelah kita membuat tabel2 untuk master yang dibutuhkan di akuntansi, maka
kita dapat mencoba melakukan transaksi akuntansi. Menurut saya transaksi
akuntansi sebenarnya cukup dengan 1 ( satu ) form yaitu form JURNAL UMUM.
Sebelum kita masuk ke pembuatan desain table jurnal umum, kita memerlukan
beberapa hal, yaitu :
1. Tabel HISTORY AKUN. Tabel ini sebenarnya juga tidak mutlak
diperlukan dalam pemrograman akuntansi, namun untuk mempercepat proses query
pada waktu menampilkan laporan - laporan akuntansi, saya sangat menyarankan
anda membuat table ini, anjuran desain table :
Nama Tabel : HAkun
Field, Tipe Data, Not Null, Primary Key, Identity, Default Value,
Description
AkunID, int, Yes, No, No, [EMPTY], Menyimpan data AkunID
ThnBuku, int, Yes, No, No, datepart(year,getdate()), Menyimpan Tahun Buku
dari nilai akun
MataUangID, int, Yes, No, No, [EMPTY], Menyimpan ID Mata Uang
RealSa, money, Yes, No, No, 0, Menyimpan nilai Saldo Awal pada tahun buku
yang bersangkutan
Real01, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan Januari pada
tahun buku yang bersangkutan
Real02, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan Februari pada
tahun buku yang bersangkutan
Real03, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan Maret pada tahun
buku yang bersangkutan
Real04, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan April pada tahun
buku yang bersangkutan
Real05, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan Mei pada tahun
buku yang bersangkutan
Real06, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan Juni pada tahun
buku yang bersangkutan
Real07, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan Juli pada tahun
buku yang bersangkutan
Real08, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan Agustus pada
tahun buku yang bersangkutan
Real09, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan September pada
tahun buku yang bersangkutan
Real10, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan Oktober pada
tahun buku yang bersangkutan
Real11, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan November pada
tahun buku yang bersangkutan
Real12, money, Yes, No, No, 0, Menyimpan nilai Saldo bulan Desember pada
tahun buku yang bersangkutan
dtCreated, datetime, Yes, No, No, getdate(), tanggal dibuat
dtModified, datetime, Yes, No, No, getdate(), tanggal dimodifikasi
UpdatedBy, varchar( 25 ), Yes, No, No, 'PRGMR', User yang menambahkan /
mengganti data
Catatan : mungkin anda sudah mengetahui apa maksud dari pembuatan table ini.
Tabel ini adalah table yang diakses pada saat kita akan mencetak laporan
akuntansi dan bukannya dari perhitungan langsung dari table transaksi yang
kemungkinan ada beribu - ribu atau bahkan sampai ratusan ribu atau jutaan
record di dalamnya. Saya rasa user pasti akan lebih senang jika dia bisa
melihat Laporan Laba Rugi dalam 5 detik daripada harus menunggu selama 5
menit hanya untuk menampilkannya. Berikut ini adalah contoh isi dari table
HAkun :
AkunID, ThnBuku, MataUangID, RealSa, Real01, Real02, Real03, Real04, Real05,
Real06, Real07, Real08, Real09, Real10, Real11, Real12, dtCreated,
dtModified, UpdatedBy
1, 2007, 0, 0, 0, 0, 0, 0, 2500000, -1000000, 0, 0, 0, 0, 0, [automatic],
[automatic], 'PRGMR'
2, 2007, 1, 0, 0, 0, 0, 0, 125, -100, 0, 0, 0, 0, 0, [automatic],
[automatic], 'PRGMR'
17, 2007, 0, 0, 0, 0, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, [automatic],
[automatic], 'PRGMR'
18, 2007, 1, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, [automatic], [automatic],
'PRGMR'
21, 2007, 0, 0, 0, 0, 0, 0, -2500000, 0, 0, 0, 0, 0, 0, [automatic],
[automatic], 'PRGMR'
22, 2007, 1, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, [automatic],
[automatic], 'PRGMR'
29, 2007, 0, 0, 0, 0, 0, 0, -1000000, 1000000, 0, 0, 0, 0, 0, [automatic],
[automatic], 'PRGMR'
30, 2007, 1, 0, 0, 0, 0, 0, -100, 100, 0, 0, 0, 0, 0, [automatic],
[automatic], 'PRGMR'
Angka - angka tersebut didapat darimana ??!? Ikuti penjelasan dibawah ini
...
Asumsi :
- AkunID 1 = Kas IDR
- AkunID 2 = Kas USD
- AkunID 17 = Persediaan Barang IDR
- AkunID 18 = Persediaan Barang USD
- AkunID 21 = Laba Ditahan IDR
- AkunID 22 = Laba Ditahan USD
- AkunID 29 = Pembelian IDR
- AkunID 30 = Pembelian USD
Data yang ada pada table HAkun tersebut diatas terjadi karena : ( contoh
kasus )
* Pada tanggal 10 Juni 2007 program mulai digunakan, maka kita harus
set Saldo Awal untuk Kas IDR & Kas USD dengan cara membuat jurnal sbb. :
Transaksi IDR :
Kas IDR ( Debet ) = Rp. 2.500.000,-
Laba Ditahan IDR ( Kredit ) = Rp. 2.500.000,-
Transaksi USD :
Kas USD ( Debet ) = $ 125.00
Laba Ditahan USD ( Kredit ) = $ 125.00
* Pada tanggal 15 Juni 2007 melakukan transaksi penerimaan barang,
maka jurnalnya adalah sbb. :
Transaksi IDR :
Persediaan Barang IDR ( Debet ) = Rp. 1.000.000,-
Pembelian IDR ( Kredit ) = Rp. 1.000.000,-
Transaksi USD :
Persediaan Barang USD ( Debet ) = $ 100.00
Pembelian USD ( Kredit ) = $ 100.00
* Transaksi pembelian barang diatas dibayar pada tanggal 5 Juli
2007, maka jurnalnya adalah sbb. :
Transaksi IDR :
Pembelian IDR ( Debet ) = Rp. 1.000.000,-
Kas IDR ( Kredit ) = Rp. 1.000.000,-
Transaksi USD :
Pembelian USD ( Debet ) = $ 100.00
Kas USD ( Kredit ) = $ 100.00
Nah, karena sekarang anda semua sudah tahu darimana asal angka - angka
tersebut, bisa dibayangkan kecepatan pembacaan data dari 1 ( satu ) record
dibandingkan dengan jika kita menjumlahkan secara manual dari data - data
transaksi yang ada. Pertanyaan selanjutnya adalah bagaimana cara ngisinya ?
Go to the next step.
2. Untuk melakukan transaksi akuntansi, kita memerlukan 2 ( dua ) buah
table MASTER & DETAIL dari Jurnal Umum, berikut ini adalah anjuran untuk
pembuatan masing-2 tabel tersebut :
* MASTER JURNAL UMUM, anjuran desain tabel :
Nama Tabel : TJUHdr
Field, Tipe Data, Not Null, Primary Key, Identity, Default Value,
Description
JUHdrID, int, Yes, Yes, Yes, [EMPTY], Menyimpan data Jurnal Umum Master ID
BKKHdrID, int, No, No, No, [EMPTY], Menyimpan data Bukti Kas Keluar ID (
akan saya jelaskan pada bag. selanjutnya )
BKMHdrID, int, No, No, No, [EMPTY], Menyimpan data Bukti Kas Masuk ID ( akan
saya jelaskan pada bag.selanjutnya )
CekGiroOutID, int, No, No, No, [EMPTY], Menyimpan data Rekonsiliasi Giro ID
( akan saya jelaskan pada bag.selanjutnya )
JenisJurnal, varchar( 3 ), Yes, No, No, [EMPTY], Menyimpan Jenis Jurnal dari
transaksi Jurnal Umum
TglJurnal, datetime, Yes, No, No, [EMPTY], Menyimpan data Tanggal Transaksi
MataUangID, int, Yes, No, No, [EMPTY], Menyimpan ID Mata Uang
StsPosting, varchar( 1 ), Yes, No, No, B, Menyimpan Status Posting dari
Transaksi
StsRef, bit, Yes, No, No, 1, Menyimpan Status Referensi dari Transaksi
Referensi, varchar( 100 ), No, No, No, [EMPTY], Menyimpan Kode Referensi
dari Transaksi
dtCreated, datetime, Yes, No, No, getdate(), tanggal dibuat
dtModified, datetime, Yes, No, No, getdate(), tanggal dimodifikasi
UpdatedBy, varchar( 25 ), Yes, No, No, 'PRGMR', User yang menambahkan /
mengganti data
Catatan :
- Desain tabel diatas adalah desain tabel untuk transaksi per mata
uang, artinya dalam satu transaksi tidak dapat mengandung 2 ( dua ) atau
lebih mata uang yang berlainan.
- Apaan sih StsPosting itu ? StsPosting ini digunakan untuk status
transaksi tersebut apakah sudah diposting untuk dihitung pada proses Akhir
Tahun ( akan saya jelaskan pada bag. selanjutnya )
- Apa itu StsRef & Referensi ? StsRef adalah field untuk menampung
apakah transaksi tersebut dibuat secara otomatis oleh transaksi lain, contoh
: Penerimaan Barang, Retur, Pembayaran, dll. Jika transaksi dibuat oleh
proses otomatis, maka system akan membuat nomor referensi sendiri. Jadi
perlu diingat, jika user memasukkan transaksi jurnal umum secara manual,
jangan lupa set StsRef = 0 ( Nol ). Hal ini diperlukan untuk memudahkan user
dalam pembuatan laporan akuntansi. Dalam tabel diatas saya beri trigger
untuk membuat nomor referensinya, triggernya adalah sebagai berikut :
CREATE TRIGGER [dbo].[trg_TJUHdr_Referensi] ON [dbo].[TJUHdr]
FOR INSERT
AS
set nocount on
declare @JUHdrID int, @JenJur varchar( 5 ), @Tahun varchar( 4 ), @Bulan
varchar( 2 ), @StsRef bit
declare @RefBaru varchar( 50 )
select @JUHdrID = JUHdrID, @JenJur = JenisJurnal, @Tahun = isnull( cast(
year( TglJurnal ) as varchar( 4 )), '' ),
@Bulan = isnull( cast( month( TglJurnal ) as varchar( 2 )), '' ),
@StsRef = StsRef
from inserted
-- Hanya merubah Referensi jika dimasukkan secara otomatis melalui proses
lainnya
if @StsRef = 1
begin
set @RefBaru = rtrim( @JenJur ) + '/' + @Tahun + '/' + @Bulan + '/' +
cast( @JUHdrID as varchar( 20 ))
update TJUHdr
set Referensi = @RefBaru
where JUHdrID = @JUHdrID
end
- Untuk contoh2 kasus diatas, maka jika masuk tabel adalah sebagai
berikut :
JUHdrID, BKKHdrID, BKMHdrID, CekGiroOutID, JenisJurnal, TglJurnal,
MataUangID, StsPosting, StsRef, Referensi, dtCreated, dtModified, UpdatedBy
1, NULL, NULL, NULL, CS, 06/10/2007, 0, B, 0, NULL, [automatic],
[automatic], 'PRGMR'
2, NULL, NULL, NULL, CS, 06/10/2007, 1, B, 0, NULL, [automatic],
[automatic], 'PRGMR'
3, NULL, NULL, NULL, CS, 06/15/2007, 0, B, 0, NULL, [automatic],
[automatic], 'PRGMR'
4, NULL, NULL, NULL, CS, 06/15/2007, 1, B, 0, NULL, [automatic],
[automatic], 'PRGMR'
5, NULL, NULL, NULL, CS, 07/05/2007, 0, B, 0, NULL, [automatic],
[automatic], 'PRGMR'
6, NULL, NULL, NULL, CS, 07/05/2007, 1, B, 0, NULL, [automatic],
[automatic], 'PRGMR'
Harap diingat, data - data tanggal diatas ditulis dalam format English (
mm/dd/yyyy )
* DETAIL JURNAL UMUM, anjuran desain tabel :
Nama Tabel : TJUDtl
Field, Tipe Data, Not Null, Primary Key, Identity, Default Value,
Description
JUDtlID, int, Yes, Yes, Yes, [EMPTY], Menyimpan data Jurnal Umum Detail ID
JUHdrID, int, Yes, No, No, [EMPTY], Menyimpan data Jurnal Umum Master ID
AkunID, int, Yes, No, No, [EMPTY], Menyimpan data Akun ID
NoVoucher, varchar( 100 ), Yes, No, No, [EMPTY], Menyimpan data Nomor
Voucher ( no. nota, kwitansi, dll )
Transaksi, varchar( 255 ), No, No, No, [EMPTY], Menyimpan penjelasan
transaksi
Debet, money, Yes, No, No, [EMPTY], Menyimpan nilai transaksi untuk kolom
Debet
Kredit, money, Yes, No, No, [EMPTY], Menyimpan nilai transaksi untuk kolom
Kredit
dtCreated, datetime, Yes, No, No, getdate(), tanggal dibuat
dtModified, datetime, Yes, No, No, getdate(), tanggal dimodifikasi
UpdatedBy, varchar( 25 ), Yes, No, No, 'PRGMR', User yang menambahkan /
mengganti data
Catatan :
- Untuk memasukkan nilai kedalam tabel HAkun, maka kita perlu
membuat trigger sbb :
CREATE TRIGGER [dbo].[trg_TJUDtl_Ins_HAkun] ON [dbo].[TJUDtl]
FOR INSERT
AS
set nocount on
declare @vAkunID int, @vBulan tinyint, @vTahun char(4), @vCur tinyint,
@vupdatedDate datetime, @vupdatedBy varchar(5),
@vReal money, @vDebet decimal (15,2), @vKredit decimal (15,2),
@vOrgAkun decimal (15,2)
select top 1 @vAkunID = JUD.AkunID, @vCur = JUH.MataUangID,
@vBulan = CAST( month( JUH.TglJurnal ) as tinyint ), @vTahun = CAST(
year ( JUH.TglJurnal ) as char( 4 )),
@vupdatedDate = JUD.dtModified, @vupdatedBy = JUD.updatedBy,
@vDebet = isnull(JUD.Debet,0), @vKredit = isnull(JUD.Kredit,0)
from TJUHdr JUH INNER JOIN
inserted JUD ON JUH.JUHdrID = JUD.JUHdrID
set @vReal = 0
if @vDebet > 0 set @vReal = isnull( @vDebet, 0)
else if @vKredit > 0 set @vReal = isnull( @vKredit, 0) * -1
-- Cek apakah sudah ada akun tersebut pada HAkun
if Not Exists ( select top 1 AkunID -- Jika belum ada
from HAkun
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and ( MataUangID
= @vCur ))
begin
if @vBulan = 1
insert into HAkun( AkunID, ThnBuku, MataUangID, Real01,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 2
insert into HAkun( AkunID, ThnBuku, MataUangID, Real02,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 3
insert into HAkun( AkunID, ThnBuku, MataUangID, Real03,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 4
insert into HAkun( AkunID, ThnBuku, MataUangID, Real04,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 5
insert into HAkun( AkunID, ThnBuku, MataUangID, Real05,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 6
insert into HAkun( AkunID, ThnBuku, MataUangID, Real06,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 7
insert into HAkun( AkunID, ThnBuku, MataUangID, Real07,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 8
insert into HAkun( AkunID, ThnBuku, MataUangID, Real08,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 9
insert into HAkun( AkunID, ThnBuku, MataUangID, Real09,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 10
insert into HAkun( AkunID, ThnBuku, MataUangID, Real10,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 11
insert into HAkun( AkunID, ThnBuku, MataUangID, Real11,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
else if @vBulan = 12
insert into HAkun( AkunID, ThnBuku, MataUangID, Real12,
updatedBy)
select JUD.AkunID, @vTahun, @vCur, isnull( @vReal, 0 ),
JUD.UpdatedBy
from inserted JUD INNER JOIN
TJUHdr JUH ON JUD.JUHdrID = JUH.JUHdrID
where ( JUD.AkunID = @vAkunID ) and ( CAST( year( JUH.TglJurnal
) as char( 4 )) = @vTahun )
end
else -- Jalankan update perbulan
begin
if @vBulan = 1
update HAkun
set Real01 = isnull( Real01, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 2
update HAkun
set Real02 = isnull( Real02, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 3
update HAkun
set Real03 = isnull( Real03, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 4
update HAkun
set Real04 = isnull( Real04, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 5
update HAkun
set Real05 = isnull( Real05, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 6
update HAkun
set Real06 = isnull( Real06, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 7
update HAkun
set Real07 = isnull( Real07, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 8
update HAkun
set Real08 = isnull( Real08, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 9
update HAkun
set Real09 = isnull( Real09, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 10
update HAkun
set Real10 = isnull( Real10, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 11
update HAkun
set Real11 = isnull( Real11, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
else if @vBulan = 12
update HAkun
set Real12 = isnull( Real12, 0 ) + isnull( @vReal, 0 ),
updatedBy = @vupdatedBy
where ( AkunID = @vAkunID ) and ( ThnBuku = @vTahun ) and (
MataUangID = @vCur )
end
- untuk contoh kasus diatas, maka isi dari tabel tersebut adalah
sbb :
JUDtlID, JUHdrID, AkunID, NoVoucher, Transaksi, Debet, Kredit, dtCreated,
dtModified, UpdatedBy
1, 1, 1, SA, Saldo Awal, 2500000, 0, [automatic], [automatic], 'PRGMR'
2, 1, 21, SA, Saldo Awal, 0, 2500000, [automatic], [automatic], 'PRGMR'
3, 2, 2, SB, Starting Balance, 125, 0, [automatic], [automatic], 'PRGMR'
4, 2, 22, SB, Starting Balance, 0, 125, [automatic], [automatic], 'PRGMR'
5, 3, 17, Faktur 0001, Penerimaan Barang A, 1000000, 0, [automatic],
[automatic], 'PRGMR'
6, 3, 29, Faktur 0001, Penerimaan Barang A, 0, 1000000, [automatic],
[automatic], 'PRGMR'
7, 4, 18, Invoice 0001, Receiving article B, 100, 0, [automatic],
[automatic], 'PRGMR'
8, 4, 30, Invoice 0001, Receiving article B, 0, 100, [automatic],
[automatic], 'PRGMR'
9, 5, 29, Kwitansi 1111, Pembayaran Faktur 0001, 1000000, 0, [automatic],
[automatic], 'PRGMR'
10, 5, 1, Kwitansi 1111, Pembayaran Faktur 0001, 0, 1000000, [automatic],
[automatic], 'PRGMR'
11, 6, 30, Check 2222, Pay Invoice 0001, 100, 0, [automatic], [automatic],
'PRGMR'
12, 6, 2, Check 2222, Pay Invoice 0001, 0, 100, [automatic], [automatic],
'PRGMR'
Nah, dari penjelasan pada bagian sebelumnya dan diatas, anda sudah dapat
membuat desain database untuk program akuntansi.
Best Regards,
Dhani Aristyawan, S. Kom.
IT Supervisor
PT. ALP Petro Industry
Desa Kebonsari - Legok
Pasuruan - 67155
Phone : +62 343 853308 Ext. 62
FAX : +62 343 853307
Visit me @ <http://dasmaniacool.blogspot.com/>
http://dasmaniacool.blogspot.com
[Non-text portions of this message have been removed]