 




<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Open list of Objects using QGYOLOBJ API</title>
	<atom:link href="http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/feed/" rel="self" type="application/rss+xml" />
	<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/</link>
	<description></description>
	<lastBuildDate>Sun, 19 May 2013 03:14:28 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/#comment-98860</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Thu, 10 Nov 2011 02:22:07 +0000</pubDate>
		<guid isPermaLink="false">#comment-98860</guid>
		<description><![CDATA[&lt;i&gt;This job QGYSERVER will be end at the final of the execution ?&lt;/i&gt;

As far as I know, that job will run until you close the list or until the job that requested the list ends. It may take time for it to end if your job ends and hasn&#039;t closed the list.

Ending your program shouldn&#039;t affect the QGYSERVER job if the job that called your program is still running. Other programs in the job might use the list after your program finishes, so the list server job won&#039;t go away.

Are you submitting your program to batch? If you are, the QGYSERVER job should end fairly soon, though it might continue until it finishes building the entire list.

If you look at the QGYSERVER job on the WRKACTJOB display, what shows in the &#039;Function&#039; column?

You tagged the question with V5R4, and I&#039;ve seen QGYSERVER get hung in V5R4. It was always after ending a job without closing the list. I had to use ENDJOBABN to end the QGYSERVER job. I don&#039;t know if that&#039;s related though nor do I know if it specific to V5R4. The only times that I know of when the list wasn&#039;t closed was during test runs.

Tom]]></description>
		<content:encoded><![CDATA[<p><i>This job QGYSERVER will be end at the final of the execution ?</i></p>
<p>As far as I know, that job will run until you close the list or until the job that requested the list ends. It may take time for it to end if your job ends and hasn&#8217;t closed the list.</p>
<p>Ending your program shouldn&#8217;t affect the QGYSERVER job if the job that called your program is still running. Other programs in the job might use the list after your program finishes, so the list server job won&#8217;t go away.</p>
<p>Are you submitting your program to batch? If you are, the QGYSERVER job should end fairly soon, though it might continue until it finishes building the entire list.</p>
<p>If you look at the QGYSERVER job on the WRKACTJOB display, what shows in the &#8216;Function&#8217; column?</p>
<p>You tagged the question with V5R4, and I&#8217;ve seen QGYSERVER get hung in V5R4. It was always after ending a job without closing the list. I had to use ENDJOBABN to end the QGYSERVER job. I don&#8217;t know if that&#8217;s related though nor do I know if it specific to V5R4. The only times that I know of when the list wasn&#8217;t closed was during test runs.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/#comment-98859</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Thu, 10 Nov 2011 01:34:18 +0000</pubDate>
		<guid isPermaLink="false">#comment-98859</guid>
		<description><![CDATA[You have szRec back up in main. But I see TAM used instead down in getNextElements(). Does TAM use szRec? Same question for numToRet and RECORSREQ. Assuming those are macros, the code could be useful to see.

Tom]]></description>
		<content:encoded><![CDATA[<p>You have szRec back up in main. But I see TAM used instead down in getNextElements(). Does TAM use szRec? Same question for numToRet and RECORSREQ. Assuming those are macros, the code could be useful to see.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gracep</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/#comment-98857</link>
		<dc:creator>gracep</dc:creator>
		<pubDate>Thu, 10 Nov 2011 00:13:19 +0000</pubDate>
		<guid isPermaLink="false">#comment-98857</guid>
		<description><![CDATA[it is very simple 
&lt;pre&gt;
char *  getNextElements (char * handler , Qgy_Gtle_ListInfo_t * getListInfo,
 int next , char * receiver , errorCode_t * errorCode )
{


    QGYGTLE(receiver, TAM , handler, getListInfo, RECORSREQ,
            next, errorCode);

    if (errorCode ... 
        return 0 ;
    }

    return receiver ;
&lt;/pre&gt;

}

This job QGYSERVER will be end at the final of the execution ? because still remains]]></description>
		<content:encoded><![CDATA[<p>it is very simple </p>
<pre>
char *  getNextElements (char * handler , Qgy_Gtle_ListInfo_t * getListInfo,
 int next , char * receiver , errorCode_t * errorCode )
{


    QGYGTLE(receiver, TAM , handler, getListInfo, RECORSREQ,
            next, errorCode);

    if (errorCode ... 
        return 0 ;
    }

    return receiver ;
</pre>
<p>}</p>
<p>This job QGYSERVER will be end at the final of the execution ? because still remains</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/#comment-98854</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Wed, 09 Nov 2011 22:42:54 +0000</pubDate>
		<guid isPermaLink="false">#comment-98854</guid>
		<description><![CDATA[&lt;i&gt;only close the list if...&lt;/i&gt;

...or when you&#039;re finished with it and don&#039;t want any more entries from it.

Can you show how getNextElements() calls QGYGTLE?

Tom]]></description>
		<content:encoded><![CDATA[<p><i>only close the list if&#8230;</i></p>
<p>&#8230;or when you&#8217;re finished with it and don&#8217;t want any more entries from it.</p>
<p>Can you show how getNextElements() calls QGYGTLE?</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gracep</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/#comment-98851</link>
		<dc:creator>gracep</dc:creator>
		<pubDate>Wed, 09 Nov 2011 21:47:24 +0000</pubDate>
		<guid isPermaLink="false">#comment-98851</guid>
		<description><![CDATA[yes , only close the list if the listInfo.List_Status = 2 or the total of records returned is equals to getListInfo.Total_Records]]></description>
		<content:encoded><![CDATA[<p>yes , only close the list if the listInfo.List_Status = 2 or the total of records returned is equals to getListInfo.Total_Records</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/#comment-98849</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Wed, 09 Nov 2011 21:12:46 +0000</pubDate>
		<guid isPermaLink="false">#comment-98849</guid>
		<description><![CDATA[Your getNextElements() proc calls to the QGYGTLE API, and your program calls the QGYCLST API before it ends, right?

Tom]]></description>
		<content:encoded><![CDATA[<p>Your getNextElements() proc calls to the QGYGTLE API, and your program calls the QGYCLST API before it ends, right?</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gracep</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/#comment-98822</link>
		<dc:creator>gracep</dc:creator>
		<pubDate>Wed, 09 Nov 2011 14:16:17 +0000</pubDate>
		<guid isPermaLink="false">#comment-98822</guid>
		<description><![CDATA[Some code from the main loop of the program: 
When I execute the QGYSERVER starts but not ends when the program ends .... ( looks like if it is doing the extra calls , but  lost the connection with the main *PGM )  

&lt;pre&gt;
 do {
	ptr = getNextElements(handler, &amp;getListInfo, recordsRtd, receiver, &amp;errorCode);

	if (getListInfo.Info_Complete == &#039;C&#039; &#124;&#124; getListInfo.Info_Complete == &#039;P&#039;) {
		for (int i = 0; i &lt; getListInfo.Records_Returned; i++) {
			
			strncpy ( qualifObj.objLib , ((Qgy_Olobj_RecVar_t *) ptr)-&gt;Obj_Lib , 10) ;
			strncpy ( qualifObj.objName , ((Qgy_Olobj_RecVar_t *) ptr)-&gt;Obj_Name , 10) ;

			module3.method2(&amp;qualifObj);

			if (strcmp(module3.method1(), &quot;*YES&quot;) == 0) {
				module2.method1(&amp;qualifObj);
			}
			ptr = ptr + getListInfo.Record_Length;                            
		}
	}
	handler = getListInfo.Request_Handle;
	recordsRtd = getListInfo.First_Buffer_Record + getListInfo.Records_Returned;

	printf(&quot; %d + %d - 1 &lt; %d  &amp;&amp;  [%x] n &quot;, getListInfo.First_Buffer_Record, getListInfo.Records_Returned, getListInfo.First_Buffer_Record + getListInfo.Records_Returned - 1, getListInfo.Total_Records, listInfo.List_Status );


} while (getListInfo.First_Buffer_Record + getListInfo.Records_Returned - 1 &lt; getListInfo.Total_Records &amp;&amp; listInfo.List_Status != &#039;2&#039;);
&lt;/pre&gt;

the printf ... :   1 + 70 - 1 &lt; 70  &amp;&amp;  [46]  // this is strange 1 + 70 - 1 &lt; 70 ... but with the single *PGM , which works correctly, it has the same output, nevertheless still do the remain cycles until get all the elements :S]]></description>
		<content:encoded><![CDATA[<p>Some code from the main loop of the program:<br />
When I execute the QGYSERVER starts but not ends when the program ends &#8230;. ( looks like if it is doing the extra calls , but  lost the connection with the main *PGM )  </p>
<pre>
 do {
	ptr = getNextElements(handler, &amp;getListInfo, recordsRtd, receiver, &amp;errorCode);

	if (getListInfo.Info_Complete == 'C' || getListInfo.Info_Complete == 'P') {
		for (int i = 0; i &lt; getListInfo.Records_Returned; i++) {
			
			strncpy ( qualifObj.objLib , ((Qgy_Olobj_RecVar_t *) ptr)-&gt;Obj_Lib , 10) ;
			strncpy ( qualifObj.objName , ((Qgy_Olobj_RecVar_t *) ptr)-&gt;Obj_Name , 10) ;

			module3.method2(&amp;qualifObj);

			if (strcmp(module3.method1(), "*YES") == 0) {
				module2.method1(&amp;qualifObj);
			}
			ptr = ptr + getListInfo.Record_Length;                            
		}
	}
	handler = getListInfo.Request_Handle;
	recordsRtd = getListInfo.First_Buffer_Record + getListInfo.Records_Returned;

	printf(" %d + %d - 1 &lt; %d  &amp;&amp;  [%x] n ", getListInfo.First_Buffer_Record, getListInfo.Records_Returned, getListInfo.First_Buffer_Record + getListInfo.Records_Returned - 1, getListInfo.Total_Records, listInfo.List_Status );


} while (getListInfo.First_Buffer_Record + getListInfo.Records_Returned - 1 &lt; getListInfo.Total_Records &amp;&amp; listInfo.List_Status != '2');
</pre>
<p>the printf &#8230; :   1 + 70 &#8211; 1 &lt; 70  &amp;&amp;  [46]  // this is strange 1 + 70 &#8211; 1 &lt; 70 &#8230; but with the single *PGM , which works correctly, it has the same output, nevertheless still do the remain cycles until get all the elements :S</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/#comment-98799</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Wed, 09 Nov 2011 02:05:21 +0000</pubDate>
		<guid isPermaLink="false">#comment-98799</guid>
		<description><![CDATA[&lt;i&gt;It is possible that this problem ( I only get the first rows ) occurs by calling another modules ?&lt;/i&gt;

Yes, it&#039;s &lt;b&gt;possible&lt;/b&gt;; but I can&#039;t think of a reason it would make a difference. Without seeing the code, there&#039;s no way to know what would be happening.

Assuming everything is coded okay, calling a procedure in a different *MODULE in the same program shouldn&#039;t make a difference for an &#039;Open List...&#039;.

Tom]]></description>
		<content:encoded><![CDATA[<p><i>It is possible that this problem ( I only get the first rows ) occurs by calling another modules ?</i></p>
<p>Yes, it&#8217;s <b>possible</b>; but I can&#8217;t think of a reason it would make a difference. Without seeing the code, there&#8217;s no way to know what would be happening.</p>
<p>Assuming everything is coded okay, calling a procedure in a different *MODULE in the same program shouldn&#8217;t make a difference for an &#8216;Open List&#8230;&#8217;.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gracep</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/#comment-98787</link>
		<dc:creator>gracep</dc:creator>
		<pubDate>Tue, 08 Nov 2011 23:26:41 +0000</pubDate>
		<guid isPermaLink="false">#comment-98787</guid>
		<description><![CDATA[A problem appear ... and seems as is because I&#039;m using *MODULE for different parts of the program, there is not problem when is just an single *PGM because I guess is a single Job , but  when I call another modules before to call the next entries ... the program ends ... but in background the wrkactjob show me that I&#039;m using a lot of resources , It is possible that this problem ( I  only get the first rows ) occurs by calling another modules ?]]></description>
		<content:encoded><![CDATA[<p>A problem appear &#8230; and seems as is because I&#8217;m using *MODULE for different parts of the program, there is not problem when is just an single *PGM because I guess is a single Job , but  when I call another modules before to call the next entries &#8230; the program ends &#8230; but in background the wrkactjob show me that I&#8217;m using a lot of resources , It is possible that this problem ( I  only get the first rows ) occurs by calling another modules ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/open-list-of-objects-using-qgyolobj-api/#comment-98654</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Sat, 05 Nov 2011 00:04:19 +0000</pubDate>
		<guid isPermaLink="false">#comment-98654</guid>
		<description><![CDATA[&lt;i&gt;Total Records [1077952576]&lt;/i&gt;

As you might know, that number is the binary value of a 4-byte sequence of blanks, x&#039;40404040&#039;. It would likely indicate that nothing was returned and that the errorCode values probably ought to be checked. Of course, that&#039;s a reverse of the way things should be...

Check errorCode first, then...

But you&#039;re getting it working. Post back if more problems appear.

Tom]]></description>
		<content:encoded><![CDATA[<p><i>Total Records [1077952576]</i></p>
<p>As you might know, that number is the binary value of a 4-byte sequence of blanks, x&#8217;40404040&#8242;. It would likely indicate that nothing was returned and that the errorCode values probably ought to be checked. Of course, that&#8217;s a reverse of the way things should be&#8230;</p>
<p>Check errorCode first, then&#8230;</p>
<p>But you&#8217;re getting it working. Post back if more problems appear.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Database Caching 3/10 queries in 0.031 seconds using memcached
Object Caching 393/399 objects using memcached

Served from: itknowledgeexchange.techtarget.com @ 2013-05-19 15:47:17 -->