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

Objetivo 


Crear la rutina que permita el registro de las funciones que serán utilizadas para el proceso de formulación delos Asientos Estándar.

Definición da Regla de Negocio 

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 el tipo de función fue Conversión de Monedas, el parámetro 1 a la 5 deberán estar informados.
  • Si el tipo de función fue Apuntador, el parámetro 1 a la 4 deberán estar informados.


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:

  • Mnemónico (cwj_codmne)
  • Descripción (cwj_descri)
  • Tipo Dato (cwj_tipdat)
  • Grupo (cwj_grupo)
  • Tabla (cwj_tabla)
  • Campo (cwj_campo)


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:

  • Mnemónico (cwj_codmne)
  • Descripción (cwj_descri)
  • Tipo Dato (cwj_tipdat)
  • Grupo (cwj_grupo)
  • Tabla (cwj_tabla)
  • Campo (cwj_campo)
  • Dato vinculado (cwj_datvin)
  • Función RPO (vwj_funrpo)
  • Valor fijo (cwj_valor)


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:

  • Mnemónico (cwj_codmne)
  • Descripción (cwj_descri)
  • Tipo Dato (cwj_tipdat)
  • Grupo (cwj_grupo)
  • Tabla (cwj_tabla)


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

  • CWN – Funciones
  • CWJ – Mnemónicos
  • SX3 – Campos
  • SIX - Índices

Prototipo de Pantallas 


Prototipo 01 Regreso


Prototipo 02 Regreso

Reglas de Integridad 

  • Se mencionan en la sección de Regla de Negocio.

Release Notes 

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


Descripción

Código de la Función  

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

Browse

Si

Validación

ExistChav("CWN")     

Contexto

Real

Propiedad

Modificar

Help

Código de la función  

CWN_DESCRI

C

40


Descripción

Descripción

Descripción de la Función

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

Browse

Si

Contexto

Real

Propiedad

Modificar

Help

Descripción corta de la Función  

CWN_HELP

Memo



Ayuda

Descripción

Ayuda de la función  

Formato


Nivel

1

Usado

Si

Obligatorio

Si

Browse

No

Contexto

Real

Propiedad

Modificar

Help

Descripción  de lo que hace la función

CWN_TIPDAT

C

1


Tipo resultado

Descripción

Tipo de datos del resultado  

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

Browse

Si

Contexto

Real

Propiedad

Modificar

Validación

Pertence(“123”)

Inicializador

“1”

Opciones

1= Numérico;2=Carácter;3=Fecha

Help

Tipo dato que da como resultado la función que se está registrando.

CWN_TIPO

C

1


Tipo

Descripción

Tipo de función

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

Browse

Si

Contexto

Real

Propiedad

Modificar

Validación

Pertence(“12”)

Opciones

#CTB92LBOX ()

Inicializador

“1”

Help

Seleccione el tipo de función.

CWN_PAR1

C

30


Parámetro1


Descripción

Parámetro 1

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

Browse

No

Contexto

Real

Propiedad

Modificar

F3

CTB921

Help

Primer parámetro que utiliza el Tipo de Función seleccionado.

CWN_PAR2

C

30


Parámetro2


Descripción

Parámetro 2

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

Browse

Si

Contexto

Real

Propiedad

Modificar

F3

CTB921

Help

Segundo parámetro que utiliza el Tipo de Función seleccionado.

CWN_PAR3

C

30


Parámetro3


Descripción

Parámetro 3

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

Browse

Si

Contexto

Real

Propiedad

Modificar

F3

CTB921

Help

Tercer parámetro que utiliza el Tipo de Función seleccionado.  

CWN_PAR4

C

30


Parámetro4


Descripción

Parámetro 4

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

Browse

Si

Contexto

Real

Propiedad

Modificar

F3

CTB921

Help

Cuarto parámetro que utiliza el Tipo de Función seleccionado.

CWN_PAR5

C

30


Parámetro5


Descripción

Parámetro 5

Formato

@!

Nivel

1

Usado

Si

Obligatorio

No

Browse

No

Contexto

Real

Propiedad

Modificar

F3

CTB921

Help

Quinto parámetro que utiliza el Tipo de Función seleccionado.

CWN_PAR6

C

30


Parámetro6


Descripción

Parámetro 6

Formato

@!

Nivel

1

Usado

Si

Obligatorio

No

Browse

No

Contexto

Real

Propiedad

Modificar

F3

CTB921

Help

Sexto parámetro que utiliza el Tipo de Función seleccionado.

CWN_PAR7

C

30


Parámetro7


Descripción

Parámetro 7

Formato

@!

Nivel

1

Usado

Si

Obligatorio

No

Browse

No

Contexto

Real

Propiedad

Modificar

F3

CTB921

Help

septimo parámetro que utiliza el Tipo de Función seleccionado.













Índice.- CWN_FILIAL+CWN_CODFUN

Diccionario de referencia que serán creados en otro Requisito

CWJ.-Mnemónicos

CWJ_TIPDAT

C

1



Tipo

Descripción

Tipo de Mnemónico

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

Browse

No

Propiedad

Real/Alterar

Inic. Std

“1”

Val. Sistema

Pertence(“123456”)

Lista

1-Campo de BD;2-Tabla:3-Formula;4-Función;5-Función de usuario;6-Valor

Help

Clasifica el mnemónico.

Nuevos Índices

  • CWJ_FILIAL+CWJ_TIPDAT+CWJ_DATVIN

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



  • Sem rótulos