Loading...

Follow Catgovind Blog on Feedspot

Continue with Google
Continue with Facebook
or

Valid

People who work with Primavera P6 XER files often have to reserve some types of data for themselves when sharing the project file with other parties.

I’ve been asked by a general contractor in a construction company how to send the project XER file to sub-contractors without the cost rates.

There might be more than one option to do this.

The first way is basic and requires deleting of all resource assignments all-together.

We can just copy the schedule in Primavera P6 without the “Resources & Role Assignments” as shown below:


But in many cases, we need to send the resource names to the sub-contractor but don’t him to see the resources cost.

The second option is more pragmatic and requires utilization of third-party tool to easily perform hiding of unwanted data.

I found ScheduleCleaner desktop software really useful and fast when removing confidential data from XER files.

Here are the exact steps to remove pricing from XER schedule.

Step 1: Locate the XER file and upload

Step 2: Select categories for removal and click the “Clean” button

Step 3: You’re done and ready to share your XER file

Just to show in this article, I’ve opened my XER file before and after cleaning.

XER File Before “Cleaning.”

XER File After “Cleaning” View with XER Reader.

After “cleaning” the XER file, it no longer have price rates for resources, and can be shared with other parties with confidence.

I recommend to use a tool in order to automate the job and save yourself from the manual and time-lasting work.

Because it’s not just the cost.

There might be other cases like removing units, rates, pricing and other categories of data within XER file.

The software also removes POBS data, which is completely unnecessary and not used by any Primavera P6 feature. Removing POBS from Primavera P6 file will ensure better performance during import to P6 database.

The best part is that the original XER file remains untouched, and the “cleaned” file can be saved in a separate folder, which can be set under the Template tab. Here, users can create reusable templates with specific categories of data for cleaning.

For example, from Sub-contractor 1 we hide project funding, spending and benefits plan, from Sub-contractor 2 we hide prices for resources and roles etc.

As you can see, there are at least two options to remove data for Primavera P6 XER you don’t want others to see. The choice is yours.

Do you know other way to anonymize confidential data in XER file? Drop your lines below.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
Catgovind Blog by Darko Atanasov - 3M ago

If you are a frequent user of Primavera P6 or if it is the main application that you daily use for your work, then you already know that it is one of the most NOT automated applications when it comes to data entry, it may be one the quickest and most accurate applications when it comes to calculations but the data entry process usually takes more time and effort than it really should.

So, what would you say if you knew some hacks/tips that can save hours or maybe days of your work time & effort with the same accuracy?

Looks like you are already excited, so let’s get to know 5 time-saving tips for frequent Primavera P6 users.

1. Fast Relationships Creation

When we are creating a baseline time schedule for a project (specially “horizontal” projects) we find ourselves dealing with a huge number of repeated “fragments”, so for an example: if our project is a residential compound consisting of a large number of buildings, it’s very probable that these buildings are divided into “types”, so the logical thing to do is to create a fragment that’s going to be repeated, but we won’t repeat it until at least we link the activities together so that we don’t have to create the relationships more than once.

So here’s the tip, when you list the fragment activities, make sure to list them in the same order you want to link them using their IDs, after you do this, simply select the first activity, press the “Shift” button then select the last activity and then right click and choose “Link Activities”, this way the activities are linked in the same order as they are listed using the IDs with “FS” relationship with “0” lags.

By using this way, you avoid the hustle of the classic way of assigning relationships.

2. Fast Assigning to multiple activities

To create a reliable & professional time schedule, you will need to use a lot of assignments such as Activity Codes, Resources, Roles…etc. However, the assignment process in Primavera P6 is not the smartest or the quickest process to do the job, of course you can use Excel sheets to be imported with the data you want, but if you are a frequent user of P6 you will know that importing data from excel sometimes causes illogical and not-understandable errors that cause massive data loss. The tip to avoid errors and do the job quickly at the same time is to use the following function: select the list of activities that you want to assign a certain activity code or resource or even a certain predecessor/successor and then right click to show the list of orders you can use, in the list you’ll find the option “Assign”, once you click it a dropdown menu will appear with almost all the available assignments you can assign, select the option that you want and VOILA you completed the job in a very limited number of clicks and in the shortest time possible.

