How to change the Adabas "Login ID"?

Hello .,

is it possible to advice adabas, calling from a natural-pgm, to use a specific “Login Id”, by a parameter or something like that?

The User-Q is looking like this


       Id Node Id  Login Id      ES Id User Id  File           ISN Locks  Flg
        -- -------  --------      ----- -------  ----           --- -----  ---
     13262          myaqg          9593 KPF9550   101    17,404,170   X     M   
     13262          myaqg          9593 KPF9550   101    17,252,592   X     M   
     13278          myaqg         14286 KPF14245  101    17,392,193   X     M   
     13262          myaqg          9593 KPF9550   101    17,323,305   X     M   
     13278          myaqg         14286 KPF14245  101    17,392,194   X     M   
     13278          myaqg         14286 KPF14245  221    37,687,502   X     M   
     13262          myaqg          9593 KPF9550   104    26,470,893   X     M   
     13278          myaqg         14286 KPF14245  221    37,687,503   X     M   

 

I observed, that the Login Id for an Adabas-Session ist the Unix-Userid, but not the userid, which is used by natural. In our Environment we set the NaturalUserid with an Environment-Variable ($LOGNAME).it works fine. but the ADABAS Login-Id is not affected by this. the login-id in the example above is myagq, but this are different users, working with the same (invisible) unix-userid.

btw: the column with the heading “User ID” is not the UserID, it is the ETID as defined with the Natparm ETID Parameter.

Any Suggestions?

tia
KlaBueBaer

Hello KlaBueBaer!

Your sample screenshot looks like a Hold-Queue …
Probably you want to know which user is holding a specific record.

We got a similiar problem here at our company (ADABAS@Solaris). For Adabas 3.3 we found a solution decribed here

http://tech.forums.softwareag.com/viewtopic.php?t=7217

But maybe there’s a better way of doing this …

Hi KlaBueBaer,

There are the functions lnk_get_adabas_id and adalnk_set_adabas_id, which allow you to read and overwrite the Adabas session ID. For more information look to Adabas Command Reference, Calling Adabas, Calling Adabas from Application Servers. However, I don’t know if it is possible to call these functions from Natural.

Regards,
Wolfgang

Have you tried overriding the UserId from within the Natural parameter file you use when running the Natural program. However I doubt that this “USER” parameter can be changed dynamically.

Interesting hint!

The documentation
http://techcommunity.softwareag.com/ecosystem/documentation/adabas/ada517os/commands/calling.htm#appserv says, that the Adabas-Nucleus-Parameter OPEN_REQUIRED has to be set. So I don’t think that there is a correspondig Natural-function - because Natural’s documentation doesn’t mention “OPEN_REQUIRED” anywhere …

http://techcommunity.softwareag.com/ecosystem/documentation/natural/nat426mf/parms/db.htm#db_db_options

DB options: OPEN This option applies to Adabas databases only, for which Adabas requires an open request to be issued. If OPEN is specified for such a database, an open request is always issued (even if the ETID is blank).

Thank for the shared this information