# Database Functions

Veri tabanı fonksiyonları, inSCADA platformunda script/expression ile veri tabanından veri almak veya yazmak için kullanılır.

## Write Data To The Log

#### ins.writeLog(String type, String source, String activity, String msg)

Veritabanı günlük tablosuna bilgi veya uyarı mesajı yazmak için kullanılır.

String type : Yazılacak mesajın türü. (info,warning,error ..)

String source: Yazılacak mesajın kaynağı. Mesaj ile ilgili bir nesnenin veya bir modülün açıklaması olabilir. (Device 01, Communication Channel 1, Pompa 1 ..)

String activity : Yazılacak mesajın ilgili olduğu aktivite açıklaması. (Read Data From PLC ..)

Return Value : Herhangi bir değer geri döndürmez.

#### Syntax

```javascript
ins.writeLog("info","UNIT 01","Starting Sequence","Water Cooling System is Ready");
```

## Fetching Data From The Log

#### ins.getLoggedVariableValueStats(String\[] variableNames, Date startDate, Date endDate)

Veritabanındaki değişken değerlerinin kaydedildiği tablodan talep edilen zaman aralığındaki min,max,first,last,avg,counter,total,integral değerlerini getirir.

String\[] variableNames : Değişken isimlerinin tutulduğu string dizi.

startDate : Veri tabanından getirilecek verilerin başlangıç zamanı.

endDate : Veri tabanından getirilecek verilerin bitiş zamanı.

Return Value : Değişken ve değerlerini içinde barındıran bir JSON nesnesi geri döndürür.

#### Syntax

```javascript
    var startD = ins.getDate((new Date(2021,5,3,9, 24, 0)).getTime());
    var endD = ins.getDate((new Date(2021,5,28,20, 24, 0)).getTime());
    var result = ins.getLoggedVariableValueStats(["V001_STATUS"], startD, endD);
    ins.notify("info", "", result[0].maxValue);

```

## Fetching Hourly Data From The Log

#### ins.getLoggedHourlyVariableValueStats(String\[] variableNames, Date startDate, Date endDate)

Veritabanındaki değişken değerlerinin kaydedildiği tablodan talep edilen zaman aralığındaki saatlik olarak min, max, first, last, avg, counter, total, integral değerlerini getirir.

String\[] variableNames : Değişken isimlerinin tutulduğu string dizi.

startDate : Veri tabanından getirilecek verilerin başlangıç zamanı.

endDate : Veri tabanından getirilecek verilerin bitiş zamanı.

Return Value : Değişken ve değerlerini içinde barındıran bir JSON nesnesi geri döndürür.

#### Syntax

```javascript
var aaaa
```

## Fetching Daily Data From The Log

#### ins.getLoggedDailyVariableValueStats(String\[] variableNames, Date startDate, Date endDate)

Veritabanındaki değişken değerlerinin kaydedildiği tablodan talep edilen zaman aralığındaki günlük olarak min, max, first, last, avg, counter, total, integral değerlerini getirir.

String\[] variableNames : Değişken isimlerinin tutulduğu string dizi.

startDate : Veri tabanından getirilecek verilerin başlangıç zamanı.

endDate : Veri tabanından getirilecek verilerin bitiş zamanı.

Return Value : Değişken ve değerlerini içinde barındıran bir JSON nesnesi geri döndürür.

#### Syntax

```javascript
var aaaa
```
