CREATE VIEW dbo.PW001SRV107 AS
SELECT
p01.PIN,
p01.client NUMORGID,
P01.EMPLOYMENTSTARTDATE,
P01.EMPLOYMENTENDDATE,
p01.NAME,
p01.Lastname as LASTNAME,
p01.Firstname as FIRSTNAME,
p01.SEX GENDER,
orgpos.NAME AS POSITION,
orgdep.NAME as DEPARTMENT,
orgves.NAME AS VESSEL,
ORG.NAME as ORGANIZATION,
p01.BIRTHDATE as 'DATE OF BIRTH',
P01.PLACEOFBIRTH 'PLACE OF BIRTH',
nat.NATIONALITY AS 'NATIONALITY ',
p01.NATIONALITY 'NATIONALITY CODE',
nat.ISO3166_ALPHA3 'NATIONALOTY CODE ISO',
P08.TDNUMBER 'PASS NUMBER',
p08.datefrom 'PASS ISSUE',
p08.dateto 'PASS EXPIRY',
P081.TDNUMBER SBOOK,
P081.DATEFROM 'SB ISSUE DATE',
p081.issuedby 'SB ISSUE BY',
P081.DATETO 'SBOOK EXPIRY',
p08v.TDNUMBER 'VISA',
p08v.datefrom 'VISA ISSUE',
p08v.dateto 'VISA EXPIRY',
p03.DATEFROM 'EMBARKATION DATE',
ISNULL(portOn.portcode, portEst.portcode) 'EMBARKATION PORT CODE',
ISNULL(portOn.NAME, portEst.NAME) 'EMBARKATION PORT',
p03.TODATEESTIMATED AS 'DISEMBARKATION DATE',
portOff.portcode AS 'DISEMBARKATION PORT CODE',
portOff.NAME AS 'DISEMBARKATION PORT',
fb.GDSLOCATOR as 'GDS Locator',
Stuff((Select ','+Char(10)+al.AIRLINELOCATOR
From PWCCMAIRSEGMENTS al where al.seqno = fb.SEQNO
order by al.SEGNO
for xml path('')),1,2,'') as 'Airline Locator',
Stuff((Select ','+Char(10)
+Case when len(rd.CARRIER+convert(varchar,rd.FLIGHTNUM))<7 then Space(7-len(rd.CARRIER+convert(varchar,rd.FLIGHTNUM)))+rd.CARRIER+convert(varchar,rd.FLIGHTNUM) else rd.CARRIER+convert(varchar,rd.FLIGHTNUM) end +Space(1)
+case when left(convert(varchar,rd.DEPT_DATE,106),1) = '0'
then Replace(Replace(Upper(Left(convert(varchar,rd.DEPT_DATE,106),6)),' ',''),'0',' ')
else Replace(Upper(Left(convert(varchar,rd.DEPT_DATE,106),6)),' ','')
end+Space(1)
+Isnull((select Case when isnull(charindex('-',LTRIM(RTRIM(Replace(Replace(Replace(Replace([name],'Int`l',''),'Int''l',''),'Apt.',''),'Airport','')))),0)=0 then Replace(Replace(Replace(Replace([name],'Int`l',''),'Int''l',''),'Apt.',''),'Airport','')
else RTRIM(Left(LTRIM(RTRIM(Replace(Replace(Replace(Replace([name],'Int`l',''),'Int''l',''),'Apt.',''),'Airport',''))),charindex('-',LTRIM(RTRIM(Replace(Replace(Replace(Replace([name],'Int`l',''),'Int''l',''),'Apt.',''),'Airport',''))))-1))
End as airport from pw001c48 where code = rd.DEPT_AIRPORT),'')+Char(9)+
+Isnull((select Case when isnull(charindex('-',LTRIM(RTRIM(Replace(Replace(Replace(Replace([name],'Int`l',''),'Int''l',''),'Apt.',''),'Airport','')))),0)=0 then Replace(Replace(Replace(Replace([name],'Int`l',''),'Int''l',''),'Apt.',''),'Airport','')
else RTRIM(Left(LTRIM(RTRIM(Replace(Replace(Replace(Replace([name],'Int`l',''),'Int''l',''),'Apt.',''),'Airport',''))),charindex('-',LTRIM(RTRIM(Replace(Replace(Replace(Replace([name],'Int`l',''),'Int''l',''),'Apt.',''),'Airport',''))))-1))
End as airport from pw001c48 where code = rd.ARRV_AIRPORT),'')+Char(9)+
+Isnull(case when rd.DEPT_TIME<100 then '00' when rd.DEPT_TIME<1000 then '0' else '' end+Convert(varchar(4),rd.DEPT_TIME)+Space(1),' '+Space(1))
+Isnull(case when rd.ARRV_TIME<100 then '00' when rd.ARRV_TIME<1000 then '0' else '' end+Convert(varchar(4),rd.ARRV_TIME)+Space(1),' '+Space(1))
From PWCCMAIRSEGMENTS rd where rd.seqno = fb.SEQNO
order by rd.SEGNO
for xml path('')),1,2,'') as 'Route Details',
Stuff((Select ','+Char(10)+fn.CARRIER+Space(1)+Convert(varchar,fn.FLIGHTNUM)
From PWCCMAIRSEGMENTS fn where fn.seqno = fb.SEQNO
order by fn.SEGNO
for xml path('')),1,2,'') as 'Flight No',
fb.DPTDATE as 'Departure Date',
LEFT(fbat.ETD,2)+':'+RIGHT(fbat.ETD,2) as 'ETD',
Stuff((Select distinct ','+Char(10)+tn.TICKETCODE
From PWCCMAIRSEGMENTS tn where tn.seqno = fb.SEQNO
--order by tn.SEGNO
for xml path('')),1,2,'') as 'Ticket Number' |