Saltar al contenido principal
Adaptive Planning
Última actualización: 2024-08-23
Pasos: configuración de orígenes de datos de NetSuite

Pasos: configuración de orígenes de datos de NetSuite

Puede utilizar la integración para extraer información de su instancia de NetSuite.
Adaptive Planning
los usuarios pueden acceder a los datos de una instancia de NetSuite a través del adaptador de NetSuite.
Para configurar un origen de datos de NetSuite, siga estos pasos:
  1. Vaya a
    Integración > Diseño de integraciones
    .
  2. Expanda la carpeta
    Orígenes de datos
    en la
    Biblioteca de componentes
    .
    La licencia del origen de datos NetSuite se concede por separado. Si no ve este adaptador en la lista de orígenes de datos, abra un caso en el Centro de atención al cliente de Workday.
  3. Haga clic en
    NetSuite Data Source
    .
    En el centro de la pantalla se mostrará la configuración del nuevo origen de datos y otra información.
  4. Introduzca la siguiente información del origen de datos:
    • Activar autenticación basada en token (TBA):
      está marcada por defecto cuando actualiza a la última versión de NetSuite. Requiere seleccionar una credencial de NetSuite con
      Clave de consumidor, Secreto de consumidor, ID de token
      y
      Secreto de token
      generados por un administrador de NetSuite en la interfaz de usuario de NetSuite.
    • Credencial:
      seleccione la credencial de NetSuite con
      Clave de consumidor, Secreto de consumidor, ID de token
      y
      Secreto de token
      generados por un administrador de NetSuite en la interfaz de usuario de NetSuite. Para obtener información sobre cómo configurar una credencial de NetSuite, vaya aquí.
    • Huso horario de cuenta
      : seleccione el huso horario adecuado para la cuenta en la lista desplegable. (La zona horaria que seleccione aquí debe coincidir con la que se utilice en la interfaz de usuario de NetSuite para esta cuenta de usuario. En NetSuite, vaya a
      Home > Set Preferences > Localization
      ).
    • Duración del lote de relleno con valores anteriores
      : seleccione la duración del lote de relleno. El valor por defecto es una semana (168 horas). Este valor es el número de horas de datos extraídos durante un solo pase de actualización en una tabla de NetSuite importada de forma diferencial. Esto le permite determinar la fragmentación de forma que el programador guarde un equilibrio entre los trabajos por lotes grandes y pequeños. Disminuya esta opción si tiene grandes cantidades de datos de NetSuite. Cuanto menor sea el valor, mayor será el número de bucles de relleno necesarios para un periodo natural dado.
      El valor concreto que introduzca depende en gran medida de una serie de variables específicas del sitio, como el tamaño de los trabajos, la relación entre trabajos pequeños y grandes, el tiempo de respuesta y los recursos del sistema.
    • Nivel de registro:
      seleccione un nivel de registro de la lista desplegable para especificar los detalles de registro para este origen de datos. Tiene las siguientes opciones:
      • Error
        : solo registra errores graves.
      • Información
        : registra toda la información básica, como el momento en que se actualiza el origen de datos.
      • Detallado
        : proporciona información muy detallada sobre todas las fases y acciones. (Este nivel se utiliza principalmente para la depuración o la auditoría, ya que puede generar más información de registro de la que resulta práctica para el uso habitual).
  5. Haga clic en
    Guardar
    en el menú Acciones.
Puede probar la información de conexión en el nuevo agente haciendo clic en
Prueba de conexión
en el menú Acciones. El sistema intenta conectarse a NetSuite utilizando la información de los campos de origen de datos. Si el sistema se puede conectar a NetSuite, haga clic en
Aceptar
. Si surgen problemas de conexión, abra un caso en el Centro de atención al cliente de Workday.
Cuando pueda conectarse a NetSuite, estará listo para importar la estructura de datos. Esto le muestra las tablas y columnas de NetSuite.

Importación de la estructura de orígenes de datos de NetSuite

  1. Haga clic en
    Importar estructura
    en el menú
    Acciones
    . Las tablas y columnas aparecen en el menú
    Componentes de datos
    .
Los datos se sincronizan en una cuenta de usuario de NetSuite de la siguiente manera:
  • La integración elige el mejor método de sincronización.
  • Inicialmente, la integración trata de obtener los datos de forma gradual.
  • Si el origen de datos subyacente no admite la obtención gradual de datos, la integración realiza una actualización completa de los datos de la zona de almacenamiento provisional.
