Submitted by Niklas Håkansson on Fri, 08/31/2012 - 00:00
Forums

Hi,
 
I have an IceBreak program that works fine when called from the web but doesn’t fully work when called with CALLICEPGM from within CL-program. The program still works but some features is suffering.
 
The variables fetched like this works fine:

mailcopy          = QryStr('mailcopy');
excelname         = QryStr('excelname');   

But the variables fetched like this: 

     // Gå igenom GET-arrayn
     GetQryStrList (field: value : '*FIRST');

     dow (field > '');      

       // Leta efter fält utöver de som redan är satta
       if (field <> 'body' AND field <> 'subject'
       AND field <> 'mailto' AND field <> 'mailfrom'
       AND field <> 'mailcopy' AND field <> 'excelname'
       AND field <> 'as400file');

         // Förbered värdet
         convertionText = value;
         exsr translate;
         value       = UrlEncode(convertionText);

         // Förbered fälsnamnet
         field = 'h_' + field;

         // Lägg till i variabel
         fieldnames = fieldnames + '&' + field + '=' + value;

       endif;
      GetQryStrList (Field: value : '*NEXT');
     Enddo; 

Doesn’t seem to get set. Should this not work the same as when called from the web as when called by CALLICEPGM?
 
Also, I was wondering what the max length of parameters is when called from within a CL-program using CALLICEPGM?
 
Best Regards,
Niklas

Niels Liisberg

Fri, 08/31/2012 - 00:00

Hey Niklas;

First: The "getQryStrList" and "getFormStrList" work just fine from CALLICEPGM – We have just made a test here and can confirm that it works fine. However, you should notice that the parameter is passed from parameter / values in the PARM in the command and not from the program name PGM parameter: so to pass parameter A and B to program MYPGM looks like: 

   CALLICEPGM PGM(MYPGM.ASPX) SRVID(MYSRV) PARM((A 'value for a') (B 'value for B')) RSPTYPE(*STMF)
RSPSTMF('/www/out.html')

And not like the following, if that is what you expect. - This will now work:

   CALLICEPGM PGM('MYPGM.ASPX?A=value%20for%20a&B=value%20for%20b') SRVID(MYSRV) RSPTYPE(*STMF) 
RSPSTMF('/www/out.html')

Btw, the maximum total size of parameter can not exceed 64K in the current version BULD0377. If you need more space or the second example to work, then please let us know and we can put it in our "TO DO"-list.

Best regards,
Niels Liisberg