[ home of NICK LITTEN - IBMi Developer and Geek-a-holic ]

You are here

Blogs

Turnover and External Procedures is twisting my melon, Man!

every rhino expects a soft landing

I've been having problem promoting Stored Procedures today. After an hour of looking at two different Applications defined in Turnover - where one works fine and the other... *cough.... doesnt. I'm still none the wiser. Grrrrr

external stored procedure definition in TurnoverSo this little cheat sheet may come in handy for me (and for you!)

Possible reasons why Turnover can't delete existing stored procedure

For TurnOver to properly promote your routine's catalog entries, you must do the following:

  • Create a source member that uses the CREATE PROCEDURE or CREATE FUNCTION statements, to be run with the RUNSQLSTM or TRUNSQLSTM commands.
  • Give your source member the same name as the program that it references.
  • Use the SPECIFIC statement to give the routine's catalog entries the same name as the source member name.

The *MOVOBJ method is used during archiving of existing catalog entries, during distribution, and during recovery processing, as follows:

JBA Commands

the good old jba toolbox

Randomly surfing around this morning - I stumbled across this comment tucked away in some obscure pre-1990's forum in glorious Times New Roman font. Written back in the days when terminals clunked, mainframes were the size of a room, men were men and women were pleased.

TUR3333 - No local Turnover system Defined

TUR3333 - No local Turnover system Defined

This week I mainly been playing with Turnover V100....

Preparing TURNOVER V100 (Software Change Management tool for IBMi Systems) for a major application upgrade, adding the ability to use Turnover Forms for specifically deleting and/or moving objects from one environment (library) to another. In this case its because we are un-merging a custom program library and breaking it out into application base objects, custom vendor objects and custom internal objects. Yes, its a nice bit of tidy up that puts a smile on my soul.

Configuring Turnover to make it do this however... does not... put a smile on my soul. It sometimes makes it quite grumpy in fact.

Especially when you get an annoying error on the TARGET system saying that it isn't defined to itself.

A TURNOVER distribution was received but no local system is defined. Unexpected results may occur.

No Shit Sherlock! 

You can do it the clumsy way, or you can do it the easy, straightforward way.

RPG is going back to the future

I stumbled across this article with some really neat RPG tricks... I'm using one at moment so am cut/pasting it here for quick reference for myself. I've met the author (Mr Bob Cozzi) at the RPGWORLD conference back in 2009. Very smart cookie. I can tell you:

 

How Do I Left-Justify Text Within a Character Field?

Clumsy Solution 1:

D Start           S              5U 0
D End             S              5U 0
D Len             S              5U 0
D MyValue         S            300A   Inz('    01234567')

C     ' '           Check     myValue       Start
C     ' '           CheckR    myValue       End
C                   eval      Len = (End - Start) + 1
C                   eval      myValue = %subst(myValue:Start:Len)

 

This solution uses a typical application of the %SUBST built-in function to extract just the data within the original MYVALUE field and move it, left-justified, into itself via the EVAL opcode.

Clumsy Solution 2:

D Start           S              5U 0
D MyValue         S            300A   Inz('    01234567')

C     ' '           Check     myValue       Start 
C                   eval      myValue = %subst(myValue:Start)

 

Recommended create command defaults from AS400 to iSeries

using CHGCMDDFT to set realistic compile parms

This weekend I upgraded an old Turnover 5.4 Change Management installation to the newer V100 version across several LPAR's of a customers IBMi intallation.

As part of the mission to tidy up the Software Change process – I see a lot of objects that are routinely created with various parameters being over-ridden because the defaults don’t fit my customers software development model. Now, the problem with this is that a standard is set and then followed, sometimes blindly, for years. Obviously, any step in a compilation where the programmer has to remember to over-ride the default creation parms is time consuming and error prone.

So, wonder why IBM havent changed the defaults for these commands since the good old AS/400 days:

Could we use CHGCMDDFT to set the following parameters as new defaults:

CRTSRCPF RCDLEN(132)

Increase from old RPG3 standard 92 rcdlen, thru RPGLE standard of 112 to new RPG4/Free standard of 132

CRTPF SIZE(1000000 10000 10) REUSEDLT(*YES)

This size is routinely overridden to *NOMAX (not a good idea) so setting a more realistic default size might be appropriate? 1m records?          

