Eingabeparameter
Parameter | Typ | Beschreibung |
---|---|---|
ACTTIID |
INTEGER |
Primary Key Wert von der TITEL Tabelle |
ACTTISTATUS |
INTEGER |
Den aktuellen Status des Titels |
ACTTITYP |
VARCHAR(2) |
Der Titel Typ (wird nicht mehr gebraucht). |
Ausgabeparameter
Parameter | Typ | Beschreibung |
---|---|---|
UPDATED |
INTEGER |
Gibt an ob der Status geändert werden musste. |
Beschreibung
Aktualisiert den Status der Titel.
Zählt die UnterTitel, SendungItems, Sendeelemente und Exports Verknüpfungen zum Titel zusammen.
Definition
CREATE PROCEDURE TI_UPDATE_STATUS_WITH_RETURN(
ACTTIID INTEGER,
ACTTISTATUS INTEGER,
ACTTITYP VARCHAR(2))
RETURNS (
UPDATED INTEGER)
AS
DECLARE VARIABLE AnzGeplant INTEGER;
DECLARE VARIABLE AnzGeplantTI INTEGER;
DECLARE VARIABLE AnzGeplantSE INTEGER;
DECLARE VARIABLE AnzGeplantNE INTEGER;
DECLARE VARIABLE AnzExGeplant INTEGER;
BEGIN
Updated = 0;
/* Referenzierte Titel zaehlen */
SELECT COUNT(*) FROM UNTERTITEL
WHERE (UTTIIDUNTER = :ActTiId)
INTO :AnzGeplantTI;
/* In Newssendungen eingeplante zaehlen */
SELECT COUNT(*) FROM sendungitems
WHERE (smtiid = :ActTiId)
INTO :AnzGeplantNE;
/* Eingeplante Sendeelemente zaehlen */
SELECT COUNT(*) FROM SENDEELEMENTE
WHERE (SETIID = :ActTiId) AND (SESTATUS <> 5)
INTO :AnzGeplantSE;
AnzGeplant = AnzGeplantTI + AnzGeplantNE + AnzGeplantSE;
SELECT SUM(EXUSAGES) FROM EXPORTS WHERE EXTIID = :ActTiId INTO :AnzExGeplant;
IF (AnzExGeplant IS NOT NULL) THEN
BEGIN
AnzGeplant = AnzGeplant + AnzExGeplant;
END
/* Bei bedarf den Status neu schreiben */
IF (AnzGeplant > 0) THEN BEGIN
AnzGeplant = AnzGeplant + 2;
/* DABDB-398 */
IF (AnzGeplant > 32767) THEN BEGIN
AnzGeplant = 32767;
END
IF (AnzGeplant <> ActTiStatus) THEN BEGIN
UPDATE TITEL SET TISTATUS = :AnzGeplant
WHERE (TIID = :ActTiId);
Updated = 1;
END
END
ELSE BEGIN
IF ((ActTiStatus > 2) or (ActTiStatus = -1)) THEN BEGIN
UPDATE TITEL SET TISTATUS = 1
WHERE (TIID = :ActTiId);
Updated = 1;
END
END
END
![]() ![]() ![]() |