<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Gencentral</title>
	<link>http://gentalk.biz/gencentral/rss2.php</link>
	<description>News from the CA Gen world</description>
	<language>en</language>
	<lastBuildDate>Sat, 19 May 2012 08:22:00 GMT</lastBuildDate>

		<item>
		<title><![CDATA[KSPs updated 9th May 2012]]></title>
		<link>http://www.iet.co.uk/Download/Misc/ksp.htm</link>
		<guid>http://www.iet.co.uk/Download/Misc/ksp.htm</guid>
		<pubDate>Wed, 09 May 2012 04:00:00 -0600</pubDate>
		<description><![CDATA[
Known Software Problems last updated 9th May 2012
		]]></description>
		</item>

		<item>
		<title><![CDATA[Use of IN clause]]></title>
		<link>http://ietgen.blogspot.com/2012/03/use-of-in-clause.html</link>
		<guid>http://ietgen.blogspot.com/2012/03/use-of-in-clause.html</guid>
		<pubDate>Fri, 02 Mar 2012 03:39:00 -0700</pubDate>
		<description><![CDATA[
Gen 8.0 introduces IN and BETWEEN clauses for READ and READ EACH statements. <br /><br />Whilst there may no longer be any performance benefit in converting to this syntax, an IN clause can make a complex READ statement more readable (no pun intended).<br /><br />Consider the example below:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-75HgjlCyLSY/Tx7N1pzSLMI/AAAAAAAAACc/LWRkCHyWmUI/s1600/Image1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="500" src="http://4.bp.blogspot.com/-75HgjlCyLSY/Tx7N1pzSLMI/AAAAAAAAACc/LWRkCHyWmUI/s640/Image1.jpg" uda="true" width="640" /></a></div><br />This can be re-written using IN clauses:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-GGA6zes16P4/T1ChEzLLl_I/AAAAAAAAACk/0-J26Y2BVns/s1600/Image2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="220" src="http://3.bp.blogspot.com/-GGA6zes16P4/T1ChEzLLl_I/AAAAAAAAACk/0-J26Y2BVns/s640/Image2.jpg" uda="true" width="640" /></a></div><br />Even better, the improved READ EACH statement above was automatically converted by using a VerifIEr check that detects READ statements that could use an IN clauses and then invokes the integrated genIE fix to convert the READ statement.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-3269175352128590869?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[Trace Lite]]></title>
		<link>http://ietgen.blogspot.com/2011/11/trace-lite.html</link>
		<guid>http://ietgen.blogspot.com/2011/11/trace-lite.html</guid>
		<pubDate>Fri, 02 Mar 2012 02:18:00 -0700</pubDate>
		<description><![CDATA[
When you can't work out what is going wrong with your code, you can often solve the issue by stepping through the statements using the Diagram Trace Utility (or <a href="http://www.iet.co.uk/xTrace">xTrace</a> on the z/OS platform). However this requires regeneration of the code with the trace option enabled and this takes a bit of time.<br /><br />In many cases, just seeing which statements were (or weren't) executed is enough to locate the cause of the problem. You can now do this if you are using <a href="http://www.iet.co.uk/Products/pathvIEw">pathvIEw</a>, since it has a feature to display the last executed statements.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-AXm58_ne6H8/TsaJ54-UAJI/AAAAAAAAACE/VpX61ST9_ds/s1600/pvlatest.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" hda="true" height="608" src="http://3.bp.blogspot.com/-AXm58_ne6H8/TsaJ54-UAJI/AAAAAAAAACE/VpX61ST9_ds/s640/pvlatest.jpg" width="640" /></a></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-1848391676516652563?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[Static Code Analysis]]></title>
		<link>http://ietgen.blogspot.com/2012/01/static-code-analysis.html</link>
		<guid>http://ietgen.blogspot.com/2012/01/static-code-analysis.html</guid>
		<pubDate>Fri, 02 Mar 2012 02:18:00 -0700</pubDate>
		<description><![CDATA[
Of the 150 checks currently available in <a href="http://www.iet.co.uk/verifier/" target="_blank">VerifIEr,</a> a good many are aimed at detecting errors in code. If you can find an error in the code prior to code generation, it is much easier and quicker to fix, and fixes an error that might not get detected during testing.<br /><br />Until recently my favourite check was one that detects views that are used but not populated, since this usually indicates an error. <br /><br />My new favourite is our latest check, which looks for ambiguous OR clauses in an expression. For example, the following code is ambiguous: IF x=1 OR x=2 AND y=3 and should be written as IF (x=1 OR x=2) AND y=3.<br /><br />We ran this check on our current code base and a few clauses were highlighted. As an example of how difficult it can be to spot these errors, can anyone see the error in this READ statement? We didn't, but the check did! <br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-75HgjlCyLSY/Tx7N1pzSLMI/AAAAAAAAACc/LWRkCHyWmUI/s1600/Image1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="497" nfa="true" src="http://4.bp.blogspot.com/-75HgjlCyLSY/Tx7N1pzSLMI/AAAAAAAAACc/LWRkCHyWmUI/s640/Image1.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-3082022623663318212?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[CSE and Separate Database Machines]]></title>
		<link>http://ietgen.blogspot.com/2012/02/cse-and-separate-database-machines.html</link>
		<guid>http://ietgen.blogspot.com/2012/02/cse-and-separate-database-machines.html</guid>
		<pubDate>Mon, 20 Feb 2012 08:21:00 -0700</pubDate>
		<description><![CDATA[
Over the years a number of CSE sites have tried to place the CSE database and software&nbsp;on separate physical servers. Technically there is no issue with making this function correctly, but what we have seen is that the additional network traffic required slows down the overall performance and response times of the software considerably, the point where it outweighs the benefits of spreading the CPU load. This is especially noticeable for servers that have huge amounts of memory, where large portions of the database are available in cache, and therefore the network response becomes a larger percentage of the overall transaction since disk i/o is less of a bottleneck.<br /><br />Where customers have utilised this approach, it has been necessary to implement complex and expensive dedicated network pipes between the servers, and frankly is not worth it just to spread the load, where actually a single powerful server is perfectly capable of serving the needs of the entire Gen development team.<br />We therefore strongly recommend that the database and software reside on the same machine.<br /><br /><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-2388236637367293497?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[z/OS Operations Libraries and Dynamic Linking]]></title>
		<link>http://ietgen.blogspot.com/2012/02/zos-operations-libraries-and-dynamic.html</link>
		<guid>http://ietgen.blogspot.com/2012/02/zos-operations-libraries-and-dynamic.html</guid>
		<pubDate>Fri, 17 Feb 2012 04:01:00 -0700</pubDate>
		<description><![CDATA[
Gen r8 introduced a new feature to package action blocks into z/OS Operations Libraries (z/LIB). These are DLLs that contain one or more action blocks and are similar in concept to the operations libraries that have been available in Gen for the Windows and UNIX environments for some time.<br /><br />One difference between Windows/UNIX and z/OS relates to the use of the MVS Dynamic Linking property of an action block (or business system default). To be eligible for packaging into a z/LIB,&nbsp;the action block must be marked as dynamic (not static or compatibility).<br /><br />You should&nbsp;be careful when converting from purely dynamic action blocks to z/LIBs. If you only package the top level action blocks into the z/LIB, the lower level action blocks will be called dynamically from a separate load module if they remain dynamic and are not packaged into the z/LIB.<br /><br />Consider the following example: AB1 calls AB2 and both are marked as dynamic, either as a business system default or explicitly.<br /><br />If you create a z/LIB and only add AB1 into the z/LIB, since AB2 is private to AB1, then the z/LIB will only contain AB1 and AB2 remains an 'old style' dynamic action block with its own load module and the call from AB1 to AB2 is dynamic.<br /><br />If AB2 is private, it should either be changed to static so that it is only statically linked into the z/LIB, or added to the scope of z/LIB so that it is also linked into the z/LIB.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-9074766210636642965?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[New Service Packs]]></title>
		<link>http://www.iet.co.uk/News/SP.htm</link>
		<guid>http://www.iet.co.uk/News/SP.htm</guid>
		<pubDate>Thu, 26 Jan 2012 06:00:00 -0700</pubDate>
		<description><![CDATA[
New Service Packs for 8.1, 8.0 and 7.8
		]]></description>
		</item>

		<item>
		<title><![CDATA[ModelCVSbyAPG: i reactivated my account today..]]></title>
		<link>http://twitter.com/ModelCVSbyAPG/statuses/158816165215477761</link>
		<guid>http://twitter.com/ModelCVSbyAPG/statuses/158816165215477761</guid>
		<pubDate>Mon, 16 Jan 2012 00:41:39 -0700</pubDate>
		<description><![CDATA[
ModelCVSbyAPG: i reactivated my account today..
		]]></description>
		</item>

		<item>
		<title><![CDATA[xTrace 2.5.1]]></title>
		<link>http://www.iet.co.uk/News/xTrace251.htm</link>
		<guid>http://www.iet.co.uk/News/xTrace251.htm</guid>
		<pubDate>Tue, 10 Jan 2012 02:00:00 -0700</pubDate>
		<description><![CDATA[
xTrace 2.5.1 available
		]]></description>
		</item>

		<item>
		<title><![CDATA[Unadopting action blocks]]></title>
		<link>http://ietgen.blogspot.com/2012/01/unadopting-action-blocks.html</link>
		<guid>http://ietgen.blogspot.com/2012/01/unadopting-action-blocks.html</guid>
		<pubDate>Thu, 05 Jan 2012 07:28:00 -0700</pubDate>
		<description><![CDATA[
A customer recently contacted us with an issue related to having two action blocks (in different models) that had the same ancestry but were otherwise different, i.e. different names, logic, source code member name, etc. Because they had the same ancestry, GuardIEn was managing them as the same deliverable, but they needed to be managed separately.<br /><br />The solution was to give the second copy of the action block different ancestry, but how, since there isn't an unadopt function on the CSE.<br /><br />The workaround was as follows:<br /><ol><li>scope a subset containing the ABs that you want to unadopt</li><li>download the subset</li><li>generate a new (temp) model on the CSE from the subset so that the ABs in the new model have new ancestry</li><li>selectively adopt just the business systems in the new model to the old model</li><li>selectively adopt the ABs in the old model to the ABs in the new model so that the ancestry in the old model changes</li><li>delete the new (temp) model</li></ol><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-5424026155427461704?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[Christmas Greetings from IET]]></title>
		<link>http://www.iet.co.uk/News/Xmas.htm</link>
		<guid>http://www.iet.co.uk/News/Xmas.htm</guid>
		<pubDate>Thu, 15 Dec 2011 02:00:00 -0700</pubDate>
		<description><![CDATA[
Christmas Greetings from IET
		]]></description>
		</item>

		<item>
		<title><![CDATA[View Starving or Perfect View Matching?]]></title>
		<link>http://ietgen.blogspot.com/2011/12/view-starving-or-perfect-view-matching.html</link>
		<guid>http://ietgen.blogspot.com/2011/12/view-starving-or-perfect-view-matching.html</guid>
		<pubDate>Wed, 14 Dec 2011 08:03:00 -0700</pubDate>
		<description><![CDATA[
A recent question from a customer was related to view starving and perfect view matching.<br /><br />The technique of view starving involves removing all redundant attributes from views to avoid unnecessary storage allocation and view initialisation logic.<br /><br />The technique of perfect view matching involves ensuring that the view structures in a USE statement are identical so that the program call can be achieved via passing of the actual views.<br /><br />The question related to the problem that if you starve the views, you might not get perfect view matching, and hence should you then allocate a new local view that has perfect view matching and add in extra statements to manually maintain this temporary view to achieve perfect view matching for the USE statement.<br /><br />If you do not have perfect view matching, then Gen needs to generate an intermediate data structure in the calling program to accomplish the parameter passing on the call of the used action block. <br /><br /><br />Data needs to then be passed from the actual views in the calling AB to the intermediate data structure and therefore there is an overhead for a) allocating the storage for the intermediate structures and b) the instructions to move the data.<br /><br />Therefore in this situation, there is little difference between doing this yourself via a local view or getting Gen to automatically generate the extra structures – it amounts to the same thing, at least for one USE statement. Note that the order of the views is also important. Your local view would have to have the same attributes in the same order, and to work this out requires a careful comparison of the two views since the view matching dialog will not indicate if they are ordered differently. <br /><br />It only becomes more efficient to define your own views if you have many USE statements that would make use of your fully populated view, since Gen would generate the data moves for each USE whereas you may only need to move the data once for multiple calls. However this becomes more complicated to understand and maintain. It only needs one attribute to be added, deleted or even moved in sequence for the technique to not accomplish perfect view matching, and then you get a double overhead – your views and the extra generated code. The additional code also complicates the action diagram, often for little benefit.<br /><br />In an on-line transaction with a single USE statement, the overhead is not worth worrying about. You should concentrate on achieving perfect view matching where it will affect performance. This would typically be for large group views and repeated calls to the same action block, for example, in batch jobs where the same action block is called within a loop that is executed many times.<br /><br />With our automated code checking tool <a href="http://www.iet.co.uk/verifier/index.html">VerifIEr</a>, we have a perfect view matching check. This will work out whether you have perfect view matching or not, and can be configured to only check group views and USEs within loops, so that you only have to focus on the important ones. VerifIEr can also check that attributes are used, and hence help with view starving.<br /><br />Where you want to have perfect view matching for performance reasons, I would add in the extra attributes to the ‘proper’ views rather than add in extra views, since there would be no benefit from adding in the extra views. The only time this might be needed is if there are many called ABs with different import views and all sourced from the same view in the caller. However in this situation I would then let Gen handle this situation rather than introduce my own additional views.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-3992468799439433369?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[spotlIET Issue 19]]></title>
		<link>http://www.iet.co.uk/Download/Files/spotlIET%20December%202011.pdf</link>
		<guid>http://www.iet.co.uk/Download/Files/spotlIET%20December%202011.pdf</guid>
		<pubDate>Thu, 01 Dec 2011 08:00:00 -0700</pubDate>
		<description><![CDATA[
spotlIET Issue 19 - December 2011
		]]></description>
		</item>

		<item>
		<title><![CDATA[Moving beyond the 32k CFB limit]]></title>
		<link>http://ietgen.blogspot.com/2011/10/moving-beyond-32k-cfb-limit.html</link>
		<guid>http://ietgen.blogspot.com/2011/10/moving-beyond-32k-cfb-limit.html</guid>
		<pubDate>Tue, 25 Oct 2011 06:38:00 -0600</pubDate>
		<description><![CDATA[
Gen r8 IE2 increases the Common Format Buffer (CFB) limit from 32k to 16M.<br /><br />The increase in the CFB limit is available for C generated applications on Windows and UNIX, but not in this release for z/OS, and hence we will not be able to take advantage of this for our products until z/OS support is available for CICS and IMS COBOL servers. It must be the top ranked enhancement request for CA Gen for the past 20+ years, so it is great to see this finally make it into the product. <br /><br />Previous posts have discussed <a href="http://ietgen.blogspot.com/2009/04/coping-with-32k-view-size-limit.html">strategies for coping with the 32k view size limit</a>, and our <a href="http://ietgen.blogspot.com/2011/07/web-view-experiences-view-sizes.html">experiences with a Web View interface</a> has been that it is a good idea for web applications to fetch and display small pages of data rather than trying to bring back a huge results set into a group view. The 32k limit therefore can be a good thing because it provides a limit on the amount of data returned in a single server call.<br /><br />With the new limit, a developer could massively increase the data returned by a server to ~16M, which might be a good thing if the application did this anyway with repeated server calls, but a bad thing if the user was previously responsible for paging through the data and using filter/selection fields to limit the number of rows displayed, but they can now display thousands of rows without needing to worry about the filters.<br /><br />Thinking about the impact on our own products (which are developed with Gen), there are several servers that would be much simpler with a larger export view size, so once z/OS support is available, we will take advantage of the larger view sizes to simplify the code and improve performance.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-5495164995720141302?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[Gen 8 Interim Enhancement 2]]></title>
		<link>http://ietgen.blogspot.com/2011/10/gen-8-interim-enhancement-2.html</link>
		<guid>http://ietgen.blogspot.com/2011/10/gen-8-interim-enhancement-2.html</guid>
		<pubDate>Tue, 25 Oct 2011 06:31:00 -0600</pubDate>
		<description><![CDATA[
We have just started beta testing Gen r8 Interim Enhancement 2 (IE2). <br /><br />(Interim Enhancement is the new term within CA for Feature Pack).<br /><br />The new features that we are particularly interested in are:<br /><br /><ul><li>Increase in the common format buffer (CFB) limit from 32k to 16M</li><li>64-bit Windows applications</li><li>Customised Java proxies</li></ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-8065151643846804388?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[Visualising Data]]></title>
		<link>http://ietgen.blogspot.com/2011/08/visualising-data.html</link>
		<guid>http://ietgen.blogspot.com/2011/08/visualising-data.html</guid>
		<pubDate>Tue, 30 Aug 2011 09:40:00 -0600</pubDate>
		<description><![CDATA[
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;">With the development of <a href="http://www.iet.co.uk/Products/pathvIEw">pathvIEw</a>, we wanted to provide a graphical display of how complete the testing was for each module. To do this, we developed a new function in <a href="http://www.iet.co.uk/Products/IETeGUI/index.html">IETeGUI</a> to provide a percentage complete indicator to display in a listbox cell, like this: <a href="http://1.bp.blogspot.com/--xTNNiFtu1A/Tlz0Ly3sCHI/AAAAAAAAAB4/uacydsRi4vc/s1600/Image1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/--xTNNiFtu1A/Tlz0Ly3sCHI/AAAAAAAAAB4/uacydsRi4vc/s1600/Image1.gif" xaa="true" /></a></div><br /><br />This got us thinking about other ways of visualising data to make it easy to glance at a table of data and see the most important bits. We therefore created two additional bar chart styles which are illustrated below. The first style is just a single bar and is used to illustrate the number of statements - the longer the bar, the more statements there are. <br /><br />The second style is similar to the first, except that the colour is based on a medium and high threshold. We have used this for the complexity column, with green showing low complexity values, amber for&nbsp;medium complexity and red for high complexity.<br /><br /><br /><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-v-vqu7kCMuQ/Tlz1yQaUR8I/AAAAAAAAACA/MBLjpQFgg4c/s1600/Image3.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-v-vqu7kCMuQ/Tlz1yQaUR8I/AAAAAAAAACA/MBLjpQFgg4c/s1600/Image3.gif" xaa="true" /></a></div><br />The nice part&nbsp;about using IETeGUI is that the above is handled without the need for any additional OCX controls and is displayed in a standard Gen listbox.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-1498532501593427751?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[Cyclomatic Complexity and CA Gen]]></title>
		<link>http://www.iet.co.uk/News/Cyclomatic.htm</link>
		<guid>http://www.iet.co.uk/News/Cyclomatic.htm</guid>
		<pubDate>Fri, 26 Aug 2011 10:00:00 -0600</pubDate>
		<description><![CDATA[
Research by IET on use of Cyclomatic Complexity metrics.
		]]></description>
		</item>

		<item>
		<title><![CDATA[Cyclomatic Complexity and CA Gen]]></title>
		<link>http://ietgen.blogspot.com/2011/08/cyclomatic-complexity-and-ca-gen.html</link>
		<guid>http://ietgen.blogspot.com/2011/08/cyclomatic-complexity-and-ca-gen.html</guid>
		<pubDate>Fri, 26 Aug 2011 08:45:00 -0600</pubDate>
		<description><![CDATA[
As part of the development of pathvIEw, we have introduced a new complexity &nbsp;metric which is calculated for each action block and procedure step.<br /><br />We conducted some research into the usefulness of the metric and this shows some interesting results into the use of complexity counts for predicting error rates in code and hence for its use in prioritising testing efforts.<br /><br />See the research document here: <a href="http://www.iet.co.uk/Download/Files/Cyclomatic%20Complexity%20and%20CA%20Gen.pdf">Cyclomatic Complexity and CA Gen</a>.<br /><br /><br /><br /><br /><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-6487396585223475848?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[Detecting Redundant Code]]></title>
		<link>http://ietgen.blogspot.com/2011/08/detecting-redundant-code.html</link>
		<guid>http://ietgen.blogspot.com/2011/08/detecting-redundant-code.html</guid>
		<pubDate>Thu, 25 Aug 2011 06:36:00 -0600</pubDate>
		<description><![CDATA[
We recently launched <a href="http://www.iet.co.uk/Products/pathvIEw">pathvIEw</a> - a new Code Coverage testing tool for Gen, and since using a product yourself is the best way of gathering ideas for enhancements and improvements (as well as testing it of course), we have been using pathvIEw as part of our testing to ensure that we have covered all of the paths through the logic.<br /><br />When you find that some branch of the code has not been executed during the testing, this could be because your testing has not been thorough, but it could also mean that you cannot get to these statements, i.e. it is code that can never be executed and hence can be removed.<br /><br />Whilst testing some new functions in pathvIEw recently, there was a block of code that had never been executed, and when I looked at the path through the logic to this code, it became apparent that it was never going to be executed, and hence could be removed.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4904519489200243928-3071683359578340153?l=ietgen.blogspot.com' alt='' /></div>
		]]></description>
		</item>

		<item>
		<title><![CDATA[Designing a Process for BPM]]></title>
		<link>http://qatinsights.com/products/agility-bpm/designing-a-process-for-bpm.html</link>
		<guid>http://qatinsights.com/products/agility-bpm/designing-a-process-for-bpm.html</guid>
		<pubDate>Wed, 03 Aug 2011 06:23:53 -0600</pubDate>
		<description><![CDATA[
<p>Once you&#8217;ve selected a pilot project to get you started implementing BPM in your business, it&#8217;s time to design the process.  Watch our short video on the four basic steps to modeling/designing your process to get you started on the right path.</p>
<p>
<video width="600" height="450" controls autoplay="autoplay" poster="http://qatinsights.com/video/BPM.jpg"><br />
    <source src="bpm-designing-a-process.mp4" type="video/mp4" /><br />
    <source src="bpm-designing-a-process.ogv" type='video/ogg; codecs="theora, vorbis"'><br />
        <source src="bpm-designing-a-process.webm" type="video/webm" /><br />
You need to have Internet Explorer 9.0 or Firefox 5.0 or above to view the video. Please upgrade your browser and return to this page or contact us for a PDF copy of the presentation.<br />
  </video></p>
<p>For more information about implementing Agility BPM, please contact Chuck Snyder at 402-391-9200. </p>
<p>New to Agility BPM? Learn more about this powerful solution at <a href="http://www.qat.com/agilitybpm.asp" target="_blank">http://www.qat.com/agilitybpm.asp</a> .</p>

		]]></description>
		</item>
</channel>

</rss>
