cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

We are happy to announce the new Windchill Customization board! Learn more.

Need info on Windchill IBA attributes.

sdaftardar
12-Amethyst

Need info on Windchill IBA attributes.

I am trying to update the last modification date and the creation date on a Windchill Object, say WTPart, and while searching info regarding this I stumbled on IBA attributes.

I am new to Windchill and am not able to relate these kind of terminologies to the application.

So can somebody please explain to me what do IBA attributes in Windchill mean, and how are they different from other attributes of Windchill.
and if the last modification date and creation date of objects are IBA attributes, is there a way to update these attributes using a Windchill task so that we won't need to worry about updating these attributes directly to the database.

1 ACCEPTED SOLUTION

Accepted Solutions

Hi

IBAs are "Instance Based Attributes".  You can add easily IBAs on existing Windchill objects by simple configuration in TypeManager.

In the opposite MBAs are modeled based attributes.  "hard modeled" in standard Windchill Objects.

creation and modification dates are MBAs

View solution in original post

9 REPLIES 9

Hi

IBAs are "Instance Based Attributes".  You can add easily IBAs on existing Windchill objects by simple configuration in TypeManager.

In the opposite MBAs are modeled based attributes.  "hard modeled" in standard Windchill Objects.

creation and modification dates are MBAs

Hi Gregory,


Thanks for your reply and the info,


I am to understand that we can update the Windchill objects for most MBAs using the Update-Objects webject, but we have noticed we cannot use them to update the last modification and creation date. Do you know some other way by which this can be achieved?

Hello,

The way I explain to people the difference of MBA and IBA are by calling them system attributes or business attributes

The system attributes are normally fully managed automatically (according to the configuration rules) by the systems

The business attributes are those each business create for their own business needs such as Brand, Length, Component type etc....

About 3 years ago, we had an issue and our external consultant developed a script to be ran from the Windchill Shell to modify the modified dates.

We needed to create a csv file containing

object number, object type, version, new date

Then We ran the script calling the csv file and the script changed those date. From a user perspective, it was impossible to tell the dates had been changed. Unless you had some screenshots !!!

Hope this helps

I know this would be a long shot asking you this , but can you still get your hands on the script?
If you are not in a position to share it's completely understood. I am just hoping to get my hands on the services that your consultant might have used to get this thing working.

I am afraid  but I can't because I have changed company since then.

Siddhartha Daftardar wrote:

Hi Gregory,


Thanks for your reply and the info,


I am to understand that we can update the Windchill objects for most MBAs using the Update-Objects webject, but we have noticed we cannot use them to update the last modification and creation date. Do you know some other way by which this can be achieved?

You have to modify the appropriate column in the appropriate database record to change the various timestamps. For example to modify timestamps for a wtpart the columns in the wtpart table that need changing are these:

  • CREATESTAMPA2
  • MODIFYSTAMPA2
  • UPDATESTAMPA2

Along the same lines are the various "who did it" attributes. To modify users for a wtpart the (some of the) columns in the wtpart table that need changing are these:

  • IDA3D2ITERATIONINFO
    • created by user
  • IDA3B2ITERATIONINFO
    • modified by user

I had done quiet some RnD on this, I knew these columns from the database.
My only concern was that if these kind of database updates would take the application database in an inconsistent state.
I mean when I used an SQL profiler to track what all objects are affected when we update a WTPart, and it turns quiet a lot of tables are affected.

Therefore, I was searching for some windchill services which would do the job, instead of us taking the database update route.

Do you opt for a direct database update while providing the solution?
and do you believe that there might be some ramifications to this method?

BenPerry
13-Aquamarine
(To:sdaftardar)

For what it is worth...

One time I bulk loaded a few hundred WTDocuments.  I had the modify date from Windows, and created a script around that to update WTDOCUMENT and WTDOCUMENTMASTER tables with those old dates after the import.  I can't remember the exact syntax, but I think it was only the *STAMPA2 columns Randy mentioned above.

The method I used for the load was just a DTI drag & drop.  And curiously, after the documents were loaded into Windchill, all of the timestamps on the Windows side changed to the current time.  DTI did something to the documents as they were loaded into Windchill.  But it doesn't matter.  They were deleted after the load anyway.  Migrated to Windchill.  The moral is to get the timestamps from Windows before moving to Windchill using DTI. 

Siddhartha Daftardar wrote:

I had done quiet some RnD on this, I knew these columns from the database.
My only concern was that if these kind of database updates would take the application database in an inconsistent state.
I mean when I used an SQL profiler to track what all objects are affected when we update a WTPart, and it turns quiet a lot of tables are affected.

Therefore, I was searching for some windchill services which would do the job, instead of us taking the database update route.

Do you opt for a direct database update while providing the solution?
and do you believe that there might be some ramifications to this method?

If you want to change these then direct database update is the only solution. As far as I know there are no Windchill api's or services that will do that. I have successfully updated the timestamps and the "who did it"s for many wtparts and epmdocuments using either sql statements or from a  java program.

One of the projects I am currently working on involves creating wtparts from an external database. After the creation of each wtpart (using Windchill api) I then set its timestamp(s) and its user(s) from the timestamps and users from the external source.

Top Tags