20 Kasım 2013 Çarşamba

JBO-25077 : Name not found in the given object. Hatası ve çözümü

oracle.jbo.expr.JIEvalException: JBO-25077: Name [Variable Name] not found in the given object: ViewRow [oracle.jbo.Key[Row Key]].

şeklinde bir hata aldınız diyelim. Ve bu [Variable Name] ile [Row Key] değişkenleri yerine sizin değişkenleriniz var. Ne yapıyoruz böyle bir durumda diye soracak olursanız, işte bu yayında size bu durumdan bahsetmeye çalışacağım.

İlk olarak kendim bu problemle nasıl karşılaştığımı açıklayayım, daha iyi olur.

Efendim, bir sabah işe geldim ve en sık kullandığım View Object lerimden birini değiştirme ihtiyacı duyduğumu farkettim. Sonra bu ihtiyaca binaen, sözünü ettiğim View Object in sorgusunu manuel olarak (Entity kullanmaksızın) değiştirdim.

Gerekli başka değişiklerimi de tamamladıktan sonra bu View Object e yeni satırlar eklememi, yani Veri Tabanına kayıt girmemi sağlayan bir sayfamı debug mod da çalıştırdım. Aman Allah'ım, bir de ne göreyim, beynim den vurulmuşa döndüm. Aylardır sorunsuz çalışan sayfam bana bu hatayı veriyordu.


He sayfam adam gibi çalışmıyor muydu dersem yalan söylemiş olurum belki, ama ne işimi şansa bırakabilirdim, ne de müşterimizin böyle bir hatayla ekranı her açışında karşılaşmayı sorgusuz sualsiz kabul etmesini umabilirdim. Kısacası buradaki görevim henüz sona ermemişti.

Hemen hatanın sebeplerini araştırmaya başladım. Ve logumda patlayan stackTrace e bakınca yayının başına da eklemiş olduğum

oracle.jbo.expr.JIEvalException: JBO-25077: Name [Variable Name] not found in the given object: ViewRow [oracle.jbo.Key[Row Key]].

hatasını gördüm. View Objectimle ilgili bir sorun olduğunu söylüyordu bana içimden bir his. Tercihim hemen View Objecte bakmaktan yana oldu tabi. Hata karşımda duruyordu.


Query üzerinde yaptığım değişiklik attribute lerimi etkilediğinde JDeveloper View Object im üzerindeki bazı alanları etkileme ihtiyacı hissediyordu. Ve bu hisle yaptığı davranışlar şekildeki bug ımıza sebebiyet vermekteydi.

Özet:
Aslında Adi1 olan  değişkenim, benim isteğim dışında değiştirilmişti. Demek ki neymiş, page definition da bulunan bir Attibute adı, View Objectte bulunmadığında bu tür hatalarla karşılaşılabiliyormuşuz.

Çözüm:
Değişkenin ismini eski (Page Definition dakine uygun) haline döndürmek.

Summary
There is an element (attribute) in one of the Page Definitions and that element does not exist in the View Object anymore.

Solution
That is a JDeveloper bug. Change the attribute name back to its original state and you are good to go.

Hiç yorum yok:

Yorum Gönder