Plan hours in Project System
Hi SAP Gurus,
In project system as i can plan my cost, can i plan my hours?? If yes how?? where in SAP?
I am in service industry and my billing happen on hours..
Please help, its urgent
Pritam
Hello Smile,
Yes, You can plan your man hours in project many ways
1. Plan manhours in network activities using work centers
2. Plan manhours in network activities using workforce planning ( integration with HR Module)
3. In some companies, many departments work on a project and they plan manhours on cost centers and not on Project. In other words, many department provide services to projects.
Here I will assume that you want to plan manhours in Project without workforce planning.
The following are the pre requisite for planning man hours in project network activities.
1. Work center ( may be person or group of persons, machine or group of machines. Workcenter reflects skills and capacities in cost center)
2. Work or duration ( based on the calculation key either one is calculated)
3. Activity type ( Type of service)
Behind the screen,You have to have a cost center attached to the workcenter (CNR1/CNR2) and activity type. Combination of cost center and activity type will decide the rates. Use transaction KP26 to enter the rates.Activity prices are valid for a certain period of time only. They are entered for either months or a year.
The budget for the cost center should be used as a base to calculate the hourly rate for each activity type.
When you enter a work in the network activity, system calculates the costs for the manhours.
Eg: You create engineer as workcenter. He is asked to go to site and did installation of equipments.
Attach workcenter ABCD to network activity, activity type "Engineer" and work 100 hrs.
If the engineer rate is $50 per hour given in KP26.
Then the planned cost for manhours is 100 X $50 = $500
The same engineer can provide supervison service at your workshop. For that, his rate may be $20/hour. If you plan for supervison then the planned costs will be $200
FATMAN
Similar Messages
-
Planning Profile for Project System
Dear All,
In planning Profile (T Code OPSB) for Project System we can find RElem.f.billing plan ..field, in this field which cost element we have to assign wheather it is sales revenue or secondary cost element cat.31 or else..plz adives me..
Thanks and regardsMr. Sridhar,
Thanks for ur reply, here my querry is, i have types of sales revenues like domestic, export, industrial etc.. there is only option is there to maintain revenue cost element, so which revenue cost element i have to maintain in planning profile.
Regards
Ramesh -
SAP PS: Freeze of planned hours in project data
I have the request if it is possible to freeze project data (workcenters, Hours Planned, Hours Actual, Duration) at certain time points to Earlies Sch. date and/or Latest Sch.date.
Anyone who knows a functionallity like that?
/Hans Jørgen Bohlbrohi,
cj20n after saving some changing automatically.pl help me
How to freeze plan dates in sap ps
pl any screen shot
thk&rd
prasad -
Event for Cost Planning modification in Project System ( Cj40)
Hi gurus,
I'm unable to find a way to raise an event for the creation of cost plannning trought the CJ40. I've considered everything i know, from status change to exits/badi. Has anyone got similar requierements? ? I've seen some similar question in SDN, buy they are unaswered.
The only idea I have to create a document change from scratch, but i don't know if it it's possible.
Any suggestions.
Regards,
Jose Rovira Ayza
Barcelona, SpainI'm not an expert in the CJ40 transaction so there could be actually a standard solution. As far as your question is concerned, I will assume that change documents didn't work for you (transaction SWEC). If that is the case, have you considered implicit enhancement spots? If not, they could be an option. Basically, you find where the cost planning is saved. I'm talking about where the record is actually inserted into the database. It will typically be a function module. At the end of that function module, create an implicit enhancement implimentation. You need to check if the creation was successful and if so, create an event using function module SAP_WAPI_CREATE_EVENT. Just make sure you don't set the commit flag if the system is going to commit after the function module is called.
-
BAPI project systems actuals versus planned
Hello,
I am looking for a BAPI/Idoc for displaying planned versus actuals similar to report s_alr_87013532. I have looked everywhere but cannot find anything. Also checked in OPENPS if there where any BAPI's for getting the information, but also not.
Can anyone help me?
Kind regards,
NickHi
Try this
SAP Project System - A ready Reference ( Part 2 )
Thanks
S.Murali -
Version 999 Project System Plan Data Issue
I am using transaction CJ9B to copy the Project System related plan data i.e. plan data at the WBS element level from Version 10F, period 1 to 12 in year 2010 to version 999, period 1 to 12 in year 2010. The transaction CJ9B runs successfully in the update mode. But when report CJI4 is executed for version 999, period 1 to 12 in year 2010 then we do not find plan data in sync with version 10F.
I analysed this issue, had a meeting with end user and blanked out target version 999 using source version 9ZR for the year 2010. Then I again copied version 999 from version 10F. Still plan data in version 999 do not exist as they are in version 10F. I have checked the version 999 master data in transaction OKEV. Integrated Planning for SPL, COPA, cost center accounting and business process is active. COPY Allowed is also enabled. Version 999 is unlocked as well.
Hence I am not sure why the copy functionality is not working fine for version 999, period 1 to 12 in year 2010.
Can you please take a look and revert with your opinion so that this issue can be fixed ?
Thanks,
UmeshHi,
If you want to copy all the plan date from 10F to 999, then in Txn CJ9B
select the indicator reset and overwrite in target version and execute in test mode.
Regards, -
Cutover plan on Project systems
Hi Friends
Can any one help me to prepare Project systems cutover plan, if you have any cutover plan on Project systems could you please pass me to
harikrishna underscore sd at yahoo dot com
Our requirement is we are going to stop the existing client and we are creating a new client and will continue with the same. So how we should update the projects of various stages in the new client and how to close in the existing client.
Regards,
HariHi,
Plz refer this links it may help u.
http://sapdocs.info/2008/09/22/sap-go-live-strategy/
CUTOVER
http://www.sap-img.com/sap-implementation.htm
Cutovers
Different types of testing in a SAP Implementation project
Regards
Chandra -
Project Systems Business Content - Residual Order Plan
Hi all,
I a issue which I hope someone can help me with:
I am lodading data into cube 0PS_C08 and then into 0PS_C04 as per the BC. When I view the BC restricted key figure "residual order plan" i get nothing (blank).
I look in R/3 I have values for residual order plan. I have looked at the Help on SAP and they say there is some config that needs to be done in SPRO. I dont really understand what config needs to be done can someone help?
Many thanks,
LeoHi,
We are searching for project versions(project systems) business content :
Base tables :
VSAFVC_CN Version: Operation in order
VSAFVV_CN Version: Quantities/Dates/Values in order operation
VSAUFK_CN Version: Order master data
VSEBAN_CN Version: Purchase requisition
VSEBKN_CN Version: Purchase requisition account assignment
VSJEST_CN Version: Individual status per object
VSJSTO_CN Version: Information on status object
VSKBED_CN Version: Capacity requirement records
VSKBEZ_CN Version: Additional data for table KBED (ind. capacities)
VSKBKO_CN Version: Capacity requirements header for an order
VSKOPF Version: Header - general data for a version -
VSKPER_CN Version: Workforce Planning
VSMLST_CN Version: Milestone
VSNPTX_CN Version: PS texts (network)
VSPRHI_CN Version: WBS, edges (hierarchy pointer)
VSPROJ_CN Version: Project definition
VSPRPS_CN Version: WBS element (work breakdown struc. ele.) mast. data
VSPRTE_CN Version: Scheduling data for project item
VSPRTX_CN Version: PS texts (WBS)
VSPSTX_CN Version: PS texts (header)
VSRPSCO_CN Version: Cumulation table for project reporting
VSSTEU Version: Control table - one entry per version object -
I didn't find any relevent business content for above tables.
If anybody extracted these ,please let me know where and how they extracted.I will assign points.
Thank you,
GSR -
Where does Plan Version field store in SAP project system table?
Hi,
I would like to know where where does Plan Version field store in SAP project system table.
The plan version that I m refering is the Plan Version 1 in the menupath u201COn the Project Info System: Progress Analysis: Initial Screen, Choose Settings > Value display > Plan versionsu201D.
T-Code: CNE5
Thanks.hi,
try table TKA09
regards -
Project System: Plan Version
Anyone know how many plan version can I have in Project System for 1 project in same year?
Edited by: ytai on May 25, 2010 11:20 AMHi,
You can define up to 10 versions (0 to 9). Please, search basic SAP material on help.sap.com
Regards,
Eli -
Project system planned quantiy
Hi all
I maintain the unit cost price and quantity at general cost activity master data but problem is that the quantity is not show in any reports. please guide me. is this any configuration problem......
thanks
shabbirThis is related to project system activity(general cost activity) not controlling activity type.
i need report that show the plan quantity that maintain in ps activity master data .....
thanks -
Document number of Planned cost booked on Project system
Hi All,
I have a requirement wherein i need to find out the document number of the cost booked in Project and WBSE. Like for eg in Report S_ALR_87013532, there is planned cost.
also in the same report S_ALR_87013532, we have OVERALL VALUES and TOTAL OF YEARS. What is the difference between the two ?
Thanks in Advance
Regards,
AjayOverall is derived from the Overall values planned for the project (at the overall level) - look at config of your planning profile - transaction OPSB.
Total of Annual is the sum of the all annual values planned for the project.
To get the document number, you will need to go to the line items. To go there, select the WBS element or whichever level you want to drill down to and then goto menu Goto -> Line items. You will be given a list of line items available (actual, plan, etc...). Once you get in there, you should be able to select the "Document number" field from the available fields or click on the "Document" item to view the posting document. -
Overhead planning in Project System- Result Analysis
Hi .. I want to plann over head for project system. Please suggest me the procedure.
Hi .. I want to plann over head for project system. Please suggest me the procedure.
-
Problem in project system report ZPS_PROJSUMMARY
i am working with a report ZPS_PROJSUMMARY which extracts all project summary report.now problem is it is extracting las financila years (2006 ) closed WBS element also with this years WBS elements. this problem happening in production only. this is not coming in pre production.in pre production it is deleting all the previous years WBS using this subroutine perform process_delete_child using it_report-pspnr which is based on condition if l_status_fyear lt s_fyear-low.
i am giving the full code below:-
report zps_projsummary line-size 623
line-count 65
no standard page heading
message-id zfiwip.
Report Name: ZPS_PROJSUMMARY
Author: Rey Salvador (for NDC)
Date: 14.09.2001
Purpose: Project Summary Report (with Commitments)
Modifications Log
Mod Id Author Date References Purpose
M001 R.Salvador 19.10.01 THOR 2845 Add YTD Rev.Recognised
M002 R.Salvador 19.11.01 THOR 2978 Fix YTD Rev.Rec. Level 1
M003 R.Salvador 19.11.01 THOR 3050 Fix YTD Rev.Rec. Level 1
M004 R.Salvador 08.03.02 THOR 3222 Fix Include Closed WBS
M005 R.Salvador 17.05.02 THOR 3342 Fix issue with Profile
M006 C.Kontkanen 22.05.02 LOB Add ProjManager sel
M007 R.Salvador 19.06.02 LOB Incl. WIP/COGS Adjustments
M008 R.Salvador 26.07.02 THOR xxxx Add ProjOfficer
M009 R.Salvador 06.08.02 THOR 3508 Revenue Recognition Changes
M010 R.Salvador 29.11.02 THOR 3704 New Billing Reports
M011 R.Salvador 17.12.02 THOR 3646 Fix problem with statuses
M012 R.Salvador 20.01.03 THOR 3930 Add CP/SP/WO number
M013 R.Salvador 07.03.03 THOR 3953 Incorrect Status
M014 R.Salvador 15.04.03 THOR 4056 Fix Level 1 Calculation
M015 R.Salvador 01.05.03 THOR 4070 Fix Level 1 Calculation
M016 R.Salvador 17.06.03 THOR 4125 Fix Level 2 Calculation
M017 R.Salvador 03.09.03 THOR 4220 Change RevRec Calculation
M018 R.Salvador 25.09.03 THOR 4237 Fix WBS Selection
M019 R.Salvador 11.11.03 THOR 4297 Add SP number
M020 R.Salvador 16.01.04 THOR 4342 Fix Revenue Recognition
M021 R.Salvador 28.01.04 THOR 4344 Fix Revenue Recognition
M022 R.Salvador 11.02.04 THOR 4340 Fix Selection Criteria
Ta Tran 10.06.04 DI4K900626 Copied from NDC
M023 Maccha 29.08.05 DI2K921397 Honing the selection
Srinivas process for Director and
Manager criteria.
M024 M.Srinivas 20.09.05 DI2K921599 Rectifying the order level
- Partner profile
selections. Ref.
docket:203680869
M025 M.Srinivas 01.05.06 DI2K922837 Order level - Status
profile selections
rectification. PD:203960491
M026 Gaurav Dixit18.09.06 DI2K923361 Not to select the deleted
partners from IHPA table.
M027 SaiKiran Reddy07.06.07 DI2K923793 To Exclude Deleted partner
from IHPA table.
include zps_projsummcomd.
types: begin of ty_wbs_report2, "Reporting Table
Pdir(20), "Prog Dir
posid like prps-posid, "WBS Element
post1 like prps-post1, "Short Text
fkstl like prps-fkstl, "resp const centre
prart like prps-prart, "Proj Type
ZZORDERLEVEL(2), "order level
ZZACTTYP(6), "Activity type
sstatus like bsvx-sttxt, "system status
ustatus like bsvx-sttxt, "user status
ZZIMCINITIATIVE(24), "IMC initiative
ZZIMCPROGRAM(02), "IMC Program
ZZWORKCATEGORY(02), "Work Cat
ZZWPMANLOB(01), "LOB
ZZSOURCE(02), "Source
ZZPRIN(02), "Principal
ZZIMPLEMENTREG(01), "IMP Reg
ZZCONTRACTID(10), "Contract
ZZWPNUM(08), "WP No
ZZsPNUM(08), "SP No
ZZORDERNUM(04), "Order No
lead(20), "Prog Lead
Pmgr(20), "Prog Mgr
Poff(20), "Prog Officer
acthours type megxxx, "megXXX: 3decimal"Actual Hours
acthours type wkgxxx, "wkgXXX: 2decimal"Actual Hours
planhours type wkgxxx, "Planned Hours
PLANLABOUR type wkgxxx, "PLAN LABOUR
ACTLABOUR type wkgxxx, "ACTUAL LABOUR
planmatcosts type wkgxxx, "plan material costs
actmatcosts type wkgxxx, "actual material costs
plancosts type wkgxxx, "Planned COsts
actcosts type wkgxxx, "Actual Costs
prcommitment type wkgxxx, "PR Commitment
pocommitment type wkgxxx, "PO Commitment
totcommitment type wkgxxx, "Total Commitment
zzwip like prps-zzwip, "rev rec process
planrev type wkgxxx, "Planned Revenues
actrev type wkgxxx, "Actual Revenues
pcnt_comp(8) type p decimals 2, "% complete
acttotrevrec type wkgxxx, "Act.Rev.Rec m009
actytdrevrec type wkgxxx, "Act.Rev Rec m009
revrec type wkgxxx, "revenue Recognise
revrecytd type wkgxxx, "RevRec YTD M001
rev_collected like vbrp-netwr, "Collected Rev
end of ty_wbs_report2.
types: begin of ty_wbs_report, "Reporting Table
Pdir(20), "Prog Dir
posid like prps-posid, "WBS Element
post1 like prps-post1, "Short Text
fkstl like prps-fkstl, "resp const centre
prart like prps-prart, "Proj Type
ZZORDERLEVEL(2),
ZZACTTYP(6), "Activity type
sstatus like bsvx-sttxt, "system status
ustatus like bsvx-sttxt, "user status
ZZIMCINITIATIVE(24), "IMC initiative
ZZIMCPROGRAM(02), "IMC Program
ZZWORKCATEGORY(02), "Work Cat
ZZWPMANLOB(01), "LOB
ZZSOURCE(02), "Source
ZZPRIN(02), "Principal
ZZIMPLEMENTREG(01), "IMP Reg
ZZCONTRACTID(10), "Contract
ZZWPNUM(08), "WP No
ZZSPNUM(08), "SP No
ZZORDERNUM(04), "Order No
lead(20), "Prog Lead
Pmgr(20), "Prog Mgr
poff(20), "Prog Officer
acthours type wkgxxx, "Actual Hours
planhours type wkgxxx, "Planned Hours
PLANLABOUR type wkgxxx, "PLAN LABOUR
ACTLABOUR type wkgxxx, "ACTUAL LABOUR
planmatcosts type wkgxxx, "plan material costs
actmatcosts type wkgxxx, "actual material costs
plancosts type wkgxxx, "Planned COsts
actcosts type wkgxxx, "Actual Costs
prcommitment type wkgxxx, "PR Commitment
pocommitment type wkgxxx, "PO Commitment
totcommitment type wkgxxx, "Total Commitment
zzwip like prps-zzwip, "rev rec process
planrev type wkgxxx, "Planned Revenues
actrev type wkgxxx, "Actual Revenues
pcnt_comp(8) type p decimals 2, "% complete
acttotrevrec type wkgxxx, "Act.Rev.Rec m009
actytdrevrec type wkgxxx, "Act.Rev Rec m009
revrec type wkgxxx, "revenue Recognise
revrecytd type wkgxxx, "RevRec YTD M001
pspnr like prps-pspnr, "WBS Internal Key
postu like prps-postu, "Short Text
fakkz like prps-fakkz,
psphi like prps-psphi, "proj def
zzcust like prps-zzcustNUM, "Customer
zzcustnum like prps-zzcustnum, "Customer
kostl like prps-kostl, "Cost Centres
prsumm(1) type c, "Project Summary
actcostscfy type wkgxxx, "Current FY Costs
actrevcfy type wkgxxx, "Current FY Rev
rev_billed like vbrp-netwr, "Billed Revenue
gst_billed like vbrp-mwsbp, "Billed GST
rev_collected like vbrp-netwr, "Collected Rev
gst_collected like vbrp-mwsbp, "Collected GST
totbudget type wkgxxx, "Total Budget
verna like prps-verna, "PM m006
astna like prps-astna, "PO m006
totcogs type wkgxxx, "Total COGS m009
ytdcogs type wkgxxx, "YTD COGS m009
end of ty_wbs_report.
types: begin of ty_totals, "Structure for Sub-totals
actmatcosts type wkgxxx, "Actual material Costs
actcosts type wkgxxx, "Actual Costs Total
actrev type wkgxxx, "Actual Revenues Total
planmatcosts type wkgxxx, "plan material Costs
plancosts type wkgxxx, "Planned Costs
planrev type wkgxxx, "Planned Revenues
acthours type wkgxxx, "Actual Hours
planhours type wkgxxx, "Planned Hours
ACTLABOUR type wkgxxx, "ACTUAL LABOUR
PLANLABOUR type wkgxxx, "Planned LABOUR
revrec type wkgxxx, "Revenue Recognised
revrecytd type wkgxxx, "RevRec YTD M001
acttotrevrec type wkgxxx, "RevRec Actual M009
profit type wkgxxx, "Planned Profit/Loss
actcostscfy type wkgxxx, "Actual Costs Current FY
actrevcfy type wkgxxx, "Actual Revenues Current FY
rev_billed type wkgxxx, "Billed Revenue
gst_billed type wkgxxx, "Billed GST
rev_collected type wkgxxx, "Collected Rev
gst_collected type wkgxxx, "Collected GST
prcommitment type wkgxxx, "PR Commitment
pocommitment type wkgxxx, "PO Commitment
totcommitment type wkgxxx, "Total Commitment
totbudget type wkgxxx, "Total Budget
actytdrevrec TYPE wkgxxx,
end of ty_totals.
type-pools: gsetc.
tables: cepct.
data: it_wbs_report TYPE ty_wbs_report OCCURS 0 WITH HEADER LINE,
it_wbs_report2 TYPE ty_wbs_report2 OCCURS 0 WITH HEADER LINE,
wr_wbs_report type ty_wbs_report,
it_prctr type standard table of setlist,
it_stat(72) occurs 0 with header line,
et_stat(72) occurs 0 with header line,
begin of it_tj49 occurs 0,
stats like tj49-stats,
incex like tj49-incex,
verkz like tj49-verkz,
end of it_tj49,
begin of it_csla occurs 150,
vksta like csla-vksta,
end of it_csla,
w_stat_flg,
w_join(3),
w_not(3),
w_stat_val(7) value ''' ''',
W_LEAD(40),
W_PDIR(40),
W_PMGR(40),
w_poff(40),
w_tab like sy-tabix,
n like sy-index,
w_reporting_level(2) type c,
w_gtotal_text(500) type c,
w_other_level(1) type c,
w_budat like bkpf-budat, "m002
w_level like prps-stufe,
w_record_count(8) type n,
w_pspid_ind(1) type c, "m003
begin of ziheader,
w_strlen type i,
hdr_pos type p,
hold_name(30),
conf_txt(54) value
'* CONFIDENTIAL - PROPERTY OF BACCHUS *',
end of ziheader,
p_budat like bkpf-budat,
w_sel_posid like prps-posid,
Internal tables to hold set hierarchy, values, pointers and sorts
set_hierarchy like sethier occurs 0 with header line,
set_values like setvalues occurs 0 with header line,
set_id like rgsbs-setnr,
set_id2 like rgsbs-setnr,
w_setnr(30) type c,
w_set_values like rgsb4 occurs 0 with header line,
lt_objlst type standard table of onr00,
lr_objlst type onr00,
w_first type c.
Start of M011
data: it_wbs1 like it_wbs occurs 0.
data: it_wbs_tmpo like it_wbs occurs 0 with header line. "M024
data: begin of loc_wbs occurs 0.
include structure zco_wip_wbslst. "test '''
data: pdir(20),
zzacttyp(6),
ZZIMCINITIATIVE(24),
ZZIMCPROGRAM(02),
ZZWORKCATEGORY(02),
ZZWPMANLOB(01),
ZZSOURCE(02),
ZZPRIN(02),
ZZIMPLEMENTREG(01),
ZZCONTRACTID(10),
ZZWPNUM(08),
ZZSPNUM(08),
ZZORDERNUM(04),
PERNR(08),
PERNR2(08),
end of loc_wbs.
data: begin of it_report occurs 0,
posid like prps-posid,
pspnr like prps-pspnr,
end of it_report.
End of M011
data: begin of it_deleted occurs 0,
posid like prps-posid,
pspnr like prps-pspnr,
end of it_deleted.
data: begin of l_deleted occurs 0,
posid like prps-posid,
pspnr like prps-pspnr,
end of l_deleted.
data: w_year like bkpf-gjahr.
data: begin of t_date occurs 0,
w_budat like bkpf-budat,
poper like t_poper-poper,
end of t_date.
data: t_ihpa like ihpa occurs 0 with header line,
t_ihpa1 like ihpa occurs 0 with header line,
t_ihpa2 like ihpa occurs 0 with header line,
t_ihpa3 like ihpa occurs 0 with header line,
t_ihpa4 like ihpa occurs 0 with header line,
l_status(3),
w_PLANHOURS like it_wbs-PLANHOURS,
w_PLANREV like it_wbs-PLANREV,
w_PLANCOSTS like it_wbs-PLANCOSTS,
it_tmp_wbs3 type zco_proj_summary_v2 occurs 0 with header line,
W_it_wbs5 like it_wbs .
ranges: r_prctr for prps-prctr.
ranges: r_stufe for prps-stufe.
ranges: r_posid for prps-posid.
constants: c_crtd like tj49-stats value 'I0001'.
CONSTANTS: C_LEAD(2) VALUE '4A',
C_PDIR(2) VALUE '4B',
C_PMGR(2) VALUE 'A1',
C_Poff(2) VALUE 'A2',
c_pdn like ihpa-OBTYP value 'PDN',
c_prn like ihpa-OBTYP value 'PRN'. "M023
tables : pa0002.
---------------------Organisational Units------------------------*
selection-screen begin of block orgunit with frame title text-t06.
*WP/CP Managing LOB
select-options: S_ZWP for PRPS-ZZWPMANLOB MATCHCODE OBJECT ZZWPMANLOB.
*Implementing Region
select-options: S_ZIMP for PRPS-ZZIMPLEMENTREG MATCHCODE OBJECT
ZZIMPLEMENTREG.
*Cost center group
PARAMETERS: P_CTGRP LIKE RKSB1-KSGRU no-display.
*Responsible Cost Center
select-options: s_fkstl for prps-fkstl.
select-options: s_src for proj-zzsource MATCHCODE OBJECT ZzSOURCE.
select-options: s_prin for proj-zzprin MATCHCODE OBJECT ZzPRINCIPAL .
select-options: s_wcat for proj-zzworkcategory MATCHCODE OBJECT
ZZWORKCATEGORY.
select-options: s_wpcpt for proj-ZZTYPE MATCHCODE OBJECT ZzTYPE.
selection-screen end of block orgunit.
selection-screen begin of block periods with frame title text-t05.
selection-screen begin of line.
selection-screen comment 1(20) text-c04 for field p_kokrs.
selection-screen position pos_low.
parameters: p_kokrs type kokrs obligatory default 'TELC'.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(20) text-c01 for field s_fyear.
selection-screen position pos_low.
select-options: s_fyear for bkpf-gjahr obligatory no intervals
no-extension.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(20) text-c02 for field s_poper.
selection-screen position pos_low.
select-options: s_poper for T009B-poper obligatory no intervals
no-extension.
selection-screen end of line.
selection-screen begin of line.
selection-screen position pos_low.
selection-screen end of line.
data: p_incwip(1) type c value ' '.
selection-screen begin of line.
selection-screen comment 1(30) text-c25 for field p_calrev.
selection-screen position pos_low.
parameters: p_calrev radiobutton group 0001 default 'X'.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(30) text-c26 for field p_actrev.
selection-screen position pos_low.
parameters: p_actrev radiobutton group 0001.
selection-screen end of line.
End of M007 Mods
selection-screen end of block periods.
selection-screen begin of block psjsel with frame title text-t01.
*Program Leadhouse
select-options: s_plead for pa0002-pernr matchcode object ZPA0002.
*Project Director
select-options: s_pdir for pa0002-pernr matchcode object ZPA0002.
*Project Manager
select-options: s_pmgr for pa0002-pernr matchcode object ZPA0002.
*Project Profile
select-options: s_PROFL FOR PROJ-PROFL default 'EXTERN' obligatory.
*Project Definition
select-options: s_pspid for proj-pspid.
*WBS Element
select-options: s_posid for prps-posid.
selection-screen end of block psjsel.
selection-screen begin of block othersel with frame title text-t07.
parameters: p_lvl1 radiobutton group rplv,
p_lvl2 radiobutton group rplv,
p_wip radiobutton group rplv.
selection-screen begin of line.
selection-screen comment 1(20) text-c16 for field p_oth.
selection-screen position pos_low.
parameters: p_oth radiobutton group rplv.
selection-screen comment 40(20) text-c17 for field p_level.
parameters: p_level like prps-stufe.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(22) text-c22 for field p_incwbs.
selection-screen position 42.
parameters: p_incwbs as checkbox.
selection-screen end of line.
Start of M006 Mods
selection-screen begin of line.
selection-screen comment 1(41) text-c23 for field p_clwbs.
selection-screen position 42.
parameters: p_clwbs as checkbox default 'X'.
selection-screen end of line.
End of M006 Mods
parameters:
p_status like tj49-selid.
select-options:
s_prart for prps-prart.
selection-screen end of block othersel.
selection-screen begin of block outfile with frame title text-t11.
selection-screen begin of line.
selection-screen comment 1(20) text-c11 for field p_file.
selection-screen position pos_low.
parameters: p_file as checkbox.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(20) text-c13 for field p_runid.
selection-screen position pos_low.
parameters: p_runid like zcnwip_log-zrunid.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(20) text-c12 for field p_filenm.
selection-screen position pos_low.
parameters: p_filenm(40) type c default '/batch/int/send/ndcreports/'
lower case.
selection-screen end of line.
selection-screen end of block outfile.
initialization.
perform ini_fiscal_year_current.
Default year/period in the selection screen
s_fyear-sign = 'I'.
s_fyear-option = 'EQ'.
APPEND s_fyear.
s_poper-sign = 'I'.
s_poper-option = 'EQ'.
APPEND s_poper.
perform ini_file_path.
at selection-screen on block outfile.
if not p_file is initial.
if p_filenm is initial.
message e017.
endif.
if p_runid is initial.
message e017.
endif.
endif.
at selection-screen on p_status.
clear it_stat.
refresh it_stat.
if p_status is initial.
w_stat_flg = 'N'.
else.
w_stat_flg = 'Y'.
endif.
at selection-screen.
include ZCNWIPCOMF_V2.
if not p_actrev is initial.
move: w_curr_year to w_curr_fperiod+0(4),
w_curr_period to w_curr_fperiod+4(2),
s_fyear-low to w_sel_fperiod+0(4),
s_poper-low to w_sel_fperiod+4(2).
if w_sel_fperiod le '200212'. "temp
message e025.
endif.
if w_sel_fperiod ge w_curr_fperiod.
message e026.
endif.
endif.
Check if Other level check, specify level from 3-4
if not p_oth is initial and
p_level is initial.
message e021.
endif.
Validate File Information
if not p_file is initial.
if p_runid is initial or
p_filenm is initial.
message e014.
endif.
select count(*) from zcnwip_log
where zrunid eq p_runid
and zrep eq 'PROJCE'. " to be changed
if sy-subrc eq 0.
message w022 with p_runid.
endif.
endif.
if not p_ctgrp is initial and not s_FKSTL is initial.
message e087 with 'Cost Center Group' 'Responsible Cost Center'.
endif.
if not p_ctgrp is initial.
clear w_setnr.
move: '0101' to w_setnr+0(4),
P_KOKRS to w_setnr+4(4),
p_ctgrp to w_setnr+8.
call function 'G_SET_GET_ALL_VALUES'
EXPORTING
setnr = w_setnr
TABLES
set_values = w_set_values
EXCEPTIONS
set_not_found = 1
others = 2.
if sy-subrc eq 0.
loop at w_set_values.
if w_set_values-from = w_set_values-to.
S_FKSTL-low = w_set_values-from.
S_FKSTL-option = 'EQ'.
else.
S_FKSTL-low = w_set_values-from.
S_FKSTL-high = w_set_values-to.
S_FKSTL-option = 'BT'.
endif.
S_FKSTL-sign = 'I'.
append S_FKSTL.
endloop.
else.
message e201 with p_ctgrp.
endif.
endif.
start-of-selection.
data: w_poper like s_poper-low,
w_fyear like s_fyear-low.
w_poper = s_poper-low.
loop at s_poper.
case s_poper-option.
when 'EQ'.
move s_poper-low to t_poper.
append t_poper.
clear t_poper.
when 'BT'.
move s_poper-low to t_poper.
append t_poper.
clear t_poper.
while w_poper < s_poper-high.
w_poper = w_poper + 1.
move w_poper to t_poper.
append t_poper.
clear t_poper.
endwhile.
endcase.
endloop.
w_fyear = s_fyear-low.
loop at s_fyear.
case s_fyear-option.
when 'EQ'.
move s_fyear-low to t_fyear.
append t_fyear.
clear t_fyear.
when 'BT'.
move s_fyear-low to t_fyear.
append t_fyear.
clear t_fyear.
while w_fyear < s_fyear-high.
w_fyear = w_fyear + 1.
move w_fyear to t_fyear-fyear.
append t_fyear.
clear t_fyear.
endwhile.
endcase.
endloop.
sort t_fyear by fyear .
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
I_DATE = sy-datum
I_PERIV = 'V6'
IMPORTING
E_BUPER =
E_GJAHR = w_fyear.
w_fyear = s_fyear-low.
s_fyear-low = w_fyear.
Reset Indicator
if p_calrev is initial.
move 'X' to p_incwip.
else.
clear p_incwip.
endif.
loop at t_poper.
*get last day in each period of range
t_date-poper = t_poper-poper.
*------ Start of M002 modifications
*------ Determine last day of the posting period
call function 'LAST_DAY_IN_PERIOD_GET'
EXPORTING
i_gjahr = s_fyear-low
i_periv = tka01-lmona
i_poper = t_poper-poper
IMPORTING
e_date = t_date-w_budat.
append t_date.
clear t_date.
endloop.
*get last day of last period in previous fiscal years chosen
*016 = last period
delete t_fyear where fyear = w_fyear. "remove current fyear
loop at t_fyear.
call function 'LAST_DAY_IN_PERIOD_GET'
EXPORTING
i_gjahr = t_fyear-fyear
i_periv = 'V6'
i_poper = '016'
IMPORTING
e_date = t_date-w_budat.
t_date-poper = '016'.
append t_date.
clear t_date.
endloop.
*Get the Proj Def from WBS selct option and refresh wbs select option.
data: begin of l_psphi occurs 0,
POSID like prps-POSID,
pspid like prps-psphi,
end of l_psphi.
data: begin of l_pspid occurs 0,
pspid like proj-pspid,
end of l_pspid.
data: begin of i_proj occurs 0, "M023
pspnr like proj-pspnr, "M023
end of i_proj. "M023
data: begin of i_prps occurs 0, "M023
objnr like prps-objnr, "M023
end of i_prps. "M023
data: begin of i_psphi1 occurs 0, "M023
psphi like prps-psphi, "M023
end of i_psphi1. "M023
data: len_posid type i.
if not s_posid[] is initial.
select posid psphi into table l_psphi
from prps
where posid in s_posid.
if sy-subrc ne 0.
message i100.
exit.
endif.
if not l_psphi[] is initial.
sort l_psphi.
select pspid into table l_pspid
from proj
for all entries in l_psphi
where pspnr = l_psphi-pspid and
profl in s_profl.
if sy-subrc = 0.
delete adjacent duplicates from l_pspid.
loop at l_pspid.
s_pspid-sign = 'I'.
s_pspid-option = 'EQ'.
s_pspid-low = l_pspid-pspid.
append s_pspid.
clear s_pspid.
endloop.
else.
message i100.
exit.
endif.
endif.
clear s_posid.
refresh s_posid.
loop at l_psphi.
s_posid-sign = 'I'.
s_posid-option = 'CP'.
CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
EXPORTING
INPUT = l_psphi-posid
IMPORTING
OUTPUT = l_psphi-posid.
while l_psphi-posid ca '.'.
replace '.' with space into l_psphi-posid.
endwhile.
condense l_psphi-posid no-gaps.
concatenate l_psphi-posid '*' into s_posid-low.
append s_posid.
endloop.
endif.
*------ End of M002 modifications
----- Exclude the P. WBS elements, these are only used for
*----- intermediate postings and are not relevant for WIP, COGS,...
perform ini_posid_range.
perform ini_pspid_range.
if not s_pspid[] is initial.
*----- If projects are selected, then make sure we have the internal
*----- key to PROJ (ie, field PSPNR)
perform get_partners.
perform sos_prepare_proj_range.
if r_psphi[] is initial.
message i100.
exit.
endif.
endif.
*----- WBS ranges with "CP" (Contains Pattern) entries need
*----- to be condensed, because the conversion exit for field POSID
----- causes an entry entered as "P." to be stored as "P *". Hence
*----- selection is flawed.
perform sos_condense_range_wbs.
*----- Activity Type Group is used to determine what Activity Types
*----- to take into account for the computation of planned and actual
*----- hours. The Activity Type Group must be exploded into its
*----- individual Activity Types, so we can build a range of Activity
*----- types.
perform sos_build_act_type_range.
*----- Selection of WBS as per selection criteria, but only Billing WBS
*----- Elements or Level 2 WBS elements
Get Level re-determined
if not p_oth is initial.
case p_level.
when 1.
move c_on to p_lvl1.
clear p_oth.
when 2.
move c_on to p_lvl2.
clear p_oth.
endcase.
endif.
if not p_lvl1 is initial.
w_reporting_level = 'L1'.
w_level = 1.
endif.
if not p_lvl2 is initial.
w_reporting_level = 'L2'.
w_level = 2.
endif.
if not p_wip is initial.
w_reporting_level = 'BE'.
w_level = 0.
endif.
refresh r_stufe.
if not p_lvl1 is initial.
clear: r_stufe.
move: '1' to r_stufe-low,
'2' to r_stufe-high,
'BT' to r_stufe-option,
'I' to r_stufe-sign.
append r_stufe.
elseif not p_oth is initial.
clear: r_stufe.
move: p_level to r_stufe-low,
'EQ' to r_stufe-option,
'I' to r_stufe-sign.
append r_stufe.
elseif not p_wip is initial. "INS DI5K902370
clear: r_stufe. "INS DI5K902370
move: '1' to r_stufe-low, "INS DI5K902370
'99' to r_stufe-HIGH, "INS DI5K902370
'BT' to r_stufe-option, "INS DI5K902370
'I' to r_stufe-sign. "INS DI5K902370
move: '2' to r_stufe-low,
'99' to r_stufe-HIGH,
'BT' to r_stufe-option,
'I' to r_stufe-sign.
append r_stufe. "INS DI5K902370
else.
clear: r_stufe.
move: '2' to r_stufe-low,
'EQ' to r_stufe-option,
'I' to r_stufe-sign.
append r_stufe.
endif.
perform select_wbs_new tables r_psphi.
commit work.
Process any WBS elements missed during initial selection
if not s_posid[] is initial.
perform check_billing_elements.
sort it_wbs by psphi
pspnr.
endif.
delete adjacent duplicates from it_wbs.
append lines of it_wbs to it_wbs1.
sort it_wbs1 by psphi
pspnr.
Transfer to temporary table before calling function
refresh loc_wbs.
loop at it_wbs1 into wr_wbs.
w_tabix = sy-tabix.
if wr_wbs-psphi ne w_ref_psphi.
if not loc_wbs[] is initial.
*----- CAREFUL: THIS FUNCTION MODULE ASSUMES THAT THE WBS ELEMENTS
*----- PASSED INTO TABLE I_WBS ALL BELONG TO THE SAME PROJECT
*----- DEFINITION. FUNCTION MODULE WILL NOT GIVE PROPER RESULTS
*----- IF CALLED FOR A TABLE I_WBS WITH WBS ELEMENTS BELONGING
*----- TO VARIOUS PROJECT DEFINITIONS. BE WARNED!!!
call function 'Z_CN_DETERMINE_REPORTS'
EXPORTING
i_fyear = s_fyear-low
i_prsumm_level = w_level
i_closed = 'X'
TABLES
i_wbs = loc_wbs
i_deleted = l_deleted.
if not p_lvl2 is initial.
loop at loc_wbs where stufe gt 2 and lvl2_posid is initial.
do.
select single up into prhi-up
from prhi
where posnr = loc_wbs-pspnr.
select single * from prps
where pspnr = prhi-up.
if prps-stufe = 2.
loc_wbs-lvl2_pspnr = prps-pspnr.
loc_wbs-lvl2_posid = prps-posid.
exit.
else.
loc_wbs-pspnr = prhi-up.
endif.
enddo.
modify loc_wbs.
endloop.
endif.
perform sos_append_wbs.
refresh l_deleted.
endif.
w_ref_psphi = wr_wbs-psphi.
refresh loc_wbs.
endif.
clear loc_wbs.
move-corresponding wr_wbs to loc_wbs.
append loc_wbs.
endloop.
if not loc_wbs[] is initial.
*----- CAREFUL: THIS FUNCTION MODULE ASSUMES THAT THE WBS ELEMENTS
*----- PASSED INTO TABLE I_WBS ALL BELONG TO THE SAME PROJECT
*----- DEFINITION. FUNCTION MODULE WILL NOT GIVE PROPER RESULTS
*----- IF CALLED FOR A TABLE I_WBS WITH WBS ELEMENTS BELONGING
*----- TO VARIOUS PROJECT DEFINITIONS. BE WARNED!!!
call function 'Z_CN_DETERMINE_REPORTS'
EXPORTING
i_fyear = s_fyear-low
i_prsumm_level = w_level
i_closed = 'X'
TABLES
i_wbs = loc_wbs
i_deleted = l_deleted.
if not p_lvl2 is initial.
loop at loc_wbs where stufe gt 2 and lvl2_posid is initial.
do.
select single up into prhi-up
from prhi
where posnr = loc_wbs-pspnr.
select single * from prps
where pspnr = prhi-up.
if prps-stufe = 2.
loc_wbs-lvl2_pspnr = prps-pspnr.
loc_wbs-lvl2_posid = prps-posid.
exit.
else.
loc_wbs-pspnr = prhi-up.
endif.
enddo.
modify loc_wbs.
endloop.
endif.
perform sos_append_wbs.
refresh loc_wbs.
refresh l_deleted.
endif.
perform process_report_table.
End of M011
Check Status Profile
if not p_status is initial.
perform process_check_status_profile.
sort it_wbs by psphi
pspnr.
endif.
Start of M006 mods
if p_clwbs is initial.
Ignore projects/WBS closed based on the year
perform process_closed_projects.
endif.
End of M006 mods
describe table it_wbs lines w_lines.
if w_lines eq 0.
message i100.
exit.
endif.
sort it_wbs by psphi
pspnr.
loop at it_wbs
into wr_wbs.
w_tabix = sy-tabix.
*----- We will extract costs and determine to which reports a WBS
*----- by Project Hierarchy, ie, we will look at all the WBS Elements
*----- in a given hierarchy in one hit. This simplifies the
*----- process of determining the highest billing element or the
*----- Level 2 WBS element for a selected WBS
*----- It also had the advantage of allowing parallel processing
*----- using CALL FUNCTION STARTING NEW TASK if required in
*----- the future
if wr_wbs-psphi ne w_ref_psphi.
if not it_tmp_wbs[] is initial.
loop at t_date.
it_tmp_wbs2[] = it_tmp_wbs[].
call function 'Z_PS_WIP_GET_COSTS_COMMITMENT'
EXPORTING
i_fyear = s_fyear-low
i_poper = t_date-poper
i_billing = 'X'
i_prsumm_level = w_level
i_other_level = w_other_level
i_budat = t_date-w_budat
i_commitment = 'X'
i_include_wipadj = p_incwip "M007
TABLES
i_rsparams = it_rsparams
i_wbs = it_tmp_wbs2.
loop at it_tmp_wbs2 into it_tmp_wbs3.
collect it_tmp_wbs3.
endloop.
w_tab = sy-tabix.
n = 1.
while n <= w_tab .
read table it_tmp_wbs2 index n.
it_tmp_wbs3 = it_tmp_wbs2.
modify table it_tmp_wbs3
index n
transporting
PLANLABOUR PLANHOURS PLANREV PLANCOSTS stufe.
n = n + 1.
endwhile.
endloop.
it_tmp_wbs[] = it_tmp_wbs2[].
perform sos_process_tmp_table.
endif.
w_ref_psphi = wr_wbs-psphi.
refresh it_tmp_wbs.
endif.
wr_wbs-tabix = w_tabix.
append wr_wbs to it_tmp_wbs.
if w_tabix eq w_lines.
*----- Don't forget to process the last hierarchy!!
if not it_tmp_wbs[] is initial.
loop at t_date.
it_tmp_wbs2[] = it_tmp_wbs[].
call function 'Z_PS_WIP_GET_COSTS_COMMITMENT'
EXPORTING
i_fyear = s_fyear-low
i_poper = t_date-poper
i_billing = 'X'
i_prsumm_level = w_level
i_other_level = w_other_level
i_budat = t_date-w_budat
i_commitment = 'X'
i_include_wipadj = p_incwip "M007
TABLES
i_rsparams = it_rsparams
i_wbs = it_tmp_wbs2.
exceptions
not_found = 1.
loop at it_tmp_wbs2 into it_tmp_wbs3.
collect it_tmp_wbs3.
endloop.
w_tab = sy-tabix.
n = 1.
while n <= w_tab .
read table it_tmp_wbs2 index n.
it_tmp_wbs3 = it_tmp_wbs2.
modify it_tmp_wbs3 index n transporting stufe
PLANLABOUR PLANHOURS PLANREV PLANCOSTS .
n = n + 1.
endwhile.
endloop.
it_tmp_wbs[] = it_tmp_wbs2[].
perform sos_process_tmp_table.
endif.
endif.
endloop.
end-of-selection.
Delete WBS with no financial information
loop at it_wbs_report into wr_wbs_report.
if wr_wbs_report-actcosts eq 0 and
wr_wbs_report-plancosts eq 0 and
wr_wbs_report-planrev eq 0 and
wr_wbs_report-acthours eq 0 and
wr_wbs_report-actrev eq 0 and
wr_wbs_report-revrec eq 0 and
wr_wbs_report-revrecytd eq 0 and
wr_wbs_report-acttotrevrec eq 0 and
wr_wbs_report-actytdrevrec eq 0 and
wr_wbs_report-pocommitment eq 0 and
wr_wbs_report-prcommitment eq 0 and
p_incwbs is initial.
delete it_wbs_report index sy-tabix.
endif.
endloop.
loop at it_wbs_report.
select single
objnr
psphi
zzacttyp
ZZIMCINITIATIVE
ZZIMCPROGRAM
ZZWPMANLOB
ZZIMPLEMENTREG
ZZCONTRACTID
ZZWPNUM
ZZSPNUM
ZZORDERNUM
ZZORDERLEVEL
ZZWIP
from prps
into corresponding fields of w_it_wbs5
where posid eq it_wbs_report-posid.
CLEAR: W_LEAD, W_PDIR, W_PMGR, w_poff.
select single zztype ZZWORKCATEGORY ZZPRIN ZZSOURCE from proj into
(w_it_wbs5-zztype, w_it_wbs5-ZZWORKCATEGORY, w_it_wbs5-ZZPRIN,
w_it_wbs5-ZZSOURCE) where pspnr = w_it_wbs5-psphi.
CLEAR w_it_wbs5-lead.
select single parnr from ihpa into w_it_wbs5-lead
where objnr = w_it_wbs5-objnr and
parvw = C_LEAD and
KZLOESCH NE 'X'. " M026
PERFORM READ_PA0002 USING w_it_wbs5-lead CHANGING W_LEAD.
CLEAR w_it_wbs5-pdir.
select single parnr from ihpa into w_it_wbs5-pdir
where objnr = w_it_wbs5-objnr and
parvw = C_PDIR and
KZLOESCH NE 'X'. " M026
PERFORM READ_PA0002 USING w_it_wbs5-PDIR CHANGING W_PDIR.
CLEAR w_it_wbs5-pmgr.
select single parnr from ihpa into w_it_wbs5-pmgr
where objnr = w_it_wbs5-objnr and
parvw = C_PMGR and
KZLhi,
1.Capacity check takes place at plant level itself..
2.Pooled capacity:- This is created separately in [u wil find in PP] and this capacity can be used by different work centers.
regards
pushpa -
Interest Posting Periodic Allocation from Project System
Guys,
I am creating an automatic interest posting as part of the periodic allocations from the project system. We have new GL active and run parallel ledgers. The FI posting is into all ledgers, any idea how I can control posting to one ledger only?
Kind regards,
RudolfHi Anantharam,
I tried defining an extract layout which assigned to the project type I am using and then creating an evaluation layout using the extract layout.
However, it didn't really work as expected. In my scenario actual costs originate in cProjects (when the task is completed and the actual number of hours are entered in the confirmation field). Actual costs are not captured in the internal order. In this case if I define an evaluation will it update the actual cost if I define threshold value formula as follows (for testing I made it actual = planned just to see if I get a value).
actual cost = confirmation * unit cost for task/role
If the above is possible;
1. How do I define the attribute and object types for unit cost for task/role which is based on the cost/revenue rates setup for the role? For example how do I find out the values for attribute and type name fields?
2. I was under the impression that evaluations can only generate a report based on the existing values and update the criticality level field a threshold condition is defined. Is my understanding of this function incorrect?
Apologies for all the questions, but I am still unclear how to update the actual cost which originates as result of cProject task confirmation to the internal order.
Thanks for your help so far and appreciate if you provide some guidance on how I can get this working.
Cheers,
Lashan
Maybe you are looking for
-
All free/busy requests get error 403 in iCal with MobileMe
I'm playing for the first time with looking with my availability in iCal / Lion / MobileMe CalDAV accounts. Everything else is working well with my calendars and Mobile Me. I can add events, remove them, edit them, the sync is working well between th
-
How do I delete pictures in PHOTOS app?
I thought I successfully deleted all the photos from my iPhone 4S by accessing the photos under Internal Storage using my Windows 7 laptop, and going into each folder, selecting all the photos and deleting them. I was unable to delete 'Local Disk' f
-
Can i host a site on mac os x server?
hellow guys i need some help, this is my site http://www.inauzwa.com, can i use the mac os x lion server to host this site? thank you regards arnold gabriel cofounder @ http://www.inauzwa.com
-
Automatic import of prices in VK11
Is there standard transaction/program in SAP to import sales prices (netered manually in VK11 - condition PR00) from excel file?
-
Merge APPL_TOP: java.lang.NoClassDefFoundError: XMLPrintDriver
Hello, I am trying to merge appl_top on a secondary node as per note 233428.1 by running "perl adpreclone.pl appltop merge". The script though ends with the following error: Exception in thread "main" java.lang.NoClassDefFoundError: oracle/xml/parser