Rapor Üreticisi, kullanıcı tarafından hazırlanmış sorgularla programda raporlama yapılmasını sağlayan bir raporlama aracıdır. Kullanıcı, listeleme için hazırlamış olduğu sorgu ile programda da istediği listelemeyi yapar ve bu listeleme için gerekli filtre, sıralama seçeneklerini belirler. Hazırlanan rapor menü ağacına eklenebilir.

Rapor üreticisi menü seçeneğine Yönetim Karar Destek menüsünden Ana Kayıtlar altından ulaşılır.

Rapor üreticisi penceresinde yeni bir rapor eklemek için F9 menüsünden ya da sağ fare tuşu ile "Ekle" seçeneği kullanılır.

Ekle ile gelen pencerede, oluşturulacak rapor ve tasarım için ön bilgiler girilir.
Adı: Eklenecek raporun adı girilir.
Tipi: Liste ve Detaylı Liste olmak üzere iki seçenekten eklenecek rapora uygun olan kullanılır. Detaylı liste seçilmesi durumunda iki tablo arasındaki ilişki ve detaylı bir liste raporu tanımlanır.
Statü: Kullanımda/Kullanım Dışı seçimi yapılır.
Başlık: Raporlama yapıldığında listelenecek başlık bilgisinin girildiği alandır.
Başlık Bilgisini Filtreden Al: Rapor başlığının filtrelerden belirlenebilmesi için seçilir. Bu durumda filtrede başlık bilgisi verilmediği durumda başlık listelenmez.
Başlık Tüm Sayfalara Basılsın: Rapor başlık bilgisinin tüm sayfalara basılması isteniyorsa, işaretlenmelidir.
Kullanıcı Sıralama ve Gruplamayı Değiştirilebilsin: Rapordaki mevcut listeleme ve gruplamanın kullanıcı tarafından değiştirilebilmesi isteniyorsa işaretlenir.
Erişim Ağacındaki Yeri: Raporun erişim ağacında hangi menüde listeleneceği girilir.

Raporlama öncesinde çalışacak cursor, view vb. için hazırlanmış sorgular raporlama öncesi çalışacak sorgu penceresinden girilir.

Rapor Sorgusu penceresinde, listeleme için kullanılacak sorgu girilir. Bu pencerede, rapor tasarımının dışarı alınıp başka bir firmada içeri alındığında sorun oluşturmaması için, firma ve dönem bilgisi girilmeden tablo isimleri küme parantezi içinde girilebilir. İstenirse sol alt köşedeki "SQL" ikonundan query editörüne ulaşılabilir.


Raporda listelenecek kolon başlıkları, Rapor Alanları penceresinden manuel olarak girilebileceği gibi, sağ fare tuşundan öndeğer başlıklar da yüklenebilir. Rapor alanları penceresinde mevcut kolonlar ve işlevleri aşağıdaki gibidir.

Rapor Alan Adı: Raporda listelenecek kolon başlığı
Rapor Alanlarında Göster: Rapor tasarımında, veri alanlarında ilgili alanın listelenmesi/listelenmemesi belirlenir.
Öndeğer Tasarımda Göster: Veri alanlarında listelenecek bir alanın, öndeğer tasarımda tanımlanmış/tanımlanmamış olmasını belirler.
Öndeğer Tasarım Toplamında Göster: İlgili alanın toplamının alınması için kullanılır.
Öndeğer Tasarım Grup Toplamında Göster: Öndeğer tasarımda gruplama yapılmışsa, grup bazında toplam alınmasını belirler.
Alan Genişliği (mm): İlgili alan için ayrılacak genişlik bilgisi girilir.
Gösterim Şekli: Alanlar türüne göre Numeric, text, date formatında listelenebilir. Numeric alanlar için kullanıcı tarafından Pict List seçimi yapılması durumunda Uygulama Alt Liste ve Özel Liste alanları aktif duruma gelir.
Uygulama Alt Liste: Pict list seçilmesi durumunda database'den dönen bilgilerin karşılığı öndeğer olarak eklenmiş uygulama alt listesinden seçilebilir.
Özel Liste: Uygulama alt listesinde yer almayan listeler, kullanıcı tarafından özel listede hazırlanabilir.

