The purpose of this function is the same as the UC function [ELPL_OPERATOR].
The difference is that this function will cross employments for the employee and [ELPL_OPERATOR] will only look at amounts inside of the current employment.

\\This function will need to be added to each database manually in order to be used. 


=============================
--------------------------------------------------------
--  DDL for Function P2K_CF_FMLAHRS
--------------------------------------------------------

  CREATE OR REPLACE FUNCTION "P2K"."P2K_CF_FMLAHRS" RETURN NUMBER AS 
\\ --20140716 - KHIGSS - Modify to pick up globals. Reworked to focus on Paylines 
\\  --                 - and not Headers
\\ --20140417 - IH     - modify to pick up globals and make use of an 
\\ --                  - element in place of hard coded PPC_IDs
\\ --20140411 - - initial creation
\\ 
\\ --Purpose    - The purpose of this function is the same as the UC function ELPL
\\ --           - The difference is that this function will cross employments for 
\\--           - the employee and elpl will only look at amounts inside of the 
\\ --           - current employment.
\\ 
\\ --Setup      - The following set up is requried in the referencing UC
\\ --           - Global variables - setup and initialized
\\ --           -          G_EL_BEGIN_DATE - Date
\\ --           -          G_EL_END_DATE   -Date
\\ --           -          G_ELEMENT       -Char
\\ 
\\ --Return     - This function will return a NUMBER of hours in the element that
\\ --           -have occured between the begin and end dates.
\\ --           -If the NUMBER returned is negative then an error condition has
\\ --           -occured.
\\ --           -     -999 problem wiht the begin date
\\ --           -     -998 problem with the end date
\\ --           -     -997 problem with the element
\\ --           -     -996 problem with the return select
\\
\\ v_fmlahrs NUMBER;
\\ v_begin_id Number;
\\ v_end_id Number;
\\ v_pel_id Number;
\\ v_eid Number;
\\
\\ BEGIN 
\\ p2k_smerl(P2K_PMWRKFLW.kmex_id,'P2K_CF_FMLAHRS',1,NULL,NULL,NULL,NULL,'Version: 20140716');\\\\
\\
\\ BEGIN
\\	SELECT ID 
\\	  INTO v_begin_id
\\	  FROM p2k_am_user_calc_globals mucg
\\   WHERE GLOBAL_NAME = 'G_EL_BEGIN_DATE';
\\ 
\\ EXCEPTION
\\	WHEN OTHERS THEN RETURN -999;
\\ END;
\\
\\ BEGIN
\\	SELECT ID
\\	  INTO v_end_id
\\	  FROM p2k_am_user_calc_globals mucg
\\     WHERE GLOBAL_NAME = 'G_EL_END_DATE';
\\ 
\\ EXCEPTION
\\	WHEN OTHERS THEN RETURN -998;
\\ END;
\\
\\ BEGIN
\\	SELECT id
\\	  INTO v_pel_id
\\	  FROM p2k_am_user_calc_globals mucg
\\	 WHERE GLOBAL_NAME = 'G_ELEMENT';
\\ EXCEPTION
\\	WHEN OTHERS THEN RETURN -997;
\\ END;
\\
\\ v_eid := p2k_pmucutil.eid.id;
\\ 
\\BEGIN
\\ SELECT SUM(ENTERED_VALUE)
\\ INTO v_fmlahrs
\\FROM P2K_PR_PAY_HEADERS PPH,
\\     P2K_PR_PAY_LINES PPL,
\\     P2K_PR_PAY_LINE_DETAILS PPLD
\\WHERE PPH.ID = PPL.PPH_ID
\\AND PPL.ID = PPLD.PPL_ID
\\AND PPH.EEM_ID in (SELECT EEM.ID FROM P2K_HR_EMPLOYMENTS EEM WHERE EEM.EID_ID = v_eid)
\\AND PPL.START_DATE BETWEEN p2k_pmucutil.m_global(v_begin_id).date_field and p2k_pmucutil.m_global(v_end_id).date_field
\\AND PPLD.PPC_ID IN 
\\(  SELECT PELD.PPC_ID
\\     FROM P2K_PR_ELEMENTS PEL,
\\          P2K_PR_ELEMENT_DETAILS PELD
\\    WHERE PEL.ID = PELD.PEL_ID
\\      AND PEL.ELEMENT_CODE = p2k_pmucutil.m_global(v_pel_id).char_field);
\\ 
\\ EXCEPTION
\\  WHEN OTHERS THEN RETURN -996;
\\END;
\\
\\ RETURN v_fmlahrs;
\\
\\END P2K_CF_FMLAHRS;
\\
\\/