%accfs Fonksiyonu

Top  Previous  Next

%accfs() (Accumulate from String) fonksiyonu işlevsel açıdan %acc() fonksiyonuna benzer; farkı %accfs() fonksiyonu verilen metin içinde bulunan ve ayıraçlarla ayrılmış alt metinleri dolaşarak biriktirme işlemini yapar ve sonucu döndürür.

Söz dizimi:

%accfs(metin, alt-metin-ayıracı, [önkoşul]arttırım-ifadesi[, arttırım-ayıracı])
 

metin

Üzerinde dolaşılacak ve içinde ayıraçlarla ayrıştırılmış alt metinler bulunduran metin.

alt-metin-ayıracı

metin içindeki alt metinleri ayıran bir karakter uzunluğundaki ayıraç. Alt metinler ayrıştırılırken tırnaklar ve parantezler kümeleme karakterleri olarak değerlendirilir.
 
Örnek:

Metin:

AA, (BBB , (CCC)), DDD + 'Zaman, Ali'

Ayıraç:

','

Alt Metinler:

AA
(BBB , (CCC))
DDD + 'Zaman, Ali'

Eğer ayıraç olarak değer verilmez ise, o zaman metnin her bir karakteri alt-metin olarak kabul edilir.
 
Örnek:

Metin:

ABC

Ayıraç:

''

Alt Metinler:

A
B
C

önkoşul

Eğer bu parametre boş bırakılmamış ise, her bir alt metin işlenmeden önce burada belirlenmiş olan ifade test edilir. Eğer sonuç true ise alt-metin işlenir.

arttırım-ifadesi

Bu ifadenin değeri her defasında sonuca eklenecektir. Arttırım işlemi, eğer arttırım ifadesinin sonucu ve birikim değeri numara ise aritmetiksel olarak, aksi taktirde metin birleştirme şeklinde olacaktır.

arttırım-ayıracı

Bu isteğe bağlı parametre sonuçta yer alan metin tipindeki verileri birleştirirken ayıraç olarak kullanılır. Ayıraç ilk birleştirme işleminde dikkate alınmaz.

 

Alt Metin Sembolü : '.'

önkoşul ve arttırım-ifadesi içinde o anki alt-metni ifade eden sembol "." kullanılabilir. 

 

Örnek
%accfs('1,23,-3,98',',', sstr(.,1,1) != '-','ID = ' + ., ' OR ')   

 

Açıklama: '1,23,-3,98' metni içinde yer alan ve ',' karakterleri ile ayrıştırılmış alt metinleri işle. Eğer alt metnin 1. karakteri '-' değil ise biriktirme işlemini yap. Bu tanıma göre sadece '1', '23' ve '98' alt metinleri için biriktirme yapılacaktır. Alt metin sembolü biriktirim ifadesi içinde de kullanılmıştır.

 

Dönen değer:
ID = 1 OR ID = 23 OR ID = 98

 
Bakın @acc()