Mithilfe der NLS-Funktionen lassen sich Business Objects in weiteren Inhaltssprachen öffnen. Zu den NLS-Funktionen gehören:
- getNLSContentLanguage
- getNLSDisplayLanguage
- setNLSContentLanguage
- setNLSDisplayLanguage
- setNLSLanguages
Grundlegende Informationen zu den allgemeinen Funktionen der System-Skriptsprache erhalten Sie im Dokument System-Skriptsprache: Allgemeine Funktionen.
getNLSContentLanguage
| Name | getNLSContentLanguage |
| Beschreibung | getNLSContentLanguage gibt den ISO-Code der aktuellen Inhaltssprache zurück. |
| Signaturen | String getNLSContentLanguage() |
| Parameter | Keine |
| Ergebnis | Der ISO-Code der aktuellen Inhaltssprache als eine Zeichenkette. |
| Fehlerquellen | Keine. |
| Beispiele | getNLSContentLanguage() gibt die aktuelle Inhaltssprache zurück. |
| Kontext | ALL |
| Hinweise | Die Inhaltssprache bestimmt u. a., in welcher Sprache mehrsprachige Attribute von Objekten in einer OLTP-Datenbank geöffnet werden. |
| Siehe auch | getNLSDisplayLanguage |
Folgendes Beispiel aus der Aktivitätsdefinition help.getNLSContentLanguage zeigt den ISO-Code der aktuellen Inhaltssprache an:
function create()
{
var r_contentLanguage := getNLSContentLanguage();
result.CONTENT_LANGUAGE := r_contentLanguage;
}
getNLSDisplayLanguage
| Name | getNLSDisplayLanguage |
| Beschreibung | getNLSDisplayLanguage gibt den ISO-Code der aktuellen Anzeigesprache zurück. |
| Signaturen | String getNLSDisplayLanguage() |
| Parameter | Keine. |
| Ergebnis | Der ISO-Code der aktuellen Anzeigesprache als eine Zeichenkette. |
| Fehlerquellen | Keine. |
| Beispiele | getNLSDisplayLanguage() gibt die aktuelle Anzeigesprache zurück. |
| Kontext | ALL |
| Hinweise | Die Anzeigesprache bestimmt u. a., in welcher Sprache mehrsprachige Attribute von Objekten in der Repository-Datenbank geöffnet werden. |
| Siehe auch | getNLSContentLanguage |
Folgendes Beispiel aus der Aktivitätsdefinition help.getNLSDisplayLanguage zeigt den ISO-Code der aktuellen Anzeigesprache an:
function create()
{
var r_displayLanguage := getNLSDisplayLanguage();
result.DISPLAY_LANGUAGE := r_displayLanguage;
}
setNLSContentLanguage
| Name | setNLSContentLanguage |
| Beschreibung | setNLSContentLanguage setzt die aktuelle Inhaltssprache. |
| Signaturen | setNLSContentLanguage(String language) |
| Parameter | language ist der ISO-Code der neuen Inhaltssprache. |
| Ergebnis | Nach dem Aufruf wird die Inhaltssprache geändert. Anschließend werden die mehrsprachigen Attribute aller Objekte aus einer OLTP-Datenbank in der geänderten Inhaltssprache geöffnet. Objekte, die vor dem Aufruf der Funktion geöffnet wurden, werden nicht verändert. |
| Fehlerquellen | Keine. |
| Beispiele | setNLSContentLanguage("en") setzt die aktuelle Inhaltssprache zu Englisch. |
| Kontext | ALL |
| Hinweise | Wenn ein Benutzer einen Prozess startet, wird der Prozess im Kontext der in den Benutzereinstellungen hinterlegten Inhalts- und Anzeigesprachen ausgeführt. |
| Siehe auch | setNLSDisplayLanguage, setNLSLanguages |
Folgendes Beispiel aus der Aktivitätsdefinition help.setNLSContentLanguage zeigt die Bezeichnung eines Artikels in allen aktiven Inhaltssprachen:
function create()
{
var p_item := parameters.ITEM;
var r_descriptions := "";
var item := loadItem(p_item);
if (not isNull(item)) {
/* get system and database names */
var systemName := cast(String, call("help.js.getSystemName", hashMap()).NAME);
var databaseName := cast(String, call("help.js.getDatabaseName", hashMap()).NAME);
/* get system and database Guid */
var system := getByBusinessKey("CONFIGURATION", CisObject(com.cisag.sys.configuration.obj.System), systemName, 1);
var database := getByBusinessKey("CONFIGURATION", CisObject(com.cisag.sys.configuration.obj.Database), system:guid, databaseName, 1);
/* query configuration database for active content languages */
var params as Unknown[];
add(params, database:guid);
add(params, 1); /* active version */
var activeLanguages := getCisObjectList("CONFIGURATION", "SELECT FROM com.cisag.sys.configuration.obj.DatabaseLanguage o WHERE o:databaseGuid = ? AND o:version = ?", params, 99);
/* get item description in all active content lanaguges */
for (l as CisObject(com.cisag.sys.configuration.obj.DatabaseLanguage) : activeLanguages) {
r_descriptions := r_descriptions + " [" + l:language + "] ";
setNLSContentLanguage(l:language);
item := loadItem(p_item);
r_descriptions := r_descriptions + item:description;
}
}
result.DESCRIPTIONS := trim(r_descriptions);
}
setNLSDisplayLanguage
| Name | setNLSDisplayLanguage |
| Beschreibung | setNLSDisplayLanguage setzt die aktuelle Anzeigesprache. |
| Signaturen | setNLSDisplayLanguage(String language) |
| Parameter | language ist der ISO-Code der neuen Anzeigesprache. |
| Ergebnis | Nach dem Aufruf wird die Anzeigesprache geändert. Anschließend werden die mehrsprachigen Attribute aller Objekte aus der Repository-Datenbank in der geänderten Anzeigesprache geöffnet. Objekte, die vor dem Aufruf der Funktion geöffnet wurden, werden nicht verändert. |
| Fehlerquellen | Keine. |
| Beispiele | setNLSDisplayLanguage("en") setzt die aktuelle Anzeigesprache zu Englisch. |
| Kontext | ALL |
| Hinweise | Wenn ein Benutzer einen Prozess startet, wird der Prozess im Kontext der in den Benutzereinstellungen hinterlegten Inhalts- und Anzeigesprachen ausgeführt. |
| Siehe auch | setNLSContentLanguage, setNLSLanguages |
Folgendes Beispiel aus der Aktivitätsdefinition help.setNLSDisplayLanguage setzt die Anzeigesprache zu der Korrespondenzsprache eines Partners und gibt die Bezeichnung eines ValueSets aus:
const State as valueSet(com.cisag.sys.workflow.ActivityState);
function create()
{
var p_partner := parameters.PARTNER;
var r_description := "";
var partner := loadPartner(p_partner);
if (not isNull(partner)) {
setNLSDisplayLanguage(cast(String, first(partner->Language:isoCode, getNLSDisplayLanguage())));r_description := valueSetDescription(State, 10);
}
result.DESCRIPTION := r_description;
}
setNLSLanguages
| Name | setNLSLanguages |
| Beschreibung | setNLSLanguages setzt sowohl die aktuelle Inhaltssprache als auch die aktuelle Anzeigesprache. |
| Signaturen | setNLSLanguages(String language) |
| Parameter | language ist der ISO-Code der neuen Inhalts- und Anzeigesprache. |
| Ergebnis | Nach dem Aufruf werden die Inhalts- und Anzeigesprachen geändert. Anschließend werden die mehrsprachigen Attribute aller Objekte aus der Repository und der OLTP-Datenbank in der geänderten Sprache geöffnet. Objekte, die vor dem Aufruf der Funktion geöffnet wurden, werden nicht verändert. |
| Fehlerquellen | Keine. |
| Beispiele | setNLSLanguages("en") setzt die aktuelle Inhalts-und Anzeigesprache auf Englisch.
|
| Kontext | ALL |
| Hinweise | Wenn ein Benutzer einen Prozess startet, wird der Prozess im Kontext der in den Benutzereinstellungen hinterlegten Inhalts- und Anzeigesprachen ausgeführt. |
| Siehe auch | setNLSContentLanguage, setNLSDisplayLanguage |
Folgendes Beispiel aus der Aktivitätsdefinition help.setNLSLanguages setzt die Inhalts- und Anzeigesprache zu der Korrespondenzsprache des Arbeitsgebers eines Benutzers und zeigt die Bezeichnung eines ValueSet-Eintrags in dieser Sprache an:
function create()
{
var p_partner := parameters.PARTNER;
var r_description := "";
var partner := loadPartner(p_partner);
if (not isNull(partner)) {
var company := getCustomizingValue("com.cisag.app.General"):company;
var employers := loadTargetsOfPartnerRelations(partner:guid, company, "Employee");
setNLSDisplayLanguage(cast(String, first(employers[0]->Language:isoCode, getNLSDisplayLanguage())));
r_description := valueSetDescription("com.cisag.sys.workflow.ActivityState", 10);
}
result.DESCRIPTION := r_description;
}