ALTER PROCEDURE [dbo].[sp_rpt_applikationslisten]
@sqlwhere varchar(1024)
AS
BEGIN

   SET NOCOUNT ON;
   declare @xsql varchar(2048)
   set @xsql='SELECT DISTINCT'
   set @xsql=@xsql+' TOP (100) PERCENT dbo.Applikation.Bezeichnung AS Applikation, dbo.Person.Name, dbo.Person.Vorname, SUBSTRING(dbo.Person.Telefon, LEN(dbo.Person.Telefon)'
   set @xsql=@xsql+' - 4, 5) AS telefon, dbo.Person.EMail, dbo.Kontakttyp.Bezeichnung AS Kontakttyp, dbo.Kontakttyp.KontakttypNr, dbo.ApplikationKategorie.Bezeichnung AS Kategorie,'
   set @xsql=@xsql+' dbo.GremiumGruppierung.Gruppierungsbegriff AS Verantwortung, GremiumGruppierung_1.Gruppierungsbegriff AS Marktbereich,'
   set @xsql=@xsql+' dbo.GremiumBereich.Kurzbezeichnung AS RFCBoard'
   set @xsql=@xsql+' FROM         dbo.ApplikationKontakt INNER JOIN'
   set @xsql=@xsql+' dbo.Kontakttyp ON dbo.ApplikationKontakt.KontakttypNr = dbo.Kontakttyp.KontakttypNr INNER JOIN'
   set @xsql=@xsql+' dbo.Person ON dbo.ApplikationKontakt.PersonNr = dbo.Person.PersonNr INNER JOIN'
   set @xsql=@xsql+' dbo.Applikation ON dbo.ApplikationKontakt.Applikationnr = dbo.Applikation.ApplikationNr INNER JOIN'
   set @xsql=@xsql+' dbo.ApplikationKategorie ON dbo.Applikation.ApplikationKategorieNr = dbo.ApplikationKategorie.ApplikationKategorieNr INNER JOIN'
   set @xsql=@xsql+' dbo.GremiumGruppierung ON dbo.Applikation.ApplikationVerantwortungNr = dbo.GremiumGruppierung.GremiumGruppierungNr INNER JOIN'
   set @xsql=@xsql+' dbo.GremiumGruppierung AS GremiumGruppierung_1 ON dbo.Applikation.Marktbereichnr = GremiumGruppierung_1.GremiumGruppierungNr LEFT OUTER JOIN'
   set @xsql=@xsql+' dbo.GremiumBereich ON dbo.Applikation.RfcBoardNr = dbo.GremiumBereich.GremiumBereichNr'
   set @xsql=@xsql+' WHERE     (dbo.Applikation.Aktiv = 1) AND (dbo.Person.Aktiv = 1) AND (dbo.ApplikationKontakt.Aktiv = 1) AND (dbo.Kontakttyp.KontakttypNr = 1 OR'
   set @xsql=@xsql+' dbo.Kontakttyp.KontakttypNr = 2) AND (dbo.GremiumGruppierung.GremiumNr = 3) AND (GremiumGruppierung_1.GremiumNr = 4) AND'
   set @xsql=@xsql+' (dbo.GremiumBereich.GremiumGruppierungNr = 1)'

 set @xsql='SELECT DISTINCT '
   set @xsql=@xsql+' TOP (100) PERCENT dbo.Applikation.Bezeichnung AS Applikation, dbo.Person.Name, dbo.Person.Vorname, SUBSTRING(dbo.Person.Telefon, LEN(dbo.Person.Telefon) '
   set @xsql=@xsql+'- 4, 5) AS telefon, dbo.Person.EMail, dbo.Kontakttyp.Bezeichnung AS Kontakttyp, dbo.Kontakttyp.KontakttypNr, dbo.ApplikationKategorie.Bezeichnung AS Kategorie, '
   set @xsql=@xsql+' dbo.GremiumGruppierung.Gruppierungsbegriff AS Verantwortung, dbo.GremiumBereich.Bereich AS Team, '
   set @xsql=@xsql+' GremiumGruppierung_2.Gruppierungsbegriff AS Fachliche_Verantwortung, GremiumGruppierung_1.Gruppierungsbegriff AS Marktbereich, '
   set @xsql=@xsql+' GremiumBereich_1.Kurzbezeichnung AS RFCBoard'
   set @xsql=@xsql+' FROM         dbo.ApplikationKontakt INNER JOIN'
   set @xsql=@xsql+' dbo.Kontakttyp ON dbo.ApplikationKontakt.KontakttypNr = dbo.Kontakttyp.KontakttypNr INNER JOIN'
   set @xsql=@xsql+' dbo.Person ON dbo.ApplikationKontakt.PersonNr = dbo.Person.PersonNr INNER JOIN'
   set @xsql=@xsql+' dbo.Applikation ON dbo.ApplikationKontakt.Applikationnr = dbo.Applikation.ApplikationNr INNER JOIN'
   set @xsql=@xsql+' dbo.ApplikationKategorie ON dbo.Applikation.ApplikationKategorieNr = dbo.ApplikationKategorie.ApplikationKategorieNr LEFT OUTER JOIN'
   set @xsql=@xsql+' dbo.GremiumGruppierung AS GremiumGruppierung_1 ON dbo.Applikation.Marktbereichnr = GremiumGruppierung_1.GremiumGruppierungNr LEFT OUTER JOIN'
   set @xsql=@xsql+' dbo.GremiumGruppierung ON dbo.Applikation.ApplikationVerantwortungNr = dbo.GremiumGruppierung.GremiumGruppierungNr LEFT OUTER JOIN'
   set @xsql=@xsql+' dbo.GremiumBereich ON dbo.Applikation.ApplikationTeamnr = dbo.GremiumBereich.GremiumBereichNr LEFT OUTER JOIN'
   set @xsql=@xsql+' dbo.GremiumBereich AS GremiumBereich_1 ON dbo.Applikation.RfcBoardNr = GremiumBereich_1.GremiumBereichNr LEFT OUTER JOIN'
   set @xsql=@xsql+' dbo.GremiumGruppierung AS GremiumGruppierung_2 ON dbo.Applikation.FachlicheOe = GremiumGruppierung_2.GremiumGruppierungNr'
   set @xsql=@xsql+' WHERE     (dbo.Applikation.Aktiv = 1) AND (dbo.Person.Aktiv = 1) AND (dbo.ApplikationKontakt.Aktiv = 1) AND (dbo.Kontakttyp.KontakttypNr = 1 OR'
   set @xsql=@xsql+' dbo.Kontakttyp.KontakttypNr = 2) AND (GremiumGruppierung_1.GremiumNr = 4) AND (GremiumBereich_1.GremiumGruppierungNr = 1) AND '
   set @xsql=@xsql+' (dbo.GremiumGruppierung.GremiumNr = 3)'



   if @sqlwhere <> '' begin
       set @xsql = @xsql + ' and (' + @sqlwhere + ')'
   end
   set @xsql=@xsql+' ORDER BY Applikation, dbo.Kontakttyp.KontakttypNr'    
print @xsql
   exec(@xsql)
END