Nodos y atributos de esquema

Para la definición de objeto de negocio, la finalidad del esquema es crear un enlace entre el esquema y un objeto de mantenimiento. Para la definición de servicio de negocio, especifica un enlace entre el esquema y un servicio, que puede ser un servicio general, uno de búsqueda o uno de objeto de mantenimiento. Para la definición de script de servicio, define la API para transferir información al script y desde este. En la documentación siguiente se proporciona una lista completa de los nodos de XML y atributos disponibles al construir el esquema.

Contenido

Los cuatro tipos de elementos

El tipo de datos de un elemento de campo

Referencia a otros elementos

Consideraciones de hora estándar

Los atributos de asignación

Atributos descriptivos

Constantes del esquema

Valores por defecto y variables del sistema

Los nodos y atributos de acoplamiento

Zona de búsqueda

Ampliación de seguridad para script de servicio

Sustitución de acción para un servicio de negocio

Especificación de searchBy para un servicio de búsqueda

Inclusión de otros esquemas

Atributos de compatibilidad

Los cuatro tipos de elementos

Un elemento de esquema puede tener uno de los cuatro tipos de estructura diferentes que existen. Tenga en cuenta que hay dos clases de tipos de elementos: la lista y el grupo de nodos estructurales y los datos que contienen nodos de campo y sin formato.

Abreviación nemotécnica Valores válidos Descripción Ejemplos
type= "field"

El tipo de campo es el tipo por defecto para cualquier elemento que no se haya etiquetado de forma explícita como otra cosa distinta de campo. Por tanto, prácticamente nunca tiene que etiquetar de forma explícita un elemento como un campo. Tenga en cuenta que un elemento de campo, a diferencia de un grupo o una lista, contendrá información en sus nodos, y no otros nodos.

"group"

El elemento de grupo suele ser solo un elemento estructural del esquema, en cuyo caso no tiene asignación.

Tenga en cuenta que cuando se agrupan varios elementos que se usan para asignar una estructura XML de un campo CLOB/XML de un registro controlado por objeto de negocio, la asignación puede estar en el nivel de grupo.

Ejemplo en el que un grupo se usa para crear una estructura

<schema>
  <input type="group"
    <userId/>
  </input>
  <output type="group">
    <firstName/>
    <lastName/>
  </output>
</schema>

Ejemplo en el que el grupo incluye la asignación:

<parameters type="group" 
mapXML="BO_DATA_AREA" mdField=
"F1_TODOSUMEMAIL_PARM_LBL"/>
  <numberOfDays 
  mdField="F1_NBR_DAYS" 
  required="true"/>
  <frequency 
   mdField="F1_FREQUENCY"/>
"list"

El nodo de lista es estructural como el nodo de grupo. La única diferencia es que la estructura de lista tiene la capacidad de repetirse varias veces en un documento XML.

Ejemplo de un esquema con una lista:

<schema>
  <statesList type="list">
    <state isPrimeKey="true"/>
    <description/>
  </statesList>
</schema>

Ejemplo de un esquema con una lista:

<xml>
  <statesList>
    <state>AK</state>
    <description>Alaska</description>
  </statesList>
  <statesList>
    <state>AL</state>
    <description>Alabama</description>
  </statesList>
...
</xml>
"raw"

El tipo de datos sin formato se usa para capturar un grupo de texto sin formato que no tiene ninguna estructura inherente asociada con él.

<sendDetail type="raw" />

Ejemplo de una instancia XML para el esquema anterior:

<sendDetail>
  <messageInfo>
    <senderAddress>123 W. Main St,    Ontario, CA
    </senderAddress>
    <corpZone>3A</corpZone>
  </messageInfo>
</sendDetail>

El tipo de datos de un elemento de campo

De los cuatro tipos de elementos diferentes, solo un campo puede tener un tipo de datos.

Abreviación nemotécnica Valores válidos Descripción Ejemplos
dataType= "string"

Por defecto, el elemento de campo es una cadena. Por tanto, no hay ningún requisito para especificar el tipo de datos de cadena.

<schema>
  <custName dataType="string"/>
</schema>
"number"

Define un elemento que es un número.

Nota: en las sugerencias de UI se incluye una configuración para la supresión del formato de número automático.
Nota: use el atributo currencyRef para que se muestre de modo automático el símbolo de divisa asociado al código de divisa de referencia. Este formato ignora las posiciones decimales de divisa, de modo que se puede mostrar un símbolo de divisa para una tarifa de unidad con muchos decimales.

Ejemplos

<schema>
  <count dataType="number"/>
</schema>
<schema>
  <taxRate dataType="number" 
   currencyRef="currency"/>
</schema>
"money"

Atributos adicionales opcionales

currencyRef="nombre de elemento"

Define un elemento que representa un importe monetario.

La referencia de divisa es opcional y, si se deja en blanco, se usará la divisa de instalación. Formato y validación automáticos que se aplicarán según la divisa. Por ejemplo, se mostrará el símbolo de divisa cuando haya representación automática. Además, el número de decimales no debe superar el número válido definido para la divisa.

Nota: consulte Referencia a otros elementos para conocer la sintaxis soportada para hacer referencia a otros elementos.
<schema>
  <currency default="USD" 
    suppress="true"/>
  <balance dataType="money" 
   currencyRef="currency"/>
</schema>
"lookup"

Atributo adicional necesario

lookup="nombre de campo"

Define un elemento que tiene valores válidos definidos usando una lista de valores. El campo de lista de valores es necesario.

<schema>
  <status dataType="lookup" 
   lookup="STATUS_FLG"/>
</schema>
"lookupBO"

Atributo adicional necesario

lookupBO="nombre de objeto de negocio"

Define un elemento que tiene valores válidos definidos usando una lista de valores ampliable. El objeto de negocio de la lista de valores ampliable es necesario.

<schema>
  <category dataType="lookupBO" 
   lookupBO="CM-BusinessCategory"/>
</schema>
"boolean"

Define un elemento que tiene valores de "Y" y "N".

<schema>
  <allowsEdit dataType="boolean"/>
</schema>
"date"

Define un elemento que representa una fecha.

<schema>
  <startDate dataType="date"/>
</schema>

"dateTime"

Define un elemento que representa una fecha y hora.

Nota: consulte Consideraciones de hora estándar para obtener más información sobre la configuración adicional disponible de los campos de fecha/hora que representan la hora estándar.
<schema>
  <startDateTime 
  dataType="dateTime"/>
</schema>
"time"

Define un elemento que representa una hora.

<schema>
  <startTime dataType="time"/>
</schema>
"uri"

Define un elemento que captura un URI. Los elementos definidos con este tipo permiten el soporte para la lista de permitidos y la sustitución de URI, como se describe en URI de referencia.

<schema>
  <exportDirectory dataType="uri"/>
</schema>

Referencia a otros elementos

