RAPOR VE FORMLARDA KULLANILAN FONKSİYONLAR
FONKSİYON LİSTESİ
MIN(number, number) | DAYS(firstdate, lastdate) | CREATE(date, base curr., base rate, dest. curr) | SQR(number) | DATESTR(date, format) | SUBSTR(text, start, length) |
MAX(number, number) | DAYOF(date) | STRPOS
(search string, string)
| SQRT(number) | MONTHSTR(month) | UPCASE(text) |
MOD(number, divisor) | MONTHOF(date) | FLOOR(number) | COS(number) | WDAYSTR(weekday) | LOWCASE(text) |
DIV(number, divisor) | YEAROF(date) | CEIL(number) | SIN(number) | NUMSTR(number, decimals, format) | TRIMSPC(text, option) |
ABS(number) | WDAYOF(date) | FRAC(number) | TAN(number) | TIMESTR(time, format) | JUSTIFY(text, direction, fill, length) |
VAL(text) | ROUND(number) | EXP(number) | STRLEN(text) | RESXSTR(list resource, tag) | WRNUM(language, numer, part) |
DATE
(day, month, year)
| TRUNC(number) | LN(number) | WEEKNUM(year start, first week, date) | RESSTR(string resource) | IF(expression, value1, value2) |
AFTER(days, year) | ERATE
(date, currency)
| POWER
(base, exponent)
| STR(number) | CRESSTR(list id., tag) |
ÖRNEK FONKSİYONLARIN KULLANIMI
MIN(number, number)
Fonsiyonun içerindeki sayılardan küçük olanı verir.
Program kullanım : MIN(5, 6)=5
Sğl Kullanım : SELECT MIN(DATE_) FROM LG_035_01_STLINE
Örnek: İlk son eklenen faturanın tarihi
SELECT MIN(DATE_) FROM LG_035_01_INVOICE WHERE GRPCODE=2 AND CLIENTREF=4778
—————————————————————————————–
MAX(number, number)
Fonsiyonun içerindeki sayılardan büyük olanı verir.
Program kullanım : MAX(5, 6) = 6
Sğl Kullanım : SELECT MIN(DATE_) FROM LG_035_01_STLINE
Örnek: En son eklenen faturanın tarihi
SELECT max(DATE_) FROM LG_035_01_INVOICE WHERE GRPCODE=2 AND CLIENTREF=4778
—————————————————————————————–
MOD(number, divisor)
Bir sayının diğer bir sayıya bölündüğünde kalanı verir.
Program kullanım : MOD(37, 6) =1 / MOD(42, 7)=0
Sql Kullanım : Select 10 % 3
—————————————————————————————–
DIV(number, divisor)
Bir sayının diğer bir sayıya bölündüğünde bölümü verir.
Program kullanım : DIV(35,6)=5 / DIV(42, 7)=6
Sql Kullanım : Select 10 / 3
—————————————————————————————–
ABS(number)
Bir sayının mutlak değerini alır.
Program kullanım : ABS(7) =7 / ABS(-7)=7
Sql Kullanım : select ABS(-23)
—————————————————————————————–
VAL(text)
Metin olarak yazılmış bir sayıyı sayı formatına çevirir.
Program kullanım :VAL(“1000”)=1000
Sql Kullanım : SELECT CAST(100 AS INT)
SELECT CONVERT(INT, 100)
VAL(STR(100))
—————————————————————————————–
STRLEN(text)
Seçilen metnin kaç karakterden oluştuğu bilgisini verir. Türü sayıdır.
Program kullanım : STRLEN(“abcdefg”) =7 / STRLEN(“999”) = 3
Sql Kullanım : SELECT LEN(NAME) FROM LG_035_ITEMS
—————————————————————————————–
SUBSTR(text, start, length)
Seçilen metin alanı istenilen karakterden başlayarak istenilen uzunlukta yazmak için kullanılır.
Program kullanım :SUBSTR(“abcdef”,2,3) =bcd / SUBSTR(“abcdef”,1,4)=abcd
Sql Kullanım : SELECT SUBSTRING(NAME,9,LEN(NAME)) FROM LG_035_ITEMS
—————————————————————————————–
STR(text)
Sayı olarak tanımlanmış alanı metin formatında yazar.
Program kullanım : STR(1234)=1234
Sql Kullanım : SELECT STR(12345)
SELECT STR(12345)+’ABC’
—————————————————————————————–
DATESTR(date, format)
Verilen tarihi metne çevirerek istenen formatta yazar.
Program kullanım : DATESTR(DATE(23,12,2013),1)=12.23.2013 / DATESTR(DATE(23,12,2013),2)= 23.12.2013
Sql Kullanım : SELECT CONVERT(VARCHAR(10), DATE_, 111) AS [YYYY/MM/DD] FROM LG_035_01_INVOICE
SELECT CONVERT(VARCHAR(10), DATE_, 112) AS [YYYYMMDD] FROM LG_035_01_INVOICE
SELECT REPLACE(CONVERT(VARCHAR(10), DATE_, 111),’/’,’_’) AS [YYYY MM DD] FROM LG_035_01_INVOICE
SELECT UPPER(REPLACE(CONVERT(VARCHAR,DATE_,6),’ ‘,’-‘)) AS [DD MM YY] FROM LG_035_01_INVOICE
SELECT CONVERT(VARCHAR(10), DATE_, 110) AS [YYYY/MM/DD] FROM LG_035_01_INVOICE
—————————————————————————————–
DATE(day, month, year)
Gün, ay ve yıl bilgisine göre tarih formatına çevirir.
Program kullanım :DATE(31, 12, 2013)=31.12.2013
Sql Kullanım : SELECT convert(datetime, ’10/23/2016’, 101) — ay/gun/yıll
SELECT convert(datetime, ‘2016.10.23’, 102) — yıll.ay.gun
SELECT convert(datetime, ’23/10/2016′, 103) — gun/ay/yıll
SELECT convert(datetime, ‘23.10.2016’, 104) — gun.ay.yıll
SELECT convert(datetime, ’23-10-2016′, 105) — gun-ay-yıll
SELECT convert(datetime, ’23 OCT 2016′, 106) — gun mon yıll
SELECT convert(datetime, ‘Oct 23, 2016’, 107) — mon gun, yıll
SELECT
CAST(CONVERT(datetime,DATE_) as bigint) AS DATETOINT1,
CONVERT(bigint,CONVERT(datetime,DATE_)) AS DATETOINT2,
CAST(CONVERT(datetime,DATE_) as bigint) AS DATETOINT3
FROM LG_035_01_STLINE
—————————————————————————————–
AFTER(days, date)
Bir tarihten verilen gün sayısı kadar sonraki tarihi verir.
Program kullanım : AFTER(10, DATE(10,02,2001))=20.02.2001
AFTER(10, [Günün tarihi])=15.02.2001 (Günün tarihi 05.02.2001 ise)
AFTER(-25,[Günün Tarihi])
Sql Kullanım : select (DATE_-10),(DATE_+10) from LG_035_01_INVOICE
—————————————————————————————–
DAYS(firstdate, lastdate)
İki tarih arasındaki gün sayısını verir.
Program kullanım : DAYS(DATE(13,10,2013), DATE(21,10,2013))=8 / DAYS([Günün Tarihi],[AFTER KULLANIMI])
Sql Kullanım : select DateDiff(mm,DATE_,CAPIBLOCK_CREADEDDATE) from LG_035_01_INVOICE
select DateDiff(hh,DATE_,CAPIBLOCK_CREADEDDATE) from LG_035_01_INVOICE
select DateDiff(DAYOFYEAR,DATE_,CAPIBLOCK_CREADEDDATE) from LG_035_01_INVOICE
select DateDiff(YYYY,DATE_,CAPIBLOCK_CREADEDDATE) from LG_035_01_INVOICE
örnek: Faturanın oluşturulma tarihi ile fatura tarihi farklı olanlar
select * from LG_035_01_INVOICE WHERE DateDiff(mm,DATE_,CAPIBLOCK_CREADEDDATE)>0
—————————————————————————————–
DAYOF(date)
Verilen tarihin gününü verir.
Program kullanım : DAYOF(DATE(10,12,2000))=10 / DAYOF([Günün Tarihi])=14
Sql Kullanım : SELECT DAY(DATE_) FROM LG_035_01_INVOICE
—————————————————————————————–
MONTHOF(date)
Verilen tarihin ayını verir.
Program kullanım : MONTHOF(DATE(10,12,2000))=12 / MONTHOF([Günün Tarihi])=6
Sql Kullanım : SELECT MONTH(DATE_) FROM LG_035_01_INVOICE
Örnek: Ocak ayı toplam satış fatura adedi
SELECT COUNT(LOGICALREF) FROM LG_035_01_INVOICE WHERE MONTH(DATE_)=1 AND GRPCODE=2
—————————————————————————————–
YEAROF(date)
Verilen tarihin yılını verir.
Program kullanım : YEAROF (DATE(10,12,2000))=2000 / YEAROF([Günün Tarihi])=2013
Sql Kullanım : SELECT YEAR(DATE_) FROM LG_035_01_INVOICE
—————————————————————————————–
WDAYOF(date)
Verilen tarihin haftanın kaçıncı günü olduğunu verir.
Program kullanım : WDAYOF (DATE(30,03,2001)) =5
Sql Kullanım : SELECT DATEPART (DW, DATE_),DATE_ FROM LG_035_01_INVOICE —Haftanın kaçıncı günü
SELECT DATEPART (wk, DATE_),DATE_ FROM LG_035_01_INVOICE —Haftayı almak için
SELECT DATEPART (dy, DATE_),DATE_ FROM LG_035_01_INVOICE —Yılın kaçıncı günü
SELECT DATEPART (qq, DATE_),DATE_ FROM LG_035_01_INVOICE —Yılın kaçıncı çeyreği
SELECT DATEPART (hh, DATE_),DATE_ FROM LG_035_01_INVOICE —Saat bilgisini almak için
SELECT DATEPART (mi, DATE_),DATE_ FROM LG_035_01_INVOICE —Dakika bilgisini almak için
SELECT DATEPART (ss, DATE_),DATE_ FROM LG_035_01_INVOICE —Saniye bilgisini almak için
SELECT DATEPART (ms, DATE_),DATE_ FROM LG_035_01_INVOICE —Milisaniye bilgisini almak için
—————————————————————————————–
ROUND(number)
Verilen sayıyı en yakın tamsayıya çevirir.
Program kullanım : ROUND(5.25) =5/ ROUND(5.61) =6
Sql Kullanım : SELECT ROUND(DEBIT,2) FROM LG_035_01_EMFLINE
—————————————————————————————–
TRUNC(number)
Verilen sayının ondalıklı kısmını kaldırarak tamsayıya çevirir.
Program kullanım : TRUNC(5.25)=5 / TRUNC(26.85)=26
Sql Kullanım : SELECT FLOOR(NETTOTAL),NETTOTAL FROM LG_035_01_INVOICE
—————————————————————————————–
IF(expression, value1, value2)
Belirtilen koşul (expression) sağlanıyorsa birinci değeri(value1); sağlanmıyorsa ikinci değeri (value2) getirir. Türü sayıdır.
IF(2*2=4, “İki kere iki dört eder”, 1500) = İki kere iki dört eder
IF(2*2=100, “İki kere iki dört eder”, 1500) = 1500
Sql Kullanım 1: SELECT IIF(ACTIVE=1,’KULLANIMDA’,’KULLANIM DIŞI’) AS STATU FROM LG_035_ITEMS
Sql Kullanım 2: SELECT
CASE
WHEN ACTIVE = 1 THEN’Kullanımda’
WHEN ACTIVE = 0 THEN’Kullanım Dışı’
END’statü’
FROM LG_035_ITEMS
—————————————————————————————-
ERATE(date, currency)
İstenilen döviz cinsinin, otomatik kullanımda olan türünün, belli tarihteki kurunu getirir.
Program kullanım : ERATE(DATE(13,06,2013),20) —05.05.2002 tarihine girilen EURO kurunu getirir
—————————————————————————————–
CREATE(date, base curr., base rate, dest curr)
İstenilen dövizli tutarın çapraz kurla çevrilen değerini getirir.
Program kullanım : CREATE(DATE(13,06,2013),1,1500,20) = 1.453,25
USD kurun 1,89 TL, EURO kurun da 2,55 TL olduğunu kabul edelim. 1500 EURO’nun bu tarihteki USD karşılığını bulmak için CREATE fonksiyonu yukarıdaki şekilde kullanılır ve fonksiyon 1.789,68 sonucunu bulur. (Matematiksel formül: 1.500*2.55/1,89)
—————————————————————————————–
STRPOS(search string, string)
Metin içersinde aranacak olan karakterin metnin kaçıncı karakteri olduğu bilgisini verir.
Program kullanım : STRPOS(“E”,”KALEM”) = 4
Sql Kullanım : SELECT PATINDEX(‘%A%’,NAME),NAME FROM LG_035_ITEMS
—————————————————————————————–
FLOOR(number)
Verilen sayıyı kendisinden küçük en yakın tamsayıya çevirir.
Program kullanım : FLOOR(2,8)=2 / FLOOR(-2,8)=-3
Sql Kullanım : SELECT FLOOR(NETTOTAL) FROM LG_035_01_INVOICE
—————————————————————————————–
CEIL(number)
Verilen sayının ondalık kısmını 1’e tamamlayarak tamsayıya çevirir.
Program kullanım : CEIL(15.25)=16 / CEIL(15.75)=16
Sql Kullanım : SELECT CEILING(NETTOTAL) FROM LG_035_01_INVOICE
—————————————————————————————–
FRAC(number)
Verilen sayıdan sayının tamsayı kısmını çıkardıktan sonra kalan sayıyı 0 ve +/-1 den yakın olanına çevirir.
Program kullanım : FRAC(3,15)= 0 / FRAC(-3,15)=0 / FRAC(3,75) = 1 / FRAC(-3,75)= -1
Sql Kullanım :
—————————————————————————————–
EXP(number)
Doğal logaritma(ln) fonksiyonunun tersidir. Doğal logaritma fonksiyonunun tabanının (e) verilen sayı kadar kendisi ile çarpımının en yakın olduğu tamsayıyı verir.
Program kullanım : EXP(1)=3 (e’nin yaklaşık değeri) / EXP(2)=7
—————————————————————————————-
LN(number)
Doğal logaritma fonksiyonudur. “e” tabanına göre logartima fonksiyonunu sonucunu en aykın tamsayıya çevirir..
Program kullanım : LN(2) =1 / EXP (LN (5))=5
—————————————————————————————
POWER(base, exponent)
Bir sayının belirtilen kuvvetini verir.
Program kullanım : POWER(9,2)=81(92) / POWER(2,3) =8(23)
Sql Kullanım : select POWER(9,2)
—————————————————————————————–
SQR(number)
Bir sayının karesini (kendisi ile çarpımını) verir.
Program kullanım : SQR(2)=4 / SQR(7)=49
Sql Kullanım :
—————————————————————————————–
SQRT(number)
Bir sayının karekökünü verir.
Program kullanım : SQRT(81)=9 / SQRT(225)=15
Sql Kullanım : select SQRT(49)
—————————————————————————————–
COS(number)
Bir sayının (radyan cinsinden verilen açının) cosinüsünü verir.
COS(0) = 1
—————————————————————————————–
SIN(number)
Bir sayının (radyan cinsinden verilen açının) sinüsünü verir.
—————————————————————————————–
TAN(number)
Bir sayının (radyan cinsinden verilen açının) tanjantını verir.
—————————————————————————————–
WEEKNUM(year start, first week, date)
İlgili tarihin yılın kaçıncı haftası olduğuna dair bilgi getirir. First week parametresi MS Outlook’ta olduğu gibi çalışır.
1: Yılın ilk haftası Ocak 1 ile başlar
2: İlk 4 günlük hafta yılın ilk haftasıdır (Ocak 1 Cuma ise yılın ilk haftası ayın 4’ü ile baslıyor)
3: İlk tam hafta yılın ilk haftasıdır.
WEEKNUM (DATE(01,01,2002),1, Teslim tarihi)
—————————————————————————————–
MONTHSTR(month)
Verilen sayıya karşılık gelen ayı metin olarak yazar.
MONTHSTR(2)=Şubat / MONTHSTR(12) =Aralık
—————————————————————————————–
WDAYSTR(weekday)
Verilen sayıya karşılık gelen günü metin olarak yazar.
WDAYSTR(3)=Çarşamba / WDAYSTR(5)=Cuma
—————————————————————————————–
NUMSTR(number, decimals, format)
Verilen sayıyı metne çevirerek istenen formatta yazar.
NUMSTR(1234,3,1) = 1234
NUMSTR(1234,3,6) = 1234,000 %
NUMSTR(1234,2,7) = 1.234,00
NUMSTR(-1234,1,1) = 1.234,0 (A)
—————————————————————————————–
TIMESTR(time, format)
Verilen saat bilgisini metne çevirerek istenen formatta yazar.
—————————————————————————————–
RESXSTR(list source, tag)
Resource klasörü altında bulunan LRF uzantılı dosyalardaki liste numarası (list source) ve bu numaralı listedeki eleman numarasına (tag) karşılık gelen metni getirir.
RESXSTR(25550,1) = Stok kodu
RESXSTR(25550,2) = Stok açıklaması
—————————————————————————————–
RESSTR(string resource)
Resource klasörü altında bulunan LRF uzantılı dosyalardaki metinleri getirir.
RESSTR(29057) =Uygun kayıt bulunamamıştır.
—————————————————————————————–
CRESSTR(list id., tag)
—————————————————————————————–
UPCASE(text)
Verilen metni büyük harflerle yazar.
UPCASE(“Text”) = TEXT
—————————————————————————————–
LOWCASE(text)
Verilen metni küçük harflerle yazar.
LOWCASE(“Text”) = text
—————————————————————————————–
TRIMSPC(text, option)
Seçilen metnin başındaki ve/veya sonundaki boşlukları atar.
TRIMSPC(“ ABC ”,1) = ABC
TRIMSPC(“ ABC ”,2) = ABC
TRIMSPC(“ ABC ”,3) = ABC
—————————————————————————————–
JUSTIFY(text, direction, fill, length)
Seçilen metni istenilen uzunlukta yazar. Metinde oluşan boşlukları istenen karakterle doldurur.
JUSTIFY(STR(4),1,“0”,3) = 004
JUSTIFY(“ABC”,2,“F”,7) = FFABCFF
—————————————————————————————–
WRNUM(language, number, part)
Bir sayının tamsayı ya da ondalık kısmının belirtilen dilde yazı haline getirir.
Dillere (language) karşılık gelen sayılar Logoset.cfg dosyalarında tanımlanmıştır. (1=Türkçe, 2=İngilizce, 4=Almanca…) Tamsayı kısmın istenen dilde yazılması için part’a 1, kuruş hanesinin yazılması içinse part’a 2 değeri verilir.
WRNUM(1,100,1) = Yüz
WRNUM(2,1000,1) = OneThousand
WRNUM(1,100.05,2) = Beş
WRNUM(4,100.05,1) = Ein(s)Hundert
WRNUM(1,[Fatura Net Toplamı],1) = TL Tutar gelir
WRNUM(1,[Fatura Net Toplamı],2) = TL kuruş hane gelir
Yorumlar
Yorum Gönder