You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

1- Script general structure and usage

General information

Scripts written with the Script Editor are defined in the Terminal Parameters section of the Sys application and are valid for all users. A specific script is selected for the user on the User Definitions screen in the Sys application, and user-specific processes can be executed.

When a user logs into the system via the handheld terminal, a user specific script, if any, or a general script starts to execute.

Scripts run in a session and the execution and the variables are saved until the user logs out. When the script changes, it is sufficient to restart the user session.

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.