TROIA nedir?

TROIA, CANIAS ERP'nin uygulama sunucusunda çalışan, IAS (Industrial Application Software) tarafından geliştirilmiş 4. nesil (4GL) bir iş uygulaması programlama dilidir. Ekran (dialog), rapor, sınıf (class) ve iş akışı (transaction) gibi CANIAS'ın tüm bileşenleri TROIA ile yazılır.

Temel kurallar

  • Yorum satırı yoktur, tek yorum biçimi /* ... */ bloğudur. // veya # desteklenmez.
  • Atama = operatörüyle yapılır. MOVE 'değer' TO DEĞİŞKEN; alternatif bir yoldur ama ifade (expression) kabul etmez.
  • Değişkenler LOCAL:, GLOBAL:, MEMBER: veya OBJECT: anahtar kelimeleriyle, önce tip sonra isim gelecek şekilde tanımlanır: LOCAL: INTEGER SAYI;
  • Koşul bloğu IF ... THEN ... ELSE ... ENDIF; şeklindedir — ELSEIF yoktur, gerekirse iç içe IF kullanılır.
  • Bir sınıf metodunun girdi parametreleri PARAMETERS: bloğunda tanımlanır.
  • FOR/FOREACH döngüsü yoktur; WHILE, tablolar için LOOP AT ve stringler için PARSE kullanılır.

Basit bir method örneği

Bir tutara, oran üzerinden iskonto uygulayan (oran %50'yi geçemeyen) bir class method:

/* Belirtilen tutara iskonto oranını uygular. Oran %50'yi geçemez. */
PARAMETERS:
    DECIMAL TUTAR,
    DECIMAL ORAN;

LOCAL:
    DECIMAL SONUC;

IF ORAN > 50 THEN
    RETURN TUTAR;
ENDIF;

SONUC = TUTAR - (TUTAR * ORAN / 100);
RETURN SONUC;

Bu kod bir class method'unun gövdesidir. TROIA IDE'de bir class oluşturup bu method'u eklediğinizde, aynı class içinden THIS.HesaplaIskonto(1000, 20) şeklinde, ya da bir instance üzerinden INSTANCE.HesaplaIskonto(1000, 20) şeklinde çağırabilirsiniz.

Sıradaki adım

Bir sonraki yazıda TROIA'nın en önemli veri tipi olan TABLE'ı ve satırlar üzerinde gezinmek için kullanılan LOOP komutunu, gerçek performans farkı yaratan varyasyonlarıyla birlikte anlatacağım.