18
Thu, Apr
5 New Articles

Designing SNADS Directories

Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Brief: Two major configuration tasks must be completed before you can use SNADS to send objects between systems. The first task includes defining distribution queues, the routing table, and the secondary system name table. The second is designing the directories to be used by systems in the network. This article describes how to create a directory entry and shows how those entries are used with SNADS.

Using SNADS (System Network Architecture Distribution Services) to send things between systems is like using the post office. With the post office, you can send simple messages (post cards), documents (letters), files (bound, printed material) and even objects (packages). What these items have in common, besides postage, are addresses that you want them delivered to. SNADS stores the deliver-to and return addresses in the distribution directory. To use SNADS, you must put addresses, called directory entries, into the distribution directories of both the source and the target systems.

The rules for defining directory entries are trivial. The problems that you may encounter usually result from a lack of coordination between source and target directories. Although delivery errors are accurately reported, resolving the problem can be frustrating because you have to work with at least two systems.

We'll look at how a directory entry is defined and how you can add it to the distribution directory. We'll then review the options that are available to simplify directory design. Finally, we work through several examples of SNADS using the directory entries--some that work and some that fail.

The Structure of a Directory Entry

The simplest way to see what a directory entry includes is to look at the directory on your machine. Use the Work with Directory (WRKDIR) command to display the list of directory entries. You can use several options to work with directory entries. 1 shows an existing directory entry when the change option is used.

The simplest way to see what a directory entry includes is to look at the directory on your machine. Use the Work with Directory (WRKDIR) command to display the list of directory entries. You can use several options to work with directory entries. Figure 1 shows an existing directory entry when the change option is used.

The complete directory entry includes several more displays. The other displays include address, phone number, department, location and other data that applies to the user identified by the entry. For the purposes of SNADS, the only fields that we need to consider are the user ID and address, the description, the network user ID, the system name, and the user profile.

When you add a new directory entry, the first two fields that you enter are the user ID and address. These two required fields are used with all SNADS send commands (e.g., SNDNETMSG, SNDNETF) to indicate where the distribution should be sent. The user ID and address uniquely identify a directory entry. If your system is part of a network, the user ID and address of the directory entry must refer to only one user on the network.

The system can't prevent duplicate user IDs from being created between systems, which could cause a distribution to be delivered to the wrong user. For example, programmer Joe Bloe in Chicago uses directory entry JOE PGMR. Programmer Joe Shmoe in Houston uses the same directory entry (JOE PGMR). These two programmers should not have the same user ID and address. Each user ID/address entry is associated with a specific system, which SNADS uses to route the distribution. If you have a duplicate directory entry, with the same user ID and address but different system name anywhere within the network, it is possible that SNADS might find both entries and deliver the distribution incorrectly.

2 lists the rules for defining the user ID and address portions of the directory entry. The goal of the two-part identifier is to make it easy to use with a send command and to have flexibility when defining multiple directory entries. If you haven't previously set up a directory, you should study the rules and the examples shown in this article before deciding on your conventions.

Figure 2 lists the rules for defining the user ID and address portions of the directory entry. The goal of the two-part identifier is to make it easy to use with a send command and to have flexibility when defining multiple directory entries. If you haven't previously set up a directory, you should study the rules and the examples shown in this article before deciding on your conventions.

The description field is similar to the text field used to describe an object. It can be used to identify the user. The description is shown on the WRKDIR display and on other list displays where you choose directory entries.

If the network user ID is left blank when you enter a directory entry, the system supplies a default entry.

Local and Remote Directory Entries

The other fields that you need to work with, the system name and user profile, are used to identify your entries as local or remote. You add directory entries for users on your (local) system who will be using SNADS, and for users on other (remote) systems. You add local users so that they can receive distributions from other systems, and so that they have a "return address" when they send distributions. You add remote users so that users on your system can send distributions to them.

For a local user, the system name field is the name of the local system. This is the name shown in the upper right corner of many system displays or as the first field (current system name) on the Display Network Attributes (DSPNETA) command display. The user profile field must also contain a valid user profile for the local system.

A remote user is identified by the assignment of the system name, used by SNADS to determine which machine the distribution should be sent to. If you try to use a system name that is not known to SNADS, WRKDIR warns you when you add the directory entry.