Set Source view in *DEBUG mode to *SOURCE allows developers to debug code and see the code it was compiled with:

CRTRPGMOD DBGVIEW(*SOURCE)

CRTCLMOD DBGVIEW(*SOURCE)

CRTBNDRPG DBGVIEW(*SOURCE)      

roo biks

do modenr kinds even know what a rubiks cube is

I've been fascinated by the Rubiks cube since it defeated me, repeatedly, during my youth.

Bloody confusing thing and I refused to read all the books on how to solve it. This was decades before Youtube and the video guides on how to solve it.

But... bloody hell.... new technology has kicked us humans up the bum. LOL

rubikcs motorcycle helmet

I managed it once, Peeling the stickers off helps  ;)

How can I learn Microsoft MS Project 2010

micro soft project manager

Microsoft Project 2010 is arguably the best project management application out there. Do the guys at Microsoft do anything by halves?

MSProject is an excellent solution to the problems involved in keeping track of projects as they develop. It easily integrates with other project management software and will import/export from any another software program that you may prefer. Neat stuff. But it's still a complicated thing that I've used many times, skimmed over the top of most of the complicated processes and left me scratching my head about how it works.
 
But now, courtesy of my infamous Uncle Dave, help is at hand: http://www.msproject2010primer.com/

What causes the 'changed outside of turnover' iSeries error message

What causes the 'changed outside of turnover' error message

I'm currently working with IBMi (iSeries) Turnover change management system. It's the best SCM (Software Change Management) application in IBMi land and has a great balance between being easy to use and very powerful.

I know the product fairly well, but it still grins and kicks me in the shins occasionally. This week I've been seeing a lot of "this program has been changed outside of turnover" warning message when checking Turnover Forms to promote code changes. But, when I use DSPOBJD to compare object differences, the only thing different is the last used and the change date. Maybe its a system authority change on the object? Or something deeper and trickier...

The trouble is... what exactly is Turnover checking when it compares the old and new objects?

I've frequently scratched my head over this so it's time to submit the following question to SOFTLANDING SUPPORT

What exactly is the cause of "program has been changed outside of turnover" messages...

I need more points on foursquare

foursquare addict

Since stepping forward into the light of smart phones, mobile computing and the world of Android – I’ve been gripped by quite a few ‘apps’ and recently, FourSquare is developing into a fun little addiction.

What is Foursquare?

It uses the location ability on your phone (GPS if you want pin point accuracy) to let you know whats around you – shops, pubs, houses, arenas, anything! You check-in to a location when you get there. So, when I go to work I ‘checking’ to the department at work. My Foursquare friends can see my last check-in. I can also tweet/Facebook these check-ins to share information about what I’m up to and attach photos or notes. It’s a great tool for investigating restaurants around you and seeing real users reviews and notes on what’s good or bad about these venues.

Where’s the fun part?

Find me on FoursquareThe Foursquare chaps added a point’s based function that awards you points, prizes and badges for different locations based on various factors like the first time you checking, or the fourth time you checked into a barber shop etc…

This soon blossoms into a fun little competition with your other Foursquare buddies.

Things are looking bright for IBMi

its big and blue

Read this today. It's cncise and aligned with my way of thinking:

Our IBM i community has one thing in common. We love the platform. However, we are a divided community, in that we don’t consistently treat the platform as the same thing. To some people, we are still working on the same wonderful AS/400 we had in 1988. For others, we have this amazing IBM i operating system running on the best business servers on the planet – Power Systems. And some of us think we are somewhere in between. We don’t all agree on what this platform is, how to use it in a modern way, or what we should call it. Yet we all love it?

Given that our platform has detractors who wish for it to go away, this disunity is a source of material for them. There are many who claim this platform is nothing but an old AS/400, out of date, and out of place. They work to migrate from this platform to a solution that is inferior, and in the long run costs far more to own. Yet, they manage to encourage people to move away from the platform with FUD about how they must modernize and upgrade. They push companies to move with claims that the user interface is old and outdated, and to modernize they must choose another platform.

IBMi Change Management System Review

help choosing an IBM iSeries AS400 Softare Changement Management System

IBM-I Change Management Application Review

Today's SCM systems are as much focused on productivity gains for the programmer as they are in "controlling" or managing the source and objects. Anything that can be done to make your programmers more effective and more efficient in their development process is a very worthy investment.

