Siebel Presumed Child Property Set
Scripts presume the existence of a child property set. For example see the following code snippet
function CheckAndImport() {. . . . . bsAdapter.InvokeMethod("Query",vInputs,vOutputs); var vInMsg = vOutputs.GetChild(0); vInputs.Reset(); vOutputs.Reset(); vInputs.AddChild(vInMsg); vInputs.SetProperty("MapName","Midea Price List Item Import"); bsTransfer.InvokeMethod("Execute",vInputs,vOutputs); var vOutMsg = vOutputs.GetChild(0); . . . . . }
This could lead to unhandled errors and corrupt data, since when an operation is performed on a nonexistent child, an error is thrown.
Recommendation
Ensure that the presence of the child property set is always checked by ensuring the GetChildCount() method of the parent returns a positive number.
An example used in the scenario is based on the preceding code: BY DW
function CheckAndImport() {. . . . . bsAdapter.InvokeMethod("Query",vInputs,vOutputs); if(vOutputs.GetChildCount()>0) { var vInMsg = vOutputs.GetChild(0); vInputs.Reset(); vOutputs.Reset(); vInputs.AddChild(vInMsg); vInputs.SetProperty("MapName","Midea Price List Item Import"); bsTransfer.InvokeMethod("Execute",vInputs,vOutputs); var vOutMsg = vOutputs.GetChild(0); } . . . . . }