Importación de estructura y tabla de resumen de transacciones de contabilización de Adaptive para NetSuite
La integración proporciona una tabla introductoria para NetSuite denominada tabla
AdaptivePostingTransactionSummary
.
AdaptivePostingTransactionSummary
y sus tablas asociadas se muestran por defecto al ejecutar la opción
Importar estructura
. Esta tabla presenta los elementos de datos solicitados con más frecuencia de un sistema de origen NetSuite. Esta tabla crea automáticamente combinaciones entre la tabla
PostingTransactionSummary
y sus tablas asociadas. Como consecuencia, aparecen los nombres descriptivos dados en las empresas a las categorías de NetSuite utilizadas con más frecuencia:
  • Cuenta
  • Clasificación
  • Elementos
  • Departamento
  • Ubicación
  • Filial
  • Cliente
Todas las tablas incluyen la columna Nombre. La columna
Tipo de cuenta
se activa automáticamente desde la ficha
Cuentas
. Las tablas de categoría se importan automáticamente al ejecutar la opción
Importar estructura
.
Es posible que deba filtrar los tipos de cuenta que no son necesarios aplicando un filtro SQL en el Cargador de Planning, como se describe en Creación de un filtro SQL.
También puede elegir eliminar una o varias dimensiones por defecto disponibles en la tabla combinada. Incluya solo las categorías que necesite para su modelo. Todas las demás categorías deben eliminarse de la combinación y la columna subyacente debe excluirse de la importación de PostingTransactionsSummary.

Introducción de tablas en un origen de datos de NetSuite

Una vez que haya importado la estructura de datos, podrá especificar la información que desea importar. Ya se ha activado un conjunto estándar de tablas de NetSuite. Si desea incorporar tablas adicionales, utilice la sección Tablas para importar de la pantalla para configurar los datos importados de NetSuite.
Para especificar las tablas que se van a importar de la cuenta de usuario, siga estos pasos:
  1. Expanda la entrada del origen de datos en el menú
    Componentes de datos
    .
    Cada tabla aparece como un elemento independiente.
  2. Arrastre y suelte las tablas que desea importar a la sección Tablas para importar en el centro de la pantalla.
    A medida que arrastra cada tabla a la sección Tablas para importar, aparece una ficha en la tabla y la información en la sección Tablas para importar, lo que le permite ver el tipo de información que ha añadido. La ficha de cada tabla también tiene un menú desplegable al que puede acceder haciendo clic en la flecha situada junto a su nombre.

Gestión de columnas

Si una tabla con la que trabaja tiene un gran número de columnas, puede usar Gestionar columnas para editar rápidamente las columnas que desea importar. El cuadro de diálogo Gestionar columnas muestra las columnas de una tabla para que pueda marcarlas o desmarcarlas para la importación.
Para gestionar columnas al importar, siga estos pasos:
  1. Haga clic en la flecha de la ficha situada a la derecha del nombre de la tabla.
  2. Haga clic en Gestionar columnas en el menú flotante.
  3. Marque la casilla situada junto a la columna para importarla.
    Cuando marca una columna, la columna también aparece en la ventana de vista previa después de que se guarde el contenido de la ventana emergente. Al desmarcar una columna, se elimina de la ventana de vista previa.
    No puede cambiar el estado de importación en campos generados por el sistema, como isDeleted.
    Puede cambiar el estado de importación en columnas individuales al:
    • Seleccionar propiedades de columna y establecer la propiedad.
    • Arrastrar y soltar las columnas en el diseñador.

Personalización de tablas

