It's all about the answers!

Ask a question

Why does the IBMi enterprise build convert # to #035

James Cole (9532330) | asked Nov 03 '16, 6:35 a.m.
Hi All, 

I have a created an iproject and imported my source members, of which some of these members contain a '#'. 

When running a dependency  build these objects are not compiling correct with either one of the following reasons:

1 - Member is created with #035. For example source member name CL001#, is being created as CL001#035.

2 - Build fails as it exceeds 10 characters (limit for source member). For example CL10010# is trying to add member CL10010#035.

I have tried this in 6.0.1 and 6.0.2 and the same problems are experienced.

Has anyone experienced a similar issue with special characters?

Many Thanks in advance

One answer

permanent link
Sean Babineau (38825) | answered Nov 03 '16, 10:58 a.m.
Hi James!

Rational Developer for i treats several characters specially, including the #. When you add these to an iproject from an IBM i library, they get "escaped" with a sequence like "#nnn". I believe this is done to make round-tripping possible where there are variant characters which might be represented differently if you upload the source/object to an IBM i running under a different CCSID.

Anyway, these objects/members look like "CL10010#" in the i projects navigator, but if you look on the file system in your Eclipse workspace, they're actually expanded to, e.g. "CL10010#035". I believe we fixed this in RTC 6.0.3 under defect 296705, to "un-escape" these back to their intended value when loading to IBM i for build. In the meantime, you may need to rename the source members from CL10010#035 to CL10010#.


Your answer

Register or to post your answer.