Travel Expense: Approved/ Rejected (daily)

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

--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