Dalam kebuntuan, kita dipaksa untuk kreatif…

Entries from May 2007

2 or 3 tier

May 8, 2007 · 1 Comment

Metode mana yang lebih baik untuk client Axapta melakukan koneksi ke SQL Server ? Lewat 2 tier kah ata 3 tier ?

Apa itu metode 2 tier ? Yaitu metode koneksi antara client dengan server dimana aplikasi Axapta terletak di client dan data ada di server. Jembatan antara client dan server adalah ODBC.

Sedangkan 3 tier adalah metode koneksi antara client dengan server yang menggunakan AOS (Axapta Object Server). Apa lagi tuh AOS ? AOS adalah object yang bisa dipanggil oleh client Axapta untuk menjalankan aplikasi yang terletak di server. Jadi pc client Axapta bersifat sebagai dumb terminal, dimana aplikasi dan data yang dijalankan terletak di dalam satu mesin, yaitu mesin server.

AOS bersifat sebagai object multithread yang bisa dipanggil semua client yang terkoneksi ke server. Apa buktinya multithread ? Buktinya adalah AOS ini bisa dijalankan secara bersama-sama dari beberapa client di waktu yang bersamaan.

Saya lebih suka menggunakan AOS untuk koneksi antara client dan server. Karena tidak perlu lagi memikirkan bagaimana aturan domainnya,firewallnya, serta subnettingnya. Semua sudah diatur di object AOS. Jadi tinggal terima beres.

Powered by ScribeFire.

Categories: Axapta

Import/Export lewat Data Transformation Services

May 8, 2007 · Leave a Comment

Data Transformation Services (DTS) di SQL Server tidak bisa mengimport/export data/record langsung ke dalam tabel default Axapta. Kenapa ? Karena Axapta mempunyai field ‘RecId’ dalam setiap tabelnya, yang berisi nomor acak yang dihasilkan dari proses Import/Export Template. Nomor ini digunakan Axapta sebagai identifier antara tabel header dan detil. Kalau tidak sinkron antara header dan detil, bisa dipastikan akan terjadi kekacauan yang melelahkan jiwa.

Kalau begitu tidak ada cara lain untuk import data ke dalam tabel default Axapta yang ada di SQL Server kecuali lewat proses Import/Export Template.

Pernah saya diberi tahu teman, agar mengisikan field ‘RecId’ dengan sembarang nomor. Hah….tidak bisa…

Ada juga yang menyarankan, sewaktu import data lewat DTS tidak mengikutsertakan field ‘RecId’. Tidak bisa juga, bro….

Akhirnya daripada susah-susah lewat cara lain, akan lebih baik mengikuti standar import/export data, yaitu melalui proses Import/Export Template di Axapta. Sebenarnya saya masih nafsu untuk menemukan jalan lain…. ;)

Powered by ScribeFire.

Categories: Axapta

Statement mana yang menghapus recordmu ?

May 8, 2007 · 2 Comments

200 record dalam tabel CustInvoiceJour hilang karena statement query saya ? Statement yang mana ? Ini saya copy-paste kan query yang minggu kemarin saya execute. Tujuan saya melakukan query adalah untuk mengupdate field FakturPajakID dengan menambahkan karakter ‘A’ di belakang penomoran faktur pajak selama bulan Januari sampai Maret 2007. Tidak ada tujuan untuk menghapus record.

Dalam Axapta, tabel CustInvoiceJour, menyimpan semua invoice customer yang sudah digenerate no invoicenya menjadi nomor faktur pajak yang disesuaikan dari kantor Pajak. Di bawah ini querynya, coba diperhatikan ya :

use AxDB_KTN

select ItemGroupId,ItemId,Dimension3_
from InventTable
where DataAReaID = ‘ktn’ order by ItemGroupId

update InventTable
set Dimension3_ = ‘PRIN’
where DataAReaId = ‘ktn’ and rtrim(ltrim(ItemGroupId)) = ‘FG’

select InvoiceDate,PGI_TCT_FakturPajakId
from CustInvoiceJour
where DataAReaId = ‘ktn’ and Month(InvoiceDate) between ‘1′ and ‘3′
and Year(InvoiceDate)= ‘2007′
order by PGI_TCT_FakturPajakId


declare @var_PGI_TCT_FakturPajakId varchar(20)