Puede personalizar la forma en la que se importan los datos en cada tabla.
Para personalizar la configuración de tabla, siga estos pasos:
  1. Haga clic en la flecha de la ficha situada a la derecha del nombre de la tabla.
  2. Haga clic en
    Configuración de tabla
    en el menú flotante.
  3. Introduzca la configuración de tabla:
    • Modo de importación de datos:
      solo hay una opción en la lista desplegable:
      • Origen de datos para seleccionar automáticamente el mejor enfoque de sincronización:
        este es el valor por defecto. El origen de datos examina NetSuite y utiliza automáticamente la mejor manera de sincronizar los datos de la zona de almacenamiento provisional con la información de NetSuite. (Algunas tablas se leen en su totalidad cada vez, mientras que otras usan la actualización diferencial.)
    • Filtro de importación de datos:
      utilice esta opción para introducir una expresión SQL que filtre o aplique formato a la información que se va a importar. El filtro SQL se aplica antes de extraer los datos de NetSuite para reducir la cantidad de datos que deben importarse, lo que le proporciona un nivel adicional de control para el que se introducen los datos en la zona de almacenamiento provisional. Haga clic en el campo para mostrar el cuadro de diálogo Editar expresión SQL (el filtro que introduzca aquí se aplicará a los datos de cifras reales en NetSuite en lugar de a la vista previa de datos en la zona de almacenamiento provisional). No todos los orígenes de datos admiten el mismo nivel de capacidad de filtrado de SQL.
    • Parámetro de periodo:
      las tablas de NetSuite
      PostingTransactionBalance
      y
      PostingTransactionSummary
      importar por defecto y requieren la configuración de un parámetro de periodo antes de la importación. Si elige importar el
      ConsolidatedExchangeRate
      o
      BudgetExchangeRate
      tablas, también requieren la configuración de un parámetro de periodo. Si no hay configurado un parámetro de periodo para estas tablas, la importación dará el siguiente mensaje de error:
      Required parameter is not configured
      NetSuite tiene una capacidad de filtrado muy limitada para lo que no es SQL. Solo se admiten expresiones muy simples.
  4. Haga clic en
    Aplicar
    para aplicar la configuración.
  5. Repita los pasos 1 a 3 con cada tabla.
  6. Haga clic en
    Guardar
    para guardar la configuración en el origen de datos.

Configuración de opciones de columna

Al usar las tablas para importar, puede ver una vista previa de los datos tal y como existen en el origen de datos o en la zona de almacenamiento provisional después de la importación. Puede cambiar las opciones de cada columna colocando el cursor sobre la cabecera y haciendo clic en el menú desplegable que aparece junto al nombre:
  • Orden ascendente:
    ordene toda la tabla en función de esta columna en orden ascendente.
  • Orden descendente:
    ordene toda la tabla en función de esta columna en orden descendente.
  • Configuración de columnas:
    este cuadro de diálogo se utiliza para cambiar las propiedades de la columna dentro de la tabla de almacenamiento provisional.
    • Nombre:
      el nombre de la columna que se muestra en la cabecera.
    • Tipo de columna:
      el tipo de datos utilizados en la columna.
    • Convertir tipo de columna:
      seleccione el nuevo tipo en este menú desplegable.
  • Excluir columna de la importación:
    seleccione esta opción para eliminar esta columna de los datos que se están importando.
  • Eliminar columna personalizada:
    seleccione esta opción para eliminar la columna. (Disponible solo para columnas personalizadas).

Creación de columnas de subconsulta

Las columnas de subconsulta le permiten filtrar filas de NetSuite en función de las condiciones con otra tabla relacionada. Por ejemplo, puede filtrar los registros de NetSuite Opportunity en función de la existencia de uno o varios registros de Quote.
Puede usar columnas de subconsulta para lo siguiente:
  • Elegir las tablas/columnas principal y relacionada.
  • Consultar las tablas relacionadas para comprobar determinadas condiciones.
  • Insertar los valores adecuados en la tabla inicial en función de los resultados de esas comprobaciones.
Puede personalizar la forma en que se importan los datos en cada tabla.
Para crear una columna de subconsulta, haga lo siguiente:
  1. Expanda la carpeta Columna personalizada en el origen de datos en el menú Componentes de datos.
  2. Arrastre y suelte el componente Columna de subconsulta en la sección Tablas para importar en el centro de la pantalla.
  3. Introduzca la configuración de columna:
    • Nombre:
      introduzca el nombre de la columna de subconsulta:
    • Tipo de columna:
      este campo de solo visualización lo identifica como una columna booleana.
    • Tabla relacionada:
      seleccione una tabla relacionada para usarla en la comparación.
    • Expresión combinada:
      haga clic en este campo para introducir una condición de combinación. Aparece el cuadro de diálogo Editar expresión combinada SQL. (Aparece más información sobre la creación de combinaciones SQL en Pasos: introducción de tablas y columnas combinadas SQL).
    • Regla de combinar valor:
      seleccione una de las opciones para combinar valor de SQL de la lista desplegable: Existe, No existe, Suma, Recuento, Mín. o Máx.
  4. Haga clic en
    Aplicar
    para aplicar la configuración.
  5. Haga clic en
    Guardar
    para guardar la configuración en el origen de datos.

