Using the Call
Consider the following when making a Profile Call.
Using Attributes
Profile calls retrieve the user attributes from RM and from GEN. The attributes are listed in alphabetical order by attribute name. They are all listed as lowercase.
To see the attributes returned from GEN, make the following Data Service calls to GEN/USER, GEN/USERINFO, and GEN/LOCALE. Each call should be prefixed by:
http://machine:port/servlet/Router/Data/Erp?PROD=GEN&FILE=
-
user&FIELD=secClass;admClass;secOfficer;classSup;secOnOff;hiLiteReqFlds; userName; printerName;printerGroup;productLine;locale&KEY=<user's RMID>
-
Userinfo&FIELD=dstGrpGrp;jobQGrp;userGrp&KEY=<user’s RMID>
-
locale&FIELD=language;dateFmt;dateSep;timeFmt;timeSep;commaSep; decimalSep; curencySymbol;percentSymbol;sufCurrSymbol;pfxSign&KEY=<user’s locale returned by the GEN/USER call above>
The misspelling of "curencySymbol" above is intentional in the GEN/LOCALE fields to reflect how the field is named in the database.
The field names in the calls above are not exactly the same as the attribute names displayed by Profile. For clarity, they are spelled out. For example, the "dateFmt" field in the GEN/LOCALE call is represented by the "dateformat" attribute in Profile’s output.
If the user does not have a value for the locale field in the GEN/USER call, the default LOCALE values apply (as seen in the LOCDEF utility). These are shown below:
Name | Value |
---|---|
CommaSeparator | , |
CurrencySymbol | $ |
DateFormat | MMDDYY (this corresponds to a 0 in GEN/LOCALE) |
DateSeparator | / |
DecimalSeparator | . |
Language | "" |
PercentSymbol | % |
PrefixSign | 0 |
SuffixCurrencySymbol | 0 |
TimeFormat | 12 |
TimeSeparator | : |
Profile retrieves the rest of the attributes from RM. The retrieval logic is:
-
The user’s own RM attribute values are checked. If the user has a defined attribute value, that value is returned.
-
If an attribute value is not defined for the user, the RM attribute values of the user’s Type are checked. If an attribute value is defined for the user’s Type, that value is returned.
-
Finally, the attribute definition is checked. If there is a default value for the attribute, that value is returned. Otherwise, an empty string is returned.
Finally, Profile uses two of the RM attribute values in determining how it retrieves the ROLE file and INBASKET information:
-
PortalRole
-
WfUser
Caching
The RM attributes and the locale-specific attributes are cached. If a locale definition changes, IOSCacheRefresh should be called to refresh the locale. This call can be made via Lawson Portal or directly by:
/servlet/IOSCacheRefresh?_REFRESH=LOCALE
The entries in the RM cache will eventually be refreshed (the RM cache works on a time basis, so items grow "stale" and are updated accordingly), but if a change is made to the RM attributes and that change is not being reflected in the ATTRIBUTES, IOSCacheRefresh should be called to refresh the RM cache. Make this call via Lawson Portal or directly by:
/servlet/IOSCacheRefresh?_REFRESH=RM_CACHE
Using Bookmarks
Profile uses the bookmark identifiers in the USER file to retrieve bookmark information from various LOGAN files. If a user is allowed, they will see the "descendant" bookmarks of each bookmark specified.
Also note that bookmark names and descriptions are translated. If no translations exist, the default name and description are returned.
Use the following steps if an Lawson Portal user expects to see bookmarks but none appear:
-
Make sure the USER file (see Lawson Portal User section below) that is being used contains bookmark identifiers.
-
Make sure the user has access to the necessary data source (LOGAN) and the necessary files (for example, LOBKMARK) in the security system.
-
If both these conditions are satisfied, the bookmarks themselves should be checked for Access or Deny status.
/servlet/IOSCacheRefresh?_REFRESH=BOOKMARKS