Software configuration management (SCM) is an umbrella term that has come to mean a wide range of automation functions for application development all SCM product features have potential benefits and other functions that may require changes to your business practice.

 

The Big Three

What follows is a listing of products that provide SCM functions for IBM-i application development.

In my opinion, the three big players are:

  • Turnover V100 - SoftLanding Systems (acquired by Unicom in 2010)
  • Aldon LMe- Aldon Computer Group (acquired by Rocket Software group in March 2011)
  • Implementor -  MKS Inc (acquired by PTC in May 2011)

These vendors are the heavy hitters in the IBM-I arena and all have Eclipse user-interface plug-ins for their solutions, which can integrate with IBM's WDSC and RD-i.

What are the different types of IFS Folder?

the IFS gets a thumbs up

The IBMi I.F.S. (Integrated File System) is a terrific part of the operating system which lets us consolidate our native IBMi data and give access to it from other, different, file systems. It lets us access Native IBMi data from internal and external processes. The IFS is a repository for different types of data that native IBMi users or disparate network clients attached to the IBMI can access. In non-geek this means “it’s a way of using IBMi data like it’s on a windows PC”

Whats good about the IFS?

I love the IFS and it’s a sometimes under-utilized function of the AS400… wait… iSeries… erm.. System-i? Ahh that’s right… it’s the IBMi operating system running on an IBM Power Server. This week. *cough*

client access ops navYou can store and access data from/to different file systems on your IBMI. IFS support is integral to the operating system and you don’t have to purchase any additional software to use it. All us IBMi developers know about the QSYS Library and if we want to look at it from the IFS we simply reference QSYS.LIB which is the IFS way of referring to a library. Files end in .FILE – its not rocket science ;)

Google Buzz is going away, but your posts are yours to keep - has Twitter won?

google alerts gmail users of buzz shutdown

Over the last couple of weeks, Google has been quietly telling us that its GOOGLE BUZZ service is quietly going to die.

"Google Buzz is going away, but your posts are yours to keep" is what Gmail users have been seeing at the top of their accounts since mid-october. The BUZZ service has been controversial with many complaints about personal cyber-privacy - and of course people tracking. Oh those poor Drugs dealers using Android phones are now upset when there phones track when/where they are doing they're naughty trade. :)

Google Buzz is being replacedLets face it - Buzz never had a chance against TWITTER. Thats an internet fact.

Google official blog has announced that the following components are being killed off in favor of a newer technology - (possibly) from Google+

RPG, PHP and MYSQL

working with Toby back in 1991

I wish I could take credit for this article. It hits the nail on the head and the author (Daniel Gray) explains himself very clearly:

how to redirect to a new URL using .htaccess

htaccess is a clever way of redirecting things

"So, I have my name as a domain (www.NickLitten.com) and I want to use as a link to a specific node on the projex.com main site - namely my RESUME page at (www.projex.com/nick.litten)...  I wonder how I can redirect a domain name to a specific page on my website?"

Sounds like a simple question but there are a million websites out there in super-web-highway land all waffling on about global redirects, PHP reroutes, meta-ding-dongs and very clever .htaccess files.

The problem is that all of them seem to be a rewrite of the same few paragraphs saying things like this:

Redirect Old domain to New domain (htaccess redirect)

Create a .htaccess file with the below code, it will ensure that all your directories and pages of your old domain will get correctly redirected to your new domain.  he .htaccess file needs to be placed in the root directory of your old website (i.e the same directory where your index file is placed)

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

