Princeton University Facility Resource Center (FRC) stores about half million architecture drawings and maps for buildings all over the campus. In order to store these paper-based legacy documents longer, they were scanned into digital format and stored on a file server.
We use Maximo asset module to manage these electronic data by classifying them based on their buildings, authors, drawing dates, drawing firms, file types, project names, and other parameters.
In order to make this tedious procedure routinely, we use the following steps:
1. FRC generates the loading data sheet into a excel file containing values for all the corrseponding fields in Maximo’s Asset table:
2. When the file is ready to be imported by Maximo, that file need to be dropped into a folder on the Maximo server.
3. A cron-job runs regularly on the server, it retrieves the file from the folder and creates new asset records based on the values from each row of the file using MBO:
MboSetRemote objSet = mxsession.getMboSet("ASSET"); MboRemote obj = (MboRemote) objSet.add(); obj.setValue("ASSETNUM", assetnum); obj.setValue("LOCATION", location); obj.setValue("DESCRIPTION", asset_desc); obj.setValue("FRCPROJNAME", frcprojname); obj.setValue("FRCAUTHOR", frcauthor); obj.setValue("FRCAUTHORDRAWNUM", frcauthordrawnum); obj.setValue("FRCDISCIPLINE", frcdiscipline); obj.setValue("FRCDATE", frcdate); obj.setValue("FRCSTATUS", frcstatus); obj.setValue("FRCAUTHORPROJNUM", frcauthorprojnum); obj.setValue("FRCDOCUMENT", document); obj.setValue("FRCDOCLOCATION", frcdoclocation); obj.setValue("FRCFILETYPE", frcfiletype); obj.setValue("FRCMOBILEFRIEND", frcmobilefriend); obj.setValue("FRCLEGACYFILENAME", frclegacyfilename); ............. objSet.save();
4. After a new asset was created, its doclinks attachedment will be created using MBO:
MboSetRemote objSet = mxsession.getMboSet("DOCINFO"); MboRemote obj = (MboRemote) objSet.add(); obj.setValue("DOCUMENT", frcdocument); obj.setValue("DESCRIPTION", asset_desc); obj.setValue("URLTYPE", "URL"); obj.setValue("DOCTYPE", "Attachments"); obj.setValue("URLNAME", url); objSet.save(); MboSetRemote objSet = mxsession.getMboSet("DOCLINKS"); MboRemote obj = (MboRemote) objSet.add(); obj.setValue("DOCTYPE", "Attachments"); obj.setValue("OWNERTABLE", "ASSET"); obj.setValue("OWNERID", ownerid); obj.setValue("DOCINFOID", docinfoid); obj.setValue("DOCUMENT", document); objSet.save();
5. Each run generates a log file containing the status and a backup file in case we need it later.
6. Maximo users can go to asset module, select assets and view their attachments as a URL pointed to a location on the file server.
Also, we have web developers from InterPro Solutions build a user-friendly website for us so our user can easily search, view those documents from the website:
In summary, we feel that using the MBO directly to handle importing records from files into Maximo is more flexible and managebale than using MIF or other methods for this specific project.
Can you explain why MIF couldn’t do what was needed?
> In summary, we feel that using the MBO directly to handle importing records from files into Maximo is more flexible and managebale than using MIF or other methods for this specific project.