Establishing an N-N Link between 2 info areas.
BtB - Enterprise Edition
ISI Template v220.127.116.113
The N-N link (Core Administrator guide Page 144 (TOPIC: Link)), which can be established using out-of-the-box functionality, is usually used in the following scenarios:
- Complex Rights
- Custom Functionality (e.g.: User-based text translations on masks)
An N-N link can only be created between 2 info areas if there is a 3rd info area in between, which acts as a connection between the 2.
The prototype implementation was done using custom info areas.
Creating an "NtoN Testing Center" record (C006), which acts as the connection between the 2 info areas that are supposed to be N-N linked
Linking 2 "NtoN Testing Source" records (C005) and 5 "NtoN Testing Target" records (C007) to the "NtoN Testing Center" record (C006)
Opening one of the "NtoN Testing Target" (C007) records shows, that it is linked to the 2 "NtoN Testing Source" records (C005)
Opening one of the "NtoN Testing Source" (C005) records shows, that it is linked to the 5 "NtoN Testing Target" records (C007)
Therefore an N-N linkage (2-5) was achieved. The necessary link fields are filled by the business logic - no information is entered by the user to establish the links.
3 custom info areas with StaNo+SerNo as ID
The N-N link can only be established between C005 and C007, if C005 and C007 share a common info area which acts as their connection - C006 in this case. Creating N-1 Links from C005 to C006 and from C007 to C006
Once the 2 N-1 links are created, the N-N link from C005 to C007 can be implemented (if they are not created, no info area selection window will pop up)
The N-N link on C005 is shown as 1-N link after creating it. Technically speaking, the N-N link connects C005 to C007 via the C006 ID which is stored on C005 and C007.
Also create the N-N link for C007
Establish "ExpandChildren" tabs in the designer
Set-up of N-N links is possible, but due to the added complexity it's only recommended when the circumstances require it and the N-N link cannot be substituted with a more common link type.
No triggers/workflows or other changes are necessary if the user is forced to create the C005 and C007 records from C006. The system will automatically enter the C006 ID on C005 and C007 in that case. If the user creates the C005 and C007 records from elsewhere, logic needs to be implemented in order to fill the C006 link fields on C005 and C007.
When working with data interfaces, the key is to:
- Not only import/export the 2 info areas which are suppose to be N-N linked, but also the 3rd info area which acts as their connection
- Fill the new link fields (C006 ID on C005 and C007 in case of the above example) in order to establish the link during an import