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ı

:)

 
Comment are closed.