Tuesday, February 24, 2009

*Arrays can be quirky in 2e

Hiya,

I have just become aware that *Arrays do not support the correct ordering sequence for negative index values. This has been referred to CA Support (2nd Level) for investigation.

My scenario is an array that is ordered based on a difference between two values. For the purposes of a meaningful example lets pretend that our array is a league table for the English football premier league (Soccer to some). If your game is rugby or another sport then you can draw your own comparisons.

The scenario is that after 2 games of the season I have 5 teams on 4 points. These teams are place 1 to 5 on the table. Let's further embelish this example and assume that my team, Tottenham Hotspur (Spurs) are at the top. :-)

TeamPointsGD (Goal Difference)
Tottenham4pts+78
Liverpool4pts+5
Everton4pts0
Wigan4pts-4
Chelsea4pts-8
......
Arsenal0pts-78


Apart from the obvious good start by Wigan and the strange GD for two games. I believe the example table to be a fair reflection of the real world. With Tottenham at the top. COYS. Blue and White army. Stand up if you hate Arsenal.

If I were to create an *array in DESCENDING order with the keys of Points and GD. My array would sort itself as follows:-

TeamPointsGD (Goal Difference)
Tottenham4pts+78
Liverpool4pts+5
Everton4pts0
Chelsea4pts-8
Wigan4pts-4
......
Arsenal0pts-78


The arrays doesn't handle the negative sign and although it preserves the negative sign it is unable to sort it. Note the order of Chelsea and Wigan.

Until this is fixed, a simple workaround I have used is to *ADD an arbitary figure to the GD to ensure it is a positive value. In order not to blow a limit (as over a season a team can be -100) I need to cater for a higher number so I chose 10,000 for the *array as an offset.

At the point of display which happens to be a DSPFIL I simply deduct 10,000. Simple workaround. Hopefully, simple solution that will be fixed some time in the future. Another option which I contribute to my colleague Chris Koloszar is to do the 10,000 offset for the key and leave the original value as an attribute of the array also.

My main concern is for those of you that have negative values but have yet to discover them.

I will post updates as I hear back from CA.

Thanks for reading.
Lee.

UPDATE HISTORY
==============

2:54pm (Same Day). I have had some quick responses from CA (Very impressed - Thanks Lynn). CA claim this to be working as designed. I am countering that it is a bug and was designed incorrectly. I hope that this will be fixed and I will keep you all updated.

What do you think?

Next Day - Referred to development not a trivial fix but I am confident it will be a good look over. Thanks.

Friday, February 20, 2009

Goopression

I thought I'd have a little whinge today about Google. Well not Google themselves. I think that they are a great innovative company who have transformed how we all interact with the internet and for that, I am grateful. I do remember the early days with Compuserve dialup and prior to that premium phone bulletin boards and usenet groups.

But recently I have been exploring business ideas of my own. When I say recently. Like most IT guys I have been pondering the 'garage' project, aka the 'killer app' for years.

We can all use google to research our ideas, get an idea of the validity of the idea i.e. any competitors that may be lurking in the wings etc.

However, today, I am suffering for "Goopression". Google depression!!! This means that your killer idea (no matter how you search for it) has already been taken. The domain has gone, as has your enthusiasm for your idea. This feeling really sucks.

You see, as much as the internet can be an inspiration to us all. One quick google of an idea and all of a sudden you are depressed......Someone else has stolen your idea. Sorry - got there first.

Now for sure. If it is a good idea (which I believe I have) backed up by a great business plan you may well achieve your aim. You will remember the number of search engines that were around pre-google...... Just don't be surprised if your killer idea has already been considered, invented or patented.

That all said, if you are having the ideas in the first place then one day that killer app/idea will happen. Just be prepared for a little disappointment along the way courtesy of our friends from Google.

Thanks for reading.
Lee.

Friday, February 13, 2009

My top ten tips for a software developer

I was updating the blog and getting a few advance posts in place for February 2009. Thanks Blogger.com for the neat features of scheduling blogs that you introduced last year. This saves me a lot of hassle in remembering to post pre-written content and also allows for me to have a blog day every now and then.

