Está en la página 1de 9

Aplicacin Servidor

1.- Configurar el Profile :

Agregar un Nuevo Profile

2.- Crear un Espacio de Trabajo Nuevo


3.- Crear un Target de Tipo EAServer Component
Digitar: ventas , por ser el nombre del paquete con el que se creara
Crear un Obketo de Usuario:
Standard Class de Tipo: DataStore con el nombre de: uds_datastore

n_conexion:

(Instante Variables)
protected:
//objeto para escrbir en el log
//del srvidor del EAServer
errorlogging iel_msje
//objeto que comunica con el servidor de aplicaciones
transactionserver its_servidor
//objecto que comunica con el medio de conexion
//del EAServer (en este caso el cache)
transaction itr_transaction
//Objeto de usuario no visual de tipo DataStore
uds_datastore iuds_datastore

Evento (activate)
//Getcontextservice : Crea la referencia de un contexto especificado
//instanciado en el servicio especificado
//GetContextService ( servicename, servicereference )

this.getcontextservice( "ErrorLogging", iel_msje) //instancio y almaceno en iel_msje


iel_msje.log("Evento activate para la clase"+ this.classname( ) )

if this.getcontextservice( "TransactionServer", its_servidor)=-1 then


iel_msje.log("Falla en el GetContextService")
return -1
end if

//isvalid : Determina la existencia de un objeto instanciado


if not isvalid(itr_transaction) then
itr_transaction = create transaction
end if

itr_transaction.dbms="ODBC"
itr_transaction.DBParm =
"UseContextObject='Yes',CacheName='cacheVentas',StripParmNames='Yes'"
connect using itr_transaction;

if itr_transaction.sqlcode <>0 then


iel_msje.log("No se puede conectar a la base de datos")
return -1
end if
if not isvalid(iuds_datastore) then
iuds_datastore= create datastore
end if
iuds_datastore.settransobject(itr_transaction)

Evento (desactivate)
iel_msje.log("Evento desactivate de la clase"+ this.classname( ) )
disconnect using itr_transaction;

Evento (constructor)
//Descripcin de este Evento :
//Occurs when the control or object is created,
//--Ocurre cuando el Control o el Objeto es Creado,
//just before the Open event for the window that contains the control.
//--
this.getcontextservice( "ErrorLogging",iel_msje)
this.getcontextservice( "TransactionServer",its_servidor)
iel_msje.log( "Evento Constructor de la Clase"+ this.classname( ) )

Evento (destructor)
iel_msje.log("Evento destructor de la clase"+ this.classname( ) )

New Evento (canbepooled) de Tipo: (pbm_component_canbepooled)


return 1

Aplicar Herencia en el Objeto: n_conexion y nombrarlo como n_mto

New Funcion (of_actualizar) Return (long) Argumentos (ablb_data as blob)

//Metodo SetChange:
//Applies changes captured with GetChanges to a DataWindow
//or DataStore. This method is used primarily in distributed applications.

long ll_rpta
iuds_datastore.setchanges(ablb_data)

ll_rpta= iuds_datastore.update( )

//SetComplete() :
//Declares that the transaction in which a component is
//participating should be committed and the component instance should be deactivated.
//SetAbort() :
//Declares that a component cannot complete its work for the current transaction
//and that the transaction should be rolled back. The component instance are
//deactivated when the method returns.

if ll_rpta = 1 then
iel_msje.log( "Exito enn la actualizacion de datos")
its_servidor.setcomplete( )
return 1
else
iel_msje.log( "Fallo en la acruizacion de datos")
its_servidor.setabort( )
return -1
end if

New Funcion (of_recuperar) Return (blob) Argumentos (as_datawindow as string)

blob lblb_data
long ll_rpta
iel_msje.log("Inicia funcion de recuperacxin de datos")

iuds_datastore.dataobject=as_datawindow
iuds_datastore.settransobject( itr_transaction)
iuds_datastore.retrieve( )

ll_rpta= iuds_datastore.getfullstate( lblb_data)


if ll_rpta < 0 then
iel_msje.log("Falla de recuperacion de datos" + string(ll_rpta) )
its_servidor.setabort( )
else
iel_msje.log("Exito en la recuperacion de datos" + string(ll_rpta) )
its_servidor.setcomplete( )
end if

return lblb_data

Crear un Objeto Datawindow: con el nombre de d_ingreso_usuario