This is a multipart message in MIME format. -- [ Picked text/plain from multipart/alternative ] Bob. Thanks for your involvment, but my problem was that I didn't have the right name in PROGRAM-ID in the COBOL-program. I had exactly the same situation that you describe, a RPG-program calling a COBOL-program (with lots of files to open and close) thousands of times per hour. Converting the programs(still with RPG on top) to ILE did the trick. From running in hours, the job now completes in a few minutes. Interesting this thing you did, turning the whole job into a COBOL Run Unit by placing a COBOL-program on top. I will remember that one when I need to speed up 'mixed-program' jobs in OPE-environments. Mvh. Geir Bob Larkin <firstname.lastname@example.org> Sent by: email@example.com 12.09.01 07:48 Please respond to cobol400-l To: COBOL400-L@midrange.com cc: Subject: Re: Calling CBLLE-procedures from a RPGLE-pgm? Is the COBOL program called many times? the reason I ask, is a performance problem I was with OPB where RPG called several COBOL programs repeatedly (thousands of times per hour). Performance was terrible, because of COBOL environment ending after each call. I placed a COBOL program at the top of the program stack, then used it to simply call what was the first RPG program in the stack. Tis resulted in the job running in 17 minutes, instead of 11 HOURS. I do not think this is a problem with a bound ILE program, but maybe someone else knows. firstname.lastname@example.org wrote: > > > > > > Hello. > I send this once again, because I haven't solved it yet and I badly > need a solution to this. > This question should have been under the RPG-section, but I bet you > good guys know the answer, and I'm not connected to the RPG-mailing > list.: > > In an old RPGpgm, RPG1, I called a COBOLpgm, CBL1 with a PLIST PLIS1 > containing PARAM1, PARAM2 and PARAM3. The Call was like this: > CALL 'CBL1' PLIS1(Standard OPM RPG, the parameters are bringing data > into CBL1 and are receiving data back from CBL1). PARAM1 - PARAM3 > contains 30 -50 data elements each, and I dont want to reprogram it. > > RPG1 is converted into RPGLE1, and CBL1 is converted into CBLLE1, and > I intend to bind those modules together into one ILEpgm, RPGLE1. I > now need a static call instead of the old dynamic CALL in RPGLE1 > because I want to speed up the process. > > If I try CALLB, and then create modules, and try the 'CRTPGM'-command > reffering to modules RPGLE1 and CBLLE1, I just get the message > "Definition not found for symbol 'CBLLE1 in *MODULE object RPGLE1'" . > From that I understand that CALLB can only be used for calling > procedures inside the main RPGLE-code,( or other RPG-procedures??), so > I have to use 'CALLP' instead. But, having read the manuals, I can't > see how I can use my old parameter definitions to bring data into the > called program, and, this is crucial, to bring data back to the > calling program. > > Has anyone of you ever called an ILE-COBOL program from an ILE-RPG > program bringing data into the called program, and receiving data back > into the calling program? > > Mvh. > > Geir > _______________________________________________ This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing list To post a message email: COBOL400-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/cobol400-l or email: COBOL400-Lemail@example.com Before posting, please take a moment to review the archives at http://archive.midrange.com/cobol400-l.
As an Amazon Associate we earn from qualifying purchases.
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.