select @var_PGI_TCT_FakturPajakId = PGI_tct_FakturPajakId
from CustInvoiceJour where DataAReaId = ‘ktn’ and Month(InvoiceDate) between ‘1′ and ‘3′
order by PGI_TCT_FakturPajakId

select @var_PGI_TCT_FakturPajakId+’A’


declare @var_PGI_TCT_FakturPajakId varchar(20)
set @var_PGI_TCT_FakturPajakId = 1

update CustInvoiceJour
set PGI_TCT_FakturPajakId = @var_PGI_TCT_FakturPajakId
(select @var_PGI_TCT_FakturPajakId = PGI_TCT_FakturPajakId
from CustInvoiceJour where DataAReaId = ‘kn’)
(select @var_PGI_TCT_FakturPajakId+’A')
–select @Counter = COUNT(*) from CustInvoiceJOur where DataAReaId = ‘kn’
–print @Counter


declare @var_PGI_TCT_FakturPajakId varchar(20)
while
 begin
    select @var_PGI_TCT_FakturPajakId = PGI_TCT_FakturPajakId from CustInvoiceJour
    print @var_PGI_TCT_FakturPajakId
end

select PGI_Tct_FakturPajakId
from CustInvoiceJour
where DataAreaId = ‘kn’

use AxDB_KTN

select InvoiceId,InvoiceDate,PGI_Tct_FakturPajakId
from CustInvoiceJour
where DataAreaId = ‘ktn’
order by PGI_TCT_FakturPajakId

select InvoiceDate,InvoiceId,PGI_TCT_FakturPajakId
from CustInvoiceJour
where DataAReaId = ‘ktn’ and Month(InvoiceDate) between ‘1′ and ‘3′
and Year(InvoiceDate)= ‘2007′
order by PGI_TCT_FakturPajakId

select *
from CustinvoiceJour
where rtrim(ltrim(InvoiceId)) = ‘FI07-0127′

use Ax_KTN_1
select InvoiceId,PGI_TCT_FakturPajakId
from CustInvoiceJour where rtrim(ltrim(InvoiceId)) = ‘FI07-0127′
order by PGI_TCT_FakturPajakId

– 26 April 07
update CustInvoiceJOur
set PGI_Tct_FakturPajakId = CustInvoiceJour.PGI_Tct_FakturPajakId+’A’
where DataAreaId = ‘kn’ and Month(InvoiceDate) = ‘1′ and Year(InvoiceDate)= ‘2007′

select InvoiceId,InvoiceDate,PGI_Tct_FakturPajakId,dataareaId
from CustInvoiceJour
where DataAreaId = ‘ktn’ and month(invoiceDate)=’1′ and Year(InvoiceDate)= ‘2007′
and left(ltrim(pgi_tct_fakturpajakid),4) = ‘010.’
order by InvoiceDate

update CustInvoiceJOur
set PGI_Tct_FakturPajakId = CustInvoiceJour.PGI_Tct_FakturPajakId+’A’
where DataAreaId = ‘kn’ and month(invoiceDate)=’1′ and Year(InvoiceDate)= ‘2007′
and left(ltrim(pgi_tct_fakturpajakid),4) like ‘010.’
order by InvoiceDate

select *
from CustInvoiceTrans
where DataAReaId = ‘ktn’ and month(invoiceDate)=’4′ and Year(InvoiceDate)= ‘2007′

use axdb_ktn_3
select * from CustInvoiceTrans
where DAtaAreaId = ‘ktn’ and month(InvoiceDate)=’3′ and Year(InvoiceDate)= ‘2007′

Cukup jelas bukan ?
Tidak ada statement yang meninstruksikan untuk menghapus record.

( Artikel pembelaan diri )

Powered by ScribeFire.

Categories: Axapta

Syukuran Akikah

May 7, 2007 · 1 Comment

Kami mengundang rekan-rekan yang berdomisili di Jakarta, untuk menghadiri acara syukuran akikah anak kami yang pertama. Bertempat di rumah kami.

Cawang III, Rt 11/08 No.1, Kel. Kebon Pala
Kec. Makassar, JakTim.

Pada hari Sabtu tanggal 12 May 2007 jam 12:00 s/d selesai.

Call me at 0813-1539-8951 or 8013419

Powered by ScribeFire.

Categories: Way of Life