AJL

Absent Member.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2018-07-16
13:50
751 views
Hello,
I am calling a cobol program, from a Java servlet.
I can successfully run the cobol program, but if I display a JSP, and then try to invoke the program again, I get the following exception:
com.microfocus.cobol.program.COBOLRuntimeException: 119 Name is not unique
This is how I am invoking the program…
private Boolean STAGE_1 (StateLinkage sl, IRunUnit runUnit, HttpServletRequest req, HttpServletResponse res)
{
boolean successFlag = false;
AMSC535A pgm = new AMSC535A();
Amsc535aParms AMSC535Aparms = new Amsc535aParms();
runUnit.Add(pgm);
int GCSrc = pgm.AMSC535A(AMSC535Aparms);
if ( GCSrc < GCS_WARNING )
{ successFlag = true; }
return successFlag;
}
Could someone advise me on how to fix this please.
1 Solution
Accepted Solutions
spgennard

Micro Focus Expert
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2018-07-17
10:08
If you use the GetInstance method, this allows you get get/or create a program, this avoids adding the program twice.
eg:
Amsc535aParms AMSC535Aparms =(Amsc535aParms)runUnit.GetInstance(Amsc535aParms.class);
and remove the .Add(..)
eg:
Amsc535aParms AMSC535Aparms =(Amsc535aParms)runUnit.GetInstance(Amsc535aParms.class);
and remove the .Add(..)
2 Replies
spgennard

Micro Focus Expert
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2018-07-17
10:08
If you use the GetInstance method, this allows you get get/or create a program, this avoids adding the program twice.
eg:
Amsc535aParms AMSC535Aparms =(Amsc535aParms)runUnit.GetInstance(Amsc535aParms.class);
and remove the .Add(..)
eg:
Amsc535aParms AMSC535Aparms =(Amsc535aParms)runUnit.GetInstance(Amsc535aParms.class);
and remove the .Add(..)
AJL

Absent Member.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2018-07-20
06:40
Thank you spgennard,
that seems to have done the trick.
I have ended up doing the following...
AMSC524A pgm = (AMSC524A)runUnit.GetInstance(AMSC524A.class);
if ( pgm == null)
{ pgm = (AMSC524A)runUnit.GetInstance(AMSC524A.class,true);}
that seems to have done the trick.
I have ended up doing the following...
AMSC524A pgm = (AMSC524A)runUnit.GetInstance(AMSC524A.class);
if ( pgm == null)
{ pgm = (AMSC524A)runUnit.GetInstance(AMSC524A.class,true);}