1.9 Los métodos pack y unpack

Ya tenemos un campo en el diálogo. ¿Cómo haremos para que en la siguiente ejecución nos muestre el último valor seleccionado?
- Bien, pues empaquetando las variables mediante los métodos pack y unpack.

Vamos a realizarle algunas modificaciones a nuestra clase Contract, entre ellas, extenderla de la SysOperationInitializable y SysPackable, para que nos permita empaquetar las variables.

En el class declaration nos declararemos una lista con las variables que queremos empaquetar.

[DataContractAttribute]
 class TestSysOperationDataContract implements SysOperationInitializable, SysPackable

{
      CustAccount custAccount;


 
     #define.CurrentVersion(1)
      #LocalMacro.ParmList
           custAccount
      #EndMacro


public void initialize()
{
}
 

Nos crearemos los métodos pack y unpack.
Como podemos comprobar en el pack le indicamos la versión y la lista.
public container pack()
{
 
    return [#CurrentVersion,#ParmList];
}

 

y en el unpack verificamos que versión nos llegar y asignamos las variables a la lista.

public boolean unpack(container _packedClass)
{
 
      Integer version = conPeek(_packedClass,1);

       switch (version)
      {
 
          case #CurrentVersion:
                  [version, #ParmList] = _packedClass;
 
                 break;
           default :
           return false;
       }


 
      return true;
}

Podéis comprobar que si ahora ejecutamos la clase, siempre nos recuperará el cliente que asignamos en la última ejecución.

Este post es el equivalente al siguiente para la RunBaseBatch:

1.3. Los métodos pack y unpack


Para descargar el fichero xpo sólo tenéis que presionar en el siguiente enlace:

Descargar fichero xpo

Comentarios