Filtreler penceresinde, hazırlanan rapor için seçilebilecek filtre hazırlanır.

Son aşamada, "Tasarla" seçeneği ile, sorgu ile listelenecek veriler için hazırlanan öndeğer tasarıma girilebilir. Daha önce kaydedilmiş öndeğer tasarımın, raporda yapılan değişiklik nedeniyle yeniden eklenmesi isteniyorsa "Mevcut Tasarımı Sil" seçeneği kullanılır. Mevcut tasarımı sil seçeneğinin ardından "Tasarla" seçeneği ile yeni bir öndeğer tasarım eklenir.
Raporda sıralama ve gruplama yapılmak isteniyorsa, Sıralama-Gruplama butonundan istenen seçimler yapılabilir. (Bkz: Kullanıcının sıralama ve gruplamayı değiştirebilmesi konusu Sıralama- Gruplama penceresi)

Şifre: Eklenen rapor için verilecek şifre ile; değiştir, kopyala ve dosyadan oku işlemleri için şifre sorulması, doğru şifrenin girilmemesi durumunda işlem yapılmasının engellenmesi sağlanabilir.
Tasarımın kaydedilmesi durumunda "Son" seçeneği ile rapor tasarımı tamamlanır.

Hazırlanan rapor, rapor tanımı üzerinde F9-Test seçeneği ile çalıştırılabilir.


Şifre Kontrolleri

Şifre verilerek kaydedilmiş rapor tanımına girilmek istendiğinde, şifre girişi penceresi açılır.

Şifrenin yanlış girilmesi durumunda, "Hatalı Şifre!" mesajı alınır, işlem yapılamaz.



DETAYLI RAPOR TANIMI

Detaylı Liste hazırlanmak istenmesi durumunda, Genel penceresinde "Detaylar Filtreye Göre Listelensin" seçeneği işaretlenmelidir. Bu durumda rapor sihirbazında ilerlendiğinde detayda listelenecek bilgi için "Detay Sorgu" penceresi açılacaktır. Aşağıdaki işlem adımları takip edilerek bu pencereye ulaşılabilir.






Görüldüğü üzere, muhasebe fişlerinin listeleneceği raporda fiş satırlarının da listelenebilmesi için EMFLINE table'ı detayda belirtilmiştir. Bu işlemin ardından Detay alanları ve fiş table'ı EMFICHE ile muhasebe satırlarının tutulduğu EMFLINE arasındaki referans ilişkisi için "Rapor Sorgusu-Detay Sorgu İlişkileri" penceresine ulaşılır.












KULLANICININ SIRALAMA VE GRUPLAMAYI DEĞİŞTİREBİLMESİ

Rapor sihirbazında genel penceresinde, kullanıcının sıralama ve gruplamayı değiştirebilmesi izni verilmişse, rapor filtrelerine "Sıralama ve Gruplamayı Değiştir: Hayır/Evet" seçeneği eklenir.

Filtrenin evet olarak seçilmesi durumunda, Sıralama-Gruplama penceresi açılır ve istenen seçimler yapılabilir.


KULLANICI HAKLARI

Rapor üreticisi ile eklenen raporların, hangi firmalarda hangi kullanıcılar tarafından kullanılabileceği, rapor üzerinde Değiştir\Kullanıcı Hakları menüsünden belirlenir..
Kullanıcı hakları seçeneği ile ilk olarak firma seçimi ardından da seçilen firmadaki kullanıcı yetkileri belirlenir.


Kullanıcı haklarının verilmesinin ardından ilgili kullanıcı, rapor sihirbazının Genel penceresinde belirtilen erişim ağacında ilgili raporu kullanabilir.

DİĞER SEÇENEKLERİ



Kullanıcı rapor tasarımlarını ve kayıtlı filtreleri sil
Kopyala
Dosyadan Oku Dosyaya Aktar
Yönetim Karar Destek\Ana Kayıtlar penceresinde; tasarlanan rapor üzerinde F9-Diğer seçenekleri:

