Skip to main content

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.

 


#JVMCOBOL

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.

 


#JVMCOBOL
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(..)

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.

 


#JVMCOBOL
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);}