Hay varios atributos que permiten hacer referencia a otro elemento en el mismo esquema. La sintaxis soportada de la referencia de XPath es la misma en todos los casos. En esta sección se incluyen ejemplos en los que se usa el atributo de referencia por defecto (defaultRef).

Referencia a un elemento hermano:

<schema>
   <id mapField="ACCT_ID" required="true"/>
   <altId defaultRef="id" required="true"/>
</schema>

Referencia a un elemento en un grupo superior:

<schema>
   <id mapField="ACCT_ID" required="true"/>
   <msgInfo type="group" mapXML="XML_FIELD">
     <altId defaultRef="../id" required="true"/>
   </msgInfo>
</schema>

Referencia a un elemento en un grupo inferior:

<schema>
   <id mapField="ACCT_ID" defaultRef="msgInfo/altId" required="true"/>
   <msgInfo type="group" mapXML="XML_FIELD">
     <altId required="true"/>
   </msgInfo>
</schema>

Referencia a un elemento en otro grupo:

<schema>
  <acctInfo type="group">
    <id mapField="ACCT_ID" required="true"/>
  </acctInfo>
   <msgInfo type="group" mapXML="XML_FIELD">
     <altId defaultRef="../acctInfo/altId" required="true"/>
   </msgInfo>
</schema>

Consideraciones de hora estándar

La mayor parte de los campos de fecha y hora representan la hora "oficial". Por ejemplo, si una zona horaria cambia la hora en invierno y en verano, el campo de fecha y hora captura la hora observada actual. Sin embargo, algunos campos de fecha y hora deben capturarse siempre en hora estándar para evitar confusiones o ambigüedad. Un buen ejemplo es una fecha y hora relacionada con datos de intervalo detallados. Consulte Diseño de zonas horarias para obtener más información.

Cuando se define un elemento con dataType="dateTime", puede configurar, si lo desea, stdTime="true" para indicar que los datos capturados en el elemento siempre representan la hora estándar de la zona horaria "base". La zona horaria "base" se especifica en las opciones de instalación.

Nota: si se asigna un elemento a una tabla/campo con un tipo de hora estándar física, implicará que stdTime="true". Para obtener más información, consulte Campos.

Ejemplo:

<schema>
  <startTime dataType="Time" stdTime="true"/>
</schema>

Si la zona horaria que representa al campo de fecha y hora no es la zona horaria de instalación, se utilizará la configuración opcional stdTimeRef="XPath a elemento de zona horaria" en un elemento de fecha y hora para indicar que el elemento representa la hora estándar e indica la zona horaria que se debe usar. Consulte Referencia a otros elementos para conocer la sintaxis soportada para hacer referencia a otros elementos.

Ejemplo:

<schema>
  <alternateTimeZone fkRef="F1-TZONE" suppress="true"/>
  <startDateTime dataType="dateTime" stdTimeRef="alternateTimeZone"/>
</schema>
Nota: si se asigna un elemento a una tabla/campo con un tipo de hora estándar de referencia, implica que stdTime="XPath”. Para obtener más información, consulte Campos.
Nota: cuando los elementos de esquema se capturan en la hora estándar, el mapa de UI soporta la notación HTML para mostrar de modo automático los datos que se aplican a la corrección de horario de verano. Consulte el atributo HTML oraType="dateTime; stdTime:true" para obtener más información.

Puede haber casos en los que la fecha y hora se capture como hora estándar en una zona horaria, pero se deben mostrar usando una zona horaria diferente. En este caso, el atributo displayRef="XPath" se puede usar junto con el atributo adecuado que identifique la zona horaria en la que se capturan los datos. Consulte Referencia a otros elementos para conocer la sintaxis soportada.

<schema>
  <displayTimeZone fkRef="F1-TZONE" suppress="true"/>
  <startDateTime dataType="dateTime" stdTime="true" displayRef="displayTimeZone"/>
</schema>

Los atributos de asignación

Cuando construya el esquema, puede elegir entre los atributos siguientes de asignación.

Abreviación nemotécnica Valores válidos Descripción Ejemplos
mapField= "nombre de campo"

En el caso de un objeto de negocio, el atributo mapField se usa para identificar la columna de base de datos con la que está relacionado el elemento. Para los esquemas de servicio de negocio, el atributo mapField= se usa para enlazar un elemento de esquema con un elemento de servicio.

<schema>
  <factId 
   mapField="FACT_ID"/>
</schema>
mapChild= "nombre de tabla"

El atributo mapChild se usa solo para la asignación de objetos de negocio. Se usa de dos maneras:

  • Primera: para crear una lista en el objeto de negocio que corresponda con una tabla secundaria de un objeto de mantenimiento.

  • Segunda: puede usar mapChild para identificar a la tabla secundaria en la que reside un campo acoplado. Para obtener más información sobre el acoplamiento, consulte la sección sobre acoplamiento más abajo.

Ejemplo de una lista en una tabla secundaria en un objeto de negocio:
<persons type="list" 
   mapChild="CI_ACCT_PER"
  <personId mapField="PER_ID"/>
</persons>
mapList= "nombre de lista"

El atributo mapList se usa solo para la asignación de servicios de negocio. Se usa de dos maneras:

  • Primera: para crear una lista en el servicio de negocio que corresponda con una lista en el servicio.

  • Segunda: puede usar mapList para identificar la lista en la que reside un campo acoplado. Para obtener más información sobre el acoplamiento, consulte la sección sobre acoplamiento más abajo.

Ejemplo de una lista en un servicio de negocio:
<selectList type="list" 
  mapList="DE" 
  <value mapField="COL_VALUE"> 
    <row mapList="DE_VAL"> 
      <SEQNO is="2"/> 
    </row> 
  </value>  
</selectList>
mapXML= "nombre de campo"

El atributo mapXML se suele usar para asignar estructuras XML en un campo del servicio de carácter/XML grande. Tenga en cuenta que cuando use mapXML para asignar una lista o una estructura de grupo (type="lista" o type="grupo"), no es necesario que asigne todos los elementos secundarios dentro de la estructura. También es posible asignar elementos de lista en un campo de carácter grande asociado a la lista secundaria.

<enrollmentRequest type="group" 
mapXML="CASE_CLOB">
  <messageID/>
  <sender/>
</enrollmentRequest>
<enrollmentKey 
mapXML="CASE_CLOB"/>
<enrollmentInfo type="list" 
mapChild="CI_CASE_CHILD">
  <sequence 
  mapField="CHILD_SEQ"/>
  <name 
  mapXML="CASE_CHILD_CLOB"/>
  <value 
  mapXML="CASE_CHILD_CLOB"/>
</enrollmentInfo>
isPrimeKey= "true"

Debe especificar una clave primaria para una lista definida dentro de un elemento XML asignado (type="lista" mapXML="CLOB"). El marco usa la clave primaria para determinar si es necesario añadir, actualizar o suprimir un elemento de lista durante la actualización de un objeto de negocio.

