This document covers the following topics:
Return a list of all distribution lists containing a specific member.
When you are not a cabinet administrator or supervisor, the values specified in the parameters Cabinet and Cabinet-from must be identical. In this case, only one cabinet can be searched. If you are a cabinet administrator or supervisor, you can search all cabinets.
When you only specify the parameter Cabinet-from, only the specified cabinet is searched. The specified cabinet name is then automatically used in the parameter Cabinet-to. When you also specify the parameter Cabinet-to, the specified range of cabinets is searched.
You can also specify one or more characters in the parameter Cabinet-from, followed by an asterisk (*). In this case, all cabinets whose names start with these characters are searched. When you only specify an asterisk (*) in the parameter Cabinet-from, all cabinets including the cabinet SYSCNT are searched.
When you specify the name SYSCNT in the parameter Cabinet-from, the following is returned:
a list of all distribution lists in cabinet SYSCNT containing the specified member,
a list of all shared cabinets that the specified member is authorized to access,
a list of all private cabinets that the specified member is authorized to access.
You can specify either the parameter Member-ID-in or Member-name-in. You must not specify both. When you specify a value in the parameter Member-ID-in, all distributions lists containing the specified member ID are found. When you specify a value in the parameter Member-name-in, all distributions lists containing the specified last name are found. You can also specify one or more characters followed by an asterisk (for example, "sag*") to find all member IDs or last names that start with these characters. It is not possible to specify an asterisk (*) only.
This subprogram should be invoked iteratively until the return code 77 indicates the end of the list.
| Parameter | Format | In | Out | Remarks |
|---|---|---|---|---|
| Return-code | N2 | X | ||
| Cabinet | A8 | R | The cabinet ID of a supervisor or cabinet administrator. Or the same ID as in Cabinet-from. | |
| Password | A8 | R | The password of the above cabinet. | |
| Cabinet-from | A8 | R | The name of the cabinet that is to be searched. Or the start cabinet in a range of cabinets to be searched. It is possible to specify one or more characters followed by an asterisk (*), or an asterisk only to search all cabinets. | |
| Cabinet-to | A8 | O | The end cabinet in a range of cabinets to be searched. | |
| Member-ID-in | A16 | R* | The ID of the member to be found. Or one or more characters followed by an asterisk (*). Either Member-ID or Member-name-in, not both. | |
| Member-name-in | A20 | R* | The last name of the member to be found. Or one or more characters followed by an asterisk (*). Either Member-name-in or Member-ID, not both. | |
| List-array (20) | ||||
| Cabinet-name | A8 | X | The name of the cabinet containing the distribution list. | |
| Distribution-name | A12 | X | The name of the distribution list. | |
| List-type | A1 | X | 1=distribution list, 2=cabinet. | |
| Member-name-out | A20 | X | The name of the member. | |
| Member-ID-out | A16 | X | The ID of the member. | |
| Member-type | N2 | X | The type of the member: 4=bulletin board, 5=cabinet, 10=distribution list, 33=user ID (private cabinet), 74=external address. | |
| Mail-type | A1 | X | The type of mail which the member of the distribution list receives: O=original, C=copy, B=blindcopy. | |
| Member-ISN | P10 | X | The ISN of the member. | |
| Work-parameter | A50 | For internal use. See The Work Parameter. | ||
| 00 | Success |
| 02 | Invalid cabinet name or - in batch mode only - locked cabinet |
| 03 | Password incorrect |
| 08 | Supply either ISN or name, not both |
| 15 | Invalid administrator status |
| 31 | No members found |
| 32 | Member (address) could not be found |
| 77 | End of list |
| 90 | Specify either Member-ID-in or Member-name-in - you must not specify both |
| 91 | Invalid name for Cabinet-from |
| 92 | Invalid value for Member-ID-in |
| 93 | Invalid value for Member-name-in |
Z-120
Z-122
Z-123
Z-147
Z-165
Z-1200&0
* Example program to return a list of distribution lists, shared
* cabinets and private cabinets containing a specific member
*
DEFINE DATA
LOCAL
1 RETURN-CODE (N2)
1 CABINET (A8)
1 PASSWORD (A8)
1 CABINET-FROM (A8)
1 CABINET-TO (A8)
1 MEMBER-ID-IN (A16)
1 MEMBER-NAME-IN (A20)
1 LIST-ARRAY (20)
2 CABINET-NAME (A8)
2 DISTRIBUTION-NAME (A12)
2 LIST-TYPE (A1)
2 MEMBER-NAME-OUT (A20)
2 MEMBER-ID-OUT (A16)
2 MEMBER-TYPE (N2)
2 MAIL-TYPE (A1)
2 MEMBER-ISN (P10)
1 WORK-PARAMETER (A50)
1 INDEX (P3)
*
END-DEFINE
*
RESET RETURN-CODE
MOVE 'CABINET ' TO CABINET
MOVE 'PASSWORD' TO PASSWORD
MOVE 'CAB ' TO CABINET-FROM
MOVE 'MEMBERID' TO MEMBER-ID-IN
*
REPEAT UNTIL RETURN-CODE NE 0
CALLNAT 'Z-SRCH17'
RETURN-CODE
CABINET
PASSWORD
CABINET-FROM
CABINET-TO
MEMBER-ID-IN
MEMBER-NAME-IN
LIST-ARRAY(*)
WORK-PARAMETER
IF RETURN-CODE EQ 0 OR EQ 77
NEWPAGE
FOR INDEX 1 TO 20
IF DISTRIBUTION-NAME(INDEX) NE ' '
OR MEMBER-ISN(INDEX) NE 0
WRITE
CABINET-NAME(INDEX) 3X
DISTRIBUTION-NAME(INDEX) 3X
LIST-TYPE(INDEX) 3X
MEMBER-NAME-OUT(INDEX) 3X
MEMBER-ID-OUT(INDEX) /
MEMBER-TYPE(INDEX) 5X
MAIL-TYPE(INDEX) 5X
MEMBER-ISN(INDEX) /
END-IF
END-FOR
END-IF
END-REPEAT
*
WRITE 'Return code ' RETURN-CODE
*
END