Skip links

Axapta Pack Unpack


Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 117

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 118

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 117

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 118
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