Nota: no necesita especificar la clave primaria de una lista de objetos de negocio asignada a una lista de objetos de mantenimiento. Cuando se asigna una lista física, la clave primaria se deriva de los metadatos físicos existentes.
<questionnaire 
type="list" mapXML="CASE_CLOB">
  <question 
  isPrimeKey="true"/>
  <answer/>
</questionnaire>
orderBy= "XPath asc|desc, XPath asc|desc"

Por defecto, las listas definidas dentro de un elemento XML asignado (type="lista" mapXML="CLOB") se ordenan por el primer elemento de la lista. Se puede especificar otro orden mediante el atributo orderBy. El valor de atributo es una lista de XPaths de campo separados por comas (relacionados con el elemento de lista) con un orden opcional (ascendente es el orden por defecto).

Nota: solo está disponible para listas asignadas como XML en objetos de negocio.
<questionnaire type="list" 
  orderBy="page/section, 
page/sequence" 
mapXML="CASE_CLOB">
<question isPrimeKey="true"/>
<answer/>
<page type="group">
  <section/>
  <sequence/>
</page>
</questionnaire>

Atributos descriptivos

Los atributos siguientes se pueden usar para describir un elemento de esquema y proporcionar configuración adicional relacionada con el elemento. Normalmente, estos atributos solo son útiles para los elementos de campo.

Abreviación nemotécnica Valores válidos Descripción Ejemplos
<!-- comment -->

Use eso para añadir un comentario a un esquema mediante caracteres de apertura y cierre especiales: <!-- y -->.

<schema>
  <!-- This schema is used to 
capture business information 
only, please refer to the 
'HUMAN' BO for person 
information -->
</schema>
description= "texto"

Se puede usar la descripción de un elemento para proporcionar una descripción interna del elemento con el fin de ayudar al lector del esquema a entender el motivo de negocio del elemento.

<schema>
  <active type="boolean" 
description="active account" 
label="Active"/>
</schema>
label= "texto"

La etiqueta de un elemento debe ser un texto breve que normalmente precede al elemento en una interfaz de usuario.

<schema>
  <active type="boolean" 
description="active account" 
label="Active"/>
</schema>
required= "true"

Se usa para indicar que es necesario que exista un elemento durante la interacción del objeto.

Nota: para los esquemas incluidos, el atributo required="true" no se procesa en esquemas de objeto de negocio y servicio de negocio cuando se incluyen en un esquema de scripts de servicio. De este modo se soporta la capacidad del script de servicio para rellenar los elementos necesarios antes de que se invoque un objeto de negocio o un servicio de negocio embebido desde el script de servicio.

<schema>
  <logDate mapField="LOG_DT" 
default="%CurrentDate" 
required="true" 
private="true"
</schema>
mdField= "código de campo"

El atributo de campo de metadatos se usa para asociar un elemento con los metadatos de un campo. El campo define el tipo de datos, así como su etiqueta y texto de ayuda. Si enlaza un elemento con un campo de metadatos, no es necesario especificar ninguno de estos atributos.

Nota: para un esquema de objeto de negocio, el atributo mapField se usa para derivar el tipo de datos y la etiqueta. Se puede proporcionar un atributo mdField para sustituir a estos atributos, si fuera necesario. Si el elemento se asigna a una columna XML, el mdField se necesita para proporcionar el tipo de datos y la etiqueta adecuadas.
<schema>
  <active 
mdField="CM_ACTIVE_SW"/>
</schema>
fkRef= "Código de referencia de clave externa"

Si el elemento es una clave externa, la definición de su referencia de clave externa permitirá la validación del marco del elemento durante la interacción del esquema y se proporcionarán de modo automático descripciones y capacidad de navegación.

<schema>
  <person fkRef="PER" 
mapField="CHAR_VAL_FK1">
   <row mapChild="CI_SA_CHAR">
      <CHAR_TYPE_CD is="PER"/>
    </row>
  </person>
</schema>
private= "true"

Al marcar un elemento como privado se evitará su exposición en la interacción de esquema.

Nota: un elemento privado necesita un valor por defecto.
<schema>
  <type mdField="SA_TYPE_CD" 
default="E1" private="true"/>
</schema>
suppress= "true"

Esta configuración evita que un elemento aparezca en interfaces de usuario generadas de modo automático.

Nota: este atributo se puede especificar en un grupo, en cuyo caso se suprimirán todos los elementos del grupo.
Nota: acceda a Valores por defecto y variables del sistema para obtener consejos relacionados con los valores por defecto para los elementos suprimidos.
<schema>
    <ls mdField="LIFE_SUPPORT_FLG" 
default="N" suppress="true"/<
</schema>
"blank"

Esta configuración significa que la representación automática de UI en el modo de visualización ocultará el elemento si su valor está en blanco. El elemento seguirá siendo modificable en el mapa de entrada, esté en blanco o no.

<schema>
  <email mdField="EMAIL" 
suppress="blank"/>
</schema>
"input"

Esta configuración significa que la representación automática de UI suprimirá el elemento para su entrada, aunque se pueda mostrar si no está en blanco.

Nota: los elementos marcados como suppress="input" se comportarán como con suppress="blank". Si el valor está en blanco, no se mostrará ningún valor en el mapa de visualización o de entrada. Si existe el valor del elemento, se mostrará el elemento en el mapa de visualización y en el de entrada.
Nota: acceda a Valores por defecto y variables del sistema para obtener consejos relacionados con los valores por defecto para los elementos suprimidos.
<schema>
  <email mdField="EMAIL" 
suppress="input"/>
</schema>
noAudit= "true"

Esta configuración evita que aparezca como un elemento cambiado en el hueco de plug-in de la auditoría del objeto de negocio. Si se especifica en un nodo de lista o grupo, se aplicará al nodo completo. No puede especificarlo en el nodo raíz de esquema, solo en elementos de esquema.

Nota: este atributo solo se aplica a esquemas de objetos de negocio.
<schema>
  ...
  <version mapField="VERSION_NBR"
 noAudit="true"/>
  ...
  <workFields type="group"
 noAudit="true"
    <lastProcessedId/>
    <lastProcessedTime/>
  </workFields>
</schema>
storeEmptyNodes= "true"

Por defecto, los nodos vacíos se eliminan de una instancia de objeto de negocio cuando se guardan. Esta configuración permite a un elemento de un grupo o de una lista conservar de forma explícita los nodos vacíos.

Este atributo puede resultar de utilidad en situaciones en las que los datos del objeto de negocio se intercambian con un sistema externo y no existe necesidad de distinguir entre un valor vacío para un elemento que participa en la sincronización y otro que no participa y que, por tanto, debe omitirse del mensaje.

Nota: solo está disponible para elementos de grupo y de lista.
<schema>
  <message type="group" storeEmptyNodes="true">
  ...
  </message>
</schema>
emitEmptyGroups= "true"

Por defecto, los nodos vacíos no se incluyen en la salida de un objeto de negocio o una llamada de servicio de negocio. Este atributo se define en el nodo de esquema de nivel superior, permitiendo que los nodos vacíos de todos los elementos de grupos y de lista se incluyan en la salida.

