×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Hi
the problem is with activiation group some where in
process RCLRCS and RCLACTGRP is called and then i get
this problem
or else my programs work well

ashish
--- Bill Fly <billfly3@xxxxxxxxxxx> wrote:
> I have a working RPG program which calls a Java
> program. Here are some
> extractions from those programs:
> 
> Java program:
> public class SboXmlXlator { // <-- class header
> ...
>     public SboXmlXlator() { // constructor
> ...
>     public byte[] xml2Fixed(byte[] bobj,
>                             byte[] bact,
>                             byte[] breq) { // <--
> one of the called method
> signatures
> ...
> 
> RPG IV program:
>      d SboXmlXlator    c                  
> 'SboXmlXlator'
> 
>      d xml             s               o  
> class(*java : SboXmlXlator)
> <-- Java object instantiated by constructor
> 
>      d constructor     pr              o  
> extproc(*java : SboXmlXlator :
> <-- Java constructor
>      d                                            
> *constructor)
> 
>      d xml2Fixed       pr         32767a   varying
> <-- prototype for Java method xml2Fixed
>      d                                    
> extproc(*java : SboXmlXlator :
> <-- returns a byte array (highly recommended
>      d                                            
> 'xml2Fixed')
>      d                               14a   varying
> <-- passes byte arrays (highly recommended
>      d                               10a   varying
>      d                            32767a   varying
> ...
>            xml = constructor();
> <-- calls Java constructor, return instantiated
> ...
> Object of type SboXmlXlator
>            response = fixed2Xml(xml : object : tag :
> request);
> <-- calls Java method; notice first parameter
>  
> <-- is the object returned by the constructor
>  
> <-- and not defined in the method prototype.
> 
> Byte arrays are highly recommended as they are
> compatible with RPG IV
> varying length strings.  I started out calling the
> Java String constructor
> three times to create a Java String object for the
> three input parameters to
> the xml2Fixed method.
> Also, the xml2Fixed method returned a Java String
> object, which I then had
> to call the Static GetBytes method to create
> The RPG string variables.  By passing and returning
> the RPG strings as byte
> arrays, I saved four entries into Java.  Also, the
> four extra Java objects
> being created were not being garbage collected.  The
> byte arrays are not
> garbage collected just fine.  This works very well. 
> Also, notice the Java
> constructor method must be call first to
> instantiated the Java object of the
> type of the Java class.  That object then is passed
> as the initial parameter
> of each method call.  Remember in Java, you would
> reference the Java method
> as object.methodname.
> 
> These programs are run in batch and do not exit
> until the job is ended.  The
> first entry into Java loads the Java Virtual Machine
> which takes a little
> time.  As long as the RPG program does not exit
> (with LR on), the JVM should
> stay loaded, along with the called Java object.
> 
> Good luck,
> Bill
> -----Original Message-----
> From: Ashish Kulkarni
> [mailto:kulkarni_ash1312@xxxxxxxxx] 
> Sent: Monday, January 19, 2004 11:47 AM
> To: Java Programming on and around the iSeries /
> AS400
> Subject: RE: Error while calling java from RPG Java
> exception
> "java.lang.UnknownError:"
> 
> 
> Hi
> The problem is i cannot ask the end users to signoff
> and signon 
> here is my RPG code, what wrong may i be doing
> H thread(*serialize) 
> /define OS400_JVM_12   
> /Copy JNI              
> /Copy Prototype        
> d env             s               * 
> D crtPgm          pr              o   extproc(*java:
>  
>                   
> d                                    
> 'com.pfizer.maps.data.PORPGToJava' 
> d                                     :*Constructor
> ) 
>                   
> d dateFormat                      o  
>                                      
> class(*java:'java.lang.String')    
> d                                     const         
>  
>                   
> // i call a CL program to set env variable
>  c                   eval      env =
> getJniEnv('-Djava.version=1.4;')    
>  c                   callp    
> beginObjGroup(env:1000)
>                   
> C                   eval      
> dateFormat=crtString(Datfmt)
> //it fails on this line....
> C                   eval      
> popgm=crtPgm(@dateFormat)  
> // othe logic to call methods
> c                   callp      endObjGroup (env) 
> C                   EVAL       *INLR = *ON   
>                                             
> C                   RETURN  
> 
> Ashish
>  
> 
> --- "Bartell, Aaron L. (TC)"
> <ALBartell@xxxxxxxxxxxxxx> wrote:
> > Did you exit out of the program prematurely while
> in
> > debug or something of
> > that nature?  If so then a clearing of your
> > environment is a must to make
> > sure everything is in order, and the easiest and
> > safest way to do so is to
> > sign-off and back on again.  You could try and
> > reclaim the activation group,
> > but I don't know if that will take care of the
> Java
> > cleanup and references.
> > . .
> > 
> > HTH,
> > Aaron Bartell
> > 
> > -----Original Message-----
> > From: java400-l-bounces@xxxxxxxxxxxx
> > [mailto:java400-l-bounces@xxxxxxxxxxxx]On Behalf
> Of
> > Ashish Kulkarni
> > Sent: Monday, January 19, 2004 11:21 AM
> > To: Java Programming on and around the iSeries /
> > AS400
> > Subject: Re: Error while calling java from RPG
> Java
> > exception
> > "java.lang.UnknownError:"
> > 
> > 
> > Hi
> > Also in my job log i see error message
> > Tried to refer to all or part of an object that no
> > longer exists
> > 
> > What should i do
> > 
> > Ashish
> > --- Ashish Kulkarni <kulkarni_ash1312@xxxxxxxxx>
> > wrote:
> > > Hi
> > > I am using V5R2 and JDK1.4.1
> > > and calling Java from RPG, and having a weird
> > > problem
> > > Every thing works when i call this RPG program
> > first
> > > time, but when i call the RPG program second
> time
> > i
> > > get
> > > error saying
> > > 
> > > Message ID . . . . . . :   RNQ0301      
> Severity
> > .
> > > .
> > > . . . . . :   99         
> > >  Message type . . . . . :   Inquiry             
>  
> >  
> > >  
> > >                          
> > >  Date sent  . . . . . . :   01/19/04      Time
> > sent 
> > > .
> > > . . . . . :   10:54:23   
> > >                                                 
>  
> >  
> > >  
> > >                          
> > >  Message . . . . :   Java exception received
> when
> > > calling Java method (C G D    
> > >    F).                                          
>  
> >  
> > >  
> > >                          
> > >  Cause . . . . . :   RPG procedure PU610B01 in
> > > program
> > > CXSXA/PU610B received    
> > >    Java exception "java.lang.UnknownError:" when
> > > calling method "<init>" with   
> > >    signature "(Ljava.lang.String;)V" in class   
>  
> >  
> > >  
> > >                          
> > >    "com.pfizer.maps.data.PORPGToJava".          
>  
> >  
> > >  
> > >                          
> > >  Recovery  . . . :   Contact the person
> > responsible
> > > for program maintenance to  
> > >    determine the cause of the problem.          
>  
> >  
> > >  
> > >                          
> > >  Possible choices for replying to message . . .
> .
> > .
> > > .
> > > . . . . . . . . . :       
> > >    D -- Obtain RPG formatted dump.              
>  
> >  
> > >  
> > >                          
> > >    S -- Obtain system dump.                     
>  
> >  
> > >  
> > >                          
> > >    G -- Continue processing at *GETIN.          
>  
> >  
> > >  
> > >      
> > > 
> > > __________________________________
> > > Do you Yahoo!?
> > > Yahoo! Hotjobs: Enter the "Signing Bonus"
> > > Sweepstakes
> > >
> http://hotjobs.sweepstakes.yahoo.com/signingbonus
> > > _______________________________________________
> > > This is the Java Programming on and around the
> > > iSeries / AS400 (JAVA400-L) mailing list
> > > To post a message email: JAVA400-L@xxxxxxxxxxxx
> > > To subscribe, unsubscribe, or change list
> options,
> > > visit:
> > >
> >
> http://lists.midrange.com/mailman/listinfo/java400-l
> > > or email: JAVA400-L-request@xxxxxxxxxxxx
> > > Before posting, please take a moment to review
> the
> > > archives
> > > at http://archive.midrange.com/java400-l.
> > > 
> > 
> > 
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Hotjobs: Enter the "Signing Bonus"
> > Sweepstakes
> > http://hotjobs.sweepstakes.yahoo.com/signingbonus
> > _______________________________________________
> > This is the Java Programming on and around the
> > iSeries / AS400 (JAVA400-L)
> > mailing list
> > To post a message email: JAVA400-L@xxxxxxxxxxxx
> > To subscribe, unsubscribe, or change list options,
> > visit:
> >
> http://lists.midrange.com/mailman/listinfo/java400-l
> > or email: JAVA400-L-request@xxxxxxxxxxxx
> > Before posting, please take a moment to review the
> > archives
> > at http://archive.midrange.com/java400-l.
> > _______________________________________________
> > This is the Java Programming on and around the
> > iSeries / AS400 (JAVA400-L) mailing list
> > To post a message email: JAVA400-L@xxxxxxxxxxxx
> > To subscribe, unsubscribe, or change list options,
> > visit:
> >
> http://lists.midrange.com/mailman/listinfo/java400-l
> > or email: JAVA400-L-request@xxxxxxxxxxxx
> > Before posting, please take a moment to review the
> > archives
> > at http://archive.midrange.com/java400-l.
> > 
> 
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Hotjobs: Enter the "Signing Bonus"
> Sweepstakes
> http://hotjobs.sweepstakes.yahoo.com/signingbonus
> 
> 
> 
> 
> _______________________________________________
> This is the Java Programming on and around the
> iSeries / AS400 (JAVA400-L) mailing list
> To post a message email: JAVA400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit:
> http://lists.midrange.com/mailman/listinfo/java400-l
> or email: JAVA400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the
> archives
> at http://archive.midrange.com/java400-l.
> 


__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.