SlideShare a Scribd company logo
Bölüm 10 : Modüler Prosedürler Geliştirmek Bu dersi tamamladığımız zaman şunları yapabileceksiniz; ,[object Object]
AppBuilder’dan veritabanına bağlanmak
AppBuilder’dan prosedür açmak ve çalıştırmak
Yapısal prosedürler yaratmak
Modüler kodlamayı açıklamak
Dış prosedürler çağırmak
İç prosedürler oluşturmak ve çağırmak
Kullanıcı tanımlı fonksiyonlar yaratmak ve çağırmak
Kalıcı prosedürler yaratmak ve çağırmak
Bir uygulamayı derlemek,[object Object]
Bir Veritabanına Bağlanmak
AppBuilder’daki Dosyalarla Çalışmak Aç Kaydet Çalıştır Yeni Dur
Dosya İsimlendirme Üslubu eEmpLib.p prosedüründeki iş mantığı DEFINE INPUT  PARAMETER pcDeptCode   AS CHARACTER NO-UNDO. DEFINE OUTPUT PARAMETER pcDepartment AS CHARACTER NO-UNDO. FIND Department NO-LOCK                  WHERE Department.DeptCode = pcDeptCode NO-ERROR. IF AVAILABLE(Department) THEN     ASSIGN pcDepartment = Department.DeptName. DosyaRaporlarBulYardım Müşteri bilgisi City.w grafiksel prosedürü içindeki GUI penceresi Müşteri No: İsim: Şehir: Sipariş No: Teslim Tarihi: Çıkış İptal
Yapısal Prosedür Bölümleri Definitions /*************************************/ Main Block /*************************************/ Internal Procedures /*************************************/ Functions /*************************************/
Yapısal Prosedurler Yaratmak Procedures’i seç Diğer seçimleri kaldır Structured Procedures’i seç
Yapısal Prosedurler Tree view Section editor
AppBuilder’da Kod Önizlemesi
Section Editor’ü Kullanmak 1. Bir prosedür seç                  2. Prosedürü düzenle
AppBuilder’da Bir Dosya Açmak Bu dosya veritabanına erişiyor mu? FIND Customer WHERE ...
Progress Advisor Ne yapmak istersiniz?
Pencereler ve Diyalog Kutuları Opsiyonel menü Minimize, Maksimize, Kapat Pencere Kapat Diyalogkutusu Kullanıcı hareketi gerekli
Bir GUI Penceresi İçin Varsayılan Kod Boş pencere Boş pencere için Main Block kodu
Uygulama 1 : AppBuilder’ı Keşfetmek
Modüler Kodlama Application A Prosedürü B prosedürü Main Block: Procedure: 		  CalcVacation Procedure: 	 GetEmpName Function:     	 CalcAge Main Block: Procedure: 	        GetCustBalance Procedure: 	        GetCustLimit Procedure:	        GetCustName
İç Prosedur’leri Çalıştırmak wDepartment.w /***** Internal Procedures *******/ RUN valDept    (INPUT fiDeptCode, OUTPUT fiDeptName). <sonraki deyimler> PROCEDURE valDept:    <prosedür deyimleri> END PROCEDURE.
Bir Blok İçinde Varsayılan Hata Yönetimi Çağıran prosedür ... ... RUN...  ... ... Çağrılan prosedür Input değeri /****** Definitions ******/ INPUT parametre tanımlaması OUTPUT parametre tanımlaması Output değeri
Parametre İsimlendirme Üslubu
Birden Çok Parametre Göndermek Çağıran prosedür Çağrılan prosedür RUN valDept    (INPUT fiDeptCode,     OUTPUT fiDeptName) /**** Procedure: valDept  ****/ INPUT parameter pcDeptCode OUTPUT parameter pcDeptName Departman kodu (input) Dönen departman adı (output)
DO:     ASSIGN fiDeptCode.     RUN valDept (INPUT fiDeptCode,  OUTPUT fiDeptName).     DISPLAY fiDeptName WITH FRAME {&FRAME-NAME}. END. Nasıl Çalışır? 1. Departman kodu girilir 4. valDeptprosedürü tarafından üretilen Departman Adı bilgisi görüntülenir 2. Butona basılır 3. Butonun olay prosedürü valDept prosedürünü çağırır
Bir İç Prosedur’deki Yerel Tanımlamalar
Olay Kodu Eklemek Buton arkasındaki olay kodu
Prosedur’lerin Aranma Sırası 1. İç prosedür mü? Hayır? RUN getCustRec. 2. PROPATH klasörlerini incele
DO:    . . .    . . .    . . . END. Dış Prosedur Çağırmak Çağıran prosedür . . . . . . RUN valRep.p. <sonraki deyim>. . . . Çağırılan prosedür: valRep.p
Modülerlik ve Yeniden Kullanılabilirlik PROCEDURE getCustomerBalance:    RUN getCustRec.    . . . PROCEDURE getCustLimit:    RUN getCustRec.    . . . PROCEDURE getCustName:    RUN getCustRec. PROCEDURE getCustRec:    (Prosedür deyimleri). END PROCEDURE.
Fonksiyonların Yeniden Kullanımı Hacim ve yüzey alanlarıyükseklik ve açıya ihtiyaç duyar
Bu Fonksiyonu Ne Zaman Kullanırız? Function YearsOld Function YearsEmployed
Yeni Bir Fonksiyon Tanımlamak Fonksiyon adı Dönüş tipi
Yeni Bir Fonksiyon Yaratmak Parametreleri buraya girin Dönüş değerini de buraya
Fonksiyon Çağırmak 1. Kaydı seçin 2. Browse’daki kaydın değeri şu anda değişti 3. Fonksiyonu çağırın
Uygulama 2 : Parametreler ve Fonksiyonlar
Belleğe Yerleşen Kütüphane Modülü /*   eEmpLibrary.p  */ Procedure calcVacation: ... ... Procedure setVacation: ... ...