Este atributo puede resultar de utilidad en las mismas situaciones que pueden precisar el uso del atributo storeEmptyNodes=.

Nota: solo está disponible para esquemas de objeto de negocio y de servicio de negocio.
<schema emitEmptyGroups="true">
  <message type="group">
  ...
  </message>
</schema>
emitEmptyElements= "true"

Este atributo es similar a emitEmptyGroups=, pero también se puede especificar en el nivel de campo. El atributo es aplicable a todos los tipos de esquemas.

<schema>
  <messageNumber type="field" emitEmptyElements="true">
  ...
  </message>
</schema>
adheresToDA= “lista de nombres de área de datos, separados por comas.”

Este atributo es aplicable a los nodos de esquema, grupo y lista. Indica que este nodo de subesquema está destinado a "parecerse" al esquema de una de las áreas de datos de la lista, por motivos de polimorfismo en general.

Nota: el enfoque recomendado para aplicar la estructura de un área de datos compartida consiste en su inclusión en el esquema. Este atributo deberá limitarse a casos de uso en los que la posibilidad de incluir el área de datos no sea posible.
<schema>
  <messageNumber type="group" adheresToDA="DataAreaName">
  ...
  </message>
</schema>

Constantes del esquema

Hay algunos esquemas que pertenecen a productos donde el diseño garantiza la inserción de un valor por defecto en el esquema, pero donde el valor es específico de la implantación y, por tanto, el producto no puede definirlo. Para estas situaciones, el producto puede usar una técnica denominada "constante del esquema". El diseño del esquema incluirá una constante declarada. En el momento de la implantación, la tarea de configuración incluirá la definición del valor adecuado para la constante.

Por ejemplo, suponga que el producto entrega un algoritmo que crea un mensaje saliente cuando se cumple una determinada condición. La implantación debe configurar el tipo de mensaje saliente que se va a usar. Para usar una constante del esquema para definir el tipo de mensaje saliente, el producto base configurará lo siguiente:

  • Se define un valor de lista de tipo de opción para la lista de valores F1CN_​OPT_​TYP_​FLG. Por ejemplo, M202 - Tipo de mensaje saliente de finalización de actividad con un nombre de valor de Java de outmsgCompletion.

  • El esquema base que se usa para crear el mensaje saliente de "finalización de actividad" hace referencia a la constante del esquema que usa el nombre de valor de Java del valor de lista del tipo de opción.

    ...
    <outboundMessageType mapField="OUTMSG_TYPE_CD" default="%Constant(outmsgCompletion)"/>
    ...

En el momento de la implantación, los usuarios administrativos deben configurar el tipo de mensaje saliente adecuado para "finalización de actividad". A continuación, vaya a Configuración de funciones, elija el tipo de característica Constantes del esquema, el tipo de opción tipo de mensaje saliente de finalización de actividad e introduzca el tipo de mensaje saliente recién creado en el valor de opción.

También se pueden usar las constantes del esquema en la sintaxis de acoplamiento para definir los elementos de fila necesarios para acoplamiento.

Valores por defecto y variables del sistema

El atributo por defecto se puede usar para insertar valores por defecto en los elementos de campo, así como en los elementos de fila necesarios para acoplamiento. Puede insertar por defecto un campo en una constante o en una de varias variables del sistema.

Cuando es necesario un elemento, el valor por defecto se aplica en el nivel del servidor al añadir o cambiar el registro, si no se indica ningún valor para el elemento.

Si el elemento es opcional, podría configurarse un valor por defecto para indicar un valor sugerido para el usuario al rellenar el registro en la interfaz de usuario, en modo de adición. Los usuarios deben poder eliminar el valor por defecto para este tipo de elemento, y el sistema no intentará rellenarlo en el momento de guardar.

Nota:

El estándar para el mantenimiento de 'lista' será mostrar una fila vacía para una nueva lista que el usuario puede querer elegir o no para rellenar. De acuerdo con esto, los valores por defecto de la UI no se muestran para los elementos de lista.

No es recomendable configurar un atributo por defecto para un elemento opcional que no sea editable ni visible en la interfaz de usuario en modo de adición; por ejemplo, un elemento con suppress="true" o suppress="input", o un elemento de lista cuyo valor por defecto no aparezca de acuerdo con el punto anterior. El valor por defecto para este tipo de elemento se sigue aplicando, pero el usuario no tiene la posibilidad de restablecer el valor. Esto puede traducirse en incoherencias porque la definición de valores por defecto no se produce en los campos opcionales que se añaden mediante un caso de uso que no sea la interacción de UI.

Abreviación nemotécnica Valores válidos Descripción Ejemplos
default= "valor" Use este atributo para establecer por defecto un valor específico en un elemento. Los valores que son válidos dependen de la configuración dataType.
<schema>
  <perType mapField="PER_OR_BUS_FLG" 
default="P" required="true"/>
</schema>
<schema>
  <frequency dataType="number" 
default="1" required="true"/>
</schema>
"%CurrentDate" Se usa para establecer por defecto la fecha actual en el elemento. Solo se aplica a los elementos de fecha.
<schema>
  <logDate mapField="LOG_DT" 
default="%CurrentDate" required="true"/>
</schema>
"%CurrentDateTime" Se usa para establecer por defecto la fecha y hora actual en el elemento. Solo se aplica a los elementos de fecha y hora.
<schema>
  <logDateTime mapField="LOG_DTTM" 
default="%CurrentDateTime" 
required="true"/>
</schema>
"%StandardDateTime" Se usa para establecer por defecto la fecha y hora estándar. La fecha y hora estándar es idéntica a la fecha y hora actual, a menos que esté en vigor el horario de verano para la zona horaria base. Se puede usar con el atributo stdTime.
Nota: consulte Consideraciones de hora estándar para obtener más información.
<schema>
  <startDateTime mapField="START_DTTM" 
default="%StandardDateTime" 
required="true"/>
</schema>
"%ProcessDate" Puede establecer por defecto la fecha de proceso. La fecha de proceso es diferente de la fecha actual porque la fecha de proceso permanece constante durante la ejecución del proceso. La fecha actual reflejará la fecha real de procesamiento. Es parecida al fecha hábil por lotes que es un parámetro de lote estándar.
<schema>
  <billDate mapField="BILL_DT" 
default="%ProcessDate" 
required="true"/>
</schema>
"%ProcessDateTime" Es parecido a "%ProcessDate", pero para los campos de fecha y hora.
<schema>
  <calcDateTime mapField="CALC_DTTM" 
default="%ProcessDateTime" 
required="true"/>
</schema>
"%CurrentUser" Se usa para establecer por defecto el usuario actual en el elemento.
<schema>
  <logUser mapField="LOG_USER" 
default="%CurrentUser" 
required="true"/>
</schema>
"%CurrentUserTimeZone" Se usa para establecer por defecto la zona horaria del usuario actual en el elemento. Si no se encuentra la zona horaria del usuario actual, se usa la zona horaria de instalación.
<schema>
  <timeZone 
