Aufruf einer VBA-Methode des Applikations-Service

Beschreibung

Aufruf einer Methode in einem AddIn mit Übergabe des aktuellen Belegobjektes aus der neuen Erfassung

Funktionsaufruf

Sage.Wawi.gsAppServiceCall

Parameter 1 Funktionsaufruf

<AddIn-Name>:<Funktionsname> (String)

Parameter 2 Funktionsaufruf

Lese-/Schreib-Optionen in der Form [Lese-Option] : [Schreib-Option] (String)

Lese-Optionen

  • Vollstaendig = liest den vollständigen Satz mit allen Unterelementen

Schreib-Optionen

  • Ersetzen = Ersetzt den kompletten Datensatz mit allen Unterobjekten
  • Neu = wie Ersetzen, aber es werden neu initialisierte Daten zurückgegeben (z. B. für die Beleg-Vorgangsübernahme)
  • Ignorieren = Die Rückgabe wird ignoriert. Ermöglicht damit einen schreibgeschützten Dienst-Aufruf in Bezug auf die Daten im Client

Parameter 3 Funktionsaufruf

Leerzeichen oder Argumentliste, kann im AddIn mit oBag.sItem("sAppInfo") abgerufen werden (String)

Parameter 4 Funktionsaufruf


Parameter 5 Funktionsaufruf


Parameter 6 Funktionsaufruf


Bemerkungen

Auftretende Fehler müssen mit oBag.sItem("Result") zurückgegeben werden. Erfolgt der Aufruf innerhalb eines Makros via "AufrufenKontextMenu", kann die lokale Variable [_Canceled] abgefragt werden (ist bei oBag.sItem("Result") <> "" und oBag.sItem("Result") <> "0" gleich True).

Beispiel

Der Belegmatchcode soll mittels einer AddIn-Funktion erzeugt werden.

Folgende Metadaten sind anzulegen (AddIn- und Funktionsname nach Ihren Bedürfnissen, hier für das Template-AddIn implementiert).

Folgende Metadaten sind anzulegen:

  • Anlegen des Kontextmenüs „VKBelegErfassung“ mit „Anhängen an Kontextmenü der Partner-Kennung“ = „Sage.Wawi“
  • Anlegen des Kontextmenüeintrags „BPKMatchcodeGenerieren“ mit folgenden Eigenschaften
    • „Position in Sortierung“ und „Schaltflächenposition“ = „0“
    • „Funktionsaufruf“ = „gsAppServiceCall.Sage.Wawi“
    • „Parameter Funktionsaufruf 1“ = „OLAppDesignerImDetail:gEntryErfassung“
    • „Parameter Funktionsaufruf 2“ = „Vollstaendig : Ersetzen“
    • „Parameter Funktionsaufruf 3“ = „"Mode:=1"“
    • „für Wawi?“ aktivieren
  • Anlegen des Kontextmenüeintrags „BPKBelegmatchcode“ mit folgenden Eigenschaften
    • „Funktionstitel“ und „Funktionskurztitel“ = „Belegmatchcode“
    • „Position in Sortierung“ = „1“
    • „Festlegung Aktivierung durch Feld“ = „([IstBearbeitbar]=True) AND (NOT IsEmpty([A0Konto]))“
    • „Funktionsaufruf“ = „MakroStarten.Sage.System“
    • „Ausführen Makro“ = „AufrufenKontextMenu“ mit Parameter 1 = „BPKMatchcodeGenerieren“
    • „für Wawi?“ aktivieren

Hinweis für Developer Partner

WDB-Eintrag 203334:

Anhang ADID.AppServiceCall.VkBeleg.Generic.rar und OLAppDesignerImDetail80.rar

Wie im VBA-Code ersichtlich, erfolgt die Übergabe des Objektes mittels ClientParameterbag. Auch das „Result“ wird nach Beendigung des Aufrufes aus diesem Objekt gelesen. Das bedeutet, dass dieses Objekt nicht zerstört werden darf. Ruft man also andere Funktionen auf, die den ClientParameterbag neu initialisieren (goStack.oBag), bzw. man ruft Funktionen auf, die einen ClientParameterbag als Parameter verwenden, muss der übergeben ClientParameterbag gesichert werden. Dazu benutzt man die Funktion goStack.Push (Sichern) und goStack.Pull (Rücksichern).

Beschreibung