Anyhow, I was also reading a few "Top Ten" advice lists that were sent to me over the years by a trusted colleague called Jim. I always take the time to read these and he generally only sends over meaningful content and this time was no different.

This did get me thinking a little so I thought I'd write one and see if he agrees.

I have blogged in the past about what I believe makes a good developer.

Today, I'll issue my Top Ten tips for developers covering both work and life. In no particular order apart from number 10.

1. Always be on the look out for the next big thing (in IT) and see if you can get in early enough to actually ride the wave rather than be left behind frantically trying to swim there.

2. If you find something you like doing and the opportunity is there to continue doing it, then continue to do it! Don't be bullied into career progression if it is not for you. My old boss once said to me that there is a difference between earning and dying. Words of wisdom for everyone.

3. Always test your code no matter how trivial the change. You have no come back if you didn't test a change you have made, fullstop.

4. The ten minute tasks always seem to take a day, or two.

5. Never assume anything when it comes to user requirements or management reporting.

6. Never under estimate the desire of the testing team to see you fall on your developer sword.

7. Never code if you are drunk as you will need to recode the next day. Also never ever ever ever ever ever return to the office if you are inebriated. You will start to talk about 'Pink Screen' technology and how one day you will be everyones boss or worst case scenario, you will set off the fire alarm with a toaster and cause an evacuation of a 21 storey building. Again, certainly no come back here, you are on your own. Believe me, these are true stories......

8. Remember good quality applications and systems have corners. You simply can't cut them.

9. Remember it takes 20% of the time to build 80% of what the user sees and interacts with. The remaining 80% is making sure that they don't break anything.

10. Never compile a top ten list and not have a decent one for point number 10.

Thanks for reading.
Lee.

Wednesday, February 11, 2009

Its Product Enhancement Time for CA Plex and CA 2e(Synon)

Not many software companies give you the chance to directly influence the strategic direction of a product you use.

The product team at CA are once again asking us to cast our votes for potential enhancements to the CA Plex and CA 2E (Synon) tools.

This recent communication was sent by Bill Hunt to all PLC (Product Line Community) members. If you are not on the list then you are not in the know.

Join.

See details below.

"Hello CA Plex and CA 2E Community,

User feedback, suggestions and ideas are an important element in our development planning efforts. With this in mind, we would like to invite and encourage you to participate in our annual Enhancement Request Priority Voting program. We are launching this program effective now.

As was also the case last year, we ask that you review the attached list of enhancement requests which our team has reviewed and considered worthy of additional research. There is one list for CA Plex, one for CA 2E - choose whichever list(s) are applicable to you.

From these lists, we ask that you submit your “top ten” priority enhancements from this list:
- Voting is done online:
o For CA Plex: https://www.casurveys.com/wsb.dll/156/PLCPLEX-ERJan2009.htm
o For CA 2E: https://www.casurveys.com/wsb.dll/156/PLC2E-ERJan2009.htm
- You must be a registered member of the CA Plex/2E Product Line Community in order to submit a vote. Use your registered e-mail address and password to log into the voting system.
- The online system is the only manner is which votes will be counted.
- CA Employees are not eligible to submit votes.
- Please do not send your votes via e-mail to me, or Daniel Leigh, or any other CA team member – votes submitted this way cannot and will not be counted into the results.
- Each PLC member is allowed one vote each (if you use Plex and 2E you are able to participate in both surveys)
- If you have colleagues using CA Plex or CA 2E, please encourage them to register for the PLC:
o Go to http://causergroups.ca.com
o Click “Join Today”
o Choose “CA Plex/2E Worldwide PLC Global User Community” in the drop down box indicating which user group to join
o Fill in the required contact information
o It only takes a minute and it costs nothing!
- In addition to the actual enhancement request survey, there are some poll questions included online regarding your overall use of the products, your impression of the PLC program and what events you would like to see or would be likely to attend in the future. We ask that you answer these questions as well; this would be helpful to us and very much appreciated.
- The “voting polls” will be opened Monday 9-February and close on Tuesday 31-March. This should give teams ample time to review the lists and make decisions on which items would be more of a priority to help your CA Plex or CA 2E development efforts in the future.

