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. 
\\After the function is loaded into the database an entry will be required in the [IMLN] function for the lexicon X_UC_FUNCTIONS. Once this is completed it is then accessible in the [IMUC] for the CF operator.
\\
\\Aditional setup is required in the usercalc to define and populate three global variables before the CF is called.
\\          G_EL_BEGIN_DATE - Date
\\          G_EL_END_DATE   -Date
\\          G_ELEMENT       -Char


=============================
--------------------------------------------------------
--  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;
\\
\\/