public static Object calcularExpedientePagoCreciente(DocumentoHojaDeCampoBean
hojaCampo, String idUsuario) {
ExpedienteHCBean expediente = new ExpedienteHCBean();
//Usuario usuarioSistema = new
Usuario(agro.sca.DescripcionTrabajo.getPropiedad(agro.sca.DescripcionTrabajo.USR_ID),agro.sca.DescripcionTrabajo.getPropiedad(agro.sca.DescripcionTrabajo.USR_PASSWORD));
//Eliminar
AS400 sistema = new AS400();
//sistema = (AS400) usuarioSistema.getSistema();
byte[] byt_aux;
try {
ProgramParameter[] lista = new ProgramParameter[19];
//Plan
byt_aux =(new AS400PackedDecimal(4,
0)).toBytes(hojaCampo.getCabeceraHCBean().getPlan());
lista[0] = new ProgramParameter(byt_aux, 4);
//Depuracion.informar("HTP2650lista[0]:"+String.valueOf(String.valueOf(hojaCampo.getCabeceraHCBean().getPlan())));
//Linea
byt_aux =(new AS400PackedDecimal(3,
0)).toBytes(hojaCampo.getCabeceraHCBean().getLinea());
lista[1] = new ProgramParameter(byt_aux, 3);
//Depuracion.informar("HTP2650lista[1]:"+String.valueOf(String.valueOf(hojaCampo.getCabeceraHCBean().getLinea())));
//Referencia
lista[2] = new ProgramParameter((new AS400Text(7,
sistema)).toBytes(Formatos.pad(hojaCampo.getCabeceraHCBean().getReferencia(), "
", 7, "D")), 7);
//Depuracion.informar("HTP2650lista[2]:"+String.valueOf(String.valueOf(hojaCampo.getCabeceraHCBean().getReferencia())));
//Modulo
String[] modulo=hojaCampo.getCabeceraHCBean().getModulo().split("-");
lista[3] = new ProgramParameter((new AS400Text(5,
sistema)).toBytes(Formatos.pad(modulo[0], " ", 5, "D")), 7);
//Depuracion.informar("HTP2650lista[3]:"+String.valueOf(String.valueOf(modulo[0])));
//dni
lista[4] = new ProgramParameter((new AS400Text(10,
sistema)).toBytes(Formatos.pad(hojaCampo.getCabeceraHCBean().getAseguradoNif(),
" ", 10, "D")), 10);
//Depuracion.informar("HTP2650lista[4]:"+String.valueOf(String.valueOf(hojaCampo.getCabeceraHCBean().getAseguradoNif())));
//hoja
byt_aux = (new AS400PackedDecimal(3,
0)).toBytes(hojaCampo.getParcelaHCBean().getHoja());
lista[5] = new ProgramParameter(byt_aux, 3);
//Depuracion.informar("HTP2650lista[5]:"+String.valueOf(String.valueOf(hojaCampo.getParcelaHCBean().getHoja())));
//parcela
byt_aux = (new AS400PackedDecimal(3,
0)).toBytes(hojaCampo.getParcelaHCBean().getParcela());
lista[6] = new ProgramParameter(byt_aux, 3);
//Depuracion.informar("HTP2650lista[6]:"+String.valueOf(String.valueOf(hojaCampo.getParcelaHCBean().getParcela())));
//tipo capital
byt_aux = (new AS400PackedDecimal(3,
0)).toBytes(hojaCampo.getParcelaHCBean().getTipoCapital());
lista[7] = new ProgramParameter(byt_aux, 3);
//Depuracion.informar("HTP2650lista[7]:"+String.valueOf(String.valueOf(hojaCampo.getParcelaHCBean().getTipoCapital())));
//cultivo
byt_aux = (new AS400PackedDecimal(3,
0)).toBytes(hojaCampo.getParcelaHCBean().getCultivoRecibido());
lista[8] = new ProgramParameter(byt_aux, 3);
//Depuracion.informar("HTP2650lista[8]:"+String.valueOf(hojaCampo.getParcelaHCBean().getCultivoRecibido()));
//variedad
byt_aux = (new AS400PackedDecimal(3,
0)).toBytes(hojaCampo.getParcelaHCBean().getVariedadRecibido());
lista[9] = new ProgramParameter(byt_aux, 3);
//Depuracion.informar("HTP2650lista[9]:"+String.valueOf(hojaCampo.getParcelaHCBean().getVariedadRecibido()));
//provincia
byt_aux = (new AS400PackedDecimal(3,
0)).toBytes(hojaCampo.getParcelaHCBean().getProvinciaRecibido());
lista[10] = new ProgramParameter(byt_aux, 2);
//Depuracion.informar("HTP2650lista[10]:"+String.valueOf(hojaCampo.getParcelaHCBean().getProvinciaRecibido()));
//comarca
byt_aux = (new AS400PackedDecimal(3,
0)).toBytes(hojaCampo.getParcelaHCBean().getComarcaRecibido());
lista[11] = new ProgramParameter(byt_aux, 2);
//Depuracion.informar("HTP2650lista[11]:"+String.valueOf(hojaCampo.getParcelaHCBean().getComarcaRecibido()));
//término
byt_aux = (new AS400PackedDecimal(3,
0)).toBytes(hojaCampo.getParcelaHCBean().getTerminoRecibido());
lista[12] = new ProgramParameter(byt_aux, 3);
//Depuracion.informar("HTP2650lista[12]:"+String.valueOf(hojaCampo.getParcelaHCBean().getTerminoRecibido()));
//subtermino
lista[13] = new ProgramParameter((new AS400Text(1,
sistema)).toBytes(Formatos.pad(String.valueOf(hojaCampo.getParcelaHCBean().getSubterminoRecibido()),
"0", 1, "I")), 1);
//Depuracion.informar("HTP2650lista[13]:"+String.valueOf(hojaCampo.getParcelaHCBean().getSubterminoRecibido()));
//Tipo I inmediata - D definitiva
String
tipoVisita=String.valueOf(String.valueOf(hojaCampo.getIdentificadorHCBean().getTipoVisita()==1?"I":"D"));
lista[14] = new ProgramParameter((new AS400Text(1,
sistema)).toBytes(Formatos.pad(String.valueOf(tipoVisita), " ", 1, "D")), 1);
//Depuracion.informar("HTP2650lista[14]:"+String.valueOf(String.valueOf(hojaCampo.getIdentificadorHCBean().getTipoVisita()==1?"I":"D")));
//usuario
lista[15] = new ProgramParameter((new AS400Text(10,
sistema)).toBytes(Formatos.pad(String.valueOf(idUsuario), " ", 10, "D")), 10);
//Depuracion.informar("HTP2650lista[15]:"+String.valueOf(String.valueOf(idUsuario)));
//grupo
byt_aux = (new AS400PackedDecimal(3, 0)).toBytes(0);
lista[16] = new ProgramParameter(byt_aux, 3);
//Depuracion.informar("HTP2650lista[16]:"+String.valueOf(String.valueOf(0)));
//sexs
byt_aux = (new AS400PackedDecimal(4, 0)).toBytes(0);
lista[17] = new ProgramParameter(byt_aux, 4);
//Depuracion.informar("HTP2650lista[17]:"+String.valueOf(String.valueOf(0)));
//nex
byt_aux = (new AS400PackedDecimal(7, 0)).toBytes(0);
lista[18] = new ProgramParameter(byt_aux, 7);
//Depuracion.informar("HTP2650lista[18]:"+String.valueOf(String.valueOf(0)));
ProgramCall control = new ProgramCall(sistema, (new
QSYSObjectPathName(DescripcionTrabajo.getPropiedad(DescripcionTrabajo.BIB_HOJAOBJ),
"HTP2650", "PGM")).getPath(), lista);
if (control.run()) {
AS400PackedDecimal num_decimal = new AS400PackedDecimal(3, 0);
byt_aux = lista[16].getOutputData();
num_decimal = new AS400PackedDecimal(3, 0);
long elGrupoVarietal=((BigDecimal)
num_decimal.toObject(byt_aux)).longValue();
// Depuracion.informar("HTP2650 salida
lista[16]:"+String.valueOf(String.valueOf(elGrupoVarietal)));
num_decimal = new AS400PackedDecimal(4, 0);
byt_aux = lista[17].getOutputData();
num_decimal = new AS400PackedDecimal(4, 0);
long laSerieExpediente=((BigDecimal)
num_decimal.toObject(byt_aux)).longValue();
// Depuracion.informar("HTP2650 salida
lista[17]:"+String.valueOf(String.valueOf(laSerieExpediente)));
num_decimal = new AS400PackedDecimal(7, 0);
byt_aux = lista[18].getOutputData();
num_decimal = new AS400PackedDecimal(7, 0);
long elNumeroExpediente=((BigDecimal)
num_decimal.toObject(byt_aux)).longValue();
// Depuracion.informar("HTP2650 salida
lista[18]:"+String.valueOf(String.valueOf(elNumeroExpediente)));
expediente.setSex(String.valueOf(laSerieExpediente));
expediente.setNex(String.valueOf(elNumeroExpediente));
hojaCampo.getParcelaHCBean().setGrupoVarietal((int)elGrupoVarietal);
hojaCampo.setExpediente(expediente);
/*if (error.equals("1")) {
System.out.println("Se ha producido un error al intentar calcular el
expediente");
} */
} else {
String str_AS400Msg = "";
AS400Message[] listaMensajes = control.getMessageList();
for (int i=0;i<listaMensajes.length;i++) {
str_AS400Msg = str_AS400Msg + listaMensajes[i].getText();
}
Depuracion.informar("El programa '" + control.getProgram() + "' no ha
funcionado correctamente. \nLista de mensajes del sistema [" +
control.getSystem() + "] \n" + str_AS400Msg);
}
} catch (Exception e) {
Depuracion.informarExcepcion(e, "Error en
agro.servidor.documento.hc.dao.HojaDefinitivaDao.calcularExpedientePagoCreciente()");
}
sistema.disconnectAllServices();
return expediente;
}
-----Mensaje original-----
De: [email protected]
[mailto:[email protected]] En nombre de DEMETOLE - GMAIL
Enviado el: martes, 03 de junio de 2014 1:50
Para: forum.help400
Asunto: Re: [Bulk] RE: Ejemplo de invocar un programa RPG COBOL o CLP desde
Java y Tomcat
Gracias Javier.
Dispones de un ejemplo, alguna URL donde tenga mas documentación.
La idea es invocar un programa para que retorne al menos un parametros.
Espero sus aportes.
Un Abrazo
Demetrio
El 02/06/2014 9:00, González Torrejón, Javier escribió:
> programCall
>
> -----Mensaje original-----
> De: [email protected]
> [mailto:[email protected]] En nombre de DEMETOLE
> - GMAIL Enviado el: lunes, 02 de junio de 2014 15:47
> Para: [email protected]
> Asunto: Ejemplo de invocar un programa RPG COBOL o CLP desde Java y
> Tomcat
>
> Buenos dias.
>
> Alguien dispone de un ejemplo que invoque un programa CLP, RPG O COBOL desde
> un servidor de aplicaciones con un programa en Java.
>
> La idea es no crear STORED PROCEDURE sino invocar directamente.
>
> Espero sus aportes.
>
> Un Abrazo
> Demetrio
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
>
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.