Per_person_type_usages_f table in HRA
We are trying to load out of box Employment Dimension using Informatica and there are some joins for Per_person_type_usages_f table in SQL Transformation.
I need columns like effective_start_date and effective_end_date to perform joins from Per_person_type_usages_f table which I dnt have right now. So, I will have to go for customization of SQL Query. In my master table(per_person_types) also, these columns are missing.
Suggest whether to remove this table from SQL Query or Is there any other way?
Thanks
What do you mean that you do not have the per_person_type_usages_f table?
Similar Messages
-
Calculate the sum of values in excel file and import it to SQL table using SSIS
Hi,
Can some one help me how to do auto sum of columns in SQL table using SSIS
in SQL table the HRA , PF and Basic should not come, Only it should appear in basic pay as the sum of HRA , PF and Basic...RSingh, Thanks for the use
of derived column.
Instead of using record set i used OLE DB destination
its working Fine...
but now the issue is if i put a new records in excel file its replicating in SQL table
How to get only the changed values in excel to SQL table. -
Per_person_type_usages_f puzzle
Hi,
I'm here to understand per_person_type_usages_f in terms of absence participation...
We have many cases where in this table for a given employee you may see:
1. A Regular Employee row spanning the life of the person record (expected)
2. One or many Participant rows relating to sick absence created by the absence participation process at the time of processing a current absence BUT not including that absence.
So, in one case:
- Regular Employee entry effective from 10/02/1986 to 31/12/4712
- 6 rows relating to sick absence periods between 07/08/2003 and 23/10/2006
- 2 periods of sick absence in 2008 and 2009 which do not have a corresponding row in per_person_type_usages_f (however, the 2008 absence's creation date ties up with the creation date of the retrospective rows in the per_person_type_usages_f table)
This appears to be common across many employees, I just don't understand what it represents. The reason I ask is that we check for a change in person type during interfaced changes in assignment data, so retrospective changes often flag up these changes if a period of absence falls within the effective start date and effective end date of the change to be applied. I need to change that logic to ignore Participant rows probably - but I'd like to understand the way absence appears in this table before I do so.
Many thanks in anticipation for any pointers you may have.
BagpussWell, this is one of those situations where we really need to see your data, which, unfortunately, we cannot do on this forum. Look at your per_person_types table, and the person_type_id values showing for your example employee in the per_person_type_usages_f table. I am thinking that maybe HR or Payroll is changing the person type to something like "Sick Employee" when the employee has an absence, then change back to a regular employee type when the absence ends. Then maybe someone got tired of making all these person type changes and stopped doing that? Just guessing. Generally per_person_types are used to indicate the type of person the person is within the Oracle HR system - such as employee, retiree, applicant, spouse, domestic partner, and so forth. I don't think it was designed/intended for tracking absences, but it certainly could be attempted to be used that way if a company wants to do so. So study your records by joining per_person_types to per_person_type_usages_f and seeing what kinds of person types are being assigned to these absence records. Then you may need to go talk to someone in HR/Payroll to see if they can explain what you are seeing. Hope this makes some sense.
John Dickey -
HRMS Mutating Custom Trigger Error
Hi Gurus! In Oracle 10.7 SC HRMS, the column PERSON_TYPE_ID in table PER_ALL_PEOPLE_F was used to populate the actual person type. In releases 11+, this column was redesigned to hold just the default user_person_type for a given system_person_type. It is not maintained to reflect the true user person type. Only the table person_type_usages_f will give you the true user_person_type. (Note: column PERSON_TYPE_ID in table PER_ALL_PEOPLE_F is ONLY used by non-HR areas, such as Purchasing)
This link explains this:
http://www.aboutoracleapps.com/2008/07/difference-between-perallpeoplefpersont.html
My issue- our client upgraded from 10.7 to R12. The issue is that their custom code (a lot of it) looks at the column PERSON_TYPE_ID in table PER_ALL_PEOPLE_F to determine the actual person type.
Since my client doesnt use Purchasing (or any other modules), and they have LOTS of custom code that looks at the PERSON_TYPE_ID column, it was decided that we would just populate that column with the correct person type.
We created a trigger on the PER_PERSON_TYPE_USAGES_F table. Basically, any time a person type changes, the PERSON_TYPE_ID column is updated in the PER_ALL_PEOPLE_F table. Simple update.
The problem is, we get a mutating table error. Does anyone see why? Or how my logic is not sound? Thank you.
Trigger:
BEFORE INSERT OR UPDATE ON "APPS"."PER_PERSON_TYPE_USAGES_F" FOR EACH ROW
BEGIN
UPDATE PER_ALL_PEOPLE_F
SET PERSON_TYPE_ID = :new.person_type_id
WHERE person_id = :NEW.person_id
AND sysdate BETWEEN effective_start_date AND effective_end_date;
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20005, 'Trigger UPDATE_PERSON_TYPE_ID: '||SQLERRM);
END;
Application Error:
ORA-20005: Trigger UPDATE_PERSON_TYPE_ID: ORA-04091: table HR.PER_PERSON_TYPE_USAGES_F is mutating, trigger/function may not see it
ORA-06512: at "APPS.PER_ALL_PEOPLE_F_ARIU", line 228
ORA-04088: error during execution of trigger 'APPS.PER_ALL_PEOPLE_F_ARIU'
ORA-04088: error during execution of trigger 'XXMIL.UPDATE_PERSON_TYPE_ID'
ORA-06512: at "APPS.PER_PTU_SHD", line 398
ORA-06512: at "APPS.PER_PTU_UPD", line 256
ORA-06512: at "APPS.PER_PTU_UPD", line 338
ORA-06512: at "APPS.PER_PTU_UPD", line 781
ORA-06512: at "APPS.PER_PTU_UPD", line 915
ORA-06512: at "APPS.HR_PER_TYPE_USAGE_INTERNAL", line 357
ORA-06512: at "APPS.HR_PER_TYPE_USAGE_INTERNAL", line 757
ORA-06512: at "APPS.HR_PER_PEOPLE12_PKG", line 1311Jason,
you should push to change your custom code.
Direct update over seeded tables is not supported by Oracle.
per_people_f updates are allowed only through front end or API, and I doubt there is an API to update the person_Type_id.
Furthermore it's way a bloody road to have the trigger, maintain it over upgrades and patches, have it firing at the right time (order in which they fire is not predictable), have data the consistent if you eventually upgrade to iREc o Benefits (when the person type could become ex-Employee.Applicant....).
I believe triggers on per_people_f are not recommendable (except for auditing). You should create your custom function and substitute any person_type_id occurrence with your custom function (or use the hr_person_type_usage_info.get_user_person_type or another if suit you well).
If you are upgrading from 10.7 to 12i, a lot of rework should be envisaged, so there should be room to create a business case to stick to oracle standard and adjust your custom code. Indeed you should check wth Oracle if what proposed is actually supported by them, this would eventually make your recomendation accepted.
my 2c.
Giuseppe
Edited by: Giuseppe on 07-Jun-2012 10:27 -
Error while updating HRA in infotype 581 for the employees.
Hi,
System is showing an error while updating HRA in infotype 581 for the employees.
The error is No Automatic updation for IT0008. Allowance Grouping not found.
What is this error. Please advice what to do in this case.Hi Deepthi,
Check Table V_T7INA5,V_T7INA1,V_T7INA3 and V_T7INA9 also.
Check it,
Regards,
Vinod.
Edited by: vinod rao on Jul 30, 2008 1:23 PM -
CONVERSION OF 1 TABLE TO ACCOMODATE MORE FIELDS USING TEMP VARIABLE IN STORE PROC
USE [FacetsXR]
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[frdmrpt].[pr_pha_BiometricsSummary]') AND type in (N'P', N'PC'))
DROP PROCEDURE [frdmrpt].[pr_pha_BiometricsSummary]
GO
CREATE PROCEDURE [frdmrpt].[pr_pha_BiometricsSummary]
AS
BEGIN
DECLARE @partcTot int
select @partcTot = [frdmrpt].[fn_pha_total_participants](default);
DECLARE @TEMPTAB TABLE
SortOrder varchar(10),
BIMEASURE VARCHAR(30) NULL,
RC VARCHAR(100) NULL,
N VARCHAR(5) NULL,
PSP VARCHAR(10) NULL,
AVL VARCHAR(10) NULL
-- HEADER ROW
--INSERT @TEMPTAB VALUES('00','Biometric Measure','Risk Citeria','N','Percent Of Screened Population','Average Value')
--BMI
declare @BMI int
select @BMI = count(*)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.BMI is not null and hra.BMI != 0.0
declare @BMIavg float
select @BMIavg = cast(isnull(AVG(BMI),0.0) as decimal (5,1))
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.BMI is not null
INSERT @TEMPTAB VALUES('100','BMI','.',@BMI,'.',@BMIavg)
INSERT @TEMPTAB
SELECT SortOrder,RiskCriteria, BS.Risk_Criteria,COUNT(*) Total,CAST((CAST(([frdmrpt].[fn_pha_percent](COUNT(*), @BMI)) AS VARCHAR(100))) AS VARCHAR(100))+'%'
FROM
SELECT
CASE
WHEN (BMI > 0 AND BMI <= 17.4) THEN '101'
WHEN BMI BETWEEN 17.5 AND 18.4 THEN '102'
WHEN BMI BETWEEN 18.5 AND 24.9 THEN '103'
WHEN BMI BETWEEN 25.0 AND 29.9 THEN '104'
WHEN BMI >=30.0 THEN '105'
END AS SortOrder,
CASE
WHEN (BMI > 0 AND BMI <= 17.4) THEN 'Very Underweight'
WHEN BMI BETWEEN 17.5 AND 18.4 THEN 'Underweight'
WHEN BMI BETWEEN 18.5 AND 24.9 THEN 'Normal'
WHEN BMI BETWEEN 25.0 AND 29.9 THEN 'Overweight'
WHEN BMI >=30.0 THEN 'Obese'
END AS RiskCriteria
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
) bioSumBI
INNER JOIN [frdmrpt].[pw_Biometric_Summary] BS
ON bioSumBI.RiskCriteria = BS.Bimetric_Measure
AND BS.Bimetric_Category ='BMI'
WHERE bioSumBI.RiskCriteria is not null
GROUP BY bioSumBI.SortOrder ,bioSumBI.RiskCriteria,BS.Risk_Criteria,BS.Risk_Higher_Limit
ORDER BY BS.Risk_Higher_Limit
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='101') = 0
INSERT @TEMPTAB VALUES('101','Very Underweight','17.4 and below','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='102') = 0
INSERT @TEMPTAB VALUES('102','Underweight','17.5 to 18.4','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='103') = 0
INSERT @TEMPTAB VALUES('103','Normal','18.5 to 24.9','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='104') = 0
INSERT @TEMPTAB VALUES('104','Overweight','25 to 29.9','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='105') = 0
INSERT @TEMPTAB VALUES('105','Obese','30.0 and above','0','0%','.')
--BP
declare @BP INT
select @BP = count(*)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.Systolic IS NOT NULL AND hra.Diastolic IS NOT NULL
declare @BPAVG VARCHAR(15)
select @BPAVG = isnull(CONVERT(VARCHAR(15),AVG(Systolic)) + '/' + CONVERT(VARCHAR(5),AVG(Diastolic)),0)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.Systolic IS NOT NULL AND hra.Diastolic IS NOT NULL
INSERT @TEMPTAB VALUES('200','Blood Pressure (mmHg)','.',@BP,'.',@BPAVG)
INSERT @TEMPTAB
SELECT SortOrder ,RiskCriteria, BS.Risk_Criteria,COUNT(*) Total,
CAST(([frdmrpt].[fn_pha_percent](COUNT(*), @BP)) AS VARCHAR(100))+'%','.'
FROM
SELECT
CASE
WHEN (Systolic <=119 and Diastolic <=79) THEN 201
WHEN not (Systolic >= 140 OR Diastolic >=90) and not (Systolic <=119 and Diastolic <=79) THEN 202 -- basically not high and not low
WHEN (Systolic >= 140 OR Diastolic >=90) THEN 203
--WHEN hra.Systolic <=119 OR hra.Diastolic <=79 THEN '201'
--WHEN (hra.Systolic between 120 AND 139) OR (hra.Diastolic between 80 AND 89) THEN '202'
--WHEN (hra.Systolic between 140 AND 159) OR (hra.Diastolic between 90 AND 99) THEN '203'
--WHEN hra.Systolic >= 160 OR hra.Diastolic >= 100 THEN '204'
END AS SortOrder,
CASE
WHEN (Systolic <=119 and Diastolic <=79) THEN 'Low Risk'
WHEN not (Systolic >= 140 OR Diastolic >=90) and not (Systolic <=119 and Diastolic <=79) THEN 'Moderate Risk'
WHEN (Systolic >= 140 OR Diastolic >=90) THEN 'High Risk'
--WHEN hra.Systolic <=119 OR hra.Diastolic <=79 THEN 'Low Risk'
--WHEN (hra.Systolic between 120 AND 139) OR (hra.Diastolic between 80 AND 89) THEN 'Prehypertension'
--WHEN (hra.Systolic between 140 AND 159) OR (hra.Diastolic between 90 AND 99) THEN 'Stage I hypertension'
--WHEN hra.Systolic >= 160 OR hra.Diastolic >= 100 THEN 'Stage II hypertension'
END AS RiskCriteria
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
) bioSumBP
INNER JOIN [frdmrpt].[pw_Biometric_Summary] BS
ON bioSumBP.RiskCriteria = BS.Bimetric_Measure
AND BS.Bimetric_Category ='Blood Pressure (mmHg)'
WHERE bioSumBP.RiskCriteria is not null
GROUP BY bioSumBP.SortOrder ,bioSumBP.RiskCriteria,BS.Risk_Criteria,BS.Risk_Higher_Limit
--ORDER BY BS.Risk_Higher_Limit desc
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='201') = 0
INSERT @TEMPTAB VALUES('201','Low Risk','Systolic: 119 and below Diastolic: 79 and below','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='202') = 0
INSERT @TEMPTAB VALUES('202','Moderate Risk','Systolic: 120 to 139 Diastolic: 80 to 89','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='203') = 0
INSERT @TEMPTAB VALUES('203','High Risk','Systolic: 140 and above Diastolic: 90 and above','0','0%','.')
--Cholestrol
declare @TC int
select @TC = count(*)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.TotalCholesterol IS NOT NULL
declare @TCAVG FLOAT
select @TCAVG = isnull(ROUND(AVG(TotalCholesterol),0),0)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.TotalCholesterol IS NOT NULL
INSERT @TEMPTAB VALUES('300','Total Cholesterol (mg/dL)','.',@TC,'.',@TCAVG)
INSERT @TEMPTAB
SELECT SortOrder ,RiskCriteria, BS.Risk_Criteria,COUNT(*) Total,
CAST(([frdmrpt].[fn_pha_percent](COUNT(*), @TC)) AS VARCHAR(100))+'%','.'
FROM
SELECT
CASE
WHEN hra.TotalCholesterol <= 199 THEN '301'
WHEN hra.TotalCholesterol between 200 and 239 THEN '302'
WHEN hra.TotalCholesterol >=240 THEN '303'
END AS SortOrder,
CASE
WHEN hra.TotalCholesterol <= 199 THEN 'Low Risk'
WHEN hra.TotalCholesterol between 200 and 239 THEN 'Moderate Risk'
WHEN hra.TotalCholesterol >=240 THEN 'High Risk'
END AS RiskCriteria
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
) bioSumHDL
INNER JOIN [frdmrpt].[pw_Biometric_Summary] BS
ON bioSumHDL.RiskCriteria = BS.Bimetric_Measure
AND BS.Bimetric_Category ='Total Cholesterol (mg/dL)'
WHERE bioSumHDL.RiskCriteria is not null
GROUP BY bioSumHDL.SortOrder ,bioSumHDL.RiskCriteria,BS.Risk_Criteria,BS.Risk_Higher_Limit
ORDER BY BS.Risk_Higher_Limit
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='301') = 0
INSERT @TEMPTAB VALUES('301','Low Risk','199 and below','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='302') = 0
INSERT @TEMPTAB VALUES('302','Moderate Risk','200 to 239','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='303') = 0
INSERT @TEMPTAB VALUES('303','High Risk','240 and above','0','0%','.')
--HDL
declare @HDL int
select @HDL = count(*)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE HDL IS NOT NULL
declare @HDLAVG FLOAT
select @HDLAVG = isnull(ROUND(AVG(HDL),0),0)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE HDL IS NOT NULL
INSERT @TEMPTAB VALUES('400','HDL (mg/dL)','.',@HDL,'.',@HDLAVG)
INSERT @TEMPTAB
SELECT SortOrder ,RiskCriteria, BS.Risk_Criteria,COUNT(*) Total,
CAST(([frdmrpt].[fn_pha_percent](COUNT(*), @HDL)) AS VARCHAR(100))+'%','.'
FROM
SELECT
CASE
WHEN hra.HDL >= 60 THEN '401'--'Desirable'
WHEN hra.HDL between 40 and 59 THEN '402' --'Borderline Risk'
WHEN hra.HDL <=39 THEN '403' --'Undesirable Risk'
END AS SortOrder,
CASE
WHEN hra.HDL >= 60 THEN 'Low Risk'--'Desirable'
WHEN hra.HDL between 40 and 59 THEN 'Moderate Risk' --'Borderline Risk'
WHEN hra.HDL <=39 THEN 'High Risk' --'Undesirable Risk'
END AS RiskCriteria
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
) bioSumHDL
INNER JOIN [frdmrpt].[pw_Biometric_Summary] BS
ON bioSumHDL.RiskCriteria = BS.Bimetric_Measure
AND BS.Bimetric_Category ='HDL (mg/dL)'
WHERE bioSumHDL.RiskCriteria is not null
GROUP BY bioSumHDL.SortOrder ,bioSumHDL.RiskCriteria,BS.Risk_Criteria,BS.Risk_Higher_Limit
ORDER BY BS.Risk_Higher_Limit desc
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='401') = 0
INSERT @TEMPTAB VALUES('401','Low Risk','60 and above','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='402') = 0
INSERT @TEMPTAB VALUES('402','Moderate Risk','40 to 59','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='403') = 0
INSERT @TEMPTAB VALUES('403','High Risk','39 and below','0','0%','.')
--LDL
declare @LDL DECIMAL
select @LDL = count(*)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.LDL IS NOT NULL
declare @LDLAVG FLOAT
select @LDLAVG = isnull(ROUND(AVG(LDL),0),0)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.LDL IS NOT NULL
INSERT @TEMPTAB VALUES('500','LDL (mg/dL)','.',@LDL,'.',@LDLAVG)
INSERT @TEMPTAB
SELECT SortOrder ,RiskCriteria, BS.Risk_Criteria,COUNT(*) Total,
CAST(([frdmrpt].[fn_pha_percent](COUNT(*), @LDL)) AS VARCHAR(100))+'%','.'
FROM
SELECT
CASE
WHEN hra.LDL <= 129 THEN '501'
WHEN hra.LDL between 130 and 159 THEN '502' --'Borderline Risk'
WHEN hra.LDL >=160 THEN '503' --'Undesirable Risk'
END AS SortOrder,
CASE
WHEN hra.LDL <= 129 THEN 'Low Risk'--'Desirable'
WHEN hra.LDL between 130 and 159 THEN 'Moderate Risk' --'Borderline Risk'
WHEN hra.LDL >=160 THEN 'High Risk' --'Undesirable Risk'
END AS RiskCriteria
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
) bioSumHDL
INNER JOIN [frdmrpt].[pw_Biometric_Summary] BS
ON bioSumHDL.RiskCriteria = BS.Bimetric_Measure
AND BS.Bimetric_Category ='LDL (mg/dL)'
WHERE bioSumHDL.RiskCriteria is not null
GROUP BY bioSumHDL.SortOrder ,bioSumHDL.RiskCriteria,BS.Risk_Criteria,BS.Risk_Higher_Limit
ORDER BY BS.Risk_Higher_Limit
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='501') = 0
INSERT @TEMPTAB VALUES('501','Low Risk','129 and below','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='502') = 0
INSERT @TEMPTAB VALUES('502','Moderate Risk','130 to 159','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='503') = 0
INSERT @TEMPTAB VALUES('503','High Risk','160 and above','0','0%','.')
--Blood Glucose (mg/dL)
declare @BG int
select @BG = count(*)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.BloodGlucose IS NOT NULL
declare @BGAVG FLOAT
select @BGAVG = ROUND(AVG(BloodGlucose),0)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.BloodGlucose IS NOT NULL
INSERT @TEMPTAB VALUES('600','Blood Glucose (mg/dL)','.',@BG,'.','NA' )--@BGAVG)
INSERT @TEMPTAB
PRESENT CODE FOR ATTACHED TABLE SELECT SortOrder ,RiskCriteria, BS.Risk_Criteria, Total,
CAST(([frdmrpt].[fn_pha_percent](Total, @BG)) AS VARCHAR(100))+'%','.'
FROM
SELECT
CASE
WHEN (r.RiskLevel='LOW') THEN '601'
WHEN (r.RiskLevel='MODERATE') THEN '602'
WHEN (r.RiskLevel='HIGH') THEN '603'
END AS SortOrder,
CASE
WHEN (r.RiskLevel='LOW') THEN 'Low Risk'
WHEN (r.RiskLevel='MODERATE') THEN 'Moderate Risk'
WHEN (r.RiskLevel='HIGH') THEN 'High Risk'
END AS RiskCriteria,
CASE
WHEN (r.RiskLevel='LOW') THEN cast(COUNT(*)AS VARCHAR(100))
WHEN (r.RiskLevel='MODERATE') THEN cast(COUNT(*)AS VARCHAR(100))
WHEN (r.RiskLevel='HIGH') THEN cast(COUNT(*)AS VARCHAR(100))
END AS Total
From [frdmrpt].[wt_rpt_pha_pw_UserHealthRisks] r
join [frdmrpt].[wt_rpt_pha_pw_Member] m on m.UserID = r.UserID
join [frdmrpt].[wt_rpt_pha_pw_HRADetail2] d on d.UserID = m.UserID
where r.RiskStringID = 'BLOODGLUCOSE'
group by GROUPING sets ( r.RiskLevel, () )
) bioSumHDL
INNER JOIN [frdmrpt].[pw_Biometric_Summary] BS
ON bioSumHDL.RiskCriteria = BS.Bimetric_Measure
AND BS.Bimetric_Category ='Blood Glucose (mg/dL)'
WHERE bioSumHDL.RiskCriteria is not null
GROUP BY bioSumHDL.SortOrder ,bioSumHDL.Total,bioSumHDL.RiskCriteria,BS.Risk_Criteria,BS.Risk_Higher_Limit
ORDER BY BS.Risk_Higher_Limit
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='601') = 0
INSERT @TEMPTAB VALUES('601','Low Risk','Fasting: 70 to 99 Random: 80 to 139','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='602') = 0
INSERT @TEMPTAB VALUES('602','Moderate Risk','Fasting: 100 to 125 Random: 140 to 199','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='603') = 0
INSERT @TEMPTAB VALUES('603','High Risk','Fasting: 126 and above Random: 200 and above','0','0%','.')
--Triglycerides (mg/dL)
declare @TRG int
select @TRG = count(*)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.Triglycerides IS NOT NULL
declare @TRGAVG FLOAT
select @TRGAVG = isnull(ROUND(AVG(Triglycerides),0),0)
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
WHERE hra.Triglycerides IS NOT NULL
INSERT @TEMPTAB VALUES('700','Triglycerides (mg/dL)','.',@TRG,'.',@TRGAVG)
INSERT @TEMPTAB
SELECT SortOrder ,RiskCriteria, BS.Risk_Criteria,COUNT(*) Total,
CAST(([frdmrpt].[fn_pha_percent](COUNT(*), @TRG)) AS VARCHAR(100))+'%','.'
FROM
SELECT
CASE
WHEN hra.Triglycerides <=149 THEN '701'
WHEN hra.Triglycerides between 150 and 199 THEN '702'
WHEN hra.Triglycerides >= 200 THEN '703'
END AS SortOrder,
CASE
WHEN hra.Triglycerides <=149 THEN 'Low Risk'
WHEN hra.Triglycerides between 150 and 199 THEN 'Moderate Risk'
WHEN hra.Triglycerides >= 200 THEN 'High Risk'
END AS RiskCriteria
FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
ON hra.UserID = mems.UserID
) bioSumHDL
INNER JOIN [frdmrpt].[pw_Biometric_Summary] BS
ON bioSumHDL.RiskCriteria = BS.Bimetric_Measure
AND BS.Bimetric_Category ='Triglycerides (mg/dL)'
WHERE bioSumHDL.RiskCriteria is not null
GROUP BY bioSumHDL.SortOrder ,bioSumHDL.RiskCriteria,BS.Risk_Criteria,BS.Risk_Higher_Limit
ORDER BY BS.Risk_Higher_Limit
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='701') = 0
INSERT @TEMPTAB VALUES('701','Low Risk','149 and below','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='702') = 0
INSERT @TEMPTAB VALUES('702','Moderate Risk','150 to 199','0','0%','.')
IF (Select COUNT(*) from @TEMPTAB where SortOrder ='703') = 0
INSERT @TEMPTAB VALUES('703','High Risk','200 and above','0','0%','.')
SELECT BIMEASURE,RC ,N ,PSP ,AVL FROM @TEMPTAB order by SortOrder
END
GO
GRANT EXECUTE ON [frdmrpt].[pr_pha_BiometricsSummary] to FRDM_END_USER_ROLE
GOwork done so far(I will aprreciate your input and suggestions to complete this.Thanks
CREATE PROCEDURE [frdmrpt].[pr_pha_T1T2_BiometricsSummaryTest]
AS
BEGIN
DECLARE @partcTot int
select @partcTot = [frdmrpt].[fn_pha_total_participants](default);
DECLARE @TEMPTAB TABLE
SortOrder varchar(10),
BIMEASURE VARCHAR(30) NULL,
RC VARCHAR(100) NULL,
N_T1 VARCHAR(5) NULL,
PSP_T1 VARCHAR(10) NULL,
AVL_T1 VARCHAR(10) NULL,
N_T2 VARCHAR(5) NULL,
PSP_T2 VARCHAR(10) NULL,
AVL_T2 VARCHAR(10) NULL
-- HEADER ROW
--INSERT @TEMPTAB VALUES('00','Biometric Measure','Risk Citeria','N','Percent Of Screened Population','Average Value')
--BMI
--declare @BMI int
--select @BMI = count(*)
---FROM [frdmrpt].[wt_rpt_pha_pw_HRADetail2] hra
---INNER JOIN [frdmrpt].[wt_rpt_pha_pw_Member] mems
---ON hra.UserID = mems.UserID
--WHERE hra.BMI is not null and hra.BMI != 0.0
declare @BMI_T1 int
select @BMI_T1 = count(*)
FROM [frdmrpt].wt_pha_T1T2_HRADetail2 hra
INNER JOIN [frdmrpt].wt_pha_T1T2_Member mems
ON hra.UserID = mems.UserID and hra.T1T2=mems.T1T2
WHERE hra.BMI is not null and hra.BMI <> 0.0 and mems.T1T2 = 'T1'
--SELECT @BMI_T1
declare @BMI_T2 int
select @BMI_T2 = count(*)
FROM [frdmrpt].wt_pha_T1T2_HRADetail2 hra
INNER JOIN [frdmrpt].wt_pha_T1T2_Member mems
ON hra.UserID = mems.UserID and hra.T1T2=mems.T1T2
WHERE hra.BMI is not null and hra.BMI <> 0.0 and mems.T1T2 = 'T2'
---SELECT @BMI_T2
declare @BMIavg_T1 float
select @BMIavg_T1 = cast(isnull(AVG(BMI),0.0) as decimal (5,1))
FROM [frdmrpt].wt_pha_T1T2_HRADetail2 hra
INNER JOIN [frdmrpt].wt_pha_T1T2_Member mems
ON hra.UserID = mems.UserID
WHERE hra.BMI is not null --and hra.BMI <> 0.0
and mems.T1T2 = 'T1'
--SELECT @BMIavg_T1 -
Hi,
i have got two tables called salary and salconfig,salary table is refering to salconfig table.
I want a result of transpose values,i.e query should display in the following format.
Empid Basic HRA DA TA
298 4500 1500 800 950
300 2300 450 800 560
my tables r
Salary
ID EMPID SALID VALUE
1 298 2 1500
2 298 1 4500
3 298 3 800
4 298 4 950
5 300 1 2300
6 300 2 450
7 300 3 800
8 300 4 560
Salconfig
ID ITEMS
1 Basic
2 HRA
3 Da
4 ta
If anybody got a query for this plz replay.Query should be a generalized one,because data in salconfig table will change dynamicaly.
Regds
Rupesh
DBA,iNetFrameRight, so this is the key you want to run (this version allows for employees who don't qualify for everything):
SQL> SELECT s1.emp_id
2 , s1.val AS basic
3 , nvl(s2.val, 0) AS hra
4 , nvl(s3.val, 0) AS da
5 , nvl(s4.val, 0) AS ta
6 FROM ( SELECT x1.emp_id, x1.val FROM salary x1
7 WHERE 1 = x1.sal_id ) s1
8 , ( SELECT x2.emp_id, x2.val FROM salary x2
9 WHERE 2 = x2.sal_id ) s2
10 , ( SELECT x3.emp_id, x3.val FROM salary x3
11 WHERE 3 = x3.sal_id ) s3
12 , ( SELECT x4.emp_id, x4.val FROM salary x4
13 WHERE 4 = x4.sal_id ) s4
14 WHERE s1.emp_id = s2.emp_id(+)
15 AND s1.emp_id = s3.emp_id(+)
16 AND s1.emp_id = s4.emp_id(+)
17 /
EMP_ID BASIC HRA DA TA
298 4500 1500 800 950
300 2300 450 800 560
301 2100 0 800 0
SQL> Now what you want is to generate this query dynamically. I'm going to use a ref cursor. There are other approaches.
CREATE OR REPLACE FUNCTION get_remuneration RETURN sys_refcursor
AS
sel_stmt VARCHAR2(32767);
from_stmt VARCHAR2(32767);
where_stmt VARCHAR2(32767);
return_value sys_refcursor;
BEGIN
FOR i IN ( SELECT id, items FROM salconfig ORDER BY id ASC )
LOOP
-- assume every employee gets BASIC salary and it's always gonna be 1
IF i.items = 'Basic'
THEN
sel_stmt := 'SELECT s1.emp_id'||chr(10)||' , s1.val AS basic';
from_stmt := 'FROM ( SELECT x1.emp_id, x1.val FROM salary x1'||chr(10)||' WHERE 1 = x1.sal_id ) s1';
where_stmt := null;
ELSE
sel_stmt := sel_stmt||chr(10)||' , nvl(s'||trim(i.id)||'.val, 0) AS "'||i.items||'"';
from_stmt := from_stmt||chr(10)||', ( SELECT x'||trim(i.id)||'.emp_id, x'||trim(i.id)||'.val FROM salary x'||trim(i.id)||chr(10)||' WHERE '||trim(i.id)||' = x'||trim(i.id)||'.sal_id ) s'||trim(i.id);
IF where_stmt IS null
THEN
where_stmt := 'WHERE ';
ELSE
where_stmt := where_stmt||chr(10)||'AND ';
END IF;
where_stmt := where_stmt||'s1.emp_id = s'||trim(i.id)||'.emp_id(+)';
END IF;
END LOOP;
OPEN return_value FOR sel_stmt||chr(10)||from_stmt||chr(10)||where_stmt;
RETURN return_value;
END;
/Smoke me a kipper, I'll be back before breakfast.
Cheers, APC -
Simple Table Displays OK in Mozilla But Not Showing in IE??
I'm updating our company website and am looking to add sections to each page with bullet points. (Note: I am using Dreamweaver CS4 version 10.0.)
I tried using the Unordered List feature but for those bullet points that were extremely long, the 2nd line would never align properly. So...someone in our IT Dept suggested using a table.
The table works GREAT in Firefox but only the first bullet point shows when I view using IE 8. Even the rest of the page does not display.
Relative newcomer to Dreamweaver so ANY assistance would be GREATLY APPRECIATED!
Here is the HTML code:
<table width="346" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="27" scope="row"><div align="center">•</div></td>
<td width="319"><span class="BulletText">Direct integration with other ABC-developed products such as PKonRx, eSignature, and A/R</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">POS A/R transactions automatically update pharmacy A/R module - no more double entry</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Record all “paid-in” and “paid-out” transactions through POS</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Post Customer A/R and PBM payments</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Eliminate analyzing register tapes with clear and concise POS reports</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">End-of-day takes just minutes</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Create start and stop dates for promotions ahead of time</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Add item messages that remind clerks of promotions, cross-sell and up-sell product</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Identify sales trends by item, department or after each promotion</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Protect margins by tracking price overrides</span></td>
</tr>
</table>
Here is what it looks like in Mozilla:
Here is what it looks like in IE 8:osgood:
Thanks for the quick response and finding the missing ;!
Here is the full HTML code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>SRS Pharmacy Systems: POS (Point-of-Sale)</title>
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style9 {
font-size: 13px;
font-weight: bold;
.style12 {
font-size: 13px
.style13 {font-size: 11px; }
.style16 {color: #000000}
.style17 {color: #4F5162}
.style18 {
font-size: 9px;
font-style: italic;
-->
</style>
<link href="Level1_Arial.css" rel="stylesheet" type="text/css">
</head>
<body>
<table >
<tr>
<td style="height:351px; background:url(images/bg-top.gif) top repeat-x" align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"
width="766" height="351">
<param name="movie" value="flash/header_v7.swf?button=3">
<param name="quality" value="high">
<param name="menu" value="false">
<!--[if !IE]> <-->
<object data="flash/header_v7.swf?button=3"
width="766" height="351" type="application/x-shockwave-flash">
<param name="quality" value="high">
<param name="menu" value="false">
<param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer">
FAIL (the browser should render some flash content, not this).
</object>
<!--> <![endif]-->
</object>
</td>
</tr>
<tr>
<td style="height:368px" align="center" class="m_text">
<table style="width:766px;">
<tr>
<td style="height:34px"></td>
</tr>
<tr>
<td >
<table >
<tr>
<td style="width:445px;">
<div style="margin:0px 40px 0 33px">
<div align="left"><span class="style9"><span class="ParagraphHead"> <img src="images/Solutions_Spotlight.jpg" width="257" height="27" alt="POS"><br>
<br>
</span></span><strong><span class="ParagraphHead">Point-of-Sale</span></strong><span class="ParagraphSUBHeading"><br>
More Effective Cash Management</span><br>
<span class="ParagraphText">Once thought to be a fixture in only large pharmacies, <span class="style9"><span class="style12"><img src="images/POS-3.jpg" alt="Computer Pic" width="117" height="110" align="left" style="margin-right:15px; margin-top:3px"></span></span>an efficient point-of-sale system is now a necessity for <em>any</em> pharmacy looking to more effectively manage their overall business. From complying with recent IRS regulations for FSA/HRA cards, to creating a more accurate and efficient checkout process for customers, to managing pharmacy will-call bins, SRS’ PKon POS is the answer!<br>
<br>
</span><strong><span class="ParagraphSUBHeading">Increased Efficiencies</span></strong><span class="ParagraphSUBHeader2"><br>
</span><span class="ParagraphText">Creating a single point of entry for all sales transactions, charges and payments, PKon POS
makes your once tedious end-of-day processes quicker and more efficient as well as adds profitability by improving margins,
identifying sales trends and opportunities.<br>
<br>
<table width="346" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="27" scope="row"><div align="center">•</div></td>
<td width="319"><span class="BulletText">Direct integration with other SRS-developed products such as PKonRx, eSignature, and A/R</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">POS A/R transactions automatically update pharmacy A/R module - no more double entry</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Record all “paid-in” and “paid-out” transactions through POS</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Post Customer A/R and PBM payments</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Eliminate analyzing register tapes with clear and concise POS reports</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">End-of-day takes just minutes</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Create start and stop dates for promotions ahead of time</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Add item messages that remind clerks of promotions, cross-sell and up-sell product</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Identify sales trends by item, department or after each promotion</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Protect margins by tracking price overrides</span></td>
</tr>
</table>
</span> <br>
<span class="ParagraphSUBHeading">Increased Security</span><br>
<span class="ParagraphText">Enhance your security and employee accountability by implementing the following security
features:<br>
<br>
<table width="346" border="0">
<tr>
<td width="17" scope="row"><div align="center">•</div></td>
<td width="319"><span class="BulletText">Clerk tracking for every POS transaction</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Track unauthorized price overrides, voided transaction or discounts</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">Restrict register(s) and POS tasks to specific users</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">PCI DSS-compliant software protects customers’ credit card data from fraud and abuse</span></td>
</tr>
</table>
</span>
<br>
<span class="ParagraphSUBHeading">Improved Customer Experience</span><br>
<span class="ParagraphText">Customers will quickly judge their shopping experience by an efficient and fast checkout process.
Pharmacies cannot afford a slow checkout system when a customer is ready to pay.</span><br>
<br>
</ul>
<table width="346" border="0">
<tr>
<td width="17" scope="row"><div align="center">•</div></td>
<td width="319"><span class="BulletText">POS conveys a more professional image to your customers</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">POS delivers faster sales transactions and reduces the amount of time customers spend in
checkout lines</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">POS allows the pharmacy to offer convenient payment options (e.g. credit, debit, FSA, HRA or
in-store charge account)</span></td>
</tr>
<tr>
<td scope="row"><div align="center">•</div></td>
<td><span class="BulletText">One signature pad to handle all PBM, HIPAA, NSC, A/R and credit/debit card signatures</span></td>
</tr>
</table>
</span><br>
<span class="ParagraphText">Click on the brochure link for additional information. If you still have questions, <A HREF="mailto:[email protected]" ONCLICK="openWindow('tell_me_more.html','516','381')">contact us</A> today for a personal response. </span></span><span class="style12"><br>
</span><br>
<br>
<a href="PDFs/SRS PKon POS.pdf" class="style13" ><img alt="arrow" src="images/a1.gif" style=" margin-right:5px"></a><span class="Clickhere"><a href="PDFs/SRS_POS.pdf" >Click here </a>for the POS brochure</span></div>
<a href="PDFs/SRS PKon POS.pdf" class="style13"><span class="Clickhere"><a href="PDFs/SRS_POS.pdf" >
</a>
<div align="justify"></div> </div> </td>
<td style="width:40px; background:url(images/bg-line.gif) repeat-y"></td>
<td style="width:260px;">
<div style="margin:0px 26px 0 0px">
<img src="images/Pharmacy_Solutions.jpg" alt="" width="192" height="27" ><br>
<strong><br>
</strong><span class="ParagraphText"><span class="ParagraphText">Browse our full suite of pharmacy management applications:</span><br><br><span class="SolutionsBullets">
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 PKon Rx.html" >PKon Rx</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 340B.html" >340B</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 AutoFax.html" >Auto-Fax</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 EPrescriptions.html" >e-Prescriptions</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 ESig.html" >eSignature</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 IVR.html" >IVR</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 MAR.html" >MAR Printing</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 Offsite Backup.html" >Off-Site Backup</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 POS.html" >Point-of-Sale (POS)</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 Receivables.html" >Receivables (A/R)</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 SystemsSupport.html" >Systems Support</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 Thermal Printing.html" >Thermal Printing</a><br>
<img alt="Read More" src="images/a1.gif" style=" margin-right:5px"><a href="index-3 Timeclock.html" >Timeclock</a></span><br>
<br>
</div> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="height:16px"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td >
<table >
<tr>
<td style="width:50%; background:url(images/bg-left.gif) top repeat-x #E6E8E9"></td>
<td style="width:766px; background:url(images/bg-bot.gif) repeat-y">
<table style="width:766px;height:81px; background:url(images/bg-bot2.gif) top repeat-x">
<tr>
<td height="147" bgcolor="#999999" style="width:271px;"><br>
<br>
<br>
<span class="c_text" style="margin:29px 0px 0 0px">©2010 SRS Pharmacy Systems</span><br>
</td>
<td bgcolor="#999999" style="width:303px;"><br>
<br>
<br>
<span class="c_text"><span class="style16"><a href="index-1.html">Home</a> | <a href="index-2.html">Technology</a> | <a href="index-3.html">Solutions</a> | <a href="index-4.html">News</a> | <a href="index-6.html">Contact Us</a> </span></span></td>
</tr>
</table>
</td>
<td style="width:50%; background:url(images/bg-right.gif) top repeat-x #D3D5D6"></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
Here is the CSS:
body{
padding:0px;
margin:0px;
table {border-collapse:collapse; border:0px;}
table, td {
height:100%;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
list-style-type: disc;
vertical-align: top;
color: #666;
border-top-width: thin;
border-right-width: thin;
border-bottom-width: thin;
border-left-width: thin;
td {
vertical-align:top;
padding:0px;
a:hover{text-decoration:none;}
img {
border:2px;
float: left;
border-top: 3px;
.m_text, table, li, input, textarea
font-size:13px;
color: #005891;
vertical-align: top;
display: table;
.m_text a{
color:#005891
.m_text span a{ }
.m_text strong a{ color:#4A4A4A}
.h_text {}
.s_text a{ color:#414F66; font-size:10px; text-decoration:none}
.s_text a:hover{ text-decoration:underline}
.l_text {}
.c_text {
color:#FFF;
font-size:8pt;
.c_text a{
color:#FFF
.no_class, form, .no_class td
width:auto;
height:auto;
margin:0px;
padding:0px;
border:0px;
.line {
background:url(images/line.gif) repeat-x;
width:170px;
height:2px;
top: 12px;
.line2 { background:url(images/line.gif) repeat-x; width:121px; height:1px}
.form{height:20px; margin-top:3px;}
.form input {width:213px; height:17px; padding-left:5px}
textarea {width:213px; height:152px; padding-left:5px; overflow:auto; margin-top:3px}
ul {
margin:0;
list-style-type: disc;
list-style-position: inside;
width: auto;
padding-top: 0;
padding-bottom: 0;
color: #666;
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
li {
margin: 0px;
background-image: none;
background-repeat: no-repeat;
background-position: left center;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
li a {font-family:Tahoma; font-size:11px; line-height:18px; color:#B23737}
.ParagraphHead {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
color: #005891;
text-align: left;
.ParagraphText {
font-family: Verdana, Geneva, sans-serif;
font-size: 13px;
color: #333;
.BulletText {
font-family: Verdana, Geneva, sans-serif;
font-size: 13px;
color: #333;
.Clickhere {
font-family: Tahoma, Geneva, sans-serif;
font-size: 11px;
color: #333;
.ParagraphSUBHeading {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
color: #333;
.ParagraphSUBHeader2 {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
color: #005891;
.SolutionsBullets {
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
color: #005891; -
How to enter HRA without maintaining the infotype 0581
Hi Friends,
We would like to maintain HRA without entering the value in 581 infotype.
But it not allowing us to maintain like that..can any body let me know the dynamic action is existed for this.
Any body can help out on this..
rewards will be given for the helpful answers.
Thanks
NandithaFYI
The authorization of a country grouping for an infotype and type is specified in table T582L Infotypes - Country-Specific Settings.
Maintain T582L for IT0581.
Thanks.
Saquib -
Hi,
I'm creating an ad hoc query to retrieve data from table PPDIT by filtering the transaction key. This is to get a list of amounts posted to the technical accounts(Transaction key HRA). However, the query output and the output from table PPDIT through SE16 are different. It seems like the query only picks up transaction key HRF. Anyone with any ideas why?Hi,
Than you add the additional field from extras option.
click on extras tab.
From there add table add field add structure.
If you want to add a field write the name of the field and continue.
suppose the field is matnr.
Long text = material number
header = material number
and in like reference = mara-matnr.
tablename-field name.
let me know if this helps you.
Regrds,
Nikhil. -
Hi export,
how to find out the table name for Infor type, such as I want to know IT0041 and IT0002 store in which table.All personnel administration tables start with PA and the infotype number behind it.
All personnel development/OM tables start with HRP and infotype (e.g. 1000) behind it.
All recruitment tables start with PB and infotype number behind it.
There also are HR tables that start with HRA, HPD, HRT, etc. The easy way to get a list is to use SAP's 'Application Hierarchy', transaction SE81 (select all HR modes in the tree that you are want a list of tables for, click on the 'Information System' button, under Abap Dictionary --> Basic Objs, double click on 'database tables', increase your 'maximun no. of hits' and execute).
Use transaction se11...type in PA* do dropdown and enter, do the same for HRP* and you will have most of the HR transaparent Tables. To access them look for RP_read_* and RP_provide* in Table TRMAC to read a infotype or use the 'select' statement to access the Transparent table.
Transaction SE16 (data browser) is also useful. As mentioned above, the PA infotype tables all begin with PA and are followed by the infotype number e.g. PA0001 for the Org Man infotype.
PA* - PA infotype tables
PCL* - HR clusters
PB* - recruitment tables
PCERT - payroll posting runs
I hope this will help you in future too
Thanks -
Reg : HRA and PF Eligibility
Hello friends,
We are implementing indian payroll. I got few doubts during configuring. can you please help me out.
1. Where should we ristrict PF eligibility = 6500?
2. If HRA = 40% of basic + 1000.
Does it require to maintain Rs. 1000/- in raps table.
Thanks and Regards.
SamDear Friends,
Im familiar with Indirect evaluation module...TARIFF, SUMME, PRZT, CONST
I have few doubts in Inval...
A works just like Tariff, means it defaults fixed amount..
B is like prznt it calcualtes on different components...
% on couple of wagetypes plus fixed amount
C similar to B but here we can give some limit
D Forgot......
Can somebody plz explain with examples...am not able to get clear picture....... -
HRA not getting defaulted in IT - 0008
Hi SAP users,
This will be the most basic configuration but don't know how I am facing a problem in defaulting HRA wage type in IT - 0008 (Basic Pay)
I have created a wage type 9001 which was copied from M230,
In T511 the wage type has INVAL B, Amount = + & Number/unit = -
In T7INA9
WT Amt RAP indc
9001 Blank A Allowance INR 01.01.1990 31.12.9999
In T7INT9
WT Tax Type Frequency Exmpt It Tax Code
9001 R Tax exemption is Rule Blank 00.00 SHRA
Also, I have maintained T510 in which 9001 amt is kept as Blank
T539A the below values are maintained;
TM 1 01.01.1990 31.12.9999 O 9000 Basic Salary
TM 2 01.01.1990 31.12.9999 O 9001 HRA
TM 3 01.01.1990 31.12.9999 O 9003 Conveyance Allowance
TM 4 01.01.1990 31.12.9999 O 9006 Personal Pay
TM 5 01.01.1990 31.12.9999 O 9008 Education Allow.
T539J the below values are maintained;
PRZNT 9001 HRA 1 01.01.1990 31.12.9999 9000 Basic Salary 50.00
LGMST
T = Test Basic
PERSK Employee Subgroup
TM = EXECUTIVE – SM3
20/TM
TARIF
T = Test Basic
PERSK Employee Subgroup
TM = EXECUTIVE – SM3
TM/GM
T7INA1 - TM01 (EXECUTIVE – SM3)
T7INA3 - GM TM 3 TM TM01
T7INA5 - TM01 --> 20/TM
All the configuration is correctly done in the system still it is not defaulting in IT - 0008. Also, I saw a post in whcih it was mentioned that remove HRA from Table T7INT9 then it will be defaulted which i did & it worked. However, as per my understanding it is worng to remove the wt from there as it is used for Tax exemption nd linked with tax code.
Please let me know wht measures should I take to resolve this issue.
Regards,
Prasad ladHi Prasad,
The configuration done from your side are correct . As per SAP standard, the HRA will not get defaulted unless IT581 is maintained. So we need to change the procedure to default the HRA WT
1. In Hiring Action, Insert IT581 after the infotype IT0008 so that once you save the infotype 581 , HRA will get defaulted in Infotype 0008
2. In IT581, If you dont know whether the Employee is staying in Rented house or Own house,Then inform your user to select always 'Own Accomodation' and then save it.
3. In ESS, the employee can change the option in IT581 (IT declaration) later.
Only way to get default other than i have mentioned above is removing the Wagetype from Table T7INT9, But the Exemption will not get calculated for the same.
If you have any clarifications, then raise the Oss Message. SAP will definitely say the same thing.
I hope this would resolve this issue.
Thanks
Rajini -
Hello Guys,,
How are you all ?
i have a Letter type report, on which i am printing Data with totals in between M_BODY1 AND M_BODY2.
:M_DATE := SYSDATE;
:M_REF := 'HRA/SR/ ';
:M_TO := 'Chief Executive Officer';
:M_FROM := 'Chairman';
:M_SUBJECT := 'Loan Summary for ';
:M_BODY1 := 'The Loan Scheme Committee has reviewed the following Loan applications .....';
<+table data starts here....+>
whats happening is when the data rows goes on to 2nd page, then on the 2nd page the top space
reserved for from M_DATE AND M_BODY1, remains blank. and the remaining rows are printed leaving so many space.
i want on the 2nd page the data to start print from top.
The property for all fields from M_DATE and M_BODY1 is set to "+First Page and Enclosing Object+"
:M_BODY2 := 'I seek your approval on the above for total amount of US$ 316,854.64 as recommended by the Committee of the Loan scheme.';
:M_PREPARED_NAME := 'R A S';
:M_PREPARED_DESIG := 'Housing Loan Administrator Secretary';
:M_APPROVED_NAME1 := 'Y A H';
:M_APPROVED_DESIG1 := 'Chairman, Loan Committee';
:M_APPROVED_NAME2 := 'A A. A K';
:M_APPROVED_DESIG2 := 'Cheif Executive Officer';
Also, if after printing the data upto M_BODY2, i want all the Fields from M_PREPARED_NAME upto M_APPROVED_DESIG2 to be always printed together. Suppose if on the last page theres only space left
for M_PREPARED_NAME or M_PREPARED_DESIG, I want all to be printed on the fresh page..
Kindly help solve this.
I am using Report 6i, DB oracle10g
some URL of my problem;
http://www.flickr.com/photos/41671539@N05/4445208242/
http://www.flickr.com/photos/41671539@N05/4445208430/
http://www.flickr.com/photos/41671539@N05/4445208570/Hi,
You need to do somethings with fields and frames.
1. For the top fields...
:M_DATE := SYSDATE;
:M_REF := 'HRA/SR/ ';
:M_TO := 'Chief Executive Officer';
:M_FROM := 'Chairman';
:M_SUBJECT := 'Loan Summary for ';
create one main frame and in keep all these fields inside that frame and frame printing property keep "FIRST PAGE"
and "VARIABLE".
Keep the body1 and body2 as it as...
for the below fields
:M_PREPARED_NAME := 'R A S';
:M_PREPARED_DESIG := 'Housing Loan Administrator Secretary';
:M_APPROVED_NAME1 := 'Y A H';
:M_APPROVED_DESIG1 := 'Chairman, Loan Committee';
:M_APPROVED_NAME2 := 'A A. A K';
:M_APPROVED_DESIG2 := 'Cheif Executive Officer';
create one main frame and place all these felds in that frame nad printing property keep "LAST PAGE" and there is one property call "Page Protect" keep this property to YES.
then it will work...
Regards
-Ammad -
Please Let me know What is SAPHR System Table nuber ?
Hi,
All personnel administration tables start with PA and the infotype number behind it.
All personnel development/OM tables start with HRP and infotype (e.g. 1000) behind it.
All recruitment tables start with PB and infotype number behind it.
There also are HR tables that start with HRA, HPD, HRT, etc. The easy way to get a list is to use SAP's 'Application Hierarchy', transaction SE81 (select all HR modes in the tree that you are want a list of tables for, click on the 'Information System' button, under Abap Dictionary --> Basic Objs, double click on 'database tables', increase your 'maximun no. of hits' and execute).
Go to transaction se11...type in PA* do dropdown and enter, do the same for HRP* and you will have most of the HR transaparent Tables.
Transaction SE16 is also useful. As mentioned above, the PA infotype tables all begin with PA and are followed by the infotype number e.g. PA0001
PA* - PA infotype tables
PCL* - HR clusters
PB* - recruitment tables
PCERT - payroll posting runs
Another useful table is CATSDB for CATS, and PTEX2000 for the CATS transfer table for infotype 2001/2002.
Maybe you are looking for
-
Exported masters (RAW nefs) have been lost
Hi there, hoping you might be able to help. I use Aperture everyday to organise my photo workload as referenced files - storing the original RAW nefs in Pictures, I stress I am a basic user. After star rating a batch of approx. 500 photos I wanted to
-
How to add a field in the layout of cs11
Hi, i want to add a field in the layout of cs11, i tryed with user exits and badis as below but i am unable to find the solution . BOM_EXIT BOM_UPDATE CEWB_BOM_CUS_FIELDS (SCREEN ENHANCEMENT WITH BOM HEADER) CEWB_BOM_UPDATE CEWB_ITM_CUS_FIELDS (SCREE
-
Printing too light from imac - Canon MP210
Have recently bought the Canon MP210 connected it to my imac and the printing is too light, except for iphoto's. Any ideas?
-
HDR Tone Mapping in Action?
Hi - and thanks in advance for any insight you may be able to offer - Photoshop CS5 V12.0.2, Mac 10.6.6, trying to create an action to batch process a time lapse sequence. When I include HDR tone mapping as part of that action, even with using a pres
-
Session Expired Problem on OAS
Hi, I often got the error message "Session Expired" displayed on my HTML page that serves Java Servlet output after some time. I attempted to look through my Servlet source codes but it has no problem. In fact, it runs perfectly well on JavaWebServer