Von rimacon gelieferte Prozeduren und Funktionen

<< Click to Display Table of Contents >>

Navigation:  SQL-Server Objekte >

Von rimacon gelieferte Prozeduren und Funktionen

Folgende gespeicherte Prozeduren und Funktionen werden von rimacon offiziell ausgeliefert und können in Ihren T-SQL-Scripten genutzt werden.

 

fnc_cmdb_CNLOG_GetCurrentID

Gibt die mit der aktuellen Verbindung verknüpfte CNLOG_ID der Tabelle CNLOG oder eine 0 zurück.

 

 

fnc_cmdb_GetGlobvarAsString

Gibt den Inhalt der globalen Variable zurück. Wenn die Variable nicht vorhanden ist, wird eine leere Zeichenfolge zurückgegeben.

siehe auch Globale Variablen

 

Parameter:

@pName varchar(256)

Name der Variable

Rückgabewert: nvarchar(max)

Hinweis: Diese Funktion kann nur für unverschlüsselt gespeicherte Variablen genutzt werden.

 

 

fnc_cmdb_GetTextEquivalentForENUMColumn

Gibt die Textäquivalente für ein Attribut von Typ Auswahl zurück.

siehe auch Basisattribute (Eigenschaften / Merkmale)

Parameter:

@pMdtId int

Mandant-ID, normalerweise 1

@pTable varchar(100)

@pColumn varchar(100)

Tabelle und Spalte. Z.B.  ‚ANW’ und ‚ANW_Extern’

Rückgabewert: table(int_value int, text_value nvarchar(100) )

 

Beispiel:

 

select * from dbo.fnc_cmdb_GetTextEquivalentForENUMColumn(1, 'ANW', 'ANW_Extern')

 

 

fnc_cmdb_GetCurrentWebANW

Gibt die mit der aktuellen Verbindung verknüpfte ANW_ID der Tabelle ANW oder eine 0 zurück.

 

fnc_htmlspecialchars

Konvertiert nicht-HTML-Zeichen in HTML-Entitiäten.Konkret:

&

&amp;

"

&quot;

'

&apos;

<

&lt;

>

&gt;

 

 

sp_cmdb_add_bg_deletecianddeps

Löscht ein Objekt/CI, identifiziert über Tabelle und Zeile-ID. Das Löschen erfolgt nicht sofort. Die Anforderung wird in der Tabelle BGDELCIDEPS gespeichert und im Hintergrund läuft regelmäßig eine Routine, die die Objekte aus BGDELCIDEPS ausliest und löscht.

 

Parameter:

@table varchar(100)

Tabellenname, z.B. „HWM“

@objId int

ID, z.B. konkrete HWM_ID

@scope int = 6

Was außer dem Hauptobjekt (optional) gelöscht werden soll Werte: siehe auch rimacon.cmdb.DeleteCIAndDepsScope

 

 

sp_cmdb_AddBCCToEmailDirekt

Fügt einen BCC-Empfänger hinzu.

Parameter:

@pEmailID int

E-Mail ID

@pMail

nvarchar(100)

@pName

nvarchar(100)

 

 

sp_cmdb_AddBCCToEmailOverSQL

sp_cmdb_AddCCToEmailOverSQL

Fügt einen oder mehrere CC- oder BCC-Empfänger hinzu. Siehe auch sp_cmdb_AddRecipientToEmailOverSQL

 

 

sp_cmdb_AddCCToEmailDirekt

Fügt einen CC-Empfänger hinzu.

Parameter:

@pEmailID int

E-Mail ID

@pMail

nvarchar(100)

@pName

nvarchar(100)

 

 

sp_cmdb_AddRecipientToEmailDirekt

Fügt einen Empfänger hinzu.

Parameter:

@pEmailID int

E-Mail ID

@pMail nvarchar(100)

Empfänger-Adresse (hmustermann@meinefirma.de)

@pName nvarchar(100)

Empfänger-Name (Hans Mustermann)

 

 

sp_cmdb_AddRecipientToEmailOverSQL

Fügt einen oder mehrere Empfänger hinzu.

Parameter:

@pEmailID int

E-Mail ID

@pSQL nvarchar(max)

SQL-Ausdruck, der Empfänger-Namen und Empfänger-Email erzeugt und als Recordset zurückgibt.

@pFieldMail varchar(100)

Name der Spalte, die die Empfänger-Email enthält

@pFieldName varchar(100)

Name der Spalte, die den/die Empfänger-Name(n) enthält

 

Beispiel:

exec sp_cmdb_AddRecipientToEmailOverSQL 12345,

N'select VCOL_Name, VCOL_EMAIL from VTAB_Leute WHERE VCOL_IsSAPAdmin=1',