Our participation as a group in this program last year was excellent, and we hope to get at least as much participation as last time. If there are questions please don’t hesitate to contact me, thank you in advance for helping us understand your needs, and for your continued support of CA Plex and CA 2E. "

JUST DO IT!!!!!

Thanks for reading.
Lee.

Friday, February 6, 2009

BLOGGERTUNITY

I have been meaning to write this little post for quite a while. I coined the term many many months ago when I was at my local pub quiz.

Most of you bloggers out there realise that once you start blogging you go one of two ways. You get addicted, it consumes time and you post. Or you have a go for a while and then it peters out as you run out of ideas or opportunities to blog.

This got me thinking about a "bloggertunity". This is an event that leads to the opportunity to blog.

I have checked http://www.dictionary.com/ and the word is not referenced.......Indeed the resultant alternatives leave something to be desired if you ask me.... Look Here.

I then decided to google the term and it came up with "Results 1 - 10 of about 171,000 for bloggertunity. (0.07 seconds)" Number of hits for the term as of 31st January 2009 17:40 NZ Time). So clearly it is going to take a while for the term to catch on. Try typing in Britney or Obama and look at their results for a comparison.

But who knows, in the future this word might be as much a part of everyday language as "googled". Time will be the judge on this one.

How many now? Click the link below to find out?

http://www.google.com/search?hl=en&q=bloggertunity&meta=

I then came across the piece of paper (hence this post) I wrote that night which has a few other interesting blog posts. So with pen and paper in hand you should never pass up on an opportunity to generate content for your blog.

Now, for the regular readers of this blog focused on software development principles and the model driven development tools CA Plex and CA 2E (Synon) you could be forgiven for asking the question "What relevance does this post have to your blog Lee?".

Well you are quite right. The answer is a resounding

"NOTHING, ABSOLUTELY NOTHING."

But it was a bloggertunity that I couldn't let pass me by.

Thanks for reading.
Lee.

Saturday, January 31, 2009

2e Development Standards - Screen Functions (Part I)

I guess the last couple of months have been a bit quite on the site. This was due to some holidays on my part and the visit of relative from overseas for 5 weeks. As you may know I live in New Zealand and the Christmas and New Year period is a time of relaxation and recouperation as well as a period of mass and I mean mass national holiday. Many businesses shut down for a compulsory two weeks.

I am now refreshed and ready to finish off those blog posts that I promised at the back end of last year.

Today I want to continue the 2e (Synon) development standards theme. I really want this site to be an extension to your technical libraries. So without further procrastination, I will get on with development standards, tips and gotcha's for 2E screen functions.

Today will shall concentrate on the single record function type PMTRCD. Future posts will cover the remaining single record function types as well as multiple record function types like DSPFIL etc.

If used as designed and thats a big 'IF', then this function should have fields on the screen that are prompts for the user to input some values which are then passed to another function for action. These would typically be a report or a processing program of some description.

But, like everything in 2e, the original design intention and actual use is only limited to the users creativeness. I have used these screen types for edit and display screens, prompts, information windows and even restricted subfiles. They are powerful for a number of reasons but for me the ability to DROP the relations and code a screen from a blank canvas is very satisfactory indeed.

General Pointers


A PMTRCD will typically be used in situations where an EDTRCD or DSPRCD is not applicable or too complex, or will have too much of a processing overhead or the traditional methods highlighted above.

For performance reasons any fields or file-to-file relations not needed should be DROPPED from the device design.

After USER:User Defined Action there is no check for any outstanding errors during the User Defined Action processing. If the function option Repeat=No then function may just exit and any errors will not be reported back to the user. Therefore it is a good idea to do a *Quit if PGM.*Return Code is not *Normal, or *Quit if *PGMERR.

Tip

If the function requires a complex set of fields or file to file relations which is not present on any existing file then consider creating an array with fields set to MAP for the PMTRCD. This is often easier and simpler than basing the function on an existing model file, then using lots of function fields and adding procedural based action diagram checking.

Gotcha's

If the function option Repeat=Yes is set then the PMTRCD just loops back to redisplay the detail screen. It does not execute USER:Load Screen. To make the function execute this user point again call user source 2E Force PMTRCD Reload