More Related Content

Viewers also liked

progressokulu.com Advanced Business Language Slide 4
progressokulu.com Advanced Business Language Slide 4progressokulu.com Advanced Business Language Slide 4
progressokulu.com Advanced Business Language Slide 4
kaan verdioglu
 
progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2kaan verdioglu
 
progressokulu.com Advanced Business Language Slide 1
progressokulu.com Advanced Business Language Slide 1progressokulu.com Advanced Business Language Slide 1
progressokulu.com Advanced Business Language Slide 1
kaan verdioglu
 
progressokulu.com Advanced Business Language Slide 8
progressokulu.com Advanced Business Language Slide 8progressokulu.com Advanced Business Language Slide 8
progressokulu.com Advanced Business Language Slide 8
kaan verdioglu
 
progressokulu.com Advanced Business Language Slide 5
progressokulu.com Advanced Business Language Slide 5progressokulu.com Advanced Business Language Slide 5
progressokulu.com Advanced Business Language Slide 5
kaan verdioglu
 
progressokulu.com Database Administration Slide 5
progressokulu.com Database Administration Slide 5progressokulu.com Database Administration Slide 5
progressokulu.com Database Administration Slide 5
kaan verdioglu
 
progressokulu.com Database Administration Slide 4
progressokulu.com Database Administration Slide 4progressokulu.com Database Administration Slide 4
progressokulu.com Database Administration Slide 4
kaan verdioglu
 
progressokulu.com Advanced Business Language Slide 3
progressokulu.com Advanced Business Language Slide 3progressokulu.com Advanced Business Language Slide 3
progressokulu.com Advanced Business Language Slide 3
kaan verdioglu
 
progressokulu.com Database Administration Slide 3
progressokulu.com Database Administration Slide 3progressokulu.com Database Administration Slide 3
progressokulu.com Database Administration Slide 3
kaan verdioglu
 
progressokulu.com Advanced Business Language Slide 9
progressokulu.com Advanced Business Language Slide 9progressokulu.com Advanced Business Language Slide 9
progressokulu.com Advanced Business Language Slide 9
kaan verdioglu
 

Viewers also liked (10)

progressokulu.com Advanced Business Language Slide 4
progressokulu.com Advanced Business Language Slide 4progressokulu.com Advanced Business Language Slide 4
progressokulu.com Advanced Business Language Slide 4
 
progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2
 
progressokulu.com Advanced Business Language Slide 1
progressokulu.com Advanced Business Language Slide 1progressokulu.com Advanced Business Language Slide 1
progressokulu.com Advanced Business Language Slide 1
 
progressokulu.com Advanced Business Language Slide 8
progressokulu.com Advanced Business Language Slide 8progressokulu.com Advanced Business Language Slide 8
progressokulu.com Advanced Business Language Slide 8
 
progressokulu.com Advanced Business Language Slide 5
progressokulu.com Advanced Business Language Slide 5progressokulu.com Advanced Business Language Slide 5
progressokulu.com Advanced Business Language Slide 5
 
