Versions Compared

Key

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

Summary

The task fetches employees when the Travel Expense has been approved or rejected. The e-mail is sent out daily.

Keywords

Employee Portal, Travel Expense, Approved/ Rejected

Description

The notification task sends out an automatic email to employees when the Travel Expense has been approved or rejected.

Selection

All persons whose travel expense has been approved or rejected.

SQL Statement

Expand
titleSQL Statement
Code Block
--Send email to employee When Travel Expense has been approved and ready to process
SET ARITHABORT ON
SELECT p.firstname                      #FIRSTNAME
      ,p.LASTNAME                       #LASTNAME
      ,b.DOCUMENT_ID
      ,LOWER(te.STATE_NAME)             #STATE
      ,CONVERT(VARCHAR ,ISNULL(te.MODIFIED ,te.repl_ModifiedDate) ,104) #UPDATED
      ,p.FIRSTNAME                   AS #SECOND
      ,b.LOCATION                       #LOCATION
      ,CONVERT(VARCHAR ,b.TRAVEL_DATETIME_OUT ,104) #FROM
      ,CONVERT(VARCHAR ,b.TRAVEL_DATETIME_IN ,104)#TO
      ,--Format(b.TRAVEL_DATETIME_OUT,'MMMM dd, yyyy HH:mm ') #FROM,
       --Format(b.TRAVEL_DATETIME_IN,'MMMM dd, yyyy HH:mm') #TO,
       --'martin.kviteberg@adonis.no' #Email,
       ISNULL(
           CASE 
                WHEN email.TELENO='' THEN NULL
                ELSE email.TELENO
           END
          ,a.EMAIL
       )+','+
       'martin.kviteberg@adonis.no'     #Email
      ,CASE 
            WHEN te.STATE_NAME='Approved' THEN 'er blitt godkjent og vil bli betalt ut på neste lønn.'
            WHEN te.STATE_NAME='Rejected' THEN 'er avvist.'+CASE 
                                                                 WHEN te.COMMENT IS NOT NULL AND te.COMMENT<>'' THEN 
                                                                      ' Kommentar: "'+te.COMMENT+'"'
                                                                 ELSE 'Kontakt Heidi Medhust dersom du har spørsmål.'
                                                            END
       END                           AS #Status
      ,CASE 
            WHEN te.STATE_NAME='Approved' THEN 'Godkjent'
            WHEN te.STATE_NAME='Rejected' THEN 'Avvist'
            ELSE 'Avvist'
       END                           AS #Subject
FROM   pw001p01 p
       JOIN (
                SELECT --Approved and ready to process
                       ORIGINATOR_PIN
                      ,ORIGINATOR_NODE
                      ,APPROVER_NODE
                      ,MODIFIED
                      ,repl_ModifiedDate
                      ,STATE_NAME
                      ,DOCUMENT_ID
                      ,COMMENT
                FROM   WEB_CP_WORKFLOW wf
                WHERE  wf.STATE = 2
                       AND wf.CODE = 'TravInv'
                       AND NOT EXISTS (
                               SELECT 1
                               FROM   WEB_CP_WORKFLOW t
                               WHERE  t.DOCUMENT_ID = wf.DOCUMENT_ID
                                      AND t.step>wf.STEP
                                      AND t.STATE IN (2 ,3 ,4 ,5 ,6)
                           ) 
                UNION ALL
                SELECT --Rejected to the employee level
                       ORIGINATOR_PIN
                      ,ORIGINATOR_NODE
                      ,APPROVER_NODE
                      ,MODIFIED
                      ,repl_ModifiedDate
                      ,STATE_NAME
                      ,DOCUMENT_ID
                      ,COMMENT
                FROM   WEB_CP_WORKFLOW wf
                WHERE  wf.STATE = 3
                       AND wf.CODE = 'TravInv'
                       AND wf.ORIGINATOR_NODE = wf.NEXT_NODE
                       AND NOT EXISTS (
                               SELECT 1
                               FROM   WEB_CP_WORKFLOW t
                               WHERE  t.DOCUMENT_ID = wf.DOCUMENT_ID
                                      AND t.step>wf.STEP
                                      AND t.STATE IN (1 ,2 ,3 ,4 ,5 ,6)
                           )
            ) te
            ON  p.PIN = te.ORIGINATOR_PIN
       LEFT JOIN WEB_CP_TRAVEL_BILLS b
            ON  b.DOCUMENT_ID = te.DOCUMENT_ID
       LEFT JOIN WEB_CP_ACCOUNT a
            ON  a.PIN = te.ORIGINATOR_PIN
       LEFT JOIN PW001P0T email
            ON  email.PIN = p.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
                                   )
                    )
WHERE  ISNULL(te.MODIFIED ,te.repl_ModifiedDate)>(
           SELECT LAST_RUN_TIME_EXECUTION_LT
           FROM   WEB_CP_NOTIFICATION_TASKS
           WHERE  SEQUENCENO = 10000574
       )

Field Specification

All details of Travel Expense, status: approved/rejected.

Sample E-mail Output

Hi [#Firstname],

Your expense report for the travel[#LOCATION] - [#FROM] — [#TO] [#Status]
Click here if you want to log in to the portal.

 This is an automatically generated email. For any questions, please contact your crewing coordinator.

Other

Recipients can be modified depending on the customer. It can be:

  • a fixed list of emails;

  • or dynamic list retrieved from the database.

Suggested setup: Daily