Variables de servidor

Este artículo contiene los siguientes temas:
casm173
Este artículo contiene los siguientes temas:
La información de CA SDM se incluye en la plantilla HTML mediante variables que empiezan con el símbolo de dólar ($). Cada página se crea con algunas variables que se documentan en el archivo de plantillas. Estas variables se pueden colocar en la página o usarse en instrucciones condicionales:
  • Variables simples
  • Variables de propiedad
  • Variables de entorno
  • Variables de objeto de negocio
  • Variables de lista
Variables simples
Las variables simples especifican indicadores que se transfieren a las páginas Web. Para acceder a una variable simple, utilice el nombre de la variable precedido por el signo de dólar ($). Esto hace que el valor de la variable esté disponible. Por ejemplo, dos variables de este tipo son $CAisd y $cgi. La colocación de $CAisd en una plantilla provoca la sustitución del directorio de instalación del servidor web principal de CA SDM, mientras que $cgi hace referencia a la dirección URL del programa pdmweb.exe. Las variables simples están documentadas en la sección superior del archivo HTMPL que las utiliza.
A continuación se ofrece una lista de las variables que se pueden utilizar en todos los archivos HTMPL:
  • $ACCESS.
    grupo
    El objeto de privilegio de acceso de usuario contiene la configuración de privilegio del grupo de funciones
    grupo
    del usuario conectado. Por ejemplo, $ACCESS.admin alberga el valor de privilegio para el grupo funcional admin. Los valores de privilegio válidos son:
    • 0: NINGÚN ACCESO
    • 1: VER
    • 2: MODIFICAR
    Esta variable no está disponible en el formulario de inicio de sesión.
  • $cgi
    La dirección URL del programa pdmweb.exe.
  • $cst
    El objeto de datos del usuario conectado. Esta variable no está disponible en el formulario de inicio de sesión. Es posible hacer referencia a atributos individuales de este objeto mediante $cst.
    nombreatributo
    ; por ejemplo, $cst.first_name.
  • $CAisd
    La dirección URL del directorio de instalación del servidor web principal de CA SDM.
  • $MachineName
    El MachineName definido en el archivo web.cfg.
  • $ProductName
    El nombre del producto definido en el archivo NX.env.
  • $SESSION
    El objeto de la sesión guarda todas las variables de sesión incluido el ID de sesión ($SESSION.SID) y todas las variables definidas en el archivo web.cfg.
  • $USER_STATE
    Información de estado definida por el usuario.
