Z-SRCH17

This document covers the following topics:


Description

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.

Parameters

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.

Return Codes

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

Subprograms

Z-120
Z-122
Z-123
Z-147
Z-165
Z-1200&0

Example

* 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