My Blog List

Friday, September 2, 2011

JAX: AAL - Using conditional logic, ancestor labeler, and SQL functions

I put together a label expression for JAX today for fuses that was rather interesting.  Below are the requirements and the email that I sent to Greg Garner:

Attached are two screen shots showing the label expression that satisfy (I believe) the label expression you were looking for for JAX. This is on Minerville, so of course some of the field names might be different...I used FuseUnit:LinkRating instead of FuseSize (which Minerville doesn't have).  And I used FuseBank:FacilityID because Minerville doesn't have a FuseNumber field.  I changed the errors from "ERROR" to more explicitly state why there was an error (e.g. 'Bank has a null FacilityID' or 'Unit sizes don't match').

The two screen shots show the required SQL for the two relationship labelers that are used.  Note that the expression also uses an ancestor labeler.  Anyway, it is a bit to swallow, but it does, I think, nicely showcase the power of AAL and if you know SQL, it is quite readable.  Let me know if you want to go through the expression or if you have questions about it.

Devon

1.3        Fuse Labeltext AU

Requirement
JAX has map labeling requirements for OH Fuses that include attributes from related child objects, namely the related eFuseunit records.

 The logic for the AU is provided below:

If the eFusebank is 2 or 3 phase and the eFuseUnit.FuseSizes do not match
or the eFuseBank.FuseNumber is null or = “UN”

Then set Label = “ERROR”

Else
eFuseUnit.FuseSize & “A “ & eFuseBank.FuseNumber

Ex. 10A 3321



SQL Expression for first Relationship Labeler
SQL Expression for second relationship labeler

S

No comments:

Post a Comment