A PMTRCD behaves slightly different to an EDTRCD. During the validation cycle there is a *Quit if *PGMERR after USER:Validate Fields.

If the primary key relation check has not been turned off then an automatic prompt is generated to a SELRCD over the based upon file. But unlike other file to file relations there is no opportunity to choose which SELRCD is to be called. This I need to validate as I was unable to replicate at the time of writing.

Hope this helps?

Thanks for reading.
Lee.

Monday, January 5, 2009

Credit Crunch 2009 and IT.

I would suggest that other that Britney Spears in recent months "Credit Crunch" has been the most widely used search term on the google servers. No doubt someone will correct me on this subjective comment.

What does this mean for us in IT over the coming months/years. For sure many companies are going to tighten their belts during 2009. Capital expenditure will probably have processes, procedures and forms redesigned/created for general publication. The good companies started this 12 months ago.

Well I guess there is (as always) both opportunity and risk. Mergers and Aquisitions will continue therefore some consolidation will occur. How you are affected will very much depend on what you do, your role and business etc, your skills and a little bit of luck. There isn't too much you can do if your CEO is Bernard Madoff. But if your company is tight on expenses and hasn't blown the budget in recent months on a hope of business eventuating then you have a tick in the good column.

I list below my 5 top tips to avoiding uncertaintly or unemployment due to the credit crisis.

1. Networking.

Many people have simply rode the good times of the last decade and have largely ignored this simple working practice. We all know the phase "It's not what you know but who you know." Check all your email addresses for old colleagues and make contact. Join professional and social networking sites like LinkedIn and put your profile on the web and reconnect to those old colleagues.

You may go as far as publish a blog. At a minimum your CV should be on your regional major recruitment portal. Employment is changing. People are now being headhunted via these sites and in these times they (recruiters and employers) will perform the data mining rather than incur the costs to advertise. You may be the dream candidate but if the job is not advertised then you will not hear about it.

Subscribe to news feeds for your technologies and industry and get reading. Join forums and post questions and replies therefore becoming known as a regular and reliable contributor.

2. Review and update your CV.

Even if you feel you have the most resilient of employer and the most solid of job prospects at your firm, you should always from time to time review the CV. That technology buzzword from 2005 may not cut it when there are 50 candidates for a job, the search spiders may know it as something different in 2008. Just ask IBM and the rebranding of the AS400, System i, iSeries or Power System.

Read, read and re-read your CV. Tune it to your skills, be honest and review it candidly. Would you employ you? I see too many CV's where the presentation is poor. Spacing, order, typo's are a few of my pet hates.

So update the CV and rehearse in your mind what you would like to project at interview. If the CV doesn't say it then you are unlikely to be be given the opportunity to do so either.

Do not wait until you need your CV. It takes a week or two to polish a decent CV and in a competitive environment like redundancy when many people or made available that next job could be gone before you hit the spell checker toolbar button.

3. Perform a skills review and add breadth to your skill set.

If you are a one trick pony. Learn another one quick. Unless of course you are best of breed then you might be OK. As a developer you are used to change and learning on the job. Make 2009 the year where you spend less time on the golf course and more on training courses and home learning. Understand what is coming in your area and ensure you know it well.

Challenge your employer for a training course. If they refuse? What does this say.......

4. Talk to your boss.

Put simply. Don't panic too much if your company is pretty safe. After all some firms have business models that thrive in these uncertain times. But there is nothing stopping you asking the hard and direct questions of your boss. Any quality manager will already understand the local situation and will have a reply for you if they haven't already addressed this as part of their attrition strategy.

If you don't like what the boss says then ask the bosses boss. Get the answers you need.

5. Cut your expenditure (Work and Home).

There are many things you can do here. Take sandwiches to work. Car pool to work. Reduce mobile phone expenses. Go to the gym instead of the pub to name a few.

All of these will boost your savings a little just in case you are cut. This will increase the amount of time you have a make an informed next career choice rather than a hasty decision and a blot on the CV.

As a Plex/2e developer you are probably slightly more shielded than others. After all, you are not ten a penny people. That niche skillset could help out quite nicely.

So look out for the signs.