You must use the Configure Distribution Services (CFGDSTSRV) command to configure a routing table entry and distribution queue before you can send a distribution to a user. Use the Distribution queues option to define a distribution queue that points to the remote location name. Then, use the Routing table option to create a routing entry for the system name specified on the directory entry. In this routing entry you also specify the distribution queue to be used.

It is not necessary to supply a user profile value for a remote user. The user profile is supplied on the remote system, where the directory entry is added as a local directory entry.

Groups of Directory Entries

It can be quite a job if you have to add a directory entry on every system for every user who is to send or receive distributions. For example, if you have a network of 10 AS/400s, each with 10 SNADS users, each machine's directory would have to contain not only its own 10 local users but also the 90 other remote users. Although creating directories like this is possible and does have some advantages, there are easier alternatives.

You must always define all of your local users on the local system. The alternatives let you define fewer remote entries.

To use the alternatives, you must carefully plan your directory entries, particularly the address field (part two of the user identifier). For example, with 10 AS/400s, it might make sense to set the address field for each directory entry to the system name or the name of the city where the machine is located. When you assign a common address to two or more directory entries, you can group those entries with an *ANY directory entry. When you add the directory entries, you simply enter *ANY as the user ID with the common address. The system name of the remote system is still required to associate the *ANY entry with a specific remote system.

When you use a send command, you specify the "send to" user parameter as usual: with the user ID and address. If you have not explicitly included the user ID in the directory, SNADS matches the "send to" address to the *ANY entry that specifies the same address. As with explicit directory entries, the system name value tells SNADS which system the distribution should be sent to.

Central Control

You may want to have one or more central AS/400s responsible for the remote directories for a network. In this case, all of the satellite machines in the network have their local directories and possibly just one other entry: one in which the user ID and address fields both contain the special value *ANY (referred to as the *ANY *ANY entry). The system name must specify the name of a system that contains the remote directory.

When you send a distribution, SNADS checks the directory entries on the source system in this order:

1. An exact match, if both the user ID and address are contained in the directory.

2. An *ANY entry, where the specific user ID is not found, but an *ANY entry with a matching address is found.

3. An *ANY *ANY entry, used when there is no matching user ID and address directory entry and no *ANY entry with a matching address.

When the distribution arrives at the system identified in the *ANY *ANY entry, the directory at that system is checked. If a match is found, the distribution is forwarded to the intended system. If a match is not found and there are no other forwarding directory entries (entries which send unmatched distributions to another system), the distribution fails.

3 lists the advantages and disadvantages of the three methods of defining directory entries. The methods are not exclusive; you can have any combination of directory entries and *ANY or *ANY *ANY entries in the same directory. You can have as many exact or *ANY entries as you require, but you can have only one *ANY *ANY entry in a directory.

Figure 3 lists the advantages and disadvantages of the three methods of defining directory entries. The methods are not exclusive; you can have any combination of directory entries and *ANY or *ANY *ANY entries in the same directory. You can have as many exact or *ANY entries as you require, but you can have only one *ANY *ANY entry in a directory.

Examples of Using the Directory

When you send a distribution with SNADS, the directories on the source and target machines are used. The contents of the directories are often one of the sources of failure when SNADS attempts a distribution. In the next few sections, we'll review several sample distributions, including successful and failed distributions.

The tests use several assumptions. They were run between two AS/400s, with an APPC connection and the QSNADS subsystem on both systems active before starting the tests. Authority restrictions are not a factor in the tests; the sending and receiving users are completely authorized to all required functions and objects. The Send Network Message (SNDNETMSG) command is used to send a distribution. SNDNETMSG does not send a message confirming receipt of the distribution, as other send commands do.

To designate the system and the user, we'll use the format B10/QPGMR for the QPGMR directory entry on system B10. When the address part of the directory is shown, the format QPGMR PGMR is used, where "PGMR" is the address.

For tests 1 through 4, the directory is shown in 4. Test 5 uses the directory in 5, and test 6 uses the directory in 6.

For tests 1 through 4, the directory is shown in Figure 4. Test 5 uses the directory in Figure 5, and test 6 uses the directory in Figure 6.

For each test, a summary of the distribution attempt and the results are shown. The results include the routing of the distribution, any messages sent to message queues on either system, and the distribution log entries made on both systems.

Finally, the word "source" is used to describe the originating system (the system where SNDNETMSG is used). "Target" is used to describe the system that the distribution is sent to.