default="%CurrentUserTimeZone" 
required="true"/>
</schema>
"%CurrentUserLanguage" Se usa para establecer por defecto el idioma del usuario actual en el elemento.
<schema>
  <custLanguage mapField="CUST_LANG" 
default="%CurrentUserLanguage" 
required="true"/>
</schema>
"%InstallationCurrency" Se usa para establecer por defecto la divisa del registro de instalación.
<schema>
  <currency mapField="CURRENCY_CODE" 
default="%InstallationCurrency" 
required="true"/>
</schema>
"%InstallationCountry" Puede establecer por defecto el país del registro de instalación.
<schema>
  <country mapField="COUNTRY" 
default="%InstallationCountry" 
required="true"/>
</schema>
"%InstallationLanguage" Puede establecer por defecto el idioma del registro de instalación.
<schema>
  <language mapField="LANGUAGE" 
default="%InstallationLanguage" 
required="true"/>
</schema>
"%Constant( )" Puede establecer por defecto un valor de elemento mediante una constante del esquema. El siguiente ejemplo representa una constante del esquema usada como valor por defecto, donde el nombre de valor de Java del valor de lista es 'customerLanguage'.
<language mapField="CUSTOMER_LANG" 
default="%Constant(customerLanguage)" 
required="true"/>
"%Context( )" Puede establecer por defecto un valor incluido en una variable de contexto.
Aviso: las variables de contexto deben inicializarse dentro de un script de servidor antes de que se pueda aplicar el valor por defecto del contexto de esquema. Consulte Variables de contexto para obtener más información.
Ejemplo de una variable de contexto usada como valor por defecto:
<source mapField="PER_ID" 
default="%Context(source)" 
required="true"/>
Nota: cuando se define una variable de contexto en los scripts, debe anteponerse el prefijo $$. Cuando se hace referencia a la variable en la sintaxis %Context( ), no se incluye el prefijo.
defaultRef= "XPath"

Use este atributo para establecer por defecto el valor de un elemento en el valor de otro.

Consulte Referencia a otros elementos para conocer la sintaxis soportada para hacer referencia a otros elementos.

Los nodos y atributos de acoplamiento

El término "acoplamiento" se usa para describir el acto de definir uno o varios elementos únicos para un esquema que realmente forman parte de una lista dentro del objeto de mantenimiento. El acoplamiento es posible si hay otros atributos de la lista que se pueden definir para describir de forma única el elemento o elementos. Un caso de uso habitual de acoplamiento es una característica. En vez de definir las características de un objeto mediante una recopilación en la que el usuario debe elegir el tipo de característica y, después, definir el valor, las características se definen como elementos reales con la etiqueta adecuada mostrada. Esta técnica permite que el diseñador del esquema y la interfaz de usuario muestren cada uno características diferenciadas en la parte lógica de la interfaz de usuario en vez de todas juntas amontonadas.

Nota: un elemento acoplado representa una fila única en la base de datos. Esta fila se inserta cuando se crean los valores acoplados. La fila se actualiza cuando cambia alguno de los valores acoplados. La fila se suprime cuando se eliminan todos los valores acoplados. El comportamiento de elementos con fechas en vigor es ligeramente distinto; consulte más información en el apartado Acoplamiento de listas con fechas en vigor.
Nota: la característica de acoplamiento también se puede usar para definir listas; consulte más información en el apartado Definición de listas acopladas.

Identificación de la lista o tabla secundaria

Cuando se acopla una tabla secundaria, se necesita el nodo de fila para identificar la lista o tabla secundaria de la que proceda el elemento. En el nodo de fila, se debe definir al menos un elemento con una definición is= que garantice que el elemento es una fila única en la base de datos. También puede definir elementos o campos en la fila que se suprimen y se rellenan mediante la configuración de valores por defecto.

  • Para un objeto de negocio, el nodo de fila define la tabla secundaria a la que pertenece el campo acoplado.

    La sintaxis es <row mapChild="nombre de tabla">. Este ejemplo corresponde a la lista de personas de una cuenta en el producto Customer Care and Billing. Una persona puede marcarse como "principal". Aquí se ilustra cómo definir un elemento explícito para el ID de persona principal con el fin de simplificar las referencias a ese campo. Es parte de la tabla secundaria CI_​ACCT_​PER. Lo que hace que sea único es que MAIN_​CUST_​SW es true (verdadero) y solo una fila puede tener ese valor.

    <custId mapField="PER_ID" mdField="CM-MainCust">
      <row mapChild="CI_ACCT_PER">
        <MAIN_CUST_SW is="true" />
        <ACCT_REL_TYPE_CD default="MAIN" />
      </row>
    </custId>
    Nota: en el ejemplo anterior se describe cómo el nodo de fila puede definir también elementos dentro de la lista que se suprimen y a los que se les asigna un valor por defecto. Esta sintaxis nunca se usa para identificar una fila determinada. Tenga en cuenta que un valor por defecto puede ser una cadena literal o una variable del sistema.
  • Para un servicio de negocio, el nodo de fila identifica el nombre de la lista a la que pertenece el campo acoplado.

    La sintaxis es <row mapList="nombre de lista">. En este ejemplo se muestran dos entradas de una lista que se acoplan a un valor de campo y descripción.

    <selectList type="list" mapList="DE"> 
        <value mapField="COL_VALUE"> 
    <row mapList="DE_VAL"> 
              <SEQNO is="2"/> 
    </row> 
        </value>  
      <description mapField="COL_VALUE"> 
    <row mapList="DE_VAL"> 
            <SEQNO is="3"/> 
    </row> 
      </description> 
    </selectList>

Identificación de forma única del campo acoplado o la lista acoplada

La sintaxis is= en una fila o un elemento rowFilter se usa para identificar de forma única la fila.

Abreviación nemotécnica Valores válidos Descripción Ejemplos
is= "valor" Este atributo se usa para hacer referencia de forma directa a un valor.
<tdTypeCd 
  mapField="CHAR_VAL_FK1">
  <row 
    mapChild="F1_EXT_LOOKUP_VAL_CHAR">
    <CHAR_TYPE_CD 
   is="CM-TD-TYPE"/>
  </row>
</tdTypeCd>
"%Constant( )" Puede configurar un elemento acoplado mediante una constante del esquema. Durante una interacción del servicio, el valor de la constante del esquema se usará para identificar el elemento acoplado en su fila secundaria.

Ejemplo de una constante del esquema usada en la sintaxis de acoplamiento como valor por defecto, donde el nombre de valor de Java del valor de lista es 'cmRate'.

<unitRate mapField="CHAR_VAL" 
  dataType="number">
  <row mapChild=
   "F1_EXT_LOOKUP_VAL_CHAR">
    <CHAR_TYPE is
   ="%Constant(cmRate)"/>
  </row>