Variables de propiedad
Las variables de propiedad representan una propiedad del archivo de configuración, web.cfg. Puede acceder a cualquier entrada del archivo web.cfg (incluidas las entradas definidas por el usuario) en un archivo de plantilla HTML si le agrega el prefijo con "$prop."
Por ejemplo, una de las líneas de web.cfg, la cual especifica el número de entradas que se muestran en una única página de un formulario de lista, tiene este aspecto:
ListPageLength 10
Se puede hacer referencia a esta variable en las plantillas HTML con la especificación:
$prop.ListPageLength
Si utiliza la etiqueta especial <PDM_INCLUDE> para incorporar otro archivo en un archivo de plantillas, puede especificar otras propiedades como atributos de la etiqueta <PDM_INCLUDE>. A las propiedades del archivo incluido se hace referencia de la misma forma que en el caso de las propiedades de web.cfg. Si se especifica una propiedad como atributo de <PDM_INCLUDE> y tiene el mismo nombre que una propiedad de web.cfg, sustituirá la propiedad de web.cfg dentro del archivo incluido.
Por ejemplo, la siguiente etiqueta <PDM_INCLUDE> crea una propiedad llamada $prop.menubar a la que se puede hacer referencia dentro del archivo std_body.htmpl:
<PDM_INCLUDE FILE=std_body.htmpl menubar=no>
Se puede hacer referencia a la propiedad
xxx
del archivo de configuración de dos maneras:
$prop.xxx
o
$SESSION.xxx
. Ambos devuelven el mismo valor. Sin embargo, se prefiere la sintaxis
$prop.xxx
, ya que implica menos carga para el servidor.
Además de las propiedades de web.cfg, existen varias propiedades predefinidas a las que se puede acceder mediante $prop. Son las siguientes:
  • $prop.browser
    Una cadena que identifica el explorador en uso. Será “IE” en el caso de Internet Explorer.
  • $prop.combo_name
    Una cadena que contiene el nombre del usuario actual con el formato “apellidos, nombre y segundo nombre”.
  • $prop.factory
    Una cadena que contiene la tabla asociada al formulario actual, como “cr” para las solicitudes o “iss” para las incidencias.
  • $prop.FID
    Una cadena que contiene el ID de formulario numérico del formulario actual.
  • $prop.form_name
    Una cadena que contiene el nombre de la plantilla HTML actual, con el formato
    xxx
    .htmpl.
  • $prop.form_name_1
    Una cadena que contiene la subcadena del nombre del formulario situada antes del primer guión bajo. Por ejemplo, en el caso del formulario detail_chg_edit.htmpl, form_name_1 sería “detail”.
  • $prop.form_name_2
    Una cadena que contiene la subcadena del nombre del formulario situada después del primer guión bajo y antes del último guión bajo (o punto). Por ejemplo, en el caso del formulario detail_chg_edit.htmpl, form_name_2 sería “chg”.
  • $prop.form_name_3
    Una cadena que contiene la subcadena del nombre del formulario situada después del último guión bajo y antes del punto. Por ejemplo, para el formulario detail_chg_edit.htmpl, form_name_3 sería "edit". Para el formulario de detalle de combinación, que tiene un nombre de archivo con el formato detail_
    xxx
    .htmpl, $prop.form_name_3 se establece según la vista actual, ya sea "ro" o "edit".
  • $prop.release
    Una cadena que contiene el nivel de versión del formulario. La declaración PDM_PRAGMA contiene más detalles sobre esta propiedad.
  • $prop.SID
    Una cadena que contiene el ID de sesión numérico de la sesión actual.
  • $prop.sitemod
    Una cadena que contiene el nombre de modificación definido por el sitio del formulario. La declaración PDM_PRAGMA contiene más detalles sobre esta propiedad.
  • $prop.user_type
    Una cadena que contiene “analyst”, “customer”, “employee” o “guest”.
  • $prop.version
    Una cadena que contiene la versión del formulario. La declaración PDM_PRAGMA contiene más detalles sobre esta propiedad.
