DROP PROCEDURE IF EXISTS uspGetUtolsoBeNemIrtOrak GO CREATE PROCEDURE uspGetUtolsoBeNemIrtOrak @pIntezmenyId int ,@pTanevId int ,@pTanarId int ,@pDarab int AS BEGIN SET NOCOUNT ON; DECLARE @pIdoszakKezdete datetime ,@pIdoszakVege datetime CREATE TABLE #OrarendiOrak ( Id int ,OraKezdete datetime ,OraVege datetime ,Oraszam int ,TargyNev nvarchar (300) ,CsengetesiRendID int ,OsztalyNev nvarchar (255) ,OraTipus nvarchar (200) ) SELECT @pIdoszakKezdete = tanev.C_KEZDONAP ,@pIdoszakVege = (CASE WHEN tanev.C_AKTIV = 'T' THEN GETDATE() ELSE tanev.C_UTOLSOTANITASINAP END) FROM T_TANEV_OSSZES tanev WHERE tanev.TOROLT = 'F' AND tanev.ID = @pTanevId AND tanev.C_INTEZMENYID = @pIntezmenyId INSERT INTO #OrarendiOrak ( Id ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,CsengetesiRendID ,OsztalyNev ,OraTipus ) EXEC sp_GetOrarend @pIntezmenyId = @pIntezmenyId ,@pTanevId = @pTanevId ,@pIdoszakKezdete = @pIdoszakKezdete ,@pIdoszakVege = @pIdoszakVege ,@pTanarId = @pTanarId ,@pIsHelyettesitesNelkul = 0 ,@pOsztalyCsoportId = NULL ,@pTanuloId = NULL ,@pTantargyId = NULL ,@pTeremId = NULL ,@pCsakOrarendiOrak = 0 ,@pIsNapirend = NULL ,@pOszlopok = N'Id,OraKezdete,OraVege,Oraszam,TargyNev,CsengetesiRendID,OsztalyNev,OraTipus' SELECT TOP (@pDarab) orak.Id AS Id ,orak.OraKezdete AS Datum ,IIF(orak.CsengetesiRendID IS NOT NULL, orak.Oraszam, N'-') AS Oraszam ,orak.OsztalyNev AS OsztalyCsoport ,orak.TargyNev AS Tantargy FROM #OrarendiOrak orak WHERE orak.OraTipus = N'OrarendiOra' AND orak.OraKezdete <= @pIdoszakVege AND orak.OraVege >= @pIdoszakKezdete ORDER BY orak.OraKezdete ASC END GO