progressokulu.com Database Administration Slide 5
progressokulu.com Database Administration Slide 5progressokulu.com Database Administration Slide 5
progressokulu.com Database Administration Slide 5
 
progressokulu.com Database Administration Slide 4
progressokulu.com Database Administration Slide 4progressokulu.com Database Administration Slide 4
progressokulu.com Database Administration Slide 4
 
progressokulu.com Advanced Business Language Slide 3
progressokulu.com Advanced Business Language Slide 3progressokulu.com Advanced Business Language Slide 3
progressokulu.com Advanced Business Language Slide 3
 
progressokulu.com Database Administration Slide 3
progressokulu.com Database Administration Slide 3progressokulu.com Database Administration Slide 3
progressokulu.com Database Administration Slide 3
 
progressokulu.com Advanced Business Language Slide 9
progressokulu.com Advanced Business Language Slide 9progressokulu.com Advanced Business Language Slide 9
progressokulu.com Advanced Business Language Slide 9
 

Similar to progressokulu.com Advanced Business Language Slide 10

C++ semineri
C++ semineriC++ semineri
C++ seminerisersld30
 
C++ konferansi
C++ konferansiC++ konferansi
C++ konferansisersld30
 
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaSymfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Hüseyin Mert
 
Extjs 4 education
Extjs 4 educationExtjs 4 education
Extjs 4 education
M Sinan Şahin
 
C++ dokumani
C++ dokumaniC++ dokumani
C++ dokumanisersld29
 
C++ seminerleri
C++ seminerleriC++ seminerleri
C++ seminerlerisersld30
 
Javascript Performance Optimisation
Javascript Performance OptimisationJavascript Performance Optimisation
Javascript Performance Optimisation
irfandurmus
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
Muharrem Tac
 
Radore Workshop: Wordpress Nereye Koşuyor?
Radore Workshop: Wordpress Nereye Koşuyor? Radore Workshop: Wordpress Nereye Koşuyor?
Radore Workshop: Wordpress Nereye Koşuyor?
Radore Veri Merkezi Hizmetleri A.Ş.
 
C++ ornegi
C++ ornegiC++ ornegi
C++ ornegisersld30
 
C++ hocasi
C++ hocasiC++ hocasi
C++ hocasisersld30
 
C++ danismani
C++ danismaniC++ danismani
C++ danismanisersld29
 
C++ cevaplari
C++ cevaplariC++ cevaplari
C++ cevaplarisersld29
 
C++ projeleri
C++ projeleriC++ projeleri
C++ projelerisersld30
 
C++ notlari
C++ notlariC++ notlari
C++ notlarisersld30
 
C++ sitesi
C++ sitesiC++ sitesi
C++ sitesisersld30
 

Similar to progressokulu.com Advanced Business Language Slide 10 (20)

C++ semineri
C++ semineriC++ semineri
C++ semineri
 
C++ konferansi
C++ konferansiC++ konferansi
C++ konferansi
 
C++ odevi
C++ odeviC++ odevi
C++ odevi
 
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaSymfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
 
Extjs 4 education
Extjs 4 educationExtjs 4 education
Extjs 4 education
 
C++ dokumani
C++ dokumaniC++ dokumani
C++ dokumani
 
C++ seminerleri
C++ seminerleriC++ seminerleri
C++ seminerleri
 
C++ proje
C++ projeC++ proje
C++ proje
 
Javascript Performance Optimisation
Javascript Performance OptimisationJavascript Performance Optimisation
Javascript Performance Optimisation
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Radore Workshop: Wordpress Nereye Koşuyor?
Radore Workshop: Wordpress Nereye Koşuyor? Radore Workshop: Wordpress Nereye Koşuyor?
Radore Workshop: Wordpress Nereye Koşuyor?
 
C++ ornegi
C++ ornegiC++ ornegi
C++ ornegi
 
C++ ornek
C++ ornekC++ ornek
C++ ornek
 
C++ hocasi
C++ hocasiC++ hocasi
C++ hocasi
 
C++ danismani
C++ danismaniC++ danismani
C++ danismani
 
C++ cevaplari
C++ cevaplariC++ cevaplari
C++ cevaplari
 
C++ projeleri
C++ projeleriC++ projeleri
C++ projeleri
 
C++ indir
C++ indirC++ indir
C++ indir
 
C++ notlari
C++ notlariC++ notlari
C++ notlari
 
C++ sitesi
C++ sitesiC++ sitesi
C++ sitesi
 

progressokulu.com Advanced Business Language Slide 10