Maximo Anywhere Fetch Domain Data issue - maximo

I am using Maximo Anywhere 7.5.2(Work Execution App). I have added a domain field in SYNONYM-DOMAIN but I couldn't fetch the data from MAM. New Field AREA (Area Code and Area Desc) which is similar to existing STATUS field (Status code and Status Desc).
From the below code, where "getworktype" query exists. Is it just a name given here or mapped in Maximo..
<queryBases id="additionalworktype_queryBases">
<queryBase id="additionalworktype_queryBase_getworktype" name="getworktype" queryUri="/oslc/os/oslcworktype"/>
</queryBases>
<whereClause id="additionalworktype_whereClause"/>

From that example, the name="getworktype" is not mapping to any underlying query in the Maximo server.
Can you post some more information please about your Synonymdomain resource that's not pulling the new fields?

Related

Dynamic domain that gets list of saved asset queries as values?

Maximo 7.6.1.1:
I have a custom field in PMs called SAVEDASSETQUERY.
I would like to add a domain to this field that is a list of all saved asset queries that the user has access to.
It would be ideal if the domain were dynamic. If a new saved asset query were added to Maximo, then it would automatically show up in the domain/field in the PM application.
The reason for doing this is: I want to avoid data entry errors in the SAVEDASSETQUERY field.
Is it possible to do this with automation scripting, or would it require Java customization?
You could use a standard TABLE domain on the QUERY table object to achieve this. To filter on the user's queries (attribute OWNER), you would use the :&USERNAME& special bind variable.
Table domains:
https://www.ibm.com/support/pages/adding-lookup-functionality-field-maximo-using-table-domain
Bind variables:
https://www.ibm.com/support/pages/username-appname-and-other-special-bind-variables-you-can-use

Find the history of Deleted Data in QLDB

I have created Vehicle Table In the Ledger and added some vehicles in QLDB and I deleted the vehicle data.Now I am not able to fetch the metadata id because user table and committed table will have only non-deleted latest version of application data.So I am not able to fetch History of that deleted Data through metadata.Kindly help me with PartiQL query to fetch the History, if there is a way.
Note: I don't have vehicle registration table which stores metadataId of vehicles.
The way you are doing it is correct. First, you filter on history by some known attribute (in this case, a user defined primary key such as 'VIN') and you retrieve the document id. After that, you can filter history using that document id.
The second query should return the same as the first but it will also contain the deletion information (the first query will not include it because the deletion removes the attribute).
Note that the document id is returned as part of the DELETE PartiQL statement.

how to recover couchDB documents

I see this has been discussed previously (here:Retrieve just deleted document) but I am having some trouble understanding.
Given I have a database named "test" running on IP address 127.0.0.1:5984, and a document with the ID "xyz123":
Get all the revisions of the deleted document with the following request:
$db/$id?revs=true&open_revs=all
Where $db is your CouchDB database name and $id is your deleted document id.
Does this mean:
GET http://127.0.0.1:5984/test/"xyz123"?revs=true&open_revs=all ??
I am not sure of the correct syntax for submitting "$id".
The id becomes part of the URL, no quoting necessary. Your example call would be GET http://127.0.0.1:5984/test/xyz123?revs=true&open_revs=all.
For reference, the documents API area has some basic id examples.

Set values in workorder created from Asset in Maximo

I would like to create work order using escalation once the asset is moved to some other location (like REPAIR) using move/modify. I do understand that we can trigger CREATEWO however I am not sure on how to set the values on some fields in work order like worktype, workact , etc. Also I am unable to pick the correct record which has performed move modify ( unable to fetch the exact record using ASSETTRANS table).
Let me know if anyone has done this before, thanks in advance!
It sounds like you have an Escalation calling an Action that calls the AppAction CREATEWO. Assuming that's correct..
First, create a Relationship in DB Config between the ASSET object and WORKORDER that will find the most recent work order against this asset. You can look at the NEWWORKORDER relationships on WORKORDER and TICKET as an example. For reference, I will assume you name this relationship MYNEWWORKORDER.
Next, create some Actions against the ASSET object that use MYNEWWORKORDER.<ATTRIBUTENAME> in the Parameter/Attribute field, where <ATTRIBUTENAME> is the name of the attribute (e.g. WORKTYPE) you want to supply a value for in the Value field.
Once that is done, create an Action of type Action Group where CREATEWO is the first member and the Actions you just made are the succeeding members.
Finally, update the Escalation to call your new Action Group instead of the numbered one that the Escalation application created for you.

Net Suite Override internal id

Is this possible to set or override the internalid of a custom record type ?
The internalid is self generated, but I want to try to set inernalid value from a cvs field.
I do not believe you can override the internalid of any record instance, even a custom one. You can, however, use the externalid field that I believe every record has if you want to specify a "secondary" identifier for the record.
You cannot override the internal ID of a record. As mentioned in a previous response to your question, you can (and should) set the external ID field on the NetSuite records to equal the primary key of the data being imported.
On future imports that update NetSuite data, you simply map the key field of the imported data to the external ID field in NetSuite. You can ignore the internal ID field on those future imports, as Netsuite will match up the records based upon the external ID.
This is the proper way to do this - I've seen tons of situations where people did not understand the external ID concept, and created huge, long term maintenance issues by not following this simple solution.
OK. Given your feedback, why not create another custom field on the customer record that references the lookup value in the custom record?
The field type should be the same as the field type of the lookup value, with "store value" checkbox unchecked. On the Sourcing and Filtering tab, you specify the custom record type and field to reference. Think of it as a SQL join of sorts between the customer record and custom record.
Then, you should be able to do what you want with 2 getCurrentAttribute tags:
<%= getcurrentattribute('cusomter', 'custentity_mappingid')%>
<%= getcurrentattribute('cusomter', 'custentity_mappingvalue')%>
BTW, your custom field internal IDs look a little odd. They should start with 'custentity', and 'custrecord', respectively. My code above reflects what you'd normally expect from NetSuite.
You can set ExternalId and if you want to get record then you can use callGetRecordByExternalId .
public ReadResponse callGetRecordByExternalId(String externalId, RecordType recordType) throws RemoteException {
return this.callGetRecord(Utils.createRecordRefWithExternalId(externalId, recordType));
}

Resources