Hello @dpraneeth
From what I understand about external keys, they exist to reflect an existing ID outside of the Portfolios data model. E.g. external keys for an expenditure can be the corresponding ID in your financial or procurement systems. I can’t think of an example for labor rate cards, but that may well exists.
One thing important to note is that you are not required to use ekeys if you don’t have the use case for. You can read, upsert and delete using search keys, or even internal keys if you store them somewhere.
Thanks @Laurent. Where do we get more information on internal keys? I am trying to read existing rate card and I am not sure what should I pass in the String parameter?
CSC (ILaborRateCardService2 - Planview Customer Success Center) has below parameter for read using search.
In this instance, how do we come up with the string and what is 8 (I assume internal key) in this example.
<
arr:string
>search://8/?card_name=Test Card Name</
arr:string
Basically when using key://
or search://
you have to give as first member the key type corresponding to the data you are working with. Here, the key type for Labor Rate Cards is 8
.
This is explained in more details in the following CSC article. Look here for the Key Type table : https://success.planview.com/Planview_Portfolios/Integrations/SOAP_Web_Services/Getting_Started_with_Web_Services. Be careful the table columns look misaligned at some point.
For each key, the value to use is also explained there in the table coming just next: Key URI Format. For Labor Rate Cards, the Key URI format is:
key://8/<rate_card.card_code>
So you have to store the rate card ‘card_code’ ID from the Portfolios data model somewhere to use this directly. That is why it may be easier to use the search key as detailed in the paragraph coming again just next: Search Key URI Format.
For Labor Rate Cards, the Search Key URI format is:
search://8?set_name=<set name>&card_name=<card name>
Note again the 8
to tell the service your are looking for a Labor Rate Card. Here the CSC article explains what the rules are for the ‘set name’ and ‘card name’ parameters, especially in the matter of special characters (watch for ‘=’ and ‘&’ characters in your data!), and it is specified that both parameters are required.