System attribute user_id not passed to Gen 8.6 Java server
search cancel

System attribute user_id not passed to Gen 8.6 Java server

book

Article ID: 281099

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed

Issue/Introduction

Using Gen 8.6 GUI C client.
Migrating from Gen 8.6 CICS/IMS servers to Java EJB servers and want to continue to use the user_id system attribute that is populated on the client and then passed to the server.
However testing with the DTU (Diagram Trace Utility) shows that the user_id (UserID) is not populated in the System View on the Gen EJB Java server.

Environment

Gen 8.6 Java EJB server.

Cause

Per this Gen 8.6 doc. page Anatomy of a DP Application > Server Execution Environments and final section "Behavior Differences":
"Obtaining a user ID context for a DPS that populates the USER_ID system attribute is not available when the DPS operates as a Java EJB or .NET Server."

Resolution

The options are:

1. Pass the user_id system attribute in a client export view/server import view so that the Java server has access to the value.

2. Alternatively use the Gen system attribute client_user_id which can be passed to the server by modifying the default user exit file WREXITN.C function WRSECTOKEN to enable Enhanced security as follows and rebuilding the Gen runtime wren.dll using MKEXITSN.BAT:
===
*bClntMgrSecurity = FALSE;
*tokenLen = 0;
/* return SecurityNotUsed; */
return SecurityUsedEnhanced;
===
NOTE: No change to enable *bClntMgrSecurity is required for this scenario.