I found a work around. I changed my custom select object's save method from
LPARAMETERS tlAllRows, tlForce, tlDoDefault
IF !tlDoDefault
RETURN This.Parent.Save()
ELSE
RETURN DODEFAULT()
ENDIF
to
LPARAMETERS tlAllRows, tlForce, tlDoDefault
IF !tlDoDefault
This.cLastParentUniqueID = ;
EVAL(This.oParentBizObj.GetAlias()+'.'+This.oParentBizObj.cUniqueIDField)
RETURN This.Parent.Save()
ELSE
RETURN DODEFAULT()
ENDIF
Aloha,
James
>Hi All,
>
>I hope someone can help with this. I am using CusrorAdapters to access SQL data.
>
>I replaced the SelListObj with my own and did all the things indicated in the Dev Guide.
>
>My issue is with setting my custom SelListObj as the Primary Business Object. If I do that then the SelListObj performs a save before the parent business object. This means I can't get the parent business object's primary key value before the mover's SelListObj is saved.
>
>If I don't set it as primary business object then the following code (from kMoverObj.Save()) returns false and the DeleteRemovedItems() and AddNewItems() methods never fire leaving my cursor empty.
>
>IF TYPE('loParent') != 'O' OR ;
> EMPTY(loParent.cUniqueIDField) OR ;
> EVAL(loParent.GetAlias()+'.'+loParent.cUniqueIDField) ;
> == This.oSelListObj.cLastParentUniqueID
>
>
>Anyone with ideas on what to do? Even better anyone know why the
Type('loParent') !='O'
is in there?
>
>Aloha,
>
>James