I usually do reconciliations ID for the duplicate match. Give a try taking out instance ID and just use reconciliation ID for filtering duplicates.
Let me know how it works or else we can come up with different ideas.
That got me a little closer (or maybe further!)
I can lookup the ReconID in AST:Attributes form ... and it has the data in the attributes that i want
I can't find the record in the Asset Manager Console Web UI portion by doing a Search -> System -> ComputerSystem
However, doing a query directly against the database, I can find an entry for the asset I just created in the ast_computersystem table/view, and the ast_baseelement table/view. The instanceID, classID, ReconID, all look good and match the CI in the BMC_CORE form
So I'm not sure what the problem is now -- and is there some kind of job that runs that will sync up the Asset Manager console?
Can you let me know are you adding data to any custom fields?
Yes there are a couple custom fields in Asset that I'm trying to add the data to:
It's almost like the simpler fix is to just add those fields to the BaseElement form and sync them with the AssetManager form... then I wouldn't have to mess with trying to push "Asset Specific Fields". Creating the CI and Asset via spreadsheet is easy... it's getting these "Asset-Only Fields" populated that's causing me the grief !
Request_ID Submitter Create_Date Assigned_To Last_Modified_By Modified_Date AssetLifecycleStatus Short_Description AssigneeGroupPermissions Instance_Id Write_Security Sales_TaxV Sales_TaxC Sales_TaxD VendorApplication Serial_Number Category Type Item Department Site Region Part_Number Name Asset_History Realm Asset_ID_ zTmpKeyword Description Notes_Log zPrevAssetID Model_Number Manufacturer_Name_ Manufacturer_ID_____foreign_ke Version_Number Supplier_Name_ Supplier_ID___foreign_key_ Acquired_Method Building SystemRole Current_State Floor Room Installation_Date ChargeBackCode Y2K_Compliant Accounting_Code Supported Tag_Number Budget_Code Cost_Center Invoice_Number Project_Number Backup_Asset_ID__ Order_ID Users_Affected QuantityInStock Book_ValueV Book_ValueC Book_ValueD Available_Date ReturnDate Received_Date Purchase_Date Disposal_Date Fixed_Asset Configuration Requisition_ID PRInstanceID Total_Purchase_CostV Total_Purchase_CostC Total_Purchase_CostD Tax_CreditV Tax_CreditC Tax_CreditD Unit_PriceV Unit_PriceC Unit_PriceD Market_ValueV Market_ValueC Market_ValueD zConfigInstanceID AdditionalDetails Schedule_Type Maintenance_Log AssetClass ReturnReceiptID zPOLineItemInstanceID zPOInstanceID LogicalID zSchemaProperName Depreciated_ LastScanDate HomeCell ImpactCostUnit Owner_contact Owner_name ImpactComputationModel Inventory Instance_Used_By NameFormat Failed_Automatic_Identificatio CostV CostC CostD Priority mc_udid AccountID ComponentAliases TaxCostInstanceID PurchaseCostInstanceID ASTAttributeInstanceId Class_Id OpIdWeakReference Data_Set_Id Mark_As_Deleted Reconciliation_Identity Rel_Lead_Instance_Id Rel_Lead_Class_Id LastREJobrunId UserDisplayObjectName TokenId TokenFormat Confidentiality Availability Integrity AttributeDataSourceList ReferenceInstance zCMDBEngTimestampStub DictionaryId NormalizationStatus CITag ParentCITag MFIntegrationID ReconciliationMergeStatus ADDMIntegrationId MarketVersion NEFeatureStatusMask ReconciliationIdType LastUpdatedDatasetId ReconciliationIdChanged ReconciliationIdentificationEr LicensingType CheckSumValue SystemEnvironment CityName ScheduleId ImpactCostPerSec ImpactCostPerSecOut PriorityWatchdog PriorityOut HomeCellAlias SelfPriorityFunction SelfPriorityFunctionParam HomePageURI PublishToSIM EnterpriseCI Company ITSM_Organization Status_Reason Urgency Impact PO_Number InvOperator InvScannerId InvImportDate InvDateTime InvPushedDate EnvDdmiMonitored EnvOnNetwork Loaner_EndDate Loaner_StartDate 000000095112892|000000041624380 Remedy Application Service 1.52E+09 NULL Remedy Application Service 1.52E+09 11 76JDX91 ;1000000020;1000000000; OI-89be7b8b1d394082b4d092fb8370cf6d NULL 0 USD 1.52E+09 NULL 76JDX91 Hardware Processing Unit Desktop NULL Third Party Location Third Party Location NULL 76JDX91 NULL NULL NULL NULL 76JDX91 NULL NULL Optiplex GX760 NULL NULL NULL NULL NULL 0 TRG Repair NULL NULL NULL NULL NULL NULL 0 NULL 0 76JDX91 NULL Unallocated NULL NULL NULL NULL NULL NULL 0 USD 1.52E+09 NULL NULL NULL NULL NULL 0 NULL NULL NULL 0 USD 1.52E+09 0 USD 1.52E+09 0 USD 1.52E+09 0 USD 1.52E+09 NULL NULL 0 NULL 0 NULL NULL NULL NULL NULL 1 NULL NULL NULL NULL NULL STANDARD 1 NULL NULL 0 0 USD 1.52E+09 0 NULL NULL NULL NULL NULL OI-89be7b8b1d394082b4d092fb8370cf6d BMC_COMPUTERSYSTEM NULL BMC.ASSET NULL REHAA5V0H5HP5APC2SFW3FRO1VN112 NULL NULL NULL NULL 0 NULL NULL NULL NULL MiscAssets_AI NULL NULL NULL 20 76JDX91 NULL NULL 40 NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL US NULL NULL NULL 0 0 Default 0 NULL NULL 0 1 JCPenney NULL NULL NULL NULL NULL NULL TRG NULL 1.52E+09 NULL NULL NULL NULL NULL
I have added lot of custom fields in AST:Attributes and then added the same field to multiple classes and also I have choosed the same database ID for the field in both forms.
Can you try to update any out of the box field using the same spoon job and see if its getting updated? So that its easy to find if its the issue with the spoon job or custom field.
I stripped down the AROutput step to bare minimum as far as mapping fields goes. Same issue... the CI gets created in BMC_CORE ... i can find the corresponding record in AST:Attributes ... I can even query the database directly and see the recon ID in the AST_BaseElement form.
But i cannot search for the record via the UI.
select * from AST_BaseElement where Reconciliation_Identity = 'REHAA5V0H5HP5APC2WLT3JHCPSN7R9'
select * from AST_ComputerSystem where Reconciliation_Identity = 'REHAA5V0H5HP5APC2WLT3JHCPSN7R9'
When I completely disable the AROutput step -- the CI and Asset record get created fine. I am able to view the Asset through the Asset Management console.
So clearly the problem lies with the AROutput step. Something is happening in that step that is preventing the asset from showing up in the Asset Management Console... which is weird.
Can you try to split the transformation? since you already have the CMDB output. Can you create new transformation for AR output?
Ex - Textfile --> CMDB lookup--> AR output.
Also can you add Submitter (values to return from CMDB lookup table) in the CMDB lookup step and give it new name ex- zsubmitter. Merge this field in the AR Output Submitter field.
Also just want to make sure you are mentioning company also right?
Will try this tomorrow. Thanks a ton for your assistance and tips, I appreciate it !
I do have "Company" being mapped in the CMDBOutput step. I am not able to map "Company" in the AROutput step because it's not a valid field in the AST:Attributes form.
I took a screenshot of what a "good Asset" looks like in the AST:Attributes form (witht he AROutput step disabled). I might try running the process again with the AROutput step ... and comparing the AST:Attributes to see what data might be missing between the 'works' and 'doesnt work' (like Submitter, etc).
So I'm comparing the AST:Attributes form between a CI&Asset that gets created without the AROutput step... and a CI&Asset I'm having trouble creating with the above method.
In the 'good record' vs 'bad record', these values are different:
Good: Computer System
Good: Computer System
So I'm thinking of hardcoding some of the values in the AROutput step to see if that helps move it along. Perhaps it needs some of that data in order to complete the process of creating the Asset Record.
And that seemed to do it... i hardcoded all of those values just to be on the safe side... and it works now! I am able to :
A) Create the CI & Asset
B) Find the CI in BaseElement
C) Find the Asset in the UI
D) All the Asset specific/custom attributes got updated in the Asset Record
So basically .. the AST:Attributes form needs some additional help when you are doing this method.
It might be the "UserDisplayObjectName" being Computer System that finally allowed the asset to show up in the console. But I don't feel like messing around and figuring out which one of those fields is necessary. There's no harm I can see in just doing them all !
Constants I hardcoded:
Mappings in the AROutput:
Thanks a ton for your help and guidance!
ClassID I think is the one that is making the difference here.