Does anyone know where can I find list of syntax changes between DB2 for i v5r4 and v6r1?

We are currently migrating a backing database for an application from DB2 for i v5r4 to v6r1 and found out that some queries no longer work on the new version. However we cannot seem to find any official reference regarding this in ibm sites (or anywhere else for that matter).

  • Do you have an example of your queries? And are you concerned about RPG-i5/OS functionality or is this actual DB2 functionality. May 14, 2012 at 12:56
  • Can we add the [ibm-midrange] tag to this? Or replace [iseries] with [ibm-midrange] That is the same tag that is used on StackOverflow.
    – Mike Wills
    May 14, 2012 at 13:26
  • @MikeWills - if anything we should make them synonyms. I think it is good to keep db2 and iseries as tags as that really is a version of DB2. Just like there is DB2 for z/OS and DB2 LUW. May 14, 2012 at 14:32
  • 1
    That is what Stackoverflow did. [iseries], [ibm-i] and [as400] were all synonyms of [ibm-midrange]. Copy what SO did and I'll be happy. I agree that DB2 can't be added as there is other versions.
    – Mike Wills
    May 14, 2012 at 14:38
  • @MikeWills - since I don't have enough reputation to do it yet, I submitted the request to Database Administrators Meta May 15, 2012 at 11:14

2 Answers 2


Here is documentation for DB2 for i on i5/OS V6 R1.

Here is specific to DB2 itself.

Here is specific to DB2 SQL.


The Memo to Users for the upgrade (aka the upgrade documentation) should cover all of the changes made.

What I find strange though is that IBM does't usually break anything during upgrades (at least without covering it in the memo to users).

What problems are you having. Can you provide a sample?

Based on the sample, couldn't you do:

        INNER JOIN "JFPMTPRDD".PROD1P prod ON trim(fas.IDPROD)=trim(prod.IDPROD) 
        INNER JOIN "JFPMTPRDD".MSTRFA1P fas ON trim(head.FASID)=trim(fas.FASID)
            AND  trim(head.MFCODE)=trim(fas.MFCODE)
        INNER JOIN "JHFINLI31A"."CFMAST" cfiloan ON trim(head.MFCODE) = cfiloan.CFCIF#
        LEFT JOIN "JFPMTPRDD".TMSG01P errMsg ON (head.MSGCOD = errMsg.MSGCOD)

It might be that the query is looking for all of the joins defined.

  • This query pastebin.com/yq93Kr1k used to work in v5r4, but error in v6r1 with this message pastebin.com/gv68nVyQ . We manage to resolve this one by moving the left join as the first join clause before the other. I wonder what other undocumented changes are there..
    – bungrudi
    May 15, 2012 at 11:25
  • Updated my post with thoughts.
    – Mike Wills
    May 15, 2012 at 13:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.