Descarga de datos de una tabla de almacenamiento provisional

Puede descargar datos de una sola tabla de almacenamiento provisional.
Para descargar datos de una sola tabla de almacenamiento provisional, siga estos pasos:
  1. Haga clic en la flecha hacia bajo de la cabecera de la tabla en la sección Tablas para importar.
  2. Seleccione
    Descargar datos.
  3. Haga clic en
    Enviar
    en la lista de valores
    . Esta operación enviará un correo electrónico con una URL para descargar los datos
    .
    La integración envía un correo electrónico que contiene una URL a la cuenta de correo electrónico asociada al diseñador de datos.
  4. Abra el correo electrónico y haga clic en la URL. Los datos se descargan en formato .csv.

Uso del filtro avanzado

Debajo del menú desplegable Origen, puede hacer clic en Filtro avanzado para mostrar las opciones de filtrado de los datos en el área de vista previa Tablas para importar. El filtro avanzado proporciona herramientas para ver y explorar un subconjunto de datos dentro de una tabla de almacenamiento provisional o directamente desde el origen remoto (si selecciona NetSuite en el menú desplegable Origen).
El área de vista previa está diseñada específicamente para obtener una vista previa de una pequeña parte de los datos de la zona de almacenamiento provisional (o NetSuite). Puede explorar los datos que están disponibles en la cuenta de Hoja de cálculo y verificar que obtiene los datos que espera al examinar la zona de almacenamiento provisional. También puede usarlo para mejorar el filtro de importación de datos que desea usar. (Los filtros definidos en la función de vista previa no afectan a los datos reales de la zona de almacenamiento provisional).
Las opciones disponibles para el filtro avanzado son las siguientes:
  • Filas distintas:
    marque esta casilla para ocultar las filas duplicadas.
  • Máximo de filas:
    limite el número de filas que se muestran en el área de vista previa al introducir un número en el cuadro de texto.
  • Columnas:
    marque o desmarque las columnas en este menú desplegable para mostrar u ocultar las columnas que aparecen.
Al eliminar una columna de esta lista, no se elimina la columna de la lista de importación.
  • Filtro SQL:
    haga clic en el cuadro de texto grande para mostrar el cuadro de diálogo Editar expresión SQL, donde puede introducir un filtro SQL para restringir las filas que se previsualizan. Haga clic en Aplicar para comprobar automáticamente la sintaxis SQL del filtro. (Si hay algún error, se indica en la expresión). La expresión que ha introducido aparece en el campo Filtro de importación de datos. Para obtener ayuda detallada sobre la sintaxis SQL, puede hacer clic aquí en la sección Notas. NetSuite tiene una capacidad de filtrado muy limitada para lo que no es SQL. Solo se admiten expresiones muy simples.
Haga clic en
Eliminar filtro
(junto al menú desplegable Origen) para borrar la configuración de la ventana de vista previa.
NetSuite designa determinadas columnas como columnas clave. Esta información se incorpora a las tablas de almacenamiento provisional. Esta información no debe modificarse.

Importación de datos desde NetSuite

Una vez que haya configurado y guardado el origen de datos de NetSuite, podrá importar datos.
Para importar datos de NetSuite, haga lo siguiente:
  1. Haga clic en
    Importar datos
    en el menú Acciones. Los datos seleccionados se filtran mediante cualquier expresión SQL y se cargan en la zona de almacenamiento provisional. Puede obtener una vista previa de los datos de la zona de almacenamiento provisional.
La información permanece en la zona de almacenamiento provisional hasta que la borra.
Para borrar datos de la zona de almacenamiento provisional, haga lo siguiente:
  1. Haga clic en
    Borrar tablas de almacenamiento provisional
    en el menú Acciones. Se borra el contenido de la zona de almacenamiento provisional de todas las tablas del origen de datos.
Recomendación:
al importar tipos de transacción de NetSuite, asegúrese de utilizar solo los tipos de transacción de NetSuiteadmitidos.

