mantenimiento.pdf
TRANSCRIPT
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 1/24
S18FFMASCO - ARCHIVO FÍSICO MAESTRO DE MASCOTAS.
R REGMASCO TEXT('REGISTRO DE ARCHIVO') IDMAS 10A COLHDG('IDENTIFICADOR' 'MASCOTA')
NOMMAS 20A COLHDG('NOMBRE' 'MASCOTA') FECNAC 8S 0 COLHDG('FECHA' 'NACIMIENTO') ESPMAS 3A COLHDG('ESPECIE' 'MASCOTA') FECCRE 8S 0 COLHDG('FECHA' 'CREACION') HORCRE 6S 0 COLHDG('HORA' 'CREACION') USUCRE 10A COLHDG('USUARIO' 'CREACION') FECMOD 8S 0 COLHDG('FECHA' 'MODIFICACION') HORMOD 6S 0 COLHDG('HORA' 'MODIFICACION') USUMOD 10A COLHDG('USUARIO' 'MODIFICACION')
K IDMAS
S18LFMASCO - ARCHIVO LÓGICO MAESTRO DE MASCOTAS ORDENADO ASCENDENTEMENTE POR NOMBRE
R REGMASCO PFILE(S18FFMASCO) K NOMMAS
S18FFESPEC - ARCHIVO MAESTRO DE ESPECIES
R REGESPEC IDESP 3A COLHDG('IDENTIFICADOR' 'ESPECIES') NOMESP 40A COLHDG('NOMBRE' 'ESPECIE')
K IDESP
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 2/24
S18DSMASCO – PANTALLA PARA EL MAESTRO DE ESPECIES
A*%%TS SD 20110724 123017 JRAMIREZ REL-V6R1M0 5761-WDS A*%%EC A DSPSIZ(24 80 *DS3) A R REGENC A*%%TS SD 20110724 103541 JRAMIREZ REL-V6R1M0 5761-WDS A ENCPGM 10A O 2 2 A ENC01 50A O 1 16DSPATR(HI) A ENC02 50A O 2 16DSPATR(HI) A ENC03 50A O 3 16DSPATR(HI) A 2 4DATE A EDTCDE(Y) A 1 2USER A 4 2' -
A - A ' A DSPATR(UL) A 1 71DATE A EDTCDE(Y) A 2 71TIME A R REGTCLSFL A*%%TS SD 20110724 104856 JRAMIREZ REL-V6R1M0 5761-WDS A OVERLAY A 21 3' - A - A ' A DSPATR(UL)
A 22 3'F3:' A DSPATR(HI) A 22 7'Salir' A 22 16'F5:' A DSPATR(HI) A 22 20'Renovar'
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 3/24
A 22 67'F12:' A DSPATR(HI) A 22 72'Cancelar' A 22 45'Intro:' A DSPATR(HI)
A 22 52'Continuar' A 22 31'F6:' A DSPATR(HI) A 22 35'Crear' A R REGNDAT A*%%TS SD 20110724 100016 JRAMIREZ REL-V6R1M0 5761-WDS A OVERLAY A 15 4'No hay registros para la consulta' A R WINMSG A*%%TS SD 20110724 110322 JRAMIREZ REL-V6R1M0 5761-WDS A WINDOW(8 12 8 54) A OVERLAY A WIMSJ01 50A O 3 3DSPATR(HI)
A WIMSJ02 50A O 4 3DSPATR(HI) A WIMSJ03 50A O 5 3DSPATR(HI) A WIMSJ04 50A O 6 3 A R WINVAL A*%%TS SD 20110724 105442 JRAMIREZ REL-V6R1M0 5761-WDS A WINDOW(8 13 8 54) A OVERLAY A WIVAL01 50A O 3 3 A WIVAL02 50A O 4 3 A 6 26'S/N' A DSPATR(HI) A WIRES 1A B 6 30VALUES('S' 'N' ' ') A R REGDET
A*%%TS SD 20110724 123017 JRAMIREZ REL-V6R1M0 5761-WDS A CA03(03 'Salir') A CA12(12 'Cancelar') A OVERLAY A 9 7'Nombre mascota..:' A DSPATR(HI)
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 4/24
A 10 7'Fecha Nacimiento:' A DSPATR(HI) A 11 7'Especie Mascota.:' A DSPATR(HI) A 8 7'Id Mascota......:'
A DSPATR(HI) A 15 7'Creación' A DSPATR(HI) A 80 DSPATR(ND) A 16 7'Usuario:' A 80 DSPATR(ND) A 17 7'Fecha..:' A 80 DSPATR(ND) A 18 7'Hora...:' A 80 DSPATR(ND) A PIUSRCRE 10A O 16 16 A 80 DSPATR(ND) A PIFECCRE 8Y 0O 17 16EDTWRD(' - - ')
A 80 DSPATR(ND) A PIHORCRE 6Y 0O 18 16EDTWRD(' : : ') A 80 DSPATR(ND) A 15 29'Modificación' A DSPATR(HI) A 80 DSPATR(ND) A 16 29'Usuario:' A 80 DSPATR(ND) A PIUSRMOD 10A O 16 38 A 80 DSPATR(ND) A 17 29'Fecha..:' A 80 DSPATR(ND) A PIFECMOD 8Y 0O 17 38EDTWRD(' - - ')
A 80 DSPATR(ND) A 18 29'Hora...:' A 80 DSPATR(ND) A PIHORMOD 6Y 0O 18 38EDTWRD(' : : ') A 80 DSPATR(ND) A PIIDMAS 10D B 8 25
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 5/24
A 50 ERRMSG('Debe ingresar una identific- A ación de Mascota' 50) A 51 ERRMSG('Ya existe una mascota con e- A sa identificación' 51) A 70 DSPATR(PR)
A PINOMMAS 20A B 9 25 A 52 ERRMSG('Debe ingresar un nombre de - A Mascota' 52) A 71 DSPATR(PR) A PIFECNAC 8Y 0B 10 25EDTCDE(4) A 53 ERRMSG('Debe ingresar la fecha de n- A acimiento de la Mascota' 53) A 54 ERRMSG('El formato de la fecha debe- A ser AAAAMMDD' 54) A 71 DSPATR(PR) A PIESPMAS 3A B 11 25 A 55 ERRMSG('Debe ingresar el código de - A la especie de la mascota' 55)
A 56 ERRMSG('El código de especie ingres- A ado no es válido' 56) A 71 DSPATR(PR) A PIDESESP 40A O 11 29 A R REGTCLDET A*%%TS SD 20110724 120155 JRAMIREZ REL-V6R1M0 5761-WDS A OVERLAY A 21 3' - A - A ' A DSPATR(UL) A 22 67'F12:' A DSPATR(HI)
A 22 72'Cancelar' A 22 32'Intro:' A DSPATR(HI) A 75 DSPATR(ND) A 22 39'Continuar' A 75 DSPATR(ND)
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 6/24
A 22 3'F3:' A DSPATR(HI) A 22 7'Salir' A R REGDAT SFL A*%%TS SD 20110724 114329 JRAMIREZ REL-V6R1M0 5761-WDS
A PDOPC 1A B 12 5VALUES('2' '4' '5' ' ') A PDIDMAS 10A O 12 10 A PDNOMMAS 20A O 12 26 A PDESPMAS 3A O 12 52 A R REGCTL SFLCTL(REGDAT) A*%%TS SD 20110724 105059 JRAMIREZ REL-V6R1M0 5761-WDS A SFLSIZ(9999) A SFLPAG(0008) A CA03(03 'Salir') A CA05(05 'Renovar') A CA06(06 'Crear') A CA12(12 'Cancelar') A OVERLAY
A 90 SFLDSP A 91 SFLDSPCTL A 92 SFLCLR A 93 SFLEND A 6 4'Id =' A PCIDMAS 10A B 6 9DSPATR(HI) A 6 21'Nombre =' A PCNOMMAS 20A B 6 30DSPATR(HI) A 8 4'Opciones:' A DSPATR(HI) A 9 2' - A - A '
A DSPATR(UL) A DSPATR(HI) A 11 4'Opc' A DSPATR(HI) A 11 10'Identificador' A DSPATR(HI)
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 7/24
A 11 26'Nombre Mascota' A DSPATR(HI) A 11 50'Especie' A DSPATR(HI) A 8 15'2='
A DSPATR(HI) A 8 18'Modificar' A 8 29'4=' A DSPATR(HI) A 8 32'Eliminar' A 8 42'5=' A DSPATR(HI) A 8 45'Consultar'
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 8/24
S18RMMASCO – MANTENIMIENTO AL MAESTRO DE ESPECIES
* -------------------------------------------------------------- * PROGRAMA: S18RMMASCO * AUTOR...: Personalsoft S.A.S. - Juan Camilo Ramirez * Fecha...: Julio de 2011 * Descrip.: Programa de mantenimiento al archivo maestro de * mascotas S18FFMASCO. Crear, Modificar, Consultar y * Eliminar, son las opciones habilitadas. * -------------------------------------------------------------- * Indica.: 90 - SFLDSP 92 - SFLCLR * 91 - SFLDSPCTL 93 - SFLEND *---------------------------------------------------------------
*- DIRECTIVAS DE COMPILACIÓN HOption(*NoDebugIo:*SrcStmt) HDftActGrp(*NO) HFixnbr(*Zoned) HDatFmt(*Iso) HDatEdit(*Ymd)
*- DEFINICIÓN DE ARCHIVOS *- Pantalla para el mantenimiento FS18DSMASCOCF E WORKSTN SFILE(REGDAT:Nrr) *- Archivo maestro de mascotas
FS18FFMASCOUF A E K DISK *- Archivo de mascotas ordenado por nomber FS18LFMASCOIF E K DISK RENAME(REGMASCO:REGLMASCO) *- Archivo de especies de mascotas FS18FFESPECIF E K DISK PREFIX(ESP_)
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 9/24
*- DEFINICIÓN DE PROCEDIMIENTOS DEncabezado PR DCargarSubfile PR DCrear PR
DModificar PR DConsultar PR DEliminar PR DValidar PR DCentrar Pr 50A DwPMsg 50A Value
*- Estructura del Sistema DSys SDs Qualified D Pgm *Proc D Status 11 15S 0 D Cpf 40 46
D CpfDescrip 91 170 D Job 244 253 D Usuario 254 263 D Nbr 264 269S 0 D LastFile 175 184 D Todo 1 500
*- DEFINICIÓN DE VARIABLES *- Trabajar con SubFile D Nrr S 4S 0
*- Variables de Trabajo
D wPosIDE S 10A D wPosNOM S 20A D IndDatosOK S N D IndMOD S N
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 10/24
*------------------------------------------------------------------* *- BLOQUE PRINCIPAL DEL PROGRAMA *------------------------------------------------------------------* /Free //Asignar valores a los títulos
Encabezado();
//Ciclo principal hasta presionar F3 o F12 DoW Not *IN03 And Not *In12;//Mostrar encabezado y teclas de función
Write REGENC;Write REGTCLSFL;
//Cargar registros del subfile CargarSubfile();
//Entregar Ejecución al usuario *In91 = *On;ExFmt REGCTL;
*In91 = *Off;
//Validar opción seleccionada Select;When *In03;When *In12;//Cargar nuevamente el subfile When *In05;Clear wPosNOM;Clear wPosIDE;Clear PCIDMAS;Clear PCNOMMAS;
//Crear un registro en el archivo
When *In06;Crear();//Presionó Intro Other;//Almacenar posicionadores en variables de trabajo EvalR wPosIDE = '0000000000' + %Trim(PCIDMAS);
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 11/24
wPosNOM = %Trim(PCNOMMAS);Clear PCIDMAS;Clear PCNOMMAS;
//Si posicionadores no tienen valor, y subfile tiene
//por lo menos un registro, se evalúan las posibles //opciones seleccionadas If NRR > *Zeros And
wPosIDE = '0000000000' AndwPosNOM = *Blanks;//Leer registros que hayan cambiado en Subfile ReadC REGDAT;Dow Not %EoF();//Evaluar opción seleccionada Select;
When PDOPC = '2';Modificar();
When PDOPC = '4';
Eliminar();When PDOPC = '5';Consultar();
EndSl;ReadC REGDAT;EndDo;
EndIf;EndSl;
EndDo;*InLr = *On;
/End-Free *------------------------------------------------------------------*
*--------------------------------------------------------------- * Centrar texto en cadena alfanumérica de long 50. *--------------------------------------------------------------- PCentrar B DCentrar Pi 50A
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 12/24
DwPMsg 50A Value D ConBlancos S 2 0 D I S 2 0 D Longitud S 2 0 D Texto S 50A
/Free
//Variables de Trabajo Clear Texto;Clear ConBlancos;I = 50;wPMsg = %Trim(wPMsg);
//Contar espacios en blanco Dow I > 0 And %SubSt(WPMsg:I:1) = ' ';ConBlancos = ConBlancos + 1;I = I - 1;
EndDo;
//Calcular longitud del mensaje Longitud = 50 - ConBlancos;
//Calcular posición de Inicio Eval(H) I = ConBlancos / 2;If I <= *Zeros;
I = 1;EndIf;
//Centrar el valor %SubSt(Texto:I:Longitud) = WpMsg;
//Devolver cadena centrada Return Texto;/End-Free PCentrar E *---------------------------------------------------------------
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 13/24
*--------------------------------------------------------------- * Asignar valores a los títulos *--------------------------------------------------------------- PEncabezado B
/Free ENCPGM = Sys.PGM;ENC01 = Centrar('Personalsoft S.A.S.');ENC02 = Centrar('Práctica Semillero en AS400');ENC03 = Centrar('Mantenimiento Maestro de Mascotas');/End-Free PEncabezado E *---------------------------------------------------------------
*--------------------------------------------------------------- * Cargar registros al subfile de datos *---------------------------------------------------------------
PCargarSubfile B /Free //Variables de trabajo y Campos Clear PCIDMAS;Clear PCNOMMAS;Clear Nrr;Clear PDOPC;
//Limpiar registros del subfile *In92 = *On;Clear Nrr;Write REGCTL;*In92 = *Off;
//Ubicarse en el archivo, dependiendo de posicionadores Select;When wPosIDE <> '0000000000' And wPosIDE <> *Blanks;
SetLl wPosIDE S18FFMASCO;When wPosNOM <> *Blanks;
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 14/24
SetLl wPosNOM S18LFMASCO;Other;
SetLl *Loval S18FFMASCO;EndSl;
//Leer archivo, dependiendo de posicionadores If wPosIDE = '0000000000' And wPosNOM <> *Blanks;Read S18LFMASCO;
Else;Read(N) S18FFMASCO; //Leer sin bloquear registros
EndIf;
Dow Not %Eof() And Nrr < 9999;Nrr += 1;PDIDMAS = %Trim(IDMAS);PDNOMMAS = %Trim(NOMMAS);PDESPMAS = %Trim(ESPMAS);Write RegDat;
//Leer archivo, dependiendo de posicionadores If wPosIDE = *Blanks And wPosNOM <> *Blanks;
Read S18LFMASCO;Else;
Read(N) S18FFMASCO; //Leer sin bloquear registros EndIf;
EndDo;
//Validar si se han cargado registros If Nrr > *Zeros;
*In90 = *On; //Mostrar Subfile con registros *In93 = *On; //Controlador de Paginación
Else;*In90 = *Off; //Ocultar Subfile con registros *In93 = *Off; //No Controlar Paginación Write REGNDAT; //Registro "No hay datos"
EndIf;
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 15/24
//Limpiar posicionadores de trabajo Clear wPosIDE;Clear wPosNOM;
/End-Free
PCargarSubfile E *---------------------------------------------------------------
*--------------------------------------------------------------- * Crear un registro en el archivo *--------------------------------------------------------------- PCrear B /Free //Limpiar Registro de Creación Clear REGDET;
//Ocultar Campos de auditoría *IN80 = *On;
//Mostrar Encabezado y Teclas de Función Write REGENC;Write REGTCLDET;
//Ciclo Principal de la opción, hasta presionar F3 o F12 DoW Not *IN03 And Not *In12;Write REGDET;ExFmt REGDET;//Validar tecla de función
Select;When *In03;When *In12;
Other;//Validar información ingresada IndMOD = *Off;Validar();
//Datos Correctos, solicitar confirmación
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 16/24
If IndDatosOK;Clear WINVAL;WIVAL01 = Centrar('¿Está seguro de crear el registro?');DoU WIRES = 'S' Or WIRES = 'N';ExFmt WINVAL;
EndDo;
//Usuario confirma, se crea el registro If WIRES = 'S';
Clear REGMASCO;EvalR IDMAS = '0000000000' + %Trim(PIIDMAS);NOMMAS = %Trim(PINOMMAS);FECNAC = PIFECNAC;ESPMAS = PIESPMAS;//Campos de auditoría FECCRE = %Int(%Char(%Date():*Iso0));HORCRE = %Int(%Char(%Time():*Iso0));USUCRE = Sys.Usuario;
//Escritura controlada en el archivo Write(E) REGMASCO;
//Ventana de Resultado Clear WINMSG;WIMSJ04 = Centrar('Presione INTRO para continuar');If %Error();
WIMSJ01 = Centrar('Ha ocurrido un error al crear');WIMSJ02 = Centrar('el registro en el archivo');
Else;WIMSJ01 = Centrar('Se ha creado exitosamente');WIMSJ02 = Centrar('el registro en el archivo');
EndIf;ExFmt WINMSG;
//Se interrumpe el ciclo de la opción Leave;
EndIf;
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 17/24
EndIf;EndSl;
EndDo;
//Restaurar Campos de auditoría
*IN80 = *Off;//Garantizar tecla F12 inactiva *In12 = *Off;
/End-Free PCrear E *---------------------------------------------------------------
*--------------------------------------------------------------- * Modificar un registro del archivo *--------------------------------------------------------------- PModificar B /Free
//Bloquear registro y Cargar a la pantalla los datos Clear REGDET;Chain PDIDMAS S18FFMASCO;If %Found();
PIIDMAS = IDMAS;PINOMMAS = NOMMAS;PIFECNAC = FECNAC;PIESPMAS = ESPMAS;
EndIf;
//Ocultar Campos de auditoría *IN80 = *On;
//Bloquear clave primaria *IN70 = *On;
//Mostrar Encabezado y Teclas de Función Write REGENC;Write REGTCLDET;
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 18/24
//Ciclo Principal de la opción, hasta presionar F3 o F12 DoW Not *IN03 And Not *In12;Write REGDET;ExFmt REGDET;
//Validar tecla de función Select;When *In03;When *In12;Other;//Validar información ingresada, pero no validar //la clave primaria, porque esta bloqueada
IndMOD = *On;Validar();IndMOD = *Off;
//Datos Correctos, solicitar confirmación If IndDatosOK;
Clear WINVAL;WIVAL01 = Centrar('¿Está seguro de modificar el registro?');DoU WIRES = 'S' Or WIRES = 'N';ExFmt WINVAL;
EndDo;
//Usuario confirma, se actualiza el registro If WIRES = 'S';
NOMMAS = %Trim(PINOMMAS);FECNAC = PIFECNAC;ESPMAS = PIESPMAS;//Campos de auditoría FECMOD = %Int(%Char(%Date():*Iso0));
HORMOD = %Int(%Char(%Time():*Iso0));USUMOD = Sys.Usuario;
//ACtualización controlada en el archivo Update(E) REGMASCO;
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 19/24
//Ventana de Resultado Clear WINMSG;WIMSJ04 = Centrar('Presione INTRO para continuar');If %Error();
WIMSJ01 = Centrar('Ha ocurrido un error '+
'al modificar');WIMSJ02 = Centrar('el registro en el archivo');Else;
WIMSJ01 = Centrar('Se ha modificado exitosamente');WIMSJ02 = Centrar('el registro en el archivo');
EndIf;ExFmt WINMSG;
//Se interrumpe el ciclo de la opción Leave;
EndIf;EndIf;
EndSl;
EndDo;
//Restaurar Campos de auditoría *IN80 = *Off;
//Desbloquear clave primaria *IN70 = *Off;
//Garantizar tecla F12 inactiva *In12 = *Off;
/End-Free PModificar E *---------------------------------------------------------------
*--------------------------------------------------------------- * Consultar la información de un registro determinado *--------------------------------------------------------------- PConsultar B /Free //Cargar a la pantalla los datos del registro, sin bloquearlo
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 20/24
Clear REGDET;Chain(N) PDIDMAS S18FFMASCO;If %Found();
PIIDMAS = IDMAS;PINOMMAS = NOMMAS;
PIFECNAC = FECNAC;PIESPMAS = ESPMAS;//Obtener descripción de la especie. Tener en cuenta que //el archivo tiene el prefijo ESP_ Chain PIESPMAS S18FFESPEC;If %Found();
PIDESESP = %Trim(ESP_NOMESP);EndIf;
//Campos de auditoría PIUSRCRE = USUCRE;PIFECCRE = FECCRE;PIHORCRE = HORCRE;
PIUSRMOD = USUMOD;PIFECMOD = FECMOD;PIHORMOD = HORMOD;
EndIf;
//Mostrar Campos de auditoría *IN80 = *Off;
//Ocultar Tecla INTRO en Teclas de función *IN75 = *On;
//Bloquear clave primaria *IN70 = *On;
//Bloquear los demás campos
*IN71 = *On;
//Ciclo Principal de la opción, hasta presionar F3 o F12 DoW Not *IN03 And Not *In12;//Mostrar Encabezado y Teclas de Función
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 21/24
Write REGENC;Write REGTCLDET;
Write REGDET;ExFmt REGDET;
//Validar tecla de función Select;When *In03;When *In12;Other;
EndSl;EndDo;
//Ocultar Campos de auditoría *IN80 = *Off;
//Mostrar tecla INTRO en teclas de función *IN75 = *Off;
//Desbloquear clave primaria
*IN70 = *Off;//Desbloquear los demás campos *IN71 = *Off;
//Garantizar tecla F12 inactiva *In12 = *Off;
/End-Free PConsultar E *---------------------------------------------------------------
*--------------------------------------------------------------- * Eliminar un registro determinado del archivo *---------------------------------------------------------------
PEliminar B /Free //Ventana de confirmación de Eliminación Clear WINVAL;WIVAL01 = Centrar('¿Está seguro de eliminar el registro?');DoU WIRES = 'S' Or WIRES = 'N';
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 22/24
ExFmt WINVAL;EndDo;
//Usuario confirma, se elimina el registro If WIRES = 'S';
Chain PDIDMAS S18FFMASCO;If %Found();//Eliminación controlada en el archivo Delete(E) REGMASCO;
//Ventana de Resultado Clear WINMSG;WIMSJ04 = Centrar('Presione INTRO para continuar');If %Error();
WIMSJ01 = Centrar('Ha ocurrido un error al eliminar');WIMSJ02 = Centrar('el registro en el archivo');
Else;WIMSJ01 = Centrar('Se ha eliminado exitosamente');
WIMSJ02 = Centrar('el registro en el archivo');EndIf;ExFmt WINMSG;
Else;//Al momento de eliminar el registro, no existe ya Clear WINMSG;WIMSJ01 = Centrar('No se ha encontrado el registro');WIMSJ02 = Centrar('a eliminar');WIMSJ04 = Centrar('Presione INTRO para continuar');
ExFmt WINMSG;EndIf;
EndIf;
/End-Free PEliminar E *---------------------------------------------------------------
*---------------------------------------------------------------
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 23/24
* Validar la información de un registro *--------------------------------------------------------------- PValidar B DwIDTempo S 10A /Free
//Desactivar los indicadores de Error IndDatosOK = *Off;*In50 = *Off;*In51 = *Off;*In52 = *Off;*In53 = *Off;*In54 = *Off;*In55 = *Off;*In56 = *Off;
//Validar la clave primaria, unicamente en la opción CREAR If IndMOD = *Off;
//Identificación Obligatoria
If PIIDMAS = *Blanks;*In50 = *On;Return;
EndIf;
//Identificación no debe estar repetida EvalR wIDTempo = '0000000000' + %Trim(PIIDMAS);Chain(N) wIDTempo S18FFMASCO;If %Found();
*In51 = *On;Return;
EndIF;
//Identificación con ceros a la izquierda PIIDMAS = wIDTempo;EndIf;
//Nombre de Mascota requerido If PINOMMAS = *Blanks;
7/18/2019 Mantenimiento.pdf
http://slidepdf.com/reader/full/mantenimientopdf-56d4c7374923c 24/24
*In52 = *On;Return;
EndIf;
//Fecha de Nacimiento requerida
If PIFECNAC = *Zeros;*In53 = *On;Return;
EndIf;//Fecha de Nacimiento en Formato AAAAMMDD Test(DE) *Iso PIFECNAC;If %Error();
*In54 = *On;Return;
EndIf;
//Código de Especie requerido If PIESPMAS = *Blanks;
*In55 = *On;Return;EndIf;
//Código de Especie debe existir en Maestro de Especies Chain PIESPMAS S18FFESPEC;If Not %Found();
*In56 = *On;Return;
EndIf;
//Todas las validaciones son correctas IndDatosOK = *On;
/End-Free PValidar E *---------------------------------------------------------------