Variables de entorno
Las variables de entorno representan entradas dentro del archivo de configuración NX.env. Es posible hacer referencia a cualquier entrada de NX.env dentro de una plantilla HTMPL si se le aplica el prefijo “$env”.
Por ejemplo, una de las líneas de NX.env, que especifica el nombre de host del servidor de CA SDM, tiene este aspecto:
@NX_SERVER=hostname
Se puede hacer referencia a esta variable dentro de los archivos de plantillas HTMPL con la siguiente especificación:
$env.NX_SERVER
Variables de objeto de negocio
Las variables de BusinessObject representan un objeto de CA SDM, como una incidencia o una solicitud. Para acceder a un objeto, es necesario empezar por el nombre de la variable, seguido de un punto (.), seguido de los nombres de atributos que desee ver. Por ejemplo, en una incidencia en la que, por convención, el objeto se representa mediante los argumentos de variable, se puede mostrar la descripción, la fecha de apertura, el número de teléfono del asignatario, el número de actividades de la incidencia y la descripción de la primera actividad tal y como se muestra a continuación:
$args.description $args.open_date $args.assignee.phone_number $args.act_log.length $args.act_log.0.description
Se pueden utilizar llaves para delimitar el nombre de la variable, en caso de que no esté rodeado por espacios en blanco. Por ejemplo, tanto $foo bar como ${foo}bar son válidos. También se pueden usar los argumentos de variable para acceder a valores sin atributos (por ejemplo, $args.KEEP.
nombre
, tal y como se explica en Operaciones compatibles).
Es posible que una variable sin atributos no esté definida. Por ejemplo, es posible llegar a un formulario desde dos lugares distintos, de los cuales sólo uno proporciona un valor para $args.KEEP.foo. Se puede proporcionar un valor predeterminado para una referencia $args con la siguiente sintaxis, donde la cadena situada después de los dos puntos se sustituye por la referencia si
variable
no se ha definido:
${args.variable:default}
  • Variables de fecha de huso horario
    Las variables de fecha de huso horario son un caso especial de variables de objeto de negocio. Proporcionan una forma de convertir las fechas universales (UTC) representadas como números enteros en fechas de cadena ajustadas de acuerdo con el huso horario del explorador correspondiente al usuario. La variable para representar fechas como enteros es:
    $args.attr_name_INT_DATE
    Ejemplo:
    $args.fecha_creación_INT_DATE
  • Variables de datos de fábrica
    Las variables de datos de fábrica son un caso especial de variables de objeto de negocio. Las variables de datos de fábrica se reemplazan por información acerca del objeto al que se hace referencia. Existen siete variables de este tipo disponibles:
    • $args.
      nombre_atributo
      .COMMON_NAME
      El nombre común (cadena que se puede leer de forma externa) de la tabla a la que hace referencia el atributo. Por ejemplo, en el formulario Detalles de solicitud, el valor de $args.assignee.COMMON_NAME es el nombre combinado del asignatario (“apellidos, nombre y segundo nombre”).
    • $args.nombre_atributo.COMMON_NAME_ATTR
      El nombre de atributo del nombre común de la tabla a la que hace referencia el atributo. Por ejemplo, en el formulario Detalles de solicitud, el valor de $args.assignee.COMMON_NAME_ATTR es “combo_name”.
    • $args.FACTORY_
      nombre_atributo
      El nombre de la fábrica asociada al atributo especificado. Por ejemplo, en el formulario Detalles de solicitud, el valor de $args.FACTORY_assignee es “agt”.
    • $args.LENGTH_
      nombre_atributo
      La longitud máxima del atributo. Por ejemplo, en el formulario Detalles de solicitud, el valor de $args.LENGTH_summary es 240.
    • $args.
      nombre_atributo
      .REL_ATTR
      El atributo de relación (clave externa) del atributo. Por ejemplo, en el formulario Detalles de solicitud, el valor de $args.assignee.REL_ATTR es el valor del campo del ID del asignatario.
    • $args.
      nombre_atributo
      .REL_ATTR_ATTR
      El nombre de atributo del atributo de relación de la tabla a la que hace referencia el atributo. Por ejemplo, en el formulario Detalles de solicitud, el valor de $args.assignee.REL_ATTR_ATTR es “id”.
    • $args.REQUIRED_
      nombre_atributo
      Una cadena, ya sea “0” o “1”, que indica si el atributo al que se hace referencia es obligatorio o no.
    • $args.
      nombre_atributo
      .SELECTIONS
      Una lista de selecciones válidas para
      nombre_atributo
      . Este valor es una cadena vacía si
      nombre_atributo
      no es una referencia a otra tabla, o bien si el tamaño de la tabla a la que se hace referencia mediante
      nombre_atributo
      supera el valor de la propiedad SelListCacheMax del archivo de configuración. De lo contrario, la variable SELECTIONS es una cadena que contiene el nombre común y el atributo de relación de todas las entradas de la tabla a la que se hace referencia. Los valores sucesivos están separados por la cadena “@,@”, así que el valor de la variable tiene este formato:
      "[email protected],@[email protected],@[email protected],@rel_attr2"
    • $args.
      fábrica
      _SEL_UNDER_LIMIT
      Una cadena, que puede ser “0” o “1”, que indica si el número actual de filas de la tabla correspondiente a
      tabla
      es inferior al valor de la propiedad SelListCacheMax del archivo de configuración. Esta variable ha quedado obsoleta en favor de la variable SELECTIONS, la cual se debe utilizar en todos los formularios nuevos.
    Las referencias con puntos de las variables de datos de fábrica que contienen este tipo de referencias (COMMON_NAME, REL_ATTR y SELECTIONS) pueden tener cualquier longitud. Por ejemplo, en el formulario Detalles de solicitud, $args.assignee.organization.COMMON_NAME se reemplaza por el nombre externo de la organización del asignatario.
Variables de lista
Las variables de lista se emplean para generar repeticiones en los datos. Se accede a ellas mediante etiquetas de lista tal como se describe en PDM_LIST: Aplicación de formato a listas de filas de base de datos.