Especificación de Requisitos | |
Proyecto/Versión: MEX12.0/TOTVS Microsiga Protheus V12.0 | Requisito/Módulo: 001511/SIGACTB |
Sub-Requisito/Función: 151102/Mantenimiento de Funciones | Tarea/Llamado: 00000B.03.01 |
País: Todos | Fecha Especificación: 27/11/2013 |
Rutinas Involucradas | ||
Rutina | Tipo de Operación | Opción de Menú |
CTBA092 – Funciones | Creación | Actualizaciones->Archivos->Entes->Funciones |
Estrategia de Desarrollo y liberación | |
Producto | Microsiga Protheus – Contabilidad |
Reléase que está siendo desarrollado | 11.90 |
Posee Réplica? | ( )Si ( X)No |
Cual versión? | No aplic |
Crear la rutina que permita el registro de las funciones que serán utilizadas para el proceso de formulación delos Asientos Estándar.
Al ingresar a la opción visualizara un browse con las funciones (tabla CWN) y con las opciones Incluir, Modificar, Borrar y las demás opciones estándar (ver prototipo 01).
Botón Incluir
Al ingresar a esta opción solicitara los datos (ver prototipo 02):
Código (CWN_codfun) .- Código asignado por el usuario para identificar la función. Obligatorio.
Regla de integridad
El código de Función es único, validara que no se repita.
Descripción (CWN_descri) .- Descripción corta de lo que hace la función. Obligatorio.
Ayuda (CWN_help) .- Campo tipo memo, que permitirá registrar una explicación acerca de la función. Obligatorio.
Tipo de Resultado (CWN_tipdat) .- Podrá seleccionar entre Numérico, Carácter o Fecha. Se refiere al tipo de resultado que arrojara la función que se está configurando.
Tipo (CWN_tipo) .- Mostrara dos opciones Conversión de Monedas y Apuntador (la rutina utilizada para llenar este listbox es la CTB92LBOX(), debe ser la misma que la que se use en la consulta especial de funciones).
Dependiendo de la selección del Tipo, la edición de los Parámetros (campos siguientes) tiene variaciones en su funcionalidad como sigue:
xMoeda | Valores que puede registrar | Tipo de dato | Consulta |
Parámetro 1 (CWN_PAR1) | Aceptará mnemónicos (solo de tipo Campo) o valores numéricos | Numérico | CWJFIL |
Parámetro 2 (CWN_PAR2) | Aceptará mnemónicos (solo de tipo Campo) o valores numéricos | Numérico | CWJFIL |
Parámetro 3 (CWN_PAR3) | Aceptará mnemónicos (solo de tipo Campo) o valores numéricos | Numérico | CWJFIL |
Parámetro 4 (CWN_PAR4) | Aceptará solo mnemónicos (solo de tipo Campo y que estos sean de tipo fecha) | Date | CWJFIL |
Parámetro 5 (CWN_PAR5) | Aceptará mnemónicos (solo de tipo Campo) o valores numéricos | Numérico | CWJFIL |
Parámetro 6 (CWN_PAR6) | Aceptará mnemónicos (solo de tipo Campo) o valores numéricos | Numérico | CWJFIL |
Parámetro 7 (CWN_PAR7) | Aceptará mnemónicos (solo de tipo Campo) o valores numéricos | Numérico | CWJFIL |
Para validar que el mnemónico seleccionado es numérico, verificara el campo asociado (cwj_campo) a dicho mnemónico, en la tabla sx3 para obtener el tipo de campo (x3_tipo). Cabe mencionar que el mnemónico se identifica porque el inicio de su nombre siempre es con M_.
Ejemplo1: Sí fue seleccionada la función XMOEDA el sistema buscara la configuración de esa Función y sabrá que esta formado por los parámetros: Valor de moneda origen (parámetro 1, tipo Numero), Código de moneda origen (parámetro 2, tipo Numero), Código de moneda destino (parámetro 3, tipo Numero), Fecha de conversión (parámetro 4, tipo Date), Valor de la moneda (parámetro 5, tipo Numero), Valor tasa de cambio (parámetro 6, tipo Numero), Valor de tipo de cambio (parámetro 7, tipo Numero).. Entonces el comportamiento será:
Parámetro 1, 2 ,3 y 5,6,7.- Aceptara mnemónicos o valores numéricos.
Parámetro 4 .- Aceptara mnemónicos o valores de tipo fecha.
Posicione | Valores que puede registrar | Tipo de dato | Consulta |
Parámetro 1 (CWN_PAR1) | Aceptará solo mnemónicos de tipo tabla (cwj_tipdat='2'). Si no es mnemónico validar que el dato introducido sea una tabla que exista en sx2. | Tabla | CWJTAB |
Parámetro 2 (CWN_PAR2) | Aceptará alfanumérico y estos deben existir como índice en la tabla SIX. | Alfanumérico | SIXFUN |
Parámetro 3 (CWN_PAR3) | Aceptará mnemónicos de tipo campo (cwj_tipdat='1') y podrá armar cadenas unidas por el signo +. Si no es mnemónico validar que exista el dato introducido en la tabla SX3. | Campo | CWJ |
Parámetro 4 (CWN_PAR4) | Aceptará mnemónicos de tipo campo (cwj_tipdat='1'). Si no es mnemónico validar que exista el dato introducido en la tabla SX3 | Cadena de campos | CWJ |
Parámetro 5,6,7 (CWN_PAR5,6,7) | No editable |
Ejemplo, si fue seleccionada la función POSICIONE el sistema contemplara que esa función requiere los parámetros: Alias, índice, valores a buscar, valores a regresar. Entonces el comportamiento será:
(Parámetro 1) Buscar en tabla – Permitirá seleccionar un mnemónico de tipo tabla asociada una consulta estándar que dará facilidades al usuario para identificar el mnemónico.
(Parámetro 2) Orden .- Es el índice que utilizara el apuntador de acuerdo a la tabla seleccionada en el campo anterior. Podrá seleccionar entre los índices de la tabla (six).
(Parámetro 3) Datos a buscar.- Son los campos con los que buscara la información carácter de 50, permitirá seleccionarlos de la consulta estándar de mnemónicos, de tipo Campos.
(Parámetro 4) Mnemónico a Retornar – De acuerdo a la tabla seleccionada en el campo Buscar en tabla, podrá seleccionar de una consulta estándar los mnemónicos de tipo campos a retornar
Al seleccionar Confirmar, validara que:
Si las condiciones no se cumplen, enviara un aviso al usuario informando el problema y no guardara la información, hasta que el usuario haga la corrección.
Si todo bien, guardará la información en la tabla CWN, previo a esto realizara la traducción de la función a sintaxis ADVPL y este resultado se guardara en el campo CWN_advpl (crear la función CTB92ADVPL, para realizar este proceso).
Botón Modificar
Podrá modificar todos los datos, excepto el código y el tipo de función.
Si el Tipo (cwn_tipo) es Apuntador, al salir del parámetro 1, si este ya tenía información y fue cambiada para una tabla diferente los parámetros 2 y 4 deben limpiarse para que el usuario coloque nuevamente los correspondientes a la tabla seleccionada.
Regla de integridad
Verifique que la función no esté siendo utilizada por un mnemónico, esto es, verificará en la tabla CWJ que no existan mnemónicos de tipo Función. Los mnemónicos de tipo función es donde CWJ_TIPDAT ='4'. De ser así, solo permitirá modificar la Descripción y la Ayuda.
Si el mnemónico está siendo utilizado por una función, enviara al usuario el aviso "La Función está en uso de algún mnemónico, solo permitirá cambios en la Descripción y en la Ayuda".
Botón Borrar
Al selección un registro, ingresara y mostrara todos los datos, después al seleccionar Confirmar, preguntara ¿Está seguro de Eliminar el registro?, si la respuesta es afirmativa, procederá a eliminarlo.
Regla de integridad
Verifique que la función no esté siendo utilizada por un mnemónico, esto es, verificará en la tabla CWJ que no existan mnemónicos de tipo Función., Los mnemónicos de tipo función es donde CWJ_TIPDAT ='4'. Si existe su uso en algún mnemónico, al Confirmar, en vez de preguntar enviara un aviso al usuario "Esta Función está siendo utilizada en algún mnemónico y no permite ser eliminada".
Crear las consultas
CWJFIL .- Mnemónicos de Campos
Se creara la consulta estándar CWJFIL, donde se visualizaran las columnas:
Filtrar la información para que solo muestre las registros que son de tipo Campo (cwj_tipdat=1 ).
Retornara el valor del código del mnemónico seleccionado (cwj_codmne).
CWJ .- Mnemónicos
Se creara la consulta estándar CWJ, donde se visualizaran las columnas:
Retornara el valor del código del mnemónico seleccionado (cwj_codmne).
CWJTAB .- Mnemónicos de tipo Tabla
Se creara la consulta estándar CWJTAB, donde se visualizaran las columnas:
Filtrar la información para que solo muestre las registros que son de tipo Tabla (cwj_tipdat=2), de acuerdo al campo que este solicitando la consulta y de acuerdo a la función que detone la consulta.
Retornara el valor del código del mnemónico seleccionado (cwj_codmne).
SIXFUN .- Índices por tabla
Se creara la consulta especial SIXFUN, donde se visualizaran las columnas:
Titulo | Campo |
Índice | Ordem |
Descripción | Dependiendo del idioma del RPO, Descricao, Descspa o Desceng |
Llave | Chave |
Filtrar la información para que solo muestre las registros que son de la tabla en cuestión (M->CWN_PAR1=SIX->INDICE ).
Retornara el valor de la llave seleccionada (Chave), adecuar para que por medio de algún parámetro retorne el número de índice (Ordem) o la llave (chave), ya que se utilizara también en el requisito 151103 .
Como referencia verifique la consulta HSP004 y el fuente HSPFFSXB.PRW para dar una idea de cómo debe ser construida.
CTB921 .- Consulta dinámica
Se creara la consulta específica CTB921 ya que cuando sale del campo Tipo, las consultas de los campos de parámetros cambiaran a utilizar una u otra (cambio dinámico), según se describió en los párrafos anteriores. Para conseguir esto, deberá crear una consulta específica llamada CTB921, la cual llamara la función CTB92CESP() y esta función será programada para desplegar una consulta u otra, igual crear la función CTB92CRET () para programar el retorno del dato deseado.
Nota: Para llamar una consulta estándar desde una específica puede hacer uso de la instrucción CONPAD1(,,,"Alias").
Tablas Utilizadas
Prototipo 01 Regreso
Prototipo 02 Regreso
Módulo | SIGACTB / PROTHEUS |
Función | Mantenimiento de Funciones |
Descripción de Función | Configuración de funciones para Conversión de Moneda y Apuntador, para ser utilizadas en la formulación de Asientos Estándar. |
Módulo | SIGACTB |
Función | CTBA092 |
Situación/Requisito | 151102 |
Flujo de Proceso
Diagrama de Entidad y Relación
Diccionario de Datos
CWN – Funciones | |||||||||||||||||||||||||||||
Campo | Tipo | Tam. | Dec. | Título | Descripción | ||||||||||||||||||||||||
CWN_FILIAL | C | 10 | Sucursal | ||||||||||||||||||||||||||
CWN_CODFUN | C | 15 | Código |
| |||||||||||||||||||||||||
CWN_DESCRI | C | 40 | Descripción |
| |||||||||||||||||||||||||
CWN_HELP | Memo | Ayuda |
| ||||||||||||||||||||||||||
CWN_TIPDAT | C | 1 | Tipo resultado |
| |||||||||||||||||||||||||
CWN_TIPO | C | 1 | Tipo |
| |||||||||||||||||||||||||
CWN_PAR1 | C | 30 | Parámetro1 |
| |||||||||||||||||||||||||
CWN_PAR2 | C | 30 | Parámetro2 |
| |||||||||||||||||||||||||
CWN_PAR3 | C | 30 | Parámetro3 |
| |||||||||||||||||||||||||
CWN_PAR4 | C | 30 | Parámetro4 |
| |||||||||||||||||||||||||
CWN_PAR5 | C | 30 | Parámetro5 |
| |||||||||||||||||||||||||
CWN_PAR6 | C | 30 | Parámetro6 |
| |||||||||||||||||||||||||
CWN_PAR7 | C | 30 | Parámetro7 |
| |||||||||||||||||||||||||
Índice.- CWN_FILIAL+CWN_CODFUN
Diccionario de referencia que serán creados en otro Requisito
CWJ.-Mnemónicos
CWJ_TIPDAT | C | 1 | Tipo |
|
Nuevos Índices
Estructura de Menú
En el módulo Configurador (SIGACFG) ingrese a la ruta Entorno/Archivos/Menus. Informe la nueva opción del menú de SIGACTB (Contabilidad de Gestión) conforme las siguientes instrucciones:
Menú | Contabilidad de Gestión |
Submenú | Actualizaciones>Entes>Funciones |
Nombre de Rutina | Funciones |
Programa | CTBA092 |
Módulo | SIGACTB |
Tipo | Función Protheus |