Aufruf einer Methode in einem AddIn mit Übergabe des aktuellen Buchungssatzobjektes aus der neuen Erfassung

Funktionsaufruf

Sage.Rewe.gsAppServiceCall

Parameter 1 Funktionsaufruf

<AddIn-Name>:<Funktionsname> (String)

Parameter 2 Funktionsaufruf

Lese-/Schreib-Optionen in der Form [Lese-Option] : [Schreib-Option] (String)

Lese-Optionen

  • Vollstaendig = liest den vollständigen Satz mit allen Unterelementen

Schreib-Optionen

  • Ersetzen = Ersetzt den kompletten Datensatz mit allen Unterobjekten
  • Neu = wie Ersetzen, aber es werden neu initialisierte Daten zurückgegeben (z. B. für die Beleg-Vorgangsübernahme)
  • Ignorieren = Die Rückgabe wird ignoriert. Ermöglicht damit einen schreibgeschützten Dienst-Aufruf in Bezug auf die Daten im Client

Parameter 3 Funktionsaufruf

Leerzeichen oder Argumentliste, kann im AddIn mit oBag.sItem("sAppInfo") abgerufen werden (String)

Parameter 4 Funktionsaufruf


Parameter 5 Funktionsaufruf


Parameter 6 Funktionsaufruf


Bemerkungen

Auftretende Fehler müssen mit oBag.sItem("Result") zurückgegeben werden. Erfolgt der Aufruf innerhalb eines Makros via "AufrufenKontextMenu", kann die lokale Variable [_Canceled] abgefragt werden (ist bei oBag.sItem("Result") <> "" und oBag.sItem("Result") <> "0" gleich True).

Die Codierung in Access erfolgt analog dem obigen Beispiel. Das COM-Objekt, welches übergeben wird, ist „Buchungssatz“.

Beschreibung

Aufruf einer Methode in einem AddIn mit Übergabe des aktuellen Fertigungsauftragsobjektes aus der neuen Erfassung

Funktionsaufruf

Sage.Pps.gsAppServiceCall

Parameter 1 Funktionsaufruf

<AddIn-Name>:<Funktionsname> (String)

Parameter 2 Funktionsaufruf

Lese-/Schreib-Optionen in der Form [Lese-Option] : [Schreib-Option] (String)

Lese-Optionen

  • Vollstaendig = liest den vollständigen Satz mit allen Unterelementen

Schreib-Optionen

  • Ersetzen = Ersetzt den kompletten Datensatz mit allen Unterobjekten
  • Neu = wie Ersetzen, aber es werden neu initialisierte Daten zurückgegeben (z. B. für die Beleg-Vorgangsübernahme)
  • Ignorieren = Die Rückgabe wird ignoriert. Ermöglicht damit einen schreibgeschützten Dienst-Aufruf in Bezug auf die Daten im Client

Parameter 3 Funktionsaufruf

Leerzeichen oder Argumentliste, kann im AddIn mit oBag.sItem("sAppInfo") abgerufen werden (String)

Parameter 4 Funktionsaufruf


Parameter 5 Funktionsaufruf


Parameter 6 Funktionsaufruf


Bemerkungen

Auftretende Fehler müssen mit oBag.sItem("Result") zurückgegeben werden. Erfolgt der Aufruf innerhalb eines Makros via "AufrufenKontextMenu", kann die lokale Variable [_Canceled] abgefragt werden (ist bei oBag.sItem("Result") <> "" und oBag.sItem("Result") <> "0" gleich True).

Die Codierung in Access erfolgt analog dem obigen Beispiel. Das COM-Objekt, welches übergeben wird, ist „FaBeleg“.

Beschreibung

Aufruf einer Methode in einem AddIn mit Übergabe des aktuellen Datensatzes aus den neuen Stammdaten

Funktionsaufruf

Sage.System.gsAppServiceCallGeneric

Parameter 1 Funktionsaufruf

<AddIn-Name>:<Funktionsname> (String)

Parameter 2 Funktionsaufruf

Lese-/Schreib-Optionen in der Form [Lese-Option] : [Schreib-Option] (String)

Lese-Optionen

  • Vollstaendig = liest den vollständigen Satz mit allen Unterelementen

