Estoy realizando algo el rpg invocando clases Java, tome un ejemplo de tantos de internet, compila pero tien los siguientes problemas.(Se adjunta ejemplo)
 
el primer mensaje es el siguiente
 
Error de puntero o parámetro, al ampliarlo
 
Java Virtual Machine is Classic.                                          
Autorización de escritura de uso público en ".".                          
Error de función X'1716' en instrucción de máquina. Identificador (ID) de 
  vuelco interno 01001B39.                                                
Se ha recibido una excepción no supervisada.                              
Autorización de escritura de uso público en ".".                          
No se ha podido crear la máquina virtual Java.                            
Autorización de escritura de uso público en ".".                          
No se ha podido crear la máquina virtual Java.                            
El puntero no hace referencia a ninguna ubicación.                        
El puntero no hace referencia a ninguna ubicación.                        
Error de función. MCH3601 no supervisado por QRNXUTIL en la sentencia     
  0000000018, instrucción X'0000'.                                        
 
Al ampliar el mensaje sobo Autorización de escritura de uso público en ".".
 
Mensaje . . . . :   Autorización de escritura de uso público en ".".         
Causa . . . . . :   El directorio "." que hay en la vía de acceso de clases  
  tiene autorización de escritura de uso público. Si en un directorio hay más
  de una clase que tenga un mismo nombre, se ejecutará la primera clase que se
  encuentre.                                                                 
Recuperación  . :   Si el nivel de comprobación de seguridad de la vía de    
  acceso de clases (CHKPATH) es *SECURE, el mandato no se puede completar si 
  un directorio de la vía de acceso de clases tiene autorización de escritura
  de uso público. Solicite al administrador que elimine la autorización de   
  escritura de uso público del directorio ".", o bien cambie el parámetro    
  CHKPATH y ejecute de nuevo este mandato.                                   
    Si el directorio "." permanece con la autorización de escritura de uso   
  público y CHKPATH no es *SECURE, puede verificar qué clases se ejecutan si  
  establece el parámetro OPTION en *VERBOSE y luego vuelve a ejecutar el      
  mandato.                                                                    
 
Lo de autorización  de escritura de uso público en ".", ni idea.
 
Alguna idea, haber si puedo terminar con este ensayo. El ejemplo que encontre se llama MATH y tiene un copy book MATHPR.
 
Gracias de antemano.
 
H DftActGrp(*NO) ActGrp(*CALLER)                                             
                                                                             
 /Copy *LibL/QRpgLeSrc,MathPr                                                
                                                                             
D alpha1          C                   Const('2.5')                           
D alpha2          C                   Const('1.5')                           
D string1         S               O   Class(*JAVA:'java.lang.String')        
D string2         S               O   Class(*JAVA:'java.lang.String')        
D Sum             S               O   Class(*JAVA:'java.math.BigDecimal')    
D BigD1           S               O   Class(*JAVA:'java.math.BigDecimal')    
D BigD2           S               O   Class(*JAVA:'java.math.BigDecimal')    
D StringSum       S               O   Class(*JAVA:'java.lang.String')        
D DisplaySum      S             30A   Varying                                
                                                                             
 *  Create String objects from the alphanumeric constants                    
C                   Eval      String1 = newString(alpha1)                    
C                   Eval      String2 = newString(alpha2)                    
                                                                             
 *  Create BigDecimal Objects from the String objects. We                    
 *  could creat BigDecimal directly from a float or bigInt

 *  and save the String object creation step, but Sun              
 *  recommends using Strings for data accuracy.                    
                                                                   
C                   Eval      BigD1 = String2BigD(string1)         
C                   Eval      BigD2 = String2BigD(string2)         
                                                                   
 *  Add the two BigDecimal objects. See how there are two          
 *  parameters even though we only defined one. The first          
 *  parm is the instance parm and the second parm is the           
 *  one that we defined in the prototype.                          
                                                                   
C                   Eval      Sum = add(BigD1:BigD2)               
                                                                   
 *  Now convert the BigDecimal sum back to a string; then          
 *  convert the String into aplha data for us to view.             
                                                                   
C                   Eval      StringSum = BigD2String(Sum)         
C                   Eval      DisplaySum = getBytes(StringSum)     
                                                                   
                                                              
 *  display the alpha version of the sum and end the program. 
                                                              
C     DisplaySum    Dsply                                     
C                   Eval      *InLr = *On                     


El copy book

 **********************************************************************   
 *  BigDecimal add method.  It accepts a BigDecimal object                
 *  as a parameter, and returns a BigDecimal object (the sum              
 *  of instance class and the parm used to make the call).                
 **********************************************************************   
                                                                          
D add             PR              O   ExtProc(*JAVA:                      
D                                         'java.math.BigDecimal':         
D                                         'add')                          
D                                     Class(*JAVA:'java.math.BigDecimal') 
D  BigD2                          O   Class(*JAVA:'java.math.BigDecimal') 
D                                     Const                               
                                                                          
 **********************************************************************   
 *   BigDecimal constructor that accepts a string parameter               
 *   and returns a BigDecimal object. Use this constructor                
 *   rather than the double conversion as converting from a               
 *   is more accurate according to Sun's documentation.                   
 **********************************************************************   
                                                                          
D String2BigD     PR              O   ExtProc(*JAVA:                      
D                                         'java.math.BigDecimal':         
D                                         *CONSTRUCTOR)                   
D                                     Class(*JAVA:'java.math.BigDecimal') 
D  Str                            O   Class(*JAVA:'java.lang.String')     
D                                     Const                               
                                                                          
 **********************************************************************   
 * getBytes - Converts a string to a byte array for use in a char field   
 **********************************************************************   
                                                                          
D getBytes        PR            30A   ExtProc(*JAVA:                      
D                                             'java.lang.String':         
D                                             'getBytes')                 
D                                     Varying                             
                                                                          
 **********************************************************************   
 *  newString constructor that accepts a byte array                       
 *  (an alphnumeric variable in RPG speak). It                            
 *  returns a string object.                                            
 ********************************************************************** 
                                                                        
D newString       PR              O   ExtProc(*JAVA:                    
D                                             'java.lang.String':       
D                                             *CONSTRUCTOR)             
D                                     Class(*JAVA:'java.lang.String')   
D  byes                         30A   Const Varying                     
                                                                        
 *********************************************************************  
 *  BigD2String conversion that accepts THIS                            
 *  instance of BigDecimal and returns a string object.                 
 ********************************************************************** 
                                                                        
D BigD2String     PR              O   ExtProc(*JAVA:                    
D                                             'java.math.BigDecimal':   
D                                             'toString')               
D                                     Class(*JAVA:'java.lang.String')           
           

Responder a