Good Luck.

Thanks for reading.
Lee.

Tuesday, December 30, 2008

Merry Christmas CA

Well it is that time of year again when we all take a well deserved break (this is subjective I know), send those work clothes to the dry cleaners for a much need overhaul, eat too much, drink even more and come back to work refreshed in the new year with at least one broken new years resolution by the 5th of January.

Christmas is often a busy time of year for many of us and we sometimes also spend the time talking about those that are no longer with us at those family reunions. I presently have some of my relatives visting us and have also had a long time family friend popping in to say "Hi" even though we live 12,000 miles apart.

Anyhow, Christmas is a time of giving (well it is in my world) and CA thankfully think no differently.

If you haven't already seen the news feeds then you may not know that our friends at CA have gone GA on CA Plex 6.1. There are quite a few neat features in this release that are worthy of a mention here, highlights include:-

Model-based SOA support
- WCF Service Generation
More Extensible Development Environment
- Plex API Enhancements and Add-Ins
- Code Library Service Generator Plug-Ins
Windows Vista Support for development
Group Model Update History
Runtime Backwards Compatibility - Easy Upgrade from 6.0
- No re-gen or re-build from r6 to r6.1
Platform Compatibility Updates
- IPv6
- Java SE 6.0, ANT 1.7.0
- SQL Server 2008, Oracle 11g
- Windows Server 2008
- 64-bit Windows

For full details follow some of the following links (Note I am not responsible for external site content):-

http://www.ca.com/us/press/release.aspx?cid=194906

or the product brief

http://www.ca.com/files/ProductBriefs/ca_plex_product_brief.pdf

I am particularly keen on the additions and improvements to the Model API and what this will allow third party vendors to create to support the CA Plex ecosystem.

But then there is more.

CA have also announced that the user voting system polls used successfully in 2007 will be re ran early 2009 to help provide CA product management with user driven requirements for the enhancement of the toolsets (Both 2e and Plex). But remember you are voting in enhancement requests made. In order to get your requests in the list you need to contac CA support and raise a ticket.

But then there is more.



2e 8.5 is already Alpha and going Beta in the new year. Highlights for this release are:-

ILE Service Program support
- New object type to combine modules into service programs
- Supports CA 2E-generated and external modules
Web Services support
- Deploy ILE Service Programs as web services
- Based on IBM i Integrated Web Services server for ILE
Improved Impact Analysis
- Take account of commented-out code
- Voted No. 1 in 2008 Enhancement Request Survey
Better search/positioning facilities in the model
IPv6 compatibility
CA 2E Web Option Environments
- Separates user data from the product libraries

I believe GA is planned for July 2009.

But then there is more.

There are webcasts to be heard in the new year. There are events to attend. There are conferences to consider. There are powerpoints for CA world to be downloaded.

How do I know all this. Well I am a member of the PLC (Product Line Community) and as such I get regular email updates from the product management team at CA.

To join this ever growing list, simply click the link below.



Mery Christmas and a Prosperous (Credit Crunch Recovery) New Year.


Thanks for reading.
Lee.

Sunday, November 30, 2008

2e and your support network

Updated - 12/06/2009
I recently received a communication via the blog feedback feature. It was from one of our colleagues in France who was a little concerned about the support he receives from CA and also the usage of the tools in general.

There are quite a lot of interweaving discussions to answer his question below.

"In France,we have CA/2E 8.1SP1fr RPG.Here,we have no news from this product,it seems dead! We have to contact US support to obtain some news/upgrades,it's very difficult to have a schedule of upgrades.We use 2E since 95 and nothing has changed in the way of using it. Please reply to discuss. Thanks. "

So I guess I need to answer each of these and share some opinion along the way. After all, isn't this the point of a blog in the first instance.

Is it Dead?

Well the short answer to that is "NO". A quite emphatic one actually. CA have a roadmap for the 2e product with a host of community voted enhancements being included in 8.5 (GA July 2009, I understand). I am sure these were discussed at CA World. There was also a call from Daniel Leigh recently to the community about utilising Web Services directly in 2e as well as catering for the creation of ILE service programs from within the toolset.
I have been part of the Alpha and Beta testing and these is certainly some good potential in these areas.

