Upgrade Accounts Payable Operations from version 2.0
Upgrade Accounts Payable Operations with Document Intelligence from lower to higher versions.
Before you begin
- Upgrade Accounts Payable Operations version 2.0 and above to Accounts Payable Operations 4.0 by installing Document Intelligence version 4.0.
- As part of APO 2.0 or APO 3.0, in Use cases
sys_di_task_definitiontable, verify OOB Use case – “DO NOT USE- Invoice Processing v2”.
Role required: Admin
Procedure
functionalignParentUseCaseSysIds(oldReadOnlyUseCaseSysId,newReadOnlyUseCaseSysId){varoldCopyUseCaseGr=newGlideRecord("sys_di_task_definition");oldCopyUseCaseGr.addQuery("parent_task_definition","CONTAINS","base_trained_model");if(oldReadOnlyUseCaseSysId){oldCopyUseCaseGr.addQuery("parent_task_definition","CONTAINS",oldReadOnlyUseCaseSysId).addOrCondition("parent_task_definition","CONTAINS","di_source");}else{oldCopyUseCaseGr.addQuery("parent_task_definition","CONTAINS","di_source");}oldCopyUseCaseGr.query();while(oldCopyUseCaseGr.next()){replaceCopyUseCaseSysId(oldCopyUseCaseGr,oldReadOnlyUseCaseSysId,newReadOnlyUseCaseSysId);}}functionreplaceCopyUseCaseSysId(copyUseCaseGr,oldReadOnlyUseCaseSysId,newReadOnlyUseCaseSysId){varoldParentUseCase=copyUseCaseGr.getValue("parent_task_definition");varoldParentUseCaseObj={};varnewParentUseCaseObj={};if(!oldParentUseCase||!oldParentUseCase.includes("base_trained_model")){return;}oldParentUseCaseObj=JSON.parse(oldParentUseCase);newParentUseCaseObj=oldParentUseCaseObj;if(oldParentUseCaseObj["sys_di_parent"]&&oldReadOnlyUseCaseSysId&&oldParentUseCaseObj["sys_di_parent"]===oldReadOnlyUseCaseSysId){newParentUseCaseObj["sys_di_parent"]=newReadOnlyUseCaseSysId;newParentUseCaseObj["base_trained_model"]=getNewReadOnlyUseCaseTrainingSolutionName(newReadOnlyUseCaseSysId);}elseif(oldParentUseCaseObj["di_parent"]&&!oldParentUseCaseObj["sys_di_parent"]){newParentUseCaseObj["sys_di_parent"]=newReadOnlyUseCaseSysId;newParentUseCaseObj["base_trained_model"]=getNewReadOnlyUseCaseTrainingSolutionName(newReadOnlyUseCaseSysId);}else{newParentUseCaseObj["base_trained_model"]=getNewReadOnlyUseCaseTrainingSolutionName(newReadOnlyUseCaseSysId);}varnewParentUseCase=JSON.stringify(newParentUseCaseObj);copyUseCaseGr.setValue("parent_task_definition",newParentUseCase);copyUseCaseGr.update();}functiongetNewReadOnlyUseCaseTrainingSolutionName(newReadOnlyUseCaseSysId){vargr=newGlideRecord("sys_di_task_def_solution_def");gr.addQuery("task_definition",newReadOnlyUseCaseSysId);gr.addQuery("solution_type","be5131acb70a2110cbc68b91ee11a981");gr.query();if(gr.next()){returngr.getDisplayValue("ml_capability_definition_base.solution_name").toString();}else{return"";}}alignParentUseCaseSysIds("54214afa87c32110822cb887cebb35ff","d679b5744736f110d10671dc416d4390");