Question / Problem:
I need to call KTA assemblies in an IPA User Exit (e.g. InvoiceNumberValidate). I think I need the KTA sessionID to initialize the KTA component but the sessionID is not available from the User Exit.
Answer / Solution:
The KTA sessionID is not exposed to User Exits. If a User Exit needs access to KTA it has to perform a login of its own.
To add custom configuration settings that can be accessed in user exits – such as a KTA web service URL – create a custom setting in SCM. Custom settings can be found in the global settings section. Within the code custom settings can be accessed through the ProjectContext instance that is passed to the user exit during initialization. For example, a custom setting “KTAWSURL” could be accessed like this:
public void Initialize(ProjectContext ctx)
string ktaURL = ctx.Settings.GetStringSetting("CUS", "KTAWSURL");
There is no out-of-the-box solution for encrypting / decrypting custom settings.
A suggested approach for this would be to put the encrypted value in through SCM using some external tool to encrypt the value then decrypt the value in the user exit code.
E.G. You might encrypt values with AES and do a Base64 encoding of the encrypted value which would be stored.