Forum Discussion

Sathish's avatar
Sathish
Ideator I
7 years ago

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?

<AML>
<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>
</Item>
</AML>




11 Replies

  • 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

    <AML>
    <Item action='add' type='History'>
    <action>Special Action</action>
    <source_id>CA2BB86909A443A6B241253A7BDEEC50</source_id>
    <comments>Attempted Special Action</comments>
    <item_id>{PartID}</item_id>
    </Item>
    </AML>

    SQL Query

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

    • Sathish's avatar
      Sathish
      Ideator I

      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. >

    Remarks: 

    - 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?

    • Raoul's avatar
      Raoul
      Ideator I

      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,

      Raoul

      • Raoul's avatar
        Raoul
        Ideator I

        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.

    • FernandoCG's avatar
      FernandoCG
      Ideator I

      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!!.

      • AngelaIp's avatar
        AngelaIp
        Ideator I

        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