Test 1-Sending to an Exact Match

In test 1, user B10/QPGMR sends a distribution to user CRAIG MGMT. Both of those users have "exact match" directory entries on both systems.

When B10/QPGMR sends the message, SNADS locates the directory entry for CRAIG MGMT in the directory on system B10. That entry directs the distribution to system C04. When the distribution arrives at system C04, SNADS locates the directory entry for CRAIG MGMT in the C04 directory. Because the directory entry is found, the distribution is successfully delivered.

Test 2-Sending to an *ANY Entry

Test 2 shows what happens when a distribution is sent and there is no exact match for the user ID and add-ress but there is an *ANY match on the source system. B10/QPGMR sends the message to QPGMR MGMT. When SNADS routes the distribution on system B10, it does not find an exact directory match in the B10 directory for QPGMR MGMT. Instead, SNADS uses the *ANY MGMT entry to route the distribution to system C04.

When the distribution arrives at system C04, a match for QPGMR MGMT is found in the C04 system directory. Because the match is found on the target system, the distribution is successfully delivered.

Test 3-Sending to an *ANY Entry That Is Not Found

When you have a directory with *ANY entries, you can use anything in the user part of the send-to ID. This is not checked on the source system. If an invalid send-to ID is used, SNADS cannot detect that until the distribution arrives at the target machine.

In test 3, B10/QPGMR sends a distribution to PELKIE MGMT. The B10 directory has no exact match for that send-to ID, so SNADS uses the *ANY MGMT entry to route the distribution to system C04.

When the distribution arrives at system C04, SNADS finds that there is no PELKIE MGMT directory entry. At that point, the distribution fails with a routing error. SNADS can route the distribution to system C04 but is unable to route it to the unknown user.

This type of failure generates failure messages to the originator and to QSYSOPR on both systems. The QSYSOPR messages are sent because it is possible that distributions are not sent immediately upon usage of the send command. For example, assume that your system's distribution queues are held or the connection between systems is not active. You may send a network file in the morning with the Send Network File (SNDNETF) command. That distribution is queued for later delivery, possibly to send at night. When the distribution is actually sent between machines, you are no longer there to monitor the distribution. In order to alert somebody to the distribution failure, SNADS sends the QSYSOPR messages, in addition to the message to the originator.

Test 4-Sending to an Unmatched Entry

Having an *ANY entry in the directory on system B10 does not guarantee that all distributions will be sent to system C04. In test 4, B10/QPGMR starts a distribution to CRAIG C04TEST. SNADS does not find an exact match in the B10 directory, so it checks for an *ANY entry. However, there is no *ANY entry that uses address C04TEST. Because there is no valid directory entry, the distribution fails immediately.

Only the originator is affected by this type of failure. SNADS is involved only up to the point of finding that the distribution cannot be routed. Messages are sent to the originator; but because there is no further activity, no entries are made in the distribution log. The failure messages are sent to the originator immediately.

Test 5-Sending to an *ANY Match That Loops

Test 5 is similar to test 2, with the exception that an *ANY *ANY entry is now added to the directory on system C04. 5 shows this new entry. This is typical of a network configuration in which system C04 uses system B10 to route distributions to other systems in the network, rather than explicitly include directory entries or *ANY entries in the C04 directory. *ANY *ANY entries are intended to reduce directory entries in a network of three or more systems. The problem that this test illustrates occurs when a distribution is sent from B10 to C04 and a matching directory entry is not found on C04.

Test 5 is similar to test 2, with the exception that an *ANY *ANY entry is now added to the directory on system C04. Figure 5 shows this new entry. This is typical of a network configuration in which system C04 uses system B10 to route distributions to other systems in the network, rather than explicitly include directory entries or *ANY entries in the C04 directory. *ANY *ANY entries are intended to reduce directory entries in a network of three or more systems. The problem that this test illustrates occurs when a distribution is sent from B10 to C04 and a matching directory entry is not found on C04.

The test starts with B10/QPGMR sending a distribution to PELKIE MGMT. An exact match for PELKIE MGMT is not found in the B10 directory. The *ANY MGMT directory is used to route the distribution to system C04.

