cancel
Showing results for 
Search instead for 
Did you mean: 

Last Level of WBS to be marked as Account assignment when creating and changing a Project Structure in order to get detail cost reporting in SAP PS Module

Former Member
0 Kudos

We wish to Implement an enhancement wherein Last Level of WBS to be marked as Account assignment only with the use of functional module.

Can You help to know how can it be done ... any User Exit for this enhancement , we wish to have detailed cost reporting and planning to show only account assingment marked WBS in PR/PO Search Option.

Please Reply if You know any solution or have any idea to proceed with ..

Many Thanks
Avinash Shelke


P. S -

I know the logic using Table and Field (PRHI-DOWN) and Substitution for PRPS-BELKZ ( Account assignment) but dont know how shall I do it step by step , I need to give the details to ABAP Person in My company .

is there any user exit or functinoal module need to implemented , please reply if have come across such requirement group members.

Accepted Solutions (0)

Answers (6)

Answers (6)

Former Member

Hi Avinash,

If this entire process can be think from technical or ABAP point of view. Then I think it is possible.

See, You purpose should be to identify the WBS who is sitting at the last level. Am I right.?

Now, logically if you think. Then in PRPS table, obviously there is a column called STUFE. Now, what I am thinking that ABAPer should fetch the biggest count from the STUFE column.

For eg:- There would be levels like 1, 2, 3, 4 and so on where in at 1st level there would be only 1 WBS and 2nd level there would be lets say 4 WBS etc.

Go through the screen shot. I have taken the sum of STUFE just for the sake of myself, but that can be ignored. Although not sure if ABAPer can utilize the summation of STUFE or not to get the biggest count number?

So, I think it will not be biggest hurdle or challenge to count the biggest number from the entire STUFE (Level) series. So, now once you get the biggest count. Then ask ABAPer to put the value as 'X' in PRPS-BELKZ field for all those WBS where in you get the biggest count.

I hope am I clear to you. ? Well this is just my assumption.? Not sure whethere it would work or not.? But you should give it a try.

Regards,

Amit

Former Member
0 Kudos

Hi Amit,

Very good logic But again as Avinash said that his template is not finalized yet. So its for only when your project structure is finalized.

Say if from ABAP program, system detect STUFE=4 is last/biggest level of WBS and mark it as Account assignment.

Now after that in same level 4 WBS, I create one new WBS which is level 5. Then obviously this new WBS will last. And system will also mark as AA.

Could you please explain if I am incorrect.

Regards

Shishir

Former Member
0 Kudos

Hi Shishir,

Yes, you are absolutely correct. But again when there is a need of creating a WBS which is greater than that of previous WBS, then in that case also ABAPer has to develop a logic of auto De-Selecting the previous biggest PRPS-BELKZ field as and when new high level WBS gets created.

But, Yes. If you can think for random selection as his template is not finalized, then it would not be possible. But yes, data in PRPS will only come when the user save the master data. So, when user opens the project again then in that case logic could have worked before opening the project and by default all the WBS who is sitting at the last level will get marked with Account Assignment and all those WBS who was last sitting at last level would get auto de-selected considering the new level of WBS must have been created further just like you said.

Last but not the least, that was just my assumption. Even If I would have been at Avinash situation, I might would have been scraping the head of Abaper.

Regards,

Amit

Former Member
0 Kudos

Hi Amit,

Exactly that De-selection logic, I was thinking about. But what if someone have already procured against that last level WBS at a certain time and after that user created new lower level WBS. Then in that case De-selecting will also not work.

Then again Abaper have to struggle ..I am sorry, I am taking least possibilities.

So my suggestion is to manually selection/De-selection of WBS as AA, If you want AA at last level only. Otherwise finalize your structure first for automatic substitution.

Regards

Shishir

Former Member
0 Kudos

Hi Shishir,

Yes, we should always take least possibilities. . At least, our concern should always to fail the logic. That is how  proper testing can be done.

But if any posting has been done in WBS and later if you de-select the Acct. Assignment. Then, I dont really think that it will affect the user reports from FI and logistic point of view. But I am not sure with this. But if it does affects then may be again then we have to think for setting the user status and mark those particular WBS as non editable Acct. Assignment field by marking it as forbidden.

Seriously, it will give goose bumps to both functional and specially to ABAPer.

I think, there is only one possibility that Saurabh has already suggested that to convince the user about the limitations of this process.

Regards,

Amit

Former Member
0 Kudos

Can the logic of PRHI-DOWN  being blanked ( 1st Subordinate ) for a WBS , then Marking Account Assignment as Ticked will work...I Tried doing this using a substitution but  PRHI Table is not available in OPSN ( WBS Substitution selection).

its a link of PRPS and PRHI table , How can we do it>>>

raghavendra_praveen
Active Contributor
0 Kudos

You mean to say tomorrow user will never try attempting creation of one more element under any account assigned WBS? If answer is yes, then your substitution will fail and leads to run time error.

First of all you have to freeze the hierarchy (not levels), using certain business validations/ principles based on client working nature. Then you can have substituion (you can use exit also in substituion)

Hope my above reply is clear to you.

raghavendra_praveen
Active Contributor
0 Kudos

The other work around if you don't to know what is the last level is:

Generally project reaches certain state, you dont expect any changes in the structure of project or the way it is executed. This depends on your detailed planning. Lets say you get budget allocation approved only after detailed structure and date planning or once your structure is released to execution, you dont exepct any further changes on project except scheduling and actuals consumption.

