progressokulu.com advanced business language slide 7
DESCRIPTION
"ABL'e Giriş Eğitimi" nde kullandığımız 7. Bölüm sunumudur.TRANSCRIPT
![Page 1: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/1.jpg)
![Page 2: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/2.jpg)
Bölüm 7 : Transaction Yönetimi
Bu dersi tamamladığımız zaman şunları yapabileceksiniz;
• Bir transaction tanımlamak• Veritabanı bütünlüğünü tanımlamak• Bir transaction’ın nerede başlayıp nerede bittiğini bilmek• Transaction’ların ne zaman etkin olduklarını bilmek• Varsayılan transaction kapsamını değiştirmek
![Page 3: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/3.jpg)
Transaction: Ya Hep Ya Hiç
![Page 4: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/4.jpg)
Bir Transaction İçinde Veritabanını Güncellemek
REPEAT:. . .
CREATE Customer.. . .END.
Transaction
![Page 5: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/5.jpg)
Veri Bütünlüğünü Korumak
REPEAT:. . .
CREATE Customer.. . .END.
REPEAT:. . .
CREATE Customer.. . .END.
Tamamlanmış Transaction (Ġkinci Customer kaydını ekle)
Tamamlanmamış Transaction (3. Customer kaydını ekle)
Veritabanı
SİSTEM
HATASI!
![Page 6: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/6.jpg)
Neler Saklandı?
SİSTEM
HATASI!
![Page 7: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/7.jpg)
Transaction Kapsamını Tanımlamak
. . .DEFINE VARIABLE iCount AS INTEGER NO-UNDO.REPEAT WHILE iCount < 3:CREATE Customer.DISPLAY CustNum.UPDATE Name EmailAddress Contact WITH 1 COLUMN.iCount = iCount + 1.
END.. . .
Transaction bloğu Doğrudan veritabanına yazılır
![Page 8: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/8.jpg)
Transaction Kapsamı Nedir?
. . .
. . .FOR EACH Invoice WHERE Invoice.CustNum = iCustNum:MESSAGE "Are you sure you want to delete invoice#" invoice.invoicenum
"of customer #" invoice.custnum VIEW-AS ALERT-BOX BUTTONS YES-NO UPDATE lYesno.
IF lYesno THENDELETE Invoice.ELSE DO: /* DO statement #1 */MESSAGE "Cancelled deletion of invoice #" invoice.invoicenum .RETURN NO-APPLY.
END. /* End DO statement #1 */END. /* End FOR EACH Invoice3 */
FOR EACH Order WHERE Order.CustNum = iCustNum:. . .. . .
![Page 9: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/9.jpg)
Bir LISTING Dosyasının Derlenmesi (COMPILE)
forOrder:
FOR EACH Order WHERE OrderNum < 5:
FOR EACH Customer OF Order:
DISPLAY Customer.NAME FORMAT "x(15)"
Ordernum FORMAT ">>9".
1 /***********************/
2 /* eTrans1.p */
3 /***********************/
4 forOrder:
5 1 FOR EACH Order WHERE OrderNum < 5:
6 2 FOR EACH Customer OF Order:
7 2 DISPLAY Customer.NAME FORMAT "x(15)"
8 2 Ordernum FORMAT ">>9".
COMPILE eTrans1.p LISTING eTrans1.lst.
![Page 10: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/10.jpg)
Transaction Kapsamının Belirlenmesi
File Name Line Blk.Type Tran Blk.Label--------- ---- -------- ---- ---------eTrans1.p 0 Procedure No eTrans1.p 9 For No forOrderBuffers: Mysports.Order
eTrans1.p 10 For Yes Buffers: Mysports.CustomerFrames: Unnamed
![Page 11: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/11.jpg)
TRANSACTION Fonksiyonunun Kullanımı
. . .
. . .FOR EACH Invoice WHERE Invoice.CustNum = iCustNum:MESSAGE "Are you sure you want to delete invoice#" invoice.invoicenum
"of customer #" invoice.custnum VIEW-AS ALERT-BOX BUTTONS YES-NO UPDATE lYesno.
IF lYesno THEN
FOR EACH Order WHERE Order.CustNum = iCustNum:. . .. . .
Bir transaction aktif
olduğunda çalışması
gereken kod
Transaction’ın aktif
OLMADIĞI durumda
çalışması gereken kod
IF TRANSACTION THEN response-if-true ELSE response-of-false
![Page 12: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/12.jpg)
Transaction’ın Aktif Olup Olmadığını Sorgulamak
REPEAT: MESSAGE "A transaction" (IF TRANSACTION THEN "IS" ELSE
"IS NOT")"active in the outer REPEAT block," SKIP" before creating the Order" VIEW-AS ALERT-BOX.
CREATE Order.DISPLAY OrderNum OrderDate.UPDATE CustNum.
![Page 13: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/13.jpg)
Uygulama 1 : Transaction Kapsamının Tespit Edilmesi
![Page 14: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/14.jpg)
Transaction Kapsamının Özel Olarak Belirlenmesi
Belirtilmiş transaction kapsamı
. . .DO TRANSACTION:. . .. . .FOR EACH . . .
. . .
. . .END.. . .. . .
END.
Varsayılan Transaction Kapsamı
![Page 15: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/15.jpg)
Varsayılan Transaction Kapsamının Değiştirilmesi
<start outer transaction-scoping block>. . .FOR EACH Customer
WHERE SalesRep = "RDR" TRANSACTION:
ASSIGN SalesRep = “DOS".
DISPLAY NAME SalesRep.
END.. . .
<end outer transaction-scoping block>
Game Set Match DOS
Lagt Kort Ligger DOS
Soccer Universe DOS
Play Sports DOS
Trans 1
Trans 2
Trans 3
Trans 4
![Page 16: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/16.jpg)
Neler Kaydedildi?
SİSTEM
HATASI!
Veritabanı
![Page 17: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/17.jpg)
Uygulama 2 : Varsayılan Kapsamla Kaydedilen Veri
![Page 18: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/18.jpg)
Bir Transaction’ın Kapsamının Genişletilmesi
Orjinal Transaction Kapsamı
DO TRANSACTION:REPEAT:
. . .
. . .
. . .REPEAT:
. . .
. . .
END. /* Inner REPEAT block */END. /* Outer REPEAT block */
END. /* Transaction */
Yeni transaction kapsamı
![Page 19: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/19.jpg)
Uygulama 3 : Artırılmış Kapsamla Kaydedilen Veri
![Page 20: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/20.jpg)
Bir Transaction’ın Kapsamının Küçültülmesi
Daha küçük iki transaction kapsamı
REPEAT:DO TRANSACTION:
<Do task 1>. . .. . .
END. /* end first transaction */REPEAT TRANSACTION:
<Do task 2>. . .. . .
END. /* end second transaction */END. /* End REPEAT block */
Orjinal transaction kapsamı
![Page 21: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/21.jpg)
Uygulama 4 : Küçültülmüş Kapsamla Kaydedilen Veri
![Page 22: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/22.jpg)
Bir Alt-transaction ile Çalışmak
REPEAT: /* Start of the transaction */
PROMPT-FOR Order.OrderNum.. . .SET Order.PO.
REPEAT:. . .
SET Qty.. . .
END. /* Inner REPEAT block - subtransaction */
END. /* Outer REPEAT block – transaction */
Transaction Alt-transaction
![Page 23: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/23.jpg)
Alt-transaction’ları Tanımlamak
Line Blk
---- ---
2 1 REPEAT: /* Start of the transaction */
3 1 PROMPT-FOR Order.OrderNum.
4 1 FIND Order WHERE OrderNum = INPUT Order.OrderNum.
5 1 DISPLAY OrderNum CustNum PO SalesRep.
6 1 SET Order.PO.
7 2 REPEAT:
8 2 FIND NEXT OrderLine OF order.
9 2 DISPLAY LineNum ItemNum Qty Price . . .
10 2 SET Qty.
11 2 DISPLAY Qty * Price LABEL "Total price".
12 1 END. /* FIND OrderLine block */
13 END. /* End of the transaction */
Ġlk düzey blok
Ġkinci düzey blok
![Page 24: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/24.jpg)
Değişkenleri Saklamak
lbi4321
iVctr = 1
dNewPrice = 10.25
iLineNum = 16
![Page 25: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/25.jpg)
Bir Trsansaction içinden Bir Alt-prosedur’ü Çağırmak
eRunTrans.p
eUpdOrder.p
Transaction Kapsamı
FOR EACH Order OF Customer:DISPLAY Order...UPDATE Carrier....
END.
REPEAT:PROMPT-FOR Customer.CustNum.FIND Customer USING CustNum.
...
UPDATE CreditLimit.....
RUN eUpdOrder.p (BUFFER Customer)....
END.
![Page 26: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/26.jpg)
Uygulama 5 : Bir Transaction İçinden Bir Alt-procedur’ü Çağırmak
![Page 27: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/27.jpg)
Neler Kaydedildi?
SİSTEM
HATASI!
Veritabanı
![Page 28: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/28.jpg)
Uygulama 6 : Varsayılan Transaction Kapsamını Değiştirmek
![Page 29: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/29.jpg)
![Page 30: progressokulu.com Advanced Business Language Slide 7](https://reader033.vdocuments.pub/reader033/viewer/2022060122/55954e441a28ab761b8b458c/html5/thumbnails/30.jpg)