AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Destek › Processes › PROC-63

ERP RAPOR DÜZENLEME SÜRECİ V.1

SUPPORT_PROCESSMOD-RAPORERPGOLD_COREACTIVEHIGHDOCUMENTED
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Kaynak: KB-v1 08_SupportPlaybooks/Processes/PROC-63.mdSurecler/*.doc (destek süreç dokümanı; parola/IP/terminal maskelenmiş). Gerçeklik: DOCUMENTED — kodla doğrulanmış değil.

ERP RAPOR DÜZENLEME SÜRECİ V.1

Kimlik: PROC-63 · Ürün: ERPGOLDV2 · Kategori: Rapor ve bilanço · Katalog: ERP Rapor Düzenleme Süreci

Kaynak: AifaSoft destek süreç dokümanı (Word). Şifre, kullanıcı adı, terminal no ve IP bilgileri kaynak aşamasında maskelenmiştir; görseller resimli süreç kitabındadır.

Merhaba, Ben Onur Can “NRGN” ÖKSÜZ. Bu süreç dokümanında sizlere ERPGOLDV2 yazılımında bulunan raporlara sütun nasıl tanımlanır onu anlatıyor olacağım.

ERPGOLDV2 yazılımında raporlara müdahale edebilmemiz için veri tabanı kaynağı olan MSSQL SERVER üzerinden düzenlemeler yapmamız gerekiyor. Düzenleme yapacağımız konum genellikle MSSQL SERVER’da ki “table valued function”dır. Bu alana müdahale etmeden önce “table valued function” nedir sorusuna cevap verelim.

Table Valued Function Nedir ?

Scalar functions’dan farkı tek bir değer döndürmek yerine sonucu tablo olarak döndürmektedir. Bu tarz fonksiyonlar genelde SELECT * FROM cümleciğinden sonra kullanılmak üzere oluşturulmuştur.

(görsel — süreç kitabında)Örnek görsel 1.0.0

Yukarıda bulunan görsel (Örnek Görsel 1.0.0) bir “table valued function” örneğidir ve bu fonksiyon ERPGOLDV2 programında “İşlem Kontrol Raporu” nu oluşturmaktadır.

ERPGOLDV2’de Bulunan Raporu Özelleştirme

ERPGOLDV2 Yazılımında bulunan raporu özelleştirmekten kasıt; Sütun Ekleme/Düzenleme/Silme, Parametre Ekleme/Silme, Koşul Ekleme/Düzenleme/Silme vb. İşlemlerdir.

ERPGOLDV2’de Bulunan Raporu MSSQL SERVER’da Bulma

Düzenleyeceğimiz raporun ilk önce konumunu ERPGOLDV2 de bulunan “Aifa Developer Studio” dan tespit etmemiz gerekiyor. Bunun için yapılması gerekenler:

(görsel — süreç kitabında)

ERPGOLDV2 GİRİŞ

ERPGOLDv2 yazılımını açıp ADMIN kullanıcısına giriş yapıyor. ADMIN kullanıcısı, bütün alanları görme yetkisine sahiptir ve “Aifa Developer Studio” sekmesine bu kullanıcıdan erişilebilir.

AIFA DEVELOPER STUDIO GİRİŞ

(görsel — süreç kitabında)

Giriş yaptıktan sonra karşımıza ERPGOLDV2’nin arabirimi geliyor. Bu arabirimde üst sekmede bulunan “Aifa Developer Studio” ya tıklıyoruz, ardından “Report Designer” Yazan Butona tıklıyoruz.

(görsel — süreç kitabında)

REPORT LIST

Report List” ekranı karşımıza geliyor. Bu ekran ERPGOLDV2’de bulunan bütün raporları karşıma listeler ve Id, Create Date (Oluşturma Tarihi), Report Name (Rapor Adı), Developer (Geliştirici Adı) gibi bilgileri bana gösterir.

Bu ekranda istersem yeni bir rapor oluşturabilirim, var olan bir raporu düzenleyebilirim, var olan raporu silebilirim, var olan raporu görüntüleyebilirim ve var olan raporun SQL dokümanını bilgisayarıma kaydedebilirim. Raporun konumunu tespit edebilmek için var olan raporun üzerine tıklıyorum ve yeşil butona basıyorum.

REPORT DESIGNER

(görsel — süreç kitabında)

Karşımıza “Report Designer” ekranı çıkıyor. Bu ekranda yukarıda kırmızı ile belirtilen alanda, raporun nereden sağlandığını görebiliyoruz. Raporumuz SQL Veri Tabanımızda “reports.IslemRaporu” konumunda yer almaktadır. Raporu düzenlemek için MSSQL Server’ı açıyoruz.

(görsel — süreç kitabında)

MSSQL SERVER GİRİŞ

SQL SERVER açıldığında karşımıza giriş ekranı çıkıyor. Bu ekranda rapora müdahale edeceğimiz için “SQL Server Authentication” seçeneği seçili olmalıdır. Giriş bilgilerini yöneticinizden sağlayarak “connect” yazan butona basıyoruz.

(görsel — süreç kitabında)

VERİ TABANI SEÇİMİ

SQL SERVER’a giriş yapıldıktan sonra karşımıza bu ekran çıkıyor. Bu ekranda yapmamız gereken “Database” klasöründe bulunan Veri Tabanlarımızdan birini seçmektir.

Seçeceğimiz veri tabanı programda kullanılan veri tabanı olmalıdır. Bizim seçeceğimiz örnek veri tabanı “ERPGOLDV2” dir.

(görsel — süreç kitabında)

RAPORUN KONUMU NEREDE ?

ERPGOLDV2” adlı veritabanımızı seçtikten sonra, “Programmability” klasörünü açıyoruz, ardından “Functions” adlı klasörü açıyoruz ve en son olarak “Table-valued Functions” adlı klasörü açıyoruz.

Genellikle ERPGOLDV2’de bulunan raporlar burada konumlandırılmaktadır.

(görsel — süreç kitabında)

DÜZENLENECEK RAPORUN SEÇİMİ VE DÜZENLEME EKRANI AÇILIŞI

Table-valued Functions” klasöründen düzenleyeceğimiz raporu buluyoruz. Bizim düzenleyeceğmiz rapor “Reports.IslemRaporu”dur. Düzeleyeceğimiz raporu listeden bulduktan sonra üzerine gelip sağ tıklıyoruz. Karşımıza çıkan menüden ise “Modify” yazan butona tıklıyoruz ve karşımıza raporumuzu oluşturan kodlar çıkıyor.

___________________________________________________________________________

RAPOR ANALİZİ

(görsel — süreç kitabında)
Karşımıza çıkan ekran bizim raporumuzun kodlarını göstermektedir. Bu ekranda ki kodlar genellikle 4 parçadan oluşmaktadır. Bu parçalar; SELECT, FROM, LEFT JOIN ve WHERE’dir. Bu alanlara müdahale ederek raporumuzu düzenleyebiliriz ama müdahale etmeden önce bu alanları birlikte tanıyalım.

SELECT KOMUTU

SQL veritabanında oluşturduğunuz tablolarda ki verileri SELECT komutu ile çekebilirsiniz. SELECT komutu ile tabloda ki verileri tamamen getirebildiğiniz gibi istediğiniz sütunda ki verileri de çekebilirsiniz.

(görsel — süreç kitabında)

Ben “kullanicilar” adında oluşturduğum tabloya yukarıda ki gibi verileri işledim. Şimdi bu verileri çekebilmek için SELECT komutunu yazacağız. Araç çubuğunda bulunan “New Query” e tıklayın ve SQL kodlarını yazacağınız kod sayfasını açın.

Eğer tablodaki tüm verileri değilde sadece “AdSoyad” verilerini çekecek olsaydık SELECT komutunu aşağıda ki gibi yazmalıyız. “AdSoyad” gibi sütun adları yazmak yerine “*” yazarsam, tablomdaki bütün sütunlar sorgumda listelenecektir. Aşağıda ki kodu yazdıktan sonra klavyemden “F5” tuşuna basıyorum. aynı işlemi arayüzde bulunan “EXECUTE” yazan butona basarakta yapabilirim. Bu işlem gerçekleştiğinde ekranın alt bölümünden yazdığımız sorgunun çıktısını görürüz. Ben tablomdan sadece “AdSoyad“ yazan sütunu çekmek istediğim için aşağıdaki görselde görüldüğü gibi sadece “Kullanicilar” tablomdan “AdSoyad” sütunu listeleniyor.

(görsel — süreç kitabında)

SELECT komutu kısaca bu şekildedir.

FROM KOMUTU

FROM” komutu bizim sorguyu hangi tablomuzdan sağlayacağımızı belirlediğimiz komuttur. Bu komut ile aynı anda birden fazla tablodan veri çekilemez yani bir tablodan veriler sağlanabilir. Eğer birden fazla tablodan veri sağlamak istiyorsam; INNER JOIN, LEFT JOIN, RIGHT JOIN gibi komutları sorguma dahil etmem gerekmektedir.

BİRDEN FAZLA TABLODAN VERİ ÇEKMEK

SQL de birbiri ile ilişkili tablolardan veri çekmek için JOIN komutlarını kullanırız. INNER JOIN, LEFT JOIN, RIGHT JOIN komutları en sık kullanılan komutlardır. Şimdi bunları örnekleyerek inceleyelim.

Kitaplar:

idkitap_isim yil sayfa fiyat yazarid yayineviid 1 saklı ev 1995 255 20 1 2 2 son moda 2002 652 25 null 2 3 gelecek 2007 214 12 2 1 4 bir umut 2008 421 18 3 1

Yazarlar:

id yazar_isim soyisim yas 1 ekrem sever 28 2 orhan erdem 24 3 orhan karasu 34 4 isa bereket 43

Görüldüğü üzere kitaplar tablomuzdaki yazar id, yazarlar tablomuzdaki id ile ilişkilendirilmiş.

INNER JOIN

Bu iki tablodaki verileri birleştirerek bize cevabı döndürür.

SELECT kitaplar.kitap_isim, yazarlar.yas
FROM kitaplar
INNER JOIN yazarlar ON kitaplar.yazarid = yazarlar.id

bu kodun bize cevabı şu tablo olacaktır:

kitap_isimyassaklı ev28gelecek34bir umut43

Görüldüğü gibi dönen listede son moda adlı kitap bulunmamaktadır. Sebebi ise kitaplar tablosundaki yazarid alanında null değerinin olmasıdır. INNER JOIN iki tablodaki sadece birleşme şartını sağlayan verileri döndürür.

LEFT JOIN

İki tabloyu birleştirmenin ikinci yolu ise “LEFT JOIN” kullanmaktır.

Aşağıdaki sql cümlesini ele alalım:

SELECT kitaplar.kitap_isim, yazarlar.yazar_isim
FROM kitaplar
LEFT JOIN yazarlar ON yazarlar.id = kitaplar.yazarid
Bu kodun da cevabı şu olacaktır:

kitap_isimyazar_isimsaklı evekremson modanullgelecekorhanbir umutorhan
LEFT JOIN soldaki tablonun tamamını alır ve diğer tablodaki ilişkili verileri döndürür.

RIGHT JOIN

LEFT JOIN ile RIGHT JOIN hemen hemen aynıdırlar, RIGHT JOIN cümlesinin yaptığı iş sadece sağdaki tablonun tamamını almaktır.

Aşağıdaki sql cümlesini ele alalım:

SELECT kitaplar.kitap_isim, yazarlar.yazar_isim
FROM kitaplar
RIGHT JOIN yazarlar ON yazarlar.id = kitaplar.yazarid

Bu sql cümlesinin cevabı ise:

kitap_isimyazar_isimsaklı evekremson modaorhangelecekorhanbir umutorhanNULLisa 

Görüldüğü gibi sağda yer alan yazarlar tablosunun tamamını sonuç olarak aldı ve yazara karşılık gelen bir kitap bulunmadıysa ilgili alanın değerini “null” olarak atadı.

İlişkili veritabanlarında “join” cümleleri çok işe yarar, ve genellikle “inner join” pek çok kez kullanılır. LEFT JOIN ile RIGHT JOIN birbirlerine benzerler, sadece biri soldaki, diğeri sağdaki tablonun tamamını alır ve yukarıdaki örnekte olduğu gibi, eğer ilgili yazarın her hangi bir kitabı yoksa, geri döndürdüğü değerlerde “null” kelimesine rastlanır.

WHERE KOMUTU

SQL “where” cümleciği kayıtları filtrelemek için kullanılır. Filtreleme yapmak için spesifik kriterleri belirtmemiz gerekir.

Bu yazı içinde örnek olması için aşağıdaki veri setini kullanacağız. Bu veri üzerinden çeşitli sorgular ile “select” işlemini ve “where” koşulunun nasıl kullanılacağını öğreneceğiz.

Tablo adı: Musteriler

KullaniciIDAdSoyadAdresSehirPostakoduUlke1SafadedeoğluNecmettin Erbakan Cad. no 8/1İstanbul34000Türkiye2FatihTurabİskele Cad. hastane sok.Artvin08300Türkiye3AlexanderDoupointClaremont Rd no:8/3NewcastleNE2 4AAİngiltere4GustavoAlfaroCuero y Caicedo, QuitoKito170129Ekvator5AbelGigliDagmada Waaberi 324/5MogadişuJh09010Somali6YonisFarahUnnamed RoadKismayoJk07320Somali7OsmanEbuselimShara Zaviya Dahmani PO:928Trablus243512Libya

SELECT * FROM Musteriler

WHERE Sehir ='Artvin';

şehir verisi ‘Artvin’ olan müşterileri gösterir.

WHERE ile kullanılan operatörler

OperatörAçıklama=Eşit\<> Eşit Değil.> Büyüktür\< Küçüktür.>=Büyük Eşit\<=Küçük EşitBETWEENArasındaLIKEÖrüntü aramaINBir sütun için birden çok olası değerleri belirtmek için

SQL WHERE AND & OR kullanımı

Where koşulunu kullanırken birden fazla koşul belirtmek mümkündür. Bunu yapabilmek için AND ya da OR kullanılır. AND kullanıldığında belirtilen koşulların tamamının sağlanması beklenirken OR kullanıldığında koşullardan herhangi birinin sağlanması yeterlidir.

Aşağıdaki SQL ifadesi Şehri İstanbul ve Ülkesi Türkiye olan müşterileri listeler;

SELECT * FROM Musteriler

WHERE Sehir='İstanbul' AND Ulke='Türkiye'

Aşağıdaki SQL ifadesi şehri İstanbul olanlar ile Ülkesi Türkiye olan herkesi listeler;

SELECT * FROM Musteriler

WHERE Sehir='İstanbul' OR Ulke='Türkiye'

NOT parametresi AND ve OR gibi WHERE içinde şart olarak kullanılır. Belirtilen şartları karşılamayanları gösterir.

Aşağıdaki SQL kodunda ülkesi Türkiye olmayanları listeler;

SELECT * FROM Musteriler

WHERE NOT Ulke='Türkiye';

AND, OR ve NOT koşullarının birlikte kullanılması

Aşağıdaki örneklerde AND, OR ve NOT koşullarının birlikte çalıştığı SQL kodlarını inceleyeceğiz.

SELECT * FROM Musteri

WHERE Ulke='Somali' AND (Sehir='Mogadişu' OR Sehir='Kismayo');

Burada müşteriler tablosundan ülkesi Somali olup şehri Mogadişu ya da Kismayo olan herkesi listeler.

SELECT * FROM Musteri

WHERE NOT Ulke='İngiltere' AND NOT Ulke='Ekvator';

Burada ise müşteri tablosundan ülkeleri İngiltere ve Ekvator olmayanları listeler.

Raporların oluşmasında kullanılan temel yapılar bunlardır.

RAPOR DÜZENLEME

Aşağıdaki rapor bizim düzenleyeceğimiz rapordur. Bu raporda örnek olarak TcNo,VergiNo ve PassaportNo adlı sütunları ekleyeceğim.

(görsel — süreç kitabında)

_(görsel — süreç kitabında)_İlk önce rapora ekleyeceğimiz sütunların nereden sağlandığını tespit etmeliyiz. Bizim ekleyeceğimiz sütunlar Cari.Hesaplar tablosundan sağlanmaktadır ve görselde görüldüğü üzere sorguda “H” harfi ile çağırılmaktadır.

(görsel — süreç kitabında)

Raporda eklenmesini istediğim; TcNo, VergiNo ve PassaportNo sütunlarını rapordaki SELECT bölümüne, bulundukları konumun rapora tanımlanmış isimlerini satırların başına yazarak rapora tanımlıyorum.

Yaptığım düzenlemeyi kayıt etmem için F5 tuşuna tıklıyorum. Aynı işlemi arayüzde bulunan “EXECUTE” butonuna tıklayarak yapabilirim.

Bu alana solda bulunan görseldeki gibi tanımlama yapmam, rapora sütunların eklenmesi için yeterli olacaktır ama bu yaptığım ekleme ERPGOLDV2 içindeki var olan raporun içerisinde direkt olarak eklenmiş olmayacaktır. ERPGOLDV2’de var olan raporda eklediğim sütunların görünmesi için “Aifa Developer Studio” Ekranını kullanmamız gerekmektedir.

(görsel — süreç kitabında)

ERPGOLDV2’DEN RAPOR’UN DÜZENLENMESİ

Report List” ekranı, ERPGOLDV2’de bulunan bütün raporları karşıma listeler ve Id, Create Date (Oluşturma Tarihi), Report Name (Rapor Adı), Developer (Geliştirici Adı) gibi bilgileri bana gösterir.

Sql’den düzenlediğimiz raporun projesini reports list adlı sekmeden seçip, sağdaki yeşil butona tıklıyorum.

(görsel — süreç kitabında)

(görsel — süreç kitabında)

(görsel — süreç kitabında)PARAMETRE GİRİŞİ

Raporumuzun düzenleme ekranı açılırken yukarıda gördüğünüz görsellerdeki gibi parametreleri girmemiz isteniyor. Bu parametreler rapordan rapora farklılık göstermektedir.

REPORT DESIGNER ARAYÜZ TANIMI(görsel — süreç kitabında)

Karşımıza “Report Designer” ekranı çıkıyor. Bu ekran bizim raporumuzu oluşturduğumuz ve düzenlediğimiz ekrandır ve 5 sekmeden oluşmaktadır. Bu sekmeler; Report Properties, List View, Conditions Editor, Reports View ve Sql Query’dir. Bu ekranda bizim kullanacağımız bölümler; Reports Layout, Feild List ve List View bölümleridir.

(görsel — süreç kitabında)

RAPOR’A SUTÜN EKLEME

ADIM 1 : RAPORUN VAR OLAN GÖRÜNÜMÜNÜN SEÇİMİ

Raporda düzenleme yapmaya başlamadan önce, düzenleme yapacağımız Report Layout’unu (Görünüm Modunu) seçmemiz gerekiyor. Bu görünüm seçildikten sonra düzenleme yapılmalı ki yaptığımız düzenleme var olan rapor görünümüne etki etsin.

Report Layout sekmesini açıyoruz ve karşımıza raporun içinde var olan görünüm modları listeleniyor. Bu görünüm modlarından seçilmesi gereken, şu an raporda kullanılan görünüm olmalıdır.

Bu listeden istediğimiz rapor görünümüne tıklıyoruz ve ara birimin altında konumlandırılmış “göz” simgesine tıklıyoruz. List View ekranımız bu işlemi yaptıktan sonra etkilenecektir yani görünüm uygulanmış olacaktır.

RAPOR’A SUTÜN EKLEME

ADIM 2 : SÜTUNUN RAPORA TANIMLANMASI

List View’da görünen sütunları bu arabirimde görebiliriz ama bu listeyi incelediğimiz zaman SQL Query’mizde en son eklediğimiz “TcNo”,”VergiNo”,”PassaportNo” sütunlarını göremediğimizi gözlemliyoruz.

SQL QUERY’mizde en son eklediğimiz “TcNo”, ”VergiNo”, ”PassaportNo” sütunlarının, raporumuzda listelenmesi için Field List sekmesine tanımlama yapmamız gerekmektedir. Bu alana tanımlama yapabilmemiz için arayüzün altında konumlandırılmış mavi renkli “artı” butonuna basıyorum.

(görsel — süreç kitabında)

(görsel — süreç kitabında)

PIVOT GRID FIELD

Pivot Grid Field Ekranı, bizim SQL QUERY’mizde eklediğimiz fakat ERPGOLDV2’de görünmeyen sütunlarımızı tanımladığımız ekrandır. Bu ekranda doldurmamız gereken alanlar FieldName ve Caption’dur.

Field Name : Sql Query’mizde eklediğimiz sütunların adını yazacağımız alandır. Bu alana isim kesinlikle birebir yazılmalıdır. Aksi taktirde eklediğiniz sütundan veri sağlayamazsınız.

Caption : Field Name alanına yazdığımız sütunun, ERPGOLDV2 de görüneceği adın girildiği alandır. Bu alana isteğe göre isim girişi yapılabilir ve programda görünen isim belirlenir.

Bu alanları, dolduracağım her sütun için doldurup kayıt etmem gerekmektedir. Yaptığımız örnekte 3 adet sütun bulunduğu için bu işlemi 3 sütun için de tekrarlıyorum. Her işlem sonucunda altta bulunan KAYDET butonuna tıklıyorum.

(görsel — süreç kitabında)

Column Chooser Açılışı : Tanımladığımız sütunların rapor tasarımımızda görünmesi için List View ekranındaki tablonun herhangi bir sütun başlığına “sağ tık” yapıyoruz ve çıkan sekmede Column Chooser yazan butona tıklıyoruz.

(görsel — süreç kitabında)

Column Chooser : Bu ekran benim rapora tanımlanmış ama raporumda görünmeyen sütunların listelendiği ekrandır. Görselde kırmızı kare içerisinde belirtilen kareler bizim Sql Query’mize en son tanımladığımız “TcNo”, “VergiNo”, “PassaportNo” sütunlarıdır.

(görsel — süreç kitabında)

Rapor Görünümünde eklenmesini istediğimiz sütunu Column Chooser ekranında tutarak, raporda bulunmasını istediğimiz bölüme sürüklememiz yeterlidir.

(görsel — süreç kitabında)

(görsel — süreç kitabında)

Yukarıda görünen görselde görüldüğü üzere kırımızı kare içerisinde belirtilen sütunlar rapor görünümüne eklenmiştir.

DÜZENLEMELERİN KAYIT EDİLMESİ

Bütün değişiklikler tamamlandıktan sonra soldaki görselde bulunan butonlara tıklanmalıdır. Yeşil butona tıklanmadan önce görünümün kayıt edileceği görünüm listeden tıklanarak seçilmelidir. Kayıt işlemi bittikten sonra ERPGOLDV2 yazılımında çıkış yapılıp tekrar girilmesi gerekmektedir. Bu sayede ERPGOLDV2’de bulunan rapor güncellenmiş olacaktır.

(görsel — süreç kitabında)

Kaynaklar

  • SRC-PROC-DOC — süreç dokümanı #63