Kullanıcı rapor tasarımlarını ve kayıtlı filtreleri sil: Kullanıcıların ilgili rapor için hazırlamış oldukları rapor tasarımları ve filtreler silinebilir. Seçilmesi durumunda aşağıdaki mesaj alınır.
Dosyadan Oku: Daha önce hazırlanıp dışarı aktarılmış rapor tanımları içeri alınabilir.
Dosyaya Aktar: Hazırlanmış rapor tanımı dosyaya yazdırılabilir.
Kopyala: Mevcut tasarım kopyalanabilir.

SORGU İÇERİSİNDE GÖMÜLÜ FİLTRE KULLANIMI VE FİLTRE ÖNDEĞERİ


Gömülü Filtre

Rapor üreticide standart filtre kullanımında, uygulama öncelikle sorgu cümlesine göre çalışmakta ardından verilen filtreyi dikkate alarak listelemeyi yapmaktadır. Sorgulama işlemini, istenilen kriterlere göre yaptırıp sonuca daha hızlı ulaşabilmek için gömülü filtre özelliği kullanıma açılmıştır.

Gömülü filtre uygulaması kapsamında aşağıdaki fonksiyonlar kullanılabilir. X: Filtreler penceresinde tanımlanan filtrenin satır numarası olmak üzere;

{FLTDATEBEG(x)}

Başlangıç tarihi

{FLTDATEEND(x)}

Bitiş tarihi

{FLTDATEVAL(x)}

Tek bir tarih kullanımı

{FLTSTRBEG(x)}

Metin aralığının başlangıç değeri

{FLTSTREND(x)}

Metin alanının bitiş değeri

{FLTSTRVAL(x)}

Metin alan değeri

{FLTNUMBEG(x)}

Sayı aralığının başlangıç değeri

{FLTNUMEND(x)}

Sayı aralığının bitiş değeri

{FLTNUMVAL(x)}

Sayı alanı değeri


Örnek Kullanım:

EMFICHE tablosunda muhasebe fiş numarası filtresini gömülü filtre olarak kullanalım. Sorgu cümlemiz:

SELECT *

FROM

{EMFICHE}

WHERE

FICHENO BETWEEN {FLTSTRBEG(1)} AND {FLTSTREND(1)}

Fonksiyon içerisindeki 1 değeri, filtreler ekranında ilgili filtrenin sıra numarasıdır. Filtreler ekranında ilgili filtre satırında "Sorgu İçinde Kullanılacak" seçeneği işaretlenmelidir.

Bu durumda çalışan sorgu aşağıdaki gibidir:

SELECT * FROM (SELECT * FROM LG_002_01_EMFICHE WHERE FICHENO BETWEEN '00000051' AND '00000060') AS DYNMQRY

Sorgu içinde gömülü filtre kullanılmaması durumunda aşağıdaki sorgu çalışır.

SELECT * FROM (SELECT * FROM LG_002_01_EMFICHE ) AS DYNMQRY WHERE ((DYNMQRY.\[FICHENO\] >= '00000051') AND (DYNMQRY.\[FICHENO\] <= '00000060'))


Filtre Öndeğeri

Raporda filtre kullanımında, filtre ekranına öndeğer gelmesi istenen değerlerin verilebilmesi için FİLTRELER penceresine "Filtre Öndeğeri" kolonu eklenmiştir.

Filtre Öndeğeri seçimi durumunda aşağıdaki pencere açılır ve kullanıcı öndeğerlerini girebilir.





1.85 SÜRÜMÜ İLE YAPILAN DÜZENLEMELER

1-Rapor üretici içerisinde Firma ve Dönem numarasının ayrı ayrı parametre ile tanımlanabilmesi sağlandı.

LG_{FIRMNR}_{PERIODNRPP}_INVOICE

2-Rapor üretici filtre tanımlama ekranında "Çoklu Seçim" yada "IN" fonksiyonunun kullanılması sağlandı. IN fonksiyonunun {FLTGRPSELNOT(...)} ve {FLTGRPSEL(...)} parametreleri ile kullanılması sağlandı; iki parametrenin birlikte kullanılması gerekir.

Rapor üreticinin filtre sekmesinde, filtre grup seçimi olarak tanımlanır. Uygulama listelerinden seçim yapılmaz, özel liste kısmına sorguda kullanılmak istenen değerler girilir.

