Cómo crear tablas con FrontScript (Parte 2)

Hasta ahora sólo hemos visto tablas creadas en el espacio WORK. Para los informes este espacio resulta útil porque se ejecutan los programas en tiempo real y sólo crearemos las tablas en el tiempo de ejecución, de forma que evitamos sobrecargar la memoria. Pero, ¿y si necesitamos acceder a esas tablas antes de poder ejecutar los programas? ¿Cómo podemos crear tablas permanentes en eFront?

Aunque hayamos trabajado en un espacio temporal con un acceso reducido al tiempo de ejecución, eFront pone a nuestra disposición una serie de directorios y espacios de trabajo que podremos utilizar para crear tablas permanentes.

Para poder crear una tabla en cualquier directorio, o leer una tabla si ya existe en dicha carpeta, usaremos el comando LIBNAME, que va acompañado de un alias para el directorio y el directorio:

LIBNAME TABLE CURRENT;
 
DATA TABLE.EXAMPLE;
    SQL "SELECT TOP 4 IQID, FIRSTNAME, LASTNAME FROM SFACONTACT";
    COLUMN ID;
    COLUMN FIRSTNAME;
    COLUMN NAME;
RUN;
 
PROC PRINT DATA = TABLE.EXAMPLE NOOBS;
RUN; 

En el ejemplo, hemos llamado al directorio actual del programa (CURRENT) con el alias TABLE para que nuestra tabla EXAMPLE quede guardada en eFront de forma permanente.

En la carpeta donde se encuentra el programa aparecerá nuestra tabla, que además podrá ser leída desde otros programas y desde los informes.

Para referenciar un directorio que no sea CURRENT sólo tendremos que escribir la dirección de la carpeta donde guardaremos la tabla entre comillas. Por ejemplo:

LIBNAME TABLE “\\PUBLIC\Tables”;

DATA TABLE.NEW_EXAMPLE;
SET TABLE.EXISTING_EXAMPLE;
RUN; 

Si queremos acceder a ellas desde, por ejemplo, los paneles debemos utilizar los espacios de trabajo que eFront nos propone para crear cubos de información. Además del espacio WORK, tenemos otros tres espacios que nos servirán de gran ayuda:

  • Session: que nos mantiene las tablas todo el tiempo que estemos conectados. Es un espacio al que sólo puede acceder el usuario que lo está utilizando, es decir, si creamos una tabla en SESSION, sólo podremos verla nosotros. Este tipo de cubos, junto con los temporales en WORK, no se guardan en caché.
  • Global: que crea tablas accesibles para todos los usuarios de una cuenta y además las guarda en la memoria y en caché. De modo que si cerramos sesión no se borrarán y se podrán leer aunque no se ejecute el programa que las crea.
  • Universal: lo que diferencia este espacio del espacio GLOBAL, es que las tablas creadas aquí son accesibles para todas las cuentas de eFront.

Para referenciar estos espacios se hará como hemos visto en los ejemplos anteriores con WORK (no es necesario el uso de LIBNAME, puesto que eFront ya los reconoce automáticamente). Por ejemplo:

DATA SESSION.NEW_EXAMPLE;
SET GLOBAL.EXAMPLE_GLOBAL;
RUN;
 
PROC PRINT DATA=SESSION.NEW_EXAMPLE;RUN; 

En este último programa hemos creado una tabla nueva que podremos leer durante toda nuestra sesión y además es una copia de la tabla EXAMPLE_GLOBAL que es una tabla ya existente.

">
Javascript buenas practicas; Variables
Gestión de divisas en Salesforce

Related Posts

Comments 1

 
Guest - Fernando on Jueves, 24 Agosto 2017 10:07

Dear Fatima, thank you for the post.
I am struggling with tables in Efront and your tips were really helpful.
I hope you plan to post something on report building too!
Fernando

Dear Fatima, thank you for the post. I am struggling with tables in Efront and your tips were really helpful. I hope you plan to post something on report building too! Fernando
Already Registered? Login Here
Guest
Martes, 11 Diciembre 2018
If you'd like to register, please fill in the username and name fields.
Open

Si quieres unirte a nosotros o si tienes alguna pregunta sobre el mundo del CRM, haz clic aquí.