Do not panic. You should have gotten an error, indicated by the stack dump appearing in the log output. Scroll to the top of the very first stack dump. Here we will see information on both where the problem occurred as well as what caused it.
Error message in log output
The component name is in brackets ('PhoneDB') followed by the error description that an Entry was not found - in other words, that the Lookup failed.
When a Connector is configured in Lookup mode, the system expects to find one and only one matching record when the search is performed. If none are found - or if multiple records match the Link Criteria - then you end up in special Hooks that must at least be enabled to prevent the AssemblyLine from stopping. This behavior is clearly visible in the DataFlow diagrams that are part of the IBM Tivoli Directory Integrator V7.1 Reference Guide. Here is an excerpt from the page detailing Lookup mode:
Partial Flow Diagram for Lookup mode
We can take advantage of this behavior to set your foundUser flag variable. Right-click on the 'PhoneDB' Connector and choose Hooks... to open the Hooks editor. Select the 'On No Match' Hook and enter the script code to set foundUser to false.
foundUser = false;
Now choose 'After Lookup' and enter this complimentary Hook script1:
foundUser = true;
the AssemblyLine should now resemble the one in this screenshot:
First tutorial exercise completed
It's time to Run this AssemblyLine again, and this time it should complete without errors. The Output.xml file should be identical to the results you got from the Loop-based AssemblyLine.
Congratulations! We have just completed your first Tivoli Directory Integrator tutorial exercise. Now it's time discuss how AssemblyLines can be triggered by real-time events.
Parent topic: Using Lookup Mode
1 As
we can see from the Flow Diagram, the 'After Lookup' Hooks is only
executed if the search results in a single match.