When the distribution arrives at system C04, SNADS looks in the C04 directory to locate an entry for PELKIE MGMT. That entry is not in the C04 directory. If there was no *ANY *ANY entry on C04, the distribution would fail at that point. Because there is an *ANY *ANY entry, SNADS selects the *ANY *ANY entry to route the distribution. The *ANY *ANY entry points to system B10, so the distribution is sent back to the originating system! Back at the originator, the distribution is rerouted to system C04, using the *ANY MGMT entry again. This continues until the maximum hop count limit is reached, at which point the distribution fails.

This test illustrates several SNADS concepts. When you use SNADS to send distributions, it routes the distribution for as long as possible. The distribution can be successfully delivered; it can fail when a directory entry on the target machine is not found; or it can fail by looping between machines. In this test, SNADS doesn't detect the error because the *ANY *ANY entry directs SNADS to send any unresolved distributions to system B10. This handling of unresolved distributions even applies to distributions that originated on system B10, as in this test. This is not a failure of SNADS, but the result of faulty directory construction.

Another concept is that of maximum hop count. A hop occurs anytime a distribution is moved from one machine to another. Each machine that the distribution moves through counts as one hop. In order to prevent excessive looping, as shown in this test, or to prevent distributions from traveling excessively long paths through the network, the hop count associated with the distribution controls how long it remains traveling in the network.

The sending system controls the hop count value that is used. The hop count is set in two places. The first is in the system network attributes. You can view the current attribute value with the DSPNETA command; the default value for the maximum hop count is 16. You can change that value with the Change Network Attributes (CHGNETA) command.

You also set this value for SNADS with the CFGDSTSRV command. This is set with option 2, the routing table. Each routing table entry contains four service levels. Each service level includes a distribution queue name and a maximum hops value. The default value for maximum hops is *DFT, meaning that the system network attribute value is used. You can explicitly set the number of hops that you want per distribution queue. Setting that value is beyond the scope of this article, but you should note that using any other value greater than one would not have prevented the looping illustrated in this test. A different hop count simply would have varied the number of times the distribution looped.

Test 6-Preventing a Looping Distribution

To prevent the distribution looping problem in test 5, we add another directory entry to the C04 directory. The new *ANY MGMT entry, with *ERROR specified as the system part of the entry, is shown in 6.

To prevent the distribution looping problem in test 5, we add another directory entry to the C04 directory. The new *ANY MGMT entry, with *ERROR specified as the system part of the entry, is shown in Figure 6.

When the test is run, B10/QPGMR sends a message to PELKIE MGMT. The *ANY MGMT directory entry on system B10 directs the distribution to system C04. The directory on system C04 does not contain an entry for PELKIE MGMT. This time, rather than use the *ANY *ANY entry to send the distribution back to system B10, SNADS chooses the *ANY MGMT entry in the C04 directory. Because *ERROR is specified as the system name, the distribution error is caught at this point, rather than allowing the distribution to loop.

The *ERROR entry is typically used in a directory that includes an *ANY *ANY entry. Recall that an *ANY *ANY entry is used to send a distribution to another system if there is no exact or *ANY match in the directory. The problem with *ANY *ANY is that it also routes erroneous distributions that arrive at the system that contains *ANY *ANY.

If your directory contains many address groups (for example, the system C04 directory uses "MGMT" as an address group for two entries), you should include an *ERROR entry for each of the address groups. That lets SNADS resolve as errors distributions sent to invalid users in a valid group.

Look Before You Leap

Although it may seem that the simplest way to set up directories is to include all users in all directories, SNADS does provide alternatives. The alternatives make it easier to create and maintain directories and also offer greater flexibility, than explicit entries. They are not just error-checking facilities. With proper directory construction, *ANY *ANY quite capably handles distributions between several systems, as we'll find in an upcoming article. The alternatives do involve careful planning, though; invalid send-to IDs may cause needless distribution traffic or looping.

Before making any directory entries, you should prepare directory charts similar to those shown in these examples. You can then work through the sample tests with your entries and determine how SNADS will handle errors.

Craig Pelkie can be reached through Midrange Computing.

Reference Communications: Distribution Services Network Guide (SC41-9588, CD-ROM QBKA1B02).


Designing SNADS Directories

