Muchas gracias

        He probado lo que me mandas y me funciona.

        Gracias y saludos.

-----Mensaje original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] nombre de alex martinez
Enviado el: martes, 15 de marzo de 2005 12:10
Para: [email protected]
Asunto: Re: Excepcion de Java


He probado tu ejemplo y me funciona despu�s de realizar los siguientes
cambios, no todos son obligatorios, pero no he podido resistirme....
Te detallo:

- cambiar el ccsid a 1145. Con el valor 284 tambien funciona, pero no
tengo ni idea de a qu� pais corresponde el ccsid 280 que tu utilizas.

- definir nameSpace como te aconsejaba, 10 primeros caracteres para el
nombre y 10 ultimos para la biblioteca. En este caso el espacio de
usuario es SPLFILES en la biblioteca AJUT400.

- He cambiado MAX_MESSAGE_SIZE por 32768, como tama�o inicial del
espacio de usuario. Yo prefiero crearlo de peque�o tama�o y que el
sistema lo amplie seg�n sea necesario, en lugar de que sea "enorme" y
quiz�s nunca llegue a utilizar todo el espacio asignado.

- Y unos cambios en el m�todo toBytes para los parametros userName,
outqName, formName y UserData de la llamada a la API QUSLSPL.

te copio el fuente:

import com.ibm.as400.access.*;

public class CrearUsrSpc {

        public static void main(String[] args) {
                AS400 system = new AS400();
                int ccsid = 1145;
                AS400Text text1Type = new AS400Text(1, ccsid, system);
                AS400Text text8Type = new AS400Text(10, ccsid, system);
                AS400Text text10Type = new AS400Text(10, ccsid, system);
                AS400Text text20Type = new AS400Text(20, ccsid, system);
                AS400Text text50Type = new AS400Text(50, ccsid, system);
                AS400Bin4 intType = new AS400Bin4();
                String nameSpace = "SPLFILES  AJUT400";
                ProgramCall pgm = new ProgramCall(system);
                // Ejecutamos en primer lugar la API de creacion de un User 
Space.
                ProgramParameter[] parms = new ProgramParameter[6];
                byte[] userSpace = new byte[20];
                text20Type.toBytes(nameSpace, userSpace);
                parms[0] = new ProgramParameter(userSpace);
                byte[] attribute = new byte[10];
                text10Type.toBytes("AJUT400", attribute);
                parms[1] = new ProgramParameter(attribute);
                byte[] msgsize = intType.toBytes(32768);
                parms[2] = new ProgramParameter(msgsize);
                byte[] format = new byte[1];
                text1Type.toBytes(" ", format);
                parms[3] = new ProgramParameter(format);
                byte[] authority = new byte[10];
                text10Type.toBytes("*ALL", authority);
                parms[4] = new ProgramParameter(authority);
                byte[] description = new byte[50];
                text50Type.toBytes("Creado por Ajut400", description);
                parms[5] = new ProgramParameter(description);
                pgm.setThreadSafe(true);
                try {

                        if (!pgm.run("/QSYS.LIB/QUSCRTUS.PGM", parms)) {
                                throw new AS400Exception(pgm.getMessageList());
                        }
                        int basepos = 104;
                        byte[] retData = parms[0].getOutputData();

                } catch (Exception e) {
                        e.printStackTrace();
                }
                // Ejecutamos en primer lugar la API en la que definimos el 
Spool
que queremos procesar

                ProgramParameter parms1[] = new ProgramParameter[6];

                byte[] userSpace1 = new byte[20];
                text20Type.toBytes(nameSpace, userSpace1);
                parms1[0] = new ProgramParameter(userSpace1);
                byte[] format1 = new byte[8];
                text8Type.toBytes("SPLF0100", format1);
                parms1[1] = new ProgramParameter(format1);
                byte[] userName = new byte[10];
                text10Type.toBytes("ALEX", userName);
                parms1[2] = new ProgramParameter(userName);
                byte[] outqName = new byte[20];
                text20Type.toBytes("*ALL", outqName);
                parms1[3] = new ProgramParameter(outqName);
                byte[] formName = new byte[10];
                text10Type.toBytes("*ALL", formName);
                parms1[4] = new ProgramParameter(formName);
                byte[] userData = new byte[10];
                text10Type.toBytes("*ALL", userData);
                parms1[5] = new ProgramParameter(userData);
                pgm.setThreadSafe(true);
                String str = "";
                try {
                        if (!pgm.run("/QSYS.LIB/QUSLSPL.PGM", parms1)) {
                                throw new AS400Exception(pgm.getMessageList());
                        }
                        int basepos = 104;
                        byte[] retData = parms1[0].getOutputData();
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
}

_____________________________________________________
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]



_____________________________________________________
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]

Responder a