Dear Mas Agus,
Untuk mendapatkan nilai dari suatu item, anda dapat menggunakan
procedure COPY dan function NAME_IN.
Misalkan anda ingin mendapatkan memasukkan nilai dari flag[n], maka
anda dapat menggunakan perintah dibawah ini :
Seandainya block bernama TEST dan n mewakili dynamic value (1-5) :
1> COPY(NAME_IN('TEST.flag'||n),'GLOBAL.VarA');
2> :VarA:=:GLOBAL.VarA;
CATATAN: Pengembalian value dari NAME_IN akan selalu berupa VARCHAR2.
Kelemahan dari COPY adalah destination yang dituju tidak dapat
langsung ke program unit variable sehingga mungkin dapat di-"akal"-i
melalui pancingan ke global variable kemudian dipindahkan kembali ke
program unit variable (seandainya diinginkan) seperti contoh line 2,
kalau line 2 tidak dijalankan juga tidak masalah dan anda tinggal
menggunakan isi dari Global variable tersebut.
Sebenarnya dengan cara mas Awal juga valid dan tetap dapat dilakukan,
hanya ada kemungkinan degradasi performance karena aplikasi harus
melakukan GO_BLOCK, selain itu GO_BLOCK merupakan restricted procedure
dimana untuk kondisi tertentu tidak dapat bekerja dengan baik
(misalkan seandainya text item yang dituju merupakan display item).
Semoga masukan ini dapat membantu anda.
Warm regards,
Franko Lioe
--- In [email protected], Awaluddin Hamid <[EMAIL PROTECTED]> wrote:
>
> Pake kombinasi built-in GO_ITEM dan :SYTEM.CURSOR_VALUE.
> Ketika ingin mengambil nilai di item Flag-n, kita paksa cursor ke item
> itu dulu
> GO_ITEM('block.flag'||n);
> VarA := :SYSTEM.CURSOR_VALUE;
>
> Awal
>
> agus sulaiman wrote:
> >
> > Kepada Teman-teman semuanya,
> >
> > Ada yang ingin saya tanyakan mengenai item pada oracle developer.
> > Bagimana cara kita mengetahui isi nilai atau value dari sebuah item
> > pada sebuah datablock pada saat run time.
> > Berikut contoh case-nya:
> >
> > Misalkan saya mempunyai sebuah item text 5 buah, masing2 saya beri
> > nama flag1 s/d flag 5. biasanya kalo kita ingin mengetahui isi nilai
> > dari sebuah item kita hanya menset kesebuah variabel berikut
contohnya :
> >
> > VarA:=:flag1;
> >
> > yang jadi pertanyaan saya adalah bagaimana kita dapat mengetahui
nilai
> > item flag1 sampai flag5 dengan cara dynamic bukan statis. apakah ada
> > caranya ? karena saya mencoba dengan VarA:=:flag||1;
> > akan terjadi error karena tidak terdapat item flag.
> >
> > saya coba dengan cara get_item_property, tetapi di help oraclenya
> > tidak ada yang mengembalikan nilai dari item tersebut yang ada hanya
> > property enable,visible,item_name,width dan lain-lainnya.
> >
> > Mungkin teman-teman ada yang sudah pernah mencobanya dan bisa
membantu
> > saya?
> > Sebelumnya terima kasih.
> >
> >
> > Salam,
> > Agus.
> >
> > ---------------------------------
> > Ahhh...imagining that irresistible "new car" smell?
> > Check outnew cars at Yahoo! Autos.
> >
> > [Non-text portions of this message have been removed]
> >
> >
>