'VCOL_EMAIL', 'VCOL_Name'

 

 

sp_cmdb_add_int_to_conndata

siehe auch Life-Cycle

 

 

sp_cmdb_add_sqldbg

Einfügen einer Zeile in die Tabelle SQLDBG. Diese Tabelle dient nur für das Speichern von Debuginformationen von T-SQL-Scripten. Sie können beliebig genutzt werden.

Parameter:

@key varchar(50)

Wert für die Spalte key

@value1 varchar(4000)

Wert für die Spalte value1

@value2 varchar(4000)

Wert für die Spalte value2

@value3 varchar(4000)

Wert für die Spalte value3

 

 

sp_cmdb_bgisbatch_init

Startet einen regelbasierten Ist/Soll-Abgleich

@key as varchar(50)

Identifiziert den konkreten regelbasierten Ist/Soll-Abgleich

 

@prms as varchar(8000)

Parameter, als Pärchen name=value. Mehrere Parameter müssen mit Semikolon getrennt werden.

 

 

 

exec sp_cmdb_bgisbatch_init 'hwm_und_switch', 'rfcid=123;procid=abcd'

 

 

 

sp_cmdb_cigroup_start

Startet die Aktualisierung einer Gruppe, siehe auch Gruppen aktualisieren.

@key varchar(50)

Identifiziert die Gruppe, siehe auch Reiter „Allgemein“

 

 

sp_cmdb_CreateEmail

Erstellt eine E-Mail ohne Empfänger-Adresse, ohne diese zu verschicken. Die Empfänger-Adressen müssen nachträglich hinzugefügt werden.

Der Inhalt ist ein Klar-Text. Um einen HTML-Inhalt zu schicken, nutzen Sie die Prozedur sp_cmdb_SetEmailHtmlBody.

Parameter:

@pNewIdAsRS int

Wenn gleich 1: Die Prozedur gibt ein Recordset zurück, das eine Zeile und eine Spalte (EMAIL_ID) enthält. Die Spalte enthält die ID der neuen E-Mail aus der EMAIL-Tabelle.

 

Wenn ungleich 1: Die Prozedur gibt kein Recordset zurück. Stattdessen wird die neue ID in Parameter @pNewEmailID gespeichert.

@pNewEmailID int output

siehe @pNewIdAsRS

@pSendDate datetime

Versandzeitpunkt. Wenn null 🡪 aktuelles Datum und Zeit.

@pFromMail nvarchar(100)

