WBS Codes

H

Hardip

Hi all

I have the following WBS structure in my Project:

Level 0 - Project Name
Level 1 - Project Cycle
Level 2 - Work Package / Scopes

I would like to have an automated WBS code for Level 0 and 2 only and
exclude Level 1 as this is for presentation purposes only to structure the
schedule against the lifecycle.

I'd appreciate any help in achieving this, assuming its possible.

Thanks to all who respond.

Regards
Hardip
 
J

Jim Aksel

WBS is a function of level of indenture. You can use a spare text column and
place your "skip level" WBS there.

Should you feel adventurous, a formula can be written for the text column
that strips out the "second" level of the WBS from the WBS column and places
tthe result in the text column.
--
If this post was helpful, please consider rating it.

Jim Aksel, MVP

Check out my blog for more information:
http://www.msprojectblog.com
 
H

Hardip

Hi Jim

Hope you're well. Can you please clarify your response. I know how to use
formula's but haven't done so for this. Could you provide some pointers, is
there a website link with an example?

I'm using MS Project 2003 if that helps.

Thanks for responding, H
 
J

Jim Aksel

Here's some things to consider... The WBS in project is of the form
a.b.c.d.e.f etc.
Unfortunately, the width (number of characters) in this is actually
unkown... could be 1.2.3. or 314.5.888.12 for a WBS right? Actually, you
can use a WBS mask to force it to fixed widths, but let's get more "sporting"
than that....

This is going to take some VBA type programming... and should be posted to
the developer group. However, since we are here, I will offer you some
solutions.

What you care about is "level2". That is you want to remove the .b.
a.b.c.d.e becomes a.c.d.e

You need a formula that strips out the first bit of the WBS (stops at the
first period) and then "remembers" that. You then need to fast forward in
the string to the second period (whose position is technically unkown). From
there, you take the "rest of the WBS" and concatonate on to what you
"remembered" so, here's a go at it...

Dim tsk as Task
dim strLeader as string
dim myWBS as string
dim intPosition as integer
dim strRemainder as string


for each tsk in ActiveProject.Tasks
myWBS=str(tsk.WBS) 'writes the WBS to a string
intPosition=instr(myWBS,".") 'Finds location of the first period in myWBS,
an integer
strLeader=Left(myWBS,intPosition-1) 'play with it - you may not need the
minus 1
strRemainder=mid(myWBS,intPosition+1) 'start just after first . and take
the rest

'Now we find the second period the same way by coaxing the remainder
intPosition=instr(strRemainder,".") 'second period is the first one in the
remainder

'overwrite the remainder with just the stuff to the right of the "second"
period.

strRemainder=mid(strRemainder,intPosition+1)

'Write the new WBS out to Text1 on the view
tsk.Text1=strLeader & "." & strRemainder

Next tsk

Well, that is probably not the whole thing, and I have not checked it. But
it's a good start for a Friday afternoon after a nice afternoon cold one.
I'm sure if I put some more thought in on it, I could knock off a lot of the
code...but this is pretty straight forward.


HTH

-
If this post was helpful, please consider rating it.

Jim Aksel, MVP

Check out my blog for more information:
http://www.msprojectblog.com
 
H

Hardip

Hi Jim

Thanks for responding again. I'm not much of a VBA person so seems like I
can't achieve this one. I was wondering if I could use a flag to do a
calculation that would remove the code. Something like if flag equals no
then remove WBS code, but then I figured it wouldn't do the renumbering
accurately.

Oh well... thanks again for your time :) and speak soon

Cheers, H
 
H

Hardip

Hi Jim

I've opted for:

Level 0 - Proj_R1_WP (Project Name)
Level 1 - Proj_R1_WP001 (Initiation Or Design or Execute etc)
Level 2 - Proj_R1_WP001.A (Deliverable)
Level 3 - Proj_R1_WP001.A-1 (Task 1)
Level 4 - Proj_R1_WP001.A-2 (Task 2)

By playing around with the separators it looks OK and no need for anything
bespoke that no one else in the organisation will understand other than me
(lol). And with the benefit of hindsight Level 1 defines the project
lifecycle so its useful to include it in the WBS.

Thanks again for the insights.
 
J

Jim Aksel

Gee all that hard work and you ignore me. Boo hoo. LOL. Glad it worked
out. I also saw your other post on Outline Codes... so it looks like you are
all set.

Jim
Check out my blog for more information:
http://www.msprojectblog.com
 
H

Hardip

Hey Jim

I'm sorry my friend but the whole VBA thing just passed me by and I never
really coded. However, its something I have to do one day I guess.

I'm getting on much better with Project now. I haven't used it since
version 2000 and that was 4/5 years ago. To be honest, it hasn't changed all
that much - more features I guess. The visual reports feature is a vast
improvement on analyser wizard. I just forgot a lot of those little things I
used to know and am slowly building my knowledge back up.

I do prefer the look of the old task bars rather than this 3D things - the
price of progress. Next I'll be diving into Project Server (and more than
likely sinking very fast - haha).

Are you in the UK?

Cheers, H
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top