Tablas Externas
Documentación sobre la rutina de Tablas Externas
Esta rutina permite el uso de tablas de usuario para incluir a empleados, Terceros, Socios, Aliados, Formulario Complementario y Otras Empresas.
En la pantalla Indicación la página Tablas Externas, que permite al usuario configurar la llamada de una consulta (B2) para una tabla de usuario en la inclusión e Empleados, Terceros, Aliados y Otras Empresas.
Configuración de los campos
Usa Tabla Externa - la indicación "I" indica que el usuario ira informar el registro del empleado y la consulta para la tabla externa será llamada en la salida del campo empleado;
Personas
Nombre de la Tabla Externa - Introduzca el nombre de la tabla usuario
Nombre de campo Persona Empleada -nombre del campo en la pantalla de Empleados relacionados con el campo de la clave primaria de la tabla de usuario
Nombre del Campo Persona Terceros ,ídem para la pantalla de terceros
Nombre Campo Persona Aliado - ídem, para la pantalla de aliados
Nombre Campo Clave Tabla Externa - nombre del campo de la clave primaria de la tabla usuario
Otras Empresas
Nombre de la Tabla Externa - nombre del usuario
Nombre Campo Otra Empresa - nombre del campo de la pantalla de Otras Empresas relacionado con el campo de la clave primaria de la tabla de usuario
Nombre del Campo Clave de Tabla Externa - nombre del campo de la clave primaria de la tabla de usuario
En las pantallas de registro de Empleados, Terceros, Aliados y Otras Empresas, después seleccionado un registro en la consulta de la tabla externa será llamada una regla, que puede ser definida en la pantalla de Reglas por Proceso a través de los siguientes códigos:
38 - Tabla Externa Empleados
39 - Tabla Externa Terceros
40 - Tabla Externa Aliados
42 - Tabla Externa Otras Empresas
Estas reglas fueron diseñadas para asignar valores de campos de las tablas externas para sus respectivas pantallas.
Es posible registrar una regla para la pantalla Formulario Complementario a través del código:
41 - Tabla Externa Formulario Complementario. Esta regla tiene el objetivo de atribuir valores de la tabla externa para la pantalla formulario complementario en la inclusión; en este caso no será llamada la consulta para la tabla externa, pues estará grabando en la tabla R034FUN en un campo de usuario el código de persona que es necesario para buscar los datos de la tabla externa.
La regla fue creada por 37 - Después de inserir el Registro del Formulario Básico; en esta regla el usuario puede crear registros para tablas hijas del empleado.
Existe una variable del sistema que guarda el código de la persona/otra empresa después la llamada de la consulta de la tabla externa: CodPesExt.
Uso de Secuencia en oracle:
¿Qué es una secuencia?
Es un objeto del banco oracle que genera una secuencia numérica de valores enteros, que puede ser utilizado para crear una clave primaria automáticamente.
Fue creada la función de programados RetornaSequencia(Alfa Nome_Sequencia, Alfa Servico, Numero End Valor_Retorno).
Parámetros:
- Nome_Sequencia - es el nombre de una secuencia creada en el banco oracle;
- Servicio - puede ser corriente o próximo, para seleccionar el código actual o el próximo código.
Este recurso funciona somente para o banco oracle, a função faz um select na sequence informada no primeiro parâmetro, e atribui para Valor_Retorno o código corrente ou o próximo, de acordo com o segundo parâmetro. Se ocorrer algum erro na execução do select ou se o banco de dados não for o oracle, a função retorna -1.
Esta función puede ser llamada en la ejecución de la regla por proceso 23 - Número del nuevo registro, que es accionada al clicar en el botón Nuevo Registro de las pantallas de Empleado, Terceros y Aliados, para atribuir el código deseado para el registro del empleado.
Comando para crear una secuencia (ejecutado en el banco oracle): CREATE SEQUENCE <nombre de secuencia>. Este comando crea una secuencia que comienza con el código 1, éste será el primer código devuelto por ella.
Para evitar que ocurra error de que la secuencia retorne un código ya registrado en el formulario básico, puede ser creada una secuencia que inicie con un determinado código: CREATE SEQUENCE <nombre de la secuencia> START WITH <código deseado>. El código informado será el primer código retornado por la secuencia.
Después de crear la secuencia, al llamar a la función RetornaSequencia por primera vez, se puede utilizar el servicio actual, ya que la secuencia devuelve error. Usando el servicio próximo en la primera vez, la secuencia retornará el primer código disponible, y mismo que la inclusión del empleador fuera cancelada, al llamar nuevamente a función RetornaSequencia con el servicio próximo, la secuencia retornará el próximo código; en este caso, si el usuario quisiera usar el código que fue cancelado, debe usar el servicio corriente.
Si el usuario no quiere usar la secuencia para generar el registro del empleado, puede informar el código manualmente en el formulario básico.
Tener una regla por proceso para generar el registro del empleado a través de una secuencia, este recurso puede ser utilizado para todas las empresas. En el caso que el usuario quiera consistir de forma diferenciada por empresa puede hacerlo vía regla.
Diferencia entre el botón Nuevo Registro y la función RetornaSequencia: sin tener una regala por proceso que consista, el botón Nuevo registro va buscar la tabla R034FUN el primer registro libre para empleado, el tercero o aliado; usando la función RetornaSequencia, el registro del empleado será determinado por la secuencia del oracle, de acuerdo con los parámetros de la función.
Ejemplo de regla de proceso para el botónNuevo Registro del empleado:
Regla proceso 23 - Número del nuevo registro:
@ Retorna el próximo código generado por la secuencia test1 - solamente para la empresa 1 para empleados @
Se ((R034FUN.NumEmp = 1) e (R034FUN.TipCol = 1))
Inicio
RetornaSequencia("teste1", "proximo", vNumCad);
@ Atribuye el código para el registro del empleado @
R034FUN.NumCad = vNumCad;
Fim;
English
Español


