<?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: How Do I Prevent RPG Low-Order Truncation When Storing Data In A File??</title>
	<atom:link href="http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/feed/" rel="self" type="application/rss+xml" />
	<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/</link>
	<description></description>
	<lastBuildDate>Wed, 19 Jun 2013 01:14:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>By: philpl1jb</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/#comment-77268</link>
		<dc:creator>philpl1jb</dc:creator>
		<pubDate>Wed, 19 May 2010 02:03:09 +0000</pubDate>
		<guid isPermaLink="false">#comment-77268</guid>
		<description><![CDATA[Cool.
but I&#039;m concerned that  TOTQTY should be 4.1 not 3.1
If TOTATT is 25 and all grades were &#039;A&#039; -- 
then TOTQTY (3.1) is 00.0 and GPA is 0.000.  
That is 25 * 4 = 100.0 but in RPG with (3.1) it looses the 1 and is 00.0
This would be very bad....
Phil]]></description>
		<content:encoded><![CDATA[<p>Cool.<br />
but I&#8217;m concerned that  TOTQTY should be 4.1 not 3.1<br />
If TOTATT is 25 and all grades were &#8216;A&#8217; &#8212;<br />
then TOTQTY (3.1) is 00.0 and GPA is 0.000.<br />
That is 25 * 4 = 100.0 but in RPG with (3.1) it looses the 1 and is 00.0<br />
This would be very bad&#8230;.<br />
Phil</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pixieprogrammer</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/#comment-77248</link>
		<dc:creator>pixieprogrammer</dc:creator>
		<pubDate>Tue, 18 May 2010 16:49:02 +0000</pubDate>
		<guid isPermaLink="false">#comment-77248</guid>
		<description><![CDATA[I did get this corrected.  Sorry I haven&#039;t had time to put up the solution.  Phil&#039;s question about overwriting data led me to the problem.  The next field (TOTQTY) in the file was not properly defined in the DDSSRC.  It was 3S 1 instead of 4S1 (after a week staring at this who could blame me for the mistake), so there was an extra leading zero in TOTQTY that overlapped the last byte of GPA.  Also, looking more into some of the suggestions on size, I changed it in the RPGSRC to be 3S 1 as that was all I truly needed size wise.  Recompile, resubmitted and ta-da - the fields were correct, and I heard a chorus of angels singing!!  

Thank you all for the help!!  It got me looking at (and remembering) a lot more stuff which is a good thing considering I am now the only person in our shop with &quot;RPG experience&quot;.  Yikes!!  Have a blessed day!!]]></description>
		<content:encoded><![CDATA[<p>I did get this corrected.  Sorry I haven&#8217;t had time to put up the solution.  Phil&#8217;s question about overwriting data led me to the problem.  The next field (TOTQTY) in the file was not properly defined in the DDSSRC.  It was 3S 1 instead of 4S1 (after a week staring at this who could blame me for the mistake), so there was an extra leading zero in TOTQTY that overlapped the last byte of GPA.  Also, looking more into some of the suggestions on size, I changed it in the RPGSRC to be 3S 1 as that was all I truly needed size wise.  Recompile, resubmitted and ta-da &#8211; the fields were correct, and I heard a chorus of angels singing!!  </p>
<p>Thank you all for the help!!  It got me looking at (and remembering) a lot more stuff which is a good thing considering I am now the only person in our shop with &#8220;RPG experience&#8221;.  Yikes!!  Have a blessed day!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/#comment-77215</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Mon, 17 May 2010 22:07:23 +0000</pubDate>
		<guid isPermaLink="false">#comment-77215</guid>
		<description><![CDATA[&lt;i&gt;This programs F spec is Fixed and the output is defined in O specs..&lt;/i&gt;

Yep. I see how it&#039;s mentioned now.

Of course, manually coding O-specs when an external description is available is one of the most likely causes of this problem. We need to see the O-specs if that&#039;s the case.

Tom]]></description>
		<content:encoded><![CDATA[<p><i>This programs F spec is Fixed and the output is defined in O specs..</i></p>
<p>Yep. I see how it&#8217;s mentioned now.</p>
<p>Of course, manually coding O-specs when an external description is available is one of the most likely causes of this problem. We need to see the O-specs if that&#8217;s the case.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: philpl1jb</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/#comment-76921</link>
		<dc:creator>philpl1jb</dc:creator>
		<pubDate>Fri, 07 May 2010 22:58:46 +0000</pubDate>
		<guid isPermaLink="false">#comment-76921</guid>
		<description><![CDATA[Tom
I think you missed a message.  This programs F spec is  Fixed and the output is defined in O specs..so it doesn&#039;t matter what the fields are called in the file.  The O spec after GPA has it&#039;s ending position wrong so it&#039;s overwriting the last digit of the GPA field.

I&#039;m really, really old but I wasn&#039;t on the 400 when this type of code was written.
Phil]]></description>
		<content:encoded><![CDATA[<p>Tom<br />
I think you missed a message.  This programs F spec is  Fixed and the output is defined in O specs..so it doesn&#8217;t matter what the fields are called in the file.  The O spec after GPA has it&#8217;s ending position wrong so it&#8217;s overwriting the last digit of the GPA field.</p>
<p>I&#8217;m really, really old but I wasn&#8217;t on the 400 when this type of code was written.<br />
Phil</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/#comment-76896</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Fri, 07 May 2010 02:35:30 +0000</pubDate>
		<guid isPermaLink="false">#comment-76896</guid>
		<description><![CDATA[&lt;i&gt;GPA is the name of the field in the RPG source.&lt;/i&gt;

Right. That&#039;s because it only exists in the RPG program. You show how it is (apparently) defined with this statement:&lt;pre&gt;
   TOTQTY DIV  TOTATT    GPA    54&lt;/pre&gt;
However, you are telling us about an error in a different field, the field in the file -- SG2GPA. But we don&#039;t see what happens to GPA before the value is copied to SG2GPA. &lt;b&gt;And &lt;/b&gt;we don&#039;t see how the copy is done -- with Z-ADD, perhaps? (...program-described O-specs??)

I don&#039;t mind too much that a variable is created for calculation and it has a name different from the field in the file. If you&#039;re coding OPM RPG, you don&#039;t have any choice -- the name &lt;i&gt;must&lt;/i&gt; be different or it will be the same field. Personally, I prefer naming work fields uniquely.

I apologize for poor wording for this part. The thought about &quot;good&quot; programming was about the choice of scale and precision rather than the name. The word &quot;good&quot; was the only one I could think of to bring in ideas about how stuff should be done in order to cover all fringe possibilities. I rarely do most of the &quot;good&quot; practices myself. But when a problem appears, it&#039;s the first area that needs to be reviewed.

Tom]]></description>
		<content:encoded><![CDATA[<p><i>GPA is the name of the field in the RPG source.</i></p>
<p>Right. That&#8217;s because it only exists in the RPG program. You show how it is (apparently) defined with this statement:
<pre>
   TOTQTY DIV  TOTATT    GPA    54</pre>
<p>However, you are telling us about an error in a different field, the field in the file &#8212; SG2GPA. But we don&#8217;t see what happens to GPA before the value is copied to SG2GPA. <b>And </b>we don&#8217;t see how the copy is done &#8212; with Z-ADD, perhaps? (&#8230;program-described O-specs??)</p>
<p>I don&#8217;t mind too much that a variable is created for calculation and it has a name different from the field in the file. If you&#8217;re coding OPM RPG, you don&#8217;t have any choice &#8212; the name <i>must</i> be different or it will be the same field. Personally, I prefer naming work fields uniquely.</p>
<p>I apologize for poor wording for this part. The thought about &#8220;good&#8221; programming was about the choice of scale and precision rather than the name. The word &#8220;good&#8221; was the only one I could think of to bring in ideas about how stuff should be done in order to cover all fringe possibilities. I rarely do most of the &#8220;good&#8221; practices myself. But when a problem appears, it&#8217;s the first area that needs to be reviewed.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: philpl1jb</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/#comment-76893</link>
		<dc:creator>philpl1jb</dc:creator>
		<pubDate>Fri, 07 May 2010 01:04:11 +0000</pubDate>
		<guid isPermaLink="false">#comment-76893</guid>
		<description><![CDATA[Right, thanks for the trip in the way-back machine .. the COBOL and all.

The value 67.0 - HEX F6 F7 F0 in a field that is defined in the PF as 4S 1 

Wrong the value is not 67.0 - HEX F6 F7 F0. at least not if it&#039;s 4S1 and that&#039;s probably why you are losing the last digit of the previous field.  The value that you&#039;re putting into your file is 067.0 - HEX F0 F6 F7 F0 it&#039;s that leading zero that you didn&#039;t have room for in the file and writes over the last digit of the data in the previous field.  

Of course, I&#039;ve never maddd a mistake.
Phil]]></description>
		<content:encoded><![CDATA[<p>Right, thanks for the trip in the way-back machine .. the COBOL and all.</p>
<p>The value 67.0 &#8211; HEX F6 F7 F0 in a field that is defined in the PF as 4S 1 </p>
<p>Wrong the value is not 67.0 &#8211; HEX F6 F7 F0. at least not if it&#8217;s 4S1 and that&#8217;s probably why you are losing the last digit of the previous field.  The value that you&#8217;re putting into your file is 067.0 &#8211; HEX F0 F6 F7 F0 it&#8217;s that leading zero that you didn&#8217;t have room for in the file and writes over the last digit of the data in the previous field.  </p>
<p>Of course, I&#8217;ve never maddd a mistake.<br />
Phil</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pixieprogrammer</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/#comment-76880</link>
		<dc:creator>pixieprogrammer</dc:creator>
		<pubDate>Thu, 06 May 2010 16:02:06 +0000</pubDate>
		<guid isPermaLink="false">#comment-76880</guid>
		<description><![CDATA[Tom,

First, GPA is the name of the field in the RPG source.  The other is the name from the DDS source.  I know it is not &quot;good&quot; programming for the names to be inconsistant.  It drives me up the wall frankly, but I didn&#039;t write this nor do I have the &quot;liberty&quot; to rewrite it.  You don&#039;t know how many programs I&#039;ve come across and screamed &quot;this is crap!!&quot;.  I am not supposed to share our code with anyone as our code is copyrighted.  Soooo, now that I&#039;ve let that out, onto solving this mystery.  

GPA size:  RPG rules for division state that &quot;when dividing by a value of 1 or greater, the maximum required positions to the left of the decimal in the result is the number of left-of-decimals in the dividend (the value being divided)&quot;.  So I adjusted the size of GPA because of the division rules, but it too has not helped.  I get a dde (data decimal error) or inaccurate data every time I change the size to something other than 54.  If I go 44, then there is no GPA data on the report and the file has .7222 - HEX F7 F2 F2 F0. If I go 75 or 95, the data on my report is .72222 and the file gets 7.2220 - HEX F7 F2 F2 F2 F0.  I also tried increasing the decimal positions.  It appears to still be low-order truncation.  I went 55 and the report is .72222  and the file gets 7.2220 - HEX F7 F2 F2 F2 F0. 

What you have in your test RPG and PF is basically what I have in mine with the exception that I don&#039;t have the values hardcoded in my RPG, and I leave my GPA type blank in the PF instead of &quot;B&quot;.

Use of the GPA field:  just before I write this value to the secondary file in the O specs, I print this value on a report.  That&#039;s all that happens.  The report shows the value 3.7222, but like I orignally stated, the value written to the secondary file is 3.7220.  

Phil,

Yes, COBOL copy book, but I do not use it in this particular job.  Yes, old code.  F spec is fixed.  No, I am not overlapping data.  The O spec has my GPA ending in pos 652.  The next field should begin in 653, and when I DBU the file, that is exactly where the next field begins.  That field is actually the dividend in the GPA equation.  In this example value 67.0 - HEX F6 F7 F0 in a field that is defined in the PF as 4S 1.]]></description>
		<content:encoded><![CDATA[<p>Tom,</p>
<p>First, GPA is the name of the field in the RPG source.  The other is the name from the DDS source.  I know it is not &#8220;good&#8221; programming for the names to be inconsistant.  It drives me up the wall frankly, but I didn&#8217;t write this nor do I have the &#8220;liberty&#8221; to rewrite it.  You don&#8217;t know how many programs I&#8217;ve come across and screamed &#8220;this is crap!!&#8221;.  I am not supposed to share our code with anyone as our code is copyrighted.  Soooo, now that I&#8217;ve let that out, onto solving this mystery.  </p>
<p>GPA size:  RPG rules for division state that &#8220;when dividing by a value of 1 or greater, the maximum required positions to the left of the decimal in the result is the number of left-of-decimals in the dividend (the value being divided)&#8221;.  So I adjusted the size of GPA because of the division rules, but it too has not helped.  I get a dde (data decimal error) or inaccurate data every time I change the size to something other than 54.  If I go 44, then there is no GPA data on the report and the file has .7222 &#8211; HEX F7 F2 F2 F0. If I go 75 or 95, the data on my report is .72222 and the file gets 7.2220 &#8211; HEX F7 F2 F2 F2 F0.  I also tried increasing the decimal positions.  It appears to still be low-order truncation.  I went 55 and the report is .72222  and the file gets 7.2220 &#8211; HEX F7 F2 F2 F2 F0. </p>
<p>What you have in your test RPG and PF is basically what I have in mine with the exception that I don&#8217;t have the values hardcoded in my RPG, and I leave my GPA type blank in the PF instead of &#8220;B&#8221;.</p>
<p>Use of the GPA field:  just before I write this value to the secondary file in the O specs, I print this value on a report.  That&#8217;s all that happens.  The report shows the value 3.7222, but like I orignally stated, the value written to the secondary file is 3.7220.  </p>
<p>Phil,</p>
<p>Yes, COBOL copy book, but I do not use it in this particular job.  Yes, old code.  F spec is fixed.  No, I am not overlapping data.  The O spec has my GPA ending in pos 652.  The next field should begin in 653, and when I DBU the file, that is exactly where the next field begins.  That field is actually the dividend in the GPA equation.  In this example value 67.0 &#8211; HEX F6 F7 F0 in a field that is defined in the PF as 4S 1.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: philpl1jb</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/#comment-76861</link>
		<dc:creator>philpl1jb</dc:creator>
		<pubDate>Thu, 06 May 2010 02:22:43 +0000</pubDate>
		<guid isPermaLink="false">#comment-76861</guid>
		<description><![CDATA[Ohhh, Cobol copy book!!! 
Old code!!!
Is the f-spec Fixed or External?
Is the next field on the I specs or O spec&#039;s for the file overlapping this field?
Phil]]></description>
		<content:encoded><![CDATA[<p>Ohhh, Cobol copy book!!!<br />
Old code!!!<br />
Is the f-spec Fixed or External?<br />
Is the next field on the I specs or O spec&#8217;s for the file overlapping this field?<br />
Phil</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/#comment-76858</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Wed, 05 May 2010 23:12:48 +0000</pubDate>
		<guid isPermaLink="false">#comment-76858</guid>
		<description><![CDATA[I don&#039;t have an answer. As CharlieBrowne said, it should work. There may still be some inconsistencies or things that need clarification though.

I created two trivial source members -- one for a PF and one for basic RPG/400 calculation and output. The program is:&lt;pre&gt;
     H
     FTSTDIV  O   E                    DISK
     C                     Z-ADD67.0      TOTQTY  41
     C                     Z-ADD18.0      TOTATT  31
     C*
     C           TOTQTY    DIV  TOTATT    GPA     54
      *
     C                     Z-ADDGPA       SG2GPA
      *
     C                     WRITETSTDIVR
      *
     C                     SETON                     LR&lt;/pre&gt;
And the file written by that program is:&lt;pre&gt;
     A          R TSTDIVR                   TEXT(&#039;Test division file&#039;)
     A*
     A            COMPNY         6A
     A            SG2GPA         5S 4B      TEXT(&#039;GPA&#039;)
     A            NAME          35A&lt;/pre&gt;
After running the program, the value in SG2GPA is:&lt;pre&gt;
..1....+
 SG2GPA 
 3.7222 &lt;/pre&gt;
Exactly as expected.

A particular inconsistency is that you have been asking about a field named &quot;GPA&quot;, but you showed output from DSPFFD for a field named &quot;SG2GPA&quot;. That field is ZONED in your file. That isn&#039;t critical, but it sort of slips past a detail of RPG/400 calculations in that calculations are performed with packed-decimal values and conversion is done where needed. Packed and zoned should have no problem, but it&#039;s the kind of detail that is probably involved here.

As it is, with one variable being (4,1) and another being (3,1), the definition of GPA as (5,4) is already a ways outside of what it should be. GPA really should be at least (7,5) and probably even (9,5) to handle the range of potential truncation/rounding inaccuracies that can occur. But that&#039;s simply &#039;good&#039; programming; it&#039;s probably not the core problem in this case.

Anyway, the division works using the values that you supplied; and the output record has the expected value. I used default parameters for the compilations (except for *LSTDBG so I could use STRDBG.)

You should be able to copy/paste both the DDS and RPG source and compile and get the same result that I got.

If you get a different result, you might also be able to think about what happens to the value inside your program to see where it might be going wrong. Without seeing your source, and possibly a compile listing, there are too many possibilities.

Tom]]></description>
		<content:encoded><![CDATA[<p>I don&#8217;t have an answer. As CharlieBrowne said, it should work. There may still be some inconsistencies or things that need clarification though.</p>
<p>I created two trivial source members &#8212; one for a PF and one for basic RPG/400 calculation and output. The program is:
<pre>
     H
     FTSTDIV  O   E                    DISK
     C                     Z-ADD67.0      TOTQTY  41
     C                     Z-ADD18.0      TOTATT  31
     C*
     C           TOTQTY    DIV  TOTATT    GPA     54
      *
     C                     Z-ADDGPA       SG2GPA
      *
     C                     WRITETSTDIVR
      *
     C                     SETON                     LR</pre>
<p>And the file written by that program is:
<pre>
     A          R TSTDIVR                   TEXT('Test division file')
     A*
     A            COMPNY         6A
     A            SG2GPA         5S 4B      TEXT('GPA')
     A            NAME          35A</pre>
<p>After running the program, the value in SG2GPA is:
<pre>
..1....+
 SG2GPA 
 3.7222 </pre>
<p>Exactly as expected.</p>
<p>A particular inconsistency is that you have been asking about a field named &#8220;GPA&#8221;, but you showed output from DSPFFD for a field named &#8220;SG2GPA&#8221;. That field is ZONED in your file. That isn&#8217;t critical, but it sort of slips past a detail of RPG/400 calculations in that calculations are performed with packed-decimal values and conversion is done where needed. Packed and zoned should have no problem, but it&#8217;s the kind of detail that is probably involved here.</p>
<p>As it is, with one variable being (4,1) and another being (3,1), the definition of GPA as (5,4) is already a ways outside of what it should be. GPA really should be at least (7,5) and probably even (9,5) to handle the range of potential truncation/rounding inaccuracies that can occur. But that&#8217;s simply &#8216;good&#8217; programming; it&#8217;s probably not the core problem in this case.</p>
<p>Anyway, the division works using the values that you supplied; and the output record has the expected value. I used default parameters for the compilations (except for *LSTDBG so I could use STRDBG.)</p>
<p>You should be able to copy/paste both the DDS and RPG source and compile and get the same result that I got.</p>
<p>If you get a different result, you might also be able to think about what happens to the value inside your program to see where it might be going wrong. Without seeing your source, and possibly a compile listing, there are too many possibilities.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pixieprogrammer</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/how-do-i-prevent-rpg-low-order-truncation-when-storing-data-in-a-file/#comment-76835</link>
		<dc:creator>pixieprogrammer</dc:creator>
		<pubDate>Wed, 05 May 2010 13:22:08 +0000</pubDate>
		<guid isPermaLink="false">#comment-76835</guid>
		<description><![CDATA[Charlie:

GPA is defined with 4 decimals.  Here is the DSPFFD of TEMFLE:

SG2GPA     ZONED        5  4       5       648        Both     GPA         
  Field text  . . . . . . . . . . . . . . . :  GPA                     

The DDSSRC is defined as 5S 4.  The CPYSRC is defined as 9(01)V9(04), though I do not use the CPYSRC field for any moves.

Tom,

The &quot;X&quot; is an edit code in the output spec.  I know that most places don&#039;t use that edit code anymore, but this is an inherited program that was been brought up to RPG400 standards (not by me).  When I remove the edit code and submit the job again, the data in the result field is the same: low-order truncation.  I tried using other edit codes, but I get all types of garbage.

We are on operating system V5R4M0 with RPG/400.]]></description>
		<content:encoded><![CDATA[<p>Charlie:</p>
<p>GPA is defined with 4 decimals.  Here is the DSPFFD of TEMFLE:</p>
<p>SG2GPA     ZONED        5  4       5       648        Both     GPA<br />
  Field text  . . . . . . . . . . . . . . . :  GPA                     </p>
<p>The DDSSRC is defined as 5S 4.  The CPYSRC is defined as 9(01)V9(04), though I do not use the CPYSRC field for any moves.</p>
<p>Tom,</p>
<p>The &#8220;X&#8221; is an edit code in the output spec.  I know that most places don&#8217;t use that edit code anymore, but this is an inherited program that was been brought up to RPG400 standards (not by me).  When I remove the edit code and submit the job again, the data in the result field is the same: low-order truncation.  I tried using other edit codes, but I get all types of garbage.</p>
<p>We are on operating system V5R4M0 with RPG/400.</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/8 queries in 0.039 seconds using memcached
Object Caching 395/396 objects using memcached

Served from: itknowledgeexchange.techtarget.com @ 2013-06-19 01:33:39 -->