System-Skriptsprache: OLTP-Funktionen, Funktionen für Organisationen (Functions for organizations)

Zu den Funktionen für Organisationen zählen eine Funktion, um eine Organisation zu öffnen, sowie Funktionen, um Customizing-Einstellungen abzufragen:

Allgemeine Informationen zu den OLTP-Funktionen der System-Skriptsprache erhalten Sie im Artikel System-Skriptsprache: OLTP-Funktionen.

getCustomizingValue

Name getCustomizingValue
Beschreibung getCustomizingValue gibt die konfigurierten Werte einer OLTP-Customizing-Funktion zurück.
Signaturen CisObject getCustomizingValue(String function)

CisObject getCustomizingValue(String function, Guid organization)

Parameter function ist der vollqualifizierte technische Name der OLTP-Customizing-Funktion.

organization ist die Guid der Organisation, für die Sie die konfigurierten Werte der OLTP-Customizing-Funktion abfragen möchten. Besitzt die OLTP-Customizing-Funktion mindesten einen Organisationsbezug, dann müssen Sie eine Organisation angeben.

Die verfügbaren OLTP-Customizing-Funktionen und deren Organisationsbezug können Sie in der Anwendung Entwicklungsobjekte abfragen, indem Sie Entwicklungsobjekte mit dem Typ Funktion aufrufen.