Figure 1 An Existing Directory Entry

 
                               Change Directory Entry 
 
   User ID/Address . . . . :   QPGMR     S1034786 
 
   Type changes, press Enter. 
 
     Description . . . . . .   QPGMR Directory entry 
     System name/Group . . .   MCPGMR          F4 for list 
     User Profile  . . . . .   QPGMR                  F4 for list 
     Network user ID . . . .   QPGMR    S1034786 
 
     Name: 
       Last  . . . . . . . .   ________________________________________ 
       First . . . . . . . .   ____________________ 
       Middle  . . . . . . .   ____________________ 
       Preferred . . . . . .   ____________________ 
       Full  . . . . . . . .   __________________________________________________ 
 
 
 
                                                                          More... 
   F3=Exit   F4=Prompt   F5=Refresh   F12=Cancel   F14=Add/change X.400 O/R name 
   F16=Remove X.400 O/R name          F18=Display location details 

Designing SNADS Directories

Figure 2 Rules for the User ID and Address

 
 
  The user ID and address make up a two-part identifier used by SNADS to route 
  distributions to other users. 
 
  For each part of the identifier: 
 
  o Use one to eight characters. 
 
  o Uppercase, lowercase, and extended alphabet characters can be used, in 
  addition to digits and blanks. For maximum portability across different system 
  types, you should consider using only the characters A-Z and 0-9. 
 
  o The first character cannot be blank. 
 
  o Trailing blanks are ignored. 
 
  For the user ID part: 
 
  o It can be the same as the associated user profile, or some other combination 
  of the user's name. 
 
  o If the user profile is to be used, you have to limit the user profile to 
  eight characters or less. 
 
  For the address part: 
 
  o It can be the user's last name or other unique identifier. 
 
  o It can be the name of the user's local system, department, or other group. 
 
  o The advantage of using a "group" address is that default directory entries 
  can be used for the group. 

Designing SNADS Directories

Figure 3 Advantages and Disadvantages of the Three Types of

 
  Exact Match- Used when the directory entry is explicitly included on the 
  originating system. 
 
  Advantages: 
  Least routing overhead-no need for SNADS to go to another system to locate 
  target user's system. 
 
  Immediate notification of failure given at point of origin if user is invalid. 
 
  Disadvantages: 
  Need to enroll remote users on all systems that may send to them. 
 
  Need to maintain remote system directories when any changes are made to 
  existing directory entries.*ANY Entry- Used when some or all users for a 
  remote system can be logically grouped together. 
 
  Advantages: 
  Fewer directory entries required on local system for remote system users. 
 
  No maintenance required on local system when users are added to remote system. 
  As long as the new remote users use the same address (group identifier), the 
  *ANY directory entry can be used to send distributions to them without any 
  additional directory entries required on the local system. 
 
  Disadvantages: 
  No immediate notification of failure if trying to send to an invalid user. 
  Distribution is sent to the remote system before the failure is detected. 
 
  Unable to locate users in local system directory, such as when using the 
  OfficeVision/400 mail function. 
 
  *ANY *ANY Entry- Used when a remote system maintains a master directory on 
  behalf of other systems in the network. 
 
  Advantages: 
  Easiest directory to set up. Only local directory entries need to be specified 
  at the local system, in addition to one *ANY *ANY entry. 
 
  No maintenance on local system when users are added on any remote system or 
  even when another remote system is added. 
 
  Disadvantages: 
  Same as for *ANY entry. 
 
  Possible distribution looping for unresolved user ID unless *ERROR entry is 
  defined at local system. 

Designing SNADS Directories

