<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Dk8GQH47eSp7ImA9WhRQGU0.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377</id><updated>2011-12-14T18:20:21.001-05:00</updated><category term="Object Oriented COBOL Fundamentals" /><category term="IBM" /><category term="Twitter" /><category term="COBOL Reference Environment" /><category term="COBOL Today Tool Usage" /><category term="&quot;Alex Turner&quot; COBOL Performance" /><category term="COBOL Best Practices Speed Performance Community" /><category term="Cobol.Net ASP.Net Rocket Science" /><category term="Visual Cobol Las Vegas" /><category term="OO COBOL" /><category term="C# COBOL .Net Dialog System" /><category term="FLoat-Long Cobol Java Float-Short Float-Extended" /><category term=".Net" /><category term="COBOL Data Types Decimal PIC Bool String Character .Net COMP PIC" /><category term="Legacy Application" /><category term="COBOL.NET ADO.NET SQL ASP.Net" /><category term="Mobile devices" /><category term="Grace Hopper" /><category term="Cutting IT Cost" /><category term="National Computer Science Education Week" /><category term="COBOL Challenge" /><category term="Emualtion CICS z/OS Mainframe" /><category term="ANSI" /><category term="JCL PROC COBOL CICS Migration Ezasockets" /><category term="Datarow" /><category term="Micro Focus" /><category term="welcome" /><category term="COBOL" /><category term="Visual COBOL APM Application Portfolio Management" /><category term="Class Instantiation COBOL Method Object Orientation" /><category term="Visual COBOL" /><category term="developer" /><category term="COBOL Standards Group ISO" /><category term="Custom User Control Visual COBOL .Net WinForms Progress Control" /><category term="COBOL IDE Visual Studio Eclipse" /><category term="eductation" /><category term="Datacolumn" /><title>It's a COBOL world!</title><subtitle type="html">A discussion about COBOL, where it has been, where it is, where it is going and where it needs to be.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://itsacobolworld.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>46</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/xgFI" /><feedburner:info uri="blogspot/xgfi" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;AkcGR3w6eyp7ImA9WhRQGEQ.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-8985097986432557202</id><published>2011-12-14T15:18:00.002-05:00</published><updated>2011-12-14T16:27:06.213-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-14T16:27:06.213-05:00</app:edited><title>Visual COBOL Now Supports Dialog System Applications</title><content type="html">Once upon a time, Micro Focus introduced a slick little piece of technology known as Dialog System.&amp;nbsp; Its purpose in life was to allow the COBOL developer the ability to build nice looking user interfaces.&amp;nbsp; In its day, there was nothing better.&amp;nbsp; Thousands of applications were built using the tooling and everyone was happy.&lt;br /&gt;
&lt;br /&gt;
Then along comes .NET and what was once "leading edge" soon became somewhat obsolete.&amp;nbsp;&amp;nbsp;But&amp;nbsp;those that build applications using Dialog System were left hanging.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
What do you do with these applications?&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
If you are the application owner, reworking them as WinForms or Web Forms was a manual effort at best.&amp;nbsp;&amp;nbsp;If you are the CIO, having your team completely rewrite these applications just because you wanted a slicker UI was often more work than could be justified.&amp;nbsp; And&amp;nbsp;Micro Focus hasn't had much of an answer for converting these applications either.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
That is up until now...&lt;br /&gt;
&lt;br /&gt;
With the latest release of Visual COBOL R4 Update 2, Micro Focus&amp;nbsp;is providing tooling to allow you to continue to work with your Dialog System applications or begin the process of converting them to something else.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-muI0MNgwOeA/TukB7q_IphI/AAAAAAAAAPI/UwbvL7LQHcg/s1600/Dialog+System+and+Visual+COBOL.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" oda="true" src="http://1.bp.blogspot.com/-muI0MNgwOeA/TukB7q_IphI/AAAAAAAAAPI/UwbvL7LQHcg/s320/Dialog+System+and+Visual+COBOL.png" width="273" /&gt;&lt;/a&gt;&lt;/div&gt;
Yes, its true!&amp;nbsp; You can either keep them "as is" and continue to support them or you can begin to modernize your user interfaces as it makes sense.&amp;nbsp; With this new release, there is no longer a&amp;nbsp;need for an "all or nothing" approach.&amp;nbsp;You can either start taking advantage of .NET elements within the existing Dialog System application interface or you can begin moving completely out of Dialog System.&lt;br /&gt;
&lt;br /&gt;
For instance, you want to introduce WPF into your Dialog System application?&amp;nbsp; Go for it.&amp;nbsp; You want to drop a .NET grid control into you interface?&amp;nbsp; Not a problem.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
So, if your shop has an application written using&amp;nbsp;Micro Focus Dialog System screens, you now have options.&lt;br /&gt;
&lt;br /&gt;
For more information, &lt;a href="http://documentation.microfocus.com/help/index.jsp?topic=%2Fcom.microfocus.eclipse.infocenter.visualcobol.r4u2vc%2FGUID-FA681B33-0F3E-48E2-AC45-8D6C894387D4.html" target="_blank"&gt;check out the online docs here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-8985097986432557202?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MUAO7LnrjBEM1-45UlLS7qIpUws/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MUAO7LnrjBEM1-45UlLS7qIpUws/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MUAO7LnrjBEM1-45UlLS7qIpUws/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MUAO7LnrjBEM1-45UlLS7qIpUws/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/cKp_cmc2Zm0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/8985097986432557202/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/12/visual-cobol-now-supports-dialog-system.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/8985097986432557202?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/8985097986432557202?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/cKp_cmc2Zm0/visual-cobol-now-supports-dialog-system.html" title="Visual COBOL Now Supports Dialog System Applications" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-muI0MNgwOeA/TukB7q_IphI/AAAAAAAAAPI/UwbvL7LQHcg/s72-c/Dialog+System+and+Visual+COBOL.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/12/visual-cobol-now-supports-dialog-system.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYARXgyfip7ImA9WhdQEUw.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-7096587791453716325</id><published>2011-08-11T22:45:00.000-04:00</published><updated>2011-08-11T22:45:44.696-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-11T22:45:44.696-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Object Oriented COBOL Fundamentals" /><title>Object Oriented COBOL Fundamentals</title><content type="html">&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-D5WWmrrTzu8/TkSTkuTzuKI/AAAAAAAAAPE/YHJ8HrDEtdY/s1600/red_apple-560.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" naa="true" src="http://3.bp.blogspot.com/-D5WWmrrTzu8/TkSTkuTzuKI/AAAAAAAAAPE/YHJ8HrDEtdY/s200/red_apple-560.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
Hey folks!&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
Trying to figure out how to transition from procedural COBOL to object oriented COBOL.&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;It's nowhere near as hard as folks make it out to be.&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;&amp;nbsp;&lt;/span&gt;For those new to the site, check out some of the older posts for examples, etc.&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;&amp;nbsp;&lt;/span&gt;Additionally, there are some really good recordings out on the Micro Focus Community site (&lt;a href="http://community.microfocus.com/"&gt;http://community.microfocus.com/&lt;/a&gt;) that cover the basics of writing object oriented COBOL.&lt;br /&gt;
&lt;br /&gt;
Check out &lt;a href="http://tinyurl.com/3czefpm"&gt;http://tinyurl.com/3czefpm&lt;/a&gt;&amp;nbsp;for the first video in the series.&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;&amp;nbsp;&lt;/span&gt;You'll need to register for the site to see the video (don't sweat it...membership is free *smile*)&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;&amp;nbsp;&lt;/span&gt;If you need a copy of Visual COBOL to try some of this out, you can download an eval copy at &lt;a href="http://visualcobol.microfocus.com/"&gt;http://visualcobol.microfocus.com/&lt;/a&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;&amp;nbsp;&lt;/span&gt;Enjoy!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-7096587791453716325?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Rop7yThDXHODF6Z7CUMpe_AycY4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Rop7yThDXHODF6Z7CUMpe_AycY4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Rop7yThDXHODF6Z7CUMpe_AycY4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Rop7yThDXHODF6Z7CUMpe_AycY4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/4mW9gzGV7Jw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/7096587791453716325/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/08/object-oriented-cobol-fundamentals.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7096587791453716325?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7096587791453716325?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/4mW9gzGV7Jw/object-oriented-cobol-fundamentals.html" title="Object Oriented COBOL Fundamentals" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-D5WWmrrTzu8/TkSTkuTzuKI/AAAAAAAAAPE/YHJ8HrDEtdY/s72-c/red_apple-560.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/08/object-oriented-cobol-fundamentals.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MGRXc6fSp7ImA9WhdSEUs.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-7739176124862435812</id><published>2011-07-20T09:43:00.001-04:00</published><updated>2011-07-20T09:43:44.915-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-20T09:43:44.915-04:00</app:edited><title>COBOL Gets Noticed!</title><content type="html">&lt;br /&gt;
&lt;br /&gt;
﻿ &lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KLbm9wq31zE/TibbVTPiscI/AAAAAAAAAPA/wxCOseMKA58/s1600/oscar.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-KLbm9wq31zE/TibbVTPiscI/AAAAAAAAAPA/wxCOseMKA58/s200/oscar.jpg" t$="true" width="165" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&amp;nbsp;Â©A.M.P.A.S.Â®&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
﻿ &lt;a href="http://www.microfocus.com/aboutmicrofocus/pressroom/releases/pr20110713163429.asp"&gt;Micro Focus earns Microsoft Technology Partner of the Year Award for Visual COBOL.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now that is a headline. *smile*&lt;br /&gt;
&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-7739176124862435812?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/V3l2RK_flLcuNVILKU7J5KcsGv8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V3l2RK_flLcuNVILKU7J5KcsGv8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/V3l2RK_flLcuNVILKU7J5KcsGv8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V3l2RK_flLcuNVILKU7J5KcsGv8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/JQQ3EPT9puI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/7739176124862435812/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/07/cobol-gets-noticed.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7739176124862435812?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7739176124862435812?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/JQQ3EPT9puI/cobol-gets-noticed.html" title="COBOL Gets Noticed!" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-KLbm9wq31zE/TibbVTPiscI/AAAAAAAAAPA/wxCOseMKA58/s72-c/oscar.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/07/cobol-gets-noticed.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ADSX0_cCp7ImA9WhZUGEQ.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-291692093898260201</id><published>2011-06-12T11:16:00.000-04:00</published><updated>2011-06-12T11:16:18.348-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-12T11:16:18.348-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="COBOL Challenge" /><title>The COBOL Challenge</title><content type="html">﻿﻿ &lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://rlv.zcache.com/im_gonna_make_you_an_offer_you_cant_refuse_bumper_sticker-p128494521876306138trl0_400.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="200" src="http://rlv.zcache.com/im_gonna_make_you_an_offer_you_cant_refuse_bumper_sticker-p128494521876306138trl0_400.jpg" t8="true" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;(Buy&amp;nbsp;this T-Shirt at Zazzle.com)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;﻿﻿ What if I could show you how to take advantage of the COBOL you have&amp;nbsp;today?&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Regardless of whether you still&amp;nbsp;have COBOL developers or not.&amp;nbsp; I'm talking about me showing you how&amp;nbsp;to&amp;nbsp;&amp;nbsp;take advantage of your COBOL even if you have long since decided to move away from COBOL and have moved on to&amp;nbsp;.Net or Java.&lt;br /&gt;
&lt;br /&gt;
If I give you free software,&amp;nbsp;free training, and&amp;nbsp;free international publicity, would you be interested in finding out if the COBOL&amp;nbsp;still has value for your company? &lt;br /&gt;
&lt;br /&gt;
"Tell us more Robert!", you say with&amp;nbsp;open curiousity. (at least that is how the voices sound in my head)&lt;br /&gt;
&lt;br /&gt;
I'm willing to offer up&amp;nbsp;arranging for you to get temporary licenses of Micro Focus Visual COBOL, some training on the product, and maybe even some help doing the work, if you'll let me tell the world about it.&amp;nbsp; You and your company can remain anonymous if need be, but I want the story...&lt;br /&gt;
&lt;br /&gt;
COBOL&amp;nbsp;is still the right tool for the job and I want to prove it to you.&lt;br /&gt;
&lt;br /&gt;
I'm especially interested in working with someone in Georgia or Florida (where I spend&amp;nbsp;my time nowadays), but will make this&amp;nbsp;open to one and&amp;nbsp;all.&lt;br /&gt;
&lt;br /&gt;
Let's get creative!&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Want to find out&amp;nbsp;if you can&amp;nbsp;mix&amp;nbsp;C#&amp;nbsp;with&amp;nbsp;existing&amp;nbsp;COBOL?&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Want to transform traditional procedural COBOL into a bunch of objects?&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Want to see if you can deploy COBOL to&amp;nbsp;your JVM?&amp;nbsp; Or try to tie your customer portal to your backend COBOL application?&amp;nbsp; I'm game.&lt;br /&gt;
&lt;br /&gt;
If you are interested,&amp;nbsp;send me a note&amp;nbsp;to robert.collins-at-microfocus.com&lt;br /&gt;
&lt;br /&gt;
COBOL is&amp;nbsp;more relevant today than it has ever been.&amp;nbsp; And I can prove it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-291692093898260201?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TuVW3qWT_1uYBcZkPbGAWG-Sb4Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TuVW3qWT_1uYBcZkPbGAWG-Sb4Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TuVW3qWT_1uYBcZkPbGAWG-Sb4Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TuVW3qWT_1uYBcZkPbGAWG-Sb4Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/9Z-dOd2flf8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/291692093898260201/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/06/cobol-challenge.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/291692093898260201?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/291692093898260201?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/9Z-dOd2flf8/cobol-challenge.html" title="The COBOL Challenge" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/06/cobol-challenge.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MFQHc6fSp7ImA9WhZUFUo.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-4249499745615137851</id><published>2011-06-08T19:23:00.000-04:00</published><updated>2011-06-08T19:23:31.915-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-08T19:23:31.915-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="COBOL Today Tool Usage" /><title>Are You Getting the Most Out of Your Tools?</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.cards2clients.com/pages/images/BigWheels_000.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="143" src="http://www.cards2clients.com/pages/images/BigWheels_000.jpg" t8="true" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;I've posted a similar questions in the past.&amp;nbsp; Once I&amp;nbsp;asked&amp;nbsp;my readers "who has learned something new about COBOL recently?".&amp;nbsp; Very few people were able to raise their hand.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
The reality is that most&amp;nbsp;people learn how to do something one way and continue to do it that way from then on.&amp;nbsp;&amp;nbsp;And in many&amp;nbsp;areas of life, this makes sense.&amp;nbsp; No need to reinvent the wheel.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Hence my question in the title:&amp;nbsp; Are you getting the most out of your tools?&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
The tools have advanced, the COBOL language has advanced, but&amp;nbsp;have your developers?&lt;br /&gt;
&lt;br /&gt;
I met with a&amp;nbsp;company today who uses Micro Focus&amp;nbsp;Net Express, the pre-cursor to Visual COBOL.&amp;nbsp; After just a few minutes of conversation, I was able to&amp;nbsp;point out some features&amp;nbsp;in the tools they already own that&amp;nbsp;may save their development team significant time and aggrevation.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I&amp;nbsp;offered to have&amp;nbsp;Jim, my code slinging partner in crime,&amp;nbsp;come by and take a look at what they do and how they are doing it.&amp;nbsp; I did this&amp;nbsp;with the idea&amp;nbsp;that maybe we can show&amp;nbsp;them&amp;nbsp;a thing or two about&amp;nbsp;using&amp;nbsp;Net Express&amp;nbsp;which&amp;nbsp;could make life easier.&lt;br /&gt;
&lt;br /&gt;
It might be worth&amp;nbsp;revisiting what you can do with the COBOL of today.&amp;nbsp; Thanks to tools like Visual COBOL I think you may find some extra money in the bottom of the box the tools came in.&amp;nbsp; I'm just sayin...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-4249499745615137851?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xhpvQlF24E5IbOGldHXxKEGIoq4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xhpvQlF24E5IbOGldHXxKEGIoq4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xhpvQlF24E5IbOGldHXxKEGIoq4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xhpvQlF24E5IbOGldHXxKEGIoq4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/rvz5YUwK2LM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/4249499745615137851/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/06/are-you-getting-most-out-of-your-tools.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/4249499745615137851?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/4249499745615137851?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/rvz5YUwK2LM/are-you-getting-most-out-of-your-tools.html" title="Are You Getting the Most Out of Your Tools?" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/06/are-you-getting-most-out-of-your-tools.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYHRH49fyp7ImA9WhZUFE8.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-7708305864423285681</id><published>2011-06-07T00:15:00.000-04:00</published><updated>2011-06-07T00:15:35.067-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-07T00:15:35.067-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="COBOL Reference Environment" /><title>Why Build a Reference Environment?</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.chequeredflagstables.com.au/Graphics/carsales/car_for_sale_porsche_930_1978_4_speed_manual.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://www.chequeredflagstables.com.au/Graphics/carsales/car_for_sale_porsche_930_1978_4_speed_manual.jpg" t8="true" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;If you are selling cars, it is&amp;nbsp;as simple as "why don't we take her out for a spin?" to show off the car.&amp;nbsp; When talking about&amp;nbsp;changing the way&amp;nbsp;things will work,&amp;nbsp;it's not&amp;nbsp;that simple.&amp;nbsp; Folks don't just want to see a simple demo.&amp;nbsp; Oh, they do expect you to make it look simple, but what you focus on can't be the easy stuff.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
For instance, its simple to demonstrate executing a COBOL program via a CICS transaction.&amp;nbsp; That's core to what&amp;nbsp;our company does.&amp;nbsp; But&amp;nbsp; when a customer wants&amp;nbsp;to see&amp;nbsp;things like "interfacing with a scheduler" and "managing our printers"&amp;nbsp;and "how will&amp;nbsp;operators will manage the platform", you have to have something a bit more robust.&amp;nbsp; Otherwise you end up doing endless proof of concept (POC) projects to move things along.&lt;br /&gt;
&lt;br /&gt;
A&amp;nbsp;reference environment&amp;nbsp; lets&amp;nbsp;you demonstrate how&amp;nbsp;the&amp;nbsp;end result will look&amp;nbsp;without having to say "I'll&amp;nbsp;get back to you" or "there are a number of ways that might work".&amp;nbsp;&amp;nbsp; It allows&amp;nbsp;your customer to focus on the "how do I take advantage of this?" versus "will it work?".&amp;nbsp; Think of it as a pre-fab POC you can use over and over.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Its why&amp;nbsp;I've been&amp;nbsp;building one&amp;nbsp;for the last few months...(&lt;a href="http://www.microfocus.com/aboutmicrofocus/pressroom/releases/pr20110412897961.asp"&gt;read more here&lt;/a&gt;).&amp;nbsp; Keep this in mind when you try to sell the boss on the idea of turning that COBOL application into the next killer app&amp;nbsp;based on&amp;nbsp;web services&amp;nbsp;and the .NET framework.&amp;nbsp; He'll be more inclined to consider it if you have an example.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-7708305864423285681?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XCL7Ef5fj-YX7q5CVuVxqmCqLrM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XCL7Ef5fj-YX7q5CVuVxqmCqLrM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XCL7Ef5fj-YX7q5CVuVxqmCqLrM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XCL7Ef5fj-YX7q5CVuVxqmCqLrM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/0aw0Cb4LsCo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/7708305864423285681/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/06/why-build-reference-environment.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7708305864423285681?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7708305864423285681?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/0aw0Cb4LsCo/why-build-reference-environment.html" title="Why Build a Reference Environment?" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/06/why-build-reference-environment.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIAQX4yfyp7ImA9WhZVF0s.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-7675520114105197121</id><published>2011-05-30T11:15:00.000-04:00</published><updated>2011-05-30T11:15:40.097-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-30T11:15:40.097-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="COBOL" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile devices" /><category scheme="http://www.blogger.com/atom/ns#" term="Cutting IT Cost" /><title>COBOL and the CIO</title><content type="html">Last week I had the opportunity to attend a CIO Forum here in Atlanta.&amp;nbsp; Two topics seemed to be at the top of everyone's list: cutting costs and mobile devices.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
On the cutting costs topic, almost every CIO there had a story to tell about how they were surviving in this economy.&amp;nbsp; They were doing it&amp;nbsp;by reducing their costs&amp;nbsp;so that they could survive on the same or smaller budgets than they had last year and the year before.&amp;nbsp; And they were expected to provide more value to the business than ever before.&amp;nbsp; Do more with less seems to be the mantra of the day.&lt;br /&gt;
&lt;br /&gt;
On the mobility issue, again most of the attendees talked about how they were being pushed to provide accessibility to their corporate systems by their users/business groups for smartphones and notepad-type devices.&amp;nbsp; More and more people are plugging their own hardware into their corporate networks and expecting them to not only work, but be supported and leveraged.&amp;nbsp; As you can imagine, this is causing quite a bit of work for some and creating unique opportunities for others.&lt;br /&gt;
&lt;br /&gt;
I have some good news for them.&lt;br /&gt;
&lt;br /&gt;
Sounds like a job for COBOL! (this is a blog about COBOL after all *smile*).&lt;br /&gt;
&lt;br /&gt;
To help with cutting costs...&amp;nbsp; why not reuse the business logic that has been captured in the COBOL code and repurpose it?&amp;nbsp;&amp;nbsp;Turn those old&amp;nbsp;routines&amp;nbsp;into components/services&amp;nbsp; and redeploy them.&amp;nbsp; Put together a new UI, combining new features with existing processes.&amp;nbsp; It is relatively easy to do using tools like&amp;nbsp;those from&amp;nbsp;Micro Focus (I'm sure the other COBOL tool vendors have comparable&amp;nbsp;solutions too).&amp;nbsp; Either way, reuse the existing code!&amp;nbsp; No need for those costly "green field" development projects.&lt;br /&gt;
&lt;br /&gt;
One of the large insurance customers that is on your side&amp;nbsp;recently did just this.&amp;nbsp; They took an old application that was written in COBOL, cut out the screen section logic, restructured the business logic as methods and classes and intermixed these routines with C# and a new Winform interface.&amp;nbsp; Within a 90 day period, they were able to do more work with a team of 5 or 6 than an entire dev team of 20+ was able to accomplish in 2 years.&amp;nbsp; Reusing existing application source saved them millions.&lt;br /&gt;
&lt;br /&gt;
To help with the challenge presented by all of these new mobile devices, again, use your COBOL assets and provide your users new ways to access the information they need.&amp;nbsp; Let me give you an example of what I'm talking about.&lt;br /&gt;
&lt;br /&gt;
While at the forum, I had the pleasure to speak with a fellow from a university down in Columbus Georgia.&amp;nbsp; He walked me through how they were providing their students smartphone apps which interfaced with their back-end applications (yes they were COBOL).&amp;nbsp; They could access their account details on their phones, their Ipads, on the college computers, etc.&amp;nbsp; For the IT team, it was nothing short of brilliant.&amp;nbsp; For the students, their reaction?&amp;nbsp; *Shrug*&amp;nbsp; They thought this was how it was supposed to work in the first place.&amp;nbsp; Go figure *grin*.&lt;br /&gt;
&lt;br /&gt;
So, my message is this.&amp;nbsp; Companies are starting to figure it out.&amp;nbsp; COBOL is relevant in today's environment.&amp;nbsp; How are you making it relevant in your business?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-7675520114105197121?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/odtBsvPEgwrQQZbEMafpw39LZGM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/odtBsvPEgwrQQZbEMafpw39LZGM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/odtBsvPEgwrQQZbEMafpw39LZGM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/odtBsvPEgwrQQZbEMafpw39LZGM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/Z-GAcO9muFU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/7675520114105197121/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/05/cobol-and-cio.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7675520114105197121?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7675520114105197121?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/Z-GAcO9muFU/cobol-and-cio.html" title="COBOL and the CIO" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/05/cobol-and-cio.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkACSHgzeCp7ImA9WhZVEkU.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-4893341030737928724</id><published>2011-05-24T21:59:00.000-04:00</published><updated>2011-05-24T21:59:29.680-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-24T21:59:29.680-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="COBOL IDE Visual Studio Eclipse" /><title>COBOL Didn't Blink...The Development Environment Did</title><content type="html">﻿﻿﻿ &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.clker.com/cliparts/q/2/y/l/M/d/black-eye-smiley-hi.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://www.clker.com/cliparts/q/2/y/l/M/d/black-eye-smiley-hi.png" t8="true" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;﻿﻿﻿Why&amp;nbsp;does COBOL&amp;nbsp;wear the black eye that&amp;nbsp;it has been proudly wearing since the 70's?&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
It is because the most common development environment&amp;nbsp;people associate with COBOL is the green screen ISPF mainframe editor.&amp;nbsp; Yuck! It is still what many COBOL developers use today. &lt;br /&gt;
&lt;br /&gt;
Micro Focus did make&amp;nbsp;in-roads into many companies&amp;nbsp;during the past 30 years, but the majority of COBOL developers are still stuck on character-based interfaces developing application code.&lt;br /&gt;
&lt;br /&gt;
No one really wants to use those tools.&amp;nbsp; Go figure.&amp;nbsp; Who'd want to pet an ugly dog?&amp;nbsp; Not me. *smile*&lt;br /&gt;
&lt;br /&gt;
I personally believe this is the reason that COBOL fell out of favor with the "up and coming" development world that has evolved during the last couple of decades.&lt;br /&gt;
&lt;br /&gt;
The good news is there are&amp;nbsp;options which allow companies to bring all of that application source forward into the same world&amp;nbsp;C# and Java developers live in.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;COBOL that runs on the mainframe?&amp;nbsp; Duh.&lt;/li&gt;
&lt;li&gt;COBOL and C# in the same application?&amp;nbsp; Sure thing.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;COBOL and Java living together in perfect harmony?&amp;nbsp; Yep.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;COBOL and VB.NET side by side?&amp;nbsp; Why not?&amp;nbsp; &lt;/li&gt;
&lt;li&gt;COBOL as managed source (.NET or JVM)?&amp;nbsp; But of course.&lt;/li&gt;
&lt;li&gt;COBOL in the Cloud (Azure, Amazon, etc)&amp;nbsp;&amp;nbsp;Yes it runs in the Cloud!&lt;/li&gt;
&lt;/ul&gt;(COBOL is the only language that does all of these things.&amp;nbsp; I bet you can't prove me wrong.)&lt;br /&gt;
&lt;br /&gt;
Today you have options.&amp;nbsp;&amp;nbsp;Developers can use a single&amp;nbsp;IDE such as Visual Studio or Eclipse and do what needs to be done.&amp;nbsp; Today's developers are no longer tied to a specific language.&amp;nbsp; They can use what makes sense for the task at hand, mixing a bit of the old and new with no issues.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
It isn't the language that caused the blip in usage, it was the development environment.&lt;br /&gt;
&lt;br /&gt;
Good news is that this has changed with Visual COBOL.&amp;nbsp; I believe COBOL will be the language of the decade for companies looking for flexibility.&amp;nbsp; Hide and watch.&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ccZfZbBoEvc/TdxiEhLG5oI/AAAAAAAAAO8/LbVMzbF4kH4/s1600/39229_458101210711_654465711_6217269_5600637_n.jpg" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-ccZfZbBoEvc/TdxiEhLG5oI/AAAAAAAAAO8/LbVMzbF4kH4/s200/39229_458101210711_654465711_6217269_5600637_n.jpg" t8="true" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;This is why I don't take them to Walmart&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-4893341030737928724?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4dpUjz3nGUm-eLM5TH9omQV5pIw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4dpUjz3nGUm-eLM5TH9omQV5pIw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4dpUjz3nGUm-eLM5TH9omQV5pIw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4dpUjz3nGUm-eLM5TH9omQV5pIw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/oG_v0B5YOvQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/4893341030737928724/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/05/cobol-didnt-blinkthe-development.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/4893341030737928724?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/4893341030737928724?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/oG_v0B5YOvQ/cobol-didnt-blinkthe-development.html" title="COBOL Didn't Blink...The Development Environment Did" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-ccZfZbBoEvc/TdxiEhLG5oI/AAAAAAAAAO8/LbVMzbF4kH4/s72-c/39229_458101210711_654465711_6217269_5600637_n.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/05/cobol-didnt-blinkthe-development.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcNQXc-fCp7ImA9WhZXFk0.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-6520841760678533056</id><published>2011-05-05T09:28:00.000-04:00</published><updated>2011-05-05T09:28:10.954-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-05T09:28:10.954-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="&quot;Alex Turner&quot; COBOL Performance" /><title>More Performance!</title><content type="html">I was just informed that the upcoming webinar on May 11th being hosted by Micro Focus will be focused on COBOL and performance. And that Alex Turner will be doing the session.&lt;br /&gt;
&lt;br /&gt;
Set your VCR's to record!!!! (ok, truthfully... how many of you still have VCR's? Show of hands. Uh huh. That's what I figured. And they still all blink 12:00 a.m. don't they? *grin*).&lt;br /&gt;
&lt;br /&gt;
To sign up for the session, &lt;a href="http://visualcobol.microfocus.com/event/visual-cobol-discovery-series-webinar-3-tech-demo/"&gt;click here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
May 11th is also my mother's birthday. Happy B-day Ma!!!! &lt;br /&gt;
&lt;br /&gt;
I got you a cake!&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://bentti.org/BirthdayCake.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="http://bentti.org/BirthdayCake.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-6520841760678533056?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PU9laKuCu5AKicZ2SJQmIN29IHI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PU9laKuCu5AKicZ2SJQmIN29IHI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PU9laKuCu5AKicZ2SJQmIN29IHI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PU9laKuCu5AKicZ2SJQmIN29IHI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/78O1wzGLrWk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/6520841760678533056/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/05/more-performance.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/6520841760678533056?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/6520841760678533056?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/78O1wzGLrWk/more-performance.html" title="More Performance!" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/05/more-performance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8FR3c4cSp7ImA9WhZSEEs.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-7648170233057024682</id><published>2011-03-25T11:26:00.001-04:00</published><updated>2011-03-25T11:26:56.939-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-25T11:26:56.939-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="COBOL Best Practices Speed Performance Community" /><title>COBOL and Speed:  A perfect combination</title><content type="html">I've been asked a few times in the past if I had any suggestions for "best practices" or "how to write the fastest code possible" when coding COBOL.  And I'm almost always stumped for an answer that is beyond one or two sentences.&lt;br /&gt;
&lt;br /&gt;
Well, I'm now in luck.&lt;br /&gt;
&lt;br /&gt;
One of the developers at Micro Focus has posted an article on the community website (&lt;a href="http://community.microfocus.com"&gt;http://community.microfocus.com&lt;/a&gt;) which covers this very topic.&lt;br /&gt;
&lt;br /&gt;
You can find the article at &lt;a href="http://community.microfocus.com/library/articles/84_Coding_for_speed_size_and_portability"&gt;http://community.microfocus.com/library/articles/84_Coding_for_speed_size_and_portability&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
In his article, you'll find some pretty good tidbits which will have your code screaming along in record fashion in no time.&lt;br /&gt;
&lt;br /&gt;
Which brings a question to mind...&lt;br /&gt;
&lt;br /&gt;
How often do you review your application source to see if you can make it better?  Once in awhile?  Never?  Only when it breaks?&lt;br /&gt;
&lt;br /&gt;
I once had a programmer who worked for me dig into a rather complex piece of long running code (sometimes upwards of 20 hours).  He was able to rewrite the routine and reduce the clock time to less than three minutes on average.  No I didn't write it originally *smile*.  But it goes to show you that you shouldn't overlook doing a review of the source once in awhile to see if there is a better way to do things now that you are older and wiser.&lt;br /&gt;
&lt;br /&gt;
Just a thought!&lt;br /&gt;
&lt;br /&gt;
See ya.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-7648170233057024682?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dCwkwYNrYKk7sdJRGAg1fG2KkDk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dCwkwYNrYKk7sdJRGAg1fG2KkDk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dCwkwYNrYKk7sdJRGAg1fG2KkDk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dCwkwYNrYKk7sdJRGAg1fG2KkDk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/4fndfLEl7X0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/7648170233057024682/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/03/cobol-and-speed-perfect-combination.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7648170233057024682?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7648170233057024682?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/4fndfLEl7X0/cobol-and-speed-perfect-combination.html" title="COBOL and Speed:  A perfect combination" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/03/cobol-and-speed-perfect-combination.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8GSXY6cSp7ImA9WhZTEUk.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-3689908903368061301</id><published>2011-03-14T20:10:00.000-04:00</published><updated>2011-03-14T20:10:28.819-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-14T20:10:28.819-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Micro Focus" /><category scheme="http://www.blogger.com/atom/ns#" term="Datacolumn" /><category scheme="http://www.blogger.com/atom/ns#" term="Datarow" /><category scheme="http://www.blogger.com/atom/ns#" term="Custom User Control Visual COBOL .Net WinForms Progress Control" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual COBOL" /><title>Datagrids, ADO.Net and Cobol</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://tonsoftime.com/images/focus.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" q6="true" src="http://tonsoftime.com/images/focus.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;The last few months have had me focused on an internal project which involves multiple pieces, some of which are Micro Focus products, while others are from partners such as HP,&amp;nbsp;LRS, Syncsort, Microsoft&amp;nbsp;and CA.&lt;br /&gt;
&lt;br /&gt;
And as such, I haven't had much time to dig into using my new favorite tool, Visual COBOL.&amp;nbsp; That's left me sad *smile*.&amp;nbsp; To fix this, I spent part of my weekend writing code.&amp;nbsp; It sure beat raking leaves!&amp;nbsp; (Ummm... I'll get to it next weekend I promise dear).&lt;br /&gt;
&lt;br /&gt;
One of the things I figured out was how to create an ADO.Net datatable, add fields to it, populate it with data, and tie it to a DataGrid.&amp;nbsp; It's pretty easy actually.&lt;br /&gt;
&lt;br /&gt;
First thing you do is define a variable in working storage&amp;nbsp;that can hold the definition of the table.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-eZsujNfaXrI/TX6iYxOylUI/AAAAAAAAAOY/CWqrQz8W4gw/s1600/table+definition.GIF" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="17" q6="true" src="https://lh4.googleusercontent.com/-eZsujNfaXrI/TX6iYxOylUI/AAAAAAAAAOY/CWqrQz8W4gw/s200/table+definition.GIF" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Then in my program I create a new instance of the table and store it in this variable.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-YGrDZgiCvqI/TX6i_mpk3cI/AAAAAAAAAOc/WjXbKmr__tA/s1600/create+new+table.GIF" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" q6="true" src="https://lh5.googleusercontent.com/-YGrDZgiCvqI/TX6i_mpk3cI/AAAAAAAAAOc/WjXbKmr__tA/s1600/create+new+table.GIF" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
And then I added a column to the ADO.Net datatable by first defining a variable in Working Storage&amp;nbsp;that could hold the definition of a column:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://lh5.googleusercontent.com/-zGF4nLRM89w/TX6julnEezI/AAAAAAAAAOg/SFrC4SCNXik/s1600/define+column.GIF" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="15" q6="true" src="https://lh5.googleusercontent.com/-zGF4nLRM89w/TX6julnEezI/AAAAAAAAAOg/SFrC4SCNXik/s200/define+column.GIF" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then doing the add like so:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-PCC3SDmxLVs/TX6kDg3-h7I/AAAAAAAAAOk/EzKlZYyQtXU/s1600/create+new+column.GIF" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" q6="true" src="https://lh3.googleusercontent.com/-PCC3SDmxLVs/TX6kDg3-h7I/AAAAAAAAAOk/EzKlZYyQtXU/s1600/create+new+column.GIF" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
After that, it was just a matter of setting the various&amp;nbsp;properties of the column:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-ga7UtyIzljg/TX6kot0D4vI/AAAAAAAAAOo/80zj0CdNypM/s1600/configuring+the+column.GIF" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="305" q6="true" src="https://lh4.googleusercontent.com/-ga7UtyIzljg/TX6kot0D4vI/AAAAAAAAAOo/80zj0CdNypM/s640/configuring+the+column.GIF" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;And adding it to my datatable.&lt;br /&gt;
&lt;br /&gt;
Once I had the table defined, I linked the datagrid control I had&amp;nbsp;placed on my Winform&amp;nbsp;to it.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-ZExVlqT5FO4/TX6mF1abHmI/AAAAAAAAAOs/BIfpKm1SvE0/s1600/linking+table+to+datagrid.GIF" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" q6="true" src="https://lh5.googleusercontent.com/-ZExVlqT5FO4/TX6mF1abHmI/AAAAAAAAAOs/BIfpKm1SvE0/s1600/linking+table+to+datagrid.GIF" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Now that the data table has been defined, it is just a matter of adding &lt;span style="color: black;"&gt;some&lt;/span&gt; data to it.&amp;nbsp; To do this, I had to first create a new row in the datatable.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://lh4.googleusercontent.com/-agfn1FTTgFg/TX6s8lKLbgI/AAAAAAAAAO4/5QAYTwcyzKI/s1600/define+row.GIF" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="15" q6="true" src="https://lh4.googleusercontent.com/-agfn1FTTgFg/TX6s8lKLbgI/AAAAAAAAAO4/5QAYTwcyzKI/s200/define+row.GIF" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then once that was done, I inserted data into that row&amp;nbsp;matching its definition:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-8r9WAZWF6S0/TX6n2pJ3NmI/AAAAAAAAAOw/f7c051kXiSY/s1600/insert+row+data.GIF" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="52" q6="true" src="https://lh4.googleusercontent.com/-8r9WAZWF6S0/TX6n2pJ3NmI/AAAAAAAAAOw/f7c051kXiSY/s640/insert+row+data.GIF" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;The only tough part was figuring out the syntax of adding a row to the table. In VB.Net, the statement would have been:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white; color: blue; font-family: Verdana, sans-serif;"&gt;Trow = Tbl.NewRow()&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
But as you can see,&amp;nbsp;in Visual COBOL, I had to first set the data type of the field and then add it to the table.&amp;nbsp; What's an extra statement among friends right? *smile*&lt;br /&gt;
&lt;br /&gt;
The last set statement&amp;nbsp;above uses the Now method of System.DateTime and stores it in the column I created.&amp;nbsp; The "ToShortDateString" at the end of it allow me to choose the format of the date string being stored into the column.&amp;nbsp; I could have just as easily accepted the current-date from the system clock and placed it in there.&amp;nbsp; But I thought I would try the .Net method instead. &lt;br /&gt;
&lt;br /&gt;
Fairly simple.&amp;nbsp;&amp;nbsp;Once I figured all this out, it didn't take long to expand on things and create something I could toy around with...&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-_FHZYDOxvK4/TX6pXRZqi0I/AAAAAAAAAO0/IZsXkzbd7iU/s1600/datagrid+results.GIF" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" q6="true" src="https://lh6.googleusercontent.com/-_FHZYDOxvK4/TX6pXRZqi0I/AAAAAAAAAO0/IZsXkzbd7iU/s400/datagrid+results.GIF" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Yes, I know it isn't that impressive, but I now know how to create an ADO.Net data table, populate it and link it to a datagrid.&amp;nbsp; And so do you by the way *wink*.&lt;br /&gt;
&lt;br /&gt;
And I'm betting neither one of us knew&amp;nbsp;how to do it before you read this.&lt;br /&gt;
&lt;br /&gt;
See, I can learn new tricks *smile*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-3689908903368061301?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8TZhtlgMW_HHlV-szoXJs8e3ePI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8TZhtlgMW_HHlV-szoXJs8e3ePI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8TZhtlgMW_HHlV-szoXJs8e3ePI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8TZhtlgMW_HHlV-szoXJs8e3ePI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/5ATMzYu5j24" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/3689908903368061301/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/03/datagrids-adonet-and-cobol.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/3689908903368061301?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/3689908903368061301?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/5ATMzYu5j24/datagrids-adonet-and-cobol.html" title="Datagrids, ADO.Net and Cobol" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-eZsujNfaXrI/TX6iYxOylUI/AAAAAAAAAOY/CWqrQz8W4gw/s72-c/table+definition.GIF" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/03/datagrids-adonet-and-cobol.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEDRHs_eCp7ImA9Wx9VFUU.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-1334403258376560407</id><published>2011-02-01T13:07:00.000-05:00</published><updated>2011-02-01T13:07:55.540-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-01T13:07:55.540-05:00</app:edited><title>It's All About Community</title><content type="html">Micro Focus has recently launched a new community site for those who use the many different tools the company produces.&amp;nbsp; For those that haven't visited as of yet,&amp;nbsp;click on&amp;nbsp;&lt;a href="http://community.microfocus.com/"&gt;community.microfocus.com&lt;/a&gt;&amp;nbsp;and take a look.&amp;nbsp; You'll find forums, blogs and articles&amp;nbsp;dedicated to each product area, not just COBOL.&lt;br /&gt;
&lt;br /&gt;
For instance, there are sections on DevPartner, Silk, and i.Sight (Modernization Workbench) and so on and so forth.&amp;nbsp; Of course the COBOL sections are the best, but then again maybe I'm biased in some way :).&lt;br /&gt;
&lt;br /&gt;
While still in its infancy, I believe it has potential to turn into something rather useful.&amp;nbsp; I would like to encourage you to post on the site and share your ideas/questions, etc.&amp;nbsp; I'm a firm believer that you'll only get something out of it if you put something in to it.&amp;nbsp; Yeah, I said that. *smile*&lt;br /&gt;
&lt;br /&gt;
I've already found a pretty interesting post on the site showing how to do a mail merge using Visual COBOL and Microsoft Word.&amp;nbsp; Pretty slick stuff and something I've often wanted to do myself.&amp;nbsp; I wonder what else someone will post?&amp;nbsp; I'll just have to keep checking back huh? *wink*&lt;br /&gt;
&lt;br /&gt;
Oh well, lunch break is over.&amp;nbsp; Gotta get back to it.&lt;br /&gt;
&lt;br /&gt;
See ya!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-1334403258376560407?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/j4t-1SFdkVk9l2b24ykQLV2mP_M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j4t-1SFdkVk9l2b24ykQLV2mP_M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/j4t-1SFdkVk9l2b24ykQLV2mP_M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j4t-1SFdkVk9l2b24ykQLV2mP_M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/eV-Nahy113E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/1334403258376560407/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2011/02/its-all-about-community.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/1334403258376560407?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/1334403258376560407?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/eV-Nahy113E/its-all-about-community.html" title="It's All About Community" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2011/02/its-all-about-community.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIHQ3w_cSp7ImA9Wx9SE04.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-7755826129949076797</id><published>2010-12-02T18:45:00.000-05:00</published><updated>2010-12-02T18:45:32.249-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-02T18:45:32.249-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Custom User Control Visual COBOL .Net WinForms Progress Control" /><title>How to be Controlling</title><content type="html">During&amp;nbsp;the project I mentioned last posting, the C#&amp;nbsp;expert created several custom controls&amp;nbsp;using COBOL&amp;nbsp;which we used on the&amp;nbsp;various WinForms&amp;nbsp;in the application.&amp;nbsp; I myself have never done anything with user controls and since I haven't seen it written up anywhere else, I thought this would make for a good topic for&amp;nbsp;discussion.&amp;nbsp;&amp;nbsp; How do you create a custom control using COBOL?&lt;br /&gt;
&lt;br /&gt;
Yep.&amp;nbsp; I'm glad you asked *smile*&lt;br /&gt;
&lt;br /&gt;
Instead of starting from scratch, I figured the right approach would be to capitalize on work done by others.&amp;nbsp; And by taking that approach, I found an article at &lt;a href="http://knol.google.com/k/creating-custom-controls-with-c-net#"&gt;http://knol.google.com/k/creating-custom-controls-with-c-net#&lt;/a&gt; which made my job easy.&amp;nbsp; The article spells out how to create a custom progress bar for your application.&amp;nbsp; Seems like something useful huh?&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;Before I get started, let me make it clear that&amp;nbsp;I’m not going to go into all the details on custom controls in this article. You can find more information in much greater detail and deeper understanding than anything I could write (in the referenced article for one).&amp;nbsp; I’m going to spend my time on recreating the same control Dave (the original author) outlined in his post.&amp;nbsp; The difference is that&amp;nbsp;I’ll be using Micro Focus Visual COBOL and Visual Studio 2010. So, print out Dave’s directions and follow along with me while I highlight the differences.&lt;br /&gt;
&lt;span style="color: blue; font-size: large;"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: large;"&gt;Getting Started&lt;/span&gt;&lt;br /&gt;
First I created the same project using the same name, but instead of C#, I selected to create a managed COBOL Windows Forms Application (didn't want to strain too much by thinking too hard too soon of course).&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_v4gr42wd_kk/TPgnklvGjjI/AAAAAAAAANk/B2lZfW5MCXI/s1600/pic1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="440" ox="true" src="http://4.bp.blogspot.com/_v4gr42wd_kk/TPgnklvGjjI/AAAAAAAAANk/B2lZfW5MCXI/s640/pic1.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;Next, just like Dave, I added a new project to the solution and call it “ProgressBar”, making sure to select managed COBOL Class library as the template.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_v4gr42wd_kk/TPgn2m_xcWI/AAAAAAAAANo/DVOrUxREkYQ/s1600/pic1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="440" ox="true" src="http://2.bp.blogspot.com/_v4gr42wd_kk/TPgn2m_xcWI/AAAAAAAAANo/DVOrUxREkYQ/s640/pic1.jpg" width="640" /&gt;&lt;/a&gt;&amp;nbsp;I then&amp;nbsp;added the reference to the new project as directed and was ready to create the control.&amp;nbsp;&amp;nbsp; As with the C# example, Visual COBOL created a shell class program for me to use as a base. And as in the example, I deleted it because I wouldn’t be using it.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_v4gr42wd_kk/TPgoGaeWONI/AAAAAAAAANs/i9leveqNcYk/s1600/pic3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="512" ox="true" src="http://4.bp.blogspot.com/_v4gr42wd_kk/TPgoGaeWONI/AAAAAAAAANs/i9leveqNcYk/s640/pic3.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&amp;nbsp;From the Solution Explorer, I selected the ProgressBar project and right clicked to Add a new item, selected “User Control” from the menu and named it “ProgressControl”.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_v4gr42wd_kk/TPgoZhvFoJI/AAAAAAAAANw/RTFoC0VwCwk/s1600/pic4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="442" ox="true" src="http://1.bp.blogspot.com/_v4gr42wd_kk/TPgoZhvFoJI/AAAAAAAAANw/RTFoC0VwCwk/s640/pic4.jpg" width="640" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;Once the user control was created, I set the properties as Dave had them:&lt;/div&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;BackColor: Window&lt;/li&gt;
&lt;li&gt;BorderStyle: FixedSingle&lt;/li&gt;
&lt;li&gt;Size: 148, 14&lt;/li&gt;
&lt;li&gt;Double-Buffered: True&lt;/li&gt;
&lt;/ul&gt;&lt;span style="color: blue; font-size: large;"&gt;As for the Code&lt;/span&gt;&lt;br /&gt;
Since I used COBOL, you’ll notice the code behind page that was created for the ProgressControl is very similar to the C# version. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_v4gr42wd_kk/TPgouCnymRI/AAAAAAAAAN0/Ej38lQN5pDo/s1600/pic5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="182" ox="true" src="http://2.bp.blogspot.com/_v4gr42wd_kk/TPgouCnymRI/AAAAAAAAAN0/Ej38lQN5pDo/s400/pic5.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Next, I added the code to allow for the choosing of a foreground color for the progress bar&amp;nbsp; and&amp;nbsp;added the “System.Drawing” namespace to the program so that I didn’t have to fully qualify things like “System::Drawing::Color” in my COBOL code. I just want to type “Color” same as Dave did in the C# routine. To do this, I typed the appropriate $set statement at the top of the program. While I was there, I also added a line for “System.Windows.Forms” because we’ll need it later.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_v4gr42wd_kk/TPgpFiZ2JWI/AAAAAAAAAN4/LUodiFxC1HQ/s1600/pic6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="273" ox="true" src="http://1.bp.blogspot.com/_v4gr42wd_kk/TPgpFiZ2JWI/AAAAAAAAAN4/LUodiFxC1HQ/s640/pic6.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;You’ll also see I added the variable definition to the working storage section for barcolor.&amp;nbsp; In the original C# example, Dave typed:&lt;a href="http://4.bp.blogspot.com/_v4gr42wd_kk/TPgpSMyw_0I/AAAAAAAAAN8/Td7baNzKiBY/s1600/pic7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="236" ox="true" src="http://4.bp.blogspot.com/_v4gr42wd_kk/TPgpSMyw_0I/AAAAAAAAAN8/Td7baNzKiBY/s400/pic7.jpg" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
The biggest difference is that I had to write a bit more code for the get and set methods than what the C# had. Not much, but I had to spell out each method, along with its own working storage, procedure division, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_v4gr42wd_kk/TPgpun9rcUI/AAAAAAAAAOA/0jjWR4cgoUY/s1600/pic8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" ox="true" src="http://2.bp.blogspot.com/_v4gr42wd_kk/TPgpun9rcUI/AAAAAAAAAOA/0jjWR4cgoUY/s400/pic8.jpg" width="400" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;Once that portion was coded, I had to make a slight change to the code to create the Value property. Because Value is a reserved word in COBOL. So, instead of using “Value” as a variable name, I used pvalue. I placed the the working storage definition directly after the definition for barcolor (see above). &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_v4gr42wd_kk/TPgp8FqqZfI/AAAAAAAAAOE/4lnL8e6LcUk/s1600/pic9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="18" ox="true" src="http://4.bp.blogspot.com/_v4gr42wd_kk/TPgp8FqqZfI/AAAAAAAAAOE/4lnL8e6LcUk/s400/pic9.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;I used COMP-1 because this is the COBOL equivalent of a short Float.&amp;nbsp; And as with the ForeColor get and set methods above, I wrote the two methods to do what the C# code does:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_v4gr42wd_kk/TPgqZtMW8QI/AAAAAAAAAOI/_x4Yq4mv1hA/s1600/pic10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="362" ox="true" src="http://2.bp.blogspot.com/_v4gr42wd_kk/TPgqZtMW8QI/AAAAAAAAAOI/_x4Yq4mv1hA/s400/pic10.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&amp;nbsp;Again, you’ll notice that I used COMP-1 when defining the field that is to be used as a short Float. The last bit of code looks like this:&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_v4gr42wd_kk/TPgqpKOvNiI/AAAAAAAAAOM/od3kapVo26w/s1600/pic11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" ox="true" src="http://2.bp.blogspot.com/_v4gr42wd_kk/TPgqpKOvNiI/AAAAAAAAAOM/od3kapVo26w/s400/pic11.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Two items may stand out here. The first is the invoke statement “invoke super::OnPaint(e)”. Simply put, C# uses the keyword “base”, while COBOL uses “super” to refer to the original superset or base version of the method. Dave’s article points out that this particular statement is optional in his simple example but recommended for more complex paint routines. If I had used “self” instead of “super”, the code would be referring to the current version of the method (the code shown above). That would cause a recursive loop where every time the method was called, the first thing it would do is call itself. That situation ultimately consumes the memory of the machine (guess how I know *smile*) causing Visual Studio to abend.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;The second item which may stand out in this piece of code is that in the C# example, Dave used “Int” to remove the decimal values from the resulting calculation. Instead of dealing with that, I just created a width field with no decimal value. Everything else, I followed the directions provided by Dave. And much to my surprise it worked &lt;strike&gt;first&lt;/strike&gt; &lt;strike&gt;second&amp;nbsp;&lt;/strike&gt;&amp;nbsp;third time I hit the run button. &lt;br /&gt;
&lt;br /&gt;
Of course I left out all the mistakes I made trying to decipher the C#, but I never claimed to be a C# programmer now did I? That’s what I call my buddy Mike for.&amp;nbsp; *smile*&lt;br /&gt;
&lt;br /&gt;
Hopefully you find this of interest / value.&amp;nbsp; If you find any errors in my code or suggestions on how to make this better, by all means, please share!&amp;nbsp; All contributions greatly appreciated!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-7755826129949076797?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZkoULaLIOxkaZT24ab5bIiGSzOQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZkoULaLIOxkaZT24ab5bIiGSzOQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZkoULaLIOxkaZT24ab5bIiGSzOQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZkoULaLIOxkaZT24ab5bIiGSzOQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/tfzKkKDKDfM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/7755826129949076797/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/12/how-to-be-controlling.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7755826129949076797?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7755826129949076797?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/tfzKkKDKDfM/how-to-be-controlling.html" title="How to be Controlling" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_v4gr42wd_kk/TPgnklvGjjI/AAAAAAAAANk/B2lZfW5MCXI/s72-c/pic1.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/12/how-to-be-controlling.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAERH49fCp7ImA9Wx5UFUk.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-2403045637957960737</id><published>2010-10-20T00:25:00.000-04:00</published><updated>2010-10-20T00:25:05.064-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-20T00:25:05.064-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="C# COBOL .Net Dialog System" /><title>C# Expert Makes COBOL.Net Scream</title><content type="html">This week I'm spending time working with a C# expert on a COBOL&amp;nbsp;modernization project.&amp;nbsp; What's interesting is that this individual is using his knowledge of C# to re-architect an existing COBOL application, and&amp;nbsp;the results&amp;nbsp;will still be&amp;nbsp;COBOL.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
While I'm admittedly a novice&amp;nbsp;on&amp;nbsp;the ins and outs of .Net, he's extremely strong in both the&amp;nbsp;framework and object oriented design.&amp;nbsp; Combine his know-how and a basic education on COBOL.Net and in less than two weeks,&amp;nbsp;we've&amp;nbsp;converted the&amp;nbsp;application front end&amp;nbsp;to Winforms and&amp;nbsp;tied&amp;nbsp;it to the existing COBOL business logic.&lt;br /&gt;
&lt;br /&gt;
Why is this interesting?&lt;br /&gt;
&lt;br /&gt;
This proves that your company can give your COBOL developers and your .Net developers&amp;nbsp;a tool like Micro Focus Visual COBOL,&amp;nbsp;a week of&amp;nbsp;basic education on COBOL.Net and ...&lt;br /&gt;
&lt;br /&gt;
TA-DA! &lt;br /&gt;
&lt;br /&gt;
You can get the&amp;nbsp;best of both worlds.&amp;nbsp; You get&amp;nbsp;a group&amp;nbsp;who knows both Microsoft .Net and COBOL&amp;nbsp;who now have the basic ingredients to&amp;nbsp;begin modifying&amp;nbsp;your&amp;nbsp;COBOL applications to fit your current corporate IT direction.&amp;nbsp;&amp;nbsp;Comingle the groups and the technologies and you'll get several things:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;A brand new application based on tried and true application source leveraging an industry standard framework.&lt;/li&gt;
&lt;li&gt;A energized team of people educated in both your mission critical applications and the framework you've adopted as your corporate direction.&lt;/li&gt;
&lt;/ul&gt;And the team&amp;nbsp;will really enjoy doing it.&lt;br /&gt;
&lt;br /&gt;
Huh?&lt;br /&gt;
&lt;br /&gt;
Yep.&amp;nbsp; I've seen it this week.&amp;nbsp; People who want to be involved are stopping by every single day asking for details and wanting to know how they can help.&amp;nbsp; This includes folks from both sides of the development shop!&amp;nbsp; Those already on the team are having fun doing something they never thought could be done.&lt;br /&gt;
&lt;br /&gt;
It's true.&amp;nbsp; Put&amp;nbsp;developers to work breathing life into these&amp;nbsp;systems and they will enjoy the work.&amp;nbsp; Developers like a challenge and cool tools.&amp;nbsp; Both sides of the team will become immersed in learning their parts of this "new world" and the religious battle about languages will become secondary to the mission.&amp;nbsp; Each group will use the tools and&amp;nbsp;language that meet their particular needs and you will&amp;nbsp;get an application which is based on the tried and true applications which have been running your business.&lt;br /&gt;
&lt;br /&gt;
Don't believe me?&amp;nbsp; Give it a test drive.&amp;nbsp; Put your own team together, mixing folks from both sides of the fence and give them the basic goal of&amp;nbsp;bringing&amp;nbsp;an&amp;nbsp;existing COBOL application forward to the .Net world.&amp;nbsp; Add in some education / guidance and see what happens.&amp;nbsp; Let me know the results!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-2403045637957960737?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DpoRb3Z6vBdy1ImEcU03XpFobfw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DpoRb3Z6vBdy1ImEcU03XpFobfw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DpoRb3Z6vBdy1ImEcU03XpFobfw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DpoRb3Z6vBdy1ImEcU03XpFobfw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/U4cxlVDGlrg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/2403045637957960737/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/10/c-expert-makes-cobolnet-scream.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/2403045637957960737?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/2403045637957960737?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/U4cxlVDGlrg/c-expert-makes-cobolnet-scream.html" title="C# Expert Makes COBOL.Net Scream" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/10/c-expert-makes-cobolnet-scream.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAESHo9cSp7ImA9Wx5VGE0.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-6019861225810532711</id><published>2010-10-10T22:58:00.001-04:00</published><updated>2010-10-11T09:45:09.469-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-11T09:45:09.469-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="COBOL.NET ADO.NET SQL ASP.Net" /><title>ASP.Net, ADO.Net and COBOL - The Right Tools for the Job</title><content type="html">Hey folks,&lt;br /&gt;
&lt;br /&gt;
In working on learning how to write a web application&amp;nbsp;using COBOL, I thought it would be interesting to understand how to retrieve a BLOB (binary large object) using ADO.Net&amp;nbsp;and&amp;nbsp;display it back to the user.&lt;br /&gt;
&lt;br /&gt;
So, armed with a downloaded copy of the AdventureWorks database from&amp;nbsp;Microsoft's website, I set about to create an ASP.Net page and its corresponding "code behind" page (out of COBOL of course) to do just that.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_v4gr42wd_kk/TLJuwmRu5bI/AAAAAAAAANQ/s4yR2ZXnpLw/s1600/asp+sample+with+sql.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" src="http://2.bp.blogspot.com/_v4gr42wd_kk/TLJuwmRu5bI/AAAAAAAAANQ/s4yR2ZXnpLw/s1600/asp+sample+with+sql.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
First off, you'll see from the ASP.Net page in the image above that I'm populating a drop down list box with data from one of the tables in the database.&amp;nbsp; Once the user selects a row from the list, the code behind page launches the "Fetch_ProductImage" method&amp;nbsp;defined within my COBOL program (to see the complete images you may have to click on them to make them full screen).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_v4gr42wd_kk/TLJxYGD9LBI/AAAAAAAAANc/gXRhk2Bur20/s1600/definition.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" src="http://2.bp.blogspot.com/_v4gr42wd_kk/TLJxYGD9LBI/AAAAAAAAANc/gXRhk2Bur20/s1600/definition.GIF" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The image above shows the various objects I had to define using some of the "new" data types I mentioned in an earlier post to this site.&amp;nbsp;&amp;nbsp;Addittionally, you'll see that I define objects based on the ADO.Net class.&amp;nbsp; How I use them is shown below in the&amp;nbsp; method "Fetch_ProductImage".&amp;nbsp; This&amp;nbsp;is used&amp;nbsp;to grab the image stored within the BLOB field for the selected&amp;nbsp;item:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_v4gr42wd_kk/TLJxpAElcpI/AAAAAAAAANg/LITsz_CX69k/s1600/restofthecode.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" src="http://1.bp.blogspot.com/_v4gr42wd_kk/TLJxpAElcpI/AAAAAAAAANg/LITsz_CX69k/s1600/restofthecode.GIF" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Once selected the image is displayed to the user via the web browser.&amp;nbsp; Pretty slick huh?&lt;br /&gt;
&lt;br /&gt;
It's much like using&amp;nbsp;cursors&amp;nbsp;with traditional SQL, with many of the&amp;nbsp;same steps.&amp;nbsp; In traditional SQL, you define the cursor, open the cursor, read the row(s), then close the cursor.&amp;nbsp; Similar thing with the data reader.&amp;nbsp; You define the statement you wish to execute against the table,&amp;nbsp;open the data reader,&amp;nbsp;load the data reader with the rows you wanted,&amp;nbsp;read the row(s) from the data reader, close the connection.&amp;nbsp; Very similar&amp;nbsp;processes.&lt;br /&gt;
&lt;br /&gt;
One interesting difference I've found is that&amp;nbsp;with a data reader, the rows are stored as "read only".&amp;nbsp; With traditional SQL&amp;nbsp;you can choose to update the rows contained within the cursor.&amp;nbsp; But within a data reader, the data can't be modified.&amp;nbsp; And&amp;nbsp;as I believe is true with a cursor, you can only read forward with the data reader.&amp;nbsp; Once you have read the row, the previous row is no longer available to you.&lt;br /&gt;
&lt;br /&gt;
There are several other interesting things you can do with ADO.Net.&amp;nbsp;&amp;nbsp;Just to give you an idea... Everything above&amp;nbsp;was based on examples in the first 50 pages from a 585 book I bought on ADO.Net.&amp;nbsp; Yes it was written for a VB.Net developer, but I was able to translate it from gibberish into COBOL easily enough *grin*.&lt;br /&gt;
&lt;br /&gt;
Overall it wasn't too difficult.&amp;nbsp;Yes, I know I&amp;nbsp;didn't&amp;nbsp;go into details&amp;nbsp;on how to do all the steps involved with the web form portion of this.&amp;nbsp; That was because I figure that was the easier part and&amp;nbsp;you too can pick that up&amp;nbsp;from a good book on building ASP.Net web pages.&amp;nbsp; As I mentioned&amp;nbsp;in a previous post, I've been working from Imar's book "Beginning ASP.Net 4 in C# and VB".&amp;nbsp; As to the rest, it is all shown above in the&amp;nbsp;COBOL example.&amp;nbsp; There's surprisingly not that much to it huh?&lt;br /&gt;
&lt;br /&gt;
I hope this was of value&amp;nbsp;for you.&amp;nbsp;&amp;nbsp; Drop me a note if you have any questions or comments.&amp;nbsp; I'd love to hear from you!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-6019861225810532711?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mZOaTQoX0IZXiB-1jGSD_CDCo_Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mZOaTQoX0IZXiB-1jGSD_CDCo_Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mZOaTQoX0IZXiB-1jGSD_CDCo_Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mZOaTQoX0IZXiB-1jGSD_CDCo_Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/aUVvpAs8cw0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/6019861225810532711/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/10/aspnet-adonet-and-cobol-right-tools-for.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/6019861225810532711?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/6019861225810532711?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/aUVvpAs8cw0/aspnet-adonet-and-cobol-right-tools-for.html" title="ASP.Net, ADO.Net and COBOL - The Right Tools for the Job" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_v4gr42wd_kk/TLJuwmRu5bI/AAAAAAAAANQ/s4yR2ZXnpLw/s72-c/asp+sample+with+sql.PNG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/10/aspnet-adonet-and-cobol-right-tools-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMGQH4_fSp7ImA9Wx5SGUw.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-6456873122798748983</id><published>2010-08-15T19:20:00.000-04:00</published><updated>2010-08-15T19:20:21.045-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-15T19:20:21.045-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Cobol.Net ASP.Net Rocket Science" /><title>Mind The Gap</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_v4gr42wd_kk/TGhzYxyau3I/AAAAAAAAANE/gCp9-eEsbRw/s1600/mind_the_gap-logo.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="132" ox="true" src="http://3.bp.blogspot.com/_v4gr42wd_kk/TGhzYxyau3I/AAAAAAAAANE/gCp9-eEsbRw/s200/mind_the_gap-logo.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Once upon a time, I was told&amp;nbsp;that Cobol&amp;nbsp;developers&amp;nbsp;couldn't cross the gap to learn that&amp;nbsp;"object oriented" stuff.&amp;nbsp; Why can't we?&amp;nbsp;Could it be that&amp;nbsp;we aren't smart enough?&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I think not.&lt;br /&gt;
&lt;br /&gt;
I believe it has to do with the combination of&amp;nbsp;syntax and methodology.&amp;nbsp; Let's face it, Object Oriented Cobol syntax from the 2002&amp;nbsp;standard&amp;nbsp;is confusing.&amp;nbsp; Too many&amp;nbsp;quote&amp;nbsp;characters cluttering things up is my opinion.&amp;nbsp; Additionally, to use it, there was this object oriented approach to program design we were supposed to learn.&amp;nbsp; And because we had to learn a new language&amp;nbsp;and we were coming from a procedural-based&amp;nbsp;frame of reference, it stumped us.&amp;nbsp; I think we were trying to learn too many new things at once.&lt;br /&gt;
&lt;br /&gt;
*cue creepy music*&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;a href="http://www.classicscreams.com/Celeb_Pages/Celeb_Pics/Price_Vincent_006_Cooking.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" ox="true" src="http://www.classicscreams.com/Celeb_Pages/Celeb_Pics/Price_Vincent_006_Cooking.jpg" width="280" /&gt;&lt;/a&gt;I have a secret...&lt;/div&gt;&lt;br /&gt;
For the last&amp;nbsp;couple of weeks,&amp;nbsp; I've been working secretly in my&amp;nbsp;lab deep&amp;nbsp;beneath the dungeon cooking something up.&lt;br /&gt;
&lt;br /&gt;
I&amp;nbsp;have been working to come to grips with...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dare I say it...Cobol.Net and ASP.Net. *gasp*&lt;br /&gt;
&lt;br /&gt;
(Ok, I was in my home office in the basement.&amp;nbsp; Anyway, back to the story)&lt;br /&gt;
&lt;br /&gt;
I bought&amp;nbsp;a book by Imar Spannjaars titled "Beginning ASP.NET 4 in C# and VB", and I&amp;nbsp;had this thought... I wondered if&amp;nbsp;I could translate&amp;nbsp;what Imar was trying to&amp;nbsp;teach the VB&amp;nbsp; and C#&amp;nbsp;crowd into&amp;nbsp;Cobol.Net syntax.&amp;nbsp; Guess what?&amp;nbsp;&amp;nbsp;You can.&amp;nbsp; *smile*&lt;br /&gt;
&lt;br /&gt;
First off, I've discovered that&amp;nbsp;the new syntax&amp;nbsp;the Micro Focus&amp;nbsp;development guys have put together has made it easier for me to&amp;nbsp;translate from&amp;nbsp;VB.Net&amp;nbsp;to the Cobol.Net.&lt;br /&gt;
&lt;br /&gt;
And you want to know what else I found?&amp;nbsp; The Object oriented approach&amp;nbsp;started to make more&amp;nbsp;sense.&amp;nbsp; Not just basic sense but the kind of&amp;nbsp;common sense&amp;nbsp;you hope your teenage son finally gets before he graduates college (I keep my fingers crossed).&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I found that for the most part I only had to grasp a handful of concepts and I could write slick web-based ASP.Net applications using Cobol.Net.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Basically it comes down to the &lt;a href="http://itsacobolworld.blogspot.com/2009/10/understanding-cobol-for-net-data-types.html"&gt;new data types I've mentioned in earlier posts&lt;/a&gt; and two "new" statements, Set and Invoke.&amp;nbsp; For instance, here is how you&amp;nbsp;use the Set statement.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_v4gr42wd_kk/TGhe_b4SGcI/AAAAAAAAAM0/pICBnxELr_I/s1600/exampleset.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="85" ox="true" src="http://1.bp.blogspot.com/_v4gr42wd_kk/TGhe_b4SGcI/AAAAAAAAAM0/pICBnxELr_I/s400/exampleset.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;strong&gt;Translation:&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&lt;span style="font-family: inherit;"&gt;If the HasFile field&amp;nbsp;of the FileUpload1 control on the current web page is true (think of it as an 88 level switch), set ws-filename to the value stored in the FileName field of the FileUpload1 control on the current web page.&amp;nbsp; If it doesn't, set the text of the UloadSuccessMessage&amp;nbsp;object to "No File Selected. Unable to Upload" and make&amp;nbsp;it&amp;nbsp;visibile to the user.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
And guess what?&amp;nbsp; Invoke isn't much different.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_v4gr42wd_kk/TGhf5ipLaaI/AAAAAAAAAM4/LiVPpO0jQyc/s1600/exampleredirect.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="17" ox="true" src="http://4.bp.blogspot.com/_v4gr42wd_kk/TGhf5ipLaaI/AAAAAAAAAM4/LiVPpO0jQyc/s400/exampleredirect.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;strong&gt;Translation:&lt;/strong&gt;&lt;br /&gt;
call the Redirect routine of the Response "program"&amp;nbsp;that is tied to the current web&amp;nbsp;application and pass it the URL of "Default.aspx?Redirect".&lt;br /&gt;
&lt;br /&gt;
Based on this rather amazing revelation (amazing to me anyways), I've come to the conclusion that yes Cobol programmers can make the leap.&lt;br /&gt;
&lt;br /&gt;
It isn't really that much of a leap actually, but&amp;nbsp;more like a&amp;nbsp;series of small steps.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Additionally, I believe that&amp;nbsp;C# and VB&amp;nbsp;folks can understand the basics of this new version of the Cobol.Net syntax.&amp;nbsp; &lt;br /&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;In the near future, I hope to&amp;nbsp;post the complete source for the web application I've been building and you can see for yourself what I'm talking about.&amp;nbsp; This stuff ain't rocket science.&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_v4gr42wd_kk/TGhqGtX_oaI/AAAAAAAAANA/N5_PJbtlR1k/s1600/rocket-science-image.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" ox="true" src="http://3.bp.blogspot.com/_v4gr42wd_kk/TGhqGtX_oaI/AAAAAAAAANA/N5_PJbtlR1k/s200/rocket-science-image.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Just in case you didn't notice, you too can&amp;nbsp;give this a try.&amp;nbsp;&amp;nbsp;Download a copy of Visual Cobol for your home machine for 30 days (&lt;a href="http://www.microfocus.com/visualcobol"&gt;www.microfocus.com/visualcobol&lt;/a&gt;)&amp;nbsp;and give it a shot.&amp;nbsp; Can't figure out how to do something?&amp;nbsp;&amp;nbsp;Maybe we can figure it out together.&amp;nbsp; Consider it a learning experience *grin*&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-6456873122798748983?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EqGyqp38JQHlvL8CQdybAnahMxc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EqGyqp38JQHlvL8CQdybAnahMxc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EqGyqp38JQHlvL8CQdybAnahMxc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EqGyqp38JQHlvL8CQdybAnahMxc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/L7r9siWQOJI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/6456873122798748983/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/08/mind-gap.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/6456873122798748983?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/6456873122798748983?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/L7r9siWQOJI/mind-gap.html" title="Mind The Gap" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_v4gr42wd_kk/TGhzYxyau3I/AAAAAAAAANE/gCp9-eEsbRw/s72-c/mind_the_gap-logo.jpg" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/08/mind-gap.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UHRXwzeCp7ImA9WxFaGUw.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-5412076639551104113</id><published>2010-07-23T15:40:00.006-04:00</published><updated>2010-07-23T16:00:34.280-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-23T16:00:34.280-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Micro Focus" /><category scheme="http://www.blogger.com/atom/ns#" term="IBM" /><category scheme="http://www.blogger.com/atom/ns#" term="developer" /><category scheme="http://www.blogger.com/atom/ns#" term="COBOL" /><category scheme="http://www.blogger.com/atom/ns#" term="eductation" /><category scheme="http://www.blogger.com/atom/ns#" term="ANSI" /><title>COBOL: Still Learning and Growing</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_QJBd_Rm8yfA/TEnzp9jJaBI/AAAAAAAAAA4/7tGO61yxvdQ/s1600/education.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 300px; FLOAT: left; HEIGHT: 300px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5497192722404567058" border="0" alt="" src="http://4.bp.blogspot.com/_QJBd_Rm8yfA/TEnzp9jJaBI/AAAAAAAAAA4/7tGO61yxvdQ/s320/education.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Continuity&lt;/strong&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I was recently asked about the direction of COBOL and whether or not I believed the language would continue for very much longer. To say I was taken aback by the question would be a serious understatement! I pointed the person to an article I did last year about COBOL not only being everywhere but what it could do. The article was titled “COBOL: It’s everywhere” and can be found at &lt;a href="http://www.c-sharpcorner.com/UploadFile/RSM50/EVRYWHR09032009152715PM/EVRYWHR.aspx"&gt;http://www.c-sharpcorner.com/UploadFile/RSM50/EVRYWHR09032009152715PM/EVRYWHR.aspx&lt;/a&gt; . Now maybe I’m being rather naïve, but really why wouldn’t COBOL not only continue but grow and adapt? All one has to do is to take a serious historical perspective of the COBOL language and one can see not only continuous enhancements to the language, but continual expansion of the language. Let’s take a quick historical review of COBOL, shall we?&lt;br /&gt;&lt;br /&gt;Yes COBOL is old. It’s over 50 years old already. In most cases it’s been around longer than most of the developers working in a given shop. Just because something is old though doesn’t mean it’s still not useful and serving a purpose. We’ve heard the examples before, “Have a credit card?”, “Use a cell phone?”, “Have a house mortgage?”, “Pay income taxes?”… all and many more examples are being ran by COBOL systems in some point in time. Micro Focus asked a reporter once to live a single day without interacting in some manner, shape or form with COBOL and it couldn’t be done. So it may be old, but it’s also very wide-spread and serving us day in and day out without any recognition. Now let’s look at how COBOL has grown through the years.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Evolution&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Even though COBOL is old, it has not stopped learning. COBOL has gone through a number of revisions. To set the baseline let’s take a brief look at each of the versions of COBOL and identify the key contributions made to the language starting with ANS COBOL 68 (yes that’s &lt;strong&gt;1968&lt;/strong&gt;).&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;ANSI COBOL 1968&lt;/strong&gt; In December 1960 a COBOL program was successfully compiled and executed on two different platforms without requiring any code changes. This demonstrated the concept of compatibility to the early pioneers and the need to ensure the language remained consistent across multiple vendors. During the course of the next several years however compatibility suffered. The American National Standard Institute (ANSI) set about the task of re-establishing compatibility. COBOL 68 was the first ‘official’ release of the language.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;ANSI COBOL 1974&lt;/strong&gt; This version was considered by many to re-emphasize the need for compatibility. It contained a number of features that were not in the original version. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;ANSI COBOL 1985&lt;/strong&gt; Another revision of the original version with new features. One of the most important was the introduction of structured constructs. This included the inclusion of scope-terminators such as ‘END-READ’ and ‘END-IF’ to name two. This release was geared towards standardized coding techniques. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;ANSI COBOL 2002&lt;/strong&gt; A significant enhancement of the language was accomplished with the 2002 release of the language. Several of the key concepts introduced included National Language support including support for the Unicode character set, user-defined functions, calling conventions to and from non-COBOL languages, framework support (.NET and Java), floating-point, and XML generation and parsing. One would characterize this release as geared towards interoperability.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Let’s look at the above information in a different perspective. The different versions of the language are presented with the key object each version achieved:&lt;br /&gt;&lt;br /&gt;ANSI 1968: Language Standardization&lt;br /&gt;ANSI 1974: Language expansion&lt;br /&gt;ANSI 1985: Technique standardization&lt;br /&gt;ANSI 2002: Interoperability&lt;br /&gt;&lt;br /&gt;From this we see a progression of maturity in the language beginning with defining a standard manner in which to communicate, to growing in capabilities and finally to enabling communications with others. A logical progression and growth enabling COBOL to become capable of achieving many more tasks than ever imagined by its creators. But yet the perception exists that COBOL can’t do anything more than add numbers together. But what about the question posed earlier, “Will COBOL be around for very much longer?” Well the NEXT standard has been in development for a while and is due to be released for public comment in August 2010. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Continued Expansion&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The next standards goals are to continue to expand the capabilities of the language while making it able to interact with the other languages of the day. To that end the following are being proposed for inclusion in the standard&lt;br /&gt;— Dynamic-capacity tables&lt;br /&gt;— Function pointers&lt;br /&gt;— Any-length elementary items&lt;br /&gt;— Increased size limit on nonnumeric literals&lt;br /&gt;— Enhanced locale support in functions&lt;br /&gt;— Support for industry standard floating-point formats and arithmetic, including multiple rounding options&lt;br /&gt;— Structured constants&lt;br /&gt;— Enhanced date and time handling&lt;br /&gt;— Parametric polymorphism, also known as method overloading&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If you’d like to follow the process of the standard you can visit &lt;a href="http://www.cobolstandard.info/j4/"&gt;http://www.cobolstandard.info/j4/&lt;/a&gt; . We as COBOL developers should be aware of the changes being proposed to the language we work with on a daily basis so that we may be able to adapt our techniques to take advantage of the new constructs in our toolbox.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Awakening&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;What has to happen though is for the development community world-wide to realize what a valuable asset it has in all this COBOL code floating around the world and what a versatile language COBOL really is. Companies have invested billions of dollars in these systems. They’ve spent years tweaking, tuning, refining the logic to do just what they need. Then someone says “COBOL ain’t cool” and they look at getting rid of it. Why? We can interact with COBOL in ways unheard of before with .NET being a primary example. Let’s wake up and realize the enormous economic investment that has been made of COBOL and instead of trying to replace it, let’s help make it do even more. Look at new platforms for performance gains, look at new frameworks such as .NET for interaction but let COBOL keep doing the job it’s been designed for…making money! Will COBOL be around for another 50 years? Time will tell but with its demonstrated ability to grow, adapt and expand I would bet on it. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Let’s hear what you have to say. Do you code COBOL? Does your company have applications written in COBOL? How are you using it? Are you looking to expand it? Have you or your company considered expanding what COBOL can do to achieve business success? &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-5412076639551104113?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Yhc6Spb5m8ElOf44bP29VTn65lw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Yhc6Spb5m8ElOf44bP29VTn65lw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Yhc6Spb5m8ElOf44bP29VTn65lw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Yhc6Spb5m8ElOf44bP29VTn65lw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/Ww_yJCr53Ko" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/5412076639551104113/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/07/cobol-still-learning-and-growing.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/5412076639551104113?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/5412076639551104113?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/Ww_yJCr53Ko/cobol-still-learning-and-growing.html" title="COBOL: Still Learning and Growing" /><author><name>RSM50</name><uri>http://www.blogger.com/profile/07600530542083941428</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://3.bp.blogspot.com/_QJBd_Rm8yfA/Soyywj4qh6I/AAAAAAAAAAM/ZD5oU7JCaWI/S220/RSM2.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_QJBd_Rm8yfA/TEnzp9jJaBI/AAAAAAAAAA4/7tGO61yxvdQ/s72-c/education.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/07/cobol-still-learning-and-growing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEGSX0-fip7ImA9WxFUGUg.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-7719756738562949202</id><published>2010-07-01T00:16:00.002-04:00</published><updated>2010-07-01T00:30:28.356-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-01T00:30:28.356-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="COBOL Standards Group ISO" /><title>The COBOL Version: Going The Way of Jello?</title><content type="html">Once upon a time, every customer RFI had a question about the version of&amp;nbsp;COBOL&amp;nbsp;the compiler&amp;nbsp;supported.&amp;nbsp; That was years ago.&amp;nbsp; I can't tell you the last time I got that question.&amp;nbsp; Not only that, I can't recall when the last time anyone cared really.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_v4gr42wd_kk/TCwZec2595I/AAAAAAAAAMs/5KzDY584Gpw/s1600/jello+ad.bmp" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" rw="true" src="http://1.bp.blogspot.com/_v4gr42wd_kk/TCwZec2595I/AAAAAAAAAMs/5KzDY584Gpw/s200/jello+ad.bmp" width="130" /&gt;&lt;/a&gt;&lt;/div&gt;Why is this?&amp;nbsp; Have COBOL versions gone the way of gelatin?&amp;nbsp; Have they blended so much or become so generic that eveyone calls it by the same name, regardless of what version it is?&amp;nbsp; Name another brand of gelatin.&amp;nbsp; (Bet ya can't)&lt;br /&gt;
&lt;br /&gt;
Well, one reason I personally never get the RFI question is probably&amp;nbsp;due to the fact that the Micro Focus dialect has become&amp;nbsp;the defacto standard if you are working off the mainframe.&amp;nbsp; And that just happens to be the toolset I work with.&amp;nbsp; Yes, it is nice to be with the market leader *grin*.&amp;nbsp; It does make life easier sometimes.&amp;nbsp; The only&amp;nbsp;version related question&amp;nbsp;recently was&amp;nbsp;"Do you support Enterprise COBOL?".&amp;nbsp;&amp;nbsp; Again,&amp;nbsp;this was&amp;nbsp;probably&amp;nbsp;due to this being the&amp;nbsp;version on the mainframe they used.&lt;br /&gt;
&lt;br /&gt;
With these two exceptions in mind,&amp;nbsp;I still don't see why&amp;nbsp;companies have lost interest in the latest version of the&amp;nbsp;COBOL standard.&amp;nbsp; Ask a shop working with Java and you'll find out quickly if they are&amp;nbsp;on 1.3 or a 1.6, etc.&amp;nbsp; Same thing with the .Net framework.&amp;nbsp; I guarantee you'll find out quickly if&amp;nbsp;a company targets&amp;nbsp; the 2.0 or 3.0 version of the .Net framework.&lt;br /&gt;
&lt;br /&gt;
But the&amp;nbsp;COBOL version?&amp;nbsp; Maybe my imagination, but it&amp;nbsp;doesn't seem to be that important anymore.&lt;br /&gt;
&lt;br /&gt;
Could it be that everyone lumps every version into the same bucket?&amp;nbsp; Its all just COBOL right?&lt;br /&gt;
&lt;br /&gt;
As many may or may not know, the last published COBOL standard&amp;nbsp;was released&amp;nbsp;in&amp;nbsp;2002.&amp;nbsp; There were a number of items in the 2002 edition related to&amp;nbsp;Object Orientation which truely brought the language into the modern era.&amp;nbsp;&amp;nbsp;From the notes on the &lt;a href="http://www.cobolstandards.com/index.asp"&gt;COBOL Standards website&lt;/a&gt;, there are references to a supposed release targeted for 2008 which were supposed to move it even further forward.&amp;nbsp; I wonder what ever happened to&amp;nbsp;that version.&amp;nbsp; Anyone know?&amp;nbsp; Why did it die on the vine?&amp;nbsp; I know for a fact the group still meets and is working on advancing the language.&amp;nbsp; But why has it remained unpublished?&amp;nbsp; Isn't it about time a new version was announced?&lt;br /&gt;
&lt;br /&gt;
Oh well, I digress.&lt;br /&gt;
&lt;br /&gt;
What I'm&amp;nbsp;most curious about is your company's conformance to a particular COBOL version or published standard.&amp;nbsp; What version do you use?&amp;nbsp;&amp;nbsp;Are there any elements&amp;nbsp;of the 2002 standard&amp;nbsp;that your company uses or conforms to?&amp;nbsp; Or are they tied to a vendor specific version of COBOL like Micro Focus or Acucorp?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A more basic question...Do you know what is in the 2002 edition of the COBOL standard?&amp;nbsp; You can &lt;a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=28805"&gt;find it at the ISO website&lt;/a&gt;&amp;nbsp;just in case you were curious...&lt;br /&gt;
&lt;br /&gt;
And one other question before I finish up on the topic.&lt;br /&gt;
&lt;br /&gt;
If a new version of the standard were to be&amp;nbsp;released on the world, what would it mean to you?&amp;nbsp; To your company?&amp;nbsp; From what I can see, it would&amp;nbsp;be a safe bet that very little discussion would occur around the subject until somone needed to upgrade their compiler.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Kinda like the "if a tree fell in the woods, would it make a sound" question. *smile*&lt;br /&gt;
&lt;br /&gt;
With my limited knowledge of what is being discussed by the group, this may ultimately&amp;nbsp;be a bit of short-sightedness if your company uses COBOL but isn't up on the subject.&amp;nbsp; There may be elements within the standard which would allow your company to save money or do more with the language.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Attention_Sign.svg/628px-Attention_Sign.svg.png" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="175" ru="true" src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Attention_Sign.svg/628px-Attention_Sign.svg.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;All things considered, how would you propose&amp;nbsp;the guys over at the COBOL&amp;nbsp;Standards Group go about getting your attention?&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;What needs to happen to bring this to the forefront in your shop?&lt;/div&gt;&lt;br /&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Just curious.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-7719756738562949202?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hfobaBSTKLdoRNt4hx0fT6MKNeA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hfobaBSTKLdoRNt4hx0fT6MKNeA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hfobaBSTKLdoRNt4hx0fT6MKNeA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hfobaBSTKLdoRNt4hx0fT6MKNeA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/UfvNSiIk8Hw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/7719756738562949202/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/07/cobol-version-going-way-of-jello.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7719756738562949202?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7719756738562949202?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/UfvNSiIk8Hw/cobol-version-going-way-of-jello.html" title="The COBOL Version: Going The Way of Jello?" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_v4gr42wd_kk/TCwZec2595I/AAAAAAAAAMs/5KzDY584Gpw/s72-c/jello+ad.bmp" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/07/cobol-version-going-way-of-jello.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MMRn0_eip7ImA9WxFVEEo.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-478266179715280694</id><published>2010-06-09T06:30:00.001-04:00</published><updated>2010-06-09T06:31:27.342-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-09T06:31:27.342-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="COBOL" /><title>Declarative Sorting Of Dynamically Allocated In-Memory Tables With COBOL</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_HUb2ygrQR50/TA9jog8fIOI/AAAAAAAAEK8/YVKxZPCrwK0/s1600/Sorter-In-Visual-Studio.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"&gt;&lt;img alt="Visual COBOL = Visual Studio COBOL" border="0" height="278" src="http://3.bp.blogspot.com/_HUb2ygrQR50/TA9jog8fIOI/AAAAAAAAEK8/YVKxZPCrwK0/s320/Sorter-In-Visual-Studio.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;One of the things COBOL is really good at is data processing. &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Its declarative data model makes it second only to SQL for this purpose. Both in Managed COBOL and native COBOL, Micro Focus COBOL can sort an in-memory table just by saying 'sort'. Not only that, a little trick with pointers and the linkage section means that we can sort any sized table and allocate the memory for that table on the fly. Here I am using Visual COBOL (Visual Studio COBOL) to work through these ideas. To do this, I am using an imaginary example of a retail data control system where we have product variants and stock keeping units (skus). Our little program shows how we can sort variant name/sku pairs by the sku number.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;What does declarative mean?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Here we simply declare the structure of our table and how it is indexed and can be sorted:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;linkage section.
       01 variants occurs 1 to 1000 depending on variant-count
                   ascending key is sku
                   indexed   by jump-start-index.
           03 sku  binary-long.
           03 decr pic x(20).
&lt;/pre&gt;&lt;br /&gt;
Because we have put this in the linkage section, we have declared all this but we have not allocated any storage to it yet - that comes later. Now we sort:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;sort variants
&lt;/pre&gt;&lt;br /&gt;
Now that is the bit I love! Having declared the data and key structure of the table, COBOL knows everything it needs to know about how to sort it. We do not have to call some sort function passing in some functional thing like a lambda or a call back. All that complexity is taken away. We want the table sorted - so we tell COBOL to sort it! If only my kids were so easy to instruct...&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;How About Pointers And Allocation?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
As mentioned, the declaration of the table is in the linkage section. I have also created a working storage item 'mem-ptr' which is usage pointer. This approach means we can use&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;CBL_ALLOC_MEM&lt;/span&gt;&amp;nbsp;to assign a block of memory to use for storing our table. The size of the block to allocate is worked out from the size of each record via the "length of" keyword pair and multiplying the result by variant-count. The location of that memory is pointed to by mem-ptr and we can tell COBOL to use it for our table by the statement "&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;set address of variants(1) to mem-ptr&lt;/span&gt;". However, COBOL does need to know how big the table is. This is done by using variant-count in the "depending on" clause of the table declaration.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;Putting It Together In Visual COBOL&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
First open Visual Studio:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_HUb2ygrQR50/TA9q6KbE-GI/AAAAAAAAELE/80P4CxO_4vM/s1600/VisualCOBOL1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_HUb2ygrQR50/TA9q6KbE-GI/AAAAAAAAELE/80P4CxO_4vM/s320/VisualCOBOL1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Then start a new project:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_HUb2ygrQR50/TA9q6xPCXFI/AAAAAAAAELM/GSLjl9vMLKI/s1600/VisualCOBOL2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_HUb2ygrQR50/TA9q6xPCXFI/AAAAAAAAELM/GSLjl9vMLKI/s320/VisualCOBOL2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Then pick a native COBOL template:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_HUb2ygrQR50/TA9q78GWk-I/AAAAAAAAELU/57kjmAi04hY/s1600/VisualCOBOL3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_HUb2ygrQR50/TA9q78GWk-I/AAAAAAAAELU/57kjmAi04hY/s320/VisualCOBOL3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Take the created source and replace it with the source below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_HUb2ygrQR50/TA9q-GG55UI/AAAAAAAAELc/22rsMYJcNpM/s1600/VisualCOBOL4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_HUb2ygrQR50/TA9q-GG55UI/AAAAAAAAELc/22rsMYJcNpM/s320/VisualCOBOL4.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;pre&gt;$set sourceformat(variable)
       program-id. "sorter".

       working-storage section.
       01 mem-ln        binary-long.
       01 mem-flags     pic x(4) comp-5 value 0.
       01 int-bl        binary-long.
       01 mem-ptr       usage pointer.
       01 status-code   pic x(2) comp-5.
       01 variant-count binary-long.
       
       linkage section.
       01 variants occurs 1 to 1000 depending on variant-count
                   ascending key is sku
                   indexed   by jump-start-index.
           03 sku  binary-long.
           03 decr pic x(20).
           
       procedure division.
       
           move 10 to variant-count
       
           set mem-ln to length of variants
           multiply mem-ln by variant-count giving mem-ln
           
           call "CBL_ALLOC_MEM" 
                using     mem-ptr
                by value  mem-ln mem-flags
                returning status-code
           if not status-code = 0
               display    "Failed to get memory"
               stop run
           end-if
           
           set address of variants(1) to mem-ptr
           
           move 1234       to  sku(1)
           move "beans"    to decr(1)
           move 12         to  sku(2)
           move "fish"     to decr(2)
           move 4532       to  sku(3)
           move "cat food" to decr(3)
           move 2342       to  sku(4)
           move "dog food" to decr(4)
           move 1231       to  sku(5)
           move "sauce"    to decr(5)
           move 1254       to  sku(6)
           move "bread"    to decr(6)
           move  999       to  sku(7)
           move "chicken"  to decr(7)
           move    1       to  sku(8)
           move "beer"     to decr(8)
           move    2       to  sku(9)
           move "wine"     to decr(9)
           move  9999      to  sku(10)
           move "tnt"      to decr(10)
           
           sort variants
           
           perform varying int-bl from 1 by 1 until int-bl greater variant-count
               display sku(int-bl) " =- " decr(int-bl)
           end-perform
           goback
           .
       end program "sorter".
&lt;/pre&gt;&lt;br /&gt;
Giving this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_HUb2ygrQR50/TA9q_fGFICI/AAAAAAAAELk/wBd__EnzuxA/s1600/VisualCOBOL5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_HUb2ygrQR50/TA9q_fGFICI/AAAAAAAAELk/wBd__EnzuxA/s320/VisualCOBOL5.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Now click in the left margin to put a break point on the "goback":&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_HUb2ygrQR50/TA9q_zIPwKI/AAAAAAAAELs/Qx_FnjWjCeI/s1600/VisualCOBOL6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_HUb2ygrQR50/TA9q_zIPwKI/AAAAAAAAELs/Qx_FnjWjCeI/s320/VisualCOBOL6.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Now step into the program using the debugger and it will stop on the break point:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_HUb2ygrQR50/TA9rAl25AlI/AAAAAAAAEL0/4iP0xO5CxqE/s1600/VisualCOBOL7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_HUb2ygrQR50/TA9rAl25AlI/AAAAAAAAEL0/4iP0xO5CxqE/s320/VisualCOBOL7.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
We can now see the sorted output!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_HUb2ygrQR50/TA9rB32TLgI/AAAAAAAAEL8/xwfeePksAko/s1600/VisualCOBOL8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_HUb2ygrQR50/TA9rB32TLgI/AAAAAAAAEL8/xwfeePksAko/s320/VisualCOBOL8.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
For more stuff like this - check out the &lt;a href="http://knol.google.com/k/alex-turner/visual-studio-cobol/2246polgkyjfl/8#"&gt;Visual COBOL Knol&lt;/a&gt; and &lt;a href="http://knol.google.com/k/alex-turner/micro-focus-managed-cobol/2246polgkyjfl/4"&gt;The Managed COBOL Knol&lt;/a&gt; community sites&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-478266179715280694?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Cp1rGHpKcp5gf3iN9SUHTijviDc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Cp1rGHpKcp5gf3iN9SUHTijviDc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Cp1rGHpKcp5gf3iN9SUHTijviDc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Cp1rGHpKcp5gf3iN9SUHTijviDc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/lDMhG1Astkc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/478266179715280694/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/06/declarative-sorting-of-dynamically.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/478266179715280694?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/478266179715280694?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/lDMhG1Astkc/declarative-sorting-of-dynamically.html" title="Declarative Sorting Of Dynamically Allocated In-Memory Tables With COBOL" /><author><name>Alexander Turner</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-5CFwcBYLGnQ/AAAAAAAAAAI/AAAAAAAAAAA/uzD4LG3WtRw/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_HUb2ygrQR50/TA9jog8fIOI/AAAAAAAAEK8/YVKxZPCrwK0/s72-c/Sorter-In-Visual-Studio.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/06/declarative-sorting-of-dynamically.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAGR386eyp7ImA9WxFXEkk.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-6139346787401057275</id><published>2010-05-19T01:10:00.001-04:00</published><updated>2010-05-19T01:25:26.113-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T01:25:26.113-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Visual COBOL APM Application Portfolio Management" /><title>Why APM Is Important To COBOL?</title><content type="html">Some of you may be asking "why is&amp;nbsp;&lt;span class="goog-spellcheck-word"&gt;APM&lt;/span&gt; relevant?".&amp;nbsp; What has&amp;nbsp;application portfolio management&amp;nbsp;got to do with COBOL?&amp;nbsp; And how does it relate to everything else I've read on this blog?&lt;br /&gt;
&lt;br /&gt;
Let me connect the dots.&amp;nbsp; (forgive me if I wander a bit *smile*)&lt;br /&gt;
&lt;br /&gt;
To&amp;nbsp;many folks,&amp;nbsp;COBOL is "old code" that has got to go.&amp;nbsp; The reasons many provide usually have something to do with the user interface or the data, but not the core functionality&amp;nbsp;these applications&amp;nbsp;provide.&amp;nbsp; Those using the applications on a daily basis hate the old character interfaces.&amp;nbsp; This is thanks to the fact that everything else they use has a slick web interface and they can&amp;nbsp;generate their own ad&lt;span class="goog-spellcheck-word"&gt;hoc&lt;/span&gt;&amp;nbsp;reports without waiting for&amp;nbsp;weeks or months for IT to get around to it.&lt;br /&gt;
&lt;br /&gt;
To quote a &lt;span class="goog-spellcheck-word"&gt;CIO&lt;/span&gt; I spoke with recently&amp;nbsp;"Users hate&amp;nbsp;using the character&amp;nbsp;screens&amp;nbsp;but&amp;nbsp;we couldn't do business without&amp;nbsp;the functionality the systems&amp;nbsp;provide".&amp;nbsp; He also had issues with the data.&amp;nbsp; Since everything was "locked" into the applications, they had to create a data warehouse which replicated the various information and made it more accessible to the business users.&lt;br /&gt;
&lt;br /&gt;
He really really really would like to do something with the applications, but he didn't buy into the "let's rewrite it in (your language here)" pitch.&amp;nbsp; This is due to the fact that he realizes those applications&amp;nbsp;are&amp;nbsp;very complex and rewriting them introduces unacceptable risk.&amp;nbsp; If he understood how these applications worked, he might be able to do something with them.&lt;br /&gt;
&lt;br /&gt;
I&amp;nbsp;saw another example&amp;nbsp;of this today while visiting one of the largest insurance companies in America.&amp;nbsp; One team within the company was tasked with trimming $100 Million out of the company's&amp;nbsp;operation budget.&amp;nbsp; To do so, they started asking questions about their mainframe-based&amp;nbsp;COBOL applications.&amp;nbsp; What they found was that no one understood everything these&amp;nbsp;applications did.&amp;nbsp; Nor did they know how interwoven the various applications were with the rest of their infrastructure.&amp;nbsp; Sure they knew pieces and parts, but no one had the big picture.&lt;br /&gt;
&lt;br /&gt;
Just to make sure&amp;nbsp;you didn't miss my point, n&lt;strong&gt;o one in this multi-billion dollar company understands how their systems work or what they consist of.&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
And we are talking a company with literally&amp;nbsp;hundreds of&amp;nbsp;architects, project managers, application developers, etc.&amp;nbsp; Even those who have been with the company 30 years only knew what parts of the various application elements did or were comprised of.&amp;nbsp; And these folks are making multi-million dollar decisions based on what they know about their systems every day!&lt;br /&gt;
&lt;br /&gt;
Yikes!&lt;br /&gt;
&lt;br /&gt;
I've digressed a bit, but hang in there, I can draw it all together.&amp;nbsp;I think... *wink*&lt;br /&gt;
&lt;br /&gt;
How would both&amp;nbsp;of my examples&amp;nbsp;solve their problems?&amp;nbsp; &lt;span class="goog-spellcheck-word"&gt;APM&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
With an&amp;nbsp;&lt;span class="goog-spellcheck-word"&gt;APM&lt;/span&gt;-type solution,&amp;nbsp;that old code becomes a reusable building block for the new applications your company needs.&amp;nbsp;&amp;nbsp;By using&amp;nbsp;an&amp;nbsp;&lt;span class="goog-spellcheck-word"&gt;APM&lt;/span&gt; solution to gain an understanding of the application and its composition, you could then take that "old COBOL code" and re-purpose it with a new user interface or by opening up the data layer.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
With an &lt;span class="goog-spellcheck-word"&gt;APM&lt;/span&gt; solution, companies can&amp;nbsp;see&amp;nbsp;how to&amp;nbsp;reduce their IT&amp;nbsp;expenses by identifying dead application elements, unnecessary application complexity, duplicate functionality and data.&amp;nbsp; &lt;span class="goog-spellcheck-word"&gt;APM&lt;/span&gt;-based&amp;nbsp;solutions&amp;nbsp;can provide management a&amp;nbsp;real-time picture of these systems.&amp;nbsp; Who knows, they might even&amp;nbsp;realize how&amp;nbsp;risky a complete&amp;nbsp;rewrite to (your language here)&amp;nbsp;really is.&lt;br /&gt;
&lt;br /&gt;
Recall the earlier posts on Visual COBOL? (see how I wove that in there?&amp;nbsp; slick huh?)&lt;br /&gt;
&lt;br /&gt;
Once you have identified those pieces which are key to the business, you could use a tool like Micro Focus Visual COBOL to create a COBOL-based web service.&amp;nbsp; Then those who are building the new&amp;nbsp;user interfaces&amp;nbsp;could use whatever language they want to build that slick new user interface.&amp;nbsp; And by doing so, COBOL continues to have a place in the environment.&lt;br /&gt;
&lt;br /&gt;
Or what about the post on migration?&amp;nbsp; (yes that was another post I made) With an &lt;span class="goog-spellcheck-word"&gt;APM&lt;/span&gt; solution, you can identify what pieces of an application can be moved off the mainframe to&amp;nbsp;a Windows or UNIX or Linux server.&lt;br /&gt;
&lt;br /&gt;
So, back to my point.&amp;nbsp; I believe that &lt;span class="goog-spellcheck-word"&gt;APM&lt;/span&gt;-based technologies are critical to the future of COBOL.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
They&amp;nbsp;can give new life to those COBOL systems...&lt;br /&gt;
&lt;br /&gt;
That's my thinking anyways.&amp;nbsp; What's yours?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-6139346787401057275?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OcT_1DZajfysk5uvuMwRAeOqwfw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OcT_1DZajfysk5uvuMwRAeOqwfw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OcT_1DZajfysk5uvuMwRAeOqwfw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OcT_1DZajfysk5uvuMwRAeOqwfw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/qRUPaC1pDMc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/6139346787401057275/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/05/why-apm-is-important-to-cobol.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/6139346787401057275?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/6139346787401057275?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/qRUPaC1pDMc/why-apm-is-important-to-cobol.html" title="Why APM Is Important To COBOL?" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/05/why-apm-is-important-to-cobol.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ADSHwzcCp7ImA9WxFSGUk.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-5007017910718302715</id><published>2010-04-22T10:12:00.003-04:00</published><updated>2010-04-22T10:16:19.288-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-22T10:16:19.288-04:00</app:edited><title>Application Portfolio Management - Best Practices</title><content type="html">It's tough to control your application portfolio.  Your systems have been developed over the course of years or even decades.  The people that developed the apps may have moved on to other roles and documentation is out of date.  So, the portfolio gets more and more complex.  And that complexity means they are slower to adapt and more expensive to maintain.&lt;br /&gt;&lt;br /&gt;Application portfolio management is an approach to help return control to application managers.  In this series of posts, I'll take a look at best practices for managing the application portfolio.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Goal: &lt;/span&gt;&lt;span&gt;&lt;span&gt;Constant  fire-fighting is no way to run a development organization.  Especially  in today's era of tight budgets and fast change.  In this post I'll  summarize the goal of APM and set the stage for a discussion of best  practices.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;  &lt;/span&gt;&lt;a href="http://applicationportfoliomanager.blogspot.com/2010/03/getting-to-goal-application-portfolio.html"&gt;Read   the post.&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Questions and Metrics: &lt;/span&gt;APM data  should answer questions that address a specific goal. Say, ‘why is this  business process inflexible?’, ‘where can I cut costs?’, or ‘where is my  software architecture flawed?’. To answer these different questions  requires different combinations and weightings of data (user surveys,  application code, or external sources). Sometimes more of one source,  sometimes another.  &lt;a href="http://applicationportfoliomanager.blogspot.com/2010/03/measuring-your-progress-application.html"&gt;Read  the post.&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Decision-Makers:&lt;/span&gt;   APM data needs vary based on where you are in the organization. Higher  level managers require higher level abstractions, particularly of  technical metrics. Also, different types of users will have different  data needs. An architect may want technical complexity data, but it may  only be meaningful to him if it is filtered by architectural models.  &lt;a href="http://applicationportfoliomanager.blogspot.com/2010/03/answering-questions-getting-right-data.html"&gt;Read  the post&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Maturity:&lt;/span&gt;  There are different levels of maturity for decision-making. This  maturity directly affects which metrics are accessible in the first  place and also indirectly because it determines the kind of business  goals that an organization is prepared to address.  &lt;a href="http://applicationportfoliomanager.blogspot.com/2010/04/how-maturity-affects-portfolio.html"&gt;Read  the post.&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;What’s  next: &lt;/span&gt;As a particular initiative moves from “decision” to  “action”, different data may be needed. More “bottom-up” data may be  necessary to implement the decisions at this stage. Further, different  metrics can be monitored to ensure the success of a given development or  modernization project as it is executed.  &lt;a href="http://applicationportfoliomanager.blogspot.com/2010/04/whats-next-executing-on-your-decisions.html"&gt;Read  the post.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-5007017910718302715?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/H6EOIhw5heIXSq2GDNEr9gz6vwY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H6EOIhw5heIXSq2GDNEr9gz6vwY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/H6EOIhw5heIXSq2GDNEr9gz6vwY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H6EOIhw5heIXSq2GDNEr9gz6vwY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/YPiEh2mh4Aw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/5007017910718302715/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/04/application-portfolio-management-best.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/5007017910718302715?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/5007017910718302715?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/YPiEh2mh4Aw/application-portfolio-management-best.html" title="Application Portfolio Management - Best Practices" /><author><name>Peter Mollins</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/04/application-portfolio-management-best.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQDQno6cCp7ImA9WxFSFEg.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-7268567835899282007</id><published>2010-04-16T18:19:00.000-04:00</published><updated>2010-04-16T18:19:33.418-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-16T18:19:33.418-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="FLoat-Long Cobol Java Float-Short Float-Extended" /><title>Precision:  What is it Precisely?</title><content type="html">Alex has &lt;a href="http://nerds-central.blogspot.com/2010/04/cobol-vs-java-for-financial.html"&gt;an interesting post over on Nerds Central&lt;/a&gt; which I believe you may find of value.&lt;br /&gt;
&lt;br /&gt;
He&amp;nbsp;details a couple of useful items specific to decimal precision in&amp;nbsp;Cobol and Java.&amp;nbsp;&amp;nbsp;It is&amp;nbsp;interesting&amp;nbsp; because it illustrates the use of a Cobol data type I've not played with, float-long.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_v4gr42wd_kk/S8jh_0v9iwI/AAAAAAAAAMk/XXzP-0l0HV4/s1600/target.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_v4gr42wd_kk/S8jh_0v9iwI/AAAAAAAAAMk/XXzP-0l0HV4/s320/target.jpg" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;Float-Long came about a few years ago, along with Float-Short and Float-Extended and was made part of the 2002 Standard I believe.&amp;nbsp; To make a long story short,&amp;nbsp;Float-Long isn't quite as accurate as you would hope, but does&amp;nbsp;have its uses.&amp;nbsp;&amp;nbsp;Alex provides a complete example showing&amp;nbsp;how to acheive both&amp;nbsp;an exact arithmatic answer using a Comp&amp;nbsp;data type&amp;nbsp;and how to use the Float-Long data type.&lt;br /&gt;
&lt;br /&gt;
The other reason I find the post of interest is that in his&amp;nbsp;article, it appears the Java code can only duplicate what the Cobol Float-Long data type provides (which is inaccurate), not the more precise answer he achieved using the more standard Cobol data type of Comp-1.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Am I mistaken in my interpretation of the&amp;nbsp;Java sample he provided?&lt;br /&gt;
&lt;br /&gt;
This looks like a red flag to me if your Java code is doing any math which requires&amp;nbsp;a high&amp;nbsp;level of accuracy on the right&amp;nbsp;side of the decimal.&lt;br /&gt;
&lt;br /&gt;
Can someone verify this and post&amp;nbsp;a Java-based example&amp;nbsp;confirming/denying the problem?&lt;br /&gt;
&lt;br /&gt;
I'm curious but&amp;nbsp;only know&amp;nbsp;enough Java to be able to nod in the right places when talking with a Java developer. *smile*&lt;br /&gt;
&lt;br /&gt;
P.S.:&amp;nbsp; The Visual Studio 2010 Launch in Las Vegas was quite the event.&amp;nbsp; Thanks to various issues with my plane ride (rerouted due to medical emergency and then detained in Albuquerque, NM due to&amp;nbsp;mechanical issues, etc), it only took me 20 hours or so to make the 3 and 1/2 hour trip home.&amp;nbsp; &lt;a href="http://www.msnbc.msn.com/id/36591444/ns/travel-news/"&gt;At least I wasn't flying to London!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-7268567835899282007?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/p_qzqO-baPK8Eb3PvySB2b8Z6N8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p_qzqO-baPK8Eb3PvySB2b8Z6N8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/p_qzqO-baPK8Eb3PvySB2b8Z6N8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p_qzqO-baPK8Eb3PvySB2b8Z6N8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/aI5oTXLpc0g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/7268567835899282007/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/04/precision-what-is-it-precisely.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7268567835899282007?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/7268567835899282007?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/aI5oTXLpc0g/precision-what-is-it-precisely.html" title="Precision:  What is it Precisely?" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_v4gr42wd_kk/S8jh_0v9iwI/AAAAAAAAAMk/XXzP-0l0HV4/s72-c/target.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/04/precision-what-is-it-precisely.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QCSX05fSp7ImA9WxFSEU0.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-736154282141509680</id><published>2010-04-12T17:56:00.000-04:00</published><updated>2010-04-12T17:56:08.325-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-12T17:56:08.325-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Visual Cobol Las Vegas" /><title>Visual Cobol.  You gotta see it</title><content type="html">Hey folks!&lt;br /&gt;
&lt;br /&gt;
I'm in lovely Las Vegas on the conference floor talking with customers about the new Visual Cobol release which is being announced at the Visual Studio 2010 Launch.&lt;br /&gt;
&lt;br /&gt;
So far the feedback has been that this is really slick stuff indeed.&amp;nbsp; This is the first time I've gotten a chance to look at the new syntax support.&amp;nbsp; Micro Focus development has done a tremendous job simplifying the syntax.&amp;nbsp; If you haven't looked at the articles out on C# Corner, go take a quick look.&lt;br /&gt;
&lt;br /&gt;
Oh well, gotta go.&amp;nbsp; Mike wants his laptop back!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-736154282141509680?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SUZ2Tlej-30qkTZo9L9SM11fOaA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SUZ2Tlej-30qkTZo9L9SM11fOaA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SUZ2Tlej-30qkTZo9L9SM11fOaA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SUZ2Tlej-30qkTZo9L9SM11fOaA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/ExeAo2A0tJg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/736154282141509680/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/04/visual-cobol-you-gotta-see-it.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/736154282141509680?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/736154282141509680?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/ExeAo2A0tJg/visual-cobol-you-gotta-see-it.html" title="Visual Cobol.  You gotta see it" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/04/visual-cobol-you-gotta-see-it.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcHR3w7cCp7ImA9WxBUFkg.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-3017684192263823840</id><published>2010-03-03T15:59:00.001-05:00</published><updated>2010-03-03T16:00:36.208-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-03T16:00:36.208-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JCL PROC COBOL CICS Migration Ezasockets" /><title>JCL and Procs Running on a Windows Server Near You!</title><content type="html">Hey folks,&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_v4gr42wd_kk/S47D4sDmCWI/AAAAAAAAAMc/ezLdwWUhWLw/s1600-h/migration-217x300.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" kt="true" src="http://1.bp.blogspot.com/_v4gr42wd_kk/S47D4sDmCWI/AAAAAAAAAMc/ezLdwWUhWLw/s200/migration-217x300.jpg" width="144" /&gt;&lt;/a&gt;&lt;/div&gt;Sorry to be slow in posting anything on mainframe migrations that I promised.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Seven weeks ago I was grabbed by the neck and tossed into shark infested waters&amp;nbsp;on a pilot project for a large retailer.&amp;nbsp; They were&amp;nbsp;looking&amp;nbsp;into the idea of turning off their mainframe.&amp;nbsp; For some reason or another they didn't just plop down their checkbook and write out a check.&amp;nbsp; "Run our application on a Windows?&amp;nbsp; Prove it." they said.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
So after many fun days and nights of work we demonstrated their application running off the mainframe.&amp;nbsp; Nothing like reinventing an environment which took twenty years to setup in a handful of weeks.&lt;br /&gt;
&lt;br /&gt;
Looking back, we spent almost all of our time building out the plumbing.&amp;nbsp; Getting&amp;nbsp;three CICS regions stood up that matched the mainframe, building out their PDS, Loadlib and Joblib&amp;nbsp;structures on the server, wiring in an ISC link back to the mainframe, setting up Ezasockets, etc., took most of the time.&amp;nbsp; The application elements (BMS, JCL, PROCs, COBOL, etc) came down with no changes.&amp;nbsp; And once we finished the wiring, those elements ran just fine after compilation and whatnot.&lt;br /&gt;
&lt;br /&gt;
In the past, the approach would have been to convert the JCL to a VB Script.&amp;nbsp; But nowadays&amp;nbsp;JCL can be run pretty much as is.&amp;nbsp; The biggest caveats are around third party tools such as FileAid, Easytrieve, and so on and so forth.&amp;nbsp; Alternate approaches to those elements may have to be put together before the jobs can run.&amp;nbsp; But the&amp;nbsp;core elements can run just like they are.&lt;br /&gt;
&lt;br /&gt;
For instance, consider the sample&amp;nbsp;JCL below:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//JCLTEST JOB 'JCL TEST',CLASS=B,MSGCLASS=A&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//*&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//* DELETE EXISTING DATASETS&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//*&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//GETRID EXEC PGM=IDCAMS&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//SYSPRINT DD SYSOUT=*&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//SYSIN DD *&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;DELETE MFIJCL.OUTFILE.DATA&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;SET MAXCC=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//*&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//* ALLOCATE AND WRITE RECORDS TO A DATASET FROM A USER PROGRAM&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//*&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//CREATE EXEC PGM=JCLCREAT&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//OUTFILE DD DSN=MFIJCL.OUTFILE.DATA,DISP=(,CATLG),&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;// DCB=(LRECL=80,RECFM=FB,DSORG=PS),&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;// SPACE=(800,(10,10)),UNIT=SYSDA&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//SYSOUT DD SYSOUT=A&lt;br /&gt;
//*&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//* USE THE IEBGENER SYSTEM UTILITY TO COPY RECORDS INTO A TEMPORARY&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//* DATASET AND PASS ON FOR USE BY SUBSEQUENT STEPS&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//*&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//GENER EXEC PGM=IEBGENER&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//SYSPRINT DD SYSOUT=*&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//SYSUT1 DD *&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;Rec 1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;Rec 2&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;Rec 3&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;Rec 4&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;Rec 5&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//SYSUT2 DD DSN=&amp;amp;&amp;amp;JTEMP,DISP=(,PASS),&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;// DCB=(LRECL=80,RECFM=FB,DSORG=PS),&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;// SPACE=(800,(10,10)),UNIT=SYSDA&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//*&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//* READ RECORDS FROM THE TEMPORARY DATASET CREATED IN THE PREVIOUS&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//* STEP&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//*&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//READ EXEC PGM=JCLREAD&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//INFILE DD DSN=&amp;amp;JTEMP,DISP=(OLD,DELETE)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//SYSOUT DD SYSOUT=A&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;//&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
It runs just fine on a Windows or UNIX box using the Micro Focus tools.&amp;nbsp; And before you ask, yes GDG's and restart logic work too.&amp;nbsp; My sample just didn't have any in it and I didn't go looking for a better sample.&amp;nbsp; You'll have to use your imagination.&lt;br /&gt;
&lt;br /&gt;
The hardest part for the project&amp;nbsp;involved getting the customer's CICS user exits brought over and working.&amp;nbsp; I had to wire in ISC links back up to the mainframe CICS region&amp;nbsp;to execute routines not&amp;nbsp;included in the downloaded project components.&amp;nbsp; But I digress... *smile*&lt;br /&gt;
&lt;br /&gt;
I was talking JCL and Procs.&amp;nbsp; I have yet to find JCL that runs on z/OS which won't work... Those things I have that don't work are the utilities or third party tools, not bone-stock JCL.&amp;nbsp; Does anyone have a specific question on migrating JCL that they are dying to ask?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-3017684192263823840?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LzjhDWEuOE9YrbprJxCrNlvQUGQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LzjhDWEuOE9YrbprJxCrNlvQUGQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LzjhDWEuOE9YrbprJxCrNlvQUGQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LzjhDWEuOE9YrbprJxCrNlvQUGQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/m2BhMaKifw4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/3017684192263823840/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/03/jcl-and-procs-running-on-windows-server.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/3017684192263823840?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/3017684192263823840?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/m2BhMaKifw4/jcl-and-procs-running-on-windows-server.html" title="JCL and Procs Running on a Windows Server Near You!" /><author><name>Robert Collins</name><uri>http://www.blogger.com/profile/06987247885620411892</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_v4gr42wd_kk/S47D4sDmCWI/AAAAAAAAAMc/ezLdwWUhWLw/s72-c/migration-217x300.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/03/jcl-and-procs-running-on-windows-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMFRnozeSp7ImA9WxBUE08.&quot;"><id>tag:blogger.com,1999:blog-1215138205010460377.post-2112524316944086052</id><published>2010-02-27T20:06:00.004-05:00</published><updated>2010-02-27T21:00:17.481-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-27T21:00:17.481-05:00</app:edited><title>Are you 'Visual'?</title><content type="html">&lt;div&gt;If you're like a lot people you learn more by observing how a process or task is completed than by having it explained or reading a book. While manuals and instructions are important, having hands-on experience with something reinforces the training being received and really 'drives it home'. I am one of the visual types myself. I like to work with a new process or product, dig into it, see what it's made of, try to push it to its limit and see what happens. This past week I had a wonderful time in Newbury, England with the Micro Focus Development Teams kicking the tires on Visual COBOL.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;"Visual COBOL"?!?!? Yep...Visual COBOL. Now this isn't some marketing campaign kicked off by the Micro Focus Execs to try and sell more re-branded, same old run of the mill compilers (&lt;em&gt;trust me, this ain't that at all).&lt;/em&gt; This is a whole new product that was developed to take advantage of the Microsoft .NET environment and platform. Before I explain about Visual COBOL I need to fill in some details. On or about April 12th Microsoft is going to be releasing Visual Studio 2010. This is going to be a major release for Microsoft, along with several other products. There will also be a new version of the .NET Framework being released. As part of the Global Agreement between Microsoft and Micro Focus, Micro Focus is required to release a product that will take advantage of the new architecture and features of the Visual Studio 2010 product... and do it within 30 days of the VS2010 launch date. Enter Visual COBOL.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Visual COBOL is 'not the same old COBOL' from Micro Focus. Not even close. Oh there are similarities; like a 30 plus year history of COBOL development experience, a lineage that has spanned multiple platforms, multiple language revisions, and dialects and has had more developers banging away on it than most other language development environments. But that's where the similarity ends. Visual COBOL is a whole new development product. The folks in Newbury took the knowledge and experience they have, married it with the excellent technology of .NET and created a whole new compiler and runtime environment. As some people have said in the past about COBOLs' growth..."this ain't your Daddy's COBOL" and they are so right. Now don't assume just because it's a "whole new development product" that your old COBOL code won't work on it...wrong answer Skippy! Although the development product is brand new, Micro Focus has taken great care to ensure backward compatibility. To that end, back to this week!&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The week in Newbury was designed to bring a group of people from outside Newbury, along with the Newbury and Sophia Development Teams together to really kick the tires on Visual COBOL. The goal was to see where the product was in relation to the project timeline, what issues were noted, and what could be resolved before the go live date. Everyone brought along samples of code and the first thing everyone did was try out their code on the compiler. I can attest that 100% of my previous code compiled and executed. The Team from Japan was also very impressed that not only did their code execute, but the interface was accurate with very few issues noted. The Team from France had similar results. The major portion of the week though was devoted to a process called 'STX' or Super Test eXtended. STX was a three day programming marathon session by everyone involved. All development on Visual COBOL was halted. The Development teams were split into teams of two and each was to come up with a project using Visual COBOL. They were supposed to use Visual COBOL as you or I would, as an end-user. All coding was to be done in COBOL, only COBOL. This was the first time I participated in an exercise such as this. To put it mildly, I felt like a fish out of water. While I like to think I'm a good coder I felt like a kid out of elementary school around these people. The way their minds think and the things they came up with were amazing. And their ability to go from concept to prototype in a very short period of time was awesome. The end result...WOW!&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Friday was our presentation day, the day we regrouped and showed off what we had come up with and describe our experiences using Visual COBOL. Now I need to mention there were developers who were new to Micro Focus that were used to coding in Java, C++, in Eclipse, on Unix/Linux who were involved. The bottom line though was they had to use Visual COBOL running under Visual Studio 2010. The end results were pretty amazing. (&lt;em&gt;As an editorial note, Micro Focus has some awesome developers. The stuff these guys not only came up with but demonstrated was amazing. Back to the article). &lt;/em&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;/em&gt; &lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;/em&gt; &lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_QJBd_Rm8yfA/S4nIOYgTn8I/AAAAAAAAAAw/1LQ4s1CUJ3M/s1600-h/datamap.png"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 134px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5443101774075633602" border="0" alt="" src="http://4.bp.blogspot.com/_QJBd_Rm8yfA/S4nIOYgTn8I/AAAAAAAAAAw/1LQ4s1CUJ3M/s320/datamap.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;One of the Development Directors (&lt;em&gt;hey, he was a coder at one time before he became a 'Director')&lt;/em&gt; came up with a copyfile parsing routine. By supplying a copybook the routine would identify different segments of the copybook, identifying keys, redefines, etc. and apply different colorizations to the fields depending on usage. Here's a screen shot.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Another example was the snake game. Using the Micro Focus ADIS controls (&lt;em&gt;going back to the bit about backward compatibility here) &lt;/em&gt;a snake game was created. A snake game is where you have to move around the screen eating letters or numbers but not over-step your tail as the snake grows in length as you eat the letters off the screen. The Team in Sophia, Bulgaria created an XML parser/generator that could read in a file and generate XML that could be used in a cloud-computing environment. Another person created a WPF tic-tac-toe game. One team of 2 even went so far as to search the internet for an interesting C# sample to see if they could take what was done in C# and convert it to Visual COBOL. &lt;em&gt;(I found this example as well but am nowhere near as savvy as these guys are so didn't even attempt it)&lt;/em&gt;. Have you ever played Visual COBOL Tetris? This version looked awesome. Great colors, quick response time, smooth graphics. All built using Visual COBOL and taking advantage of the .NET Framework 4.0. I'm hoping this example makes it into the release. It was really cool and to be honest, looked better than the C# version (&lt;em&gt;sorry Microsoft)&lt;/em&gt;. There were other examples but these were the ones presented to the excited crowd.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Did you notice one thing about the examples described? All but one were games! That's right...games. COBOL is no longer relegated to only crunching business information and generating reports. While it is still very well suited for that task it has come so much farther than that, thanks to companies like Microsoft and Micro Focus. The agreement between these two companies it translating into a lot of opportunity for companies with existing COBOL resources to become more profitable with what they have. By taking their existing COBOL source code and development teams, spending some time and money on retraining, customers will be able to realize some huge technological advances for what turns out to be little investment. Visual COBOL and Visual Studio 2010 will greatly enable customers to leap forward technically and afford them the ability to please their customes.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;I'm really excited to have been a part of this effort and am very much looking forward to the release of Visual Studio 2010 and Visual COBOL. As soon as I get the OK I'll start describing the changes that are coming, not only in presentation but in the compiler. Trust me, it will make our COBOL code even easier to read and follow for non-COBOL programmers who can then learn how to code COBOL to REALLY become productive!&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Happy Coding!&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1215138205010460377-2112524316944086052?l=itsacobolworld.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RmqLaIATo7hJSsVcD1en904FB6s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RmqLaIATo7hJSsVcD1en904FB6s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RmqLaIATo7hJSsVcD1en904FB6s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RmqLaIATo7hJSsVcD1en904FB6s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/xgFI/~4/6Uk-tT9aKqM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://itsacobolworld.blogspot.com/feeds/2112524316944086052/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://itsacobolworld.blogspot.com/2010/02/are-you-visual.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/2112524316944086052?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1215138205010460377/posts/default/2112524316944086052?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/xgFI/~3/6Uk-tT9aKqM/are-you-visual.html" title="Are you 'Visual'?" /><author><name>RSM50</name><uri>http://www.blogger.com/profile/07600530542083941428</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="21" src="http://3.bp.blogspot.com/_QJBd_Rm8yfA/Soyywj4qh6I/AAAAAAAAAAM/ZD5oU7JCaWI/S220/RSM2.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_QJBd_Rm8yfA/S4nIOYgTn8I/AAAAAAAAAAw/1LQ4s1CUJ3M/s72-c/datamap.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://itsacobolworld.blogspot.com/2010/02/are-you-visual.html</feedburner:origLink></entry></feed>

