Maximo

 View Only
Expand all | Collapse all

Adding Columns to Download Table Excel File but not showing them on Screen

  • 1.  Adding Columns to Download Table Excel File but not showing them on Screen

    Posted Wed October 26, 2022 09:16 AM
    Hi,

    May I know if its possible to add columns to the Download Table Excel file but I don't want this column to be visible to any User on the Application List Tab in Maximo?

    ------------------------------
    Gagan Deep Bansal Director
    ABC
    Calgary AB
    ------------------------------

    #Maximo
    #AssetandFacilitiesManagement


  • 2.  RE: Adding Columns to Download Table Excel File but not showing them on Screen

    Posted Thu October 27, 2022 03:19 AM
    Easiest way I guess is to create a specific object structure and use application export instead of list view export

    ------------------------------
    Agron Basha
    ------------------------------



  • 3.  RE: Adding Columns to Download Table Excel File but not showing them on Screen

    Posted Fri October 28, 2022 02:31 PM
    Thank you for responding to my question Agron. I will check with the business if Application Export fits there needs.

    ------------------------------
    Gagan Deep Bansal Director
    ABC
    Calgary AB
    ------------------------------



  • 4.  RE: Adding Columns to Download Table Excel File but not showing them on Screen

    IBM Champion
    Posted Thu October 27, 2022 08:10 AM
    The short answer is no you cannot do that.

    You may not want to grant users access to the application export functionality.

    In that case consider giving the users access to Query Based Reporting or building a custom BIRT report.
    It is important to understand how the exported data is going to be used particularly if it is going to be analysed. Maximo's tools may be able to replicate some of the analysis steps more efficiently / perform additional steps

    ------------------------------
    Mark Robbins
    Support Lead/Technical Design Authority / IBM Champion 2017 & 2018 & 2019 & 2020 & 2021
    Vetasi Limited
    https://www.linkedin.com/pulse/maximo-support-advice-from-non-ibm-engineer-article-mark-robbins/
    ------------------------------



  • 5.  RE: Adding Columns to Download Table Excel File but not showing them on Screen

    Posted Fri October 28, 2022 08:27 AM
    Expanding on Mark's "more efficiently" comment, the table download and application export establish MBO records for performing that download. There are some advantages to this, such as being able to retrieve non-persistent attributes that don't exist in the database. But MBOs can have a lot of overhead associated with them where additional sets might be pulled in for example (each location record pulling in the locoper record) which can greatly impact the performance of the download. This can occur via Java classes or some automation script launch points. 

    Reports on the other hand execute database queries that you can optimize. For example, if the object in your table download was WORKORDER and one of the columns was ASSET.DESCRIPTION, using MBOs Maximo will retrieve that asset record as an additional query per workorder (IE 5000 work orders would execute at least 5000 additional queries to return that information). Inside of a report you would perform a left join and you'll be able to return the same information with a single query. On large datasets, this will typically be faster than working with table download or application export.

    ------------------------------
    Steven Shull
    ------------------------------



  • 6.  RE: Adding Columns to Download Table Excel File but not showing them on Screen

    Posted Fri October 28, 2022 02:37 PM
    Thank you for adding further details Steven and explaining the performance impact in each of these options. I will check with the business which option fits there needs the best

    ------------------------------
    Gagan Deep Bansal Director
    ABC
    Calgary AB
    ------------------------------



  • 7.  RE: Adding Columns to Download Table Excel File but not showing them on Screen

    IBM Champion
    Posted Mon October 31, 2022 11:55 AM
    Hi @Steven Shull,

    Sorry to sidetrack the conversation, but one point you stated was on the join type for the report. In the example you gave you said you'd do a left join for the ASSET.DESCRIPTION field. I've always understood the LEFT vs INNER join to be used was based on the context of what I could expected to see - e.g. if I don't know if a WORKORDER record was against an Asset, but I want all WO's regardless, then I would be using a LEFT OUTER join on the ASSET table. 

    select workorder.wonum, workorder​.description as wo_desc, workorder.assetnum, asset.description as asset_desc
    from workorder 
    left outer join asset on workorder.assetnum=asset.assetnum and workorder.siteid=asset.siteid 
    where ...

    But if the report/query was for all records that had to have an ASSET detail, then INNER JOIN was the preferred method. 

    select workorder.wonum, workorder​.description as wo_desc, workorder.assetnum, asset.description as asset_desc
    from workorder 
    join asset on workorder.assetnum=asset.assetnum and workorder.siteid=asset.siteid 
    where ...

    What I took away from your comment is the Maximo MBO's do something to cause one join type to be more efficient than another. Is that correct?

    ------------------------------
    Jason Verly
    Director of Reliability Engineering
    Agropur US
    ------------------------------



  • 8.  RE: Adding Columns to Download Table Excel File but not showing them on Screen

    Posted Mon October 31, 2022 02:40 PM

    MBOs (mostly) will never use joins today. Keeping things simple, let's say that a user provided a filter that returns 2 WOs (1234 and 1235) that both reference asset 11430. What would happen in the Maximo framework if the Asset Description is displayed would be something like this:

    select * from workorder where wonum in ('1234','1235') and siteid='BEDFORD';
    select * from asset where assetnum='11430' and siteid='BEDFORD';
    select * from asset where assetnum='11430' and siteid='BEDFORD';

    The reason we execute queries like this is because there is no upfront process that will tell us every child set that we will need to fulfill that request. The object class, automation scripts, field classes, etc. can all cause additional sets to need to be pulled and will often do it conditionally. Pulling in one child object (ASSET) may cause a child object of that to be pulled in. These child sets are typically based on the values coming from the fields of the "owning" object. In this case, even though the assetnum is the same, the first query would be for WO 1234 and the second would be for WO 1235 and it would have retrieved the ASSETNUM & SITEID from each WORKORDER.

    That is why it is important to utilize the same set name whenever possible. If we have already determined that WO 1234 has opened a set utilizing the relationship name ASSET, we'll re-use that MBO instead of establishing a new MBO. But if we used a different relationship name then that could trigger differences in logic so the framework will execute another query against ASSET and we'll have two ASSET MBOs even if the query was identical. 

    There are some things that can be done to mitigate the impact. For example, we have a concept called shared MboSets that most people aren't familiar with. This allows you to share a child MboSet across all Mbos in the MboSet. For example, INVENTORY->LOCATION is a situation where it's highly probable that you'll have many inventory records in the same set referencing the same location record. In our init event of the Inventory record today we retrieve each location as a child Mbo of that Inventory location. But this causes us to retrieve that same LOCATION Mbo potentially thousands of times. I got us to accept this specific scenario as a defect (IJ42046 https://www.ibm.com/support/pages/apar/IJ42046) because with a minor change to use the shared MboSets we can reduce the impact in bulk operations (table download, REST API, etc.). 

    The primary use case though where we use this out of the box is when we potentially have multiple records in a set that could update a record to help avoid the record updated by another user error. For example, if in Labor Reporting you reported multiple labor entries against the same WO, each one of those will update the WO cost information. If we let each labor transaction open a set to WO, we wouldn't be able to save multiple labor transactions at the same time because we would get that record updated by another user error. 

    You can use the shared Mbo set by calling getSharedMboSet("OBJECTNAME",whereclause) from the set in question. Utilizing our Asset scenario, something like:

    sharedAssetSet=mbo.getThisMboSet().getSharedMboSet("ASSET","assetnum='11430' and siteid='BEDFORD'")

    If a set for that table with that where clause doesn't exist yet, Maximo will execute the query when you call sharedAssetSet.getMbo(0) for example. If it already exists then we won't open a new version of the set.

    For the REST API, we have the APILINKEDOBJECT table (and a corresponding cache). This allows us to take advantage of caching child MBOs specifically in context of the REST API where the sets are retrieved by the API call (IE oslc.select=wonum,description,assetnum,asset.description). We define how to link from the parent object (WORKORDER) to child object (ASSET) utilizing the specific relationship name we expect. Then the REST API will maintain the cache per page (important to note that it is per page because if you have a small page size this will be of limited value) to try and avoid initializing that MBO for each record. If the underlying Java class or automation script pulls in the child set that would still occur. This only assists when the organization defines the related set in context of the API request. 



    ------------------------------
    Steven Shull
    ------------------------------



  • 9.  RE: Adding Columns to Download Table Excel File but not showing them on Screen

    Posted Fri October 28, 2022 02:33 PM
    Thank you for responding to my question Mark!
    I will check with the business if a QBR or BIRT report fits there need.

    ------------------------------
    Gagan Deep Bansal Director
    ABC
    Calgary AB
    ------------------------------



  • 10.  RE: Adding Columns to Download Table Excel File but not showing them on Screen

    Posted Mon October 31, 2022 01:38 AM
    I don't know, but for as also Cognos was available as standard, with installation. You can create also specific report there, even with filters.
    Also, if there is just one specific layout needed, You can create copy of that application, and make there needed column layout. Yes, it is "specific" approach, but it works.

    ------------------------------
    Juris Flugins
    ------------------------------