Sender-Adresse (admin@meinefirma.de

@pFromName nvarchar(100)

Sender-Name (admin)

@pReplyTo nvarchar(100)

Antwort-Adresse

@pSubject nvarchar(100)

Betreff

@pBody nvarchar(max)

Inhalt

 

 

sp_cmdb_CreateOneShotGrantedRightsForUserform

Mit dieser Funktion kann für einen konkreten Webbenutzer eine einmalige Berechtigung für eine individuelle Maske vergeben werden. Dies ist sinnvoll, wenn Sie z.B. eine URL für individuelle Maske generieren und der Webbenutzer evtl. keine Berechtigungen für die Maske hat.

Parameter:

@pKey varchar(50)

Eine zufällige Zeichenfolge, die Sie vorher generieren und später beim Aufruf der individuellen Maske als pGrantedRightsKey-Parameter benutzen

 

@pAnwID int

Webbenutzer ID (ANW.ANW_ID)

 

@pRights int

Berechtigungen als Bitmask

1 = select,  2 = insert,  4 = update

 

@pUserformID int

 

 

@pObjID int

Konkrete CI-ID

 

 

Beispiel für ein Webmenüpunkt.

 

declare @key varchar(50), @url varchar(500)

set @key = newid()

exec sp_cmdb_CreateOneShotGrantedRightsForUserform @key, $_AnwID, 5/*1+4*/, 235,250

 

set @url = '/userform?pUserformID=235'

set @url = @url + '&pSessionKey=$_SessionKey'

set @url = @url + '&pID=250'

set @url = @url + '&pGrantedRightsKey=' + @key

select @url

 

 

 

sp_cmdb_CreateSMS

Erstellt eine SMS, ohne diese zu verschicken. Diese Prozedur ist fast mit sp_cmdb_SendOneSMS identisch, außer dass hier der Status auf „Building“ gesetzt wird.

Über die Prozedur sp_cmdb_SetSMSExtParam können erweiterte Parameter hinzugefügt werden, die über @pExtParams nicht hinzugefügt werden können (z.B. weil Apostroph, Semikolon oder Gleichheitszeichen enthalten sind).

Zum Schluss rufen Sie die Prozedur sp_cmdb_SendSMS auf

 

Parameter:

@pNewIdAsRS int

Wenn gleich 1: Die Prozedur gibt ein Recordset zurück, das eine Zeile und eine Spalte (SMSOUT_ID) enthält. Die Spalte enthält die ID der neuen SMS aus der SMSOUT-Tabelle.

 

Wenn ungleich 1: Die Prozedur gibt kein Recordset zurück. Stattdessen wird die neue ID in Parameter @pNewSmsID gespeichert.

@pNewSmsID int output

siehe @pNewIdAsRS

@pSendDate datetime

Versandzeitpunkt. Wenn null  ->aktuelles Datum und Zeit.

@pFrom varchar(50)

Sender. Kann auch leer sein.

@pTo varchar(50)

Mobilnummer

@pExtParams nvarchar(max)

Erweiterte Parameter.

Beispiele:

flash=1

flash=1;codierung=plain

@pBody nvarchar(max)

Inhalt der SMS.

 

 

sp_cmdb_remove_int_from_conndata

siehe auch Life-Cycle

 

 

sp_cmdb_SendEmail

Beschreibung: Markiert die E-Mail als „vorbereitet für den Versand“.

Parameter:

@pEmailID int

E-Mail ID

 

 

sp_cmdb_SendOneEmail

Verschickt eine E-Mail an nur eine (!) E-Mail-Adresse. Der Versand einer E-Mail an mehrere Empfänger ist bei dieser Prozedur nicht möglich, auch nicht durch Trennung der einzelnen Empfänger-Adressen durch Satzzeichen (z.B. Müller@rimacon.de; Meier@rimacon.de etc.).

Der Inhalt ist ein Klar-Text. Über diese Prozedur kann der Inhalt nicht als HTML geschickt werden.

Parameter:

@pNewIdAsRS int

Wenn gleich 1: Die Prozedur gibt ein Recordset zurück, das eine Zeile und eine Spalte (EMAIL_ID) enthält. Die Spalte enthält die ID der neuen E-Mail aus der EMAIL-Tabelle.

 

Wenn ungleich 1: Die Prozedur gibt kein Recordset zurück. Stattdessen wird die neue ID in Parameter @pNewEmailID gespeichert.

@pNewEmailID int output

siehe @pNewIdAsRS

@pSendDate datetime

Versandzeitpunkt. Wenn  null 🡪 aktuelles Datum und Zeit.

@pFromMail nvarchar(100)

Sender-Adresse

@pFromName nvarchar(100)

Sender-Name

@pRcptMail nvarchar(100)

Empfänger-Adresse

@pRcptName nvarchar(100)

Empfänger-Name

@pReplyTo nvarchar(100)

Antwort-Adresse

@pSubject nvarchar(100)

Betreff

@pBody nvarchar(max)

Inhalt (Klar-Text)

 

 

sp_cmdb_SendOneSMS

Verschickt eine SMS. Diese Prozedur ist fast mit sp_cmdb_CreateSMS identisch, außer dass der Status gleich auf „vorbereitet für den Versand“ gesetzt wird und weitere Änderungen an der SMS nicht möglich sind.

Parameter: Siehe sp_cmdb_CreateSMS

 

 

sp_cmdb_SendOneSMS2

sp_cmdb_SendOneSMS3

sp_cmdb_SendOneSMS4

sp_cmdb_SendOneSMS5

Diese Prozeduren sind ähnlich wie die sp_cmdb_SendOneSMS, benutzen aber weniger Parameter und sind daher einfacher zu handhaben.

 

 

sp_cmdb_SendSMS

Markiert die SMS als „vorbereitet für den Versand“.

Parameter:

@pSmsID int

SMS ID

 

 

sp_cmdb_SetEmailHtmlBody

Legt den HTML-Inhalt fest

Parameter:

@pEmailID int

E-Mail ID

@pHtmlBody

nvarchar(max)

 

 

sp_cmdb_SetGlobvarAsString

Legt Inhalt der globalen Variablen fest.

siehe auch Globale Variablen

 

Parameter:

@pName varchar(256)

Name der Variable

@pValue nvarchar(max)

Wert als Zeichenfolge

Hinweis: Diese Funktion kann nur für unverschlüsselt gespeicherte Variablen genutzt werden.

 

 

sp_cmdb_SetSMSExtParam

Legt Wert eines erweiterten Parameter für eine SMS fest.

@pSmsID int

SMS ID

@pName varchar(50)

Parametername

@pValue nvarchar(max)

Wert

 

 

sp_cmdb_srcsnapshot_start

Startet (asynchron) den Refresh von einer Materialized View.

Parameter:

@pKey nvarchar(50)

Identifiziert die Materialized View

 

Beispiel:

 

exec sp_cmdb_srcsnapshot_start N'mview_oracle01_hr_jobs'