3. Save time on PDF report printing

If we are going to talk about the outputs that we mainly need from Primavera P6, one of them is going to be “printing” and it’s a very important and common output that all of us need. However, Primavera P6 is so old-fashioned when it comes to printing either reports or screenshots of the time schedule, configuring the layout and its details is boring and a little time consuming, nevertheless it’s not very useful as it should be specially the reports.

So here’s the trick, you can actually use a side application other than P6 that one of its jobs is giving you very useful and inclusive reports with the ease of sharing it with the project’s members, that application is called ScheduleReader, the app is pretty useful when it comes to printing or sharing reports, it has a lot of samples that you actually won’t need to create your own customized report, but the option is there anyway.

All you have to do is open the schedule using Schedule Reader, click on the “Reports” tab and you definitely will not need to think about printing reports from P6 again, create your customized reports or use the default ones, once you have created your own reports, simply click on the “File” Tab on the upper left side and go to reports, export your report to an “XML” file and share it with your project members. Besides being very helpful and professional, these reports take no time to be printed/exported and will save you lots of effort and time.

4. “Collapse to” Option

One of the most practical characteristics of any time schedule is a good “WBS”, but how do you define a good WBS? The answer to that is pretty simple; you need to unite the levels of the similar WBSs to have easy access to the activities in a quick way. Primavera P6 gave us a very good option in viewing any time schedule which is the “Collapse to” option, this option is very practical if you are dealing with a mega project or a very detailed project, let’s say that you want to see how are the buildings in cluster “2” in zone “3” under district “1” doing?

If your WBS levels are united, you will easily use the “Collapse-to” option to make the application simplify the view for you and show you the list of buildings you want to see in a single click.

You will find the option when you right click anywhere in the activities area of the P6 interface.

5. “Float Paths”

While I was working on a mega project horizontal project, I stumbled upon a pretty hard task which was originally caused by the internal contractual milestones, the project consisted of a large number of buildings grouped in the form of “zones”, each zone had its contractual start and finish milestones to be respected. However, in the time schedule updates each zone started to take its own direction and delays, the hard task here was to monitor and analyze each zone’s critical path and the element(s) causing the delay. That’s when I found out the trick to help me accurately and quickly extract each zone’s details, the trick is to run the schedule with every zone’s finish milestone separately. To elaborate, simply click “run” or press “F9” in your keyboard and then right before running your schedule just click on “options”, it will take you to the window where you can configure the “run” details, click on the “advanced” tab and mark the box that says “calculate multiple float paths” then check the box that uses “free float”, in the next box choose the finish milestone of the zone you want to focus on, now click “close” and run your project.

After the scheduling completes click the “group & sort” icon and choose to sort the project using “float path”, click ok and wait for the result. Using this trick we simply made the Primavera P6 focus on the chosen zone and show you all the paths that control and lead this zone, this way you can produce a very accurate and detail-oriented report showing what really is the problem in each section of the project separately to be able to monitor and solve it, and it saves the time you take to extract these information using the basic “run” option in P6.

It’s your turn

Try above Primavera P6 tips and see how much time can you save. Do you have anything to add to this list? Share your tips below.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
How to schedule an Oracle BPEL process using Oracle Enterprise Schedule Service

In my previous post, I have explained the installation of Oracle Enterprise Schedule Service . This post, I walk through on invoking an Oracle BPEL process every one-minute using OESS. Here below is my depleted sample Oracle BPEL composite that I am going to invoke. BPEL composite is exposed as Web Service. We need the Webservice URL to supply it to the Schedule service. I get the BPEL composite WS URL by click on the composite and clicked on the TEST button

Creating a JOB schedule involved two steps:

1. Create a JOB Definition

2. Sublimit the Job

1. Create a Job Definition

Here we are defining How to call the Oracle BPEL to compose

1. Log in to WebLogic Enterprise Manager, Right click on the ESSAPP, Job Metadata and Select JOB Definition

2. Click on the Create button

3. Input Job name and Job Type, Both Synchronous and Asynchronous web services are supported. Mine is Synchronous web service, so I selected it. Then, input your BPEL web service URL, Click GO button, and selected service you want to invoke

4. Click OK once done. This will create a JOB in the OESS.

2. Submit the Job Request

1. Right click on ESAPP, Job Requests and click Submit Job Requests

2. Click on the Search icon, Click Go, it will list the jobs we created above, Select the Job and Click Ok

3. Select the Specify Interval, Input the interval and Click Ok

4. Click on the Job History to see the list of submitted jobs

5. As you see below, my BPEL process invoked every one minute

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
How to Install Oracle Enterprise Scheduler  12C

This post, I have explained the installation of Oracle Enterprise Scheduler 12.1.3 on Windows machine. OES is used to create schedules like a UNIX CRON job in WebLogic server, For example, we can create a job that invokes a Webservice Or Java process every night. I often use Oracle Enterprise Scheduler to invoke Oracle BPEL process. It supports mostly all kind of intervals that CRON supports like create every 15minutes job, daily job, weekly job etc. Let’s begin the installation. Here I have updated my existing Oracle BPM domain to support Oracle Enterprise Scheduler, but the login is same for create as well. Once done, we can see ‘Enterprise Scheduler’ link under Oracle Enterprise manager

Installation of Oracle Enterprise Scheduler comes into two parts, I covered each step in detail

1. Create Oracle Enterprise Scheduler Schema though RCU

2. Install the Oracle Enterprise Scheduler in Oracle Middleware / WebLogic

Create Oracle Enterprise Scheduler through RCU

1. The RCU.bat ships with the Middleware home. Run the RCU.bat under the following location

2. Click Create Repository and click Next

3. Input the Oracle Database SYSADMIN details

4. I have already my BPM domain running so I selected existing prefix to update my BPM supports Enterprise Scheduler. Choose CREATE NEW PREFIX if you plan to create a new domain

5. Input the password for database schema

6. Click Next and Finish. This will create the necessary database schema for the Enterprise Scheduler

Extend or Create WebLogic domain supports Enterprise Scheduler

1. We have the DB schemas created. The next step is to create or update the existing Middleware domain to support OES. Click on the config.cmd file from the Oracle_Common\bin directory like below

I have selected my existing BPM domain. Select CREATE of you want to create a new domain

2. Select the Oracle Enterprise Scheduler Service Basic & Oracle Enterprise Manager Plugin for ESS options like below

3. Input the database schemas details we created above and click on the button GET RCU Configuration

4. Make sure the following schemas got successful

5. The below screen display after some clicks. I have installed it on my local development machine, so I planned to delete the separate managed server for OES so all will deploy into Admin server. You can skip this steps if you don’t plan to remove separate managed server for OES

6. In this screen, I deleted the managed server. Click Next and Finish it. This will create the necessary deployments

7. Start the WebLogic server, Log into the enterprise manager and you will see the ESSAPP under Scheduling Services

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
How to reset ADF input File component

In this section, we walk through how to reset ADF File component ad:inputFile

1. Here below is the JSF page

<af:form usesUpload="true"  id="f1" binding="#{backingBeanScope.backing_untitled1.f1}">


            <af:inputFile  label="File" id="if1" binding="#{backingBeanScope.backing_untitled1.if1}"/>
            <af:button text="Save File" id="b1" binding="#{backingBeanScope.backing_untitled1.b1}"
            action="#{backingBeanScope.backing_untitled1.processFileUpload}" />


        </af:form>

2. Here below is the actionListener method of the backing bean class. This resets the <af:inputFile> component

private RichInputFile if1;
.....

     public String processFileUpload() {
     
            UploadedFile file = this.getFile();
            ......
            //The below lines will reset the af:inputFile component. 
           
            this.getIf1().resetValue();
            this.setF1(null);
            this.getIf1().setValid(true);
....
....
            
            FacesMessage Message = new FacesMessage("File Saved Successfully!");   
            Message.setSeverity(FacesMessage.SEVERITY_INFO);   
            FacesContext fc = FacesContext.getCurrentInstance();   
            fc.addMessage(null, Message);
            // Add event code here...
            return null;
        }

3. This is how the page looks like. The File Upload comes back to the same state

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
How to add a catch block on Oracle BPEL

In Oracle BPEL, Select the scope you want to add a catch block. The below rectangular dotted line represents a scope. Also, you can drag and drop a scope activity to create a scope. Now click on the CatchAll or Catch as highlighted in the YELLOW color.

I added a CatchAll block and I used an Exit activity. The BPEL process will get terminated if it reached the catch block. You can add any activity inside the catch block. Also, we can throw and rethorow the error.

If you want a specific business exception to be caught then add the FaultName in the catch block like below.

Note, Its a Catch block 

<faultHandlers>

<catch faultName="bpws:selectionFailure"></catch>

</faultHandlers>

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
How to Pass an array of strings to a Field in Oracle BPEL

Here Below, I passed three string variable in one Field.

Once the assignment is done, Click on the Source tab and input the argument bpelx:ignoreMissingToData=”yes” for all the copy tags where the array is mentioned like below.

<assign name="Assign1">
            <copy  bpelx:ignoreMissingToData="yes">
                <from>'name'</from>
                <to>$ReadProject.params/ns1:Field[1]</to>
            </copy>
            <copy bpelx:ignoreMissingToData="yes">
                <from>'Id'</from>
                <to>$ReadProject.params/ns1:Field[2]</to>
            </copy>
            <copy bpelx:ignoreMissingToData="yes">
                <from>'age'</from>
                <to>$ReadProject.params/ns1:Field[3]</to>
            </copy>
        </assign>
Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
Oracle BPEL For-Each Activity Example

Oracle BPEL 2.0 supports For-Each activity. It is similar to a Java For loop. It requires a counter variable, Start value and Final value.

For example, let’s implement the below Java For-Each in Oracle BPEL:

Java for Loop:

for(int i=0;i<100;i++) { }

In Oracle BPEL:

Open the BPEL process, Drop Oracle BPEL For-Each activity from component palette to the process. Input a Counter name, I mentioned i as counter name, we can access the counted variable inside the for-loop using $i

Click on the tab Counter Values and assign Start Value and Final Value. Here I input 1 and 100. We can access each iterator value using $i

Example 2: Iterating a collection

 

If it is a collection variable than we can use the count() function to count the collection and put it in the Final Value as like below:


We need to use the counter variable to get each record:


Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
Oracle BPEL If then Else condition

Oracle BPEL supports If-then-else statement. The Syntax is below, similar to Java. Only If is required on this conditional statement, Else-If and Else are optional.

If(Condition=true){

}

Else if (Condition=true){

}

….

Else{

}

To implement If-else in Oracle BPEL, Drag and drop the IF activity from the component palette to the BPEL. Click on the Green Plus icon to add an ELSE-IF/Else. Double click on the IF or ELSE-IF to add a condition. Click an activity, and press the delete key to delete it.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
How to create and call an Oracle BPEL Subprocess

Oracle BPEL subprocess is like a method call in Java. It can be called by any BPEL process including another subprocess. Subprocess is like any other BPEL process, the only thing is it can be reused. This section, we walk through how to create a subprocess, Call Subprocess and pass variables.

For instance, I want to send an email to the process owner whenever I receive an error in the BPEL, or from the catch block. Instead of duplicating the email task in each catch block, it would be nice to create a subprocess to handling the email functionality. We can pass the email content and address from the main process.

Create an Oracle BPEL Subprocess:

Open your SOA Project, right click on the SOA > BPEL, and select BPEL 2.0 Subprocess.

A subprocess will get created with the file extension sbpel. Open it , and create some variables so we can pass it from the main process.

Call an Oracle BPEL Subprocess

Open your main BPEL where you want to call the Subprocess, In the components, drag and drop the CALL activity to the main process. Double click on the CALL activity, select the Subprocess we just created, pass a variable. Uncheck the check box ‘Copy by value’ if you want to pass the variable by reference

Read Full Article

Read for later

Articles marked as Favorite are saved for later viewing.
close
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Separate tags by commas
To access this feature, please upgrade your account.
Start your free month
Free Preview