Schreib-Optionen

  • Ersetzen = Ersetzt den kompletten Datensatz mit allen Unterobjekten
  • Neu = wie Ersetzen, aber es werden neu initialisierte Daten zurückgegeben (z. B. für die Beleg-Vorgangsübernahme)
  • Ignorieren = Die Rückgabe wird ignoriert. Ermöglicht damit einen schreibgeschützten Dienst-Aufruf in Bezug auf die Daten im Client

Parameter 3 Funktionsaufruf

Leerzeichen oder Argumentliste, kann im AddIn mit oBag.sItem("sAppInfo") abgerufen werden (String)

Parameter 4 Funktionsaufruf


Parameter 5 Funktionsaufruf


Parameter 6 Funktionsaufruf


Bemerkungen

Auftretende Fehler müssen mit oBag.sItem("Result") zurückgegeben werden. Erfolgt der Aufruf innerhalb eines Makros via "AufrufenKontextMenu", kann die lokale Variable [_Canceled] abgefragt werden (ist bei oBag.sItem("Result") <> "" und oBag.sItem("Result") <> "0" gleich True).

Die Übergabe des aktuellen Datensatzes erfolgt in einem XML-String.

Beispiel

Aus dem Artikelstamm soll ein Aufruf erfolgen, der die Eigenschaften „Länge“, „Breite“ und „Höhe“ setzt. Wurden die Daten von dem Programm geändert, dann soll der aktuelle Datensatz ohne Rückfrage gespeichert werden.

Zusatz: die Funktionalität der Ermittlung und Übergabe ist komplett in Access implementiert.

Folgende Metadaten sind anzulegen:

  • Anlegen des Kontextmenüs „Artikelstamm“ mit „Anhängen an Kontextmenü der Partner-Kennung“ = „Sage.Wawi“
  • Anlegen des Kontextmenüeintrags „BPKDimensionenSetzen“ mit folgenden Eigenschaften
    • „Position in Sortierung“ und „Schaltflächenposition“ = „0“
    • „Funktionsaufruf“ = „gsAppServiceCallGeneric.Sage.System“
    • „Parameter Funktionsaufruf 1“ = „OLAppDesignerImDetail:gEntryStammdaten“
    • „Parameter Funktionsaufruf 2“ = „Vollstaendig : Ersetzen“
    • „Parameter Funktionsaufruf 3“ = „"Mode:=1;Artikelnummer:=" & [Artikelnummer] & ";AuspraegungID:=" & [AuspraegungID]“ (damit wir uns den Key nicht aus dem XML-Dokument holen müssen)
    • „für Wawi?“ aktivieren
  • Anlegen des Kontextmenüeintrags „BPKDimensionen“ mit folgenden Eigenschaften
    • „Funktionstitel“ und „Funktionskurztitel“ = „Dimensionen“
    • „Position in Sortierung“ = „1“
    • „Funktionsaufruf“ = „MakroStarten.Sage.System“
    • „Ausführen Makro“ Anlage laut Tabelle
    • „für Wawi?“ aktivieren

Zu hinterlegende Makros:

ZeileBefehlParameter 1Parameter 2
1FestlegenLokaleVar[_BPKDatensatzSpeichern]False
2AufrufenKontextMenuBPKDimensionenSetzen
3#Kommentar[_BPKDatensatzSpeichern] wird im Accessaufruf gesetzt
4Wenn[_BPKDatensatzSpeichern] = True
5#KommentarParameter 1 = False, da keine Abfrage kommen soll
6DatensatzSpeichernFalse
7EndeWenn

Im Addin ist folgender Verweis zu setzen: Microsoft XML, v6.0

Hinweis für Developer Partner

WDB-Eintrag 203334:

Anhang ADID.AppServiceCall.VkBeleg.Generic.rar und OLAppDesignerImDetail80.rar

Wie im VBA-Code ersichtlich, erfolgt die Übergabe des Objektes mittels ClientParameterbag. Auch das „Result“ wird nach Beendigung des Aufrufes aus diesem Objekt gelesen. Das bedeutet, dass dieses Objekt nicht zerstört werden darf. Ruft man also andere Funktionen auf, die den ClientParameterbag neu initialisieren (goStack.oBag), bzw. man ruft Funktionen auf, die einen ClientParameterbag als Parameter verwenden, muss der übergeben ClientParameterbag gesichert werden. Dazu benutzt man die Funktion goStack.Push (Sichern) und goStack.Pull (Rücksichern).