I'm stuck on the Declarative Processing exercise because the information related to the position are in the SAE-HRServices-Data-Positions class whereas the information related to the candidate are in the SAE-HRServices-Work-Candidate class.
So, it seems that I can't write "Minimum Salary + (Maximum Salary – Minimum Salary) * Assessment Rating" as a declare expression in the SAE-HRServices-Data-Positions because it need the Assessment Rating that is in the SAE-HRServices-Work-Candidate class. And vice-versa, if the declare expression is in SAE-HRServices-Work-Candidate, I can't access the Maximum Salary and Minimum Salary.
Any idea how to fix that?
Can I move the Positions data from SAE-HRServices-Data-Position to SAE-HRServices-Work-Candidate or do a sort of include or reference?
The information (or, attributes) related to the "position" may be described in SAE-HRServices-Data-Position, but that data definition for "position" is implemented in SAE-HRServiecs-Work as a page-type property named "Position."
Becuase the page is implemented (or, applied) in SAE-HRServices-Work, the declare expression would be applied there as well - on the page-type property named Position. Then, because you are working with a complex type (page), you would have to provide the full context - .ObjectName.AttributeName - for the values you want to use in the declare expression.
Notice on page 134 of the exercise guide the calculation uses the full contextof the "position" attributes: .Poistion.MinSalary + (.Position.MaxSalary - .Position.MinSalary) * .AssessmentRating