Kullanım şekli:

L.SOURCEINDEX {FLTGRPSELNOT(4)} IN ({FLTGRPSEL(4)})
Ambar 0,1,2 : L.SOURCEINDEX IN (0,1,2)
Ambar 1 : L.SOURCEINDEX IN (1)
Ambar seçili değil : L.SOURCEINDEX NOT IN (0,1,2) --> sorgu hatasına neden olmamak için filtrede ambar seçilmediğinde {FLTGRPSELNOT(...)} seçeneğinin NOT ifadesinin gelmesi için eklenir.

Rapor üretici içerisinde;


SOURCEINDEX {FLTGRPSELNOT(4)} IN ({FLTGRPSEL(4)})

Filtre tanımlarında 4. sırada ambar bilgisinin tanımlandığı gömülü filtre olmalıdır.


Bu şekilde tanım yapıldıktan sonra;


"Ambar No" alanında istenilen ambar bilgileri seçilerek gömülü filtre gönderildiği zaman sorunsuz döküm alması sağlanır.

3-Rapor Üreticide Filtreler penceresinde Uygulama Kayıtlarından Seçim alanına; Malzeme kartının Market penceresindeki "Grup Kodu" , "Reyon Kodu" ve "Marka Kodu" alanları eklendi.

Program içerisinde Market Modülü yüklü olduğu zaman çalışır.


1.86 SÜRÜMÜ İLE YAPILAN DÜZENLEMELER

1. Firmaların ayrı database de kullanımına yönelik olarak Rapor üretici içerisinde kullanılan database bilgisini alması için "{FIRMDB}..tablo_ismi" parametre olarak verilmesi sağlanmıştır.
{FIRMDB}..LG_108_01_GNTOTST
{FIRMDB}..LG_{FIRMNR}_{PERIODNRPP}_INVOICE

2. Rapor üretici içerisinde "Filtreler" penceresinde "Uygulama Kayıtlarından Seçim" alanına
Projeler (kod)
Projeler (açıklama)
Fatura Özel Kodu (Alış)
Fatura Özel Kodu (Satış)
Hareket Özel Kodu (Fatura) Eklenmiştir.

3-Rapor Üretici raporları içerisine Seri/Lot sorunlarının tespit edilmesine ve düzeltilmesine yönelik olarak iki tane rapor eklenmiştir.


Seri/Lot Kalan Miktar Kontrol Raporu : Seri/Lot kullanılan malzemelerde SLTRANS tablosundaki kalan miktarları hatalı olan malzemelerin tespit edilmesi için rapor çalıştırılır.

Malzeme Kodu, Malzeme Açıklaması veya Seri/Lot Numarası verilerek istenilen malzemeler için çalıştırılabilir ya da filtre verilmediği zaman malzeme kartı içerisinde izleme yöntemine bakılarak tüm malzemelerin Seri/Lot hareketlerindeki kalan miktar bilgileri kontrol edilir.


Kalan Miktar: Raporda yer alan kalan miktar SLTRANS tablosunda yer alan Kalan miktar bilgisini içerir.
Kontrol Miktarı: SLTRANS tablosu kontrol edildiğinde olması gereken miktar bilgisini içerir.
Seri/Lot Kalan Miktar Update: Seri/Lot hareketleri hatalı olan malzemeler rapor ile tespit edildikten sonra düzeltilmesine yönelik olarak "Seri/Lot Kalan Miktar Update" raporu malzeme kodu filtresi verilerek çalıştırılabilir.



• Kontrol Miktarı ( + ) olan malzemeler için rapor çalıştırılmalıdır. ( - ) olan malzemeler için çalıştırıldığı zaman SLTRANS tablosunda REMAMOUNT ve REMLNUNITAMNT kolonlarına ( - ) değer atar. Bu yüzden Kontrol miktarı ( - ) olan rakamların referans bağlantıları elle düzeltilmelidir ya da bağlantılar kontrol edilmelidir.
• Malzeme kodu verilerek çalıştırılmalıdır. Malzeme kodu verilmezse ya da yanlış verilirse çalışmaz.



