Efectivamente, Alberto. No obstante ten en cuenta varias cosas: 1� No todos los c�digos de operaci�n admiten el extensor (E). 2� No son incompatibles la *PSSR y otra rutina de control de errores que t� te definas para controlar los %STATUS.
Por tanto, podr�as utilizar los extensores (E) en algunas sentencias, desvi�ndolos incluso a diferentes rutinas de control dependiendo del punto en el que est�s del programa, y adem�s incorporar la *PSSR para controlar otros errores. Saludos. Juan Carlos > -----Mensaje original----- > De: Alberto [SMTP:[EMAIL PROTECTED]] > Enviado el: martes, 28 de enero de 2003 9:27 > Para: [EMAIL PROTECTED] > Asunto: RE: %error y %status <correcci�n> > > Hola. > O sea, que si no entiendo mal, en vez de definir en la hoja 'F'una > subrutina > de error a nivel de archivo, o coger la *pssr a nivel de programa,ahora > poniendo el extensor (e)en la sentencia 'sospechosa' y luego el If %error > y > mirando el valor del %status, se pueden controlar los errores de forma > individualizada.Es esto �no? > > -----Mensaje original----- > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]En nombre de Fernando P�rez > Enviado el: martes 28 de enero de 2003 9:02 > Para: '[EMAIL PROTECTED]' > Asunto: RE: %error y %status <correcci�n> > > > La mitad de mis neuronas a�n no han despertado :) > > Para que el programa no casque y puedas utilizar %Error, has de a�adir el > extensor (E) en la sentencia que 'se sospecha' que pueda generar el error > (el if %error ha de ser la siguiente l�nea de c�digo). En %status se > devuelve informaci�n adicional sobre el tipo de error que se ha producido. > > Un ejemplo del manual: > > C EXFMT(E) INFILE > C IF %ERROR > C EXSR CheckError > C ENDIF > C ... > *------------------------------------------------------------------- > * CheckError: Subroutine to process a file I/O error > *------------------------------------------------------------------- > C CheckError BEGSR > C SELECT > C WHEN %STATUS < 01000 > * No error occurred > C WHEN %STATUS = 01211 > * Attempted to read a file that was not open > C EXSR InternalError > C WHEN %STATUS = 01331 > * The wait time was exceeded for a READ operation > C EXSR TimeOut > C WHEN %STATUS = 01261 > * Operation to unacquired device > C EXSR DeviceError > C WHEN %STATUS = 01251 > * Permanent I/O error > C EXSR PermError > C OTHER > * Some other error occurred > C EXSR FileError > C ENDSL > C ENDSR > > Saludos. > > Fernando P�rez. > Cer�mica Saloni. Dpto. Sistemas > <mailto:[EMAIL PROTECTED]> > > > -----Mensaje original----- > De: Fernando P�rez [mailto:[EMAIL PROTECTED]] > Enviado el: martes, 28 de enero de 2003 8:53 > Para: '[EMAIL PROTECTED]' > Asunto: RE: %error y %status > > > Hola. > > Hasta donde yo se, hay pocas similitudes entre %error y la forma en que se > gestionaban los errores en RPG 3. En RPG ILE, %error simplemente te > devuelve > si se ha producido un error en la sentencia anterior, evitando adem�s que > casque el programa. No se indica la contestaci�n al mensaje (*getin, ...), > ya que �ste no se produce. Dentro del if %error puedes poner el c�digo que > trate el problema (mostrar mensaje al usuario, reintentar la operaci�n > E/S, > terminar el programa ...). > > Desconozco si hay alguna manera de indicar a nivel de todo el programa la > acci�n a realizar en caso de error (%error solo se refiere a la sentencia > anterior a donde lo especifiques). > > > > > � Publicaciones Help400, S.L. - Todos los derechos reservados > http://www.help400.es > _____________________________________________________ > > Para darte de baja, env�a el mensaje resultante de pulsar > mailto:[EMAIL PROTECTED]?body=LEAVE > > _____________________________________________________ > Forum.HELP400 es un servicio m�s de NEWS/400. > � Publicaciones Help400, S.L. - Todos los derechos reservados > http://www.help400.es > _____________________________________________________ > > Para darte de baja, env�a el mensaje resultante de pulsar > mailto:[EMAIL PROTECTED]?body > > > _____________________________________________________ > Forum.HELP400 es un servicio m�s de NEWS/400. > � Publicaciones Help400, S.L. - Todos los derechos reservados > http://www.help400.es > _____________________________________________________ > > Para darte de baja, env�a el mensaje resultante de pulsar > mailto:[EMAIL PROTECTED]?body=LEAVE _____________________________________________________ Forum.HELP400 es un servicio m�s de NEWS/400. � Publicaciones Help400, S.L. - Todos los derechos reservados http://www.help400.es _____________________________________________________ Para darte de baja, env�a el mensaje resultante de pulsar mailto:[EMAIL PROTECTED]?body=LEAVE
