Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel1
typeflat
separatorpipe
Page Properties
Description

Summary

Payroll The payroll view to check if some crew were missed out of skipped during the calculation in the current month.

Summary

Shows It shows crew who were onboard in the current payroll month, but were not calculated, i.e. do not have EC 994/995/999

Keywords

payrollPayroll, calculation

File / Script Link

Compatibility APM Version

Compatibility SQL Version

...

Calculation

Description

The view is used to check if some crew members were skipped during the calculation in the current month.

The view shows crew who were onboard in the current payroll month, but were not calculated, i.e. do not have EC 994/995/999.

Selection

Code Block
languagesql
SELECT 
p01.PIN,
p01.NAME,
ORG.NAME AS 'ORG. NAME',
p03.CODE AS 'Activity Code',
c12.Text AS 'Activity Name',
p03.datefrom,
p03.todateestimated,
p03.dateto,
orgves.NAME AS Vessel,
orgdep.NAME AS Department,
orgpos.NAME AS Position,
p03.PAYSCALETABLE,
p03.PAYSCALE,
p01.sex,
p01.Nationality,
P0T.TELENO 'E-MAIL',
P0Y.PAYROLLPERIODLOCK,
p01.CLIENT NUMORGID,
p01.EMPLOYMENTSTARTDATE,
p01.EMPLOYMENTENDDATE

FROM   dbo.PW001P01 p01
       LEFT JOIN PWORG AS payorg
            ON payorg.NUMORGID = dbo.ad_ScanOrgTreePayroll(p01.CLIENT)
       LEFT JOIN PWORGCMP AS paycmp
            ON  paycmp.NUMORGID = dbo.ad_scanorgtree(payorg.NUMORGID, 2)
       LEFT JOIN PWCMPPAY AS per
            ON  per.COMPANYID = paycmp.NUMORGID
            AND per.[PERIOD] = paycmp.PERIODE
	   LEFT JOIN PW001P0Y P0Y ON P01.PIN=P0Y.PIN
       JOIN PW001P03 AS p03
            ON  p03.PIN = P01.PIN
            AND p03.DATEFROM <= per.COMPLETIONDATE
            AND (ISNULL(p03.DATETO, p03.TODATEESTIMATED) >= per.PREPARATIONDATE
                    OR ISNULL(p03.DATETO, p03.TODATEESTIMATED) IS NULL
                )
			AND  p03.CODE IN (SELECT t.CODE
                               FROM pw001c12 t
                               WHERE (t.OPTIONS LIKE '%S%' or t.OPTIONS LIKE '%K%')
                             )
				 AND NOT EXISTS (SELECT 1 FROM pw001p03 p03t
                          WHERE p03t.PIN = p03.PIN  AND p03t.DATEFROM <= per.COMPLETIONDATE
                 AND (ISNULL(p03t.DATETO, p03t.TODATEESTIMATED) >= per.PREPARATIONDATE
                    OR ISNULL(p03t.DATETO, p03t.TODATEESTIMATED) IS NULL
                      )
				AND dbo.ad_scanorgtree(p03t.NUMORGID, 3) = dbo.ad_scanorgtree(p03.NUMORGID, 3) 
				       AND p03t.code IN (SELECT t.CODE
                              FROM pw001c12 t
                               WHERE (t.OPTIONS LIKE '%S%' or t.OPTIONS LIKE '%K%')
                              )
                    AND p03t.DATEFROM > p03.DateFrom)

       JOIN PW001C12 AS c12
            ON  c12.CODE = p03.CODE
            and c12.CODE not like 'LDC'
       LEFT JOIN PWORG AS orgves
            ON  orgves.NUMORGID = dbo.ad_scanorgtree(p03.NUMORGID, 3)
       LEFT JOIN PWORG AS orgdep
            ON  orgdep.NUMORGID = dbo.ad_scanorgtree(p03.NUMORGID, 4)
       LEFT JOIN PWORG AS orgpos
            ON  orgpos.NUMORGID = p03.NUMORGID
            AND orgpos.ORGTYPE = '5'

LEFT JOIN PW001P0T P0T ON ((P01.PIN = P0T.PIN) AND (P0T.TELETYPE = 6) AND (NOT P0T.TELEPRIORITY IS NULL) AND NOT EXISTS
(SELECT SEQUENCENO
FROM  PW001P0T P0T2
WHERE  (P0T.PIN = P0T2.PIN) AND (P0T2.TELETYPE = 6) AND ((P0T2.TELEPRIORITY < P0T.TELEPRIORITY) OR
((P0T2.TELEPRIORITY = P0T.TELEPRIORITY) AND (P0T2.SEQUENCENO < P0T.SEQUENCENO)))))
LEFT JOIN PWORG ORG ON P01.CLIENT=ORG.NUMORGID
left join PW001PAY pay on pay.PIN=p01.PIN
      
where  P03.DATEFROM = (select MAX(DATEFROM) from PW001P03 old
					where old.PIN = P01.PIN
            AND old.DATEFROM <= per.COMPLETIONDATE
            AND (ISNULL(old.DATETO, old.TODATEESTIMATED) >= per.PREPARATIONDATE
                    OR ISNULL(old.DATETO, old.TODATEESTIMATED) IS NULL
                )
			AND  old.CODE IN (SELECT t.CODE
                               FROM pw001c12 t
                               WHERE (t.OPTIONS LIKE '%S%' or t.OPTIONS LIKE '%K%')
                             )
				 AND NOT EXISTS (SELECT 1 FROM pw001p03 p03t
                          WHERE p03t.PIN = old.PIN  AND p03t.DATEFROM <= per.COMPLETIONDATE
                 AND (ISNULL(p03t.DATETO, p03t.TODATEESTIMATED) >= per.PREPARATIONDATE
                    OR ISNULL(p03t.DATETO, p03t.TODATEESTIMATED) IS NULL
                      )
				AND dbo.ad_scanorgtree(p03t.NUMORGID, 3) = dbo.ad_scanorgtree(old.NUMORGID, 3) 
				       AND p03t.code IN (SELECT t.CODE
                              FROM pw001c12 t
                               WHERE (t.OPTIONS LIKE '%S%' or t.OPTIONS LIKE '%K%')
                              )
                    AND p03t.DATEFROM > old.DateFrom))
and p01.pin not in (select pin from pw001pay where entrycode in (994, 995, 999))

Field Specification

N/A

Other

N/A