Returing date using Fast Formula
Hi
I need to return the payroll process end date to an element input value.
I wrote a very simple formula
ALIAS RADIANT_OTL_REGULAR_HOUR_HOURS_ENTRY_VALUE AS HOURS
default for PAY_PROC_PERIOD_END_DATE is '0001/01/01 00:00:00'(date)
DEFAULT FOR HOURS IS 0
INPUTS ARE HRS,TOT_ACCRUAL , PAY_DATE (DATE)
HRS=HOURS
PAY_DATE = PAY_PROC_PERIOD_END_DATE
TOT_ACCRUAL = HRS*(1.54/40)
RETURN TOT_ACCRUAL, PAY_DATE
But when the element is processed the date is not being returned
Please correct my formula if i need to change anything
Thanks
Regards
Ramesh Kumar S
Hi
I'll Explain again what actually i am trying to achieve.
From the OTL we will get the time card Entries.We are getting the number of hours from the time card and calculating the Accrual hours(AC_HRS) from the number of hours input from the time card.
Then i am trying to pass the ACC_HRS and Pay Proc End date to an element input value which is attached to the Accrual Plan in the Net Calculation rule.So hat accrual hrs will be added to the Accrual Hrs
Simple saying i need to calculate the Accrual hrs from the time card input
This particular element i am attaching manually and the time card details flows from OTL through the BEE
Please advice
Regards
Ramesh Kumar S
Similar Messages
-
Custom Employee Number Generation Using Fast Formulas
Hi,
I have a requirement to generate custom employee numbers like "EMP100001". we have already created a business group with the setting of Employee number generation as Automatic. but we need to generate custom employee number as Format given above instead of automatic number generation.
I have created my own PL/SQL Package to generate custom employee number as per Person Type. Also created a Fast Formula Function with the following parameters -
Name = Get_Custom_Number
Data Type = Text
Class = External Funtion
Alias Name = NULL or what you want the alias to be
Description = Returns the next custom number value
Definition = CUSTOM_EMP_NUMBER_GENERATION.Get_Custom_Number (PL/SQL Function)
Proving the following Context usages and Parameters details to the Fast Formula Function -
Context usages:-
Number = 1
Context Name = BUSINESS_GROUP_ID
Data Type = Number
Parameters as defined in PL/SQL function
1 p_legislation_code Text Input Only
2 p_person_type Text Input Only
3 p_person_number Text Input Only
4 p_party_id Number Input Only
5 p_person_id Number Input Only
6 p_national_id Text Input Only
7 p_date_of_birth Date Input Only
Than i created a Fast Formula using the following navigation
Total Compensation > Basic > Write Formula
with following details -
Name = EMP_NUMBER_GENERATION
Type = Person Number Generation
Description = Returns next Employee number
and wrote my formula code.
When i created a Employee from Enter and Maintain People screen it is showing automatic number instead of my custom employee number.
I m not able to find where i m missing the logic or some parameters?
If anyone has come across such situation, please provide some pointers here.
Thanks
RenuWhat is the application release?
Please review these docs and see if it helps.
Is it Possible to Update Generate Employee Number Method From Automatic to Manual? [ID 393827.1]
Need To Change The Employee Numbering From Automatic To Manual [ID 291634.1]
Unable to Switch From Auto to Manual for Employee Number Generation in Shared Hr [ID 452044.1]
How to Prefix a Zero on Custom Employee Numbers [ID 822425.1]
How To Implement Custom Person Numbering Using FastFormula Based on User Person Type Instead of System Person Type [ID 372696.1]
Thanks,
Hussein -
How to get field data using a formula
I have a table with fields ‘pension contribution’ and ‘current year’.The first field stores a single record for a given year.Say if ‘current year’ is 2014 ‘pension contribution’ is 7% and so on.
I wanted to get a result by providing a certain year from another field in a table using a formula.
How do I do this?An explanation would be helpful.Hi Nebil,
You can't! You'll need to join the the two tables or use a Subreport.
-Abhilash -
How can I convert from Modbus raw data to engineering units using a formula?
Within Lookout, I have several Modbus numerical input types that do not have a linear corespondence to the Engineering values they represent. How can I display these values accurately using a formula to convert from the raw data to an engineering value?
I don't quite understand your reply. I'm using Lookout 6.0.2, logged in as Administrator, in Edit Mode. The Modbus object is named RTU06_SAV. The Active member is 30002 with an alias of SAVfmSMT_RSL.
Following your instructions, I opened Object Explorer and right-clicked on RTU06_SAV.
This opened a menu containing: Refresh, Cut, Copy, Rename, Delete, Edit connections..., Edit Data Member Configuration, Configure Network Security and Properties.
I assumed that I should select Edit Data Member Configuration, but maybe I'm wrong.
Within Data Member Configuration I can set up Linear Scaling between Raw data and Engineering data. I know how to do that, but what I need to know is how to convert Raw data to Engineering data using a formula representing a non-linear transformation (such as a converion to a logarithmic value or perhaps a formula derived by fitting the formula to a curve on a calibration chart).
Once I have this my Engineering data can be represented on a control panel as both a numeric value AND as a correctly reading Gauge. It can also be properly represented on a HyperTrend graph.
What do you suggest? -
Using Oracle Fast Formula in Discoverer
Hello,
Does anyone have any experience of using Fast Formula in Discoverer - can it be called from a PL/SQL function that would then be registered in the usual way in Discoverer?
Thanks
RachaelHi,
Yes, you can wrap the FF_EXEC.run_formula call into your own pl/sql function and map this function into the EUL so that the formula can be called from a workbook.
Rod West -
How to use DFF value in BG_ABSENCE_DURATION Fast formula
Hi All,
I would like to know how can we use DFF values in BG_ABSENCE_DURATION fast formula.
Can we pass them as input values?
Also, when we use them as DATABASE ITEMS how does Fast Formula identifies them.
For example I have created a DFF value HALF_DAY that can take either "YES" nor "NO".
I tried to use that as input value but that didnt work, not sure if it is possible at all or not.
I also tried to use that as Data Base ITEM, as follows:-
IF (ABSENCES_HALF_DAY WAS DEFAULTED ) then
duration = 'FAILED'
invalid_msg = 'DFF not working'
Any help will be much appreciated.
Thanks,
Avinash
but i am getting following error when i access SSHR
Formula BG_ABSENCE_DURATION: ORA-01403: no data found ORA-01403: no data found Cause: During the PL/SQL execution part, an Oracle error was detected. Action: Please refer to your system administrator.Thanks Vigneswar and Avaneesh for your helpful comments,
Actually I want to retrive the DFF value that I pass while applying the Leave Request and not that already stored in the data base. I checked and found that the query you have mentioned is retriving the data from base tables.
select target.ATTRIBUTE6 -- Attrinute6 is database item ABSENCES_HALF_DAY+
from per_absence_attendances target,+
per_all_assignments_f ASSIGN+
WHERE sysdate BETWEEN ASSIGN.effective_start_date+
AND ASSIGN.effective_end_date+
AND ASSIGN.assignment_id = 647--&B2+
AND ASSIGN.assignment_type = 'E'+
AND target.person_id = ASSIGN.person_id+
AND target.absence_attendance_id =+
*(select max (absence_attendance_id)*
from per_absence_attendances+
where person_id = ASSIGN.person_id+
and date_start <= sysdate+
I have only added folloing lines In my BG_ABSENCE_DURATION FF
DEFAULT FOR ABSENCES_HALF_DAY is 'XX'+
if (1 = 1) then+
duration = 'FAILED'+
invalid_msg = 'DFF not working: '+ABSENCES_HALF_DAY+
But evry time output is *"DFF not working : Yes"* no matter what the value I am passing while applying leave. This value "Yes" is stored in DFF attribute 6 for the test employee and I guess FF is retriving this value from DATABSE not from current transaction.
Could you please help how to retrive run time data.
Thanks,
Avinash -
How to use Oracle OAB Fast Formulas in Discoverer-desktop [ for reporting]
Hi,
Can anyone tell me how to use a fast formula in discoverer-desktop [for reporting]. Currently, we have a disco-report that calcuates the 'monthly salary', but we don't want to use that. Instead, we have a custom fast-formula [xx_oab_monthly_salary] which has the conditions and calculations that we need.
I want to use that formula in discoverer-desktop directly and get the monthly-salary.. i.e., someone needs to create a folder under the business area and add it i believe.. the formula internally calls a function.
when i checked about this with my dba - he said, he can add the 'function', but not the formula. and i need to write the calculation part...
does anyone know how to add it...there shud a way right...
i do not have access to the technical-stuff here..
someone said ["you can wrap the FF_EXEC.run_formula call into your own pl/sql function and map this function into the EUL so that the formula can be called from a workbook.", but this talks about pl/sql-do we need pl/sql
for this].
also, someone else said [ some fast formulas need specific contexts to be set. Depending on whether the fast formula below the only fast formula that you want to recreate in Discoverer.
For a single formula, in general my recommendation is to recreate the fast formula instead of using the ff_exec call].
any quick answers greatly appreciate..
thx,Hi,
That's right you need to develop the pl/sql function outside of Discoverer using a pl/sql tool or just SQL*plus. I haven't an example to hand, but can dig one up if you need it. Once you have the function developed you can map it into the EUL using Discoverer Administrator. It will then be available to Discoverer Desktop/Plus as a database function when creating calculations. So you can then just add the calculation to an existing or new report.
Alternatively, you can build the pl/sql function into a view and load the view into a new folder using Discoverer Admin.
Rod West -
How to use dynamic database item in Fast formula
Dear All
How to use Element Pay value in Fast Formula
Element Name: Transport_Allowance
Input Values : Name Units User Enterable Database Item
Pay Value Money No Yes
Amount Money Yes Yes
Balance Feeds : Value Name Balance Name Units
Pay Value Transportation Amount Money
Formula
DEFAULT FOR ASG_SALARY IS 0
DEFAULT FOR TRANSPORTATION_AMOUNT_ASG_RUN IS 0
ALIAS ASG_SALARY AS Emp_Salary
ALIAS TRANSPORTATION_AMOUNT_ASG_RUN AS Emp_Trans_Amt
V_CALCULATED_SALARY = Emp_Salary + Emp_Trans_Amt
RETURN V_CALCULATED_SALARY
Using the above formula, I got only Basic Salary only
How to get the Basic Salary + Transportation allowance in the return value
Please help me..
Thanks in advancePlease check whether the priority of the element with which the fast formula is attached has a priority higher than the Transport_Allowance. If not then cahange the priority of the element to a prriority higher than Transport_Allowance.
HTH -
Using Dimension Formulas to sum data based on different criteria
Hi all,
I am trying to use a u201CDimension Formulau201D to perform the following calculation:
We have an account dimension which has 2 important properties:
1. CRITERIUMTYPE: This property can have 3 different values: u201CWERKu201D, u201CINVu201D OR u201CLIQu201D
2. ACCTYPE: This property can have 2 different values: u201CEXPu201D or u201CINCu201D
The client wants to have a report that sums data based on these 2 properties. An example will help to clarify this:
ACCOUNTS CRITERIUMTYPE ACCTYPE VALUE
ACCOUNT A WERK EXP 100 u20AC
ACCOUNT B WERK INC 150 u20AC
ACCOUNT C WERK EXP 200 u20AC
ACCOUNT D WERK INC 300 u20AC
ACCOUNT E INV EXP 50 u20AC
ACCOUNT F INV INC 100 u20AC
ACCOUNT G INV EXP 200 u20AC
ACCOUNT H INV INC 500 u20AC
The clients wishes to see this data in the following way:
CRITERIUMTYPE ACCTYPE VALUE
WERK EXP 300 u20AC
INC 450 u20AC
INV EXP 250 u20AC
INC 600 u20AC
In order to achieve this I have created several new accounts, one for each combination e.g.: Account WERKEXP is used to sum the data on the combination CRITERIUMTYPE=WERK and ACCTYPE=EXP. I have created a dimension formula in my account dimension but this is where I am stuck. I have created the following formula to calculate the account WERKEXP:
IIF([BUDGETPOSITIE].CURRENTMEMBER.PROPERTIES("ACCTYPE")="EXP",IIF([BUDGETPOSITIE].CURRENTMEMBER.PROPERTIES("CRITERIUMTYPE")="WERK",[BUDGETPOSITIE].CURRENTMEMBER,0),0)
The problem with this formula is the following:
The formula will add all amounts that meet the 2 criteria mentioned in the formula, EXP and WERK, but as soon as it finds an accounts that does not match the 2 criteria it will set the account WERKEXP back to 0. I need to know if there is a way, using dimension formulas, of adding these values together without the new account being set to 0 as soon as one of the accounts it needs to check does not meet 1 of the 2 criteria.
We are working on SAP BPC 7.5 for NW with SP04
All help is very much appreciated!
Kind regards,
StefanoHi,
You can also use ParentHn property to have different grouping of accounts within the dimension.
So in your case rather using the member formula you can have four accounts and add them in the Parenthn property for grouping it.
1. The Solution proposed by Nilanjan is specific for a Report/IS and Performance will be good
2. My solution will be global something similar to MDX formula, but performance may be slightly lesser than using excel function.
Hope this helps,
Regards,
G.Vijaya Kumar -
Error while uploading Fast Formula using ldt Files.
Dear All,
We need to migrate Fast Formula to different instances.
Also we need to have version control also.
For that we created custom lct file.
We were able to download the ldt files correctly but found that while uplaoding fast formula context were getting truncated at the end.
Any inputs to resolve the above issue will he very helpful.
Also we need to migrate Payroll Configuration
1.Element Description
2.Fast Formula
3.Formula Function
4.Formula Results
5.Element links
Any input will be very helpfuluser5733015 wrote:
Do we need any license for I-set up?No -- https://forums.oracle.com/forums/search.jspa?threadID=&q=iSetup+AND+License&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
Thanks,
Hussein -
Is Add_Months allowed in a Fast Formula?
Hi
Im trying to add the following to the carry over fast formula.
: Mid_Month_DDMM = to_char(to_date(to_char(ADD_MONTHS(Continuous_Service_Date, +1),'YYYYMM'),'YYYYMM')-1,'DDMM')
But it seems the formula does not like the "Add_months". Im trying to get the formula to work that when an employees continuous_service_date is not the 1st of the Month the carry over will happen at the end of the month.
Thanks
AndrewThe logic is as follows
Every 12 months employees forfiet their leave and carry over any balance.
From the PTO_CARRY_OVER with abit of customisation
IF ISNULL(OverrideHireDate) = 'Y'
THEN
Continuous_Service_Date = Continuous_Service_Date
ELSE
Continuous_Service_Date = OverrideHireDate
Ann_Date_DDMM = to_char(Continuous_Service_Date,'DDMM') /* ----Put this check to make sure 2902 is not concatenated to a non-leap YYYY ------ */
IF Ann_Date_DDMM = '2902' THEN
Anniversary_Date = to_date('0103' || to_char(Calculation_Date,'YYYY'),'DDMMYYYY')
ELSE
Anniversary_Date = to_date(Ann_Date_DDMM || to_char(Calculation_Date,'YYYY'),'DDMMYYYY')
**Anniversary_Date = to_date('01' || to_char(Anniversary_Date, 'MMYYYY'), 'DDMMYYYY')**
The last line makes sure that everyone no matter when you started has their forfieture date on the 1st of their anniversary month.
I want to us the logic that if your Ann_Date_DDMM does not equal 0101,0102,0103,0104,0105,0106,0107,0108,0109,0110,0111,0112
then your Anniversary date is the end of the anniversay month.
So hence my code of : to_char(to_date(to_char(ADD_MONTHS(Continuous_Service_Date, +1),'YYYYMM'),'YYYYMM')-1,'DDMM') that if working will concatinate with to_char(Calculation_Date,'YYYY'),
So for exampble. My anniversay date is the 13-May-2002.
On the 13-May-2013 the process is run to work out my forfieture-carryover for the 14th. But now the company wants me to only forfeit on the 31-May-2013
Calculation_Date = 13-May-2013 but with to_char(Calculation_Date,'YYYY') I get just the 2013 out.
the code to_char(to_date(to_char(ADD_MONTHS(Continuous_Service_Date, +1),'YYYYMM'),'YYYYMM')-1,'DDMM') should return (and it does in SQL developer) 3105. Concatinated its 31052013 , that would be my new forfeiture - carry over date.
So would be great to get the add_months working in the formula itself. Else if you can tell me where I can find the code for the seeded Continuous_Service_date then I can do the add_months in the package for the function.
Below is the full Formula:
/* Default Statements */
DEFAULT FOR ACP_CONTINUOUS_SERVICE_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR ACP_SERVICE_START_DATE IS '4712/12/31 00:00:00' (date)
/* Inputs Are Statements */
INPUTS ARE
Calculation_Date (date)
,Accrual_Term (text)
/* trace=za_set_trace_on('CARRYOVER')*/
/*--------------------------------- Formula Body -------------------------------------*/
/* ------- Check whether the Continuous Service Date was Set or the Hire Date. ------ */
/* ------- Accordingly set the Continuous Service Date. ------ */
IF ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED THEN
Continuous_Service_Date = ACP_SERVICE_START_DATE
ELSE
Continuous_Service_Date = ACP_CONTINUOUS_SERVICE_DATE
OverrideHireDate = KPMG_GET_OVERRIDE_HIRE_DATE(Calculation_Date)
IF ISNULL(OverrideHireDate) = 'Y'
THEN
Continuous_Service_Date = Continuous_Service_Date
ELSE
Continuous_Service_Date = OverrideHireDate
Ann_Date_DDMM = to_char(Continuous_Service_Date,'DDMM') /*Andrew Campbell 30-November-2012*/
/*Mid_Month_DDMM = to_char(to_date(to_char(ADD_MONTHS(Continuous_Service_Date, +1),'YYYYMM'),'YYYYMM')-1,'DDMM')*/
/* ----Put this check to make sure 2902 is not concatenated to a non-leap YYYY ------ */
IF Ann_Date_DDMM = '2902' THEN
Anniversary_Date = to_date('0103' || to_char(Calculation_Date,'YYYY'),'DDMMYYYY')
ELSE
Anniversary_Date = to_date(Ann_Date_DDMM || to_char(Calculation_Date,'YYYY'),'DDMMYYYY')
Anniversary_Date = to_date('01' || to_char(Anniversary_Date, 'MMYYYY'), 'DDMMYYYY')
/* Set Accrual Term to Previous, the requirement is to run CO once per month at the end of the */
/* month for all assgs with Anniversary Dates during that month */
IF Accrual_Term = 'PREVIOUS' THEN
Effective_Date = add_years(add_days(Anniversary_Date, -1), -1)
ELSE
Effective_Date = add_days(Anniversary_Date,-1)
/* For months in later half of the Year and process running for Six Monthly run then reduce */
/* the Effective Date by one year. */
Anniversary_Month = to_char(Anniversary_Date,'MM')
IF (Calculation_Date < Anniversary_Date)
AND ((Anniversary_Month = '07')
OR (Anniversary_Month = '08')
OR (Anniversary_Month = '09')
OR (Anniversary_Month = '10')
OR (Anniversary_Month = '11')
OR (Anniversary_Month = '12')) THEN
Effective_Date = add_years(Effective_Date, -1)
/* Effective_Date = Effective_Date */ /* koos */
/* Calculate Previous Cycle's Start Date,End Date and Six Monthly Anniversary Date in Current Cycle */
Effective_End_Date = Effective_Date
Effective_Start_Date = add_months(Effective_End_Date, -12)
/* Semi_Anniversary_Date = add_months(Effective_End_Date,6) */
Semi_Anniversary_Date = add_months(Effective_End_Date,12) /* Change forfeiture to 12 months after carry over */
/* ------- Calculate the Number of Years completed -------*/
Years_service = floor(months_between(add_days(Effective_date,1), Continuous_Service_Date) / 12)
/* This PROCESS flag is set up so that CO will not run for those employees with eff dates -*/
/* ----------------------------- before calculation_date --------------------------------------*/
IF /* (Calculation_Date >= Effective_Date) */ /* Koos */
(((to_char(Effective_Date,'MMYYYY') = to_char(Calculation_Date,'MMYYYY'))
AND (last_day(Effective_Date) <> Effective_Date ))
OR ((to_char(Anniversary_Date,'MM') = to_char(Calculation_Date,'MM'))
AND (last_day(Effective_Date) = Effective_Date ))) THEN
/* Calculating for Yearly Run */
Process = 'YES'
/* Expiry_Date = add_months(Effective_Date, 6) */
Expiry_Date = add_months(Effective_Date, 12) /* Change forfeiture to 12 months after carry over */
/* After 1 year set the date for calculating for Six Months period */
IF Years_service > 1 THEN
/* Effective_start_Date = add_months(Effective_start_Date,6) */
Effective_start_Date = add_months(Effective_start_Date,12) /* Change forfeiture to 12 months after carry over */
Annual_Cal = 1
ELSE IF /* (Calculation_Date < add_years(Effective_Date,1)) */ /* Koos */
(((to_char(Semi_Anniversary_Date,'MMYYYY') = to_char(Calculation_Date,'MMYYYY'))
AND (last_day(Semi_Anniversary_Date) <> Semi_Anniversary_Date ))
/* OR ((to_char(add_months(Anniversary_Date,6),'MM') = to_char(Calculation_Date,'MM')) */
OR ((to_char(add_months(Anniversary_Date,12),'MM') = to_char(Calculation_Date,'MM')) /* Change forfeiture to 12 months after carry over */
AND (last_day(Semi_Anniversary_Date) = Semi_Anniversary_Date ))) THEN
/* Calculating for Six Monthly Run */
Process = 'YES'
/* Expiry_Date = add_months(Semi_Anniversary_Date,6) */
Expiry_Date = Semi_Anniversary_Date /* Koos */
/* For Semi Annual run set the date for calculation for Six Months */
IF Years_service > 0 THEN
Effective_start_Date = Effective_end_Date
Effective_end_Date = Semi_Anniversary_Date
Annual_Cal = 0
ELSE
/* If neither Annual or Semi Annual Run then Donot process */
Process = 'NO'
Expiry_Date = add_years(Effective_Date, 1)
Annual_Cal = 1
/* --------- Set the Public Variables eg. Maximum Carry Over from the accrual bands ------- */
IF (GET_ACCRUAL_BAND(years_service) = 0) THEN
IF Years_service > 1 then
Max_Carryover = KPMG_GET_ANNUAL_ACCRUAL(Effective_End_Date)
else
Max_Carryover = KPMG_GET_ANNUAL_ACCRUAL(Effective_End_Date)
ELSE
Max_Carryover = KPMG_GET_ANNUAL_ACCRUAL(Effective_End_Date)
/*---------------------- Return Statements --------------------------------------
Effective_date is the last date of an accrual term
Expiry_date is the date by which employees must use carried over PTO or lose it.
/*trace_off = za_set_trace_off*/
RETURN Max_Carryover, Effective_date, Expiry_Date, Process
Thanks -
Error in Fast Formula for Supplemental Earnings Elements
Hi,
I have an requirement in Supplement Earning Elements for US Localization. I need to define some Supplement Earning Elements that should comes in Payroll with the extension of existing Elements.
Here are the Steps for setups which i have done so far-
Step 1:Created new Elements with their values with effective dates for existing user Table name
Step 2:Done the setup for New Elements with classification as Supplemental and Category also attached the formula like "FLAT AMOUNT" formula for Calculation rule in Element Earning screen.
Step 3: when i tried to query for the element i have created, the value in Calculation Field is "Elementname_FLAT_AMOUNT_RWSI" which is not same for the existing elements.Existing Element which is of same classification and same category the Calculation rule field is "ElementName_FLAT_AMOUNT".
Step 4: After that i did setup for Element Description and Element Link.
Step 5: Then i have copied the Formula from Existing element(which is previously configured and working fine for the existing elements ), made the modifications for the newly created element. When Compiling the formula ,i am getting an Error "Incorrect Data type"
I have two queries -
1- The setup in Earnings Screen with Calculation Rule is correct or not. As the Calculation Field for newly elements and the existing elements are different (as mentioned in Step 3).
2- Compilation Error "Incorrect Data Types" in Fast Formula.(as mentioned in Step 5).
I m pasting the Fast Formula code here for ready reference
Default for TERMINATED_EMPLOYEE is 'N'
Default for RUN_TYPE is 'R'
Default for FINAL_PAY_PROCESSED is 'N'
default for PAYROLL_TERMINATION_TYPE is 'L'
default for BG_TERMINATION_TYPE is 'L'
default FOR LAST_STANDARD_PROCESS_DATE_PROCESSED IS 'N'
DEFAULT FOR ELEMENT_NAME_NEG_EARNINGS_ASG_GRE_ITD IS 0
DEFAULT FOR ELEMENT_NAME_ADDITIONAL_ASG_GRE_ITD IS 0
DEFAULT FOR ELEMENT_NAME_REPLACEMENT_ASG_GRE_ITD IS 0
DEFAULT FOR ELEMENT_NAME_ASG_GRE_YTD IS 0
DEFAULT FOR ELEMENT_NAME_ASG_GRE_RUN IS 0
Default for PAY_EARNED_START_DATE is '02-JAN-0001' (DATE)
Default for PAY_EARNED_END_DATE is '02-JAN-0001' (DATE)
Default for ASG_NUMBER is ' '
Default for ELEMENT_NAME_ASG_GRE_FYTD IS '0'
Default for CURRENT_ELEMENT_TYPE_ID is 0
Default for GROUP_KF_PAY_FREQUENCY is '0'
DEFAULT FOR Amount IS 0
INPUTS ARE Amount
IF ELEMENT_NAME_REPLACEMENT_ASG_GRE_ITD WAS DEFAULTED OR ELEMENT_NAME_REPLACEMENT_ASG_GRE_ITD = 0 THEN
pay_frequency = GROUP_KF_PAY_FREQUENCY
ELEMENT_TYPE_ID_PASSED = CURRENT_ELEMENT_TYPE_ID
annual_rate = HCS_GET_SUPPLEMENT_RATE(ELEMENT_TYPE_ID_PASSED, PAY_EARNED_END_DATE, 'General Rate')
annual_bal = ELEMENT_NAME_ASG_GRE_FYTD
IF annual_bal = annual_rate THEN
Amount = 0.00
mesg = 'Contract amount '||TO_CHAR(annual_rate)||' fully paid for '||ASG_NUMBER
ELSE
Amount = annual_rate / TO_NUMBER(pay_frequency)
If abs(annual_bal+amount-annual_rate) < 1 then
Amount = annual_rate-annual_bal
IF ELEMENT_NAME_ASG_GRE_RUN=0 THEN
flat_amount = Amount
+ ELEMENT_NAME_ADDITIONAL_ASG_GRE_ITD
+ ELEMENT_NAME_NEG_EARNINGS_ASG_GRE_ITD
ELSE
( flat_amount = Amount )
ELSE
(flat_amount = ELEMENT_NAME_REPLACEMENT_ASG_GRE_ITD + ELEMENT_NAME_ADDITIONAL_ASG_GRE_ITD
+ ELEMENT_NAME_NEG_EARNINGS_ASG_GRE_ITD
clear_repl_amt = -1 * ELEMENT_NAME_REPLACEMENT_ASG_GRE_ITD
IF ELEMENT_NAME_ASG_GRE_RUN = 0 THEN
IF ELEMENT_NAME_ADDITIONAL_ASG_GRE_ITD <> 0 THEN
clear_addl_amt = -1 * ELEMENT_NAME_ADDITIONAL_ASG_GRE_ITD
IF flat_amount < 0 THEN
(IF (PAYROLL_TERMINATION_TYPE WAS DEFAULTED AND
BG_TERMINATION_TYPE = 'A' AND
TERMINATED_EMPLOYEE = 'Y' AND
FINAL_PAY_PROCESSED = 'N') OR
(PAYROLL_TERMINATION_TYPE = 'A' AND
TERMINATED_EMPLOYEE = 'Y' AND
FINAL_PAY_PROCESSED = 'N') OR
(PAYROLL_TERMINATION_TYPE WAS DEFAULTED AND
BG_TERMINATION_TYPE = 'L' AND
TERMINATED_EMPLOYEE = 'Y' AND
LAST_STANDARD_PROCESS_DATE_PROCESSED = 'N') OR
(PAYROLL_TERMINATION_TYPE = 'L' And
TERMINATED_EMPLOYEE = 'Y' AND
LAST_STANDARD_PROCESS_DATE_PROCESSED = 'N') THEN
neg_earn = -1 * ELEMENT_NAME_NEG_EARNINGS_ASG_GRE_ITD
ELSEHuman Resource Management (HRMS)
(neg_earn = flat_amount - ELEMENT_NAME_NEG_EARNINGS_ASG_GRE_ITD
flat_amount = 0
ELSE
(IF ELEMENT_NAME_NEG_EARNINGS_ASG_GRE_ITD <> 0 THEN
neg_earn = -1 * ELEMENT_NAME_NEG_EARNINGS_ASG_GRE_ITD
IF (PAYROLL_TERMINATION_TYPE WAS DEFAULTED AND
BG_TERMINATION_TYPE = 'A' AND
TERMINATED_EMPLOYEE = 'Y' AND FINAL_PAY_PROCESSED = 'N') OR
( PAYROLL_TERMINATION_TYPE = 'A' AND
TERMINATED_EMPLOYEE = 'Y' AND FINAL_PAY_PROCESSED = 'N') OR
(PAYROLL_TERMINATION_TYPE WAS DEFAULTED AND
BG_TERMINATION_TYPE = 'A' AND
TERMINATED_EMPLOYEE = 'Y' AND FINAL_PAY_PROCESSED = 'Y'
AND RUN_TYPE != 'R') OR
( PAYROLL_TERMINATION_TYPE = 'A' AND
TERMINATED_EMPLOYEE = 'Y' AND FINAL_PAY_PROCESSED = 'Y' AND
RUN_TYPE != 'R') THEN
(STOP_ENTRY = 'Y'
mesg = ' ELEMENT_NAME earning has been stopped for this assignment.'
ln_calc_meth = SET_ALTRNT_FLAT_RATE_CALC_METH('NOT_APPLICABLE','NOT_APPLICABLE')
if (1 = 1) then (
soe_run = ELEMENT_NAME_ASG_GRE_RUN
soe_ytd = ELEMENT_NAME_ASG_GRE_YTD
RETURN flat_amount, clear_addl_amt, clear_repl_amt, neg_earn, STOP_ENTRY, mesg
Can anyone help me in solving this problem. Any kind of pointers would be helpful.
Thanks
Pradeep.Hi Pradeep,
Hope you created the new element using the 'Earnings Template' form. If it is created using the 'Earnings Template' form then the calculation rule
should be correct. You said you are modifying the new element formula by using the existing element formula code, have you checked if the
formula code to the old and new once have changed anything other than the element name and standard input elements reference. Try to use
the debug messages in formula and see if that give you any clue. You should find the document in metalink how to debug a formula.
Thanks,
Satin -
Custom Fast formula for Time Entry Rule in OTL
Hi,
i have created custom validation for time entry rules. I need to validate where Project and task fields are null or not? If Yes, it has to fire the custom message that i have mentioned in function. Please check the below code and help me whether i am on right path:
CREATE OR REPLACE FUNCTION NON_pto_against_projects (
p_time_category_id NUMBER,
p_person_id NUMBER
RETURN VARCHAR2
IS
--Variables used for retrieving timecard id and ovn
l_db_pre_period_start DATE;
l_db_pre_period_stop DATE;
l_time_building_block_id hxc_time_building_blocks.time_building_block_id%TYPE;
l_object_version_number hxc_time_building_blocks.object_version_number%TYPE;
--Variables used for loading timecard tables
l_time_building_blocks hxc_self_service_time_deposit.timecard_info;
l_time_app_attributes hxc_self_service_time_deposit.app_attributes_info;
l_attributes hxc_self_service_time_deposit.building_block_attribute_info;
--Variables used for getting exploded time details
v_blocks_tab hxc_block_table_type;
v_attr_tab hxc_attribute_table_type;
l_messages_tab hxc_message_table_type;
l_detail_blocks hxc_self_service_time_deposit.timecard_info;
l_detail_messages hxc_self_service_time_deposit.message_table;
CURSOR csr_category_elements (p_category_id NUMBER)
IS
SELECT 'ELEMENT - ' || TO_CHAR (value_id) element_type_string
FROM hxc_time_category_comps_v
WHERE time_category_id = p_category_id;
l_cat_elements_string VARCHAR2 (2000);
l_temp VARCHAR2 (1000); --Trace message
l_success_flag CHAR (1); --Return values
BEGIN
--Initialize variables
l_success_flag := 'S';
l_time_building_blocks := hxc_self_service_time_deposit.get_building_blocks;
l_attributes := hxc_self_service_time_deposit.get_block_attributes;
v_blocks_tab :=
hxc_deposit_wrapper_utilities.blocks_to_array (l_time_building_blocks);
v_attr_tab :=
hxc_deposit_wrapper_utilities.attributes_to_array (l_attributes);
IF v_blocks_tab.FIRST IS NOT NULL
THEN
Take each ELEMENT type attribute, and search whether PROJECTS type attribute exists for the SAME BLOCK-START
FOR index1 IN v_attr_tab.FIRST .. v_attr_tab.LAST
LOOP
IF v_attr_tab (index1).attribute_category = 'ELEMENT - %'
THEN --Element attr
FOR element_rec IN csr_category_elements (p_time_category_id)
LOOP
If Element Attribute matches any of the NON-TOP elements in the Time Category-START
IF v_attr_tab (index1).attribute_category =
element_rec.element_type_string
THEN
Check PROJECTS Attributes project and task belonging to ELEMENT attribute's owner block-START
l_success_flag := 'E';
FOR index2 IN v_attr_tab.FIRST .. v_attr_tab.LAST
LOOP
IF v_attr_tab (index2).attribute_category LIKE
'PROJECT - %'
AND v_attr_tab (index2).building_block_id =
v_attr_tab (index1).building_block_id
AND v_attr_tab (index2).attribute1 IS NOT NULL
AND v_attr_tab (index2).attribute2 IS NOT NULL
THEN
l_success_flag := 'S';
EXIT;
END IF;
END LOOP;
IF l_success_flag = 'E'
THEN
RETURN 'E';
END IF;
Check PROJECTS Attributes project and task belonging to ELEMENT attribute's owner block-END
END IF;
If Element Attribute matches any of the NON-TOP elements in the Time Category-END
END LOOP;
END IF; --Element attr
END LOOP;
Take each ELEMENT type attribute, and search whether PROJECTS type attribute exists for the SAME BLOCK-END
END IF;
RETURN l_success_flag;
EXCEPTION
WHEN OTHERS
THEN
RAISE;
END NON_pto_against_projects;INPUTS ARE resource_id (number)
, submission_date (text)these inputs are passed in PLSQL Code and some of them in formula context
2. While we define a new context for a time entry rule. How is the data that we enter in the time entry rule passed to the fast formula?See the time Rule entry screen and you will find the parameters window there. -
Network based and a-gps, data use tests
i was trying to find this kind of info, but only found others asking.
i hope this is useful info for others, especially while roaming.
skip to the bottom for conclusion,
this is the process i took:
i called nokia tech support,
their phone support his horrible,
the people on the phone don't actually know anything, and have to look up everything you ask them.
they were the worst.
i emailed nokia tech support.
my message was:
"i would like to know the difference between assisted gps positioning, and network based positioning. these are 2 of the 4 options on my nokia e66 for positioning methods. i would like to know if network based positioning uses internet data from my service provider to obtain my gps position. i am especially concerned with this function while i'm roaming internationally, as i do not want to be charged for roaming data use."
in about half hour they responded w/ an answer, and then 45 min after that someone else responded w/ an answer.
the first response, minus the hello's etc. was:
"In response to your email, Assisted GPS and Network Based positioning methods generate costs related to data traffic so you will be charged for data use. Only "normal" GPS and Bluetooth GPS do not generate additional costs related to data traffic.
Normal GPS is quite slow and does not work indoors. Therefore, it is recommended to enable at least A-GPS to get a faster position outdoors.
Network based and Wi-Fi positioning also allow you to update your position inside buildings, but they cannot be used for navigation."
the 2nd response was:
"In response to your inquiry, the difference between Assisted GPS positioning (A-GPS) and Network based positioning is that, A-GPS uses satellites while Network based positioning is based on information of your cellular network environment. It allows you to update your position inside buildings, but they cannot be used for navigation. Both positioning methods generate costs related to data traffic (unless you have configured the device to use Wi-Fi connection to make the internet connection). The cost may vary while you are on roaming. Kindly contact the service provider for information about data transmission costs."
i can also respond w/ more questions, but instead did some tests, starting with sitting home, indoors, and eventualy moving to a window w/ lots of sky.
test 1:
i enabled:
integrated gps
network based
assisted gps
opened maps,
set maps to be offline,
set default internet access point to my home wlan network,
closed maps,
cleared all counters and the log on the phone's communication log.
opened maps
there is a pink circle around the area i may be in,
the icon that would show gps satellite strength, changes to show the cell phone antenna icon.
but the packet data counter is sending/receiving a total of around 3-8kb immediately, and over the course of time, it keeps adding up, every 1-2 minutes, and it is shown as packet data to/from the access point "at&t internet"
over the course of ten minutes, it's been about 43kb.
and i can tell on the phone's home screen that the packet data connection becomes active when it does.
the maps kb indicator still says 0.0kb, with a line through the double arrow packet data symbol.
test 2:
now i exited maps,
cleared the counters and logs
i turned off a-gps.
enabled only integrated gps and network based.
i open maps,
the same thing is happening as with the assisted gps on, except i connected to my home wlan once, in the middle of connecting to at&t internet 10 or so times.
everything else is happening the same.
test 3:
i exited maps,
cleared the counters and logs.
enabled only integrated gps.
i open maps, and there is no evidence of packet data connection, or wlan connection.
nothing is showing up in the logs or packet counters, and there is no pink circle around where i may be.
if i set maps to go online, w/ my wlan as the access point, or at&t internet, their respective icons show up on maps, as well as the phone's home screen.
the phone's log show respective connections are made but w/ 0.0kb, and the phone's packet counter, as well as the maps kb usage, say 0.0kb.
test 4:
set maps to offline, w/ my wlan as access point.
exited maps,
turned phone off for a bit to test gps from cold start.
turned on phone,
cleared counters/logs,
enabled only assisted gps and integrated gps.
open maps, there's no pink circle around where i may be, just the red dot of where it thought i last was.
there's about 4-5kb of data transfer,
then i bring the phone to the window where there's a lot of clear sky, and my location is found pretty fast.
i know that w/o assisted gps, w/ only integrated gps, it takes a while to get the gps signals.
i went back and forth to/from the window, and there was packet data use again only once more, not continuously like w/ network based positioning.
so to conclude my tests,
setting the maps to be offline, still uses a-gps and network based positioning.
network based uses a more data, continuously,
which is the opposite of what i thought, i thought a-gps would use more, so i was using network based on and a-gps off while in canada. whoops.
using assisted gps uses about 5-10kb, which, when roaming, according to at&t, they charge 1.95cents/kb.
might be worthwhile for getting a quick gps signal, nothing worse than waiting forever for it to connect.
the only way to be completely clear of data use is disable network based and assisted gps, or set the phone to offline mode.A-GPS: This uses information from cell network to get a rough idea of where you are. It then uses this information to figure out which satellites to look for. Result is a faster satellite lock. So A-GPS uses a few kB of data to get an initial position, but navigation is done using GPS satellites, which does not require ANY data connection.
Network based: This uses information from the cell network to plot the current position when GPS satellite signal is not available, ie indoors, in a tunnel, etc. Position info derived from the cell network is not as accurate as that from GPS satellites, but serves as a stopgap until GPS signal can be re-acquired. Network based positioning used your data connection EACH TIME the satellite lock is lost. So the amount of data used is dependent on the quality of access you have to the GPS satellites. If you don't lose the connection to the GPS satellites, then you won't use any data.
The ‘offline’ option within the Nokia Maps app only refers to street, POI, etc searches, NOT to A-GPS, Network based positioning or to connecting with the GPS satellites.
If you want to navigate without using ANY data connection, set A-GPS off AND set Network based positioning off AND set the Internet option in Nokia Maps to Offline. Do this and you will not use any of your data connection allowance when navigating. There is no need to put the phone into flight mode.
If I've helped you, you can thank me by clicking the green 'kudos' star on my post. Cheers. -
Error while sending the data using input schedule
Dear Friends,
I am unable to send the data using input schedule due to following error is occur while sending the data.
The Error Message : Member (H1) of dimension (ENTITY) is not a base member (parent or formula)
Can anyone please help me to resolve the above error.
Thanks and regards,
MD.Hi,
You are trying to send data to a parent/node, you can only send data in BPC to lowest-level children (base mamabers) of any dimension.
"H1" is a parent in the entity dimension so you should try sending to a child.
Tom.
Maybe you are looking for
-
Hello, I hope some1 can help me for these. I am using apex 3.1.2 ver My first question: how can I put more columns for example 4 columns with heading in one row? when I do, screen is too wide but i do not want scrolling? e.g aaaaaaaaaaaaaaa( ) bbbbbb
-
Heavy filtering and creation of sums in a grid?
hi, i would like to create a very interactive analysis and would be grateful if someone would push me in the right direction to go as i am very new to flex. (though not new to programming generally). How it should work: i have a small php-script whic
-
Problems with the tutorial Introduction to Java Servlet technology
Has anyone done this tutorial? https://www6.software.ibm.com/developerworks/education/j-intserv/ I created an application. Created the XML file. Imported the project from the website and tried viewing it in the broswer: http://localhost:8080/contacts
-
How to use "referenced files" in MY case?
I have a MacBook pro, which I bring with me between home and studio. Until now, I've been storing my shots on an external HD. This means that I cannot see my photos when I'm home. I've been looking into the "referenced files"-thing. I would like to b
-
Document library archieve issue
I have one Document library(Infopath form Library) , there several columns in Document library , one of the column is closed date, those forms which has closed date more than 1 month older they should move to another archiver document library. For th