Employee Pay block
Dear Experts,
Client would like to block the one or 2 employee numbers,they are going to abscond.
If i block them ,again if i want to open then is it possible?
Pls explain me clearly.
How can i block that particular employee numbers?
u cannot order by on a non database items in the forms, assuming that ur using sql in post-query to retrieve the last_name , then use order by in post query.
setting block property order by clause is associated with database block items.
u can make last_name the database item and others non database and retrieve in post-query. u can also create a joined view and base ur block on that view .
third u can make it all non database and then query ursself with order by and insert the records in the form.
hope any of it works for u .
Similar Messages
-
Branched from Former customer's access to online bill pay blocked - no way to pay last bill - Brilliant Verizon!
It is a brilliant move on Verizon's part - brilliant if the never want a customer to return. I've been a loyal customer for many years, but when I switched, not only was the guy I had given lots of sales over the years to in the mall a jerk to me when I asked for my account number, but when I tried to get a copy of my disconnected bill, it won't let you access it. Yes, you can, if you can find your flipping account number, pay your disconnected bill online. However, you will never find a copy of your bill. Why? Verizon wants to punish leaving customers so they can't get their ETF's paid by another company. This reminds me of the horrible AT&T days where they got so big they started treating everybody like crap. Blockbuster did the same thing. It will come back to haunt Verizon as everybody I know is fleeing their service. I give them credit, their phone service is superior in quality, but I will never go back because of the way I've been treated as I try to leave for a better deal since I am having financial difficulties this year. I might would have come back but not now. On top of that, they have a trick where they won't port out one number of the set you are trying to port. When you finally get through on the line to get it shut off, they tell you they can't turn it off until the next billing cycle. So though I shut off all the phones but one - one week into the billing cycle, I got charged for ALL 5 phones for the entire month. This because they insisted they couldn't shut off that final $20 per month phone. After three dropped calls that took me 20 minutes each to get through to a live person, they then told me they could have shut it off and their employee told me wrong. They said they'd send it for "Review" after which - you guessed it - I'm supposed to "Call back" - an act of God and congress and taking a day off work so I can keep trying and keep sitting on hold forever later.... I'll let you know what happens. I'm telling everyone I know, like I did with AT&T to NEVER do business with them. They used to be great, until they got big. So if anybody finds some way to get their final bill, I'd love to know because I've spent hours on the phone and online trying.
Message was edited by: Admin ModeratorDid you not get the final copy of the bill in the mail via United States Postal Service?
What about older bills? Did you keep any paper copies? Download a PDF copy of the electronic bill at some point? -
Printing Employee Pay Slip using HRFORMS
Hello Experts,
I am working on a smartform for printing employee pay slips/remuneration statments using HRFORMS config.
I am trying to print the payslip checks using this and in the smartform, I have a problem with printing the check footer data using MICR font.
I read the Note 94233 - Support of MICR font. I have both MICR_C 10.0 Point Bold=Off, Italic=Off
MICR_E 10.0 Point Bold=Off, Italic=Off configured, and it does not work. I also have the required setting for the output device in SPAD.
While I try to print C &bank number&C A&bank_account_number&A, it literally prints C and A instead of the special MICR characters for C and A.
Anybody came across any such problem before and found any solution to this?
I appreciate if you can reply with your solution, will realy appreciate it.
PS: I am using Smartforms for printing the forms here.
Thanks in advance.
Shivani.
Edited by: Rob Burbank on Sep 22, 2009 4:03 PMHi,
The problem is resolved .
Regards,
Tanuja -
US Payroll -Employee Pay-Checks and its impact on G/L accts
Hi Experts,
I am faced with a dilemma with this issue. It will be great if you can let me know on how to go about this issue:
US - Two employee pay checks dated in December of 2008 were voided in January 2009. Not only is this reflected in the 2008 state tax withholding data, which it should be, but it is also subtracting from the G/L and the payroll reconciliation reports for 1st Qtr 2009. This should not happen.
The W-2 reports are correct.
This is also affecting the unemployment reporting for these states as well.
Thanks And Regards,
Somdeb Banerjee.No response yet. Hence closing this thread.
Regards,
Somdeb. -
Operations dispatch and employee capacity blocking
Hi Gurus,
I have some simple requirement on employee scheduling.
Step 1: Create work center for production and assign employees to the same. Employees are from HR with schedule maintained (daily schedule, leave etc) in HR infotype. Capacity should be considered of employees.
Step 2: Production order is created.
Step 3: Check the graphical planning screen (CM30) and based on the employee availability drag n drop the operations of the order.
Requirement:
1. I do not want the automatic scheduling to happen.
2. The operations have to be dispatched and the earliest start date, time, end date, time should get updated after we assign the employees using transaction code CM30.
3. The employees capacity has to be blocked once the operations have been dispatched.
How:
1. How do we achieve this?
2. What should be the work center category ...should it be 0003 - labor?
3. How to dispatch the operations?
4. In which SAP table can we find the link of employees capacity? We want to see employee wise time schedule during which he is blocked and when he is free.
I know there are many questions.. But please help me out.
Regards,
SmartHi,
You can refer the link : PP - Work Centers - SAP Library, which explains linking logistics with different objects in HR.
The below links also could be of help:
Transferring Data from SAP Logistics - Personnel Time Management (PT) - SAP Library
Work Center Integration - ALE/EDI Business Processes - SAP Library
Thanks
Prem -
Blocking user access if employee is inactive
Hi All
We are planning to have HR-CRM integration, whereby employees will be downloaded in CRM as in BP Role='employee".
These employees will also have their user ids, which will enable their access to CRM application.
Now if an employee is terminated in HR (becomes inactive), then with the Idoc flow the BP Role="employee" is deleted from the employee BP in CRM.
I have observed that even if employee becomes inactive in HR and its BP Role="employee" is deleted from the BP in CRM, its SU01 user id (in CRM) remains active.
My question is that with the above mentioned trigger, how will the user id (SU01) of employee be blocked so that employee is unable to access the CRM application. What is the best practice around it ?
Any thoughts around this will be awarded with suitable points.
Thanks & Regards
VishalThanks Ashish and Jushan for sparing your valuable time. However I think I could not communicate my query properly so let me rephrase it.
See, even I know how to block the SU01 user either by removing roles, making it inactive etc.
But my question is that what is the best practice around the communication process between the HR and CRM admins ?
"If an employee becomes inactive, then is it expected that HR team will communicate to CRM administrator thru mails etc. to block the CRM account ?"
I was assuming that in "ideal" scenario, if an employee becomes inactive in HR and its BP role="employee" gets deleted in CRM, then there should be some automated process to block the CRM user id so to restrict the employee access to CRM application.
However it does not happen presently. My question to the forum is that how have you guys have handled the process around it ?
Does HR guys put email to CRM admins to block the account ? Does HR has written some sort of actions/workflows to trigger mails to CRM admins to block the account? -OR- is there is some automated way to block the account immediately, once an employee becomes inactive in HR. -OR- any other process ?
Thanks & Regards
Vishal -
Pay structure consistency across employee, position, job
Hi
I want to create an ad-hoc report with employee pay structure (pay type, area, group, level) on IT 0008 and their position pay structure on IT 1005 and job pay structure on IT 1005.
Any suggestions will be highly appreciated.
ManishI do not think an Ad-Hoc query will work. You can assign only one ldb to a query and you need data from PA (ldp - pnp) and OM( ldb=pch)
You will need to write an abap report for this requirement. to the best of my knowledge and belief.
If you want to create a query, then another way would be to create a PNP based infoset, and add some additional fields in 0001 of your own, and for these additional fields put some abap code of your own to retrieve planned compensation details from position and job.
Edited by: Harish T K on Jan 18, 2011 4:28 PM -
Employee details in SAP ABAP Hr
hi folks,
do any one hav done Report -Employee details in SAP ABAP Hr.check this code
* INFOTYPES *
INFOTYPES : 0000, " Actions
0001, " Organizaiton Assignment
0002, " Personnel Data
0008, " Basic Pay
0022, " Education
0025, " Appraisals
0077, " Additional Personal Data
2001, " Absences
9002, " Additional Personal Data
9545, " Discipline data
0000 NAME INT_PROM,
0000 NAME INT_CHGPY,
0302.
* INCLUDES *
* TABLES *
TABLES : PERNR.
* CONSTANTS *
CONSTANTS : C_ONE TYPE CHAR1 VALUE '1',
C_EARLY TYPE CHAR1 VALUE 'E',
C_NEW TYPE CHAR1 VALUE 'N',
C_EARLYDT TYPE SY-DATUM VALUE '20000501',
C_JAN TYPE CHAR2 VALUE '01',
C_FEB TYPE CHAR2 VALUE '02',
C_MAR TYPE CHAR2 VALUE '03',
C_AWL TYPE CHAR3 VALUE 'AWL',
C_LWP TYPE CHAR3 VALUE 'LWP'.
* TYPES *
TYPE-POOLS: SLIS. " ALV Type Pool
TYPES :
BEGIN OF T_DISCACT,
PERNR TYPE CHAR8,
COMM1 TYPE CHAR1,
DESCRI TYPE CHAR40,
COMM2 TYPE CHAR1,
MDATE TYPE CHAR10,
END OF T_DISCACT,
BEGIN OF T_INCRE,
PERNR TYPE CHAR8,
INCR1 TYPE CHAR10,
INCR2 TYPE CHAR10,
INCR3 TYPE CHAR10,
END OF T_INCRE,
BEGIN OF T_OUTPUT,
PERNR TYPE CHAR8,
NAME TYPE CHAR40,
DESIG TYPE CHAR40,
PESUB TYPE CHAR15,
ORGUN TYPE CHAR40,
COSTC TYPE CHAR20,
ETHIC TYPE CHAR2,
CPCODE TYPE ZCCODE,
GRADE TYPE CHAR8,
*** TYPE CHAR6,
DOB TYPE CHAR10,
DOJ TYPE CHAR10,
QUAL1 TYPE CHAR30,
QUAL2 TYPE CHAR30,
QUAL3 TYPE CHAR30,
QUAL4 TYPE CHAR30,
QUAL5 TYPE CHAR30,
LPROM TYPE CHAR10,
PROMD TYPE CHAR10,
PROMT TYPE CHAR1,
NOYRS TYPE CHAR2,
AWL TYPE CHAR9,
LWP TYPE CHAR9,
APPR1 TYPE CHAR9,
APPR2 TYPE CHAR9,
APPR3 TYPE CHAR9,
APPR4 TYPE CHAR9,
APPR5 TYPE CHAR9,
DISCI TYPE CHAR57,
END OF T_OUTPUT.
DATA : W_OUTPUT TYPE T_OUTPUT.
TYPES : BEGIN OF T_FILE.
INCLUDE STRUCTURE W_OUTPUT.
TYPES : INCR1 TYPE CHAR10,
INCR2 TYPE CHAR10,
INCR3 TYPE CHAR10,
END OF T_FILE.
DATA : W_FILE TYPE T_FILE.
TYPES : BEGIN OF T_EXCEL.
INCLUDE STRUCTURE W_FILE.
TYPES : END OF T_EXCEL.
* INTERNAL TABLES *
DATA : INT_NONEXE TYPE STANDARD TABLE OF ZHRT007 WITH HEADER LINE,
INT_OUTPUT TYPE STANDARD TABLE OF T_OUTPUT WITH HEADER LINE,
INT_DISCACT TYPE STANDARD TABLE OF T_DISCACT WITH HEADER LINE,
INT_QUALFI TYPE STANDARD TABLE OF T518B WITH HEADER LINE,
INT_INCRE TYPE STANDARD TABLE OF T_INCRE WITH HEADER LINE,
INT_DISCIP TYPE STANDARD TABLE OF ZHRT004 WITH HEADER LINE,
INT_PESUB TYPE STANDARD TABLE OF T001P WITH HEADER LINE,
INT_COSTC TYPE STANDARD TABLE OF CSKT WITH HEADER LINE,
INT_EXCEL TYPE STANDARD TABLE OF T_EXCEL WITH HEADER LINE,
EVENT TYPE SLIS_T_EVENT WITH HEADER LINE,
LISTHEAD TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
* VARIABLES *
DATA : W_HIREDATE TYPE BEGDA,
W_WAGEGRP TYPE TRFGR,
W_CPCODE TYPE ZCCODE,
W_CAREERCD TYPE CHAR6,
W_PROMTYPE TYPE ZTSTYPE,
W_NOOFYRS TYPE ZNOYRS,
W_LASTPROM TYPE CHAR10,
W_PROMDATE TYPE BEGDA,
W_YEAR TYPE CHAR4,
W_APYEAR TYPE CHAR4,
W_APPRST TYPE SY-DATUM,
W_DISDATE TYPE ENDDA,
W_APPREND TYPE ENDDA,
W_ABSST TYPE ENDDA,
W_ABSEND TYPE ENDDA,
W_ABSYR TYPE CHAR4,
W_MONTH(2) TYPE N,
W_AWL TYPE CHAR9,
W_LWP TYPE CHAR9,
W_DISCI TYPE T_OUTPUT-DISCI,
W_ONE(2) TYPE N VALUE '01',
W_CURDATE TYPE CHAR10,
W_HEADING TYPE LVC_TITLE.
* SELECTION SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK FRM1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
S_WAGRP FOR P0008-TRFGR OBLIGATORY,
S_FROM FOR P0000-BEGDA OBLIGATORY NO-EXTENSION.
SELECTION-SCREEN END OF BLOCK FRM1.
* Selection screen serach help for wage groups.
INCLUDE : ZHRI0003.
* AT SELECTION SCREEN *
* START OF SELECTION *
START-OF-SELECTION.
PERFORM PU_EXEUTIVES_PROM.
IF S_FROM-HIGH IS INITIAL.
S_FROM-HIGH = SY-DATUM.
ENDIF.
*Fetching employee data for all infotypes.
GET PERNR.
PERFORM PU_DATA_RETRIEVAL.
* START OF SELECTION *
END-OF-SELECTION.
PERFORM PU_FINAL_TABLE.
PERFORM PU_GRID_DISPLAY.
PERFORM PU_FREE_TABLES.
* SUBROUTINES *
*& Form PU_DATA_RETRIEVAL
FORM PU_DATA_RETRIEVAL .
* To find out date of join for employee
PERFORM PU_DATA_OF_JOIN.
* Employee Personnel data
RP_PROVIDE_FROM_LAST P0002 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND NE C_ONE.
REJECT.
ENDIF.
* Employee Name into output table
INT_OUTPUT-NAME = P0002-VORNA.
* INT_OUTPUT-DOB = P0002-GBDAT.
PERFORM PU_DATE_CONVERSION USING P0002-GBDAT
CHANGING INT_OUTPUT-DOB.
IF P0002-GESCH EQ 1.
INT_OUTPUT-*** = 'Male'.
ELSE.
INT_OUTPUT-*** = 'Female'.
ENDIF.
* Fetching employees from employee sub goup of Non Executive
RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND NE C_ONE.
REJECT.
ENDIF.
IF P0001-PERSK EQ '30' OR P0001-PERSK EQ '20'.
* Position for employee into output table
PERFORM PU_POSTION_TEXT.
ELSE.
REJECT.
ENDIF.
* Position for employee into output table
PERFORM PU_POSTION_TEXT.
* Persoonel Sub Area text .
READ TABLE INT_PESUB WITH KEY WERKS = P0001-WERKS
BTRTL = P0001-BTRTL.
IF SY-SUBRC EQ 0.
INT_OUTPUT-PESUB = INT_PESUB-BTEXT.
ENDIF.
READ TABLE INT_COSTC WITH KEY KOSTL = P0001-KOSTL.
IF SY-SUBRC EQ 0.
INT_OUTPUT-COSTC = INT_COSTC-KTEXT.
ENDIF.
* Fetching employees from Additional Personal Data
RP_PROVIDE_FROM_LAST P0077 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND EQ C_ONE.
* Ethnic origin of employee into output table
INT_OUTPUT-ETHIC = P0077-RACKY.
ENDIF.
* Selecting data from basic pay last record with wage group
RP_PROVIDE_FROM_LAST P0008 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND NE C_ONE.
REJECT.
ELSE.
W_WAGEGRP = P0008-TRFGR.
* Employee Pay Scale Group into output table
INT_OUTPUT-GRADE = P0008-TRFGR.
ENDIF.
* Selecting data from Education with wage group
SORT P0022 BY BEGDA.
PROVIDE * FROM P0022 BETWEEN PN-BEGDA AND PN-ENDDA.
IF SY-TABIX EQ 1.
READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
IF SY-SUBRC EQ 0.
INT_OUTPUT-QUAL1 = INT_QUALFI-ATEXT.
ENDIF.
ELSEIF SY-TABIX EQ 2.
READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
IF SY-SUBRC EQ 0.
INT_OUTPUT-QUAL2 = INT_QUALFI-ATEXT.
ENDIF.
ELSEIF SY-TABIX EQ 3.
READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
IF SY-SUBRC EQ 0.
INT_OUTPUT-QUAL3 = INT_QUALFI-ATEXT.
ENDIF.
ELSEIF SY-TABIX EQ 4.
READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
IF SY-SUBRC EQ 0.
INT_OUTPUT-QUAL4 = INT_QUALFI-ATEXT.
ENDIF.
ELSEIF SY-TABIX EQ 5.
READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
IF SY-SUBRC EQ 0.
INT_OUTPUT-QUAL5 = INT_QUALFI-ATEXT.
ENDIF.
ENDIF.
ENDPROVIDE.
* Carrer path code for employee from Additional Personal Data.
RP_PROVIDE_FROM_LAST P9002 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND EQ C_ONE.
W_CPCODE = P9002-CPCODE.
INT_OUTPUT-CPCODE = P9002-CPCODE.
IF W_CPCODE EQ '001'.
IF W_HIREDATE < C_EARLYDT.
CONCATENATE W_CPCODE
C_EARLY
INTO W_CAREERCD.
ELSE.
CONCATENATE W_CPCODE
C_NEW
INTO W_CAREERCD.
ENDIF.
ELSE.
W_CAREERCD = W_CPCODE.
ENDIF.
ENDIF.
* Detrmine Promotion by Test/Service
READ TABLE INT_NONEXE WITH KEY CPCODE = W_CAREERCD
WAGEGROUP = W_WAGEGRP.
IF SY-SUBRC EQ 0.
W_PROMTYPE = INT_NONEXE-TSTYPE.
W_NOOFYRS = INT_NONEXE-NOYRS.
INT_OUTPUT-PROMT = W_PROMTYPE.
INT_OUTPUT-NOYRS = W_NOOFYRS.
ENDIF.
* Retriving last promotion date from actions
DELETE INT_PROM WHERE MASSN NE 'B3'.
SORT INT_PROM BY BEGDA DESCENDING.
* RP_PROVIDE_FROM_LAST INT_PROM SPACE PN-BEGDA PN-ENDDA.
READ TABLE INT_PROM INDEX 1.
IF SY-SUBRC EQ 0 AND INT_PROM-MASSN EQ 'B3'.
PERFORM PU_DATE_CONVERSION USING INT_PROM-BEGDA
CHANGING W_LASTPROM.
ELSE.
PERFORM PU_DATE_CONVERSION USING W_HIREDATE
CHANGING W_LASTPROM.
ENDIF.
* As there is no ending date for records which happen on same date
* for cross check to get last promotion Infotype 0302' is retived
IF P0302[] IS NOT INITIAL.
DELETE P0302 WHERE MASSN NE 'B3'.
SORT P0302 BY BEGDA DESCENDING.
READ TABLE P0302 INDEX 1.
IF SY-SUBRC EQ 0 AND
INT_PROM-BEGDA IS NOT INITIAL.
IF INT_PROM-BEGDA < P0302-BEGDA.
PERFORM PU_DATE_CONVERSION USING P0302-BEGDA
CHANGING W_LASTPROM.
ENDIF.
ENDIF.
ENDIF.
IF W_LASTPROM+0(2) GT '01'.
W_LASTPROM+0(2) = '01'.
W_ONE = W_LASTPROM+3(2) + 1.
W_LASTPROM+3(2) = W_ONE.
ENDIF.
* Last promaotion date for Employee into output table
INT_OUTPUT-LPROM = W_LASTPROM.
* To Find out promotion due date for employee.
* Fetching service availabilty data
W_YEAR = W_LASTPROM+6(4).
W_YEAR = W_YEAR + W_NOOFYRS.
CONCATENATE W_YEAR
W_LASTPROM+3(2)
W_LASTPROM+0(2)
INTO W_PROMDATE.
* Check promotion duedate is with in input range.
IF S_FROM-LOW IS NOT INITIAL.
CHECK W_PROMDATE GE S_FROM-LOW.
ENDIF.
IF S_FROM-HIGH IS NOT INITIAL.
CHECK W_PROMDATE LE S_FROM-HIGH.
ENDIF.
* Promaotion due date for Employee into output table
PERFORM PU_DATE_CONVERSION USING W_PROMDATE
CHANGING INT_OUTPUT-PROMD.
* Apprisal rating data.
* If promotion month is JAN,FEB,MAR deduct 6 years
IF W_PROMDATE+4(2) EQ C_JAN OR
W_PROMDATE+4(2) EQ C_FEB OR
W_PROMDATE+4(2) EQ C_MAR.
CLEAR W_YEAR.
W_YEAR = W_PROMDATE+0(4).
W_APYEAR = W_YEAR - 1.
W_YEAR = W_YEAR - 6.
ELSE.
* If promotion month is not JAN,FEB,MAR deduct 5 years
W_YEAR = W_PROMDATE+0(4).
W_APYEAR = W_YEAR.
W_YEAR = W_YEAR - 5.
ENDIF.
CONCATENATE W_YEAR
'0401'
INTO W_APPRST.
CONCATENATE W_APYEAR
'0331'
INTO W_APPREND.
DELETE P0025 WHERE BEGDA LT W_APPRST
OR BEGDA GT W_APPREND.
PROVIDE * FROM P0025 BETWEEN PN-BEGDA AND PN-ENDDA.
IF SY-TABIX EQ 1.
INT_OUTPUT-APPR1 = P0025-KSU01.
ELSEIF SY-TABIX EQ 2.
INT_OUTPUT-APPR2 = P0025-KSU01.
ELSEIF SY-TABIX EQ 3.
INT_OUTPUT-APPR3 = P0025-KSU01.
ELSEIF SY-TABIX EQ 4.
INT_OUTPUT-APPR4 = P0025-KSU01.
ELSEIF SY-TABIX EQ 5.
INT_OUTPUT-APPR5 = P0025-KSU01.
ENDIF.
ENDPROVIDE.
* Absence data.
IF W_PROMDATE+4(2) EQ C_JAN.
CLEAR W_YEAR.
W_YEAR = W_PROMDATE+0(4).
W_ABSYR = W_YEAR - 1.
W_MONTH = '11'.
W_YEAR = W_YEAR - 2.
ELSE.
* If promotion month is not JAN,FEB,MAR deduct 5 years
W_YEAR = W_PROMDATE+0(4).
W_ABSYR = W_YEAR.
W_MONTH = W_PROMDATE+4(2).
W_MONTH = W_MONTH - 01.
W_YEAR = W_YEAR - 1.
ENDIF.
CONCATENATE W_YEAR
W_MONTH
'23'
INTO W_ABSST.
CONCATENATE W_ABSYR
W_MONTH
'22'
INTO W_ABSEND.
SORT P2001 BY BEGDA.
DELETE P2001 WHERE ( AWART NE C_AWL AND
AWART NE C_LWP ) OR
( BEGDA LT W_ABSST
OR BEGDA GT W_ABSEND ).
PROVIDE * FROM P2001 BETWEEN PN-BEGDA AND PN-ENDDA.
IF P2001-AWART EQ C_AWL.
W_AWL = W_AWL + P2001-ABWTG.
ELSEIF P2001-AWART EQ C_LWP.
W_LWP = W_LWP + P2001-ABWTG.
ENDIF.
ENDPROVIDE.
INT_OUTPUT-AWL = W_AWL.
INT_OUTPUT-LWP = W_LWP.
* Increments dates' data.
DELETE INT_CHGPY WHERE MASSN NE 'B7'.
SORT INT_CHGPY BY BEGDA DESCENDING.
IF INT_CHGPY[] IS NOT INITIAL.
INT_INCRE-PERNR = INT_CHGPY-PERNR.
PROVIDE * FROM INT_CHGPY BETWEEN PN-BEGDA
AND PN-ENDDA.
IF SY-TABIX EQ 1.
PERFORM PU_DATE_CONVERSION USING INT_CHGPY-BEGDA
CHANGING INT_INCRE-INCR1.
ELSEIF SY-TABIX EQ 2.
PERFORM PU_DATE_CONVERSION USING INT_CHGPY-BEGDA
CHANGING INT_INCRE-INCR2.
ELSEIF SY-TABIX EQ 3.
PERFORM PU_DATE_CONVERSION USING INT_CHGPY-BEGDA
CHANGING INT_INCRE-INCR3.
ENDIF.
ENDPROVIDE.
APPEND INT_INCRE.
CLEAR INT_INCRE.
ENDIF.
* Disciplinary Actions.
CLEAR W_YEAR.
W_YEAR = W_PROMDATE+0(4).
W_YEAR = W_YEAR - 3.
CONCATENATE W_YEAR
W_PROMDATE+4(4)
INTO W_DISDATE.
SORT P9545 BY MDATE.
DELETE P9545 WHERE MDATE LT W_DISDATE
OR MDATE GT W_PROMDATE.
PROVIDE * FROM P9545 BETWEEN PN-BEGDA
AND PN-ENDDA.
READ TABLE INT_DISCIP WITH KEY MCODE = P9545-MCODE.
IF SY-SUBRC EQ 0.
INT_DISCACT-PERNR = P9545-PERNR.
INT_DISCACT-DESCRI = INT_DISCIP-DESCRI.
PERFORM PU_DATE_CONVERSION USING P9545-MDATE
CHANGING INT_DISCACT-MDATE.
INT_DISCACT-COMM1 = ','.
INT_DISCACT-COMM2 = ','.
APPEND INT_DISCACT.
CLEAR INT_DISCACT.
ENDIF.
ENDPROVIDE.
APPEND INT_OUTPUT.
CLEAR INT_OUTPUT.
CLEAR : W_HIREDATE,W_WAGEGRP,W_CPCODE,W_CAREERCD,W_PROMTYPE,
W_NOOFYRS,W_LASTPROM,W_PROMDATE,W_YEAR,W_APYEAR,
W_APPRST,W_DISDATE,W_APPREND,W_ABSST,W_ABSEND,
W_ABSYR,W_MONTH,W_AWL,W_LWP,W_DISCI.
ENDFORM. " PU_DATA_RETRIEVAL
*& Form PU_DATA_OF_JOIN
FORM PU_DATA_OF_JOIN .
CLEAR INT_OUTPUT.
READ TABLE P0000 WITH KEY MASSN = 'B1'.
IF SY-SUBRC NE 0 OR P0000-STAT2 NE '3'.
REJECT.
ELSE.
* Personnel number into output table
INT_OUTPUT-PERNR = P0000-PERNR.
PERFORM PU_DATE_CONVERSION USING P0000-BEGDA
CHANGING INT_OUTPUT-DOJ.
W_HIREDATE = P0000-BEGDA.
ENDIF.
ENDFORM. " PU_DATA_OF_JOIN
*& Form PU_POSTION_TEXT
FORM PU_POSTION_TEXT .
DATA : S_OBJECT TYPE OBJEC_T,
PERNR_TAB TYPE HRQUERY_PERNR_T ,
SOBID_TAB TYPE HRQUERY_SOBID_T ,
WA_SOBID TYPE HRQUERY_SOBID,
WA_PERNR TYPE HRQUERY_PERNR,
WA_OBJECT TYPE OBJEC.
WA_PERNR-PERNR = P0001-PERNR.
APPEND WA_PERNR TO PERNR_TAB.
WA_SOBID-PLVAR = '01'.
WA_SOBID-OTYPE = P0001-OTYPE.
WA_SOBID-SOBID = P0001-PLANS.
APPEND WA_SOBID TO SOBID_TAB.
WA_SOBID-PLVAR = '01'.
WA_SOBID-OTYPE = 'O'.
WA_SOBID-SOBID = P0001-ORGEH.
APPEND WA_SOBID TO SOBID_TAB.
CALL FUNCTION 'HR_GET_TEXT_FOR_OBJECTS'
EXPORTING
BEGDA = PN-BEGDA
ENDDA = PN-ENDDA
IMPORTING
OBJEC_TAB = S_OBJECT
CHANGING
PERNR_TAB = PERNR_TAB
SOBID_TAB = SOBID_TAB
EXCEPTIONS
WRONG_DATES = 1
OTHERS = 2.
IF SY-SUBRC EQ 0.
LOOP AT S_OBJECT INTO WA_OBJECT.
IF WA_OBJECT-OTYPE EQ 'O'.
INT_OUTPUT-ORGUN = WA_OBJECT-STEXT.
ELSEIF WA_OBJECT-OTYPE EQ 'S'.
INT_OUTPUT-DESIG = WA_OBJECT-STEXT.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. " PU_POSTION_TEXT
*& Form PU_EXEUTIVES_PROM
FORM PU_EXEUTIVES_PROM .
SELECT * FROM ZHRT007 INTO TABLE INT_NONEXE.
SELECT * FROM ZHRT004 INTO TABLE INT_DISCIP.
SELECT * FROM T001P INTO TABLE INT_PESUB.
SELECT * FROM CSKT INTO TABLE INT_COSTC
WHERE SPRAS EQ SY-LANGU.
SELECT * FROM T518B INTO TABLE INT_QUALFI
WHERE LANGU EQ SY-LANGU.
ENDFORM. " PU_EXEUTIVES_PROM
*& Form PU_DATE_CONVERSION
FORM PU_DATE_CONVERSION USING INPUT_DATE TYPE SY-DATUM
CHANGING OUTPUT_DATE TYPE CHAR10.
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
EXPORTING
DATE_INTERNAL = INPUT_DATE
IMPORTING
DATE_EXTERNAL = OUTPUT_DATE
EXCEPTIONS
DATE_INTERNAL_IS_INVALID = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " PU_DATE_CONVERSION
*& Form PU_FINAL_TABLE
* Preparing final internal table for output to excel
FORM PU_FINAL_TABLE .
DATA : W_STR1(4) TYPE N,
W_STR2(4) TYPE N,
W_STR3(4) TYPE N,
W_EXSTR(4) TYPE N,
W_ORSTR(4) TYPE N,
W_INSTR(4) TYPE N,
W_ONSTR(4) TYPE N,
W_DISFLAG TYPE CHAR1,
W_INCFLAG TYPE CHAR1.
LOOP AT INT_OUTPUT.
MOVE-CORRESPONDING INT_OUTPUT TO INT_EXCEL.
LOOP AT INT_DISCACT WHERE PERNR = INT_OUTPUT-PERNR.
IF SY-TABIX EQ 1.
CONCATENATE INT_DISCACT-DESCRI
SPACE
INT_DISCACT-MDATE
INTO W_DISCI.
INT_EXCEL-DISCI = W_DISCI.
ELSE.
W_DISFLAG = 1.
ENDIF.
ENDLOOP.
LOOP AT INT_INCRE WHERE PERNR = INT_OUTPUT-PERNR.
INT_EXCEL-INCR1 = INT_INCRE-INCR1.
INT_EXCEL-INCR2 = INT_INCRE-INCR2.
INT_EXCEL-INCR3 = INT_INCRE-INCR3.
ENDLOOP.
APPEND INT_EXCEL.
CLEAR INT_EXCEL.
CLEAR : W_STR1,W_STR2,W_STR3.
IF W_DISFLAG EQ 1.
W_ORSTR = W_EXSTR.
LOOP AT INT_DISCACT WHERE PERNR = INT_OUTPUT-PERNR.
IF SY-TABIX NE 1.
CONCATENATE INT_DISCACT-DESCRI
SPACE
INT_DISCACT-MDATE
INTO W_DISCI.
INT_EXCEL-DISCI = W_DISCI.
APPEND INT_EXCEL.
CLEAR INT_EXCEL.
CLEAR : W_STR2,W_EXSTR.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDFORM. " PU_FINAL_TABLE
*& Form PU_GRID_DISPLAY
* text
* --> p1 text
* <-- p2 text
FORM PU_GRID_DISPLAY .
DATA W_GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
PERFORM F_FIELDCAT_INIT USING 'IT_HEADER' W_GT_FIELDCAT[].
IF INT_EXCEL[] IS NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
IT_FIELDCAT = W_GT_FIELDCAT[]
IT_EVENTS = EVENT[]
TABLES
T_OUTTAB = INT_EXCEL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
MESSAGE S011(ZHR).
LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM. " PU_GRID_DISPLAY
*& Form F_FIELDCAT_INIT
FORM F_FIELDCAT_INIT USING IT_TABLE
LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'PERNR'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 14.
LS_FIELDCAT-SELTEXT_L = 'Personnel Number'.
LS_FIELDCAT-FIX_COLUMN = 'X'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'NAME'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 30.
LS_FIELDCAT-SELTEXT_L = 'Name'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'DESIG'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 25.
LS_FIELDCAT-SELTEXT_L = 'Desigination'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'PESUB'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 16.
LS_FIELDCAT-SELTEXT_L = 'Personnel Sub Area'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'ORGUN'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 25.
LS_FIELDCAT-SELTEXT_L = 'Organization Unit'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'COSTC'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 14.
LS_FIELDCAT-SELTEXT_L = 'Cost Center'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'ETHIC'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 6.
LS_FIELDCAT-SELTEXT_L = 'Ethic'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CPCODE'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 7.
LS_FIELDCAT-SELTEXT_L = 'CPCode'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'GRADE'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 12.
LS_FIELDCAT-SELTEXT_L = 'Current Grade'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = '***'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 6.
LS_FIELDCAT-SELTEXT_L = 'Gender'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'DOB'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 11.
LS_FIELDCAT-SELTEXT_L = 'Date of Birth'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'DOJ'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 11.
LS_FIELDCAT-SELTEXT_L = 'Date of Join'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'QUAL1'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 13.
LS_FIELDCAT-SELTEXT_L = 'Qualification 1'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'QUAL2'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 13.
LS_FIELDCAT-SELTEXT_L = 'Qualification 2'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'QUAL3'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 13.
LS_FIELDCAT-SELTEXT_L = 'Qualification 3'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'QUAL4'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 13.
LS_FIELDCAT-SELTEXT_L = 'Qualification 4'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'QUAL5'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 13.
LS_FIELDCAT-SELTEXT_L = 'Qualification 5'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'LPROM'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 16.
LS_FIELDCAT-SELTEXT_L = 'Last Promotion Date'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'PROMD'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 16.
LS_FIELDCAT-SELTEXT_L = 'Promotion Due Date'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'PROMT'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 14.
LS_FIELDCAT-SELTEXT_L = 'Promotion Type'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'NOYRS'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Number of Years'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'AWL'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 22.
LS_FIELDCAT-SELTEXT_L = 'Absence Without Leave'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'LWP'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 22.
LS_FIELDCAT-SELTEXT_L = 'Leave Without Pay'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'APPR1'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Apprisal 1st'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'APPR2'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Apprisal 2nd'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'APPR3'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Apprisal 3rd'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'APPR4'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Apprisal 4th'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'APPR5'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = 'Apprisal 5th'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'DISCI'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 60.
LS_FIELDCAT-SELTEXT_L = 'Disciplinary Actions - Date'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'INCR1'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = '1st Increment'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'INCR2'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = '2nd Increment'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'INCR3'.
LS_FIELDCAT-TABNAME = INT_EXCEL.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-SELTEXT_L = '3rd Increment'.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
ENDFORM. " F_FIELDCAT_INIT
*& Form PU_FREE_TABLES
FORM PU_FREE_TABLES .
FREE : INT_NONEXE ,
INT_OUTPUT ,
INT_DISCACT ,
INT_QUALFI ,
INT_INCRE ,
INT_DISCIP ,
INT_PESUB ,
INT_COSTC ,
INT_EXCEL ,
EVENT ,
LISTHEAD .
ENDFORM. " PU_FREE_TABLES
reward points if helpful
Edited by: mohammed abdul hai on Jul 25, 2008 7:21 PM -
For each EMPLOYEE, the Concatenated DESCRIPTION of the employees.
for each EMPLOYEE (Table IN),
the Concatenated DESCRIPTION of the employees (Table OUT).
Table IN:
EMPLOYEE DESCRIPTION
Weiss "pay 3$"
Weiss "pay 1$"
Weiss "pay 4$"
De Haan "7$"
De Haan "8$"
Table OUT:
EMPLOYEE ALL_DESCRIPTION
Weiss "pay 3$pay 1$pay 4$"
De Haan "7$8$"
for each EMPLOYEE, the Concatenated DESCRIPTION of the employees.
How make from table IN -> table OUT?I don't know exactly what you mean by Table IN and Table OUT, but the next query will give you a clue:
SQL> create table table_in
2 as
3 select 'Weiss' employee, 'pay 3$' description from dual union all
4 select 'Weiss', 'pay 1$' from dual union all
5 select 'Weiss', 'pay 4$' from dual union all
6 select 'De Haan', '7$' from dual union all
7 select 'De Haan', '8$' from dual
8 /
Tabel is aangemaakt.
SQL> select employee
2 , d all_description
3 from ( select employee
4 , d
5 , rn
6 from table_in
7 model
8 partition by (employee)
9 dimension by (row_number() over (partition by employee order by null) rn)
10 measures (cast(description as varchar2(100)) d)
11 rules
12 ( d[any] order by rn desc = d[cv()] || d[cv()+1]
13 )
14 )
15 where rn = 1
16 /
EMPLOYE ALL_DESCRIPTION
Weiss pay 1$pay 3$pay 4$
De Haan 7$8$
2 rijen zijn geselecteerd.Regards,
Rob. -
Employee payroll program problems
I have done good so far but now im stuck and lost on how to take my program to the next step, kids got sick and i missed like a week of school so im behind. I am suppose to modify the Payroll Program so that it uses a class to store and retrieve the employee?s name, the hourly rate, and the number of hours worked. Use a constructor to initialize the employee information, and a method within that class to calculate the weekly pay. Once stop is entered as the employee name, the application should terminate. I am lost on the bold part..
here is what I have:
//Calculates weekly pay for an employee
import java.util.Scanner; // program uses class Scanner
public class BeemansPayroll
private double rate;
private double hours;
private String name;
//Used to save info
public BeemansPayroll(String Name, double PayRate, double Hours)
String name = Name;
double rate = PayRate;
double hours = Hours;
private static void Quit()
System.out.println("Thank You for using Beeman's Payroll");
System.exit(0);
// main method begins execution of Java application
public static void main(String args[])
// create Scanner to obtain input from command window
Scanner input = new Scanner(System.in);
String name = "";
do {
System.out.print("Enter Employee Name or stop to quit: ");
// prompt for name
name = input.next(); // get name
if (name.equals("stop"))
System.out.println("Thank You for using Beeman's Payroll");
Quit();
} //end if
else
double PayRate;
double Hours;
double Pay;
System.out.print("Please enter Employee payrate:$ "); // prompt
PayRate = input.nextDouble(); // read first number from user
while (PayRate <= 0)
System.out.println ("Invalid amount, Payrate must be positive");
System.out.print("Please enter valid payrate:$ ");
PayRate = input.nextDouble();
} //end if
System.out.print("Please enter Employee hours: "); // prompt
Hours = input.nextDouble(); // read second number from user
while (Hours <= 0)
System.out.println ("Invalid amount, Hours must be positive");
System.out.print("Please enter hours worked: ");
Hours = input.nextDouble();
} //end if
Pay = PayRate * Hours; // multiply numbers
System.out.printf("Employee Pay for the week %s, is $%.2f\n", name,
(PayRate * Hours)); // display product
} //end else
}while (!name.equals("stop"));
Quit();
} // end method main
} // end class Beeman's Payrolljohn774077 wrote:
Like I said, I am lost, with all that is going on I have done the reading 4 times , Then try reading a different source such as the Sun Java tutorials. They are excellent and there is no substitute to your reading and learning. We can help you debug an error in your code, but we are not a tutorial service nor a homework production service. Note also that we are all volunteers.
on top of kids getting sick and taking three algebra all at once. I advice you to not go on and on about this. This is not our problem and won't affect how or if someone helps you. If anything continued mention of this will turn many away who would otherwise help you.
How or where do I go about breaking it down?You are redeclaring the variables in your constructor, i.e.,:
String name = Name; // don't do thisDon't do this because you'll never change the class's name variable this way. Instead in the constructor do something like this for each variable:
name = Name;or
this.name = Name;Later you will need to read up on Java naming conventions.
As for creating the method, you should read up on method creation in your text book or tutorial. That'll give you a better explanation than we can, I think. -
Restrict removing payment block useridwise
Dear all
I have to restrict removing payment block like A,N,L userid wise in tcode:FB02.
For ex:
Fiuser1 should be authorisation of removing pay block of 'A' only
Fiuser2 should be authorisation of removing pay block of 'N' only
I have to test through screen variant,validation,parameter id,but it is not possible.Please other way solution me.
regds
sachinDear Sachin
Dont Consider Field Name.
Authorization Object and Field Name are different.
For Field there will be Authorization object.
Ask your BASIS Guy to give Authorizations as per your requirement that per User.
This will resolve your issue.
Regards
Venkat -
Info Req. On Pay Scale Area, Pay Scale Group,Pay Scale Level,Payscale Type
HI,
Could any body make me understand On Pay Scale Area, Pay Scale Group,Pay Scale Level,Payscale Type in breif.
Thanks In Advance
Irfan HussainAn Employee Pay scale structure consist of pay scale type, pay scale area, pay scale group & pay scale level.
Pay scale type mean what kind of your industry domain is for example is it a software industry, manufacturing or retail industry
pay scale area is geografical location
both pay scale type & area is defaulted by feature tariff.
pay scale group is basically customised by taking job evaluation & indirection evalution in consideration.
for example pay scale group can be manager ( generic job) in this again subdivision will be there which are called pay scale level. for example group manager and level 1 will get a salary package of 1...... amount.
by maintaing different level & group we can maintain pay scale of different employees in the organisation.
i hope this will help you. -
Is it possible to pay a POI in NA Payroll and generate W-2 for them ?
Here is the scenario:
The client makes and agreement with a physician approximately 12 months before the physician actually starts to work and they pay the prospective physician a sign on bonus at the time of signing. The client wants to produce a W-2 for the prospective physician.
So....can the client use the Person of Interest model (POI), give them a job record so that a tax record can be created, still leaving the physician as a POI (not employee), pay the bonus through NA Payroll and get a W-2 issued?
Now, why they want to produce a W-2 rather than a 1099 is a mystery to me but it is one of their business requirements.
Any help is greatly appreciated.Hello Frank,
I've added this to my table styleClass:
#{ (ControlBean.inicial eq 'true') ? 'style-1' : (ControlBean.project == 'false') ? 'style-4' : 'style-0'}
And i added a partialTrigger from my table to itself but i think it's not working 100% and i don't know why is that.
My logic is:
if (inicial == true) then the styleClass is style-1 since it colors the selected rows in green and the others in white
if (inicial == false and project == false) then the styleClass is style-4 since it colors the selected rows in white and the others in grey
else (inicial == false and project == true) then the styleClass is style-0 since it colors the selected rows in green and the others in grey
But whenever i clear my selections, i set the inicial to true and project to false and i get style-4 instead of style-0.
Can you help me with that?
Regards -
Smartform problem while printing the employee details
Hi,
I am creating a smartform to display the employee pay slips as the report.
the requirement is to display two employee's payslip on the single page.
Suppose:
1 ABC
2. XYZ
On the same page and so on...
How do i do it through smartform.... Any hint?Hi
there is an easy way to do that,
first u need to adapt the size of ur MAIN windows just for 2 registers, inside the MAIN a loop to the table with the data of employee and a template, so write the data there.
with that, the every 2 register the smartform will pass to another page.
It is everything on the MAIN windows,
Regards -
Maintaining Service Arrangement for Employees: Address type-ID not availabl
Hello,
I´m facing the following problem while implementing CRM Service via Best Practices for CRM V1.70:
Building Block Configuration Guide C26 CRM SERVICE:
Section 3.3.3 WFM Core Settings:
3.3.3.1 Maintaining Service Arrangements for Employee
Assignment Block u2018Service Arrangementsu2019:
In Assignment block Location there is no address type-ID u2018XXDEFAULTu2019 for adress source u2018Organizationu2019. Thus I receive the following error message: u2018Enter a valid address usage typeu2019. Address type-ID u2018XXDEFAULTu2019 is only available for adress source u2018Individualu2019.
What exactly do I have to do in order to make address type-ID u2018XXDEFAULTu2019 also available for adress source u2018Organizationu2019.
Thanks in advance.
Best regards,
AEVHi,
I am facing similar problem what did you do to resolve it.
Thanks in advance.
Rahul
Maybe you are looking for
-
RIM needs to look at the Playbook registration process and followon support
First, this post is NOT about the pros/cons of the Playbook. Second, it is NOT about the quality of support I received, which was very good. It's about the Playbook registration and the need for support during or right after that initial registration
-
How can I save individual merged records automatically in seperate folder?
I have several hundred records to pull in via a mailmerge. one record per page and one per document. I can do the merge fine, however at present it just keeps all of the records open until I save them which means I can only do these in batches else i
-
How do I change font size on the safari tool bar
How do I change font size on the safari tool bar
-
One of 3 Images missing in browser
Sorry, wrong forum I moved it General Discussion
-
Can't edit Applications tab in ipod touch settings
Maybe this questions should be in the ipod touch category i don't know. Here's my problem: I can't uncheck or check any boxes in the Applications settings tab. The box 'sync applications' is checked and in the scrolling menu all the boxes are checked