Importación de búsquedas guardadas de NetSuite

La importación desde búsquedas guardadas de NetSuite solo está disponible si configura su integración de NetSuite antes del 12 de agosto de 2024.
Las búsquedas guardadas solo se pueden importar desde adaptadores de NetSuite. También se debe configurar la autenticación de SSO para este origen de datos.
Para importar las búsquedas guardadas es necesario configurar una búsqueda guardada de NetSuite en el Diseñador de datos y luego importar su estructura. Las búsquedas guardadas en la integración admiten registros personalizados, campos personalizados y segmentos personalizados de NetSuite.
Para configurar una búsqueda guardada en el diseñador de datos, haga lo siguiente:
  1. Haga clic en
    Gestionar búsquedas guardadas
    en el menú Acciones.
  2. En el cuadro de diálogo
    Gestionar búsquedas guardadas
    , haga clic en el botón de acciones que se encuentra debajo del árbol de navegación y seleccione Añadir búsqueda guardada, o haga clic con el botón derecho en la carpeta de búsquedas guardadas y seleccione Añadir búsqueda guardada. Asigne un nombre a la búsqueda guardada.
  3. Seleccione el
    Tipo de registro de NetSuite
    .
  4. Seleccione la
    Búsqueda guardada de NetSuite
    .
  5. Haga clic en
    Aplicar
    .
Para importar la estructura de una búsqueda guardada, haga lo siguiente:
  1. En el cuadro de diálogo Gestionar búsquedas guardadas, haga clic en una búsqueda guardada que haya creado para seleccionarla.
  2. Haga clic en el botón de acciones debajo del árbol de navegación y seleccione
    Importar estructura
    en el menú Acciones, o haga clic con el botón derecho en la búsqueda guardada y seleccione
    Importar estructura
    .
  3. Una vez que la importación de la estructura de búsqueda guardada se realice correctamente, cierre el cuadro de diálogo Gestionar búsquedas guardadas.
  4. La zona de almacenamiento provisional mostrará una ficha para cada estructura de búsqueda guardada que haya importado.
Tenga en cuenta que todas las búsquedas guardadas en el panel Componentes de datos se importarán si hace clic en Importar estructura desde el panel Acciones.
Recomendación:
asegúrese de que los resultados de la importación de la estructura de la búsqueda guardada no contengan columnas con resultados de resumen de NetSuite. Esta es una restricción de la API de servicios web de NetSuite.
El número máximo de búsquedas guardadas de NetSuite que se pueden importar es 1000.
Para seleccionar un modo de importación de datos de búsqueda guardada de NetSuite, haga lo siguiente:
  1. En la zona de almacenamiento provisional, haga clic en el icono de flecha de la ficha de una tabla de su búsqueda guardada de NetSuite.
  2. Seleccione
    Configuración de tabla
    en el menú desplegable.
    Hay dos opciones disponibles:
    • Todos los registros se sustituyen cada vez que se ejecuta una importación de datos:
      este es el valor por defecto. Esta opción sustituye todos los datos cuando se ejecuta la importación.
    • Se han transmitido todos los registros incluidos en un rango de periodo:
      esta opción le permite seleccionar un rango de periodos mediante un parámetro y, a continuación, elegir la columna de fecha y hora de una tabla de búsqueda guardada a la que se aplica el parámetro. Puede hacer clic en
      Editar parámetros
      en este cuadro de diálogo para crear un parámetro de rango de periodo. Si elige importar un rango de periodo, debe definir un parámetro de periodo o no se podrá completar la importación.
  3. Haga clic en
    Aplicar
    .
  4. Haga clic en
    Guardar
    en el panel Acciones.
Para importar datos de una búsqueda guardada, haga lo siguiente:
  1. En el panel Acciones, haga clic en
    Importar datos
    .
  2. Los datos de la búsqueda guardada de NetSuite se importan a la zona de almacenamiento provisional.
Para eliminar las búsquedas guardadas de NetSuite, haga lo siguiente:
  1. Haga clic en
    Gestionar búsquedas guardadas
    en el panel Acciones.
  2. Haga clic con el botón derecho en la búsqueda guardada en Gestionar búsquedas guardadas y seleccione
    Eliminar
    . La búsqueda guardada se elimina de la lista de diálogo Gestionar búsquedas guardadas, pero su estructura permanecerá en el panel Componentes de datos y en la zona de almacenamiento provisional hasta que se vuelva a ejecutar la opción Importar estructura.
