11
Oct
16

REP-498

The report terminated with error:
REP-498: The number of columns selected by the query is incompatible with the report definition.

This time is the reports error. If you happened to worked on reports long enough, this might seem familiar.
Well, when there is a bad habit of using “select *”, we cannot expect the reports to reanalyze the object when there is a structural change.

For example, when I add a column on the table, then re-running the reports might fail with this error.
You will need to explicitly mention the column name on the reports.

20
Dec
12

The Analyst Way

Recently, i have just returned to my old post. During this transition period, amazingly there are lots of issues happening on client side. It can be 4-5 issues each day. im talking about production issues where you cannot leave in peace until remedies were introduced to the application. And amazingly, this is a bank with 65K employees worldwide. But i dont want to talk about the issue right now. Please.

Something interesting happening though, which i thougt i will pass this along.

On my days as a freshman, when someone raise an application issue, ill just ask for error message, and then dig into the codes quickly just to find out this is caused by ABC hence it is showing XYZ. But now i am experiencing what my seniors told me before..such as :

– dont just jump to conclusion, understand the input and output of the action (programs, triggers, you name it) and how does it look on the data(base)
-isolate the problem first, MOST of the times the error is just a symptom of the root cause
-try to look the action from the accounting perspective (this is relevant when the action is economic i.e change of payment date, tenor, etc)
-ask BASIC questions.. has this issue happened before, is the user doing it the right way (internship on 1st day? doh!), do we have the reports to support what have been said by the user, etc
-if you have framework analysis that will be great.. but dont ask all from your list of questions.. with more exercise you will be able to accurately isolate the issue using (fairly) few questions.

Let see if i can manage this unconciously (read:auto habit mode). cheers.

 

14
Apr
11

Miracle Still Happens

Title		: Mujizat Masih Ada
Song & Lyric	: Niko Njotorahardjo & Welyar Kauntu
F
Tuhan Engkau ajaib bagiku
F                Dm           Gm  C
Tak ada yang tak mungkin bagi-Mu
Am                  
Kau yang telah berfirman
Dm           Bb
dan semuanya jadi
Gm               C      F
Tuhan Engkau ajaib bagiku
Reff:
Bb
Sungguh kupercaya
Am              Dm
Tiada yang mustahil
Gm              C            F
Mujizat masih ada dalam hidupku
Bb
Sembuhkan sakitku
Am           Dm
Pulihkan jiwaku
Gm            C        F
Mujizat masih ada dalamku
11
Oct
10

How to Recognize DML Origins within Table

Pernahkah anda mengalami kondisi dimana nilai pada suatu kolom di Table X berubah tanpa sepengetahuan kita, atau, dengan kata lain, kita tidak tahu SQL Object (Packages, Function, etc) yang melakukan DML terhadap Table X?

Berikut ini contoh untuk memonitornya menggunakan bantuan trigger.. (kasus DML Update)

CREATE OR REPLACE TRIGGER <schema>.<trigger_name>
 BEFORE UPDATE OF <nama_kolom_yg_mau_dimonitor>
 ON <schema>.<nama_table>
 REFERENCING NEW AS NEW OLD AS OLD
 FOR EACH ROW
DECLARE
 vchstr      VARCHAR2 (32767);
BEGIN
 FOR arec IN (SELECT USER, program, machine, obj.object_name,sq.sql_text
 FROM v$session s,
 v$sql sq
 ,dba_objects obj
 WHERE s.audsid = USERENV ('sessionid')
 AND sq.sql_id = s.sql_id
 and obj.object_id = sq.program_id)
 LOOP
 vchstr :=
 'USER:'
 || TRIM (arec.USER)
 || '_PROG:'
 || TRIM (arec.program)
 || '_@:'
 || TRIM (arec.object_name)
 || '@SQL:'
 || TRIM (arec.sql_text);
 EXIT;
 END LOOP;

 <panggil program untuk menulis VCHSTR ke dalam log table>

EXCEPTION
 WHEN OTHERS
 THEN
 -- Consider logging the error and then re-raise
 RAISE;
END;

That’s it. Hope it helps..

28
Sep
10

Coffee House – SY’s Cafe Staff

Recently watched Coffee House, a Korean drama aired on SBS.
The story quite amusing, simply entertaining..
But, I wonder who she is? not listed on the additional cast..
i think she appeared on more than 3 episodes.. isn’it weird not to have a credit?

28
Sep
10

Today is 好的天

Well, finally have some time to write again. i think it’s true that some event, or some ideas you don’t write, it becomes blurry, and in the matter of no time, i happened to lost it. Just the feeling remains, that it was a good ideas or so. But the idea itself hardly comes back again.
However, like i said, today is a good day, and so are the other days.
Because our Lord Jesus made the day.
Because of Him there is tomorrow.

Recent news, the northern Jakarta is having issues.. about the rising sea-level. RE Martadinata already went down (half). Now it is Muara Angke’s fish market. What’s next? dunno. The expert says many areas of North Jakarta will be filled with water in 2050. Hmm.. i think it might be tough for the property agent.

So, did i say it is a good day? something is awry? Well, not really. for me, everyday is mercy. me, a daily sinner, to have a priviledge to worship Him, to experience Him, to have His blessings, guidance, forgiveness, love, and many more. Isn’t it called grace? Even He gave His blood to bought me, so i become His. many thanks Lord.

