Eingabeparameter
Parameter | Typ | Beschreibung |
---|---|---|
SRCSNID |
INTEGER |
Primary Key Wert von der SENDUNGEN Tabelle |
DESTSESNID |
INTEGER |
Primary Key Wert von der SENDUNGEN Tabelle |
DESTSEDATUM |
DATE |
Damit wird das Ziel Datum übergeben. |
DESTSEZEITDIFF |
INTEGER |
Damit wird die Zeit-Differenz von der Quell- und Ziel- Stunde übergeben. |
DESTSESPPOSITION |
INTEGER |
Damit wird die Ziel Sendeplan Position übergeben. |
DESTSESNPOSITION |
INTEGER |
Damit wird die Ziel Sendung Position übergeben. |
Ausgabeparameter
(Es gibt keine Ausgabeparameter)
Beschreibung
Kopiert eine ganze Sendung.
Definition
CREATE PROCEDURE SN_COPY(
SRCSNID INTEGER,
DESTSESNID INTEGER,
DESTSEDATUM DATE,
DESTSEZEITDIFF INTEGER,
DESTSESPPOSITION INTEGER,
DESTSESNPOSITION INTEGER)
AS
DECLARE VARIABLE SeId INTEGER;
DECLARE VARIABLE SeSnId INTEGER;
DECLARE VARIABLE SeTiId INTEGER;
DECLARE VARIABLE SeDatum DATE;
DECLARE VARIABLE SeSpPosition INTEGER;
DECLARE VARIABLE SeSnPosition INTEGER;
DECLARE VARIABLE SePosition INTEGER;
DECLARE VARIABLE SeMark SMALLINT;
DECLARE VARIABLE SeZeit INTEGER;
DECLARE VARIABLE SeDauer INTEGER;
DECLARE VARIABLE SeSequenz CHAR(1);
DECLARE VARIABLE SeGruppe CHAR(1);
DECLARE VARIABLE SeKlammer CHAR(1);
DECLARE VARIABLE SeParallel CHAR(1);
DECLARE VARIABLE SeRFlag CHAR(1);
DECLARE VARIABLE SeTyp CHAR(2);
DECLARE VARIABLE SeTitelThema CHAR(80);
DECLARE VARIABLE SeInterpret CHAR(80);
DECLARE VARIABLE SeKurzBez CHAR(10);
DECLARE VARIABLE SeGeschlecht CHAR(1);
DECLARE VARIABLE SeJahrgang SMALLINT;
DECLARE VARIABLE SeHitJahrgang SMALLINT;
DECLARE VARIABLE SeAutor CHAR(80);
DECLARE VARIABLE SeArchivNr CHAR(50);
DECLARE VARIABLE SeArchivNr_2 CHAR(50);
DECLARE VARIABLE SeSystemNr CHAR(20);
DECLARE VARIABLE SeErstellDatum DATE;
DECLARE VARIABLE SeErsteller CHAR(20);
DECLARE VARIABLE SeBearbDatum DATE;
DECLARE VARIABLE SeBearbeiter CHAR(20);
DECLARE VARIABLE SeQuelle CHAR(1);
DECLARE VARIABLE SeFilename CHAR(255);
DECLARE VARIABLE SeSeite CHAR(1);
DECLARE VARIABLE SeStueckNr SMALLINT;
DECLARE VARIABLE SeMagazinNr SMALLINT;
DECLARE VARIABLE SeSlotNr SMALLINT;
DECLARE VARIABLE SeSmartMix SMALLINT;
DECLARE VARIABLE SeAnmoderation BLOB SUB_TYPE 1;
DECLARE VARIABLE SeText BLOB SUB_TYPE 1;
DECLARE VARIABLE SeAbmoderation BLOB SUB_TYPE 1;
DECLARE VARIABLE SeZusatztext BLOB SUB_TYPE 1;
DECLARE VARIABLE SeZusatzFeld1 CHAR(80);
DECLARE VARIABLE SeZusatzFeld2 CHAR(80);
DECLARE VARIABLE SeSchemaNr CHAR(15);
DECLARE VARIABLE SeVorlauf INTEGER;
DECLARE VARIABLE SeFadeIn INTEGER;
DECLARE VARIABLE SeMittelteil INTEGER;
DECLARE VARIABLE SeFadeOut INTEGER;
DECLARE VARIABLE SeNachlauf INTEGER;
DECLARE VARIABLE SeStartNext INTEGER;
DECLARE VARIABLE SeIntro1 INTEGER;
DECLARE VARIABLE SeIntro2 INTEGER;
DECLARE VARIABLE SeIntro3 INTEGER;
DECLARE VARIABLE SeRefrain1 INTEGER;
DECLARE VARIABLE SeRefrain2 INTEGER;
DECLARE VARIABLE SeRefrain3 INTEGER;
DECLARE VARIABLE SeRefrain4 INTEGER;
DECLARE VARIABLE SeAudioFlag SMALLINT;
DECLARE VARIABLE SeDropInLevel INTEGER;
DECLARE VARIABLE SeFadeInChar CHAR(1);
DECLARE VARIABLE SeFadeOutChar CHAR(1);
DECLARE VARIABLE SeOutroChar CHAR(1);
DECLARE VARIABLE SeToleranz1 INTEGER;
DECLARE VARIABLE SeToleranz2 INTEGER;
DECLARE VARIABLE SeFixeLaenge INTEGER;
DECLARE VARIABLE SeIstDatum DATE;
DECLARE VARIABLE SeIstZeit INTEGER;
DECLARE VARIABLE SeIstDauer INTEGER;
DECLARE VARIABLE SeStatus SMALLINT;
DECLARE VARIABLE SeLevelInfo BLOB SUB_TYPE 0;
DECLARE VARIABLE SeLevelOffset INTEGER;
DECLARE VARIABLE SeInfo CHAR(100);
DECLARE VARIABLE SeVerlag VARCHAR(255);
DECLARE VARIABLE SeKatalogNr CHAR(30);
DECLARE VARIABLE SeIsrc CHAR(20);
DECLARE VARIABLE SeAlbumName CHAR(80);
DECLARE VARIABLE SeKaId INTEGER;
DECLARE VARIABLE SeKomponist VARCHAR(255);
DECLARE VARIABLE SeTexter VARCHAR(255);
DECLARE VARIABLE SeLaId INTEGER;
DECLARE VARIABLE SeReId INTEGER;
DECLARE VARIABLE SeOmRoId VARCHAR(50);
DECLARE VARIABLE SeOmStoryId VARCHAR(50);
DECLARE VARIABLE SeOmItemId VARCHAR(50);
DECLARE VARIABLE SeObjId VARCHAR(50);
DECLARE VARIABLE SeMosId VARCHAR(50);
DECLARE VARIABLE SePlayerStatus SMALLINT;
DECLARE VARIABLE SeAspectRatio SMALLINT;
DECLARE VARIABLE ATeId INTEGER;
DECLARE VARIABLE CurrentSeId INTEGER;
DECLARE VARIABLE SeIdList VARCHAR(8190);
DECLARE VARIABLE RefSeIdList VARCHAR(8190);
DECLARE VARIABLE DayInMilliSec INTEGER;
DECLARE VARIABLE SeHerkunftId INTEGER;
DECLARE VARIABLE SeMusikVersionId INTEGER;
DECLARE VARIABLE SeSyncIn INTEGER;
DECLARE VARIABLE SeSyncOut INTEGER;
DECLARE VARIABLE SeVorzeitigerSN INTEGER;
BEGIN
SeIdList = '';
RefSeIdList = '';
DayInMilliSec = (24 * 60 * 60 * 1000);
DELETE FROM SENDEELEMENTE WHERE (SESNID = :DestSeSnId);
FOR
SELECT
SEID,SESNID,SETIID,SEDATUM,SESPPOSITION,SESNPOSITION,SEPOSITION,SEMARK,
SEZEIT,SEDAUER,SESEQUENZ,SEGRUPPE,SEKLAMMER,SEPARALLEL,SERFLAG,SETYP,
SETITELTHEMA,SEINTERPRET,SEKURZBEZ,SEGESCHLECHT,SEJAHRGANG,SEHITJAHRGANG,SEAUTOR,
SEARCHIVNR,SESYSTEMNR,SEERSTELLDATUM,SEERSTELLER,SEBEARBDATUM,SEBEARBEITER,
SEQUELLE,SEFILENAME,SESEITE,SESTUECKNR,SEMAGAZINNR,SESLOTNR,SESMARTMIX,
SEANMODERATION,SETEXT,SEABMODERATION,SEZUSATZTEXT,SEZUSATZFELD1,SEZUSATZFELD2,SESCHEMANR,
SEVORLAUF,SEFADEIN,SEMITTELTEIL,SEFADEOUT,SENACHLAUF,SESTARTNEXT,
SEINTRO1,SEINTRO2,SEINTRO3,SEREFRAIN1,SEREFRAIN2,SEREFRAIN3,SEREFRAIN4,
SEDROPINLEVEL,SEFADEINCHAR,SEFADEOUTCHAR,SEOUTROCHAR,SEAUDIOFLAG,
SETOLERANZ1,SETOLERANZ2,SEFIXELAENGE,SEISTDATUM,SEISTZEIT,SEISTDAUER,SESTATUS, SELEVELINFO,
SELEVELOFFSET,SEINFO,SEVERLAG,SEKATALOGNR,SEISRC,SEALBUMNAME,SEKAID,SEKOMPONIST,SEREID,
SETEXTER,SELAID,SESYNCIN,SESYNCOUT,SEVORZEITIGER_STARTNEXT,
SEOMROID,SEOMSTORYID,SEOMITEMID,SEOBJID,SEMOSID,
SEPLAYERSTATUS,SEASPECTRATIO,SEHERKUNFTID,SEMUSIKVERSIONID,SEARCHIVNR_2
FROM SENDEELEMENTE
WHERE (SESNID = :SrcSnId)
ORDER BY SEPOSITION ASCENDING
INTO
:CurrentSeId,:SeSnId,:SeTiId,:SeDatum,:SeSpPosition,:SeSnPosition,:SePosition,:SeMark,
:SeZeit,:SeDauer,:SeSequenz,:SeGruppe,:SeKlammer,:SeParallel,:SeRFlag,:SeTyp,
:SeTitelThema,:SeInterpret,:SeKurzBez,:SeGeschlecht,:SeJahrgang,:SeHitJahrgang,:SeAutor,
:SeArchivNr,:SeSystemNr,:SeErstelldatum,:SeErsteller,:SeBearbDatum,:SeBearbeiter,
:SeQuelle,:SeFilename,:SeSeite,:SeStueckNr,:SeMagazinNr,:SeSlotNr,:SeSmartMix,
:SeAnmoderation,:SeText,:SeAbmoderation,:SeZusatzText,:SeZusatzFeld1,:SeZusatzFeld2,:SeSchemaNr,
:SeVorlauf,:SeFadeIn,:SeMittelteil,:SeFadeOut,:SeNachlauf,:SeStartNext,
:SeIntro1,:SeIntro2,:SeIntro3,:SeRefrain1,:SeRefrain2,:SeRefrain3,:SeRefrain4,
:SeDropInLevel,:SeFadeInChar,:SeFadeOutChar,:SeOutroChar,:SeAudioFlag,
:SeToleranz1,:SeToleranz2,:SeFixeLaenge,:SeIstDatum,:SeIstZeit,:SeIstDauer,:SeStatus,:SeLevelInfo,
:SeLevelOffset,:SeInfo,:SeVerlag,:SeKatalogNr,:SeIsrc,:SeAlbumName,:SeKaId,:SeKomponist,:SeReId,
:SeTexter,:SeLaId,:SeSyncIn,:SeSyncOut,:SeVorzeitigerSN,
:SeOmRoId,:SeOmStoryId,:SeOmItemId,:SeObjId,:SeMosId,
:SePlayerStatus,:SeAspectRatio,:SeHerkunftId,:SeMusikVersionId,:SeArchivNr_2
DO BEGIN
EXECUTE PROCEDURE NEW_SEID RETURNING_VALUES SeId;
ATeId = NULL;
SELECT MIN(TEID)
FROM TRIGGEREDEVENTS
WHERE (TESEID = :CurrentSeId) OR
(TESEID IN (SELECT TESEID FROM TRIGGEREDEVENTS
WHERE (TETRIGGEREDSEID = :CurrentSeId)))
INTO :ATeId;
IF (ATeId IS NOT NULL) THEN BEGIN
IF (SeIdList != '') THEN
SeIdList = SeIdList || ',';
SeIdList = SeIdList || CAST(CurrentSeId AS VARCHAR(10));
RefSeIdList = RefSeIdList || ';' || CAST(CurrentSeId AS VARCHAR(10)) || ':' || CAST(SeId AS VARCHAR(10));
END
SeSnId = DestSeSnId;
SeDatum = DestSeDatum;
SeZeit = SeZeit + DestSeZeitDiff;
IF (SeZeit < 0) THEN BEGIN
SeZeit = SeZeit + DayInMilliSec;
END
ELSE BEGIN
IF (SeZeit > DayInMilliSec) THEN BEGIN
SeZeit = SeZeit - DayInMilliSec;
END
END
SeSpPosition = DestSeSpPosition;
SeSnPosition = DestSeSnPosition;
SeStatus = 0;
/* Toleranz Zeit anpassen ausser bei Typ S */
IF (SeTyp <> 'S') THEN BEGIN
IF (SeToleranz1 <> 0) THEN BEGIN
SeToleranz1 = SeToleranz1 + DestSeZeitDiff;
IF (SeToleranz1 < 0) THEN BEGIN
SeToleranz1 = SeToleranz1 + DayInMilliSec;
END
ELSE IF (SeToleranz1 > DayInMilliSec) THEN BEGIN
SeToleranz1 = SeToleranz1 - DayInMilliSec;
END
END
IF (SeToleranz2 <> 0) THEN BEGIN
SeToleranz2 = SeToleranz2 + DestSeZeitDiff;
IF (SeToleranz2 < 0) THEN BEGIN
SeToleranz2 = SeToleranz2 + DayInMilliSec;
END
ELSE IF (SeToleranz2 > DayInMilliSec) THEN BEGIN
SeToleranz2 = SeToleranz2 - DayInMilliSec;
END
END
END
/* SERFLAG darf nicht zurueckgesetzt werden, wenn es sich um ein X Flag handelt! */
IF (SeRFlag <> 'X') THEN BEGIN
SeRFlag = '-';
END
INSERT INTO SENDEELEMENTE (
SEID,SESNID,SETIID,SEDATUM,SESPPOSITION,SESNPOSITION,SEPOSITION,SEMARK,
SEZEIT,SEDAUER,SESEQUENZ,SEGRUPPE,SEKLAMMER,SEPARALLEL,SERFLAG,SETYP,
SETITELTHEMA,SEINTERPRET,SEKURZBEZ,SEGESCHLECHT,SEJAHRGANG,SEHITJAHRGANG,SEAUTOR,
SEARCHIVNR,SESYSTEMNR,SEERSTELLDATUM,SEERSTELLER,SEBEARBDATUM,SEBEARBEITER,
SEQUELLE,SEFILENAME,SESEITE,SESTUECKNR,SEMAGAZINNR,SESLOTNR,SESMARTMIX,
SEANMODERATION,SETEXT,SEABMODERATION,SEZUSATZTEXT,SEZUSATZFELD1,SEZUSATZFELD2,SESCHEMANR,
SEVORLAUF,SEFADEIN,SEMITTELTEIL,SEFADEOUT,SENACHLAUF,SESTARTNEXT,
SEINTRO1,SEINTRO2,SEINTRO3,SEREFRAIN1,SEREFRAIN2,SEREFRAIN3,SEREFRAIN4,
SEDROPINLEVEL,SEFADEINCHAR,SEFADEOUTCHAR,SEOUTROCHAR,SEAUDIOFLAG,
SETOLERANZ1,SETOLERANZ2,SEFIXELAENGE,SEISTDATUM,SEISTZEIT,SEISTDAUER,SESTATUS,SELEVELINFO,
SELEVELOFFSET,SEINFO,SEVERLAG,SEKATALOGNR,SEISRC,SEALBUMNAME,SEKAID,SEKOMPONIST,SEREID,
SETEXTER,SELAID,SESYNCIN,SESYNCOUT,SEVORZEITIGER_STARTNEXT,
SEOMROID,SEOMSTORYID,SEOMITEMID,SEOBJID,SEMOSID,
SEPLAYERSTATUS,SEASPECTRATIO,SEHERKUNFTID,SEMUSIKVERSIONID,SEARCHIVNR_2
)
VALUES (
:SeId,:SeSnId,:SeTiId,:SeDatum,:SeSpPosition,:SeSnPosition,:SePosition,:SeMark,
:SeZeit,:SeDauer,:SeSequenz,:SeGruppe,:SeKlammer,:SeParallel,:SeRFlag,:SeTyp,
:SeTitelThema,:SeInterpret,:SeKurzBez,:SeGeschlecht,:SeJahrgang,:SeHitJahrgang,:SeAutor,
:SeArchivNr,:SeSystemNr,:SeErstelldatum,:SeErsteller,:SeBearbDatum,:SeBearbeiter,
:SeQuelle,:SeFilename,:SeSeite,:SeStueckNr,:SeMagazinNr,:SeSlotNr,:SeSmartMix,
:SeAnmoderation,:SeText,:SeAbmoderation,:SeZusatzText,:SeZusatzFeld1,:SeZusatzFeld2,:SeSchemaNr,
:SeVorlauf,:SeFadeIn,:SeMittelteil,:SeFadeOut,:SeNachlauf,:SeStartNext,
:SeIntro1,:SeIntro2,:SeIntro3,:SeRefrain1,:SeRefrain2,:SeRefrain3,:SeRefrain4,
:SeDropInLevel,:SeFadeInChar,:SeFadeOutChar,:SeOutroChar,:SeAudioFlag,
:SeToleranz1,:SeToleranz2,:SeFixeLaenge,:SeIstDatum,:SeIstZeit,:SeIstDauer,:SeStatus,:SeLevelInfo,
:SeLevelOffset,:SeInfo,:SeVerlag,:SeKatalogNr,:SeIsrc,:SeAlbumName,:SeKaId,:SeKomponist,:SeReId,
:SeTexter,:SeLaId,:SeSyncIn,:SeSyncOut,:SeVorzeitigerSN,
:SeOmRoId,:SeOmStoryId,:SeOmItemId,:SeObjId,:SeMosId,
:SePlayerStatus,:SeAspectRatio,:SeHerkunftId,:SeMusikVersionId,:SeArchivNr_2
);
/* DABDB-365 */
INSERT INTO UNTERTITEL (UTSEID, UTTIIDUNTER, UTPOSITION, UTLINEINDEX, UTNUTZUNGSDAUER, UTNUTZUNGSART)
SELECT :SeId, UTTIIDUNTER, UTPOSITION, UTLINEINDEX, UTNUTZUNGSDAUER, UTNUTZUNGSART FROM UNTERTITEL
WHERE (UTSEID = :CurrentSeId) AND (UTNUTZUNGSART = 1);
END
/* TriggeredEvents auch noch kopieren */
EXECUTE PROCEDURE TE_SE_COPY(SeIdList, RefSeIdList);
END
![]() ![]() ![]() |