Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
Code Block
languagesql
CREATE VIEW dbo.PW001SRV12
AS

SELECT P01.PIN                               PIN,
       (CASE 
          SELECT CONVERT( WHEN c12.[TEXT] IS NOT NULL THEN c12.[TEXT]
            WHEN p03plan.PIN IS VARCHAR(999),NOT NULL THEN 'Nearest planned to ' + c12plan.[TEXT] + ' '            REPLACE(
 + CONVERT(VARCHAR, p03plan.DATEFROM, 1)
            WHEN p0u2.AVPLAN IS NOT NULL THEN       REPLACE(dbo.ad_RtfToText(Personal.NOTES), CHAR(13), ''),
     'Available Planning'
            WHEN p0u2.AVPLAN IS NULL AND p0u2.AVRET IS NOT CHAR(10),NULL THEN 'Available to Return'
            WHEN p0u2.AVPLAN IS NULL AND p0u2.AVRET IS NULL  THEN 'Available'
       END                 )               AS [STATUS],
  )     P01.ALTERNATIVEPIN       FROM   PW001P0N Personal      AS 'ALTERNATIVE PIN',
   WHERE  Personal.PIN = p01pass.PINnativename                   AND Personal.FIELDNO = 'p17'AS 'Native Name',
       P01.NAME   )                        AS 'Full Name',
       ASP01.TITLENAME 'Notes - Personal Details',        CASE          AS 'Title Name',
 WHEN c12.[TEXT] IS NOT NULL THEN c12.[TEXT]P01.FIRSTNAME               WHEN p03plan.PIN IS NOT NULL THEN 'Nearest plannedAS to'First Name',