Anyway, the second coming is getting nearer by day. It is not easy to believe that Lord Jesus will coming shortly. Many will mock, or say, “So? what about that?”. me too. at first i said, is it possible, i mean, in 5 years from now or less? but, seeing the world today, and hearing the prophetic messages from around the world,  i have to admit that the time is near, but still, nobody cannot tell the exact time. (Matthew 24:36)

What we can do about it ? obviously this talks about holiness. (Hebrew 12:14)
How to be “holy” ? first, have faith in Lord Jesus. second, absolutely need His Holy Spirit. third, get yourself to be lead by Holy Spirit, and dont forget to read the bible.

Have a good day, GBU.

09
Jun
10

Cek Pulsa Via SW Modem

Tutorial Cek Pulsa Sierra Wireless 885 lewat HyperTerminal :

1. Cari tahu koneksi modem lewat COM berapa (Caranya lewat Device Manager -> Port)
2. Pastikan tidak ada program yang menggunakan modem tersebut
3. Buka Hyperterminal, lakukan koneksi ke COM yang didapat tadi, (SEMBARI NYALAKAN SIERRA WIRELESS WATCHER, JGN DICONNECT)
4. Dalam keadaan transparan / invisible, ketik ATE1 <enter>(agar perintah bisa terlihat)
5. Sekarang ketikan sudah bisa terlihat.
6. Ketik AT+CFUN=1 (untuk turn on modem dan cari sinyal -> optional)
7. Ketik AT+CUSD=1,kode_cek_pulsa,15
8. Untuk mematikan modem ketik, AT+CFUN=0 atau close saja hyper terminal nya

09
Jun
10

How To : Be Saved

Roma 3:23 Karena semua orang telah berbuat dosa dan telah kehilangan kemuliaan Allah
Rome 3:23 For all have sinned, and come short of the glory of God;

Everybody should know and aware that sin is automatically inherited when someone is born. Children is not that innocent if we refer to the law, sometimes they are egocentric, and can lie to avoid punishment.

Kisah Para Rasul 4:12
Dan keselamatan tidak ada di dalam siapapun juga selain di dalam Dia [Yesus],
sebab di bawah kolong langit ini tidak ada nama lain yang diberikan kepada manusia yang olehnya
kita dapat diselamatkan.

Acts 4:12 Neither is there salvation in any other:
for there is none other name under heaven given among men, whereby we must be saved.

We cannot save ourselves, no matter what we do.

Efesus 1:7
Sebab di dalam Dia dan oleh darah-Nya kita beroleh penebusan,
yaitu pengampunan dosa, menurut kekayaan kasih karunia-Nya

Ephesians 1:7 In whom we have redemption through His blood, the forgiveness of sins,
according to the riches of His grace;

It’s only by His grace, if we believe, then our sins are forgiven.
So take a step now..ask Jesus to come into your life, you can even ask Him personally to give you sign to strengthen one’s faith. The good news is salvation already paid by Jesus, it is not free in the first place.

When He came into the world as human, He chose the manger/stable, to show humbleness. His second coming will be in full glory, I only could imagine.
We will never know when we will breathe our last, lets use our time wisely.
God bless You !

15
Feb
10

SQL Rowcount

Semuanya berawal minggu lalu. Karena lama ga pake jurus yang satu ini jadi harus digugel ulang ( dari kata kerja “gugel” ditambah awalan “di-” ).

So, kasusnya waktu itu adalah mengetahui jumlah record yang terupdate di database,
pada saat dilakukan UPDATE statement dari Oracle forms. Cara yang sepintas terpikir adalah melakukan select count dengan kondisi / where yang ada. Tidak efisien bukan? tentu saja. Bisa-bisa diomelin om DBA kalo mesin tiba2 ngadat.

Begini kurang lebih cara pakai jurusnya :

declare
nmbrowsaffected number := 0;
begin
update xxx
set col_a = ...
where ...;

nmbrowsaffected := sql%rowcount;

if nmbrowsaffected = 0 then
message('No effect bro..');
db_rollback;
else
db_commit;
end if;
end;

Cukup mudah bukan.. saya saja bisa, apalagi anda… sebagai catatan, sql rowcount ini hanya menghitung open dml/syntax yang terakhir dilakukan. Jadi apabila ada update sebelum update, yang terhitung hanya jumlah record terupdate yang terakhir.

Selain itu, untuk DML lainnya kurang lebih perlakuannya begini :

Statement %ROWCOUNT value
FETCH Number of rows returned by the fetched cursor, incremented 1 time for each successful fetch.
SELECT INTO 1, even if TOO_MANY_ROWS is raised
UPDATE Number of rows effected
DELETE Number of rows effected
INSERT Number of rows effected

Hanya harap diingat.
ada pantangannya dalam melakukan jurus ini…
yaitu pengguna jurus wajib menggunakan komputer…… waspadalah!

26
Jan
10

Online Sale

Several items i want to sell :

psu enlight 200 w + casing (2nd)
asus P3B-F mobo (2nd)
intel pentium 3 box (2nd)
psu power logic 450 W (new)
asus cd-rom 50x (2nd)

Harga very negotiable… just pm 😀




Blog Stats

  • 37,210 hits

Design a site like this with WordPress.com
Get started