System-Skriptsprache: OLTP-Funktionen, Sonstige Funktionen für Business Objects (Miscellaneous functions for business objects)

Zu den sonstigen Funktionen für Business Objects gehören createOrderKey, die für Belegerzeugungen verwendet wird, und nextNumberRangeNumber, die eine Nummer aus einem Nummernkreis erzeugt.

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

createOrderKey

Name createOrderKey
Beschreibung createOrderKey gibt den Part com.cisag.app.general.obj.OrderKey für einen Beleg zurück.
Signaturen CisObject(com.cisag.app.general.obj.OrderKey) createOrderKey(Guid header, Guid detail)
Parameter header ist die Guid eines Belegs.

detail ist die Guid einer Belegposition.

Möchten Sie einen OrderKey ohne Bezug zu einer Belegposition erzeugen, dann verwenden Sie den Wert null für detail.

Ergebnis Die Funktion erzeugt eine neue Instanz vom Part com.cisag.app.general.obj.OrderKey für den Beleg bzw. die Belegposition.
Fehlerquellen Keine
Beispiele list(createOrderKey(parameters.object:guid, null)) gibt eine Liste mit dem Part com.cisag.app.general.obj.OrderKey für den von parameters.object referenzierten Beleg zurück.

list(createOrderKey(parameters.entity:guid, parameters.object:guid)) gibt eine Liste mit dem Part com.cisag.app.general.obj.OrderKey für die von parameters.object referenzierte Belegposition zurück.

Kontext OLTP
Hinweise Viele Hintergrundanwendungen zur Belegerzeugung verwenden einen OrderKey-Parameter vom Datenstruktur-Typ Liste, wie z. B. der Parameter Orders der Hintergrundanwendung com.cisag.app.sales.confirmation.log.Confirmation. Um solche Hintergrundanwendungen in einer Workflow-Aktivität aufzurufen, verwenden Sie die Funktion list, wie in den obigen Beispielen beschrieben.
Siehe auch

Folgendes Beispiel entstammt der Aktivitätsdefinition help.createOrderKey.

function create()
{
  var p_orderType := parameters.ORDER_TYPE;
  var p_header := parameters.HEADER;
  var p_detail := parameters.DETAIL;

  var orderType := getByBusinessKey(CisObject(com.cisag.app.sales.obj.SalesOrderType), p_orderType);
  var header := getByBusinessKey(CisObject(com.cisag.app.sales.obj.SalesOrder), orderType:guid, p_header);
  var detail := getByBusinessKey(CisObject(com.cisag.app.sales.obj.SalesOrderDetail), header:guid, p_detail, 0);

  var orderKey := createOrderKey(header:guid, detail:guid);

  result.ORDER_KEY_HEADER := orderKey:header;
  result.ORDER_KEY_DETAIL := orderKey:detail;
}

 

nextNumberRangeNumber

Name nextNumberRangeNumber
Beschreibung nextNumberRangeNumber erzeugt eine neue Nummer aus einem Nummernkreis.
Signaturen String nextNumberRangeNumber(String code)

String nextNumberRangeNumber(Guid guid)

Parameter code ist die Identifikation eines Nummernkreises.

guid ist die Guid eines Nummernkreises.

Ergebnis Die Funktion erzeugt aus einem Nummernkreis eine neue Nummer. Der Nummernkreis wird entweder durch eine GUID oder durch den Namen identifiziert. Die neu erzeugte Nummer wird von der Funktion zurückgegeben.
Fehlerquellen Keine
Beispiele nextNumberRangeNumber("WFM") erzeugt eine neue Nummer aus dem Nummerkreis mit der Identifikation WFM.
Kontext OLTP
Hinweise In manchen Jurisdiktionen sind die Nummern von z. B. Ausgangrechnungen lückenlos. Erzeugen Sie daher nur dann eine Nummer aus einem Nummernkreis eines solchen Business Entitys, wenn Sie die Nummer auch verwenden.

Um eine eindeutige Nummer für z. B. eine im K-Store abgelegte Datei zu erzeugen, können Sie einen neuen Nummernkreis für allgemeine Zwecke erfassen, der nicht für Belege verwendet wird.

Siehe auch

Folgendes Beispiel entstammt der Aktivitätsdefinition help.nextNumberRangeNumber.

function create()
{
var p_numberRange := parameters.NUMBER_RANGE;
var r_number := nextNumberRangeNumber(p_numberRange);

result.IS_NULL := isNull(r_number);
result.NUMBER := r_number;
}

 

Czy ten artykuł był pomocny?