Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE
DESARROLLO
VERSION 1.0
Agosto 2001
Estndar de desarrollo
NDICE
TABLA DE FIGURAS.....................................................................................................2
Revisiones.........................................................................................................................4
Entorno de desarrollo......................................................................................................6
Procedimiento de desarrollo............................................................................................8
Interfaces de usuario (pantallas)...................................................................................11
Interfaces de usuario (informes)...................................................................................20
Normas de desarrollo.....................................................................................................23
Sangrado................................................................................................................................23
Maysculas/Minsculas........................................................................................................23
SQL & PL/SQL. Reglas bsicas en la programacin.........................................................24
Alias.......................................................................................................................................26
Comentarios..........................................................................................................................27
Optimizacin.........................................................................................................................28
Reglas generales sobre ndices:...........................................................................................................28
Combinaciones.....................................................................................................................................33
Optimizacin Or..................................................................................................................................35
Operador In..........................................................................................................................................36
Operador Exists....................................................................................................................................36
Nomenclatura de objetos en PL/SQL..................................................................................37
Declaraciones........................................................................................................................38
Nomenclatura de objetos de Forms & Reports..................................................................38
Cuaderno de pruebas.....................................................................................................39
TABLA DE FIGURAS
Figura 1. Definicin de etiquetas.................................................................................................................11
Figura 2. Ttulo de la ventana forms mdi.....................................................................................................12
Figura 3. Ttulo de una ventana de un mdulo de la aplicacin..................................................................12
Figura 4. Ttulo de una ventana de un mdulo de la aplicacin maximizada..............................................12
Figura 5. Cabecera de la aplicacin.............................................................................................................13
Figura 6. Barra de herramientas...................................................................................................................14
Figura 7. Campos no accesibles...................................................................................................................15
Figura 8. Radio Groups................................................................................................................................16
Figura 9. Check Box y Buttons....................................................................................................................16
Figura 10. Bloque multiregistro con datos no continuos.............................................................................17
Figura 11. Bloque multiregistro con datos continuos..................................................................................17
Figura 12. Canvas stacked view..................................................................................................................18
Figura 13. Canvas Tab o de pestaas...........................................................................................................18
Figura 14. Lista de valores...........................................................................................................................19
Figura 15. Hoja de cabecera de un informe.................................................................................................20
Figura 16. Cabecera de un informe con parmetros en todas las pginas...................................................21
Figura 17. Pie de un informe en todas las pginas.......................................................................................21
Figura 18. Cabecera de un listado con logotipo...........................................................................................22
Pgina 2 de 38
Estndar de desarrollo
Pgina 3 de 38
Estndar de desarrollo
Revisiones
Usuario Fecha de revisin Motivo Versin
Pendiente de incluir:
c.Terminal: PROCESOV21316
Antes de insertar registros en una tabla temporal se procede a eliminar los registros
existentes que correspondan al equipo y proceso que vayamos a lanzar (por si existen
registros de ejecuciones anteriores). Antes de salir de la forma (y despus de tratar los
registros) se realiza borrado de lo registros creados.
El nombre de una tabla temporal debe construirse terminando con el sufijo TEMP, de la
siguiente forma Nombretabla_TEMP.
8. Nomenclatura de los objetos tablas, indices, sinnimos ...Las tablas temporales deben
tener su propia nomenclatura.
9. Definir a raiz de los ltimos cambios estructura de trabajo, localizacin de los trabajos
realizados por empresas externas, pasos a seguir para la implantacin de los mismos.
10. En la ejecucin de los mdulos debe introducirse la grabacin de los datos al final del
mdulo no se deber realizar un commit en medio de transacciones debe realizarse
despus de realizarse la transaccin, limpiar el form y se sigue la entrada de datos.
11. En el mismo nivel de PFP de Astican-netfi1 se crea directorio Pf_astigrup. Corresponde
a los mdulos de la plataforma para empresas del grupo. Cuando se compile un mdulo
para Astican de la plataforma econmico financiera despus de realizar modificaciones
en este se debe compilar tambin para la BD. De Astander y de Astigrup(130.130.0.2).
12.
Pgina 4 de 38
Estndar de desarrollo
Objetivos.
descripcin de las pruebas genricas a realizar en todos los mdulos que se generen,
independientemente de las pruebas especficas de cada mdulo.
Pgina 5 de 38
Estndar de desarrollo
Entorno de desarrollo
El entorno de desarrollo se define de la siguiente forma:
Directorio Funcin
Proyectos Contiene las aplicaciones desarrolladas por la empresa
Aplicacin 1 Aplicacin de
Pgina 6 de 38
Estndar de desarrollo
Procedimiento de desarrollo
A continuacin se describen los pasos a realizar para el desarrollo y puesta en explotacin de los mdulos.
Estos pasos afectarn tanto a los mdulos migrados como a cualquier mdulo nuevo desarrollado.
Desarrollo de aplicaciones
En estas variables, como primer elemento deber aparecer el directorio local de programacin de
cada uno. El resto de elementos sern los directorios de desarrollo de las aplicaciones:
Directorio_local
\\dasa\informatica\desarrollo\proyectos\aplicacion\
\\dasa\informatica\desarrollo\proyectos\aplicacion\binarios
\\dasa\informatica\desarrollo\proyectos\aplicacion \librerias
\\dasa\informatica\desarrollo\proyectos\aplicacion \plantillas
El regedit no admite el path con el formato \\nombre_equipo, con lo que utilizaremos una unidad
compartida. Cada programador podr definir la suya, aunque se ancoseja que sea la unidad .
El acceso directo de la herramienta de desarrollo, as como del runtime de desarrollo deber iniciarse
en el directorio de desarrollo local (campo Iniciar en del acceso directo).
Se utilizar una conexin a una base de datos de desarrollo que se definir para cada aplicacin.
Envo de fuentes
El jefe del proyecto enviar los fuentes a modificar junto con un documento con la descripcin de los
cambios a realizar
Recepcin de las aplicaciones
Cuando el proveedor termina con la migracin de los mdulos, nos entrega un documento con la
relacin de los mdulos migrados, as como una breve descripcin de las posibles incidencias
encontradas.
Los mdulos migrados sern puestos por parte del proveedor en el directorio del servidor de
desarrollo \\Nombre_equipo\envios. Una vez recibidos los mdulos, se copiarn todos en el
directorio de traspaso (\\Nombre_equipo\traspaso, para realizar la compilacin. En este directorio se
encuentran siempre los ficheros de plantillas (Plantilla*.fmb), as como las libreras (*.pll), para que
no se produzcan errores de compilacin.
De igual forma, en este directorio existen dos ficheros, genera.bat y genera60.bat, que nos permiten
realizar compilaciones masivas. Para compilar todos los mdulos residentes en traspaso, basta con
ejecutar el fichero genera60.bat. Los ficheros tipos men, debemos compilarlos manualmente Si no
se produce ningn error, procedemos a la recolocacin de todos los mdulos:
\\Nombre_equipo_desarrollo\Aplicaciones\nombre_aplicacion\pantallas
Pgina 7 de 38
Estndar de desarrollo
\\Nombre_equipo_explotacion\Aplicaciones\nombre_aplicacion\pantallas
\\Nombre_equipo_desarrollo\Aplicaciones\nombre_aplicacion\listados
\\Nombre_equipo_explotacion\Aplicaciones\nombre_aplicacion\listados
\\Nombre_equipo_explotacion\Aplicaciones\binarios
\\Nombre_equipo_desarrollo\Aplicaciones\librerias
\\Nombre_equipo_explotacion\Aplicaciones\librerias
\\Nombre_equipo_explotacion\Aplicaciones\binarios
Mens.
\\Nombre_equipo_desarrollo\Aplicaciones\Menus
\\Nombre_equipo_explotacion\Aplicaciones\Menus
Una vez est todo colocado en su sitio, eliminamos los ficheros del directorio de envos
(\\nombre_equipo_desarrollo\envios) y limpiamos el directorio de traspaso
(\\nombre_equipo_desarrollo\traspaso), eliminando los *.fmx, *.mmx, *.rdf y todos los *.fmb salvo
las plantillas. Al final, en este directorio slo deben quedar los fuentes de las plantillas y las libreras.
Pgina 8 de 38
Estndar de desarrollo
Todas las pantallas tendrn una resolucin de 800 x 600 pixeles (puntos). La altura de los
campos ser de 14 puntos.
alineada a la derecha
El tipo de letra y tamao no cambiar para el registro activo, por lo que mantenemos la Ms
Sans Serif de 8 puntos y aspecto normal. El color de fondo ser r88g100b100, y el color de
la letra del registro activo ser darkblue.
Pgina 9 de 38
Estndar de desarrollo
El tipo de letra y tamao no cambiar para el registro no activo, por lo que mantenemos la
Ms Sans Serif de 8 puntos y aspecto normal. El color de fondo ser blanco, y el color de la
letra del registro activo ser negro.
Pgina 10 de 38
Estndar de desarrollo
En la parte derecha de la pantalla se mostrar la fecha actual, el nombre del usuario que est
ejecutando la aplicacin y la moneda en la que se est trabajando. Todos estos campos
debern estar alineados a la derecha.
Los campos definidos en la cabecera no tendrn bordes ni efectos 3D. El color del fondo de
toda la cabecera y de los campos definidos en ella ser el mismo que tiene el canvas por
defecto (gris).
El men de las pantallas afecta a todas las pantallas de la aplicacin, y estar formado por
los siguientes elementos:
Pgina 11 de 38
Estndar de desarrollo
10. La barra de herramienta estndar se incorporar a todas las ventanas que proceda, y ser
como la mostrada en la Figura 6. Barra de herramientas. Algunos botones de la barra de
herramientas aparecern deshabilitados en algunas pantallas, inhibiendo de esta forma su
funcin. Todos los botones irn encuadrados en un rectngulo con la propiedad bevel a
lowered y con color de fondo darkgray. Esta barra de herramientas estar definida en una
plantilla y se incorporar a los mdulos como referencia.
Pgina 12 de 38
Estndar de desarrollo
Campos
Figura 7. Campos no accesibles informativos
Lnea de separacin de
totales
Campos no accesibles
12. Campos que totalizan
Los campos que muestran totales irn separados de los operandos por una lnea con la
propiedad bevel hundida (ver Figura 7. Campos no accesibles).
Cada bloque de informacin estar incluido en un rectngulo con la propiedad bevel con
valor Inset, y mostrarn la etiqueta con la definicin del bloque en la esquina superior
izquierda. De igual forma, si existen datos que se deban agrupar por relacin en la
informacin de los campos (y segn la definicin de cada diseo en particular), estos
aparecern encuadrados en rectngulos rectngulo con la propiedad bevel con valor Inset y
con la etiqueta (segn diseo) en la esquina superior izquierda.
Aspecto del rectngulo inset
Etiqueta en la esquina superior izquierda Grupo de campos relacionados con rectngulo inset
Pgina 13 de 38
Estndar de desarrollo
Radio Groups. Se mostrarn etiquetas que identifiquen el valor del campo asociadas
directamente al campo, no como texto independiente. Si las etiquetas no son
suficientemente descriptivas, se aadir una etiqueta comn para todos los radio buttons del
radio group. Mantendr la configuracin de fuente y tamao de letra como el resto de
campos (Ms Sans Serif 8). Como atributos de registro actual no utilizar el mismo que el
bloque al que pertenece, ya que la etiqueta aparecera con el fondo azul. Llevar asociado
un atributo visual exactamente igual para el registro activo y el no activo, con el fondo gris
Figura 9. Check Box y Buttons
Check Box. Se mostrarn etiquetas que identifiquen el valor del campo asociadas
directamente al campo, no como texto independiente. Mantendr la configuracin de fuente
y tamao de letra como el resto de campos (Ms Sans Serif 8). Como atributos de registro
actual no utilizar el mismo que el bloque al que pertenece, ya que la etiqueta aparecera
con el fondo azul. Llevar asociado un atributo visual exactamente igual para el registro
seleccionado y el no seleccionado, con el fondo gris igual que el canvas y la letra de color
negro.
Buttons. El botn podr mostrar una etiqueta descriptiva con su funcionalidad o un icono
Buttons
Check Box
que sea completamente intuitivo (al estilo de los botones de la barra de herramientas), segn
se decida en el diseo en cada caso (ver Figura 9. Check Box y Buttons).
Pgina 14 de 38
Estndar de desarrollo
Pgina 15 de 38
Estndar de desarrollo
Pgina 16 de 38
Estndar de desarrollo
Los campos que sean de tipo lista y que no lleven valores fijos asociados, se cargarn en
tiempo de ejecucin a partir de la tabla CG_REF_CODES, en caso de estar definidos en
dicha tabla.
Las listas de valores asociadas a campos se mostrarn siempre al lado del campo que
contiene la lista, poniendo la propiedad Automatic Position a Yes. Si el nmero de
registros a mostrar es demasiado grande, se ejecutar la lista de valores con un filtro previo,
poniendo la propiedad Filter Before Display a Yes. El atributo visual de una lista de
valores debe incluir la letra Ms Sans Serif de tamao 8 y el fondo gris igual que el canvas.
La altura quedar establecida en 200 puntos y la anchura depender de los datos a mostrar.
Todas las listas de valores llevarn ttulos descriptivos asociados.
Pgina 17 de 38
Estndar de desarrollo
Si el n de parmetros es excesivo, de forma que en la cabecera de todas las hojas del listado
ocupa mucho espacio, crearemos una pgina inicial con la informacin de todos los
parmetros, y en las cabeceras de las restantes hojas, mostraremos nicamente los
parmetros ms importantes.
Si el n de parmetros del listado no es excesivo, no se incluir una pgina inicial. Todos los
parmetros aparecern en la cabecera de las hojas del listado.
Usuario. Nombre de usuario que ejecuta el listado (se pasa como parmetro).
Parmetros. Parmetros que se le pasan al listado para su ejecucin.
2. Los listados sin pgina de cabecera llevar los parmetros en la cabecera de todas las hojas
del listado. Siempre se pondrn los parmetros en la cabecera segn se defina en el diseo
de cada mdulo.
3. Excepto en la pgina de cabecera, todas las hojas incluirn en el pie el texto Servicio de
Informtica. Este texto estar definido en el margen de los listados.
Pgina 19 de 38
Estndar de desarrollo
Pgina 20 de 38
Estndar de desarrollo
Normas de desarrollo
En este apartado se detallan una serie de reglas para que la generacin de cdigo PL/SQL sea
legible, modular y optimizado.
Sangrado
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/DE_PREFS_TABSIZE = 3.
Las clusulas FROM, GROUP BY, ORDER BY, HAVING, etc. debern estar sangradas a la
misma altura que la instruccin SELECT (o cualquier otra instruccin DML/DDL).
Una subconsulta dentro de una consulta se regir por las mismas reglas que las instrucciones
DDL, manteniendo el sangrado como si de una consulta principal se tratara.
Maysculas/Minsculas
Ejemplo:
DECLARE
v_numero NUMBER(8);
BEGIN
SELECT *
FROM nombre_de_tabla
WHERE empresa = 1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
V_numero := 0;
END;
Para facilitar el cumplimiento de esta norma se utiliza una ventana predefinida con esta
longitud.
Pgina 21 de 38
Estndar de desarrollo
Todos los nombres de tablas irn precedidos por el nombre del propietario.
Comentarios
Comentar las sentencias SQL siempre que sea posible, y en caso de excesiva complejidad. Si un
comentario ocupa una nica lnea, utilizar ; si por el contrario, va a ocupar ms de una lnea,
utilizar /* y */ para delimitar el inicio y fin del comentario.
Poner los comentarios en lneas nuevas, a no ser que sean aclaratorios de determinadas
instrucciones (partes de un select, etc.) y quepan en una nica lnea, en cuyo caso irn a la
derecha de la codificacin con la marca .
Si utilizamos comentarios o mensajes para depurar el programa, eliminarlos una vez se finalice
la comprobacin.
Los comentarios que ocupen ms de una lnea irn encima del cdigo comentado, y alineados
con la instruccin comentada.
Pgina 22 de 38
Estndar de desarrollo
Comentarios en triggers
En la cabecera del trigger creado se debe incluir una breve descripcin de la funcionalidad del
programa
Cualquier funcin, procedimiento o paquete incluir una pequea cabecera con los siguientes
datos:
Modificaciones
Programador Fecha Observaciones
*/
Comentarios en el mdulo
Optimizacin
Pgina 23 de 38
Estndar de desarrollo
Las siguientes reglas se definen como base para intentar optimizar las consultas. De cualquier
forma, si es posible, usar herramientas de depuracin para mejorar el tiempo de respuesta de las
consultas.
1. Un ndice sobre una columna slo se utilizar si la columna es referenciada en una clusula
WHERE.
Ejemplo:
No se usa ndice.
S se usa ndice.
Pgina 24 de 38
Estndar de desarrollo
Ejemplo:
Where columna_carcter || =
4. Conversin del tipo de datos. La conversin del tipo de datos puede desactivar el uso de
ndices. Slo se pueden comparar datos del mismo tipo, por ello los tipos de datos se
convierten automticamente si es necesario.
Ejemplo:
No usa ndice.
Select apellido
From emp
Where to_char(fecha_alt,dd/mm/yyyy) = 01/01/2001
Si usa ndice.
Select apellido
From emp
Where fecha_alt = to_date(01/01/2001,dd/mm/yyyy)
5. Operador Like. Se puede usar un ndice en una clusula Like si la columna es de tipo
carcter y la cadena de comparacin empieza por un carcter. En caso de que la columna no
sea de tipo carcter (numrico o fecha), Oracle hace una conversin interna.
Si usa ndice.
Select apellido
From emp
Where apellido like S%
No usa ndice.
Select apellido
From emp
Where apellido like %S%
Ejemplo:
Utilizando la parte conductora Emp_no del ndice concatenado emp_no, apellido, sal.
Pgina 25 de 38
Estndar de desarrollo
Select apellido
From emp
Where emp_no = 1234
7. Valores Null.
No hay entrada de ndices si todos los valores de columna de u ndice tienen un valor nulo.
Los valores nulos no se almacenan en un ndice de columna simple.
En un ndice formado por varios campos, los valores nulos se almacenan si al menos una
columna en el ndice tiene un valor (distinto de nulo).
En un ndice los valores nulos de todas las columnas se recuperan mediante un anlisis
completo de la tabla.
Ejemplo:
No se usa ndice sobre comision.
Select apellido
From emp
Where comision is null
8. Operador Not.
Las condiciones Not Null recuperan la mayor parte de los registros, por lo que no se usarn
ndices.
Ejemplo:
No se usa ndice sobre dept_no.
Select apellido
From emp
Where dept_no <> 10
Pgina 26 de 38
Estndar de desarrollo
Si no se puede utilizar un ndice para una clusula order by, entonces se utilizar una
operacin de clasificacin.
Ejemplo:
El ndice sobre dept_no puede ser utilizado por la clusula Order by si dept_no est definido
como not null.
Select apellido
From emp
order by dept_no
El ndice sobre dept_no no puede ser utilizado en la clusula order by si existe un ndice
sobre sal.
Select apellido
From emp
Where sal = 1000000
order by dept_no
Ejemplo:
Se usa el ndice sobre la columna sal.
Select max(sal)
From emp
Pgina 27 de 38
Estndar de desarrollo
No se usarn ndices con los operadores Union, Minus e Intersect, ya que necesitan dos
operciones de clasificacin. Cada una de las clusulas Select se optimiza por separado
No se utilizarn ndices con el operador Group by, ya que necesita una operacin de
clasificacin. Utilizar una clusula where en lugar de una condicin Having siempre que sea
posible.
Si disponemos de dos ndices sobre dos columnas, uno nico y el otro no, se activar el uso
del ndice nico. En caso de que ambos sean nicos, se utilizar el ltimo que se haya
insertado en la tabla de ndices.
Ejemplo:
Indices nicos y no nicos.
Create unique index iemp1 on emp(emp_no);
Create index iemp2 on emp(apellido);
Select apellido
from emp
Where emp_no = 1234
and apellido = APELLIDO
Indices nicos.
Create unique index iemp1 on emp(emp_no);
Create unique iemp2 on emp(apellido);
Select apellido
from emp
Where emp_no = 1234
and apellido = APELLIDO
Mezcla de ndices.
Pgina 28 de 38
Estndar de desarrollo
Select apellido
from emp
Where emp_no = 1234
and apellido = APELLIDO
Select apellido
from emp
Where emp_no = 1234
and apellido > A
Select apellido
from emp
Where emp_no > 1234
and apellido > A
Select apellido
from emp
Where dept_no = 10
and sal > 10000000
Combinaciones
Las combinaciones de anlisis completo de tabla se utilizan para combinaciones del tipo no
indexadas de no igualdad. La tabla conductora ser la ltima en la lista From. Por cada
registro de la tabla conductora se realizar un anlisis completo de la tabla no conductora.
Pgina 29 de 38
Estndar de desarrollo
Ejemplo:
Select d.nombre, e.apellido
From dept d, emp e
Where d.dept_no > e.dept_no.
2. Combinacin de clasificacin/mezcla.
Las combinaciones de anlisis completo de tabla se utilizan para combinaciones del tipo no
indexadas de igualdad. Las tablas son mezcladas y clasificadas en base a la condicin de
combinacin. No importa cual es la tabla conductora.
Ejemplo:
Select d.nombre, e.apellido
From dept d, emp e
Where d.dept_no = e.dept_no.
Si se puede utilizar un ndice para una sola columna del predicado de una combinacin,
entonces la tabla conductora ser aquella que no tiene un ndice utilizable en la condicin de
combinacin.
Ejemplo:
Create index idept1 on dept(dept_no)
La tabla conductora ser emp. Se usar el ndice sobre dept_no para acceder a la tabla
dept. La tabla emp ser analizada completamente.
Ejemplo:
Create index iemp1 on emp(sal)
Pgina 30 de 38
Estndar de desarrollo
Se utilizar el ndice sobre Sal para combinar las tablas. Se elige como conductora
aquella que tiene ndice.
Se utilizarn los ndices de las tablas no conductoras para acceder a dichas tablas. Si se
puede utilizar un predicado de fila simple para un predicado de no combinacin, entonces la
tabla conductora ser la tabla con el predicado de fila simple.
Ejemplo:
Create unique index idept1 on dept(dnombre)
Create index iemp1 on emp(sal)
La tabla conductora es dept. Se usar el ndice sobre dnombre para acceder a la tabla
dept. Se usar el ndice sobre sal para acceder a la tabla emp.
Ejemplo:
Create unique index idept1 on dept(dnombre)
Create unique index iemp1 on emp(sal)
La tabla conductora es dept. Se usar el ndice nica sobre sal para acceder a la tabla
emp. Se usar el ndice nico sobre dnombre para acceder a la tabla dept.
Optimizacin Or
Esta optimizacin se utilizar si podemos usar un ndice para la clusula where en ambos lados
de la condicin Or. La consulta ser dividida en mltiples consultas, a partir de las cuales se
combinarn los resultados. Esta optimizacin tambin ser usada en una tabla simple con
clusula in.
Ejemplo:
Create index iemp1 on emp(dept_no)
Create index iemp2 on emp(oficio)
Select apellido
From emp
Where dept_no = 10
or oficio = OFICIO
Pgina 31 de 38
Estndar de desarrollo
Operador In
Ejemplo:
Select dept_no
From Dept
Where Dept_no in
(Select dept_no
From emp)
Operador Exists
Ejemplo:
Select dept_no
From Dept
Where exists
(Select null
From emp
Where emp.dept_no = dept.dept_no)
Pgina 32 de 38
Estndar de desarrollo
Como norma habitual, cualquier objeto que se vaya a utilizar en un bloque PL/SQL deber
nombrarse basndonos en las siguientes reglas.
Pgina 33 de 38
Estndar de desarrollo
Declaraciones
Cualquier declaracin de una variable que vaya a contener valores de una columna de una tabla
de la base de datos, utilizar el atributo %TYPE, para independizar la variable de posibles
cambios en la estructura de la base de datos. Adems, debera llamarse loa ms aproximado
posible a la columna de la base de datos, o en su defecto, un nombre suficientemente
descriptivo.
V_ob_anno_obra tutor.pr_cargo_producs.ob_anno_obra%type;
Los cursores debern ser declarados siempre con el prefijo c_nombre_cursor, intentando poner
el nombre de la tabla seleccionada, o en su defecto, un nombre significativo.
Los nombres de mdulos (pantallas e informes) se nombrarn anteponiendo las siglas del
aplicativo (2 dgitos) seguidas de una letra indicativa de su funcionalidad principal ms un
nmero secuencial de 4 digitos
Biblioecas
LIB0000
LIB0001.
Pgina 34 de 38
Estndar de desarrollo
VE0000
VE0001.
Los nombres de los objetos de un formulario se deben basar en las siguientes reglas:
Objeto Nombre
Pantallas
Alerts al_nombre_alerta
Canvases cv_nombre_canvas
Editors ed_nombre_editor
Lovs lv_nombre_lov
Object groups ob_nombre_grupo_objetos
Parameters p_nombre_parmetro
Popups Menu pm_nombre_men
Property Classes pc_nombre_clase_propiedad
Record Groups rg_nombre_grupo_registros
Visual Attributes va_nombre_atributo_visual
Windows w_nombre_ventana
Bloques b_nombre_bloque (bloque de
control blk_ctrl)
Marco de pantalla Fr_nombre_de_marco
Item pantalla (no B.D) n_nombre_de_item
Botones bt_nombre_boton
Informes
Querys q_Nombre_consulta
Summary Columns cs_columna_sumatoria
Formula Columns cf_columna_formula
Placeholder Column cp_columna_placeholder
Grupos g_nombre_grupo
Cross Product g_cp_nombre_matriz
Fields f_nombre_campo
Tablas.
Pgina 35 de 38
Estndar de desarrollo
Columnas.
Se nombran con un mximo de 10 caracteres. Siguiendo las mismas normas que las tablas y
adems:
- Las fechas se nombran comenzando con f_ salvo que sea suficiente con la
palabra fecha
-
Constrains
Pgina 36 de 38
Estndar de desarrollo
Cuaderno de pruebas
En este apartado se definen el conjunto de pruebas a realizar en los mdulos desarrollados.
Todas las pantallas debern haber superado este conjunto de pruebas generales,
independientemente de haber superado las pruebas especficas de cada mdulo en particular.
Verificar la completa funcionalidad del ratn en las pantallas, comprobando que se realizan
las validaciones necesarias en los campos dnde estn definidas, as como el no poder
acceder a campos dnde no est permitido el acceso. En los desarrollos en Forms 3.0, la
navegacin por los campos era secuencial, realizando determinadas funciones de validacin
o inicializacin cuando se pasaba de un campo a otro. Todas estas funciones deben
realizarse de la misma manera en forms 6.0. Cuando utilizamos el ratn para realizar la
navegacin entre dos campos, se deben ejecutar todas las validaciones que existen entre los
campos intermedios. Tambin se debe controlar el acceso condicionado, probando que
nicamente se puede acceder a un campo en determinadas condiciones que lo habilitan.
Comprobar la correcta navegacin entre campos y entre bloques, verificando todas las
validaciones.
2. Modificaciones. Se tiene que comprobar que los campos que sean modificables se
puedan actualizar, y al contrario, si no son modificables, no se pueden actualizar.
Verificacin de obligatoriedad, dominios y rangos. Comprobacin de actualizaciones,
inserciones y/o borrados derivados de la modificacin actual.
4. Consultas. El mdulo permite realizar consultas. Comprobar que todos los campos en
los que se puede realizar una consulta son consultables, ejecutando consultas sencillas y
complejas con combinaciones de campos. Comprobar la funcionalidad de conversin de
Pgina 37 de 38
Estndar de desarrollo
5. Lanzamientos de listados. Comprobar que los campos que se utilizan como parmetros
del listado, aceptan los valores adecuados (rangos, dominios, valores fijos), verificando
las validaciones en caso de que estn definidas. Comprobar que la seleccin de la
impresora es la adecuada para el listado en cuestin, mostrando un mensaje de error en
caso de no ser la impresora adecuada, atendiendo al n de posiciones horizontales y
verticales que conforman el listado.
Comprobar todas las teclas de funcin que se han particularizado para los mdulos,
manteniendo la compatibilidad con la nueva definicin del teclado en Forms 6.0.
Comprobar que todos los listados funcionan correctamente en euros y en pesetas (donde sea
necesario).
Verificar que un listado puede ser convertido a fichero ASCII, manteniendo el sangrado
correcto en las columnas.
Todos los listados deben poder ser enviados a fichero, incluyendo todos los tipos de fichero
que proporciona la herramienta. El usuario debe ser capaz de manipular los ficheros
generados.
Ejecutar el listado con todos los campos al mximo n de caracteres (obtenido a partir de la
informacin de las tablas o informacin de control), para evitar que aparezcan campos
rellenos con * cuando se desbordan.
Pgina 38 de 38