From the Java API is not possible to update the field "With NON-JES Output" from NO to YES.

Document ID : KB000087172
Last Modified Date : 14/04/2018
Show Technical Document Details
Issue:
Error Message :
N/A

It is not possible to update the field "With NON-JES Output" from NO to YES.

When changes are made to OS390 Job attributes, the dirty flag is not set on the function 'setCompleteJobLog' which causes the problem.

Investigation

Here is an example that causes the problem:
 
public static void main(String[] args) throws IOException, SQLException{ 

Connection uc4 = Connection.open("svw-de-uc4p01.balgroupit.com",2217); 
CreateSession login = uc4.login(10,user,department,pass,lang); 

OpenObject oObjekt = new OpenObject(new UC4ObjectName("JOBS.OS390.IEFBR14")); 
uc4.sendRequestAndWait(oObjekt); 

Job job = (Job) oObjekt.getUC4Object(); 
((AttributesOS390) job.hostAttributes()).setCompleteJobLog(1); 

SaveObject save = new SaveObject(job); 
uc4.sendRequestAndWait(save); 

CloseObject close = new CloseObject(job); 
uc4.sendRequestAndWait(close); 

Environment:
OS Version: N/A
Cause:
Cause type:
Defect
Root Cause: The "Java API" did not set the dirty flag on the function 'setCompleteJobLog', when changes were made to OS390 job attributes, so the data was not saved in the Automation Engine system.
Resolution:
Update to a fix version listed below or a newer version if available.

Fix Status: Released

Fix Version(s):
Automation Engine 12.1.0 - Available
Automation Engine 12.0.2 - Available
Automation Engine 11.2.5 - Available
Automation Engine 11.1.6 - Available
Additional Information:
Workaround :
Set a different attribute such as the following: 
 
{noformat} 
//error on set -> dirty flag is not set workaround below 
attributes.setCompleteJobLog(1); 

//workaround make attributes dirty 
String jobname = attributes.getJobName(); 
attributes.setJobName(jobname); 
{noformat}