Ergebnis Die Funktion gibt den mit der OLTP-Customizing-Funktion verknüpften Part als ein CisObject zurück. Um die konfigurierten Werte auszuwerten, müssen Sie mithilfe der Funktion cast den Part in ein typisiertes CisObject umwandeln.
Fehlerquellen Existiert die Customizing-Funktion nicht, so wird der Standardwert null für den Datentyp CisObject zurückgegeben. Existiert die angegebene Organisation nicht oder ist die OLTP-Customizing-Funktion für die angegeben Organisation nicht aktiviert, entsteht ein Laufzeitfehler.
Beispiele
cast(CisObject(com.cisag.app.general.Localization),
getCustomizingValue("com.cisag.app.general.Localization",
loadOrganization("93000"):guid)

 gibt die konfigurierten Werte der OLTP-Customizing-Funktion Länderbesonderheiten für die Organisation 93000 zurück.

Kontext OLTP
Hinweise Sie können nur Customizing-Funktionen der Stufe OLTP-Funktion abfragen. Stellen Sie vorher mithilfe der Funktion isCustomizingAvailable sicher, dass die OLTP-Customizing-Funktion aktiviert ist.
Siehe auch isCustomizingAvailable

Folgendes Beispiel aus der Aktivitätsdefinition help.getCustomizingValue bestimmt welche Länderbesonderheiten für eine Organisation aktiviert sind.

const LocalizationCountry as valueSet(com.cisag.app.customizing.general.LocalizationCountry);

function create()
{
var p_organization := loadOrganization(parameters.ORGANIZATION);
var p_function := "com.cisag.app.general.Localization";
var r_isActivated := isCustomizingAvailable(p_function, p_organization:guid);
var r_country := "";

if (r_isActivated) {
var customizingPart :=

cast(CisObject(com.cisag.app.customizing.general.obj.Localization),
getCustomizingValue(p_function, p_organization:guid));
r_country := valueSetDescription(LocalizationCountry, customizingPart:country);
}
result.FUNCTION := p_function;
result.IS_ACTIVATED := r_isActivated;
result.COUNTRY := r_country;
}

 

isCustomizingAvailable

Name isCustomizingAvailable
Beschreibung isCustomizingAvailable prüft, ob eine OLTP-Customizing-Funktion aktiviert ist.
Signaturen Boolean isCustomizingAvailable(String function)

Boolean isCustomizingAvailable(String function, Guid organization)

Parameter function ist der vollqualifizierte technische Name der OLTP-Customizing-Funktion.

organization ist die Guid der Organisation, für die Sie abfragen möchten, ob die OLTP-Customizing-Funktion aktiviert ist. Besitzt die Customizing-Funktion mindestens einen Organisationsbezug, dann müssen Sie eine Organisation angeben.

Die verfügbaren Customizing-Funktionen und deren Organisationsbezug können Sie in der Anwendung Entwicklungsobjekte abfragen, indem Sie Entwicklungsobjekte mit dem Typ Funktion aufrufen.

Ergebnis Ist die OLTP-Customizing-Funktion aktiviert, dann gibt die Funktion true zurück andernfalls false.
Fehlerquellen Existiert die angegebene Organisation nicht, entsteht ein Laufzeitfehler.
Beispiele isCustomizingAvailable("com.cisag.app.general.Localization", loadOrganization("93000"):guid) prüft, ob die Customizing-Funktion Länderbesonderheiten für die Organisation 93000 aktiviert ist. Verwenden Sie die Funktion getCustomizingValue, um zu ermitteln, für welches Land die Länderbesonderheiten aktiviert sind.

isCustomizingAvailable("com.cisag.app.inventory.Identifiers",
getCustomizingValue("com.cisag.app.General"):company)

prüft, ob die Customizing-Funktion Ausprägungen für den Mandanten aktiviert ist.

Kontext OLTP
Hinweise Sie können nur Customizing-Funktionen der Stufe OLTP-Funktion abfragen.
Siehe auch getCustomizingValue

Folgendes Beispiel aus der Aktivitätsdefinition help.isCustomizingAvailable bestimmt, ob die Customizing-Funktion Reservierungen für den Mandanten aktiviert ist.

function create()
{
var p_function := "com.cisag.app.inventory.FixedReservation";
var r_isAvailable := isCustomizingAvailable(p_function, getCustomizingValue("com.cisag.app.General"):company);

result.FUNCTION := p_function;
result.VALUE := r_isAvailable;
}

 

loadOrganization

Name loadOrganization
Beschreibung loadOrganization öffnet eine Organisation über deren Guid oder über die Identifikation.
Signaturen CisObject(com.cisag.app.multiorg.obj.Organization) loadOrganization(String code)

CisObject(com.cisag.app.multiorg.obj.Organization) loadOrganization(Guid guid)

Parameter code ist die Identifikation der Organisation.

guid ist die Guid der Organisation.

Ergebnis Die angegebene Organisation vom Datentyp CisObject(com.cisag.app.multiorg.obj.Organization).
Fehlerquellen Existiert keine Organisation mit der angegebenen Identifikation bzw. Guid, so wird der Standardwert null für ein CisObject zurückgegeben.
Beispiele loadOrganization("90000") gibt die Organisation mit der Identifikation 90000 zurück.

loadOrganization(getCustomizingValue("com.cisag.app.General"):company) gibt den Mandanten zurück.

loadOrganization(cast(Guid,
getResultList("SELECT o:guid FROM com.cisag.app.multiorg.obj.Organization
o ORDER BY o:updateInfo.createTime ASC", list(), 1)[0][0]))

ermittelt den Mandanten unter der Annahme, dass der Mandant immer als erste Organisation erfasst wird.

Kontext OLTP
Hinweise Eine Organisation besitzt die gleiche Guid wie der verknüpfte Partner. Um die vollständigen Eigenschaften einer Organisation zu ermitteln, verfolgen Sie die Beziehung Partner. Beispielsweise gibt der Ausdruck toLower(getCustomizingValue("com.cisag.app.General")->Company->AddressData->Country:isoCode)das Land des Mandanten als 2-stelliger ISO-Code in Kleinbuchstaben zurück.
Siehe auch loadPartner

Folgendes Beispiel aus der Aktivitätsdefinition help.loadOrganization öffnet eine Organisation und ermittelt deren Organisationstypen.

const OrganizationHierarchyType as valueSet(com.cisag.app.multiorg.OrganizationHierarchyType);
const Separator := ", ";

function create()
{
var p_id := parameters.CODE;
var r_types := "";
var r_object as CisObject(com.cisag.app.multiorg.obj.Organization);
r_object := loadOrganization(parameters.CODE);

if (not isNull(r_object)) {
var OQL :=
"SELECT FROM com.cisag.app.multiorg.obj.OrganizationHierarchy oh " +
"WHERE oh:organization = ?";
var oList := getCisObjectList(OQL, list(r_object:guid), 10);

for (oh as CisObject(com.cisag.app.multiorg.obj.OrganizationHierarchy) : oList)
r_types := r_types + Separator +
valueSetDescription(OrganizationHierarchyType, oh:type);
r_types := substring(r_types, length(Separator));
}
result.IS_NULL := isNull(r_object);
result.TYPES := r_types;
}

Czy ten artykuł był pomocny?