RIP Bailey :(

my dog died

Bailey, my mischievous English Spring Spaniel, died on October 10th 2010 of a very sudden suspected blood clot/heart attack when chasing a tennis ball. She was only four years old. The Vet says its just one of the genetic things that can't be predicted. It's been heart breaking...

I got Bailey back in 2007 as a 8 month old pup - rescued from a previous owner who had got a dog for Christmas and then, six months later, realized that dogs need love, attention ,exercise and training... "A dog is for life not just for Christmas" as the old saying goes.  I rescued her and she became a companion and best friend and playmate for the kids. She was always a lively character (like all Springers) and developed an almost obsessive fascination with Tennis balls in her recent years. She emigrated from England with me in 2008 and spent the last 2 years running around various American Fields and Beaches chasing just about anything that would run from her. She was never the best trained dog, always a little head strong and needed a firm word from 'Papa' before finally towing the line.

Bailey had a lovely nature, was always great with any kids she met and will be sadly missed.

RIP my little friend.

Litten Family Crest

The Litten family find our crest and shield of arms

So, this morning I decided to start researching my family name "Litten". Here I am at 44 years old, my only surviving senior 'Litten' family member is Old Uncle Buck who lives in Spain. He's never researched the genealogy of the LITTEN name and so far I've come up with two definitions:

This ENGLISH surname of LITTEN was a locational name meaning 'one who came from LITTON' parishes in counties Somerset and Dorset; also townships in counties Hereford and in the West Riding of Yorkshire, and there is a hamlet of the name in the parish of Tideswell, County Derbyshire.

Family Name of Litten

There is also reference to a GERMAN surname of LITTEN. Which rather confusingly may have originated from Silesia, a historical region of Central Europe located mostly in present-day Poland, with parts in the Czech Republic and Germany. Silesian Littens contributed greatly to the development of an emerging nation and would later play a large role in the tribal and national conflicts of the area.

here be dragons

dragon tattoo from Eddie Yeary

So, while travelling through Virginia this weekend, I stopped in to see my old friend and tattoo artist Jedi Tattooist Edward Yeary.

I first met Eddie back in 1993, when thinking about getting a Tattoo. This turned out to be my first tattoo... and even though nearly twenty years later I still only have one tattoo it's now much bigger... every time I see him I seem to add a little something to it :)

Anyway, I digress, on this occasion the reason was twofold:

  1. The second sitting of Miss Kates Back Piece Koi and
  2. planning the web presence for Eddie's Tattoo Shop (EDDIE YEARY'S CHERRYBOMB TATTOO in ROCKYMOUNT VA) which means www.EDDIEYEARY.com for his personal artwork and www.INFINITYCOLORWORKS.com for his range of hand crafted natural tattoo inks.

While shooting some video and photos for this website we came up with this gem... it's made me chuckle so much we are going to use it in raw un-edited format:

If you dont have a Redneck Filter installed this is what he said:

Boris the Landrover is born again

Landrover LR3

WARNING - NON-TECHNICAL BLOG ALERT! WOOP WOOP!

Before leaving the old country (UK) a few years back I was the proud owner of the ultimate road going work horse... a Landrover Defender 110.

It was an early 1994 model with a 2.5 Liter Turbo Diesel engine and a hand painted exterior I used it for construction work every day and it's farmyard rugged skills and ultimately basic controls made me chuckle on a daily basis. I remember getting it really dirty one weekend and taking it to the car wash... opening the doors and jet washing the interior.... *INTERIOR*... yep it started first time and trundled off home with its diesel engine burbling. The kids christened this car BORIS and it became a well known vehicle around Camberley, Surrey.

Sell products online with Drupal7 and Ubercart ecommerce - its really quite cool

Over the last few weeks I've been playing with various e-commerce concepts for Eddie Yeary's new online presense INFINITY COLORWORKS. His concept is to sell his range of hand-crafted tattoo inks direct to tattoo artists world-wide: offering a big savings to other tattooists by cutting out the middle man.

Eddie Yeary has been mixing and refining tattoo pigments for decades and has been selling the Phat Cat Color range through third party tattoo vendors. Obviously they add a $markup and while he was laying down my latest piece of skin-art earlier this year, we discussed taking him to the next level.

Co-inciding with the release of this newly branded Alchemy (UV/Blacklight) Ink range, and soon-to-be-announced Infinity Color range (shhh its a secret) his new website is now online at http://www.infinitycolorworks.com

Yes - you did read that right. For those of you who are not in the skin-ink club, Alchemy Tattoo Inks glow in UV light. I've seen some of the UV tattoos he has laid down over the last few years and they are simply amazing.

Anyway, I digress, after selecting Drupal Ubercart for ecommerce of Infinity's Tattoo Ink range I thought I would quickly mention the noteable contenders: ZenCart (very simple to use but just wasnt flexible enough) Joomla (very neat CMS and Drupal only edged it because of its bigger list of available bolt-on modules) and the simple Google Checkout Stores.

Google Stores are the new kid on the block and if you're trying to build a website that feels professional, secure and still has the user-friendliness that customers need to order online - then look at Google. I very nearly selected it but stuck with uBercart for a some other secret (shhhhh) reasons.

 

Pages