</unitRate>
"%n" El valor de sustitución %n se usa para hacer referencia a una instancia de lista relativa. Este tipo de instancia se suele usar para configurar un elemento acoplado para una tabla secundaria introducida por número de secuencia. El valor de n debe ser un valor de número entero positivo. Durante una interacción de lectura de objeto de negocio, se devolverá la instancia de lista relativa (posición) que especifique el número entero. Ejemplo con una instancia de lista relativa en el que se devuelve la primera instancia de la fila.
<schema>
  <mainPhone mapField="PHONE">
    <row mapChild="CI_PER_PHONE">
      <PHONE_TYPE_CD 
      is="%Constant(mainPhoneType)"/>
      <SEQ_NUMis="%1"/>
    </row>
  </mainPhone>
</schema>
Fastpath: se usan otros valores para is= cuando se acoplan listas con fechas en vigor. Consulte esa sección para obtener más información.

Acoplamiento de tipos de características predefinidos

Si el campo acoplado se encuentra en una recopilación de características y se trata de una característica predefinida, la representación automática de la UI generará una lista desplegable de valores válidos. Por ejemplo, el esquema siguiente generará una lista desplegable del elemento Uso con los valores válidos del tipo de característica Uso de motivo de estado (F1–SRUSG).

<usage mdField="STATUS_RSN_USAGE" mapField="CHAR_VAL">
  <row mapChild="F1_BUS_OBJ_STATUS_RSN_CHAR">
      <CHAR_TYPE_CD is="F1-SRUSG"/>
      <SEQ_NUM is="1"/>
  </row>
</usage>

Definición de varios elementos de la lista

Cuando se intenta incluir varias columnas de la misma lista, el sistema proporciona notación de alias para copiar las reglas de acoplamiento definidas en otro elemento con el fin de que no sea necesario repetir las reglas de acoplamiento. Para hacerlo, el nodo de fila incluye el atributo rowRef e indica el nombre del otro elemento que define la información de asignación. En el ejemplo siguiente se ilustra el acoplamiento de los campos ID de cliente y Recibir copia de factura de la misma lista de personas de una cuenta (donde MAIN_​CUST_​SW es true).

<custId mapField="PER_ID">
  <row mapChild="CI_ACCT_PER">
      <MAIN_CUST_SW is="true" />
      <ACCT_REL_TYPE_CD default="MAIN" />
  </row>
</custId>
<copyBill mapField="RECEIVE_COPY_SW" rowRef="custId"/>

Tenga en cuenta que la notación anterior también ilustra que rowRef se puede definir directamente en la definición de atributo del elemento.

Nota: consulte Referencia a otros elementos para conocer la sintaxis soportada para hacer referencia a otros elementos.

Acoplamiento de dos niveles de profundidad

Si el objeto o servicio de mantenimiento tiene listas anidadas con dos niveles de profundidad, el sistema soportará el acoplamiento de un elemento dentro de un elemento acoplado. En esta técnica también se usa el atributo rowRef. El acoplamiento del segundo nivel hace referencia al elemento acoplado del primer nivel. En el siguiente ejemplo se ilustra el acoplamiento de una característica en un elemento denominado legalContact para el cliente "principal”. Observe que el elemento legalContact tiene dos nodos de fila: uno para hacer referencia a la información de acoplamiento de su registro principal y otro para definir su tabla secundaria.

<custId mapField="PER_ID">
  <row mapChild="CI_ACCT_PER">
    <MAIN_CUST_SW is="true" />
    <ACCT_REL_TYPE_CD default="MAIN" />
  </row>
</custId>
<legalContact mapField="CHAR_VAL_FK1">
  <row rowRef="custId">
    <row mapChild="CI_ACCT_PER_CHAR" >
       <CHAR_TYPE_CD is="LEGAL" />
    </row>
  </row>
</legalContact>

Tenga en cuenta que la notación anterior también ilustra que rowRef se puede definir como un atributo de un nodo de fila en vez de directamente en la definición de atributo del elemento.

Definición de listas acopladas

Hay ocasiones en las que una lista o tabla secundaria soporta varios valores del mismo "tipo" y estos se deben presentar como una lista. Para seguir con el ejemplo anterior, la lista de personas de una cuenta puede identificar a una persona como la "principal". Esta persona se ha acoplado en un elemento único en el que se ha establecido por defecto el tipo de relación de cuenta y se ha suprimido. Para mantener las demás personas relacionadas con una cuenta, puede definir una lista en la que cada fila capture el ID de persona y el tipo de relación de cuenta.

En lugar de un nodo de fila, la lista acoplada se configura con un elemento rowFilter. En el esquema siguiente se ilustra el ejemplo descrito. El nodo de lista define la tabla secundaria. rowFilter incluye los criterios que identifican las filas dentro de la tabla que se van a incluir. Los elementos de la lista se definen en el nodo de lista fuera del elemento rowFilter.

<custId mapField="PER_ID">
  <row mapChild="CI_ACCT_PER">
    <MAIN_CUST_SW is="true" />
    <ACCT_REL_TYPE_CD default="MAIN" />
  </row>
</custId>
<miscPersons type="list" mapChild="CI_ACCT_PER">
  <rowFilter>
    <MAIN_CUST_SW is="false" />
  </rowFilter>
  <relType mapField="ACCT_REL_TYPE_CD"/>
  <personId mapField="PER_ID"/>
</custId>

Tenga en cuenta que el sistema validará que si un esquema contiene elementos únicos acoplados y listas acopladas de la misma tabla secundaria, los criterios que definen los que les hace únicos deben ser análogos.

Acoplamiento de listas con fechas en vigor

Existen algunas listas en la aplicación que tienen fechas en vigor y otros, fecha y hora en vigor. Por ejemplo, existen algunas recopilaciones de características con fechas en vigor. En estas recopilaciones, el diseño pretende capturar un solo valor para un tipo de característica que puede cambiar con el paso del tiempo. Su finalidad no es soportar varios valores de características en vigor al mismo tiempo.

Hay algunos objetos de mantenimiento que tienen características con fecha en vigor, pero no características basadas en secuencia. Para esas entidades, es posible que las implantaciones quieran utilizar la característica para definir un campo adicional que no requiera fechas en vigor.

Cuando considere diseñar un elemento para su esquema que representa un valor en una recopilación con fecha en vigor, tenga en cuenta si el valor es un valor que se utiliza en procesos, como calcular una factura, de tal manera que sea importante capturar los cambios en el valor a lo largo del tiempo.

  • Si no es importante llevar a cabo un seguimiento de los cambios realizados en el valor, se recomienda establecer la fecha en vigor como un valor fijo en el esquema. (Ejemplos debajo).
  • Si es importante llevar a cabo un seguimiento de los cambios realizados en el valor, debe considerar cómo desea diseñar el esquema.
    • Una opción es definir una lista acoplada como se describe más arriba. Tanto el valor como la fecha en vigor son elementos de esta lista. En este caso de uso se gestiona la lista como cualquier otra lista. Puede añadir o eliminar valores.
    • Otra opción consiste en definir un solo valor acoplado en el esquema. Con esta opción, cuando se recupera el registro, se devuelve la última fecha en vigor. En este diseño, la cuestión realmente importante es cómo se define la fecha de referencia.
