If CLIENT_USER_ID or CLIENT_PASSWORD is concatenated directly, rather than via a Local View, the output has strange/corrupt characters inside it.
Code that works:
SET lcl cics_container client_user_id TO CLIENT_USER_ID
SET out_vl_cid_frm_concat_concat_lcl basic_types text_opt_80_vl TO concat(concat("!", lcl cics_container client_user_id), "!")
Code that doesn't:
SET out_vl_cid_frm_concat_concat_sys basic_types text_opt_80_vl TO concat(concat("!", CLIENT_USER_ID), "!")
This was behaviour found during testing Gen cooperative COBOL/CICS servers with Web Services GENius and is also observable through the Gen mainframe DTF facility when running within CICS.
Analysis of the generated code indicates that the problem is due to extra characters being concatenated beyond the 64 character length of the CLIENT_USER_ID or CLIENT_PASSWORD system attributes.
Release : 8.5, 8.6
Component : CA Gen Generators
Per the description, there is a viable workaround where the system attribute CLIENT_USER_ID or CLIENT_PASSWORD is first assigned to a view and then the concat function is used on the view instead of directly on the system attribute.
The fix for this problem will be deferred to a later date.