GrabarCokie: Grabación de un campo en el COKO
Esta función permite grabar un campo en el Cokie, típicamente para pasar valores de un programa a otro en una forma transparente, sin utilizar parámetros o campos hidden. El programa receptor podrá tener acceso a través del arreglo $cok. Por ejemplo, para obtener el resultado de la variable COKGlobal5, solo hace falta escribir $cok[COKGlobal5]
Ubicación
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/utilities.php
Parámetros
| PARÁMETRO | USO |
|---|---|
| Variable | Variable de la tabla COK. Ejp: COKGlobal3, COKRetorno, COKIdioma |
| Valor | El valor a grabar |
La función actualiza el registro correspondiente a la tabla COK, dándole el valor "Valor" a la variable "Variable".
Ejemplo de invocación
GrabarCokie("COKRetorno","Actual");
En este ejemplo, se está grabando "Actual" en la variable COKRetorno, de forma que al regresar de act.php el control regrese a la página invocante.
Ejemplo de pase de parámetros
En un primer programa escribir
GrabarCokie("COKGlobal2","754");
En un segundo programa utilizar
$ValorRecibido=$cok[COKGlobal2];
Explicación:
El primer programa asigna a la variable COKGlobal2, el valor 754. El segundo programa lo obtiene y se lo asigna a la variable $ValorRecibido.
Nota:
Se pueden utilizar las variables COKGlobal1...COKGlobal6, las cuales están disponibles para el asesor. Las variables COKGlobal7..9, son utilizadas por el sistema.
El campo Especial
En todas las tablas de Net2Client, existe un campo llamado "Especial". Por ejemplo, en PER se llama PEREspecial, en ART se llama ARTEspecial y así sucesivamente.
Este campo no puede ser visto por el usuario y es muy cómodo para escribir valores relacionados con un registro. Es en este campo donde se guarda, por ejemplo, que un usuario no quiere recibir más emails. Este campo puede ser utilizado por muchos programas, siempre y cuando se haga a través de las 2 rutinas que presentamos a continuación.
En el caso de la tabla AGE, este campo puede tener información de uso interno relacionada con el login (como, por ejemplo, fecha de creación del password), pero este campo está diseñado para tener múltiples usos y para ser utilizado por muchos usuarios. En efecto, es un campo tipo "bloque" en donde la distinta información se almacena separada por el "separador" principal (xFE) y el "separador" secundario (xF8), bajo el formato siguiente:
þNombreCampoøValorþNombreCampoøValor...
en donde þ (xFE) es el separador principal - mujer embarazada - y ø (xF8) el secundario.
Cuidado: Si lees o escribes el campo Especial directamente, puedes estar dañando información guardada por otros programas y ¡Desastre!
EscribirEspecial: Escritura de información en el campo Especial de una tabla
Esta función permite a un programa almacenar datos, que son marcados como suyos, en el campo "Especial" de cualquier tabla de manera transparente. Es muy importante que el asesor emplee esta rutina (junto con LeerEspecial explicada más abajo) para acceder a esta información puesto que el campo Especial alberga simultáneamente datos perteneciente a múltiples programas, haciéndose necesario un formato particular para diferenciar entre los mismos. EscribirEspecial provee un mecanismo transparente que garantiza que cada programa alamcena los datos que le corresponden en el campo Especial y estos se identifiquen como pertencientes a el sin preocuparse por cuántos y cuáles otras aplicaciones esten utilizándo ese campo.
Ubicación
Esta rutina está disponible en programas invocados a través de versup.php o verextendido.php, siempre que incluyan la libreria correspondiente:
rutinas/especiales.php
Parámetros
| PARÁMETRO | USO |
|---|---|
| Contenido | Información que se desea almacenar. Este valor va a reemplazar completamente el que estaba contenido en el campo |
| NombreTabla | Nombre de la tabla a sescribir (Ej. PER) |
| IdRegistro | El número del registro en cuyo campo Especial se desea guardar. |
| CodigoPrograma | El código que identifica al programa que almacenó la informacion que quiere ser leida. Es muy importante recordar este código pues será el único que permitirá hallar los datos al momento de leerlos. |
| Opciones | En este parámetro se pueden especificar opciones sobre la información que seraá mostrada durante la ejecución:
|
Todos los parámetros son obligatorios.
El valor retornado por la llamada es un codigo de status:
- 1 --> Si la llamada fue exitosa
- -1 --> Si no se pudo actualizar el campo por problemas con la base de datos, o la tabla especificada no es correcta o no existe el registro.
Ejemplo de invocación
$Status = EscribirEspecial("L.11110000;M:11001100;", "PER",$Codigo,"N2C","");
En este ejemplo una aplicación identificada con el código N2C (Ej: Net2Client), desea escribir una cadena de caracteres (que representa alguna información según un formato propio) en el campo Especial de la tabla PER para el registro cuyo código esta almacenado en la variable $Codigo.
LeerEspecial: Lectura de información en el campo Especial de una tabla
Esta función permite leer los datos almacenados por un programa específico en el campo "Especial" de cualquier tabla de manera transparente. Es muy importante que el asesor emplee esta rutina (junto con EscribirEspecial, explicada más arriba) para acceder a esta información puesto que el campo Especial alberga simultáneamente datos perteneciente a múltiples programas, haciéndose necesario un formato particular para diferenciar entre los mismos. LeerEspecial provee un mecanismo transparente que garantiza que cada programa lea los datos que le corresponden del campo Especial sin preocuparse por cuántos y cuáles otras aplicaciones esten utilizándolo.
Ubicación
Esta rutina está disponible en programas invocados a través de versup.php o verextendido.php, siempre que incluyan la libreria correspondiente:
rutinas/especiales.php
Parámetros
Todos los parámetros son obligatorios.
El valor retornado por la llamada es un codigo de status:
- 1 --> Si la llamada fue exitosa
- 0 --> Si se pudo leer el campo, pero no habia información almacenada para ese programa.
- -1 --> Si no se pudo leer el campo por problemas con la base de datos, o la tabla especificada no es correcta o no existe el registro.
Ejemplo de invocación
$Status = LeerEspecial($Contenido, "AR1",$Codigo,"N2C","ERROR,ECHO");
En este ejemplo una aplicación identificada con el código N2C (Ej: Net2Client), desea leer su información del campo especial de la tabla AR1 para el registro cuyo código esta almacenado en la variable $Codigo.