Si se elimina una búsqueda guardada de NetSuite en NetSuite, un mensaje indicará que ya no está disponible al realizar la importación de estructura. Si se modifica en NetSuite una búsqueda guardada que ya se utiliza en la integración para la importación de datos, no hay garantías de que puedan completarse correctamente futuras importaciones de datos .
Recomendación:
en NetSuite, cree sus búsquedas guardadas específicamente para usarlas en la integración y asigne un nombre para que otros usuarios de NetSuite no las modifiquen ni las eliminen.
Recomendación:
asegúrese de tener los permisos adecuados en NetSuite para ver el contenido que muestra un resultado de Búsqueda guardada. Si no tiene permiso para el contenido, su búsqueda devolverá cero registros sin un mensaje de error. Esta es una limitación de NetSuite que se indica en su ayuda en línea:
If you reference a saved search for which you do not have the permission, the exception is ignored and fields have no value (are not in the SOAP response at all).

Selección de archivos del archivador de NetSuite para importación

Puede gestionar y seleccionar archivos CSV de los archivadores de archivos de NetSuite para importarlos como tablas de almacenamiento provisional.

Obtener detalles desde
Adaptive Planning
Volver a NetSuite

La obtención de detalles de NetSuite solo está disponible si configura su integración de NetSuite antes del 12 de agosto de 2024.
Puede activar la obtención de detalles en los datos importados de NetSuite. Los vínculos para la obtención de detalles estarán disponibles en las hojas e informes de Planning para las cifras reales importadas de NetSuite. Para configurar la obtención de detalles de NetSuite, debe asegurarse de que sus identificadores internos se utilicen como parte de la asignación de columnas en el cargador de Planning. Deberá configurar un sistema externo de NetSuite y adjuntarlo a un perfil utilizado por el cargador de Planning.
Si configura varias columnas en NetSuite para asignarlas a una sola dimensión de Planning, esas columnas de NetSuite deben combinarse en el origen de datos mediante una columna SQL de tupla.
Para obtener más información, consulte la sección Descripción de los perfiles de asignación de Creación de cargadores de datos de Planning.
Pasos avanzados para activar la obtención de detalles de Planning a NetSuite
Antes de comenzar, asegúrese de que la casilla Mejor obtención de detalles basada en paquetes esté marcada en el menú de Planning
Integración > Configuración de NetSuite
.
Configure un NetSuiteExternal System, que define la asignación dimensional.
Realice los ajustes de origen de datos necesarios para las asignaciones de dimensiones definidas.
  1. Si tiene varias categorías de NetSuite asignadas a la misma dimensión de Planning, revise el origen de datos de NetSuite para añadir una columna SQL de tupla que permite asignaciones de varias columnas a una.
  2. Haga clic en la tabla
    Resumen de transacciones de contabilización de Adaptive
    dentro de Tablas para importar.
  3. Seleccione
    Gestionar columnas
    en la lista desplegable de
    Resumen de transacciones de contabilización de Adaptive
    .
  4. Activar
    AccountInternalId
    .
  5. Activar
    InternalIds
    para las demás dimensiones por las que tiene previsto profundizar.
  6. Guarde el origen de datos.
Realice los ajustes del cargador necesarios mediante los ajustes de origen de datos para la asignación de dimensiones.
  1. Una vez finalizada la configuración del origen de datos de NetSuite anterior, configure un cargador de datos de Planning para importar datos de cifras reales de NetSuite.
    • Vincule un perfil al Sistema externo que ha configurado en el paso de configuración de un sistema externo de NetSuite.
    • Adjunte este perfil al cargador de Planning.
  2. Haga clic en la ficha
    Asignación de columnas
    .
  3. En la fila Cuenta, haga lo siguiente:
    • En la columna
      ID de origen,
      seleccione el
      accountInternalId
      columna de la tabla de origen.
    • En la columna
      Nombre de visualización de origen
      , seleccione el nombre de visualización.
  4. Repita el paso anterior para cada una de las demás dimensiones estándar en las que quiera profundizar.
  5. Guarde el cargador.
Una vez finalizados todos estos pasos, debería poder profundizar.