Zum Hauptinhalt springen

SelCopy

SelCopy(int1, alpha2, alpha3) : int

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von Clients mit Programmierschnittstelle Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service

Selektion kopieren

Details

Mit dieser Funktion kann eine bestehende Selektion kopiert werden. Dabei werden nur die Abfragen, nicht aber eventuell vorhandene Ergebnismengen kopiert.

Parameter (int1) enthält dabei die Dateinummer, in der die zu kopierende Selektion definiert ist. Die zu kopierende Selektion wird in Parameter (alpha2) angegeben, in Parameter (alpha3) wird der Name der durch Kopieren neu erstellten Selektion bestimmt.

SelCopy() ermöglicht es, in einer Mehrbenutzerumgebung mehrere Benutzer gleichzeitig identische Selektionen durchführen zu lassen. Dazu wird eine Master-Selektion erstellt, die dann für den jeweiligen Benutzer temporär unter einem anderen Namen kopiert wird. Da bei der Namensvergabe für die Zielselektion auf Eindeutigkeit geachtet werden sollte, empfiehlt es sich, den Namen für die kopierte Selektion beispielsweise aus dem Benutzernamen (siehe _UserName) und der Benutzer-ID (siehe _UserNumber) zusammenzusetzen.

Da bei SelCopy() keine Ergebnismengen mitkopiert werden, muss die neu erstellte Selektion anschließend durchgeführt werden, um eine Ergebnismenge zu erhalten. Die Ergebnismenge der neuen Selektion kann dann mit den für eine Selektionsauswertung und -verarbeitung vorgesehenen Funktionen bearbeitet werden.

info

Der Rückgabewert des Befehls muss ausgewertet werden, um ein fehlerfreies Arbeiten der Prozedur zu kontrollieren.

Beispiel:

// Name der Selektion erzeugen
tSelNew # 'TMP_SEL_' + UserInfo(_UserCurrent);

// Selektion kopieren
tErg # SelCopy(Adr.D.Adressen, 'Kunde', tSelNew);

// Selektion öffnen
tHdlSel # SelOpen();
tErg # tHdlSel->SelRead(Adr.D.Adressen, _SelLock, tSelNew);

// Selektion durchführen
tErg # tHdlSel->SelRun(_SelDisplay);

// Selektion verarbeiten
...

tHdlSel->SelClose(); // Selektion schließen
tErg # SelDelete(Adr.D.Adressen, tSelNew); // Selektion löschen