Figure 4 SNADS Tests 1-4

 
  Messages sent by SNADS 
  CPC8057          Message sent to &N users. Not sent to &N users. 
 
  CPD8063          Distribution to user &N &N not done; user ID is not valid. 
 
  CPF8069          Message not sent to any users. 
 
  CPI8079          Distribution of message to user &N &N failed. 
                   Reason code x'0002' - invalid user ID 
                   Reason code x'0003' - maximum hop count exceeded 
 
  CPI8807          Error logged by SNADS while a distribution request was being 
  routed 
 
  Directory Contents B10 
  User          Address       System       USRPRF 
  *ANY          MGMT          C04          N/A 
  CRAIG         MGMT          C04          N/A 
  QPGMR         PGMR          B10          QPGMR 
 
  Directory Contents C04 
 
  User          Address      System        USRPRF 
  CRAIG         MGMT          C04          CRAIG 
  QPGMR         MGMT          C04          QPGMR 
  QPGMR         PGMR          B10          N/A 
 
  Test 1: QPGMR on system B10 sends message to CRAIG MGMT 
 
  Routing: CRAIG MGMT is in directory on system B10, so message is routed 
  directly to system C04 with that entry. Because CRAIG MGMT is in the directory 
  on system C04, the distribution is successfully delivered. 
 
  Message queues: 
 
  B10/*JOB        CPC8057 
  C04/CRAIG       Message from SNDNETMSG 
 
  Distribution Log: 
  System  SEQNBR  Entry Type 
 
  B10          0031          *ORG - distribution originated 
               0031          *RTR - distribution routed (to CRAIG MGMT) 
               0031          *SND - distribution sent 
 
  C04          0031          *RCV - distribution received 
               0031          *RTR - distribution routed (to USRPRF CRAIG) 
               0031          *ARV - distribution arrived 
 
 
  Test 2: QPGMR on system B10 sends message to QPGMR MGMT 
 
  Routing: QPGMR MGMT is not a directory entry on system B10, so entry *ANY MGMT 
  is used to route the message to system C04. Because QPGMR MGMT is in the 
  directory on system C04, the distribution is successfully delivered. 
 
  Message queues: 
  B10/*JOB        CPC8057 
  C04/QPGMR       Message from SNDNETMSG 
 
  Distribution Log: 
  System  SEQNBR  Entry type 
 
  B10          0032          *ORG - distribution originated 
               0032          *RTR - distribution routed (to QPGMR MGMT) 
               0032          *SND - distribution sent 
 
  C04          0032          *RCV - distribution received 
               0032          *RTR - distribution routed (to USRPRF QPGMR) 
               0032          *ARV - distribution arrived 
 
 
  Test 3: QPGMR on system B10 sends message to PELKIE MGMT 
 
  Routing: PELKIE MGMT is not a directory entry on system B10, so entry *ANY MGMT 
  is used to route the message to system C04. Because PELKIE MGMT is not in the 
  directory on system C04, the distribution fails. A failure message is sent to 
  the originator and to B10/QSYSOPR. An error message is sent to C04/QSYSOPR. 
 
  Message queues: 
  B10/QPGMR       CPC8057 
                  CPI8079, reason code x'0002' 
 
  B10/QSYSOPR     CPI8079, reason code x'0002' 
  C04/QSYSOPR     CPI8807 
 
  Distribution Log: 
  System  SEQNBR  Entry type 
 
  B10          0033          *ORG - distribution originated 
               0033          *RTR - distribution routed (to PELKIE MGMT) 
               0033          *SND - distribution sent 
 
               0000          *RCV - received message (to QPGMR, CPI8079) 
               0000          *RTR - distribution routed (to B10/QPGMR) 
               0000          *ARV - distribution arrived 
 
  C04          0033          *RCV - distribution received 
               0033          *RTR *ERR - routing error x'0002', invalid user ID 
               0033          *RTR - distribution routed 
               0000          *RTR - distribution routed (message back to QPGMR) 
               0000          *SND - distribution sent 
 
 
  Test 4: QPGMR on system B10 sends message to CRAIG C04TEST 
 
  Routing: CRAIG C04TEST is not a directory entry on system B10, and there is no 
  *ANY C04TEST or *ANY *ANY entry that can be used to route the message to system 
  C04. The distribution fails immediately, with a message sent to the originator. 
 
  Message queues: 
  B10/*JOB        CPD8063 
                  CPF8069 
 
  Distribution Log: 
  No distribution log entries are made to either system for this attempted 
  distribution. 

Designing SNADS Directories

Figure 5 SNADS Test 5

 
 
  Directory Contents B10 
  User          Address      System        USRPRF 
  *ANY          MGMT          C04          N/A 
  CRAIG         MGMT          C04          N/A 
  QPGMR         PGMR          B10          QPGMR 
  MARK          MGMT          B10          FLEMAR 
 
  Directory Contents C04 
  User          Address      System        USRPRF 
  CRAIG         MGMT          C04          CRAIG 
  QPGMR         MGMT          C04          QPGMR 
  QPGMR         PGMR          B10          N/A 
  *ANY          *ANY          B10          N/A 
 
  Messages sent by SNADS 
  CPC8057 Message sent to &N users. Not sent to &N users. 
 
  CPI8079  Distribution of message to user &N &N failed. 
           Reason code x'0002' - invalid user ID 
           Reason code x'0003' - maximum hop count exceeded 
 
  CPI8807  Error logged by SNADS while a distribution request was being routed 
 
  Test 5: QPGMR on system B10 sends message to PELKIE MGMT 
 
  Routing: PELKIE MGMT is not a directory entry on system B10, so entry *ANY MGMT 
  is used to route the message to system C04. 
 
  PELKIE MGMT is not in the directory on system C04. When the distribution from 
  system B10 arrives at system C04, it is routed back to system B10 because of 
  the *ANY *ANY entry on system C04. 
 
  When the distribution arrives back at system B10, it is routed again to system 
  C04 because of the *ANY MGMT entry. This looping continues until the maximum 
  hop count is reached. 
 
  Message queues: 
  B10/*JOB      CPC8057 
  B10/QPGMR     CPI8079, reason code x'0003' 
  B10/QSYSOPR   CPI8807 
           CPI8079, reason code x'0003' 
 
  Distribution Log: 
  System       SEQNBR       Entry type 
  B10           0037        *ORG - distribution originated 
                0037        *RTR - distribution routed (to PELKIE MGMT) 
                0037        *SND - distribution sent 
                0037        *RCV - distribution received (back from C04) 
               [0037        *RTR]          Set occurs seven times 
               [0037        *SND]          (MaxHopCount = 16) 
               [0037        *RCV] 
                0037        *RTR *ERR - routing error x'0003', max hop count 
                             exceeded 
                0037        *RTR - distribution routed to C04 (message to 
                            C04/QSYSOPR) 
 
                0000          *RTR - distribution routed (message to B10/QPGMR) 
                0000          *ARV - distribution arrived 
 
  C04          [0037        *RCV]          Set occurs eight times 
               [0037        *RTR]          (MaxHopCount = 16) 
               [0037        *SND] 

Designing SNADS Directories

Figure 6 SNADS Test 6

 
  Directory Contents B10 
  User          Address       System       USRPRF 
  *ANY          MGMT          C04          N/A 
  CRAIG         MGMT          C04          N/A 
  QPGMR         PGMR          B10          QPGMR 
  MARK          MGMT          B10          FLEMAR 
 
  Directory Contents C04 
  User          Address       System       USRPRF 
  CRAIG         MGMT          C04          CRAIG 
  QPGMR         MGMT          C04          QPGMR 
  QPGMR         PGMR          B10          N/A 
  *ANY          *ANY          B10          N/A 
  *ANY          MGMT          *ERROR       N/A 
 
  Messages sent by SNADS 
  CPC8057  Message sent to &N users. Not sent to &N users. 
 
  CPI8079  Distribution of message to user &N &N failed. 
           Reason code x'0002' - invalid user ID 
           Reason code x'0003' - maximum hop count exceeded 
 
  CPI8807  Error logged by SNADS while a distribution request was being routed 
 
  Test 6: QPGMR on system B10 sends message to PELKIE.MGMT 
 
  Routing: PELKIE MGMT is not a directory entry on system B10, so entry *ANY MGMT 
  (on system B10) is used to route the message to system C04. PELKIE MGMT is also 
  not a valid directory entry on system C04. This time, rather than send the 
  distribution back to system B10 with the *ANY *ANY entry, the distribution is 
  canceled as an error distribution because of the *ANY MGMT entry at system C04. 
  This prevents the distribution looping in the previous test. 
 
  Message queues: 
  B10/*JOB    CPC8057 
  B10/QPGMR   CPI8079, reason code x'0002' 
  B10/QSYSOPR CPI8079, reason code x'0002' 
  C04/QSYSOPR CPI8807 
 
  Distribution Log: 
  System   SEQNBR      Entry type 
  B10       0038       *ORG - distribution originated 
            0038       *RTR - distribution routed (to PELKIE MGMT) 
            0038       *SND - distribution sent 
            0000       *RCV - received (failure message) 
            0000       *RTR - distribution routed (message to B10/QPGMR) 
            0000       *ARV - distribution arrived 
  C04       0038       *RCV - distribution received 
            0038       *RTR *ERR - routing error x'0002', invalid user ID 
            0038       *RTR - distribution routed 
            0000       *RTR - distribution routed (failure message back to B10) 
            0000       *SND - distribution sent 
BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$0.00 Raised:
$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: