Tuesday, March 5, 2013


Microsoft Project Issue with Clarity V13
we recently upgraded from V12.1 to V13 and everything works fine except the Microsoft Project Schedule.

When we try to export to MSP it opens up in MSP and downloads all the task and related information which we could see. Immediate after that it says removing says and all the task populated is getting removed and stays blank.
Not sure anyone face this issue.

Appreciate your feedback on this. 

Answer

We had a user with some issues using MSP 2007 and Clarity...we upgraded to MSP 2010 and problem solved. What we did: Upgrade to MSP 2010, then re-install the connector (MSP/Clarity)

Clarity Integration with Excel and Sharepoint

They are tools which can connect Clarity from Excel and Share point through web services.

Please use the below link and connect ITROI.

http://www.itroisolutions.com/en-us/it-roiproducts/ppmdocumentboss.aspx

PPM Document Boss Demo

Highlights:

• Supports Clarity - Risks, Issues and Change Requests
• Drag & Drop capabilities
• Upload, download capabilities
• Full integration with Microsoft Office 365
• Full search collaboration SharePoint functionality
• Ability to map network drives to Clarity Projects
• Utilize SharePoint as the document repository for Projects
• Fully integrated team and/or collaboration security from Clarity to Sharepoint
• No need for additional Clarity licenses to share documents throughout the enterprise

http://integration-bridge.com/downloads/guc/
path to download

PPM Excel Interface

Wednesday, February 27, 2013

Clarity Gel Script For Updating the Task attribute based on project attribute


<gel:script
xmlns:core="jelly:core"
xmlns:gel="jelly:com.niku.union.gel.GELTagLibrary"
xmlns:sql="jelly:sql" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&rt;
<gel:setDataSource dbId="Niku"/&rt;
<core:catch var="v_exception_WBSO"&rt;
<sql:query var="qry_get_WBSO"&rt;
select
case odf.wbso_subsidy
when 'ws_yes' then 'Yes'
else 'No'
end wbso_subsidy
from odf_ca_project odf,prtask prt
where odf.id=prt.prprojectid
and prt.prid=(${gel_objectInstanceId})
</sql:query&rt;
<gel:log&rt;Update WBSO on Task level.(${gel_objectInstanceId})</gel:log&rt;

</core:catch&rt;
<core:choose&rt;
<core:when test="${v_exception_WBSO eq null}"&rt;
<core:set value="${qry_get_WBSO.rows[0].wbso_subsidy}" var="var_wbso"/&rt;
<gel:log&rt;Update var_wbso on Task level.(${var_wbso})</gel:log&rt;
<core:catch var="v_exception_update"&rt;
<sql:update&rt;
update odf_ca_task set wbso100 = ? where id=(${gel_objectInstanceId})
<sql:param value="${var_wbso}"/&rt;
</sql:update&rt;
</core:catch&rt;
<core:choose&rt;
<core:when test="${v_exception_update != null}"&rt;
<gel:log category="Update" level="ERROR"&rt;
Failure: Update WBSO on Task level.
</gel:log&rt;
</core:when&rt;
<core:otherwise/&rt;
</core:choose&rt;
</core:when&rt;
<core:otherwise&rt;
<gel:log&rt;Error in getting the WBSO of the project. ${v_exception_WBSO}</gel:log&rt;
        </core:otherwise&rt;
    </core:choose&rt;
</gel:script&rt;

Monday, February 18, 2013

Matrix Using Clarity

There is a requirement in Financial Management of Clarity

--  Resources are will work two different countries(USA,Europe)
 and need to update matrix in the back end. In the report the actual should calculate based on the country which resource works. 


I have updated the matrix based on the below Xog query 




   
       





   <?xml version="1.0" encoding="UTF-8"?>
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_matrix.xsd">
    <Header action="write" externalSource="NIKU" objectType="matrix" version="12.1.1.1208"/>
    <matrices>
        <matrix defaultCurrencyCode="EUR" name="Healthcare Design" type="Cost/Rate">
            <columns>
                <column name="resource"/>
            </columns>
            <matrixRows>
   
                  <   fromDate="2013-01-01" rate="104" resource="HCD0002"
                    standardCost="151" toDate="2013-12-31"/>
   
       
   

For pick the values based on the country/Operational OBS used below function in the backend(oracle) by using PL/SQL

CREATE OR REPLACE FUNCTION CLARITY.z_get_res_rate_fct (
   param_date           VARCHAR2,
   param_resource_id    VARCHAR2,
   param_obs_id         VARCHAR2)
   RETURN NUMBER
AS
   rate     NUMBER;
   matrix   NUMBER;
   matrix1  NUMBER; 
   param_obs_in NUMBER;
BEGIN


-- Actual cost -- if we works for same country project
   SELECT CASE 
             WHEN param_obs_id = 5003878  THEN 5002161 -- Europe
             WHEN param_obs_id = 5003879  THEN 5002360 -- United States
             WHEN param_obs_id = 5003880  THEN 5002161  -- China connect with Europe as per the requirment
             ELSE 0
          END into matrix
     FROM DUAL;

  

select nvl(( SELECT numval3
          FROM (  SELECT pmv.numval3
               FROM ppa_matrix pm, ppa_matrixvalues pmv
              WHERE     pm.matrixkey = pmv.matrixkey
                    AND value1 = param_resource_id
                    and pmv.matrixkey = nvl(matrix,pmv.matrixkey)
                    AND TO_CHAR (pmv.fromdate, 'YYYY') = param_date
           ORDER BY fromDate DESC, numval3 DESC) tes
    WHERE ROWNUM = 1),0) INTO rate from dual;
    
-- Standard cost -- If we works for different country project    
    
    IF RATE=0 THEN
    
    param_obs_in:=0;
        
        IF param_obs_id=5003878 THEN        
          param_obs_in:=5002360;
        ELSIF param_obs_id=5003879 THEN
          param_obs_in:=5002161;
        ELSIF param_obs_id=5003880 THEN
          param_obs_in:=5002360;
        END IF  ;
        
        
        SELECT param_obs_in INTO matrix1 FROM DUAL;
        
             SELECT numval2
             INTO rate
             FROM (SELECT pmv.numval2
                       FROM ppa_matrix pm, ppa_matrixvalues pmv
                      WHERE     pm.matrixkey = pmv.matrixkey
                            AND value1 = param_resource_id
                            and pmv.matrixkey = nvl(matrix1,pmv.matrixkey)
                            AND TO_CHAR (pmv.fromdate, 'YYYY') = param_date
                   ORDER BY fromDate DESC, numval3 DESC) tes WHERE ROWNUM = 1;
    END IF ;
   RETURN rate;
END;
/

Note: When ever do Matrix XOG writing for resources, make sure financial information configured in the resource level. If not configured it wont allow to write matrix for the resource in the back end.



What is the use partition in Clarity ?

Partition is one of the out of box concept and functionality in Clarity, which will help organization to keep one instance multiple discipline like sector wise configuration.

Create one clarity instance and host in to server, based on the sector (Healthcare, lighting, Consumer lifestyle etc..) you can do the partition and no need to create separate instance and licence.


Happy Knowledge
Bala

How many OBS level can create in Clarity?



We can create only 10 OBS level in clarity 12.1.0

Wednesday, February 13, 2013

Connecting CA Clarity PPM Through Visual Studio 2010

There is a requirement where we need to access clarity data through web service using Visual Studio 2010.

I have connected successfully using below code and steps and hope it helps

Steps In Clarity 

http://serverlocation/niku/wsdl/Query

The above path you can find the list of N-SQL query created in Clarity. If you want to your own customization query, go to clarity and click there is a menu list called Query.
Using N-SQL language you can create the query. after creation you find the query name using the above link.

For example : 
In clarity, i am going to create Query name called "Resource_data", once created  you can access through
this URL : http://serverlocation/niku/wsdl/Query/Resource_data


Steps in Visual Studio 2010

http://serverlocation/niku/wsdl/Query/Resource_data

This is the link we are going to use for accessing the clarity data from Visual Studio 2010.

Step1:

Create one new Web Application/Stand alone project

Step2:

Go To Solution explorer. --> Using Service Reference -- Connect Above mentioned URL.

Step3:

After successful completion of above step, please declare the service name in the top of page.
and start accessing all the classes and method.

Sample Source code based on URL mentioned.


            string sessionId = string.Empty;
            Auth objAuth = new Auth();
            objAuth.Username = "XOG_USER";
            objAuth.Password = "test";


           
         
           Resource_dataFilter objFilter = new Resource_dataFilter();
            objFilter.res_id = "5015283";
            Resource_dataQuery objResourcequery = new Resource_dataQuery();
            objResourcequery.Code = "Resource_data";
            objResourcequery.Filter = objFilter;

            Resource_dataQueryResult objectresult = new Resource_dataQueryResult();
                   
            Resource_dataQueryPortClient objClient = new Resource_dataQueryPortClient();
            sessionId = objClient.WrappedLogin("XOG_USER", "test");
         
            objectresult = objClient.Query(objAuth, objResourcequery);

This example based on the resource id will receive all the respective data through WSDL.
Note: In the source code, highlighted one vary based your URL and query name.

Happy Coding 
Bala

List of Resource Based on Role in Clarity


I am downloading the resources who is having the access to create the task under project.

Sample query


SELECT user_id,user_name
FROM cmn_sec_assgnd_obj_perm_r_v
WHERE object_type = 'RECORD'
AND object_code = 'PRJ_PROJECT'
AND permission_code IN ('prProjectViewer')
AND component_code = 'PRJ'

Happy Coding

Bala

Monday, February 11, 2013

Actuate Spreed Sheet - Connect and Configure Database

As i mentioned in the earlier post and open .vts file.

Step 1:

Click "Data Manager" in Data menu

Step 2:

You can use below connectivity to connect respective destination

- ODBC connection
- JDBC Connection
- File/URL Connection
- SAP Connection
- XML Connection
- Actuate data integration service connection

Step 3:

I have used ODBC connection to connect database for my report.

Note: There is a challenge, some time TNSnames.ora file configuration will not work here. better to create new connectivity datasource by using ODBC connection in control panel.
Also note: windows 7 - we need to use odbc bat file to create new datasource

happy coding
Bala

Actuate Spread Sheet Configure for existing report to modify


Step 1:
Install Actuate Spread Sheet report version 7

Step 2:
Download, There is a file name with extension called VTF.

Step 3:
Convert VTF extension in to .ZIP file and extract all the files.

Step 4:
After extraction, you can see three files with .vts,.guid and rop.
Example:
test.vts
test.guid
test.rop

Step 5:
we will take example of above mentioned files. open "test.vts" file, then it will take in to spreed sheet report to do the changes.

Note: The version 7, will not allow to open immediately, again you have to open same file by using 
menu option "open". 

Wednesday, January 30, 2013

Clearing the Caches in Clarity


In the URL

please type "Security.caches" in the clarity URL(Refer below URL) and enter you will see some buttons with flush and flush all.

please click on flush all and it will clear your cache.

http://serverlocation/niku/app?action=security.caches


happy coding
Bala

Tuesday, January 22, 2013

Clarity important tables to connect project and task.

Clarity important tables to connect project and task.
They are three tables 

- odf_ca_project ( This will have the all the attributes created for project)
odf_ca_task ( This will have the all the attributes created for tasks under project)
prtask ( This is important table which will connect the project and tasks by using project id.)

Sample query to connect the task and project by using prtask table.


update odf_ca_task oct
set oct.wbso100 = 'Yes'
where oct.id in (select prt.prid from odf_ca_project odf,prtask prt
where prt.prprojectid = odf.id
and odf.wbso_subsidy = 'ws_yes');

Happy coding 
Bala

Monday, January 21, 2013

Clarity 13 Offline Time sheet Will not be avilable



Clarity 13 Offline Time sheet

Offline time sheet will not available any more in clarity 13 release.





Configuring Actuate Spread Sheet Report.


Step 1:

Install actuate spread sheet report from Actuate website. 

Step 1:

Mentioned below file require to do the modification.

Example: R175_Phi_Month_v0.1_qa.VTX design file you will get 

Step 2: 

Convert to the above file to zip file like this R175_Phi_Month_v0.1_qa.ZIP

Step 3: 

After converting extract the zip file and you will fine three files. 

- R175_Phi_Month_v0.1_qa.guid  (Guid File)
- R175_Phi_Month_v0.1_qa (Actuate parameter Template)
- R175_Phi_Month_v0.1_qa (Formula one file)

Click on the Actuate parameter template file, it will open in the spread sheet environment. 
some time if does not open, please reopen through actuate spread sheet. 

Step 4:

After opening go to Data file and then click "Data manager", you can find the connection and query, 

if you have any connection issue in the odbc. create connection through ODBC driver.

Happy coding 
Bala

Create ODBC connection using Windows 7

Step 1:

open this path in windows C:\Windows\SysWOW64

Step 2:

Please click on this file :odbcad32

Step 3:

After clicking the above mentioned file, it will open popup window with contains multiple tabs.

Step 4:
please open "System DSN" tab to select and add the ODBC connection to respective database servers

Happy coding
Bala

Monday, December 17, 2012

Clarity 13 Performance

Clarity 13 Partial load

When you make changes in the page only part of the page needs to be refreshed. instead of whole page like previous version of clarity.

You will notice that there is now a # sign in the URL. This is what allows clarity reload/redraw part of the page instead of whole page.






Monday, December 3, 2012

Actuate Chart Report

Dynamically changing the chart value by using the CustomizeCategoriesAndSeries event

Sub CustomizeCategoriesAndSeries( baseLayer As AcChartLayer, overlayLayer As AcChartLayer, studyLayers() As AcChartLayer )

Super::CustomizeCategoriesAndSeries( baseLayer, overlayLayer, studyLayers )

Dim checkMonth as integer

checkMonth=month(now)

if(checkMonth<>1) then

Dim numberOfSeries As Integer

numberOfSeries = baseLayer.GetNumberOfSeries( )

Dim seriesIndex As Integer

For seriesIndex =checkMonth To numberOfSeries

Dim series As AcChartSeries

Set series = baseLayer.GetSeries( seriesIndex )

Dim point As AcChartPoint

Dim pointIndex As Integer

Set point = series.GetPoint( 1 )

point.SetYValue(0)

Next seriesIndex

end if

End Sub

Tuesday, May 15, 2012

Full Text Search in SQL Server 2012


The Full Text Search in SQL Server 2012 has been enhanced by allowing you to search and index data stored in extended properties or metadata. Consider a PDF document that has "properties" filled in like Name, Type, Folder path, Size, Date Created, etc. In the newest release of SQL Server, this data could be indexes and searched along with the data in the document itself. The data does have to be exposed to work, but it's possible now

Ad-Hoc Query Paging in Sqlserver 2012

Ad-Hoc Query Paging:
Paging results in SQL Server has been discussed for years. The Order By option in the SQL SELECT statement has been enhanced in SQL Server 2012. Using a combination of OFFSET and FETCH along with ORDER BY gives you control of paging through a result set. Using this technique can really help performance by bring back only the results you want to show to your users when they are needed. The following TSQL code runs against the Person table in the AdventureWorks sample database (available from Microsoft). In the sample query below, SQL Server would return 10 records beginning with record 11. The OFFSET command provides a starting point for the SELECT statement in terms of paging, and the FETCH command provides how many records to return at a time. SELECT BusinessEntityID, FirstName, LastName FROM Person.Person ORDER BY BusinessEntityID OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;