while creating a purchase order from Release approved purchase requisitions i have a validation error as follow

Function ProjBudgetTransactionLine_Virtual::construct has been incorrectly called.

after using the debugger i have found that the proj id is empty i headed back to the purch req header and line and double checked on it and according to the customer business they have entered the same proj id on the header and the line and i still got this issue.

any suggestion