Nota: consulte Referencia a otros elementos para conocer la sintaxis soportada para hacer referencia a otros elementos.

Elementos acoplados donde no se hace seguimiento de los cambios

A continuación se muestra un ejemplo de acoplamiento de un elemento en una recopilación con fecha en vigor, donde el valor no tiene que tener fecha en vigor. La recomendación en este caso es simplemente codificar de forma fija la fecha en el atributo is=.

<schema>
  <externalReference mapField="ADHOC_CHAR_VAL" mdField="CM_EXT_REF" dataType="string">
    <row mapChild="CI_SA_CHAR">
      <CHAR_TYPE is="CM_EXT_REF"/>
      <EFFDT is="2000-01-01"/>
    </row>
  </externalReference>
</schema>

Elementos acoplados donde los cambios tienen fecha en vigor

Si desea que el esquema de ON acople un valor con fecha en vigor que debe realizar un seguimiento de los cambios a lo largo del tiempo, el valor acoplado representará la última entrada en vigor. En este caso, se recomienda definir de forma explícita el campo de fecha o fecha/hora como un elemento. Existe sintaxis para el atributo is= para indicar que el campo de fecha explícita es la fecha que se va a utilizar para el valor.

Abreviación nemotécnica Valores válidos Descripción Ejemplos
is= "%effectiveDate( )" Esta configuración se usa para indicar que la fecha que se va a utilizar es el valor de otro elemento.
Nota: consulte Referencia a otros elementos para conocer la sintaxis soportada para hacer referencia a otros elementos.
<schema>
  <price mapField="CHAR_VAL" 
   dataType="number" required="true">
    <row mapChild="CI_SA_CHAR">
      <CHAR_TYPE is="PRICE"/>
      <EFFDT 
   is="%effectiveDate(priceEdate)" />
    </row>
  </price>
<priceEdate mapField="EFFDT" 
  rowRef="price"/>
</schema>
"%effectiveDateTime( )" Esta configuración se usa para indicar que la fecha/hora que se va a utilizar es el valor de otro elemento.
Nota: consulte Referencia a otros elementos para conocer la sintaxis soportada para hacer referencia a otros elementos.
<schema>
  <price mapField="CHAR_VAL" 
  dataType="number">
    <row mapChild="RATE_CHAR">
      <CHAR_TYPE is="PRICE"/>
      <EFFDTTM 
  is="%effectiveDateTime(priceEdatetime)"/>
    </row>
  </price>
  <priceEdatetime mapField="EFFDTTM" 
  rowRef="price"/>
</schema>

Debe considerar si el elemento de fecha o fecha/hora se debe mostrar en la interfaz de usuario cuando se muestre el fichero acoplado o si se debe suprimir. Los diseñadores deben tener en cuenta también el diálogo de usuario para actualizar el valor. Puede ser más intuitivo para que el campo acoplado se muestre solo y tenga un diálogo distinto para actualizar el valor de fecha en vigor.

Para esta opción se sugiere que la página de mantenimiento del objeto incluya una zona independiente que muestre el historial de los valores con fecha en vigor a lo largo del tiempo. El último valor se puede incluir en esa zona también.

Tenga en cuenta que con la compatibilidad con versiones anteriores, el sistema también soporta las opciones siguientes. Sin embargo, no se recomiendan. Definían de manera implícita la fecha de referencia como la fecha actual en todo momento. Las opciones soportaban la adición de nuevas filas con fecha en vigor al cambiar el valor. Pero la técnica también hizo que aparecieran nuevas filas con fecha en vigor al actualizar otros elementos del mismo esquema. Las nuevas filas tendrán la fecha o la fecha/hora actuales con el mismo valor de fila porque la fecha o la fecha/hora de referencia es la fecha actual, lo cual supone un cambio. El producto no recomienda gestionar una característica con fecha en vigor sin definir la fecha o la fecha/hora como un elemento explícito.

Abreviación nemotécnica Valores válidos Descripción Ejemplos
is= "%effectiveDate"

No se recomienda esta configuración.

<schema>
  <price mapField="CHAR_VAL" 
  dataType="number">
    <row 
  mapChild="CI_SA_CHAR">
      <CHAR_TYPE is="PRICE"/>
      <EFFDT
   is="%effectiveDate"/>
    </row>
  </price>
</schema>
"%effectiveDateTime"

No se recomienda esta configuración.

<schema>
  <price mapField="CHAR_VAL" 
   dataType="number">
    <row mapChild="RATE_CHAR">
      <CHAR_TYPE is="PRICE"/>
      <EFFDT 
    is="%effectiveDateTime" />
    </row>
  </price>
</schema>

Zona de búsqueda

Se puede configurar un elemento de esquema de mapa de UI para que se muestre un cuadro de diálogo de búsqueda automática cuando el esquema se incluye dentro de un mapa de UI de mantenimiento.

Nota: tenga en cuenta que se puede configurar una referencia de clave externa (fkRef) con una zona de búsqueda. Si un elemento de esquema tiene una referencia de clave externa, pero ningún atributo de búsqueda explícitos, como se describe aquí, se usará la información de búsqueda de referencia de clave externa en el mapa de UI. Es decir, si el elemento de esquema ya tiene una referencia de clave externa, estos atributos de búsqueda explícitos del esquema se usarán solo para sustituir la información de búsqueda de referencia de clave externa.
Nota: consulte Atributos y funciones de mapa de UI para obtener más información sobre la configuración de la zona de búsqueda.

search="search zone"

El atributo de búsqueda se puede usar dentro de un esquema de mapa de UI y se usa para generar de modo automático el atributo de mapa de UI oraSearch. La zona de búsqueda consiste en una zona de explorador configurada como búsqueda.

<person fkRef="PER" search="C1_PSRCH"/>

searchField="campo de búsqueda:elemento|'literal';"

El atributo searchField solo se puede usar junto con el atributo de búsqueda. El atributo searchField se usa para crear el atributo de mapa de UI oraSearchField. El valor searchField se usa para rellenar un filtro de zona de búsqueda con un valor inicial cuando se lanza la zona de búsqueda. El valor inicial también puede ser un literal. El valor searchField se usa para establecer la coincidencia con la abreviación nemotécnica de filtro también denominada searchField.

Campo de búsqueda: elemento|'literal'. El campo de búsqueda representa el filtro de la zona de búsqueda que se rellenará en el lanzamiento. El elemento es el elemento de esquema del mapa que se usa para rellenar el filtro. El elemento es opcional; si se deja en blanco, se establecerá por defecto el elemento en el que se especifique este atributo. searchField también toma 'literal' como valor de entrada.

