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.

Responder a