Skip links

Axapta Pack Unpack

Axapta Pack Unpack

Merhaba bu yazımda Axaptada pack unpack olayından bahsedeceğim. Pack Unpack seçimlerinizin hafızada tutulmasını sağlayan metodlardır. Formlarda ve direk clasla oluşturulan querylerde kullanılırlar. Dikkat edilmesi gereken Class derleyince sorunsuz çalışıyor ama açarken hata veriyorsa kullanıcı verilerini temizlemeniz gerektiğidir. Temizlemenın yolu  ” Araçlar=> Seçenekler=> Kullanım Verilerini Sıfırla” dır.

Öncelikle classdecleration’da makromuzu yazmamız gerekiyor
classDecleration
str                g1, g2;
#DEFINE.CurrentVersion(1)
#LOCALMACRO.CurrentList
g1,       g2
#ENDMACRO
Pack metodu
container pack()
{
return [#CurrentVersion,#CurrentList, qRun.pack()];
}
Unpack metodu
boolean unpack(container packedClass)
{
Integer     _version     = conpeek(packedClass,1);
container   _packedQuery;
switch (_version)
{
case #CurrentVersion:
[_version,#CurrentList,_packedQuery] = packedClass;
if (!_packedQuery)
return false;
qRun = new QueryRun(_packedQuery);
break;
}
return true;
}
Bunlardan sonra değerleri değişkenlere atamamız gerekiyor
public boolean getFromDialog()
{
boolean ret;
ret = super();
g1 = dfg1.value();
g2 = dfg2.value();
return ret;
}
bunları yapınca pack unpack çalımalı
🙂

Join the Discussion