Rapor bittiğinde malzeme kodu alanında hangi malzeme için çalıştığı bilgisi yazar.Rapor Üretici raporları içerisine malzeme miktarlarını kontrol etmek için Malzeme ambar durum raporu eklenmiştir.




1.88 SÜRÜMÜ İLE YAPILAN DÜZENLEMELER

"Tasarla" seçeneği ile sorgu ile listelenecek veriler için hazırlanan öndeğer tasarıma girilebilir. Daha önce kaydedilmiş öndeğer tasarımın, raporda yapılan değişiklik nedeniyle yeniden eklenmesi isteniyorsa "Mevcut Tasarımı Sil" seçeneği kullanılır. Mevcut tasarımı sil seçeneğinin ardından "Tasarla" seçeneği ile yeni bir öndeğer tasarım eklenir.

1.88 versiyonla birlikte önceki rapor tasarımı silindikten sonra "Tasarla" işlemi ile yeni rapor tasarımı oluşturulduğu zaman "Tablo kolonları" bilgisi otomatik eklenir.

1.88 versiyondan önce yapılmış olarak raporlar için tablo kolonları eklenmesi isteniyorsa; "Mevcut Tasarımı Sil" işlemi yapılarak rapor tasarımı silindikten sonra "Tasarla" işlemi ile tablo kolonlarının gelmesi sağlanabilir.


Eski rapor tasarımında "Tasarla" işlemi yapıldığı zaman Tablo kolonları boş gelir.

"Mevcut Tasarımı Sil" sonrasında "Tasarla" işlemi yapıldığında yukarıdaki gibi tablo kolonları otomatik olarak gelir.





1.89 SÜRÜMÜ İLE YAPILAN DÜZENLEMELER

1-Raporu alan kullanıcının SQL Profiler da ApplicationName kolonuna giden bilginin listelenmesi için {APPNAME} fonksiyonu eklenmiştir.

{APPNAME} fonksiyonu queryde kullanıldığı zaman ekteki gibi sonuç listelenir.
Ör: LOGO_ERP1_0_TURANG_4780_0

2-Rapor üretici içerisinde GROUP BY kullanılarak hazırlanmış bir sorgunun olduğu tasarıma "TASARLA" işlemi yapıldığında toplam alanındaki değerin üzerine çift tıklanarak açılan gösterim şeklinin değiştirilebilmesi sağlanmıştır.


1.90 SÜRÜMÜ İLE YAPILAN DÜZENLEMELER

1. Rapor Üretici içerisinde Filtre alanında, Listeden Seçim veya Gruptan seçim filtresi tanımlandıktan sonra rapor alırken ilgili filtre seçili gelmediği için 0 değer döndürüyordu, seçili gelmesi sağlandı.



Özel liste içerisinde öndeğer olarak istenilen alan seçildikten sonra;

2. Rapor Üretici içerisinde, Filtre alanında Çoklu seçim yapılarak ilgili kayıtların sorgu içinde IN cümlesi olarak gönderilmesi sağlandı.

Rapor üretici içerisinde detaylı filtre kullanımı aşağıda belirtildiği şekilde olmalıdır.

WHERE CODE IN ({FLTDETAILEDSEL(1)})

Filtreler alanında tanımladıktan sonra;



Ekteki gibi detaylı filtre girilerek;

Rapor çalıştırıldığında;
SELECT *** FROM
(SELECT
I.CODE, I.NAME, SUM(L.LINENET) AS LINENET
FROM
LG_009_02_STLINE L
LEFT OUTER JOIN LG_009_ITEMS I ON L STOCKREF I LOGICALREF AND L.LINETYPE NOT IN (2,3,4)
WHERE
CODE IN ('0001','0002','0009')
GROUP BY
I.CODE, I.NAME) AS DYNMQRY
Query gitmesi sağlanmaktadır.

3-Muhasebe raporları içerisinde bulunan iki tarih arası mizan raporu sorgu olarak hazırlanıp rapor üretici eklenmiştir. Firma üzerinde tabloları sürüme göre güncelleme işlemi sonrasında gelen mesaja tamam olarak geçildiğinde;

Mizan raporu alınabilir.