I work with a TP software product that allows me to pass data back and forth from within that software using my custom program (RPGLE). I have my custom RPGLE program that reads files in a main software I work with. My RPGLE program sort of works like an API but it does not set on LR. I am passing data values to my program and retain them as necessary in that program and send values back to the TP software when necessary. I can only pass one field into and 1 field back (if necessary) at a time. (This cannot change.) Internal work fields are cleared at certain points when necessary. A main software program is setup to run several times overnight in a single threaded job queue. Each run extracts different sets of data (the extracts must work this way) into a multimember file. As part of each of those jobs - after the member is created, the data from the newly created file member is sent to the TP software (which will call my interactively) and a new file member is created in a different file.
1. Main software extracts data (based on some parameters) into a file member.
2. That file member's data is sent to the TP's software to create the final file member.
Here is the problem:
When the jobs are sent to the single threaded job queue, the start of a new job is the same second that the previous job ended. We are getting unexpected data (not accurate) in some of the final file members. I check the final files every morning and if I find bad data, I don't have to start with step 2 - I can do step 2 again to call the TP software. I am not changing anything - just starting with step 2 to recreate the final file member. This new file is correct and doesn't have the bad data.
Any idea what is happening? I have put dump statements in the program to see where it could be getting the data from, but nothing appears to be in the logic. I clearly see all fields getting cleared when job 2 starts, but at some point it picked up data from my main software's external data. The keys at no time reference the records where it is getting the data from.