Question

ETM - fetch item by Custom Field value (variable assyst search?)

  • 27 September 2023
  • 4 replies
  • 107 views

Badge +5

Hello,

ETM Version 1.5.0

Thanks to the support here in the forum, i am able to expand and access Customfields as described here: https://wiki.axiossystems.com/assyst11-6Wiki/index.php/Category:assystREST#Field_Expansion_and_Filtering
 

However, the opposite way would now be needed: To identify an item based on the value of an CustomField via ETM.

i couldn't find a way to search for Item by CustomFields inside an Datamapper.

I also couldn't find a suitable variable assyst search for this task.

In this specific case, it is about finding an item using the IP address, which is stored in a custom field of the item-formular (and finally create an New Event with the found Item as Item_B, which shouldnt be a Problem)

Is this even the right approach inside ETM?

If it is possible to create/update an additional Look Table i could create a separate Channel to gain access to the needed information in this way (Even if this is not the prefered way to store identical Data on different places). But i also couldn't find a way to do this.

I have no Problem at all to read this information directly via SQL-Query from the assyst-Database. Maybe there is another smart way integrating/regarding DB-access for Imports to get this accomplished.

Some Advice to resolve this Task would be appreciated

Kind Regards

Christian Margardt


4 replies

Badge +5

Hi,

as i just found in an related Topic, this seems currently not possible:

 

if there already exists a correpsonding Idea, i would like to support it.

Kind Regards

Christian Margardt

Userlevel 2
Badge +9

It seems this *might* be possible. assyst 11.6 seems to have added the ability to query by shared  custom fields. So you’ll need to define a suitable shared field.

Once you do this the new query parameter should appear in the RAML (http://<assyst>/REST/v2/raml?showDetail=true).

/items:

  type: collection

  get:

    queryParameters:

      CSGId:

        type: integer

      CSGShortCode:

        type: string

      FilteringCSGId:

        type: integer

      LookupCSGId:

        type: integer

      acquiredDate:

        type: date

      acquiredMethod:

        type: integer

      customColumns.testitemboolean:

        type: boolean

      customColumns.testitemdate:

        type: date

      customColumns.testitemdecimal:

        type: number

      customColumns.testiteminteger:

        type: integer

      customColumns.testitemlookup:

        type: string

      customColumns.testitemstring:

        type: string

If you get this far then ETM should be able to use these query parameters to find items. There are a couple of caveats to that:

  1. You’ll need to use ETM 1.6 or later (earlier versions only support query parameters that correspond to a field on the entity definition)
  2. You’ll need to force ETM to re-read the RAML definition (ETM assumes it’s static for each assyst version). To do this
    1. delete the file  <IPAAS>\apache-karaf-4.1.1\restmodel<ipaas version>.mod
    2. restart IPaaS

I haven’t had a chance to verify this, but it should work. 

Badge +5

Hello Paul,

thanks for your reply.

It might actually work, but unfortunately the custom fields are not available even under ETM 1.7.1 - at least in relation with our current assyst Version 11.4.1. We will try again after an Update.

Kind Regards

Christian

Userlevel 2
Badge +9

It’s core assyst that will need to be on a later version (>=11.6) for this to (probably) work. 

Reply