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);
}
. . . . . }

 

posted @ 2014-09-17 17:19  Flamo  阅读(194)  评论(0编辑  收藏  举报