Keeping updated about the product.

CA is a big company and I would guess that the local offices are often the last to know about product centric announcements. The guys responsible for the 2E and Plex products are particularly vocal online and via a series of user groups. The US is the biggest installed base for these products so I guess it is only right that the focus starts states side. You can sign up to the forums, my blog and other fan sites as well as the Plex2E PLC (Product Line Community). Not to mention the local user groups in some regions. US and UK.

There is also Alpha and Beta testing programmes which I encourage you to consider.

Other useful links below which I have also added as a dedicated link on the blog home page.

The CA Forums

http://caforums.ca.com/ca/?category.id=caplex

Communities Product Line Community

http://causergroups.ca.com/usergroups/UserGroupHome.aspx?ID=391

Also check out the other links I have on the blog home page. I link to the Plex and 2e Wikis which are resources we can all contribute to as well as specialist sites of key CA product partners.

Once you are a member of the PLC you will receive very regular updates from Bill Hunt and the team as well as invitations to webcasts.

And then you always have the other forums around the platforms the tools generate for. i.e. SystemiNetwork, although I guess this will be changing its name again soon once the Power System branding gains momentum.

Upgrades.

CA have explained in the past on numerous occassions and the release schedule would confirm this, they issue major upgrades for the products every two years. Service packs in between which add functionality as well as a fix roll up. See the CA website for more details about each of the product roadmaps along with release and support cycles.

On a side note SP2 has been available for quite a while (November 2007) and as I referred to earlier 8.5 is GA for July 2009.

Features introduced into 2e in recent years.

The following link (on the 2e wiki) highlights the changes that have been added to 2e in recent years. If you are considering or using Plex also then you should check out it's wiki also. See the links at the top of the blog.

http://wiki.2einfo.net/index.php?title=Versions

Depending on how you use the tool or how you have approached extending the tool would dictate which of the features you are using. Often, as the tool has been around a while we just use it as we always have. Not too different to those of us who use Word as if we were using Word for Office 4.3 instead of 2007.
If you are into componentisation of your 2e systems then you will be utilising many of the other features. However, there is no right or wrong way to use the product, simply what works for you. But do take a look at what is there and see if the new features can be applied to your environment.
I was quite shocked to see on a recent PLC 2E users survey that many shops are still on 7.0 and some on earlier versions.
My strong and hence bolded recommendation here is to get current.

Certainly 15 years ago the focus was that 2e generated every aspect of your system. Nowadays if forms part of a hetrogenous platform of servers and tools.

The base tool has remained largely the same with the focus on value add but 8.5 has quite a few base tool enhancements. I like the filtering now. Very neat. And recent releases have had quite a lot of neat shortcut function keys and subfile options that can increase developer productivity.

Lastly, I guess there is also the advent of the internet. With so much information available, if we are not sourcing our information via the net then we could be missing out on lots of it. And if we looked closely or joined the PLC you would know about the 4th Annual conference taking place in Ft Lauderdale, Florida, USA in September 2009.

Thanks for reading.
Lee.

Tuesday, November 18, 2008

What next?

My regular followers for which there are many. I am pleased to say that I have over 100 unique visitors per month visiting the blog and the number is increasing. If have dabbled with a mixture of real life stories and content, technical 2e content, management styles, observations about software development and a couple of other stories related to me and my experiences as long as there is a loose IT twist.

I have spent much of the last two months writing more about 2E. I plan to finish off my posts in this area over the coming months and years. I certainly have plenty of material left.

Finish 2e Development Standards
Model Management
Database Adminstration Guides
Advanced Development Techniques
Model Tidy
Modernisation Options for 2E generated systems
Plex Development

........ are all blog series candidates in their own right.

I thought that I'd take a week off this week and ask you the readership what you would like to see. The hits to date make it a worthwhile exercise for me to put this content on the web. If you have any content you wish to share, requests for additional coverage then place a comment on the blog and I'd be happy to start doing some of this for you.

So.

Let me know. I reckon I have a year or two left in me looking at my current roadmap. A little more now won't hurt.

I look forward to hearing from you.

Thanks for reading.
Lee.