×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Everyone, that was it. For catsplf to work reliably (other than from the terminal), the library list must contain QGPL.

Alan

Alan Seiden wrote:
Jim,

Check that QGPL is in the job's library list. I ran into this very issue
two months ago and this was the reason. QGPL must be in the liblist. In
my case, the job descriptions (working vs. non-working) differed. Even
though QGPL is not needed when calling catsplf from the QSH terminal
(the terminal helps us out), it's needed when calling catsplf in a
"batch" mode such as through XMLSERVICE.

Please try this and let me know. If it doesn't work then I have other ideas.

Alan
--
*Alan Seiden Consulting LLC*
PHP for IBM i expertise and advocacy

Zend PHP Toolkit for IBM i project leader
Zend Framework certified contributor

Office: 201-447-2437 Cell: 201-248-4704
http://www.alanseiden.com | alan@xxxxxxxxxxxxxx

http://twitter.com/alanseiden


Jim Oberholtzer wrote:
Folks: In the following code (PHP), we are attempting to pull in a
spool file into the variable $result so we can format it and put it up
on a web page. If we run the command via the PHP code we get a null in
$result. If we run the command ( signed on as the same user ) from the
command line it works.

QSH CMD('catsplf -j 026555/KATTANASIO/H512D QPJOBLOG 2')

I checked to see if the user profile had *SPLCTL and it does.

Any Idea what might be going on?


function i5_spool_get_data($spoolName, $jobName, $userName, $jobNumber,
$spoolNumber, $fileName = '', $connection = null)
{
if (!$connection = verifyConnection($connection)) {
return false;
}

if (!is_numeric($spoolNumber)) {
// could be *NEXT or other misguided parameter. Use a '1' for
compatibility.
$connection->logThis("Spool file number value '$spoolNumber' is
unsupported. Please supply a number. The value '1' will be used.");
$spoolNumber = 1;
}

$cmdString = "catsplf -j {$jobNumber}/{$userName}/{$jobName}
{$spoolName} {$spoolNumber}";
**********************
call making the trouble below!
************************
//full command will look like "QSH CMD('catsplf -j
{$jobNumber}/{$userName}/{$jobName} {$spoolName} {$spoolNumber}')";
$result = $connection->qshellCommand($cmdString);

// if no error, we expect an array.
if (is_array($result)) {
// consolidate into a string with 0D0A separators
$resultString = trim(implode("\r\n", $result));

// if fileName provided, try to write data to the IFS file
(return true if successful or false).
// otherwise simply return the string.
if ($fileName) {

$bytesWritten = file_put_contents($fileName, $resultString);
if ($bytesWritten) {
// good! Wrote OK
return true;
} else {
// bad! Could not write file. Old toolkit used CPF9898
so let's also use it.
i5CpfError('CPF9898', "Could not write to file
'$fileName'.");
return false;
} //(if bytesWritten)


} else {
// no IFS filename provided. Return string to caller.
return $resultString;
} //(if $fileName)

} else {
// not an array. Probably a "false."
// Report the error.
$errMsg = $connection->getErrorMsg();
if (empty($errMsg)) {
$errMsg = 'Could not read spooled file. Check user
permissions or see error code for details.';
}
i5CpfError($connection->getErrorCode(), $errMsg);
return false;
} //(if is_array)


} //(i5_spool_get_data)


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 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.