How to add History using a custom method?

I want to log in History when a specific "Action" is performed on a "Part" . I try to do this by adding to the "History" table. I do get a response that the record is added, However, I do not see a record in the database, neither visible in the History View. I try to do this by invoking "History Daemon" identity.

How can i achieve this in Aras?

<Item action='add' type='History'>
<action>Special Action</action>
<source_id>#######ITEM HISTORY CONTAINER ID#############/source_id>
<comments>Attempted Special Action</comments>
<item_id>#######ITEM ID##############</item_id>

  • Hi Sathish

    I'm able to add the history to part and able to see in Part History in UI as well as in SQL table. I added Super User to History Daemon identity

    AML Query

    <Item action='add' type='History'>
    <action>Special Action</action>
    <comments>Attempted Special Action</comments>

    SQL Query

    SELECT * FROM [innovator].[HISTORY]
    WHERE COMMENTS = 'Attempted Special Action'

  • Interesting. The same doesn't work for me in SP11. Can you confirm,if the CREATED_ON_TICK value is populated in the HISTORY table? The AML does not pass any value for this field. Does the API calculate this automatically?

  • Hi, 

    I currently test History Method in my environment. Tracking history for certain custom Actions is really something very useful. But how did you manage to get the source_id  of the History Container?

    Would be very happy if somebody can give me a hint!

  • I don´t want to take over this thread, but I have made a quick test today and maybe this helps. I want to create a generic Method that I can reuse in various other Methods to track certain events. E.g. I want to track when user started certain tasks from Form elements or Actions. 

    This one worked for me. Record is visible in History view. Used Innovator version is 11SP15.

    <Removed by author. Code available via PM for end users. >


    - When I added the 'Super User' or 'Aras PLM' to the 'History Daemon' identity, I still wasn´t able to add a new History entry. I finally decided to directly use the History Daemon.
    DateTime.UtcNow.Ticks.ToString() that I used for created_on_tick is based on an Aras code sample (Method 'VC_PopulateAndAddSecureMessage')
    - There are still some properties missing. The current sample doesn´t set the revision properties that are used in the History

    I wonder if the same can be achieved more easily. Writing a history entry is no exotic task. Isn´t there some Aras Method available that we can reuse?

  • Hi Angelalp,

    thanks for the code. I agree this should be a standard API function. Indeed, we also get customers requests to make some important action visible in the history, which not necessarily is a standard action.

    Best regards,


  • BTW, in your code you push the type name (getType()) into the itemtype_id which obviously does not work. Luckily, you don't need the type to get the history container (id should be unique). So when you just omit this in the search, the code works.

  • Hi Raoul,

    thanks for the hint! You´re right, with the itemtype_id. The above query isn´t perfect. I noticed that I use two AML queries. I use a get/add combination. it would be better to unify these two into an edit/add query.

    But is the config_id really unique over all ItemTypes? Or just within one table? 

  • Hi Angela, I love the threads from 5 or 6 years ago, just the version I have, hahahaha.

    Coincidentally, the company is telling me if an entry could be put in the history when they make a version of certain items.
    I was looking a little at the structure of the history items. A little confusing at first like everything in ARAS.

    And looking at the forum I saw this thread. Can you send me or enter the code you entered?

    Thank you so much!!.

  • Hi,

    just send me your email address via the internal messaging system in this forum.

    I just don´t share full code samples code in public anymore, cause in the past certain partners re-selled the stuff while never contributing anything to the forum and community.

    The previous code in this forum was outdated anyway and didn´t contain some important parts. :-D