Nota: en el lanzamiento se pueden rellenar varios filtros dentro de la zona de búsqueda, pero se deben crear varios pares de campos de búsqueda dentro del valor de atributo. El valor especificado aquí se usará para crear directamente el atributo HTML oraSearchField dentro del mapa de UI donde se ha especificado este esquema.
Nota: tenga en cuenta que la referencia de elemento es relativa. Consulte Referencia a otros elementos para conocer la sintaxis soportada para hacer referencia a otros elementos.
<person fkRef="PER" search="C1_PSRCH" searchField="PERSON; PER_TYPE:personType;"/>

searchOut="campo de búsqueda:elemento;"

El atributo searchOut solo se puede usar junto con el atributo de búsqueda. El atributo searchOut se usa para crear el atributo de mapa de UI oraSearchOut. El valor searchOut se usa para capturar un valor seleccionado desde la zona de búsqueda y moverlo a un elemento de mapa de UI. El valor searchOut especificado debe coincidir con la abreviación nemónica ELEMENT_​NAME dentro del parámetro de zona de resultados de búsqueda.

Campo de búsqueda: elemento. El campo de búsqueda representa el resultado de la zona de búsqueda al que se accede en el mapa de UI. El elemento es el elemento de esquema del mapa que se va a rellenar. El elemento es opcional; si se deja en blanco, se establecerá por defecto el elemento en el que se especifique este atributo.

Nota: como consecuencia de la selección de zona de búsqueda se pueden rellenar varios elementos, pero se deben crear varios pares de campos de búsqueda dentro del valor de atributo. El valor especificado aquí se usará para crear directamente el atributo HTML oraSearchOut dentro del mapa de UI donde se ha especificado este esquema.
Nota: tenga en cuenta que la referencia de elemento es relativa. Consulte Referencia a otros elementos para conocer la sintaxis soportada para hacer referencia a otros elementos.
<person fkRef="PER" search="C1_PSRCH" searchField="PER_ID" 
searchOut="PER_ID;PRIMARY_PHONE:personPhone;"/>

Ampliación de seguridad para script de servicio

Se aplicará la seguridad de servicio de aplicación cuando se invoque un objeto de negocio o un script de servicio desde un script de ayudante de proceso de negocio o un mapa de UI, pero no desde un script de servicio. Si desea que se aplique seguridad cuando se invoque el objeto de negocio o un script de servicio desde un script de servicio, debe añadir el siguiente atributo al esquema del script de servicio.

appSecurity="true"

El atributo appSecurity solo está disponible para los esquemas de script de servicio. Si se especifica, se evaluará para el acceso el servicio de aplicación de cualquier objeto de negocio o script de servicio que el script de servicio invoque directamente.

<schema appSecurity="true">
  ...
</schema>

Sustitución de acción para un servicio de negocio

Si desea llamar a un servicio de negocio con una acción distinta a 'leer', es necesario especificar el atributo de acción en el esquema de servicio de negocio del nodo principal.

pageAction="add, change, delete"

El atributo de acción se usa para sustituir la acción por defecto de lectura en un esquema de servicio de negocio. Los valores válidos son:

  • añadir

  • actualizar (solo se permite para el servicio de objeto de mantenimiento)

  • cambiar (no permitido para el servicio de objeto de mantenimiento)

  • suprimir

  • leer (acción por defecto si no se especifica ninguna pageAction)

Ejemplo:

<schema pageAction="change">
  <parm type="group">
    <ele1/>
    <ele2/>
  </parm>
</schema>

Especificación de searchBy para un servicio de búsqueda

Si desea llamar a un servicio de búsqueda, debe especificar de forma explícita el atributo searchBy adecuado para los elementos asignados en el esquema.

searchBy="MAIN"

Los valores del atributo searchBy se pueden encontrar mediante la visualización del esquema XML enlazado al servicio de negocio; para ello, use la opción para visualizar URL de XML. Los valores habituales son los siguientes:

  • MAIN

  • ALT

  • ALT2

  • ALT3

  • etcétera.
<schema searchBy="MAIN">
  <AccountID mapField="ACCT_ID"/>
  <Results type="list">
    <AccountID mapField="ACCT_ID"/>
  </Results>
</schema>

Inclusión de otros esquemas

No existe ninguna limitación para poder incluir un esquema en otro: todos los tipos se pueden incluir en todos los demás tipos. También se permiten inclusiones anidadas y, actualmente, no hay ninguna limitación sobre la profundidad del anidamiento.

En la inclusión de un esquema se necesitan dos partes:

  1. El nodo de inclusión
  2. El atributo de nombre

En la tabla siguiente se resaltan las declaraciones de inclusión soportadas.

Abreviación nemotécnica Descripción Ejemplos

<includeBO name=" "/>

Se permite la inclusión de un esquema de objeto de negocio en otro esquema.

En el contexto del esquema principal, pueden o no tener sentido las reglas de asignación de un esquema de objeto de negocio o de servicio de negocio. La inclusión de otros esquemas se hace bajo su responsabilidad. Sin embargo, un aspecto muy útil del procesamiento de XML es que el marco ignora los atributos que no son pertinentes. Es decir, no hace ningún daño que se incluyan atributos de asignación en un esquema de script.

<schema>
  <cust type="group">
<includeBO name="C1-Person"/>
</cust>
  <spouse type="group">
<includeBO name="C1-Person"/>
</spouse>
</schema>

<includeBS name=" "/>

Se usa para incluir un esquema de servicio de negocio.

<schema>
<includeBS name="F1-ReadMOLog"/>
</schema>

<includeDA name=" "/>

Se usa para incluir un esquema de área de datos.

<schema>
<includeDA 
   name="F1CommonSchemaFieldData"/>
</schema>

<includeMP name=" "/>

Se usa para incluir un esquema de mapa de UI.

<schema>
<includeMP 
   name="F1-DisplayRecordActions"/>
</schema>

<includeSS name=" "/>

Se usa para incluir un esquema de script de servicio.

<schema>
<includeSS name="F1-ActShowZn"/>
</schema>

Atributos de compatibilidad

Estos atributos se han añadido como parte de las actualizaciones desde versiones anteriores del marco.

fwRel="2"

Este atributo se ha añadido a los esquemas creados en Framework 2 como parte de la actualización a Framework 4. Los esquemas nuevos no necesitarán este atributo. No se recomienda modificar este atributo sin comprender las diferencias de comportamiento siguientes, ya que los cambios que no sean adecuados pueden causar errores:

Nota: los esquemas creados en Framework 2 con el atributo fwRel="2" almacenarán los campos asignados de XML en grupos como elementos XML de nivel superior en el campo mapXML. Esto significa que si dos o más campos, en estructuras de grupos diferentes, tuvieran el mismo nombre de campo, habría problemas en el almacenamiento entre ellos, lo que causaría errores. El nuevo comportamiento, sin el atributo fwRel="2", conservará la estructura de grupo y evitará los conflictos.
<schema fwRel="2"
    ...
</schema>