1- Script genel yapısı ve kullanımı

Genel bilgiler

Script Editör ile yazılan scriptler Sys uygulamasında Terminal Parametreleri bölümünde tanımlanır ve tüm kullanıcılar için geçerli olur. Ayrıca, Sys uygulamasında Kullanıcı Tanımları ekranında, kullanıcı için belirli bir script seçilerek o kullanıcıya özel süreçler yürütülebilir.

Bir kullanıcı el terminalinden sisteme giriş yaptığında, varsa o kullanıcıya özel script, yoksa genel tanımlanmış script işletilmeye başlanır.

Scriptler bir oturum kapsamında çalışır ve kullanıcı oturumu kapatıncaya kadar işletilme durumu ve içindeki değişkenler korunur. Scriptte bir değişiklik yapıldığında, kullanıcı oturumunu yeniden başlatmak yeterli olur.


Script yapısı

Scriptler formlardan ve formların içinde yazılmış komutlardan oluşur. Tüm formlar BeginForm(Form adı) ile başlar ve EndForm komutuyla biter. Form adlarında Türkçe karakter kullanılmaz.

Scriptte (kural tanımları hariç) otomatik olarak sadece ilk tanımlanmış form işletilir. Diğer formlar bu ilk formun içinden çağrılmalı ya da birbirlerinin içinden yönlendirilmelidir. Formların çağrılması için iki yöntem kullanılır: 1- Forma git ve işleme oradan devam et (GoForm) 2- Forma git ve iş bitince geri dön. (CallForm)

Formların içinde, komutları bölümlere ayırmak ya da yönlendirmeler yapmak amacıyla etiketler tanımlanabilir. Etiketler, etiket adının sonuna : (iki nokta üstüste işareti) konarak oluşturulur.

Scriptler satır satır işletilir.


Değişkenler

Tüm değişkenler globaldir. Bir kez tanımlanan ve değer atanan değişken, scriptin her yerinden kullanılabilir. Bir değişkeni farklı amaçlarla kullanmak istendiğinde, o değişkene yeni değer atanmalı ya da değişkenin değeri boşaltılmalıdır.

Script içinde iki tür değişken kullanılır : Kullanıcı tanımlı değişkenler ve iş nesnelerine ait değişkenler.
Kullanıcı tanımlı değişkenler @ işaretiyle başlarlar. Tanımlama ve değer atama işlemi Set komutuyla ya da sonucu değişkenlere atanabilen komutlarla yapılır. Eğer bir değişken hiç tanımlı değilse, ilk değer atandığında otomatik olarak tanımlanır.

İş nesnelerine ait değişkenler @@ işaretiyle başlarlar ve adları sabittir. (bkz. Veritabanı nesnelerine ait işlemler) Bu değişkenlere değer atama işlemi, ilgili komutlar tarafından otomatik olarak ya da kullanıcı tarafından özellikle belirtilerek yapılabilir. Bazı komutlar, asıl işlemden etkilenen başka değişkenleri de otomatik olarak doldururlar.

Ürün içinde "kaynak/hedef" şeklinde kullanımı olan nesnelerin "hedef" türünde olanlarının değişkenlerinin adının sonuna 2 sayısı eklenir. Ör. Kaynak depo için @@Warehouse, hedef depo için @@Warehouse2 şeklinde...

Telnet uygulaması için tanımlanmış genel birkaç değişken vardır.

  • @SCREEN_WIDTH : Ekrandaki sütun sayısı
  • @SCREEN_HEIGHT : Ekrandaki satır sayısı
  • @Style : Renk, çizgi, kalınlık vb. biçimlendirmeleri yapmayı sağlayan değişken

Metin ifadeler içinde değişken kullanılabilir. Ör. Text(1,1,"Adı : @adi")

Yazım şekli

Tüm komutlar, parametreleri olsun ya da olmasın, yanında parantez işaretleriyle kullanılır. Ör. Beep(), EndIf(), EndForm()

Satır sonunda ; (noktalı virgül) kullanılmaz

Değişkenlere değer atama işlemlerinde = (eşittir) işareti kullanılmaz. Değişkenlere Set komutuyla değer atanır. Ör. @a=1 şeklinde bir kullanım yoktur. Ancak, eşitlik kontrolü = işareti ile yapılır.

Ör. If(@a=1,...)

Büyük harf-küçük harf ayrımı yoktur. Ancak, Türkçe karakter kullanımlarında sorunlara yol açabileceği için, tavsiye edilen kullanım şekli CamelCase (İlk Harfleri Büyük)
olarak yazılmasıdır. Ör. WorkOrder.List()

Metin ifadeler "" (Çift tırnak) işaretleri arasında yazılmalıdır. Sayı ifadeleri çift tırnak içinde yazıldığında, ilgili komutlarda parametre olarak sayı yazılması bekleniyorsa, yine sayı olarak dikkate alınır.

JSON ifadeler {} (Süslü parantez) işaretleri arasında yazılmalıdır.

Scriptte dikkate alınması istenmeyen açıklama ve yorum satırları için // (İki tane sağa yatık bölü işareti) kullanılır.

Her satır ayrı bir komut gibi yorumlanır. Bu sebeple, herhangi bir komut birden çok satıra yayılarak yazılmaz.