+ c12plan.[TEXT] + ' ' + CONVERT(VARCHAR, p03plan.DATEFROM, 1)P01.MIDDLENAME                WHEN p0u2.AVPLAN IS NOT NULL THENAS 'AvailableMiddle Planning'
Name',
       P01.LASTNAME            WHEN p0u2.AVPLAN IS NULL AND p0u2.AVRET IS NOT NULL THEN 'Available to Return'
             AS 'Last Name',
       P01.MAIDENNAME          WHEN p0u2.AVPLAN IS NULL AND p0u2.AVRET IS NULL THEN 'Available'  AS 'Maiden Name',
   END    CASE 
            WHEN p01.SEX = 'M' THEN 'Male'
        AS [STATUS],   WHEN p01.SEX = 'F'  P01.ALTERNATIVEPINTHEN 'Female'
            ELSE 'Undefined'
  AS 'ALTERNATIVE PIN',   END     P01.NAME                           AS 'Full Name'Gender,
       P01.TITLENAMEc04.[TEXT]                         AS 'TitleMarital NameStatus',
       P01nat.FIRSTNAMENATIONALITY                    AS Nationality,
  AS   'First Name',
  ORG.NAME      P01.MIDDLENAME                     AS 'Middle NameOrganization',
       P01.LASTNAMECLIENT                          AS 'Last Name'Numorgid,
       P01.MAIDENNAMEEmploymentStartDate,
       P01.EmploymentEndDate,
       c55.NAME     AS 'Maiden Name',        CASE              WHEN p01.SEX =AS 'M'Termination THEN Reason'Male',
            WHEN p01.SEX = 'F' THEN 'Female'
  p01Rank.[NAME]              ELSE 'Undefined'      AS 'Current ENDRank',
       p01.COSTPLACE                      AS 'Department/Cost ASPlace GenderCode',
       c04c43.[TEXTNAME]                         AS 'MaritalDepartment/Cost StatusPlace',
       nat.NATIONALITY      P01.ADDRESS1 + ' ' + P01.ADDRESS2  AS 'Address',
       P01.ADDRESS3      AS Nationality,        ORG.NAME        AS 'City',
       P01.POSTCODE 'Post Code',
       ASP01.POSTPLACE 'OrganizationPost Place',
       P01.CLIENT    PC.COUNTRYNAME                     AS 'Address  NumorgidCountry',
       P01.EmploymentStartDateHOMEAIRPORT 'Home Airport',
       P01email.EmploymentEndDate,TELENO         c55.NAME              AS 'E-MAIL',
       mob.TELENO    AS 'Termination Reason',        p01Rank.[NAME]           AS 'Mobile Phone',
       ASP01.BIRTHDATE 'CurrentBirth Rankdate',
       p01P01.COSTPLACEPERSONALIDNO                   AS 'Personal  AS 'Department/Cost Place CodeID',
       PASS.TDNUMBER 'Passport No',
       c43PASS.[NAME]DATETO                         AS 'Department/CostPassport PlaceExpiry',
       P01.ADDRESS1 + ' ' + P01.ADDRESS2passc.COUNTRYNAME                  AS 'AddressPassport Country of Issue',
       P01.ADDRESS3CASE 
            WHEN CONTRACTKIND = 0 THEN 'Main Contract'
       AS 'City',    WHEN CONTRACTKIND = 1 P01.POSTCODETHEN 'PostSub CodeContract',
       P01.POSTPLACE 'Post Place',   WHEN CONTRACTKIND = 2  PC.COUNTRYNAMETHEN 'Ammendment'
            ELSE ''
      AS 'AddressEND Country',        P01.HOMEAIRPORT 'Home Airport',        email.TELENO             AS 'Contract Type',
       ASC32CONT.Text 'E-MAILContract Name',
       mob.TELENOC02CONT.NAME 'Contract Rank',
       p20.DATESTART 'Contract Start',
       p20.DATEEND 'Contract End',
       p20.DURATION AS'Trial 'Mobileperiod Phoneduration',
       P01p20.BIRTHDATETRIALPERIODEND 'BirthTrial period dateend',
       P01.PERSONALIDNO p20.PAYSCALETABLE 'Contract Pasycale Table',
       p20.PAYSCALECODE 'Contract Pasycale Code',
      AS 'Personal ID',
   p0u.EMP_PORT 'Employee Portal Access From',
    PASS.TDNUMBER 'Passport No', CASE 
     PASS.DATETO       WHEN p20.scanneddocno IS NULL THEN NCHAR(9940) + ' Missing'
        AS 'Passport Expiry',  WHEN p20.scanvalidity IN (1) AND  passc.COUNTRYNAME       p20.scanneddocno IS NOT NULL THEN NCHAR(10004) + ' Confirmed'
          AS 'Passport CountryWHEN of Issue',
       CASE 
  p20.scanvalidity IN (0) AND p20.scanneddocno IS NOT NULL THEN NCHAR(10006) + ' Not Confirmed'
       END  WHEN CONTRACTKIND = 0 THEN 'Main Contract'             WHEN CONTRACTKIND = 1 THEN 'Sub Contract'     AS 'Contract Scan Status',
    WHEN CONTRACTKIND = 2(
THEN 'Ammendment'          SELECT CONVERT(
 ELSE ''        END            VARCHAR(999),
                   AS 'Contract Type', REPLACE(
      C32CONT.Text 'Contract Name',        C02CONT.NAME 'Contract Rank',        p20.DATESTART 'Contract Start',REPLACE(dbo.ad_RtfToText(Personal.NOTES), CHAR(13), ''),
         p20.DATEEND 'Contract End',        p20.DURATION 'Trial period duration',    CHAR(10),
   p20.TRIALPERIODEND 'Trial period end',        p20.PAYSCALETABLE 'Contract Pasycale Table',        p20.PAYSCALECODE 'Contract'
 Pasycale Code',        p0u.EMP_PORT 'Employee Portal Access From',        CASE)
             WHEN p20.scanneddocno IS NULL THEN NCHAR(9940)
+ ' Missing'         FROM   PW001P0N WHENPersonal
p20.scanvalidity IN (1) AND p20.scanneddocno IS NOT NULL THEN NCHAR(10004) + 'WHERE Confirmed' Personal.PIN = p01.PIN
         WHEN p20.scanvalidity IN (0) AND p20.scanneddocno IS NOT NULL THEN NCHAR(10006) + ' Not Confirmed'AND Personal.FIELDNO = 'p17'
       )  END                                AS 'ContractNotes - ScanPersonal StatusDetails'
FROM   PW001P01 P01
       LEFT JOIN (
                SELECT P8.PIN,
                       P8.tdnumber,
                       P8.datefrom,
                       P8.dateto,
                       p8.ISSUEDWHERE,
                       p8.nativename,
                       p8.ISSUE_COUNTRY,
                       p8.PASSPORTPRIORITY
                FROM   dbo.PW001P08 P8
                       JOIN dbo.PW001C23 C23
                            ON  P8.CODE = C23.CODE
                            AND C23.OPTIONS LIKE '%T%'
                WHERE  NOT EXISTS (
                           SELECT 1
                           FROM   PW001P08 t
                                  JOIN dbo.PW001C23 C23
                                       ON  t.CODE = C23.CODE
                                       AND C23.OPTIONS LIKE '%T%'
                           WHERE  t.PIN = p8.PIN
                                  AND (
                                          t.PASSPORTPRIORITY < p8.PASSPORTPRIORITY
                                          OR t.PASSPORTPRIORITY = p8.PASSPORTPRIORITY
                                          AND t.SEQUENCENO < p8.SEQUENCENO
                                      )
                       )
            ) pass
            ON  pass.PIN = P01.PIN
       LEFT JOIN PWCOUNTRY passc
            ON  passc.COUNTRYCODE = pass.ISSUE_COUNTRY
       LEFT JOIN PW001P0P P0P
            ON  ((P01.PIN = P0P.PIN) AND (P0P.PNUMBER = 'A'))
       LEFT JOIN PW001C02 p01Rank
            ON  p01Rank.CODE = p01.[RANK]
       LEFT JOIN Pw001C33 c33
            ON  c33.code = p01.CATHEGORYA
       LEFT JOIN PW001C02 C02
            ON  P0P.POSITIONID = C02.CODE
       LEFT JOIN PWORG ORG
            ON  P01.CLIENT = ORG.NUMORGID
       LEFT JOIN PWCOUNTRY PC
            ON  P01.ADDRESS_COUNTRY = PC.COUNTRYCODE
       LEFT JOIN PW001P01PICT PL
            ON  P01.PIN = PL.PIN
       LEFT JOIN PWORG PV
            ON  P01.PAYROLLVSL = PV.NUMORGID
       LEFT JOIN PW001P20 p20
            ON  p20.PIN = p01.PIN
            AND p20.HISTORICAL = 'F'
            AND NOT EXISTS (
                    SELECT 1
                    FROM   PW001P20 t
                    WHERE  t.PIN = p20.PIN
                           AND t.HISTORICAL = 'F'
                           AND t.DATESTART > p20.DATESTART
                )
       LEFT JOIN PW001OLEDOCS sdoc
            ON  sdoc.DOCNO = p20.SCANNEDDOCNO
       LEFT JOIN PW001C02 C02CONT
            ON  p20.RANK = C02CONT.CODE
       LEFT JOIN PW001C32 C32CONT
            ON  p20.CONTRACTTYPE = C32CONT.code
       LEFT JOIN PW001P0T email
            ON  email.PIN = p01.PIN
            AND email.TELETYPE = 6
            AND email.TELEPRIORITY IS NOT NULL
            AND NOT EXISTS (
                    SELECT 1
                    FROM   PW001P0T t
                    WHERE  t.PIN = email.PIN
                           AND t.TELETYPE = email.TELETYPE
                           AND t.TELEPRIORITY IS NOT NULL
                           AND (
                                   t.TELEPRIORITY < email.TELEPRIORITY
                                   OR t.TELEPRIORITY = email.TELEPRIORITY
                                   AND t.SEQUENCENO < email.SEQUENCENO
                               )
                )
       LEFT JOIN PW001P0T mob
            ON  mob.PIN = p01.PIN
            AND mob.TELETYPE = 3
            AND mob.TELEPRIORITY IS NOT NULL
            AND NOT EXISTS (
                    SELECT 1
                    FROM   PW001P0T t
                    WHERE  t.PIN = mob.PIN
                           AND t.TELETYPE = mob.TELETYPE
                           AND t.TELEPRIORITY IS NOT NULL
                           AND (
                                   t.TELEPRIORITY < mob.TELEPRIORITY
                                   OR t.TELEPRIORITY = mob.TELEPRIORITY
                                   AND t.SEQUENCENO < mob.SEQUENCENO
                               )
                )
       LEFT JOIN PWCOUNTRY nat
            ON  nat.COUNTRYCODE = p01.NATIONALITY
       LEFT JOIN PW001P0U p0u
            ON  p0u.PIN = p01.PIN
       LEFT JOIN PW001C55 c55
            ON  p01.STOPREASON = c55.CODE
       LEFT JOIN PW001C43 c43
            ON  c43.CODE = p01.COSTPLACE
       LEFT JOIN PW001C04 c04
            ON  c04.CODE = p01.MARITALSTATUS
       LEFT JOIN PW001P03 p03plan
            ON  p03plan.PIN = p01.PIN
            AND p03plan.PLANNED = 'Y'
            AND NOT EXISTS (
                    SELECT 1
                    FROM   PW001P03 p03t
                    WHERE  p03t.PIN = p01.PIN
                           AND p03t.PLANNED = 'Y'
                           AND p03t.DATEFROM < p03plan.DateFrom
                )
       LEFT JOIN PW001C12 c12plan
            ON  c12plan.CODE = p03plan.CODE
       LEFT JOIN dbo.PW001P03 P03cur
            ON  P01.PIN = P03cur.PIN
            AND (P03cur.DATETO IS NULL OR P03cur.DATETO >= GETDATE())
            AND P03cur.DATEFROM <= GETDATE()
            AND P03cur.PLANNED <> 'Y'
       LEFT JOIN PW001C12 c12
            ON  c12.CODE = p03cur.CODE
       LEFT JOIN PW001P0U p0u2
            ON  p0u2.PIN = p01.PIN
            AND NOT EXISTS (
                    SELECT 1
                    FROM   PW001P03 p03t
                    WHERE  p03t.PIN = p01.PIN
                           --AND p03t.PLANNED = 'N'
                           AND p03t.CODE IN (SELECT t.CODE
                                             FROM   PW001C12 t
                                             WHERE  t.OPTIONS LIKE '%S%')
                               --AND p03t.DATEFROM < CAST(GETDATE() AS DATE)
                )

Columns Specification

Column

Description/ Location in APM

PIN

Personal Details > Personal > PIN

Notes - Personal Details

Personal Details > Personal > Notes

Alternative PIN

Personal Details > Personal > Alternative PIN

Native Name

Datagroups > Travel Documents > Passport > Native Name

Full Name

Personal Details > Personal > Full Name

Title Name

Personal Details > Personal > Title Name

First Name

Personal Details > Personal > First Name

Middle Name

Personal Details > Personal > Middle Name

Last Name

Personal Details > Personal > Last Name

Maiden Name

Personal Details > Personal > Maiden Name

Gender

Personal Details > Personal > Gender

Organization

Personal Details > Employment > Organization’s Name

Current Rank

Personal Details > Employment > Current Rank

Numorgid

Personal Details > Employment > Organization’s No

EmploymentStartDate

Personal Details > Employment > Employment Start Date

EmploymentEndDate

Personal Details > Employment > Employment End Date

Termination Reason

Personal Details > Employment > Termination Reason

Nationality

Personal Details > Personal > Nationality

Birth date

Personal Details > Personal > Birth date

Personal ID

Personal Details > Personal > Personal ID

Passport No

Travel Documents > Current Passport No

Passport Expiry

Travel Documents > Current Passport Date

Passport Country of Issue

Travel Documents > Current Passport Issue Country

Address

Personal Details > Personal > Address

City

Personal Details > Personal > City

Post Code

Personal Details > Personal > Post Code

Post Place

Personal Details > Personal > Post Place (used for City)

Address Country

Personal Details > Personal > Address Country

Home Airport

Personal Details > Personal > Home Airport 1

E-MAIL

Personal Details > Personal > Telecommunication > E-mail with highest priority (e.g. 1 has more priority than 4)

Mobilr Phone

Personal Details > Personal > Telecommunication > Mobile Phone with highest priority (e.g. 1 has more priority than 4)

Marital Status

Personal Details > Personal > Marital Status

Contract Type

Contracts Datagorup > Current contract type: Main, Amendment, Sub.

Contract Name

Contracts Datagorup > Current contract name.

Contract Rank

Contracts Datagorup > Current contract rank.

Contract Start

Contracts Datagorup > Current contract Start Date.

Contract End

Contracts Datagorup > Current contract End Date.

Trial period duration

Contracts Datagorup > Current contract trial period duration.

Trial period end

Contracts Datagorup > Current contract trial period end.

Contract Pasycale Table

Contracts Datagorup > Current contract payscale table.

Contract Pasycale Code

Contracts Datagorup > Current contract payscale code.

Contract Scan Status

Contracts Datagorup > Current contract scan status.

Emplyee Portal Access From

Personal Details > Personal > Customised Fields > Emplyee Portal Access From

STATUS

  • The current Activity Name should be set as a status.

  • If no current activity + if the crew doesn’t have any sea-service activities records of any status + if the person has a date added in the customized field “Available for Planning from“ in Personal Details, then Available Planning status should be used.

  • If the crew doesn’t have any current activity, and if the crew is already planned to haver some activity, then the status should be Planned to “Nearest Planned Activity Name“ + “Nearest Planned Date From“.

  • If no current activity + if the crew doesn’t have any sea-service activities records of any status + if no planned activities, then Available Planning status should be used.

  • If no current activity + if the Available Planning is not applicable + if the person has a date added in the customized field “Available to Return“, then the Available to Return status should be used.

  • If no current activity + if the Available Planning is not applicable + Available to Return is not applicable, then the Available status should be used.

...