Clarity

 View Only

Learn PPM with Rego: XOG, Gel Script Save, Rate Matrix with MSP, Duration, Java 8, and a 10 ALPHA Character Grab 

May 25, 2016 01:13 PM

Dear Community Members,

 

Starting today, on Fridays we plan to share a few internal questions & answers on CA PPM with this ever expanding knowledge-community, just so we can all learn as much as possible.

 

Please feel free to comment on any alternative answers you've found. We love your input.

 

Today's Q/A explores seven topics.

  1. How can we XOG out all Custom Object Instances?
  2. Do we need the XOG version in a header?
  3. How can we save that pesky Gel Script?
  4. How do edits in the Rate Matrix reflect in Microsoft Project?
  5. How does Duration calculate Percent Complete halfway through a Task?
  6. Do we need Java 8 before upgrading to CA PPM 14.3?
  7. Is there a SQL Server trick to grab the first 10 ALPHA characters of a string?

 

 

QuestionRego's Guidance

1. How can we XOG out all Custom Object Instances?

Have you tried to XOG out ALL of a custom object's instances unsuccessfully? Maybe your OOB read XML looked something like this?

 

<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">
<Header version="8.0" action="read" objectType="customObjectInstance" externalSource="NIKU"/>
<CustomObjectInstanceQuery>
<Filter name="objectCode" criteria="EQUALS">manufacturer</Filter>
<Filter name="instanceCode" criteria="OR">sony,nikon</Filter>
</CustomObjectInstanceQuery>
</NikuDataBus>

Use % for the wildcard. An Asterisk (*) also works.

If you're using % for the wildcard, your code will look like this:

 

<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">
<Header version="8.0" action="read" objectType="customObjectInstance" externalSource="NIKU"/>
<CustomObjectInstanceQuery>
<Filter name="objectCode" criteria="EQUALS">manufacturer</Filter>
<Filter name="instanceCode" criteria="OR">%</Filter>
</CustomObjectInstanceQuery>
</NikuDataBus>

 

If you're using an Asterisk (*) for the wildcard, your code will look like this:

<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">
<Header version="8.0" action="read" objectType="customObjectInstance" externalSource="NIKU"/>
<CustomObjectInstanceQuery>
<Filter name="objectCode" criteria="EQUALS">manufacturer</Filter>
<Filter name="instanceCode" criteria="OR">*</Filter>
</CustomObjectInstanceQuery>
</NikuDataBus>

2. Do we need the XOG version in a header?

Lots of people wonder if the XOG version is required in a header, like the one below. They want to know if it can (A) be removed, or (B) just be "13" or "14," or does it require at least one decimal place?

 

NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_contentPack.xsd">
<Header action="write" externalSource="NIKU" objectType="contentPack" version="14.2.0.237"/>

While the version is required, we see two formatting camps.

Some people use 13.0 and 14.0, with 13.0 working up through the 14 line.

Others prefer to specify the full base version, which isn't required, but it does leave less room for potential issues to crop up.

I generally just use one decimal place and haven't played with versions much.

3. How can we save that pesky Gel Script?

Remember that pesky bug in 14.2 that prevented a gel script from saving? It's back!

We've experienced this issue in 14.3 FP06 and 14.4.

Why does this happen?

Your gel script isn't saving because of XML special characters within the script, like &, <, >, etc.

When you save the gel script, CA PPM decodes the special characters and the resulting XML document is malformed, which prevents the script from saving.

 

Our favorite solution is the one CA provides in the article titled:

"Backslash is deleted when saving a gel script that reads a pipe delimited file."

 

 

For more details, please reference the solution we attached below named "TEC1829..."

 

4. How do edits in a Rate Matrix reflect in Microsoft Project?

If we go into the rate matrix to change a rate for a resource, how does the new rate reflect in MSP?

The Resource Information Cost tab.

You should be able to see your new rate by going to the Resource Information Cost tab in MSP.

There should be one entry for each of a resource's entries in the Rate Matrix.MSP_Rates.jpg

You can also expect to see it for Work, when displayed as cost.

 

But take note. There might be a mismatch for Actual Cost information at the assignment level if a rate change is retroactive because in CA PPM, the Assignment Actual Cost curve is taken at the time of posting and can't technically be modified after you've posted (with the built-in code). Sarbannes-Oxley and all that.

If you suspect something is wrong, you can turn on schedlogging (the old driver) or debug your new driver and see what's being sent by CA PPM to the work station.

5. How does Duration calculate Percent Complete halfway through a Task?

Have you noticed that the CA PPM Help Menu discusses using Duration to calculate percent complete? Some people think this indicates when we're halfway through a task, we should be able to set the as of date, run the Update % Complete Job, and then churn out a % Complete value for the task.

 

This doesn't seem to be the case. Instead it seems like the Duration method works a lot like the Manual method, expect for the fact that the project level percent complete attribute is calculated. Why?

This is What % Complete Really Does . . .

The confusion around percent complete is probably due to the expectation that CA PPM will determine the percent complete relative to your start and finish date on a task or project. Instead percent complete calculates as follows.

 

Summary Task % Complete = Total Detail Task Duration Complete / Total Detail Task Duration.

 

For example, in one project two tasks both start 4/1/16 and finish 5/31/16. The duration of both is 41 days.

Let's enter 1% complete on the second task.

A summary level task and the project level percent complete show .5% complete.

Why?

Let's do the math.

 

Total Detail Task Duration Complete =  41 Days * 1% = .41 (based on this one task)

Total Detail Task Duration =  82 Days (each task is 41 days)

Summary Task % Complete =  .41 / 82 = .005.

Rob_Duration.jpg

6. Do we need Java 8 before upgrading to CA PPM 14.3?

The CA PPM 14.3 release notes specify Java 8 as a requirement. If we don't have Java 8, what are the exposure risks?

Summarized Exposure

  • Microsoft Project and Open Workbench Schedule Connect come with the required JRE on the client. No issues there.
  • Java 8 is part of the CA PPM install on the server. No issues there.
  • XOG, which you need, does not come bundled with Java 8. This is the issue.

7. Is there a SQL Server trick to grab the first 10 ALPHA characters of a string?

Do you need something to easily grab only the first 10 ALPHA characters of a string for SQL Server? Something that will leave out numbers, spaces, and special characters?

You have two options.

1. Convert the Java we've attached below to GEL. The file is named "SQL . . . _01," and the only modification is your characters don't need to be in uppercase in the original string.

2. Use the PATINDEX. The file we've attached, named "SQL . . . _02"  works like a charm if you already have the relevant project information, like ID, and need to go through each one to check whether an attribute is null or ' '.

 

 

Feel free to share your thoughts on our new Friday Q/A initiative.

 

Thanks kindly,

The Rego team

Statistics
0 Favorited
5 Views
3 Files
0 Shares
0 Downloads
Attachment(s)
zip file
SQL_Server_first_10_alpha_chars_01.txt.zip   585 B   1 version
Uploaded - May 29, 2019
zip file
SQL_Server_first_10_alpha_chars_02.txt.zip   726 B   1 version
Uploaded - May 29, 2019
docx file
TEC1829325-Backslash_is_deleted_when_saving_a_gel_script_....docx   13 KB   1 version
Uploaded - May 29, 2019

Tags and Keywords

Related Entries and Links

No Related Resource entered.