Hi Kevin,
>
>I have a business rule which on validation has to check data that belongs to another business object.
>
>Is it OK to use other business objects within business rules in order to check validity?
>
>Example: (business rule code)
>
>
>*Check if customer has any outstanding invoices
>loRecordset = this.oInvoiceBizOBj.GetOpenInvoicesByCustomerID(tnId)
>
>*blah blah
>.....etc.etc.
>
>
>Is that good practice? or bad?
>
IMO, this is a good practice. You are delegating the task of retrieving the data to the appropriate object. I'm not sure how much more code is involved, but if you find yourself repeating it, you might consider moving the entire validation to oInvoiceBizObj, but only if it makes sense. As it stands, I think you have a pretty good design here.