Discuss with your customer and find the appropriate phase at which there wont be any further changes in the structure.

Create a user status on project or top level WBS element. When you want to freeze the structure (you dont expect any further additions of WBS elements in structure), set this user status. With this user status set up, you can have a substitution or kind of user exit to run to compile all lower WBS elements in the structure and mark them as account assigned.

Or try in the customization, once you do budgeting (status BUDG) or release (REL), no further additions to WBS is prohibited and you can run the substitution to mark them as account assigned.

Coming to your search help option in ME51n or ME21n, definitely its bit tricky but you can ask developer to create a match code with account assignment as one of the element and it should be always 'X'. If it doesnt work out, look at the option of using PERSON RESPONSIBLE or some other equivalant and try to populate some value or tick while setting up account assignment on WBS element. This is very well available in standard search helps.

Looking at OMHM transaction for PR search help, believe account assignment indicator can be included as one of selection option. Give a try with help of developer.

Hope this is helpful.

former_member195427
Active Contributor
0 Kudos

Hi Avinash

Your first requirement can be achieved with the use of substitution :

Step1:

PRPS-STUFE > 'LAST LEVEL'

Field                  is substituted by:

AA element             Constant value    X

Billing elem.          Constant value    X

Planning elem          Constant value    X

Step 2:

PRPS-STUFE = '1' AND '2' and so on (do according to yours level)

Field                  is substituted by:

AA element             Constant value

Billing elem.          Constant value    X

Planning elem          Constant value    X

For second requirement ,it is not very clear what you want.  What I understood is that you want to do planning for only those WBS in in which account assignment indicator is active. The easieast way would be to lock planning for those WBS through project builder.In this way, system will lock that WBS for planning transactions.

Regards

Saurabh

Former Member
0 Kudos

1. The Proposed Solution using WBS Level Substitution is helpful when the templates are finalized and last level of WBS is not fixed in my scenario. so the requirement is of dynamic nature , how can I Proceed.

2. The Requirement is to show the account assignment marked WBS's only in the search option when some user is trying to select a WBS while creation of PR/PO using MM Module.( in T -COde such as Me51n and me21n) , you know it will help to reduce the list of available WBS inorder to make a quick search of WBS as we are struggling to give Cj20n display only to PR and PO creating users.

if the Cj20n display only is possible it will be fine...

thanks

Avinash

sanjeevc
Active Contributor
0 Kudos

Sap have some limitation for dynamic option in other word should say like when your hierarchy of wbs can not be freeze then you need to mark manually wbs's operative indicator as account assignment.

for 2nd requirement provide cj20n right with display mode only. OR any sap standard query (SQVI) based on PROJ and PRPS table.

Regards,
Sanjeev

Former Member
0 Kudos

Hi Avinash,

If your  WBS level range is definite, then you can go thru Saurabh reply.

Otherwise I don't think that It's possible to select Acnt Asnmnt only for last level of WBS, without knowing the last level. Also not possible to develop logic of ABAP Program. I mean, how system will recognize that a particular WBS is at last level or not. You have to manually select the last level.

If your team could  develop the same, let us know

Regards

Shishir

former_member195427
Active Contributor
0 Kudos

1. If the last level in not defined then it does not look logical to me to make the last level WBS as account assignment element because during the course of project we never know which wbs will be the last level wbs or we may also require to create child wbs under that last level wbs ,this will give rise to one more level and according to you this newly created wbs must be the account assigned object and not its parent wbs.In SAP standard this is not possible even if you go with development you will not achieve favourable results in the long run. So, I would suggest you to convince the business about the limitations of this issue.

2.For this requirement there is an alternate way.You have to use BADI ME_PROCESS_REQ_CUST  to check during PR save whether WBS is a account assignment element or not using data from PRPS table.

OR

In ME51N/ME21N transaction when user select WBS using F4 then there is a tab WBS: Account Assignment Elements. You can use this option to display account assigned wbs elements only.

Regards

Saurabh

Former Member
0 Kudos


Hi Avinash,

If you have made up your mind to use an enhacement please go ahead, but this requirement can be  met with standard SAP.

Setp 1. Write a substitution which says if level=4 (last level), then account assignment indicator should be flagged.

Step 2. Also if you want to report on only account assigned WBS, you can use user fields to advantage. In WBS user fields flag check box indicator 1 for 4th level WBS.

Then go into any standard report and from dynamic settings, select indicator 1 and flag it and then run the report for the projects under consideration.

Hope it helps.

Thanks

PBN

raghavendra_praveen
Active Contributor
0 Kudos

Do your structure level is always fixed, say it always has 5 or 6 levels? In that case you can have account assignment fixed with help of exit or substitution rule and with that you need to have one more validation which stops creation of new WBS under any account assigned WBS element.

If your structure level is not fixed across the project profile/ projects/ project types then you cannot have this validation set up. This will lead to inconsistencies such as WBS element is marked as account assgined and user is now trying to set up one more WBS beneath it - this is very difficult to handle through development.

Secondly, search help on PR/PO for project will show all WBS elements and you need to have one more match code but not sure this is practical.


Former Member
0 Kudos

Hey Praveen

The Level of WBS is not fixed in my scenario....but your inputs are really helpful.

thanks