|
Venu, Declare the numeric parameters as *DEC (15 5). In an interactive job, OS/400 passes a pointer to the calling program's PASA, rather than passing the actual value of the variable. In this case, it is not mandatory to define the numeric parameter as 15,5. But the CALL command works differently with the SBMJOB command. In this case the variables are translated into literals when the job is submitted and when you pass a decimal literal as a parameter, the input variable must be declared as *DEC (15 5). Good Luck, Mani -----Original Message----- From: VENU YAMAJALA [mailto:venu_yamajala@goodyear.com] Sent: Tuesday, August 04, 1998 1:08 PM To: MIDRANGE-L@midrange.com Subject: Batch Vs Interactive Hi All, I am facing a peculiar problem. I have a CL pgm that submits another CL in batch. The CL2 then calls an RPGLE program. In my CL1 pgm, I am calling CL2 in batch by sending some parameters as SBMJOB CMD(Call CL2 Parm(&App &Day &Log)) &App is a character 5 field &Day is 5, 0 packed whose value is 0 &Log is 9,0 packed whose value should be 1. The SBMJOB is calling the CL2 pgm with proper values to all the parameters. The CL2 then is simply calling RPGLE. In RPGLE, I have *INZSR. I defined the fields as exactly same as CL attrbutes. DayFld as 5,0 packed and LogFld as 9,0 packed. But I am getting a Decimal Data Error in *INZSR. When I did a DUMP of the values, I got @@$App CHAR(5) 'VG ' 'E5C7404040'X @@$LOG PACKED(9,0) 000000000. '0000000001'X @@$DaY PACKED(5,0) 00000. '000000'X I can clearly see that the value of @@$LOG is coming to this RPGLE as 0. But I am passing a value of 1. I checked the joblog for the command it logged. It is sending 1 as the value. But when I receive in RPGLE, I am getting it as 0. The problem is not over. The same process, if I am runnig interactively is working perfectly. I am not getting any DDE. Infact in interactive mode, I got the DUMP of values as @@$APP CHAR(5) 'VG ' 'E5C7404040'X @@$LOG PACKED(9,0) 000000001. '000000001F'X @@$DaY PACKED(5,0) 00000. '00000F'X I can clearly see that @@$App is getting correct value as 1. The big difference I found is that in batch call, I am not able to get the sign nibble 'Fx where as in interative mode, I am getting. The same is true for the field @@$Day also. In batch mode the sign bit is wrong for both the numeric values. Due to this I am gettting DDE error that says " 0 08/04/98 15:12:47 QWTCCCNJ QSYS 042B *N *N Message . . . . : Decimal data error. Cause . . . . . : The sign or the digit codes of the packed or the zoned decimal operand is in error. Valid signs are hex A-F, valid digit range is hex 0-9. What is going on here? Can any one explain me this? Any suggestions/help is greatly appreciated. Thanx in advance for the help/suggestions. Rgds Venu +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.