QL$MULTIHELP020.A{,`MULTIHELP020.ABACKUP/NOASSIST/COMMENT=OpenVMS AXP SPKITBLD Procedure/INTER/LOG/VERIFY KITROOT:[A]*.*;0 MH_DEVO:[HELPMATE.KIT]MULTIHELP020.A/LABEL=(MULTIHELP)/SAVE/BLOCK=9000/GROUP=25OpenVMS AXP SPKITBLD Procedure MAGE +2V6.1 _HELPMT::  _HELPMT$DKA600: V6.1 $*[A]CALLBACKS.UIL;1+,@./ 4d- 0123KPWO56^76ş89GHJ procedure articleIdCallback; commandCallback; contextHelpCallback; copyStatement; creationCallback; customerLookupCallback; fileDialogCallback; getEnglishQuery; goToArticleCallback; linkListCallback; mainCommandEntered; mainSVNCallback; passwordModifyCallback; problemIdCallback;! problemSummaryListCallback; pushButtonCallback; solutionPBCallback; sortCallback; timeScaleChange; toggleButtonCallback; userIdEnteredCallback; validateCallback; *[A]COMMAND_NOISE.SDML;1+,./ 4P- 0123KPWO56`Jd7N89GHJ ?(NOISE Command --------------------------------------)(NOISE\\noise_command) N This command is used to display and maintain the system wide list of noiseG words. Noise words are processed against knowledge base queries toK eliminate words which provide only syntactical structure to a query andI provide no value in retrieving information from the knowledge base. O Suitably privileged users can add or remove words stored in the noise word list. (Syntax)3 (NOISE)([/Qualifiers]) (None) (/ADD="word"\None.)(/LIST\/LIST)(/REMOVE="word"\None.)(LIST)ETo add or remove noise words to the system wide list requires : administrator privilege in the user profile record.GOnly one qualifier is valid for a single invocation of the verb. (/ADD="word") HSpecifies a noise word that is added to the system wide noise word list.(/LIST (default)) MSpecifies that the system wide noise list be displayed on the users terminal.%This qualifier is present by default.(/REMOVE="word") LSpecifies a noise word that is removed from the system wide noise word list. PThe (NOISE\SMALLCAPS) command verb is used to display and maintain theP(MH) system wide noise word list. If a knowledge base query has noiseKword elimination enabled, a user query is first passed through a noise wordNfilter. This filter removes words from the query which have been designated byOthe (MH) administrator as being noise words. For example, words suchPas (A, THE, THIS, THAT\ITALIC), add syntactical meaning to a sentence,Jbut offer little informational content in regards to performing a databaseLsearch. This feature allows users to pose questions in grammatically correctPsentence-like queries. Once filtered, the remaining words are used to search theNsolution knowledge base without generating spurious database matches on words!which are unrelated to the query.MultiHelp> NOISE/LIST6 A, AND, FOR, IT, OF, THAT, THE, THEIR, MY, THEN, THISA sample list command.Multihelp> NOISE/ADD=THEMA sample add command.Multihelp> NOISE/REMOVE=THESEA sample remove command.*[A]CONTEXT_HELP.UIL;1+,./ 4@- 0123KPWO56y7;989GHJvalueh_notificationPopup : 0;h_notifySeverity : 1; *[A]DCL.CLD;1+,./ 4I- 0123KPWO56k ?789GHJdefine verb MultiHelp synonym MH image MultiHelp$MainH qualifier interface, nonnegatable, default, value(type=interface_types)1 qualifier user_id, nonnegatable, value(required)( qualifier password, nonnegatable, value !E! This next qualifier is to be used by the mail code. When it creates>! a script file to be spawned and executed it will append the G! /EMAIL_ADDRESS qualifier to the MultiHelp command so that the ensuing-! code can identify the user by mail address.!7 qualifier EMAIL_ADDRESS, nonnegatable, value(required)' qualifier display, nonnegatable, value; parameter p1, value(type=$rest_of_line), label=dcl_command2 disallow display and not(interface.decwindows or  interface.windows or interface.gui or interface.xwindows)define type interface_types! keyword character_cell, default keyword cli& keyword gui,syntax=gui_syntax& keyword decwindows,syntax=gui_syntax# keyword windows,syntax=gui_syntax$ keyword xwindows,syntax=gui_syntaxdefine syntax gui_syntax image MultiHelp$Dwui: parameter p1, value(default=MultiHelp), label=dcl_commandI! qualifier interface, nonnegatable, default, value(type=interface_types)2! qualifier user_id, nonnegatable, value(required))! qualifier password, nonnegatable, value8! qualifier EMAIL_ADDRESS, nonnegatable, value(required)!(! qualifier display, nonnegatable, value *[A]DCL.HLP;1+,. / 4F ?- 0123KPWO 56WM7㺻89GHJ 1 MULTIHELPA The MULTIHELP command is used to invoke the MultiHelp HelpDesk> automation application. It can invoke either a command line@ interface or an X windows graphical user interface (GUI) from& the operating system command level.D The verb MH is an alias for the MULTIHELP command and may be used interchangeably.? For help on getting started with MultiHelp, please referenceA the document MULTIHELP$QUICKSTART.TXT (or print the PostscriptA version, MULTIHELP$QUICKSTART.PS) that was placed in SYS$HELP:% during the MultiHelp installation. Format# MULTIHELP [multihelp-command] MH [multihelp-command] 2 Parameters multihelp-command? Any valid MultiHelp command and associated qualifiers can beB included with the MULTIHELP command. If the optional command isA specified MultiHelp will process the command and return to the operating system level.& Command Qualifiers Defaults- /DISPLAY=nodePi$MULTIHELP020.A  [A]DCL.HLP;1F? ::server.displ/DISPLAY=0::0.0" /EMAIL_ADDRESS="email-addreNone, /INTERFACE=interface-type /INTERFACE=CLI" /PASSWORD=password None" /USER_ID=user-id None 2 Prompts User Id: Password: 2 Qualifiers /DISPLAY# /DISPLAY=node::server.display; Selects node, server number and display head for the GUI@ interface. The node value specifies the workstation node name< on which you want to display the GUI. On certain hardwareC implmentations there may be more than one display server running? on a node to drive different displays. The server portion ofB the specification selects the number of the correct server. TheD default is server 0. Some hardware configurations allow more thanA one screen (head) on a workstation. The display portion of theD specification selects the screen number on which you wish the GUID to be displayed. The default is screen 0. This qualifier is valid+ only when the GUI interface is selected. /EMAIL_ADDRESS$ /EMAIL_ADDRESS="email-address"? Specifies the Email address to be used for any communicationB via email during this MultiHelp invokation. The specified value? overrides the Email address specified in the profile contact2 record. The address may be up to 60 characters. /INTERFACE /INTERFACE=interface-type> Specifies a keyword that selects the type of interface that, { CLI }, MultiHelp uses. Valid choices are { GUI }, { }C When CLI is specified, the command line interpreter interface is used. This is the default.@ When GUI is specifed the graphical user interface is used. ToB use the GUI you must have a worstation, personal computer, or XA terminal capable of displaying X windows. You may direct the XA windows display to any node in your network capable of runningC the X windows display server. See your MultiHelp users guide for0 information on selecting your display server. /PASSWORD /PASSWORD=password@ Specifies the MultiHelp password for the account specified by> the /USER_ID qualifier. If no password is specified and the@ account requires a password, MultiHelp will either prompt forC the password, or display a logon box, depending on the interface selected. /USER_ID /USER_ID=valueA Specifies the MultiHelp user id. If this qualifier is omitted,@ MultiHelp will prompt for the user id or display a logon box,' depending on the interface selected. 2 DescriptionD The MULTIHELP command is used to start the MultiHelp application.B It can be used to start either a command line interface or an X windows GUI interface.; Authorization information can optionally be included via= qualifiers on the command line. If this information is not? provided when the application is invoked, you will be either= prompted for it, or required to enter it into a logon box,' depending on the interface selected.= If the interface type is CLI, authorization information isD provided on the command line, and a MultiHelp command is includedA on the command line, that single MultiHelp command is executedC and the application returns to the operating system level. If noA command is specified a MultiHelp prompt is displayed that willD accept multiple MultiHelp command verbs until the EXIT command is issued. 2 Examples 1.$ MULTIHELPB MultiHelp[R] Version V010, SIO Technologies Inc., 1993,1994 F %MULTIHELP-I-DBATTACH, attaching to Database... One moment please User Id: DEPT-G Password: MultiHelp>C In the example above, only the verb MULTIHELP was specified onC the DCL command line. MultiHelp prompts for a valid userId and@ password, and once obtained, displays the MultiHelp> prompt> to signify that it is ready to begin processing MultiHelp commands.0 2.$ MULTIHELP/USER_ID=SYSTEM/PASSWORD=MANAGERB MultiHelp[R] Version V010, SIO Technologies Inc., 1993,1994 F %MULTIHELP-I-DBATTACH, attaching to Database... One moment please MultiHelp>; This example illustrates specifcation of authorization, information on on the DCL command line.: 3.$ MULTIHELP/USER_ID=SYSTEM/PASS=MANAGER SYSTEM STATUSB MultiHelp[R] Version V010, SIO Technologies Inc., 1993,1994 F %MULTIHELP-I-DBATTACH, attaching to Database... One moment please3 System Parameters+ System Status: Up+ PROBLEM access via EMail: No+ EXPERT QUERY access via EMail: No $B This example demonstrates the execution of a single MultiHelp command.2 4.$ MULTIHELP/INTERFACE=GUI/DISPLAY=AXPMAN::0.0C This example illustrates starting the GUI interface specifying a remote node.*[A]DECW$MULTIHELP.HLP;1+,.z/ 4Rzz?- 0123KPWO{567L89GHJ  1 Version=KEYWORD VERSION? MultiHelp[R] V1.0, SIO Technologies Corporation, 1993-1994  1 Overview=KEYWORD overview=INCLUDE main_window,glossaryB The GUI interface to MultiHelp[R] uses XWindows/Motif system by the Open Systems Foundation.A The interface is divided into functional components. Access toA the different components is usually via selecting items from aC menu bar at the top of each screen or buttons visibly located onD the screen. Navigation to the functional components is either via' mouse pointer or keyboard traversal.? For more information on OSF/Motif Xwindows please reference:" o OSF/Motif Programmer's Guide& o OSF/Motif Programmer's Reference 1 Glossary=KEYWORD glossary 2 AncestorD The concept of ancestors and descendants relates to the MultiHelp& Service Request Classing hierarchy.D A class is considered to be an ancestor of another class if it is1 its parent, or its parent's parent, and so on. 2 Button_PressC Pressing a button (usually a mouse button) and not releasing it. 2 Click5 Pressing and releasing the left-most mouse button. 2 DescendantD The concept of ancestors and descendants relates to the MultiHelp& Service Request Classing hierarchy.B A class is considered to be a descendant of another class if it1 is its child, or its child's child, and so on. 2 Double-ClickB Pressing and releasing the left-most mouse button twice in less than a half second. 2 Mouse0 The device which controls the screen pointer. 2 MB1 See Mouse Button 1 2 Mouse_Button_1@ For right handed mice, it refers to the left-most button. ForB left handed mice, it refers to the right-most button. It is theD button used to activate and select items on an Xwindows interface screen. 2 Null? Null refers to an unspecified value. For instance, a problem0 class is Null if it has never been specified. 1 X8.0_New_Features=TITLE X8.0 New Features=KEYWORD features,new"=INCLUDE X7.1_new_features,versionA This section contains a brief description of the major changesC in functionality, enhancements and new features included in this release. *2 Problem_Working_and_Tracking_Sub-SystemB o The command LOOKUP/QUEUE has replaced the QUEUE command usedB in previous releases. Please see the command reference guide( for more detail on this qualifier.@ o There is now a Request-sensitive pulldown menu on the mainB Xwindow screen. This menu is activated via MB3 (mouse-button= 3) on your mouse pad. The actions found in the pulldown? menu apply to the request that the mouse pointer was over@ when activated. A single-click on a service request in theA GUI interface no longer has any effect. You need to use the0 pulldown menu for that same functionality.A o There is now a Quick Accept feature available from the mai2 $MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z*n< window pulldow. This feature allows the user to accept? ownership of a request from the display without having to fill out any information.: o Using the Xwindow interface to create a request willA automatically display the customer info dialog if either of' the following conditions is true: - You are not a customer.4 - You have Log Problems for Others privilege.? o A new logical controls the default behaviour of the /MORE) qualifier in the Command interface.C The default behaviour is for the user to be prompted when one4 screen full of information has been displayed.? If the logical MULTIHELP$MORE_ROWS is defined it will act+ differently depending on the setting:B 1. If the logical is defined to be an integer whose value isA less than zero, then the default behaviour is in effect.B 2. If the logical is defined to be an integer whose value isC zero, then it has the same effect as specifying /NOMORE on the command line.B 3. If the logical is defined to be an integer whose value is@ greater than zero, then it has the effect of specifying /MORE=value.A o There is now a /EXTRACT qualifier with the LOOKUP verb. SeeB the Command Reference documentation for further information.: o /EDIT qualifier on the REQUEST verb has been greatlyC enhanced. See the Command Reference documentation for further information.C o Email notifications can be sent to users based upon a variety of situations including - Class hierarchy - Ownership - NULL Class - much more.../ See discussion of MH* logicals defined in MULTIHELP$SYSTARTUP.COM.C o The request Id dialog of the Xwindow interface now tracks allC requests visited. This allows you to go back and visit recent requests.: o Classes are now alphabetized in both the GUI and CLI interfaces.? o Request creation via email is now appended with a list of> solutions that may solve the problem automatically. ThisC enables MultiHelp to solve customer problems before a support& representative is ever involved.> o You have the ability to add trailer text to all customer3 acknowledgements and notifications via email.C o The customer userId and the contact name are now displayed on. the request screen in the GUI interface.C o In the GUI interface, many of the menu accelerators have beenD changed to use different keys. It was found that some of these@ accelerators were interfering with normal widget functions (i.e. XmText widgets).C o You can now transfer calls from one installation of MultiHelp= to another. You can take calls logged on your MultiHelp= installation and automatically have them transferred to@ MultiHelp Customer Support by assigning the call to userId SiO.= o MultiHelp is now shipped with a userId called SIO. This; is to enable customers with access to the Internet to; elevate/transfer calls to MultiHelp customer support.D o Access to the attempts counter for a request has been added toB the command line interface. See a discussion of the /ATTEMPT= qualifier for the REQUEST verb in the Command Reference Manual.D o Prior to T020 if a notification method was set, it cleared anyA previous settings. With T020, you must explicitly clear any previous settings.B o The LOOKUP verb now senses the screen length and the default; for the /MORE qualifier is the screen length minus 2.A o If you now issue the /WORK_REPORT qualifier with the LOOKUP? verb and a number specified is greater than the last workC report for the request, the last work report is automatically assumed.? o /SUBJECT qualifier has been added to both the CLI and GUIB interfaces. This allows the user to search for requests withC a particular sub-string in the subject field. For example, toA look for a request with the word GOLD in the subject, issue+ the CLI command: LOOKUP/SUBJECT=*GOLD 2 Solution_Sub-SystemC The addition of the solution sub-system is new with T020. Access= to the solution sub-system is via the SOLUTION verb in theA CLI interface and via the main menu bar or the menu bar on the+ request screen in the Xwindow interface. 2 Reporting_Sub-SystemD The addition of the reporting sub-system is new with T020. AccessC to the reporting sub-system is via the main menu bar on the mainB menu of the Xwindow interface or via the REPORT verb in the CLI interface.3 Known problems and restrictions in this release:C o Even though the Options... button allows you to customize the@ report title, your modifications are ignored and the words* 'MultiHelp Report' are used instead.A o At least one field from each database table referenced in aA Computed Field definition or in the Full Selection Criteria? must exist in the Active Field list on the main reportingB screen or the SQL FROM clause used to retrieve the data will* not include that table as it should. 2 Electronic_Mail_Sub-System8 The MultiHelp mail sub-system has undergone extensive# enhancements and re-engineering.< Full product functionality is available via mail from anyC platform that is connected via a mail network. The functionalityA takes into account normal work flow that would take place were you connect interactively.= A new set of destinations has been created, please see theD Support Representative's User Guide for more information on this. 2 Licensing_Sub-SystemC A license is now required in order to have MultiHelp function atD all. With the implementation of the Licensing Sub-System, you nowC do not have the option of whether you have a site prefix or n ot.B Site Prefixes are now handed out by MultiHelp Customer Support. 2 Escalation_Sub-System? The Escalation sub-system is now fully functional with T020.> o The ESCALATION verb allows administration to setup hours? of escalation as well as users on the first and top level escalation lists.= o The escalation delta attribute of a Severity determines) escalation intervals for a request.A o A new process will now run on the server. It is responsible@ for escalations. It is a detached process that runs in the background.D o The next escalation date for a request is displayed now by the CLI interface.= o A clock exists in the GUI interface to display the next$ escalation time for a request. 2 Miscellaneous_New_FeaturesD o Previous versions of MultiHelp would not link on systems whichC were running DECwindows Motif version 1.2. This version will.> o If you have the Language Sensitive Editor (LSE) provided@ by Digital under license, you may use an LSE template fileA provided in the MH$EXAMPLES directory. This LSE file can be< used to navigate the directives of the mail interface.D o Many example mail interface files are provided in MH$EXAMPLES.? These files demonstrate the many capabilities of the mailC interface. The files all have a file type (extension) of .MH.C o There is now a SPAWN command that will take the user from theC CLI interface to VMS access. Logging out of the VMS interfaceA will place the user back into the MultiHelp interface right where they left off.A o There is now an EXECUTE command which takes a filename as aA parameter. The file can have any valid MultiHelp command(s)D in it. These commands will be executed. This is an easy way to< setup administrative functions using the PROFILE verb.C o The /EXPERT qualifier of the PROFILE verb has been changed to /SOLUTION.8 o The CC field can now handle Internet addresses and? distributions lists. If a mail address starts with an <@>B then it is assumed that you are referring to a file name andC will open the file and read in the list of mail addresses. IfB a mail address has an embedded <@>, then it is assumed to beA an Internet address and the appropriate prefix (i.e. SMTP%)A will be added to the mail address. The prefix is determined? by the logical MultiHelp$TCPIP_MAIL_TRANSPOR6J$$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z&"T, defined in MultiHelp$Systartup.Com.@ o The CC field can now accept a valid MultiHelp userId to beC mailed. A userId in the CC field must be prepended with a <~>A (tilde) for it to be recognized as a MultiHelp userId. ThisD allows you to CC another support representative or customer ifB you know their userId but not their email address. MultiHelp@ will obtain their email address from their contact record.: o MultiHelp$Startup.Com has been split into two files: - MultiHelp$Startup.Com9 A file that should not be modified by customers. - MultiHelp$SyStartup.ComD A file that can be modified by customers and is executed by MultiHelp$Startup.Com. 1 X8.0_Bug_Fixes=TITLE X8.0 Bug Fixes=KEYWORD bug_fixes? This section lists the bug fixes found in T020 of MultiHelp.= o A bug where attempting a request (i.e. incrementing theA attempt counter) in the Xwindows interface caused an ACCVIO has been fixed.A o A bug which limited the number of concurrent users to 10 in@ X7.1 of MultiHelp has been fixed. The new limit is now the1 limit of RDB which is 256 concurrent users.9 o A bug which produced RDB-E-NO_PRIV error in certain# circumstances has been fixed.D o There was a bug wherein a double-click on the COMMIT button in? the GUI interface caused RDB errors. This has been fixed.; o Problems in the CLI with quoted strings under certain8 circumstances (continuation lines) has been fixed.B o The request Id dialog now shows the last item in the list by# default instead of the first.B o A bug was fixed where the "\I" directive placed in the first1 column of the subject was causing problems.A o An ACCVIO caused by exiting the editor in CLI mode has been fixed.A o A bug in the PROFILE verb and the /REVIEW=ALL qualifier has been fixed.? o A bug where the latest version of UCX for AlphaVMS causesC problems with the MultiHelp mail server has been fixed by VMS engineering.9 o Deficient code in the LOOKUP and QUEUE (replaced byA LOOKUP/QUEUE) verbs could cause a virtual memory exhaustionA problem under certain circumstances. This has been fixed in T020.C o A bug still exists for the QuickLog facility wherein there isA a limitation of 255 characters for defining the contents ofD the menus using logical names on VMS. This limitation does not= exest defining the menu contents using a resource file. 1 Documentation_Issues=TITLE Documentation Issues=KEYWORD Documentation: This section provides special notes about the MultiHelp documentation. (2 Documentation_Restructure_in_ProgressD The MultiHelp documentation is in the process of being completely> restructured. We intend to have a minimum of three distinct; manuals targeting different audiences (Customer, Support/ Representative and MultiHelp Administrator).> The Support Representative as well as the Command ReferenceA manuals have been completed and are shipped with this release.9 The X7.1 manuals are shipped as well for thoroughness. 2 MultiHelp_Quick_Start_Guide@ A new guide, MultiHelp Quick Start, has been written for this release.= It is intended for use in demonstrating and evaluating theA MultiHelp application. It can also be used as a quick means toD exercise and become familiar with all the functionality and power of MultiHelp. 2 QuickLog_ManualD A short, new manual documenting the functionality of the QuickLog@ Utility, QLog, is provided with this release. It can be foundA at SYS$HELP:MHSUBMIT.PS (Postscript) and SYS$HELP:MHSUBMIT.TXT- (Text) on the MultiHelp installation node.= The image name has changed from MH_SUBMIT.EXE to QLOG.EXE. 1 X7.1_New_Features=TITLE X7.1 New Features=KEYWORD features,new=INCLUDE VersionA This section contains a brief description of the major changesC in functionality, enhancements and new features included in this release. 2 Changes< This section describes changes to existing functionality. 33 User_Id_not_required_if_Email_address_recognized@ In previous releases, attempting to perform any functions viaB Email other than REQUEST, QUERY or HELP required validation viaA User Id and Password - even if MultiHelp was able to recognize you by Email address.A This is no longer true so long as both EXPERT_EMAIL_ACCESS ande= PROBLEM_EMAIL_ACCESS are both enabled via the SYSTEM verb.O; You will now be recognized and authorized all privilegesr< associated with your User Id when accessing MultiHelp via@ Email if the source of your Email matches either your primaryB Email address or any of the unlimited number of alternate EmailB addresses that can now be stored with your PROFILE CONTACT (seeD PROFILE ADD CONTACT userId/ALTERNATE_EMAIL_ADDRESS in the command line reference).h v3 Mail_Server_re-architectedt= The MultiHelp Email server has been re-architected in thisa? release in an effort to make it more intuitive to use and to/= overcome some interoperability problems encountered in thesA previous design (these Email changes are also listed under thet Enhancement section). 4 Mail_AddressessC The previous version of the Email server used addresses prefixedeB with the characters MH%. These addresses are no longer used andB all mail is now sent do and received from the address MULTIHELP on the MultiHelp server node. C4 Mail_DirectivesC A new set of directives and directive rules are in place in thisc? release. The directives MH%Z: and MH%Q: are no longer valid.S i(3 New_rules_for_use_of_the_PROFILE_verb? Here are the new and revised rules for accessing the PROFILEt verb:/ o All users can SHOW their own information.lD o If you have UPDATE_CONTACT privilege, then you can MODIFY your8 own contact information (not ADD or REMOVE though)D o If you have UPDATE_HW_LIST privilege, then you can MODIFY your9 own hardware information (not ADD or REMOVE though)rD o If you have UPDATE_SW_LIST privilege, then you can MODIFY your9 own software information (not ADD or REMOVE though)s> o If you are not a customer, then you can SHOW all profile records.: o To use the sub-commands ADD or REMOVE, you must have Administrative Privilege.e= o If you have Administrative Privilege, then there are noD6 restrictions on your use of the PROFILE command. i33 X6.0_New_REQUEST_verb_restrictions_for_CUSTOMERsnA CUSTOMERs (users with the CUSTOMER attribute set in their usern= profile record) are no longer allowed to use the following-" qualifiers to the REQUEST verb: o /ACCEPT o /ASSIGN o /QUEUE o /REQUEUED If these qualifiers are used by a CUSTOMER, they will be ignored.@ In other words, CUSTOMERs are restricted to using the REQUEST action qualifiers: 5 o /CREATE (the default when /ID is not specified) 1 o /UPDATE (the default when /ID is specified)d= As a result of any customer action taken on a request, theo@ Request for Service will be placed back into a QUEUED status. eE3 X6.0_CATEGORY_and_COMMENT_fields_no_longer_accessible_to_CUSTOMERs A CUSTOMERs (users with the CUSTOMER attribute set in their usera< profile record) are no longer allowed to see the contents? of the CATEGORY and COMMENT fields in a Request for Service.fA These fields are intended for the exclusive use of the SupportiD Representative. If a customer attempts to use these qualifiers inD the command line interface, they will be ignored and the customer will be warned as such. o2 Documentation_Issuesu: This section provides special notes about the MultiHelp documentation. o(3 Documentation_Restructure_in_ProgressD The MultiHelp documentation is in the process of being completely> restructured. We intend to have a minimum of three distinct; manuals targeting different audiences (Customer, Support / Representative and MultiHelp Administrator).w@ We plan to make drafts of these manuals available to our beta@ test customers for review as they become available. Beta siteD feedback on these manuals will be as important as any feedback on the application itself. e3 MH_submit_manual B A short, new manual documenting tQ2 $MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z")he functionality of the Multi-@ Platform GUI Request Logger, MH_submit, is provided with thisA release. It can be found at SYS$HELP:MH_SUBMIT.PS (Postscript)hB and SYS$HELP:MH_SUBMIT.TXT (Text) on the MultiHelp installation node. a 2 Enhancements_and_New_FeaturesD This section describes enhancements to existing functionality and5 new features that have been added to this release.a e 3 MH$EXAMPLES_directory_created9 A new directory is created by this installation calledtA MH$EXAMPLES. This directory contains the sources for MH_submit @ as well as an SQL command file provided to create an SQL view: making MultiHelp data available to tools such as Excel.< We will place more entries into this directory over time. 3 Aborting_out_of_a_work_reportD There is now a method for aborting out of a work report using theC CLI without receiving any nasty mail back from MultiHelp! If you B are using the full screen editor, simply press the 'Do' key andC type QUIT. If you are entering a work report without the editor,oB type in the two characters '\q' starting inthe first column and2 hit return. You will be returned to the prompt. e43 Making_MultiHelp_database_data_available_to_Excel? The MultiHelp Rdb database can be accessed from a PC using a B database access tools such as Q+E or MS Query. These tools then> allow the data to be imported into a tool such as the Excel spreadsheet. ; In addition to having having Q+E or MSQuery installed onI9 the PC, you must also have SQL Services running on the ; MultiHelp server node. Since SQL Services is distributede= as part of Rdb, this typically simply requires running theo: SYS$STARTUP:SQLSRV$STARTUP.COM command procedure from a privileged account.B MultiHelp uses an advanced date and time format called the ANSI= format that SQL Services (and this Q+E and MSQuery) cannottA interpret. We have therefore shipped a sample SQL command fileaB with this release that creates a view of the MultiHelp databaseD and converts these dates and times into a format that can be read by those applications.t. Creating the database view RPT_PRB_WR_LABOR; To create this database view, first move to the examplesd directory:h $ SET DEFAULT MH$EXAMPLES:iB There you will find a file called RPT_PRB_WR_LABOR.SQL. Type orB edit this file and study it to be certain that you have an ideaB of what it is doing. Once you feel comfortable with it, execute& the commands found in the comments: $ MCR SQL$t# SQL> attach 'file multihelp$db';e SQL> @RPT_PRB_WR_LABOR.SQLd SQL> commit; SQL> exit;f@ You have now created a view of the database that joins acrossA three different database tables and converts the ANSI dates tof; times that can be read by the tools we are about to use.e Excel Version 4 and Q+E? If you are using Excel V4, then you have everything that youdC need. The following assumes that you have already configures Q+EtC as an add-on in Excel (you should see the item 'Activate Q+E' ineC the Excel Data pulldown if this has been done). If you have not,L9 please review your Excel documentation and add it now.J= Choose the item 'Activate Q+E' in the Excel Data pulldown.s@ Once Q+E displays, choose the 'Logon...' item from the 'File'= pulldown. This will bring up a choice of database sources.d Double-click on 'Rdb'.h> Next, choose the 'Open...' option from the 'File' pulldown.A This should give you a dialog requesting a nodename, username,bD password and schema statement. Enter the MultiHelp server node inC the 'Node' box. Enter an appropriate username and password for a B valid user account on the MultiHelp server node. In the 'Schema$ Statement' box, enter the string:" attach 'filename multihelp$db:'A You should now be presented with a list of tables available insD the MultiHelp database. Choose the RPT_PRB_WR_LABOR relation. You, should now have everything that you need. Excel Version 5 and MS Queryp@ If you are using Excel Version 5 and MS Query, you must first< obtain version 1.1 of the DEC ODBC Driver. This driver isA distributed with Rdb V6.0 on both VAX and AXP. You can extract B the ODBC driver from the Rdb kit and install it on your PC even. if you are running an older version of Rdb.; This step is required because the SQL code that MS QuerylB generates has embedded control characters that DEC SQL ServicesB cannot tolerate. V1.1 allows you to edit the drivers section ofA WIN.INI and change the value of the entry 'RemoveControlChars'n from NO to YES.B Once all of this has been properly configured on the PC, invokeC Excel and choose the 'Get External Data...' item from the 'Data' pulldown.A MS Query will start and ask you to 'Select Data Source'. ClicklB on the 'Other...' button. On the 'ODBC Data Sources' box, clickD on the 'New...' button. Double-click on 'DEC ODBC Driver' line in the 'Add Data Source' box.xC You should now get the 'DEC ODBC Driver Setup' box. In the 'DataoA Source Name' box, enter MultiHelp. Enter a description of yourwA choice in the 'Description' box. In the 'Server' box enter thetD MultiHelp server node name. Take the default for the 'Class' box.A Enter a valid and appropriate username on the MultiHelp serveruC node in the 'Userid' box. In the 'Schema' box enter the command:t" attach 'filename multihelp$db:'< Close out the dialog boxes and you will be prompted for a@ password associated with the username that you entered in theC previous step. MultiHelp will now be listed as an available data @ source. Double-click on MultiHelp. You will then be presentedB with a list of tables available. Double-click on the table RPT_$ PRB_WR_LABOR. You're on your way! v3 Mail_Server_re-architectedn= The MultiHelp Email server has been re-architected in this ? release in an effort to make it more intuitive to use and toi= overcome some interoperability problems encountered in thea previous design.  e4 Mail_AddresseshC The previous version of the Email server used addresses prefixedeB with the characters MH%. These addresses are no longer used andB all mail is now sent do and received from the address MULTIHELP on the MultiHelp server node. i4 Mail_DirectivesC A new set of directives and directive rules are in place in thisn? release. The directives MH%Z: and MH%Q: are no longer valid.nD The new directives are modeled after the escapes used by the UNIXD sendmail utility. Beta site feedback on this new approach will be valued.: Here are the rules and guidelines that apply to the new directives:C o Directives are initiated with the backslash character and are.? immediately followed by a single case-sensitive charactereC o Some directives expect a single parameter, some none, and forR" some a parameter is optionalC o A parameter is separated from its associated directive by one  or more spacesC o A parameter is considered to continue until another directive B or the end of the line is encountered. The exception to thisC being the parameter to the \S directive that continues to the A end of the line regardless of whether it encounters another  directiver? o With the exception of \S, parameters containing spaces oro= lower-case text must be enclosed in double quotes < " >cB o Directives are currently only recognized by the Email server9 and not in the command line interface or in the GUIHC o Directives may be placed either in the Subject line of a maildA message or in the message body. They may appear anywhere inpC the subject line, but when used in the message body the first = directive on a line must start in the left-most column. D o You may place more than one directive on a line in the message? body, but the first directive must start in the left-mostw< column and the line can be used for nothing other than directivesC o the default action when sending mail to the MULTIHELP account C is to create a new service request. You can use the \q and \z B directives to break out of this however and be able to issue# other MultiHelp CLI commands. D o The \U and \P directives are used to provide MultiHelp User Id and Password validation.; o In general, upper-case directives act as modifiers tor; a REQUEST +a$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z accumulated together and are all applied together to the REQUEST verb> o If multiple occurrences of the same upper-case directiveD occur, that later instance overrides the former. The exception2 to this is the \M directive that is additiveA o The \Z directive is the exception this accumulation rule as B the \Z is interpreted in place and serves to end one REQUESTA and start a new context. This allows multiple REQUEST verbs D to be processed from a single mail message by embedding one or! more of these \Z directivesi< o Lowercase directives are interpreted in place in place Table 1 Mail Directives/ Directive Parameter Descriptionh9 \U User Id specifies the User Id : \P Password specifies the Password@ \I Request Id specifies a specific Request@ Id to act upon The existence@ of this directive results in@ an update being performed onC an existing Request rather thanl6 creating a new one> \C CLASS specifies the CLASS of the+ requestaB \S Subject specifies a Request subject toB override that specified on the8 message subject lineD \E Email Address specifies the Email address thatB MultiHelp will use for repliesD to you. This overrides the EmailC address from which you sent thei+ messagerB \B CC_List specifies the Carbon Copy list3 for the requestD \D Due Date specifies a new due date for the+ request< \R Severity specifies a new Severity< \Q Priority specifies a new PriorityA \M anything any text found as a parameter B here is simply appended to theD REQUEST verb. Multiple instancesC of this directive are additive.o? \A adds /ACCEPT to the REQUESTD verb. This will only be used for; Support Representativest? \H adds /HIDDEN to the REQUESTiD verb. This will only be used for; Support RepresentativestB \T Status specifies a new Status for theC request. This will only be useda? for Support RepresentativeshD \Z ends the context for one REQUEST6 and starts anotherB \f requests that the log file forA the Mail Server processing beA returned to you by mail. ThisC is used as a debugging tool and B also if you expect output fromB something other than a REQUESTB \z inserts an End Of File (forces3 an implicit \f)nB \q this is not processed directlyB by the Mail Server, but rather> is passed to MultiHelp whoA uses it to abort the entry of_D a service request or work report. \w nn expands to> Lookup/Current/Work=nn You> would most likely use thisC after responding to an existing > request. You would need toA precede this directive with a D \z directive to break out of theA REQUEST verb context and backmD to where you can enter MultiHelp, commandsD \i filename includes the specified file intoB the processing stream. Keep inA mind that since the directivehB is actually interpreted withinB the MAIL$SERVER account on the> MultiHelp server node, theA file that you specify must beF? accessible from there. ThisrB file may in turn contain otherB directives, including other \i. directives0 Here is an example of using these directives: MAIL> SENDr To: MULTIHELP+ Subj: I'll Override this subject laterf \C WINWORDt \D "WED MAR 23 14:00 1994"e \R MED  \Q P3* \B "smtp%""phil@art.com"",tank::rjames"( \S bullets won't disappear in outlineJ I'm using WinWord V6.0 and trying to build an outline using the outlineL view. Sometimes I get bullets on the screen that have no text to go with' them and I can't get them to delete.P9 Is this a known problem or am I doing something wrong?I thanks, Mary ^Z MAIL>@ This example used directives to specify WINWORD as the class,A WED MAR 23 14:00 1994 as the due date, MED as the severity, P3t? as the priority, "smtp%""phil@art.com"",tank::rjames" as theuB CC_list, and overrode the subject that was supplied in the mailD message subject line. This was followed by the description of the request.s@ All of the directives were bunched together in this case, butD they could have just as easily been interspersed with the request= description - so long as they started in the first column. @ Here is an example of submitting a request and replying to an- existing one all in the same mail message:e MAIL> SEND  To: MULTIHELP' Subj: Disk drive is having troubletJ My disk drive seems to be having trouble today. I've had numerous file9 errors and it is logging errors... can you come look?i \C HARDWARE Thanks. \Ze \I 19940312.12MJ I found my problem with WINWORD... it isn't the application, I'm having0 hardware problems. Please close this request Thanks. ^Ze MAIL>C This example showed submitting a request for hardware assistanceeA (and setting a class of HARDWARE), then issuing a \Z directive @ to end the first request context. \I was then used to specifyA that what followed was to be a reply to the specified existingb request.l B23 Ability_to_notify_users_via_mail_based_on_Class; New with X7.0 is the ability to set up mailing lists for @ actions taken on specified classes or their descendants. ThisC notification can be broken down further to take into account therD type of action that took place on the service request whose class is specified.C The following list of examples illustrate the usefulness of thisd feature.E? o Supervisors want to know when any request has been loggeds+ without specifying the problem class.e9 o Team leaders want to be notified via mail, with allS? information, whenever a service request of class UNIX (oraC any descendant thereof) is created, updated or closed (or all  of the above).@ This is accomplished by defining a system-wide logical on the MultiHelp server node.o& The logical name syntax is as such:; MH_CLASS_MAIL_request_class__4 ALL: notify distribution list in all casesC CLOSED: notify distribution list if request status is closedi@ CREATED: notify distribution list if this is a new requestF UPDATED: notify distribution list } $MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z"Kif this is _not_ a new request# Two special request classes are: = o ALL: notify for any service request regardless of classt@ o NULL: notify for a service request with no class specified Examples:5 o Define/System MH_CLASS_MAIL_NULL_CREATED SYSTEMe= This example indicates that any created service requestE> that does not specify a valid request class will cause a< notification to be sent via Email to the email address "SYSTEM"- o Define/System MH_CLASS_MAIL_UNIX_CLOSEDu "SMTP%""detter@nodeb"""nD This example indicates that user DETTER@NODEB will be notifiedB whenever a request for service is updated to a closed status4 that is of class UNIX or a descendant thereof.C Do not place someone on one list that is covered by another. FortC instance, do not place someone on the CLOSED list for a class if A they are already on the UPDATED list for the class. This wouldp result in double mailings.h? If the request class is _not_ NULL, then we check it and allnD ancestor classes in a like manner. You should therefore not place@ someone on a mailing list for a class that is a descendant ofC another class for which they already receive notifications. Thisd$ will result in multiple mailings. SD3 Ability_to_append_files_to_request_for_service_initiated_via_mail@ A new feature has been added whereby a predefined file can be> appended to the first reply sent by MultiHelp to a user who? created a service request via Email. The file to be included< is controlled with the use of logical names define in the* SYS$STARTUP:MULTIHELP$STARTUP.COM file.> o A different file can be specified for each request CLASS> defined in the class tree (use MultiHelp> CLASS/LIST for available values).D o If a logical name does not exist for the specified class, then7 the file associated one of its ancestors is used.aB o If no match is found in this manner, then the file specified$ by MH_MAIL_INCLUDE_ANY is usedB o If a valid class was not specified, then the file associatedD with MH_MAIL_INCLUDE_NULL is used (and is that is not defined,A the the file associated with MH_MAIL_INCLUDE_ANY is used ifn defined).uB o If the logical MH_MAIL_INCLUDE_CREATION is defined, the fileC that is pointed to is appended to the reply sent by MultiHelp9 after the initial creation of all service requests. = This file can contain any information deemed useful by theg? helpdesk staff or the MultiHelp administrator. Some examplese of what might be useful:rB o MH_MAIL_INCLUDE_NULL could be used to give guidelines on how( to specify a valid class via EmailC o MH_MAIL_INCLUDE_ANY could be used in the absence of any other:? definitions to give general troubleshooting guidelines oreB to advertise response-time goals for the HelpDesk or to give backup phone numbers etc.lC o MH_MAIL_INCLUDE_CREATION would be used to send a message thatr? you would be insured the customer would receive after anySC request they create. This could include information about the B helpdesk, telephone numbers, hours of operation, pointers toD procedure manuals, troubleshooting guides and other resources.C This should be information that you want them to receive onlyiB after creating a request. For information that you want them@ to receive in every correspondence from MultiHelp, use the9 message trailer file described in the next section. C o A file for a specific class and its descendants could be usedoD to tell the user about a group of common problems in that areaC or where else to look for help. It could also be used to tellmC about a current problem that being experienced and what to doS about it.'B o The file could be used to request specific information aboutA a particular class of problems that will be required by the'B support representative and might have been overlooked by the user.r; Here is the section of SYS$STARTUP:MULTIHELP$STARTUP.COMi> that details the use of the logicals. You should enter yourA definitions in this file immediately following this section ofm@ comments. After you have added logical name definitions, theyA will take affect the next time the system is rebooted. To make A then take affect immediately, simply execute the DEFINE/SYSTEM  commands interactively.$!H$! Define logicals here that point to files to be included in the reply/$! to Service Request Creations Only via Mail. $!$$! The logical name syntax is such:$!%$! MH_MAIL_INCLUDE_request_classM$!$$! Three special request cases are:$!@$! ANY: Include the specified file if a logical does=$! not exist for the problem class or if thec>$! problem class is NULL and the logical does9$! not exist for the NULL problem class.uC$! NULL: Include the specified file if the problem class +$! has not been specified.r$!3$! See the documentation for more information.a$!$! Examples:w$!N$! 1) Define/System MH_MAIL_INCLUDE_UNIX "MultiHelp$Dir:Unix.Include"$!I$! If a request for service arrives via mail and the problem.=$! class has been specified as "UNIX", the replyc@$! back to the customer will include the file above2$! appended to the rest of the reply.$!L$! This file would also be included if the class specified wereJ$! a descendant of the class UNIX and a logical did not existO$! for that class or any ancestor of that class encountered beforeiK$! UNIX while performing an ancestor search in the class tree. $!N$! 2) Define/System MH_MAIL_INCLUDE_NULL "MultiHelp$Dir:Null.Include"$!I$! If a request for service arrives via mail and the problems7$! class has not been specified, the replyr@$! back to the customer will include the file above2$! appended to the rest of the reply.$!L$! 3) Define/System MH_MAIL_INCLUDE_ANY "MultiHelp$Dir:Any.Include"$!A$! If a request for service arrives via mail and theeC$! appropriate logical from 1 & 2 above does not existSI$! then the reply back to the customer will include the filei8$! above appended to the rest of the reply.$!$!-n d3 Message_trailer_file A A new feature has been added whereby a predefined file or texttC string can be appended to the end of every Email message sent bygC MultiHelp to a user. The file (or text string) to be included isjB controlled with the use of the logical name MH_CUSTOMER_TRAILER/ defined in SYS$STARTUP:MULTIHELP$STARTUP.COM 2 Following is the commented section of code fromA MULTIHELP$STARTUP.COM that explains how to set up the logical.i $!+ $!A $! Define Logical for including trailer text at the end of all ( $! customer acknowledgments via mail. $!nD $! The logical MH_CUSTOMER_TRAILER can point to a file to include8 $! or it may merely point to a text string to output.C $! This text (or file) will be included at the end of every mail K $! acknowledgment sent to a customer when service requests are initiatede $! or updated.s $!l $!-P $! DEFINE/SYSTEM/NOLOG MH_CUSTOMER_TRAILER MultiHelp$Dir:Customer_Trailer.TxtK $! DEFINE/SYSTEM/NOLOG MH_CUSTOMER_TRAILER "Thanks for Using MultiHelp!"a a.3 Command_Line_HELP_pauses_at_screen_boundary> The output from the command line interface HELP command now= pauses once it has output a screen full of information andp* prompts you to press "Return for More". '3 Email_notifications_made_more_usefulxB Any notifications received via Email have been greatly enhanced: to provide more useful information and less of might beC considered noise. Further work has been done on this for releasem X7.0. l43 Request_creation/update_confirmation_stream-linedA The information that MultiHelp provides as a confirmation thatpA the request has been created or updated while using either the A command line interface or the Email interface has been stream- C lined to provide a few lines of important information instead ofoD the more-than-a-screen-full provided previously. Further work has& been done on this for release X7.0. 3 The_QUEUET2j$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?zL"\_and_LOOKUP_verbs A Several new qualifiers have been added to the QUEUE and LOOKUP = verbs in this release. In each case the qualifier is valid A for each verb and has the same meaning. Support for a wildcard C character with most qualifiers that accept a string variable has  also been added.e h44 New_and_Enhanced_QUEUE_and_LOOKUP_verb_qualifiersB The following table summarizes the new and enhanced features ofB the QUEUE and LOOKUP verbs. The /MORE qualifier is the only one new with release X7.0. < Table 2 New and Enhanced QUEUE and LOOKUP verb qualifiers, Qualifier Status DescriptionB /ONE X6.0 New Generates a single line of outputD describing each request for service@ /MEDIUM X6.0 New Generates three lines of output< describing each request forB service. When specified with /ID,A it also displays the Work Report . summary linesB /SUMMARY X6.0 New Generates a table summarizing theA number of at each severity levelcD and within each severity level, howD may requests at each priority levelD /EXTRACT=file X6.0 This qualifier can now be used withB Enhanced any valid QUEUE or LOOKUP command@ to generate an output file withC the results of the command. It waswB previously restricted to use with2 the /ID qualifierB /[NO]NULL X6.0 New /NONULL allows you to exclude any@ request with no specified CLASS> from the output. The default,A /NULL, includes requests with no C CLASS specified in all output even @ if you specify a specific class- with /CLASS= B /[NO]CLASS X6.0 /NOCLASS has been added to selectB Enhanced only those requests with no CLASS* specified> /[NO]CUSTOMER X6.0 /NOCUSTOMER has been added to@ Enhanced select only those requests with6 no CUSTOMER specifiedB /[NO]OWNER X6.0 /NOOWNER has been added to selectB Enhanced only those requests with no OWNER* specified@ /MORE X7.0 New Specifying a value for the MORE@ qualifier signifies that output< scrolling should pause when? that number of lines have been B displayed. Once output is paused,B you may press RETURN to continue,@ 'q' to stop the display, 'a' toC request that all remaining text bekC displayed without prompting or any @ cardinal number to request thatD number of lines be displayed beforeC prompting again. /MORE=20 lines isu- the default.E S74 X6.0_Wildcard_usage_in_qualifiers_with_string_values > Each qualifier that takes a string value such as /CUSTOMER,A /CATEGORY, /SEVERITY and /PRIORITY can have embedded asteriskss that act as wildcards. & NOTE, /CLASS does not accept these wildcards@ A value that starts with an asterisk does a sub-string searchB on the specified field, and one that ends with an asterisk does@ a 'starting with' search on the specified field - An embedded asterisk has no effect! For example: / LOOKUP/CATEGORY="*JJ1,*JJ2"/CUSTOMER="ROCK*"bC will find all service requests that have JJ1 or JJ2 somewhere in A there category field and have the Customer Id that starts with "ROCK".C This is particularly powerful when used with the /CATEGORY field B because it allows you to place several different strings in the! field to be used for searches.T ,3 Graphical_User_Interface_support_enhanced< This release enhances the functionality of the DECwindowsA graphical user interface (GUI), whose first functional release was X5.0.C This interface can be displayed to any display device running an C X Window System display server (workstation, Xterminal or PC fore example). 4 Displaying_the_GUIe: There several methods available to start the GUI. There> will eventually be other choices available that may be less? complicated, but they are yet to be implemented. In additionDC to the methods presented below, you may also use DECNET TASK-TO-s> TASK, SUBMIT/REMOTE or TCP/IP's rsh to start the interface. e"5 Launching_the_GUI_interactively> You may display the interface by logging into the MultiHelpD server node, issuing the appropriate SET DISPLAY command followed7 by the command MH/INTERFACE=DECWINDOWS. For Example:t3 $ SET DISPLAY/CREATE/NODE="mypc"/TRANSPORT=TCPIPi $ MH/INTERFACE=DECWINDOWS s5 Launching_the_GUI_detacheds= You could also start the interface as a detached processes D (freeing up your interactive session) by performing the following steps:@ 1. Place the two command lines above into a command procedure2 called GUI.COM on the MultiHelp server node.D 2. Execute the following command to start MultiHelp as a detached process:Q $ RUN/DETACH/AUTHORIZE/INPUT=GUI.COM/OUTPUT=GUI.LOG SYS$SYSTEM:LOGINOUTN D5 Launching_the_GUI_via_Email; You may also launch the interface by sending a specially < formatted mail message. This mail message must be sent to@ MULTIHELP on the MultiHelp server node and the subject or the= body of the mail message must include the two special mailsC directives, \q and \z, followed by the command to start the GUI.b See the example below:e MAIL> sende To: MHELP::MULTIHELPi4 Subj: \q \z mh/inter=decwin/display=button::0.0K Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit:e ^ZeA replace MHELP with your MultiHelp server node or host name anda? replace button with the nodename or hostname of your displayr device.> Note that when you start the GUI using the Email interface,? you will receive a mail message from MultiHelp when you exitvA the application that will contain some cryptic information and C possibly some errors. Please disregard this message at this timeiB (unless you experience an error while using the application, inD which case it may be useful). This method will be replaced with a" more elegant one in the future. e.5 Launching_the_GUI_to_a_PC_running_eXcursion: MultiHelp has been tested and runs well on a PC runningA eXcursion. You must currently have an account on the MultiHelpL" server node to do this however.? To start MultiHelp in this way, you define an application infD eXcursion as you would for any other utility. Follow these steps:* 1. activate the eXcursion control panel+ 2. double-click on the Applications icon ! 3. for Alias type in MultiHelpi3 4. for Application type in $ MH/INTERFACE=DECWINe5 5. for Host type in the MultiHelp server node namef 6. click on the Run buttonsA 7. you will now be prompted for a Username and Password on theC MultiHelp server nodee8 8. supply this information and click on the OK button8 9. you should now receive the MultiHelp GUI logon boxC You may also store your Username and Password with the eXcursion"@ application and add the application as an icon to the programD manager. Please refer to your eXcursion documentation for further information.d 4 Resource_fileA There is a resource file included with the release that can besA used to customize many of the attributes of the interface. Thes? file is located in DECW$SYSTEM_DEFAULTS:MULTIHELP.DAT in thee MultiHelp server node.a? You may copy this file to your DECW$USER_DEFAULTS: directoryTB (usually your login directory) on the MultiHelp server no %$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z "mde, or@ you may put the content of the file into your .Xdefaults fileA on a local UNIX/Ultrix node or to SYS$LOGIN:DECW$XDEFAULTS.DATlC on a VMS system and make any modifications you desire. This fileiC is internally commented to facilitate modification. Make certainpC to obtain a new copy of this file and reapply your modifications_# after each release of MultiHelp.h b3 GUI_new_featuresdA This section highlights the most important new features of thep GUI in this release.d s,4 Single_Click_in_main_window_for_more_infoC You may not single click with mouse button one on any request inSD the main window (in either the Customer or Support Rep views) andB the line will expand to give you more information. The expanded information is: o Customer Idi o Owner Id o Work Report Counts o Attempts o Logger Idh o Last work report Author  o Last work report summaryA This functionality is particularly nice for requests that have C been requeued. The subject line in the main display is typicallyiD the original request subject and expanding the request allows youB to easily see the last work report summary line and who entered) it to see why it is back in the queue.e u/4 Changes_to_request_creation_and_view_windowss@ Two major changes have been made to the layout of the request- creation and view windows in this release. * Buttons added to specify several values: New buttons and text fields have replaced the method ofA specifying the values of CLASS, SEVERITY, PRIORITY, STATUS andhC DUE DATE. To make selections, click on the word CLASS, SEVERITY,iA PRIORITY, STATUS and DUE DATE and choose a value from the list 5 supplied. Here is an example of choosing DUE DATE:  Edit pulldown addedB You may use the Copy and Paste functions to access the standard< Motif clipboard to move information between applications. o 4 Request_Id..._dialog_enhancedB The Request Id... dialog accessible from the Requests pull-downC on the main screen has been enhanced. This dialog keeps track ofyC each Request Id that you visit during a MultiHelp session and toe1 quickly recall one that you worked on earlier. B In this release, the Request Subject line has been added to the? dialog to make it easier to remember the request and what itiB involved. You may either double-click on the Request Id listed,> or you may enter another Request Id in the entry box at theD bottom and click on OK to bring the request back onto the screen.8 Here is an example of what the new window looks like: o4 X6.0_GUI_Help_SystemoC A very comprehensive help system added to the GUI. With this newo system you can:? o browse through the available help topics (Help On Window)p< o request help on a selected item on the screen (context sensitive help)p= o simply move the pointer over an object on the screen toaA receive a one-line description of its function or intentionh (pointer-sensitive help) s5 Help_On_Windowe@ You may browse through the help that is available by clickingA mouse button one on the Help pull-down in the upper right handsC corner of most windows and choosing the On Window item. You willhC then be able to choose the items of interest. Click mouse buttont0 one on the Exit button when you are finished. a5 Help_On_ContextB You may request context sensitive help by clicking mouse buttonC one on the Help pull-down in the upper right hand corner of mostyA windows and choosing the On Context item. When you choose thisi? item, the mouse pointer changes shape to be a question mark,sD < ? >. Simply move this new pointer shape over the top of an item@ on the screen for which you desire more information and pressA mouse button one. If help is available on that object you willb. receive it in the help window that appears. 5 Pointer-sensitive_HelpLC Many of the items on the GUI screens have pointer-sensitive helphD that is activated simply by moving the mouse pointer over them orD by giving the item keyboard focus. Pointer-sensitive Help appearsC as a single line of help text that appears in the middle or nearpC the bottom of the window and changes dynamically as you move thev# mouse pointer around the screen. A You can learn a lot about the application simply by moving the ; mouse pointer over different objects. Play around a bit!  4 User_Interface_EnhancementsB There have actually been too many enhancements made to the userB interface to mention them all. The following highlights some of the major ones. t65 Two_interfaces:_Customer_and_Support_RepresentativeB There are now two separate user interfaces in the GUI. There isC one interface presented to any user designated as a CUSTOMER andM@ a second that is presented to support representatives and the MultiHelp administrator.aD The interfaces are very similar, but the CUSTOMER interface has aD set of convenient buttons to perform their most likely tasks. TheD customer also does not have access to some of the fields that are+ reserved for the support representative.E Y5 Miscellaneous_changes# A list of other notable changes:r> o The main window menu bar has been rearranged into a more logical groupingD o The password field in the Logon Box now masks the text enteredB o The Command Window (MultiHelp> prompt) and the status Window@ can now be added and removed from the main window. See the View pull-down. ? o Icons have been added to represent the desired methods of ? communicating with the customer. You will se these on therA Request Create window and they can be specified by choosing A the Customer Info... item of the Customer pull-down on thatL windowC o Notifications are now fully functional. See GUI NotificationsA for more information. B o You can request that requests with no class specified not beA included in your display by deselecting the Nulls button onsD the selection criteria window (see the Search Criteria... item/ of the View pull-down on the main window.t 4 GUI_NotificationsD Notifications are a very powerful function of the GUI. They allow? a support representative to specify a set of criteria and be = notified any time a request enters the system that matchesSD 1. the search criteria that defines what is displayed in the main% window (see the View pull-down) B 2. the notification criteria defined in the Notification window< activated by selecting the Notification... item of the0 Notification pull-down on the main window.A To activate notifications, you must first activate the ReceiveoA Notifications button of the Notification pull-down on the mainc window.@ A notification is a pop-up window that identifies the request= that matches the criteria you specified and allows you to:w7 o Simply Acknowledge the pop-up and make it go awayRC o Go To Service Request which will immediately grab the requesta+ and put it on the screen to be worked! o Request Help on the processd? When playing with this interface, you may find that you havelC suddenly become overrun with notifications. Fortunately, you canrB issue one command that will Acknowledge all of the notificationD pop-ups at once. Simply choose Acknowledge All Notifications fromA the Notification pull-down on the main window, or press ctrl-ba1 the accelerator associated with this function.  s83 Multi-Platform_GUI_Service_Request_Logger_(MH_submit) New with X7.0? The following features are new with the Request Logger as ofr X7.0.A o With the re-architecture of the MultiHelp Email sub-system,hD the default Email address for MH_submit has been changed to be. MULTIHELP (previously it was HELP_DESK).? o All of the source files for the MH_submit application aret3 placed in a new directory called MH$EXAMPLES: B o Option Menus instead of text fields for Class, Severity, andB Priority; and the ability to specify the values in the menu.? o An option menu has been added to allow the user to selectr standard due dates. @ o The ability to specify a mail CC list for all transactionsD concerning the service request has been added. Note that sinceC the CC list is actually used by MultiHelp on the server node, A th DF$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z?"~e Email addresses specified here must be in a format that 0 can be used by VMSmail on the server node.? A new manual documenting the full functionality of MH_submit = is being distributed with X7.0. The manual can be found in = SYS$HELP:MH_SUBMIT.PS (Postscript format) and SYS$HELP:MH_ = SUBMIT.TXT (text format). Please reference this manual fore. details on the (new) features of MH_submit. h 1 Xwindows =TITLE GUI specific informationE =KEYWORD locka> This section has information specific to the GUI interface. 2 PROBLEM_CURRENT_LOCKED *=TITLE You Currently Have a Request Locked =KEYWORD lock @ This indicates that you have attempted to view/lock a request* whil currently viewing/locking another.@ This gives you the option of unlocking the current request in order to view the new one.tA Pressing YES indicates that you want to unlock the old requestt and lock the new.C Pressing No indicates that you wish to finish up work in the old  request first.  C1 MULTIHELP_Messagesp e2 ABORTEDWORKuser aborted work report Severity: ERRORB Explanation: The user has intentionally aborted entering a workD report, and has therefore aborted the request creation or update. User Action: None e2 ALTEMAILADDEDalternate email address added  Severity: INFORMATIONALA Explanation: An alternate EMAIL address was added to a contact record. User Action: None.  h2 ALTEMAILREMOVEDalternate email address removedd Severity: INFORMATIONAL? Explanation: An alternate EMAIL address was removed from thec contact record. User Action: None.  2 APAGECUST+attemtping automatic page of !AZ !AZ at !AZN Severity: INFORMATIONALC Explanation: The creator of a request has requested that they betA notified via pager on any updates to the request. MultiHelp is  paging that person. User Action: None.  e 2 APAGEENG +attemtping automatic page of !AZ !AZ at !AZu Severity: INFORMATIONALA Explanation: The owner of a request has requested that they be A notified via pager on any updates to the request. MultiHelp is  paging that person. User Action: None. 2 APAGEMISC+attemtping automatic page of !AZ !AZ at !AZn Severity: INFORMATIONAL? Explanation: An interested party for a request has requested A that they be notified via pager on any updates to the request. # MultiHelp is paging that person.s User Action: None.  2 ARCHIVEEXISTS$Archive failed, "!AZ" already exists Severity: ERRORB Explanation: The Archive operation failed, The specified record. already exists within the archive database.B User Action: Use MultiHelp>ARCHIVE/REPLACE to Force the Archive- operation to replace the existing records.c t 2 ARCHIVETOT*'unsigned decimal number' records archived Severity: INFORMATIONAL5 Explanation: The Total number of records archived.o User Action: None.s c 2 ATTEMPTEDrequest for service attemptedr Severity: INFORMATIONAL@ Explanation: An attempt was made to contact the customer in a request for service.e User Action: None.s w 2 BADCLASSe7bad class format "!AZ"-use uppercase letters and digitst Severity: ERROR? Explanation: A class value was entered that was not properly formatted.o@ User Action: Use the correct syntax for entering class names. o 2 BADDATEa bad date was entered "!AZ" use format YYYY-MM-DD Severity: ERRORC Explanation: A time value was entered that was not recognized byw MultiHelp.tC User Action: See the text of the message for legal time formats.n i2 BADDATETIME!a bad date time was entered "!AZ"s! use format YYYY-MM-DD:HH:MM:SS  Severity: ERRORC Explanation: A time value was entered that was not recognized by MultiHelp.C User Action: See the text of the message for legal time formats.l t 2 BADDELTAe.bad delta time entered: use "ddd:hh:mm" format Severity: ERRORC Explanation: A time value was entered that was not recognized bys MultiHelp.hC User Action: See the text of the message for legal time formats.l t2 BADDT!a bad date time was entered "!AZ"s try another format  Severity: ERROR? Explanation: A date/time format was specified that could notE@ be deciphered or an invalid date/time was specified - such as September 31.; User Action: MultiHelp should recognize most any kind ofa= date/time format. Try entering another format; for examplep= - "yyyy-mm-dd:hh:mm" or "dd-MMM-yyyy hh:mm". Please notifys9 MultiHelp customer support of the format which failed.d o2 BADINTERVAL%a bad interval time was entered "!AZ". use format DDD:HH:MMl Severity: ERRORC Explanation: A time value was entered that was not recognized byO MultiHelp.CC User Action: See the text of the message for legal time formats.E l 2 BADPREFIX5prefix must only contain letters; prefix not modifieda Severity: ERRORC Explanation: The MultiHelp prefix must contain only 1-4 letters.d@ User Action: Re-specify the prefix using only 1-4 letters. No numbers or other characters.e \ 2 BADPRIl+invalid priority "!AZ"; using default "!AZ"e Severity: ERRORA Explanation: A priority value was entered which is not know ton MultiHelp.lC User Action: Use MultiHelp> PRIORITY SHOW to see a list of known, priority values. ^ 2 BADSEVa+invalid severity "!AZ"; using default "!AZ"o Severity: ERRORA Explanation: A severity value was entered which is not know to MultiHelp.wC User Action: Use MultiHelp> SEVERITY SHOW to see a list of known  severity values.t l 2 BADSORTFLD0bad sort field specified; refer to documentation Severity: ERRORA Explanation: You have specified a field to sort on that is not( recognized by MultiHelp.rB User Action: Check for spelling errors and consult on-line help for the sort qualifier. a 2 BLANKEMAIL &no EMAIL address for user !AZ Severity: ERROR; Explanation: This indicates that a contact's profile hasrA specified email notifications but has not set an email addresst for the contact.eC User Action: Either add an email address for the contact or turnn, off email notifications for that contact. n 2 CANTCOMMUNF>unable to establish comunication with MULTIHELP process (!8XL)B check MULTIHELP$DIR:MULTIHELP$CAPTIVE.COM and MHMAIL$SERVER.LOG Severity: ERROR@ Explanation: The MultiHelp EMAIL-Server process was unable to@ create or communicate with its command-execution sub-process.= User Action: If the process-id given is 00000000, then theaC failure occured trying to create the sub-process. If it containsoA a valid process-id, then check the operating-system accountingt# log for clues as to what failed.m a2 CANTDELPRNT3only childless problem class records may be deletedn Severity: ERROR> Explanation: An attempt was made to delete a class from the? MultiHelp database, which would have left a child class withu no parents.B User Action: Delete all the children of a class before deleting@ the class itself. Use MultiHelp> CLASS/LIST to see what those children are. S2 CANTOPENCMDSI!unable to open command file "!AZ"e Severity: ERRORB Explanation: MultiHelp was unable to open the specified command file.D User Action: Verify that the specified command file exists and is accessible. r2 CANTOPENDIST +unable to open MAIL distribution list "!AZ"D Severity: ERRORC Explanation: MultiHelp could not open the specified distributioni list file.m< User Action: Verify that the specified file exists and is accessible. i 2 CLASSADDEDuclass "!AZ" added to database  Severity: INFORMATIONAL5 Explanation: A class value was added to MultiHelp.  User Action: None.  p2 CLASSDUPLNAMlproblem class already exists Severity: ERRORC Explanation: You have attempted to add a new problem class whicht already exists.@ User Action: For a class to be unique, the combination of its- name and its parent's name must be unique.x d 2 CLASSLIST-choose a class value from the following list: Severity: INFORMATIONALB Explanation: Following is a list of the currently-defined class values.. User Action: Choose a class from that list. i2 CLASSMODIFIEDclas i5$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z4"s "!AZ" modified Severity: INFORMATIONAL8 Explanation: A class value was modified in MultiHelp. User Action: None.  u2 CLASSREMOVEDt!class "!AZ" removed from databaseu Severity: INFORMATIONAL9 Explanation: A class value was removed from MultiHelp._ User Action: None._ d2 CLTBL2BIGORCIRC@problem class table is too large or contains circular references Severity: ERRORC Explanation: There is not sufficient virtual memory to build thes entire class table.? User Action: Reduce the size of the class table, or increaseP virtual memory quotas.E T 2 CMDABORTccommand aborted by S Severity: WARNINGC Explanation: The user aborted the current operation with Ctrl/C.H% User Action: Re-try the operation. 2 CONTACTADDEDd!contact !AZ !AZ added to user !AZt Severity: INFORMATIONALA Explanation: A contact has just been successfully added to theo profile.t User Action: None T2 CONTACTEXISTS.contact already exists; use the MODIFY command Severity: ERRORD Explanation: You have attempted to create a contact for which one already exists.= User Action: Use the modify command to modify the existingr contact.I h2 CONTACTMODIFIED#contact !AZ !AZ (user !AZ) modified Severity: INFORMATIONAL> Explanation: A contact has just been successfully modified. User Action: None d2 CONTACTNOTADDED)contact not added; supply existing userid  Severity: ERRORB Explanation: You attempted to add a contact for which on userId exists.= User Action: You must create a userId before you can add a contact for that userId.s e2 CONTACTREMOVEDi%contact !AZ !AZ removed from user !AZo Severity: INFORMATIONALA Explanation: A contact has just been successfully removed frome the profile.c User Action: None p2 CONTACTUNKNOWNvcustomer contact indeterminableh Severity: WARNING< Explanation: Insufficient information exists to determine@ the precise userid/contact to associate with this request for service.h8 User Action: Add more information (such as MultiHelp> REQUEST/CONTACT). e 2 CREATEh$Creating NEW Service Request ID: !AZ Severity: INFORMATIONAL- Explanation: Create a New Service Request.t User Action: None.t 2 CUSTINVQUAL3"!AZ" is an invalid qualifier for customers-ignoredt Severity: WARNINGB Explanation: The specified qualifier is not allowed for userids! with the "customer" attribute. < User Action: Re-enter the command without that qualifier. o2 CUSTNOLABOR6customer "!AZ" may not be granted labor time or credit Severity: ERRORA Explanation: At attempt was made to credit labor activity to ar( userid with the "customer" attribute.@ User Action: Only non-"customer" userids may be credited with labor.i i 2 DBATTACHi'attaching to database-one moment pleasei Severity: INFORMATIONALA Explanation: MultiHelp is attempting to successfully attach tot; the RDB database pointed to by the logical MULTIHELP$DB.i User Action: None 2 DUPALTt=alternate email address "!AZ" already exists for userId "!AZ"  Severity: ERRORD Explanation: The specified alternate email address already existsC in the database. Alternate email addresses must be unique or yout- cannot resolve one to one particular user.pB User Action: Specify an alternate email address that is unique. c2 EDITIGNORED(DESCRIPTION=EDIT is not allowed in EMAIL Severity: ERROR Explanation: Not used.m User Action: None.i s2 EXCEEDMAXREQj;exceeded MultiHelp$Max_Requests "'unsigned decimal number'"s Severity: WARNING? Explanation: Your query has matched on more requests than isa? allowed by the logical MultiHelp$Max_Requests. The number ofnB requests up to that number has been displayed and the rest will not be.A User Action: Specify stricter query parameters so as to narroweC the scope of your search criteria and get the number of matchingkC requests under the limit specified by the logical MultiHelp$Max_h Requests. e2 EXCEED_LICENSErCexceeded concurrent user license limit of 'unsigned decimal number'b Severity: FATALD Explanation: This message indicates that you have a license which@ limits the number of concurrent users accessing MultiHelp and6 that that limit has currently already been reached.? User Action: Try to access MultiHelp again later. If this iso? a common problem you may want to discuss this with your site C administrator to see about increasing the capabilities MultiHelpt concurrent users. u 2 FAXCUSTfax !AZ !AZ at !AZ Severity: INFORMATIONALD Explanation: The customer of a request has requested that they be1 notified via FAX on any updates to the requesti9 User Action: FAX the customer at the specified number.  o 2 FAXENGafax !AZ !AZ at !AZ Severity: INFORMATIONALA Explanation: The owner of a request has requested that they bet2 notified via FAX on any updates to the request.9 User Action: FAX the engineer at the specified number.  l 2 FAXMISCfax !AZ !AZ at !AZ Severity: INFORMATIONALA Explanation: The owner of a request has requested that they bep2 notified via FAX on any updates to the request.A User Action: FAX the interested party at the specified number. 2 FILEINERRunable to open input file "!AZ"l Severity: ERRORA Explanation: MultiHelp was unable to the specified input file. D User Action: Check for the existence of the specified input file. c 2 FILMEMERR,error allocating memory for input file "!AZ" Severity: ERROR@ Explanation: There is insufficient memory to read in an input file.@ User Action: This may be due to insufficient PGFLQUO or other7 process memory restrictions such as small pagefiles.t 2 FILOUTERR unable to open output file "!AZ" Severity: ERROR@ Explanation: MultiHelp was unable to open the specified input file.D User Action: Check for reasons why a file with the specified name could not be opened.  u 2 FILRDERR error reading file "!AZ" Severity: ERROR= Explanation: There has been an error in opening a file fori reading.r? User Action: Review any additional messages for clues to theo problem.a n 2 FORGOTa+current request for serivce not establisheda Severity: ERROR8 Explanation: No current context has been established.D User Action: Use MultiHelp> LOOKUP/ID or MultiHelp> REQUEST/ID to establish a context.g (2 HANDLE_FATALw'condition handler called on fatal errorr Severity: ERROR5 Explanation: An unexpected condition has occurred.e9 User Action: Please notify MultiHelp customer support.  r2 HANDLE_NOFATAL +condition handler called on non-fatal errorl Severity: ERROR5 Explanation: An unexpected condition has occurred.t9 User Action: Please notify MultiHelp customer support.  2 HARDWAREADDED%added !AZ to user !AZ's hardware listt Severity: INFORMATIONALD Explanation: A hardware definition has just been added to a users hardware list.w User Action: None 2 HARDWAREEMPTY specified hardware list is empty Severity: INFORMATIONALC Explanation: The hardware list for a particular user contains non items.h User Action: None b2 HARDWAREMODIFIEDe#!AZ modified in !AZ's hardware listp Severity: INFORMATIONALB Explanation: A hardware definition has just been modified for a user. User Action: None a2 HARDWARENOTADDEDi*hardware not added; supply existing userid Severity: ERROR? Explanation: The requested hardware information could not be.6 added because an existing userId was not specified./ User Action: Check your usage of the userId. X2 HARDWAREREMOVED$removed !AZ from !AZ's hardware list Severity: INFORMATIONALB Explanation: A hardware definition has just been removed from a users hardware list.  User Action: None l2 ILLEMAILADR)illegal MultiHelp[R] EMAIL-Server addressk Severity: FATAL= Explanation: This indicates that you have specified a non-o+ existent MultiHelp email server address.t< User Action: Check with your site administrator for valid$ MultiHelp email server addresses. h2 INVALID_LOGONinvalid logon informationh Severity: ERROR@ Exp X$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z"lanation: Either a bad userid or bad password was entered.5 User Action: Enter a valid userid and/or password.R 2 INVCUST*invalid customer specified; no such userid Severity: ERRORC Explanation: An attempt was made to fill the customer field of ac9 request for service with an unknown or illegal userid. C User Action: Use MultiHelp> PROFILE SHOW USER * to see a list ofA! all currently-defined userids. r 2 INVPROBIDinvalid problem id "!AZ" Severity: ERROR@ Explanation: An invalid request for service name was entered.> User Action: Use MultiHelp> LOOKUP to see a list of current requests. 2 JOINRECINCOMP3join record incomplete; discarding Join informationZ Severity: ERRORD Explanation: A JOIN definition was not completed. Either an emptyB join record was added or only one join field was specified. The0 incomplete JOIN definition has been disarded.C User Action: Review your JOIN definitions to be certain that the!C desired joins have been specified and redefine any that may havew8 been discarded because of being incompletely defined. 2 KEYDEFFILEt loading key definitions from !AZ Severity: INFORMATIONALB Explanation: A MultiHelp key definition file has been found and6 the key definitions are being loaded and processed. User Action: None 2 KEYDEFINED key 'string' has been definedi Severity: INFORMATIONAL@ Explanation: A key has just been defined in the CLI interface using the DEFINE/KEY command. User Action: None l2 KEYDEFOPENERR%error opening !AZ for key definitionsr Severity: WARNING> Explanation: The specified key definition file could not be opened.C User Action: Check that the specified definition file exists andi is accessible.x i2 KEYDEFTOOLONG@key definition too long on line 'unsigned decimal number' of !AZ Severity: WARNING= Explanation: A key definition located in the multihelp keye. defintion file has exceeded 256 characters.? User Action: Shorten the key definition to 256 characters orn less. w2 LICENSE_ADDEDlicense succesfully addedt Severity: INFORMATIONAL2 Explanation: A new MultiHelp license was added. User Action: None.d g2 LICENSE_EXCEEDEDR;concurrent users exceeded (limit 'unsigned decimal number')p Severity: ERRORD Explanation: This message indicates that you have a license which@ limits the number of concurrent users accessing MultiHelp and6 that that limit has currently already been reached.? User Action: Try to access MultiHelp again later. If this isU? a common problem you may want to discuss this with your siteC administrator to see about increasing the capabilities MultiHelpa concurrent users. 2 LICENSE_EXPIREDlicense has expirede Severity: ERRORA Explanation: The license for MultiHelp has expired on the nodee0 your are attempting to access MultiHelp from.@ User Action: Access MultiHelp from a licensed node or contact2 MultiHelp customer support for a valid license. r2 LICENSE_INVALID!invalid license, checksum invalid  Severity: ERRORB Explanation: The checksum just entered in a LICENSE ADD command is incorrect.D User Action: Correct the checksum value and re-enter the command. t2 LICENSE_MISSINGno such licenseE Severity: ERRORD Explanation: No license has been registered for MultiHelp and the8 Node your are currently attempting to access it from.B User Action: Register a license for the node you are attempting? to access MultiHelp from or access MultiHelp from a licensede> node. Contact MultiHelp customer support for information on obtaining a license.m a2 LICENSE_REMOVEDlicense succesfully removedv Severity: INFORMATIONAL: Explanation: The current MultiHelp license was removed. User Action: None.n e 2 LINE2BIGhCwork report line greater than maximum; will be truncated to maximumn Severity: ERROR@ Explanation: An input line was entered which was too long for MultiHelp to handle. ) User Action: Shorten the line of text.i t 2 LISTEMPTY+list contains no data or is not initializedr Severity: INFORMATIONAL6 Explanation: The class list has no defined classes. User Action: None.  r2 MAILLIST2BIGt3mail list is too big; user !AZ will not be notified  Severity: ERRORC Explanation: An attempt to generate a mail list has exceeded 500B characters.C User Action: Trim down the affected mail list (probably a CClistaD to a service request) to less than 500 characters. Consider using a distribution list.  t2 MTPNOFUNCTION-the specified MTP function "!AZ" is not known Severity: ERROR> Explanation: No such function is supported by the MultiHelp> Transaction Processor callable routine MULTIHELP$MULTIHELP.3 User Action: Try a different value for FUNCTION.i 2 MUSTBEEXACT%specified criteria must match exactlyr Severity: ERROR@ Explanation: An attempt was made to remove a contact by using6 wildcards or specifying incorrect name information.A User Action: The last and first name must be supplied and musts* match exactly in both case and content. 2 NAMEMISSi&must supply name as P2 on command line Severity: ERRORB Explanation: No STATUS, PRIORITY or SEVERITY name was specifiedA and you could not be prompted because you were using the emailE server.D User Action: Specify all required parameters when using the email interface.t l2 NOARTICLESELe1no article has been selected by clicking on title  Severity: WARNINGA Explanation: The "VIEW SELECTED" pushbutton has been activatedh4 without an article being highlighted in the list.C User Action: Make sure that an article is highlighted by single-t clicking on the title.c s 2 NOCATEGORYd6CATEGORY is an invalid qualifier for customers-ignored Severity: WARNINGB Explanation: Only non-"customer" userids may use the MultiHelp> REQUEST/CATEGORY qualifier.: User Action: Re-enter the command without the /CATEGORY qualifier.  i 2 NOCOMMENT5COMMENT is an invalid qualifier for customers-ignoreds Severity: WARNINGB Explanation: Only non-"customer" userids may use the MultiHelp> REQUEST/COMMENT qualifier.eD User Action: Re-enter the command without the /COMMENT qualifier. s2 NOCUSTOWNSHP customers may not own requests Severity: ERRORD Explanation: An attempt was made to assign ownership of a request= for service to a userid that has the "customer" attribute.: User Action: Only non-"customer" userids may own calls. o 2 NODISPLAYcould not open display [!AZ] Severity: FATALC Explanation: The specified Xwindow display destination could not C be opened by MultiHelp in order to display an Xwindow interface. ? User Action: Check to see that you have privilege to displayC@ to the given destination. Use an example interactive Xwindows& program, such as ICO, to test this. 2 NONINTERACT3no command on line for this non-interactive session  Severity: ERROR5 Explanation: An unexpected condition has occurred.b2 User Action: Notify MultiHelp customer support. 2 NOPARENTi%there is no parent to which to attach  Severity: WARNINGA Explanation: The MultiHelp> ATTACH/PARENT command was entered,n: but the process running MultiHelp is not a sub-process. User Action: None.S r 2 NOPASSSUPPL.no password supplied; defaulted to "MULTIHELP" Severity: INFORMATIONAL< Explanation: A MultiHelp user has just been created and aC password was not specified for the new userId. The password willa default to "MULTIHELP".C User Action: If you intended to place a password on the new user C account, then update the newly created account using the PROFILE; MODIFY USER command and specify the /PASSWORD qualifier.l h 2 NOPASSWORDs5must supply a valid password with /PASSWORD qualifiers Severity: ERROR' Explanation: A password is required.R? User Action: Supply a valid password for the userId entered.a i 2 NOPRIVa.insufficient privilege for attempted operation Severity: ERRORD Explanation: An operation was attempted that requires the "admin" privilege.tC User Action: Try the operation again using a userid that was they "admin" privilege.i t 2 NOPRIVREQ*insufficient privilege to vi e$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z3"ew request !AZ Severity: ERROR@ Explanation: You do not have sufficient privilege to view the request in question.tB User Action: Check with your site administrator if you feel you2 should be able to view the request in question. C2 NORECORDSFOUNDc#no records found to generate reportS Severity: ERROR@ Explanation: An attempt was made to generate a report, but noA data was found that matched the selection criteria. It is also;B possible that the selection criteria specified was either badly! formed or was too restrictive.i: User Action: Review the selection criteria specified to< be certain that it was what was intended and modify it if@ appropriate. Also be certain to check the definition of JOINsB to be certain that the proper associations have been defined if8 the data you requested came from more than one table. i2 NOREMDEFPRIcannot remove default priority Severity: ERRORA Explanation: An attempt was made to remove the definition of at: MultiHelp priority that is set as the default priority.? User Action: You cannot remove the currently defined defaultr: priority. In order to remove the priority definition inA question, change the default to another priority (creating oneA9 if necessary) and then remove the priority definition. U2 NOREMDEFSEVcannot remove default severity Severity: ERRORC Explanation: An attempt was made to remove one of the MultiHelp-p supplied severity codes.w< User Action: MultiHelp-supplied severity codes may not be removed.r e2 NOSOLno solutions found Severity: ERRORC Explanation: No solutions articles were found for your specified: criteria.- User Action: Broaden your search criteria.c i2 NOSUCHALTEMAILi no such record matching criteria Severity: ERRORC Explanation: An attempt was made to deliver mail using a userid,i7 but no EMAIL address is associated with that userid.:< User Action: Use MultiHelp> PROFILE ADD CONTACT /EMAIL to7 associate an EMAIL address with a particular userid.h o2 NOSUCHCLASSclass "!AZ" does not exist Severity: ERROR> Explanation: A class value was entered that does not exist.C User Action: Use MultiHelp> CLASS/LIST to see a list of existing classes.s 2 NOSUCHCONTACT&no contact matching specified criteria Severity: ERROR> Explanation: No contact matching the specified criteria was found.l User Action: None. 2 NOSUCHESCALATIONS*no escalations matching specified criteria Severity: INFORMATIONALB Explanation: No escalations matching the specified criteria was found.p User Action: None.d m2 NOSUCHHARDWAREv no hardware matching "!AZ" found Severity: ERROR= Explanation: No hardware record was found that matched thea specified name.2 User Action: Check the name that was specified. a 2 NOSUCHPRIpriority "!AZ" does not exist  Severity: ERRORC Explanation: A priority value was entered that does not exist ing MultiHelp.fC User Action: Use MultiHelp> PRIORITY SHOW to see a list of valide priority values.. e 2 NOSUCHPROBEno such problem "!AZ"n Severity: ERRORC Explanation: An attempt was made to reference an unknown requesth for service.tA User Action: Use the MultiHelp> LOOKUP command to see lists ofu known requests. p 2 NOSUCHSEVseverity "!AZ" does not existb Severity: ERRORC Explanation: A severity value was entered that does not exist in MultiHelp. C User Action: Use MultiHelp> SEVERITY SHOW to see a list of validr severity values.e u2 NOSUCHSOFTWAREn no software matching "!AZ" found Severity: ERROR= Explanation: No software record was found that matched the  specified name.2 User Action: Check the name that was specified. i 2 NOSUCHSOLno such solution "!AZ" Severity: ERROR> Explanation: You have specified a solution Id that does not exist.p= User Action: Double check your solution Id and re-enter ann existing solution Id. s 2 NOSUCHSTATstatus "!AZ" does not existi Severity: ERRORA Explanation: A status value was entered that does not exist inA MultiHelp.pA User Action: Use MultiHelp> STATUS SHOW to see a list of validf status values.u t2 NOSUCHUSERIDno such userid "!AZ" Severity: ERROR4 Explanation: The specified userId does not exist.B User Action: Specify a userId that exists. Use the PROFILE SHOW% USER * command to see all userIds.i 2 NOTCUSTID!not customer associated with calls Severity: ERRORB Explanation: A request for service has an empty CUSTOMER field.6 User Action: Fill in that field with the MultiHelp> REQUEST/CUSTOMER command. l2 NOTCUSTVIEW2the requested article is not viewable by customers Severity: WARNING; Explanation: The requested article has the "not customertD viewable" flag set on it. MultiHelp recognizes you as a customer.C User Action: Choose another article to view, or ask your supportn representative for help.e t2 NOTIFICATIONSsending EMAIL notificationsu Severity: INFORMATIONALA Explanation: Any EMAIL notifications necessary to complete thea transaction are in progress.  User Action: None.i 2 NOTIFYINGnotifying !AZ !AZc Severity: INFORMATIONAL: Explanation: The specified entities are being notified. User Action: None.  p2 NOTLICENSED+you are not licensed to use this capabilityc Severity: ERROR= Explanation: The user is attempting to use a capability of(@ MultiHelp which requires the purchase of a MultiHelp license.A User Action: Contact SIO Technologies Corporation at (800)951-u 3424 or Sales@sio.com.l e 2 NOUSERIDl2must supply a valid userid with /USER_ID qualifier Severity: ERRORA Explanation: The action you have taken with MultiHelp requiresc3 that you supply valid authorization information.eA User Action: Please supply a userId and, password if required.A? If this error is from the email interface, supply the userId ? directive (\U) and, the password directive (\P) if required.s 2 NOVALUESDBno values in database Severity: INFORMATIONAL? Explanation: This indicates that there are no values for thea. specified entity currently in the database. User Action: None 2 NOVERBACCESSe8access to this verb is not allowed without proper access verification Severity: ERRORC Explanation: Some operations are not allowed on un-authenticateda users.A User Action: Re-start MultiHelp specifying a valid userid [andd password].n s2 NYI)that functionality is not yet implementedu Severity: INFORMATIONALA Explanation: If you receive this message it indicates that theC functionality you have just attempted to access has not yet beenM implemented.  User Action: None 2 PAGECUSTFpage !AZ !AZ at !AZa Severity: INFORMATIONALD Explanation: The customer of a request has requested that they be4 notified via pager on any updates to the request.: User Action: Page the customer at the specified number. i 2 PAGEENGpage !AZ !AZ at !AZn Severity: INFORMATIONALA Explanation: The owner of a request has requested that they ber4 notified via pager on any updates to the request.: User Action: Page the engineer at the specified number. : 2 PAGEMISCppage !AZ !AZ at !AZd Severity: INFORMATIONALA Explanation: The owner of a request has requested that they be4 notified via pager on any updates to the request.B User Action: Page the interested party at the specified number. h2 PASSWORDREQ/password required when input is not interactivel Severity: ERROR' Explanation: A password is required.RD User Action: Supply a valid password using the password directive (\P). 2 PHONECUSTphone !AZ !AZ at !AZ Severity: INFORMATIONALD Explanation: The customer of a request has requested that they be4 notified via phone on any updates to the request.; User Action: Phone the customer at the specified number.m o 2 PHONEENGtphone !AZ !AZ at !AZ Severity: INFORMATIONALA Explanation: The owner of a request has requested that they bei4 notified via phone on any updates to the request.; User Action: Phone the engineer at the specified number.n o 2 PHONEMISCphone !AZ !AZ 98j$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z"at !AZ Severity: INFORMATIONALA Explanation: The owner of a request has requested that they bem4 notified via phone on any updates to the request.C User Action: Phone the interested party at the specified number.u H2 PRCLNOTHERE1problem class/parent pair does not exist in tablee Severity: ERRORA Explanation: An attempt was made to access a class/parent pairs* that does not exist in the class table.B User Action: Use MultiHelp> CLASS/LIST to see a list of classes and their parents.  m 2 PRIADDED priority "!AZ" added to database Severity: INFORMATIONALA Explanation: This indicates that you have successfully added a $ priority definition to MultiHelp. User Action: None h 2 PRIDEFMODdefault priority changed to !AZi Severity: INFORMATIONALA Explanation: This indicates that you have successfully changedb& the default priority for MultiHelp. User Action: None i 2 PRIDUP record already existsd Severity: ERROR@ Explanation: A priority value was entered into MultiHelp that already exists.= User Action: Use MultiHelp> PRIORITY SHOW to see a list of existing priority values. E2 PRIMODIFIEDpriority "!AZ" modifiede Severity: INFORMATIONALB Explanation: This indicates that you have successfully modified( one or more attributes of a priority. User Action: None a 2 PRIREMOVED $priority "!AZ" removed from database Severity: INFORMATIONALC Explanation: This indicates that you have successfully removed ae& priority definition from MultiHelp. User Action: None h 2 PROBLOCKEDoproblem "!AZ" currently locked Severity: ERRORC Explanation: An attempt was made to update a request for service- which is locked by another MultiHelp user.? User Action: Wait for the other user to release the request.i s 2 PROBSYNTAXa&correct syntax is [PPPP]YYYYMMDD.NNNNN Severity: INFORMATIONAL> Explanation: You will usually receive this error along with? INVPROBID. It indicates that you have specified an incorrect , format for a request Id or an article Id.B User Action: A request or article Id consists of a site prefix,@ year, month, day, a period < . > and a sequential number that; indicates the number of id's that came before it on that A particular day. You may ommit information starting on the leftaA hand side. Anything ommitted will default to the current date.d o2 REPORTEXISTreport "!AZ" already exist Severity: ERRORB Explanation: You attempted to store a report using a name which is already in use.HC User Action: Choose a new name or activate the "REPLACE EXISTINGn REPORT" push button.g l2 REPORTNOTFOUNDCreport "!AZ" doesn't exist Severity: ERROR> Explanation: A report name was entered that does not exist.C User Action: Specify an existing report name. Or select one fromr' the list if using the GUI interface.t c2 REQARCHIVEDrequest "!AZ" archived Severity: INFORMATIONALD Explanation: The specified Request along with its associated workB reports, labor records and any escalation records was archived. User Action: None.a e 2 REQDELETED:request "!AZ" deletedp Severity: INFORMATIONALD Explanation: The specified Request along with its associated work@ reports, labor records and any escalation records was removed from MultiHelp. User Action: None.a a2 REQRESTOREDrequest "!AZ" restored Severity: INFORMATIONALD Explanation: The specified Request along with its associated workB reports, labor records and any escalation records was restored. User Action: None. 2 REQUEST2LARGE;the specified query contains more data than can be gatheredn Severity: WARNINGD Explanation: The query issue by the LOOKUP command specifies more4 data than your process can allocate from the cpu.D User Action: As much data will be displayed as possible, with allD data past that value being left off. Narrow the search parameters; of your query in order to get the specified information.r t2 RESTOREEXISTS$Restore failed, "!AZ" already exists Severity: ERRORB Explanation: The restore operation failed, The specified record- already exists within the active database. B User Action: Use MultiHelp>RESTORE/REPLACE to Force the restore- operation to replace the existing records.t b 2 RESTORETOTs*'unsigned decimal number' records restored Severity: INFORMATIONAL4 Explanation: The Total number of records archive. User Action: None.b 2 SEVADDEDc severity "!AZ" added to database Severity: INFORMATIONAL> Explanation: This indicates that you have just successfully( defined a new severity for MultiHelp. User Action: None 2 SEVDEFMODdefault severity changed to !AZn Severity: INFORMATIONAL> Explanation: This indicates that you have just successfully. changed the default severity for MultiHelp. User Action: None h 2 SEVDUPrecord already existsl Severity: ERROR@ Explanation: A severity value was entered into MultiHelp that already exists.= User Action: Use MultiHelp> SEVERITY SHOW to see a list of: existing severity values. n2 SEVMODIFIEDseverity "!AZ" modified> Severity: INFORMATIONALB Explanation: This indicates that you have successfully modified( one or more attributes of a severity. User Action: None v 2 SEVREMOVED $severity "!AZ" removed from database Severity: INFORMATIONAL> Explanation: This indicates that you have just successfully/ remove a severity definition from MultiHelp.w User Action: None Y2 SITEPREFIXMODsite prefix modified Severity: INFORMATIONAL= Explanation: This message is obsolete and you should neverd receive it.< User Action: If you receive this message notify MultiHelp customer support. i2 SOFTWAREADDED%added !AZ to user !AZ's software listm Severity: INFORMATIONAL> Explanation: A software definition has just been added to a user's hardware list. User Action: None v2 SOFTWAREEMPTY specified software list is empty Severity: INFORMATIONALC Explanation: The software list for a particular user contains non items.  User Action: None r2 SOFTWAREMODIFIEDa#!AZ modified in !AZ's software listc Severity: INFORMATIONAL> Explanation: A software definition for a user has just been modified. User Action: None w2 SOFTWARENOTADDED *software not added; supply existing userid Severity: ERROR? Explanation: The requested software information could not bec6 added because an existing userId was not specified./ User Action: Check your usage of the userId.  p2 SOFTWAREREMOVED$removed !AZ from !AZ's software list Severity: INFORMATIONALB Explanation: A software definition has just been removed from a user's hardware list. User Action: None o2 SOLARCHIVEDsolution "!AZ" archived: Severity: INFORMATIONAL@ Explanation: The specified Solution KnowledgeBase article was archived. User Action: None. u 2 SOLDELETEDesolution "!AZ" deleted Severity: INFORMATIONAL@ Explanation: The specified Solution KnowledgeBase article was removed from MultiHelp. User Action: None.i s2 SOLRESTOREDsolution "!AZ" restoredi Severity: INFORMATIONAL@ Explanation: The specified Solution KnowledgeBase article was restored. User Action: None.t i 2 SOL_ABORT&solution addition/modification aborted Severity: INFORMATIONALB Explanation: The creation or update of a Solution KnowledgeBase article was abandoned.R% User Action: Re-enter the article.p S 2 SOL_ADDEDsolution "!AZ" added Severity: INFORMATIONAL@ Explanation: The specified Solution KnowledgeBase article was added to MultiHelp. User Action: None.c n2 SOL_MODIFIED solution "!AZ" modifiede Severity: INFORMATIONAL@ Explanation: The specified Solution KnowledgeBase article was modified. User Action: None.  i 2 SQL2LONGp!exceeded maximum SQL query lengtht Severity: FATAL> Explanation: This indicates that an SQL query was formed by. MultiHelp that was too long for the buffer.@ User Action: Please log what you were doing when you receivedB this error, being as detailed as possible, and notify MultiHelp c|Z$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?zF@"ustomer support. 2 SQLERRi<an SQL/RDB error has occurred; review the following messages Severity: ERROR. Explanation: An SQL/RDB error has occurred.B User Action: Review the error message that follows this one forD more information on the nature of the error. This error should be* reported to MultiHelp customer support. 2 SQLTEXT!AZl Severity: ERRORC Explanation: An SQL error has occurred and this message containsM the text of that error.D User Action: Take appropriate action based on the text of the SQL message.v r 2 STATADDEDstatus "!AZ" added to database Severity: INFORMATIONALA Explanation: This indicates that you have successfully added a" status definition to MultiHelp. User Action: None A 2 STATDUPrecord already existst Severity: ERROR> Explanation: A status value was entered into MultiHelp that already exists. User Action: None.a 2 STATMODIFIEDstatus "!AZ" modifiedu Severity: INFORMATIONAL8 Explanation: A status value was modifed in MultiHelp. User Action: None.A 2 STATREMOVED"status "!AZ" removed from database Severity: INFORMATIONAL: Explanation: A status value was removed from MultiHelp. User Action: None.s f 2 STATRES/"!AZ" is a reserved status; record not modifiedt Severity: ERRORB Explanation: An attempt was made to modify a MultiHelp-supplied status value.? User Action: It is not possible to modify MultiHelp-suppliedS status values.t n 2 SUBPROCESSr6enter DCL commands; type LOGOUT to return to MultiHelp Severity: INFORMATIONAL> Explanation: The input stream is now attached to a DCL sub- process.v# User Action: Enter DCL commands.  v 2 SYNBLANKcannot leave a field blank Severity: ERRORC Explanation: You have failed to specify both an initial word and  its synonym.a? User Action: You must specify both the word and its synonym.R 2 SYSNOTAVAIL/system not currently available; try again lateri Severity: INFORMATIONALB Explanation: Access to MultiHelp has been turned off by someone@ with ADMINISTRATIVE privilege using the SYSTEM verb. You mustD have ADMINISTRATIVE privilege to gain access to MultiHelp at this time.C User Action: Contact your MultiHelp administrator if you believeo there is a problem. k 2 SYSPARMMODpsystem parameters modified Severity: INFORMATIONALB Explanation: System parameters have just been modified with the SYSTEM verb.  User Action: None i 2 TOOLATE0request has already been accepted from the queue Severity: ERRORD Explanation: The MultiHelp> REQUEST/ACCEPT command was entered on8 a request for service that is no longer in the queue.D User Action: Use MultiHelp> LOOKUP/QUEUE to see a list of current requests in the queue.C L 2 TPUERRORi/internal error signal generated by Callable-TPU  Severity: ERRORC Explanation: An unrecoverable error was generated by MultiHelp'su editor - TPU.B User Action: Record information concerning the error and notify MultiHelp customer support. : 2 TRACEBACK&internally-generated TRACEBACK listing Severity: WARNINGD Explanation: An internal debugging codepath requested a TRACEBACK listing. B User Action: The information which follows may be of assistance8 to SIO Technologies in analyzing an internal problem. o 2 UNXCLI $an unexpected CLI error has occurred Severity: ERROR? Explanation: A CLI error has occurred that was not expected.o> User Action: Review the error message that follows for more? information on the nature of the error. This error should beU* reported to MultiHelp customer support. l 2 UNXERRORCunexpected error in applicationT Severity: ERROR Explanation: Not used.o User Action: None.I 2 UNXLOCK@an unexpected lock conflict has occurred; attempting to continue Severity: ERRORC Explanation: A lock conflict internal to MultiHelp has occurred.e= User Action: Notify MultiHelp customer support and log the% conditions surrounding this error.i i 2 UNXSMGv$an unexpected SMG error has occurred Severity: ERROR@ Explanation: An SMG error has occurred that was not expected.> User Action: Review the error message that follows for more* information on the nature of the error. h 2 UPDATEn)Updating EXISTING Service Request ID: !AZn Severity: INFORMATIONAL4 Explanation: Updating an existing Service Request User Action: None.a n 2 USERADDEDuser "!AZ" added to profileo Severity: INFORMATIONALD Explanation: A new userId has just been successfully added to the profile.r User Action: None 3 2 USEREXISTSc1user "!AZ" already exists; use the MODIFY commandd Severity: ERROR> Explanation: You have attempted to add a user for which the userId already exists.cC User Action: Use the modify command to modify its parameters, orn. remove the existing user and add a new one. A 2 USERIDREQ-userId required when input is not interactiveI Severity: ERRORB Explanation: You must supply valid authorization information to MultiHelp.t8 User Action: Supply userId and, password if required. d2 USERMODIFIEDruser "!AZ" modified Severity: INFORMATIONAL? Explanation: A user's parameters have just been successfullyc modified. User Action: None p2 USERPASSREQ5userid [& password] required to perform this functiono Severity: ERRORC Explanation: Some operations are not allowed on un-authenticatede users.nA User Action: Re-start MultiHelp specifying a valid userid [andi password].m m2 USERREMOVEDuser "!AZ" removed from profilei Severity: INFORMATIONALB Explanation: A user has just been successfully removed from the profile.t User Action: None 2 USERUNKNOWNcustomer userid indeterminable Severity: WARNING< Explanation: Insufficient information exists to determine@ the precise userid/contact to associate with this request for service.u8 User Action: Add more information (such as MultiHelp> REQUEST/CONTACT). 2 VALOUTRANGA!value out of range: must be 0..99 Severity: ERROR> Explanation: A value was entered that was outside the legal range.d5 User Action: Specify a value in the correct range.  t 2 VMERROR4internal error encountered allocating virtual memory Severity: FATALC Explanation: This usually indicates that you have exhausted your virtual memory limits.aA User Action: Perform a SHOW PROCESS/ACCOUNT command and recordt@ the value for "Peak virtual size". This may indicate that youA have exhausted your PGFLQUO quota or that your page file(s) isa not large enough. r1 Main_Window=TITLE Main Window=KEYWORD main,queuea@ This is the Main Window for the MultiHelp X-Window/Motif user= interface. The layout of the Main Window screen depends ono@ whether you are a identified as a Support Representative or a Customer (End-User)..A If you are a Support Representative, you will receive a screen@ display with the following components: Main Menu Bar, Command@ Pane (optional), Service Request Display, and the Status Pane (optional).> If you are a Customer (End-User), you will receive a screenD display with the following components: Main Menu Bar, Push ButtonB Pane, Command Pane (optional), Service Request Display, and the Status Pane (optional).A The Push Button Pane contains buttons that will allow specific. tasks to be performed easily. t2 Customer_Button_Paneu=TITLE Customer Button Pane=KEYWORD buttonsD This pane is only displayed for customers. It allows quick access to commonly used functions. l3 Create_Requestt=TITLE Create Requesth=KEYWORD buttonsD Selecting the "Create Request..." button will allow a new Service Request to be created.  I 3 Knowledge=KEYWORD buttons@ Selecting the "Knowledge..." button will allow knowledge base search to be performed. d3 Queued_Requests=TITLE Queued Requests=KEYWORD buttonsA Selecting the "Queued Requests" button will display the user'sr/ Service Request(s) from the Queued database.t t3 Open_Requests=TITLE Open Requests=KEYWORD buttonsD Selecting the "Open Requests" button will display all of a user's open Service Reiz$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z"quest(s) 3 Customern=KEYWORD buttons@ Selecting the "Custom..." button will allow a user to perform: custom problem searches based on a variety of criteria. 3 Request_Id=TITLE Request IdD=KEYWORD buttonsC Selecting the "Request Id..." button allows a service request tos; be accessed by a specific Problem Identification number.e f 2 Popup_Menu =TITLE Popup Menu=KEYWORD popupB On the main service request display window you have access to aA Request-sensitive popup menu, new with X8.0. The mouse pointero@ needs to be positioned over a service request in the display.D Then by pressing the popup mouse button (usually MB3) you will beD displayed a list of selectable functions that will operate on theB service request that the mouse pointer was positioned over when activated.t r 3 Quick_Viewo=TITLE Quick Viewt=KEYWORD quick> This options will display the following information for the selected service request: o Customer o Ownerr o Work Report CountD o Attempts o Logger o Last Work Report Author  o Last Work Report Summary# o Last Work Report Date Entered < Press quick view again will remove the extra information. 3 Go_To_Request=TITLE Go To Request> This function acts the same as double-clicking on a serviceD request. It will lock (if not already locked) the service request9 and popup a dialog allowing you to update the request.R I3 View_Due_Date=TITLE View Due Date=KEYWORD Due_Datep? Choosing this function will display the due date in a popup.  e3 View_Next_Escalation_Date%=TITLE View Next Escalation Date/TimeA=KEYWORD escalationRD Choosing this function will display the next escalation date/time in a popup. R3 View_Lock_Info =TITLE View Lock Info =KEYWORD lockxC Choosing this function will display the userId of the person whof$ currently has the request locked. a3 Quick_AcceptR=TITLE Quick Accept =KEYWORD AcceptvD Choosing this function will remove the request from the queue andB assign it to yourself without visiting the main service request screen. i2 Command_Panei=TITLE Command PaneR"=INCLUDE QUEUE,LOOKUP,QUERY_DIALOG; The Command Pane provides the ability to enter any valideA MultiHelp command from the X-Window/Motif user interface. This D optional feature is enabled or disabled from the VIEW pulldown onC the Main Menu Bar or by pressing the ctrl+w keys simultaneously.tB The command for any valid MultiHelp function performed from theC X-Window/Motif user interface will automatically be displayed inc# the Command Window when enabled. 8 Only the LOOKUP verb is valid in this command window. r2 Status_Pane=TITLE Status Pane; The Status Pane lists informational messages relating to = MultiHelp activities. This optional feature is enabled andf= disabled from the VIEW pulldown on the Main Menu Bar or bya+ pressing the ctrl+t keys simultaneously. C Status Window messages can be scrolled by clicking MB1 on either ? of the two arrows located to the right of the Status Window.r> Status Window messages can also be scrolled by dragging the? slider with MB1. The slider is the smaller rectangle locatedr< between the two arrows on the right of the Status Window. u2 Service_Request_Display=TITLE Service Request Display=KEYWORD queue,requests,displayb? Each line in the Service Request Display represents a unique  Service Request.ND The specific information displayed on the Service Request Display? can be controlled by pressing MB1 on the vertical bar in theeB middle of the Service Request Display and moving the bar to the left or right accordingly. B If the number of Service Requests listed in the Service Request? Display is larger than the default display size, the ServiceF@ Requests can be scrolled by clicking MB1 on either of the two= arrows located on the right of the Service Request Display @ window. Service Requests can also be scrolled by dragging the? slider with MB1. The slider is the smaller rectangle locatedi= between the two arrows on the right of the Service Requestu Display window.C The vertical size of the Service Request Display can be adjustedD= by pressing MB1 on the square box positioned on the bottomE? (right) of the Service Request Display window and moving the ) window up or down to the desired size.  o Left hand side - Due Date Icon - Escalation Date IconS# - Service Request Identifiern - Request Class - Request Severitym - Request Prioritym - Request Statusi - Customer Id - Customer Contact Name o Right hand sideL - Lock Icon - Service Request Subject e3 Due_Date_Icon=TITLE Due Date Icon=KEYWORD due,dateeC The first element is the DUE DATE ICON. This indicates how closed. the request in question is to the due date. It can have 4 values: o Happy FaceA When this is present, the due date is more than 24 hours inU the future.v o Frowning FacepA When this is present, the due date is more than 24 hours inp the past.t o Filled Arc@ When there is a filled arc in this icon, it represents the< number of hours to or past the due date. If the arc is@ completely full it represents 24 hours. When it is half of' a circle, it represents 12 hours. o Minute HandeA When there is a minute hand in this icon, it represents ther0 number of minutes to or past the due date. s3 Escalation_Icon=TITLE Escalation Icon=KEYWORD escalation,date? The second component is the ESCALLATION ICON. This indicatess> how close the request in question is to the next escalation occurring.v It can have 4 values: o Happy Face? When this is present, the next escalation is more than 24. hours in the future. o Frowning Faceu? When this is present, the next escalation is more than 24n hours in the past. o Filled Arc@ When there is a filled arc in this icon, it represents theA number of hours to or past the next escalation time. If theiD arc is completely full it represents 24 hours. When it is half* of a circle, it represents 12 hours. o Minute HandiA When there is a minute hand in this icon, it represents theh< number of minutes to or past the next escalation time. 3 Service_Request_IdentifierL!=TITLE Service Request Identifieri=KEYWORD problem_idrC The third component is the Service Request Identifier or ProblemiD Id. The problem id is a unique identifer assigned to each Service? Request. The PPYYYYMMDD.N format is used for the problem id,SB where YYYY represents the year the Service Request was created,> MM represents the month the Service Request was created, DD< represents the day the Service Request was created, and ND represents the relative number of the Service Request in relationC to the total number of Service Requests created for a given day.D The PP represents an optional Site Prefix that is enabled by your site administrator.C For example, a problem id of 19940111.3 would indicate the third / Service Request created on January 11, 1994.g a3 Class=KEYWORD class,typedC The fourth component is the CLASS to which a Service Request was A assigned. The class is a site-definable value which is used to;4 organize Service Requests into logical groupings. 3 Severityn=KEYWORD severityo< The fifth component is the SEVERITY assigned to a ServiceC Request. The severity is a site-definable value which representseC the impact of the Service Request to the End-User (Customer) whoS initiated the request.: R 3 Prioritya=KEYWORD priorityh< The sixth component is the PRIORITY assigned to a ServiceC Request. The priority is a site-definable value which representseD the relative priority within a given SEVERITY value. For example,A if there are multiple service requests initiated with the sameaA severity, then the priority value is used to indicate which of.1 these Service Requests have a greatest impact.a a 3 Status=KEYWORD statusR@ The seventh component is the STATUS of a Service Request. The@ status is a site-definible value which represents the state a? Service Request is in durW$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z' ing the support process. All statusp@ values must have an attribute of being either OPEN or CLOSED. 3 Customer_Id=TITLE Customer Id=KEYWORD customer_id= The eighth component is the USER IDENTIFICATION value. ThelA user identification is a site-definable value which identifiesS= a particular user or group of users. For example, the userSD identifier could be a company name, a group name, an organization name, etc. s 3 ContactC The ninth component is the CONTACT value. The contact is a site-sD definable value which identifies a particular individual within aB given user identification value. It contains the first and lastA name of the contact for the particular customer Id that logged the request.n 3 Lock_Icon=TITLE Lock Icon =KEYWORD lockaA The tenth component is the LOCK ICON. The lock icon identifies D whether or not a particular Service Request is currently selected> by another support representative. If the lock icon is openA (i.e., the lock is unlocked), the Service Request has not beenSB selected by another support representative. If the lock icon isB closed (i.e., the lock is locked), the Service Request has beenC selected by another support representative. To determine who hassB the Service Request locked, double-click MB1 on the text of the@ Service Request. The colors associated with the lock icon are/ customizable in the MultiHelp resource file.  v3 Service_Request_Subject=TITLE Service Request Subject=KEYWORD subjectB The eleventh component is the PROBLEM SUMMARY TEXT. The problemA summary text is a brief description of the problem or questionEC associated with the Service Request. The problem summary text ise' limited to 100 characters in length.n o 3 Help_Text=TITLE Help Text =KEYWORD helplB Brief (one line) help messages are displayed directly below the? Service Display Window (and directly above the Status WindowP@ if enabled). These help messages will automatically change to@ provide help based on the location of the pointer in the Main6 Window. Currently, this feature cannot be disabled. l2 Main_Menu_Bar=TITLE Main Menu Bar =KEYWORD menug; The Main Menu Bar contains the following pulldown menus:a o File o Updatese o Requests o Knowledgeg o Notificationsh o Help c3 File_Pulldown_Menut=TITLE File Pulldown Menus=KEYWORD exit,quit a4 Exit=KEYWORD exit,quitA Allows the Main Window for X-Window/Motif user interface to beaC exited. Pressing the ctrl+z keys simultaneously will also invokei this option.r m3 View_Pulldown_Menuo=TITLE View Pulldown Menua =KEYWORD viewo T 4 CommandsdB Allows custom-defined MultiHelp commands to be executed. Custom@ commands can be defined and preserved in the user's XdefaultsC resource file. Pressing the ctrl+c keys simultaneously will alsoe invoke this option. c4 Sorte =KEYWORD sortn< Allows the order in which Service Requests are sorted andC displayed (in the Service Request Display) to be defined. CustomcC sort orders can be defined and preserved in the user's XdefaultsC resource file. Pressing the ctrl+s keys simultaneously will also: invoke this option. n4 Search_Criteria=TITLE Search Criteria=KEYWORD search,queryi=INCLUDE query_dialogaB Allows customized searches of Service Requests to be performed.? All Service Requests matching the specified criteria will berD displayed in the Service Request Display window. Service Requests2 can be searched based on a variety of criteria. r4 Command_Window_Button=TITLE Command Window Button=KEYWORD command!=INCLUDE main_window command_panelB This button will either display or remove the Command Pane from the main window.a e4 Status_Window_Buttonn=TITLE Status Window Button =KEYWORD status =INCLUDE main_window status_paneA This button will either display or remove the Status Pane fromy the main window.s r3 Updates_Pulldown_Menu=TITLE Updates Pulldown Menu=KEYWORD updateI Q4 Immediate_Updatei=TITLE Immediate Update=KEYWORD updateR@ Causes the Service Request Display to be immediately updated.@ Pressing the ctrl+i keys simultaneously will also invoke this option. 4 Set_Update_Interval=TITLE Set Update Interval=KEYWORD update intervalB Initiates a popup box which allows modification of the interval< (in seconds) at which the Service Request Display will beD updated. Pressing the ctrl+u keys simultaneously will also invoke this option.  e4 Updates_(On/Off)o=TITLE Updates (On/Off)=KEYWORD updateU? Allows updating of the Service Request Display to be enabledpA or disabled. Pressing the ctrl+f keys simultaneously will also invoke this option. L3 Requests_Pulldown_Menus=TITLE Requests Pulldown Menu =KEYWORD request,create,lookup c4 Create_RequestU=TITLE Create Requeste=KEYWORD request,createS, Allows a Service Request to be initiated. f 4 Request_Ido=TITLE Request Idp=KEYWORD request,lookupa< Allows you to retrieve an existing request by request Id. 3 Knowledge_Pulldown_Menu=TITLE Knowledge Pulldown Menu=KEYWORD knowledge: The Knowledge menu and any associated pulldowns are not implemented at this time. 3 Notifications_Pulldown_Menu"=TITLE Notifications Pulldown Menu=KEYWORD notify,notifications 4 Receive_Notifications=TITLE Receive Notifications=KEYWORD notifications_on_off D Allows the delivery of notification messages relating to specificD types of Service Requests to be enabled or disabled. Pressing the; ctrl+d keys simultaneously will also invoke this option.  s 4 Acknowledge_All_Notifications$=TITLE Acknowledge All Notifications"=KEYWORD acknowledge,notificationsC Causes ALL currently delviered notifications to be acknowledged.  i4 Notifications=TITLE Notifications=KEYWORD notificationsB Causes the notification dialog window to appear enabling you to customize your notifications. e3 Help_Pulldown_Menue=TITLE Help Pulldown Menu &=KEYWORD help,context,version,glossary= Implements access to the extensive on-line help subsystem.M 1 Update_Form_Dialogt=TITLE Update Form Dialogp=KEYWORD updateu< This dialog allows you to specify the interval, by number? of seconds between 30 and 600 (5 minutes), that updates wills automatically occur at. 1 Sort_Dialog=TITLE Sort Dialog =KEYWORD sorta=INCLUDE query_dialog sort5 Use this dialog to specify your sorting algorithm.aD You can preset the sort items in the list to be your own personal> sort algorithms by modifying the MultiHelp X resource file.B Reference Decw$System_Defaults:MultiHelp.Dat. Copy this file to( your home directory and make changes. C1 Command_DialogE=TITLE Command DialogO=KEYWORD command=INCLUDE lookupa? Use this dialog to specify service request display commands.e> You can preset the command items in the list to be your own@ personal commands by modifying the MultiHelp X resource file.B Reference Decw$System_Defaults:MultiHelp.Dat. Copy this file to( your home directory and make changes. b1 Logon_Dialogt=TITLE Logon Dialoge=KEYWORD logonC This dialog allows access to the Xwindow interface of MultiHelp.KA Fill in the UserId and Password fields with valid information.yB If you do not know your access information, contact your system administrator.  l1 Request_Id_Dialog=TITLE Request Id Dialog=KEYWORD request_idr@ This popup dialog allows the MultiHelp user to access Service Requests by Request Id.9 A user may specify a request id by one of two methods:a< o Entering a request id into the command field above theA pushbuttons and either press RETURN or press the Ok button.O= Pressing RETURN will access the service request withoute removing the popup.nA Pressing the Ok button, will access the service request andp remove the popup.rA o Double-Clicking on an existing request id in the Id historys# list at the top of the popup.aC The CLEAR push button allows you to clear the request Id historye list.B The request Id history list is added to every time you access aB service request, either via this popup, or via request creation; or selecting a request from the service request display.c; It is a handy way ot$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z"f tracking access to service requestsr throughout the day. 1 LOOKUPrD The LOOKUP command is used to select and display service requests in the MultiHelp databases. FormatP+ LOOKUP [/Qualifier][/Qualifier=value]o t 2 Parameters_ None.& Command Qualifiers Defaults# /ANCESTORS None.s( /[NO]ATTEMPTED /ATTEMPTED# /BEFORE=date-time none. $ /BRIEF /BRIEF" /[NO]CATEGORY="text" None# /[NO]CLASS="class-code[,...None.D* /CLOSED /OPEN/CLOSED" /CURRENT None" /[NO]CUSTOMER_ID=user-id None* /DESCENDANTS /DESCENDANTS= /EXTRACT=action=target=dest/EXTRACT=OUTPUT=FILE=SYS$OUTPUTn$ /FULL /BRIEF# /ID=request-id None.V$ /MEDIUM /BRIEF" /MINE None& /MORE=n /MORE=-2# /[NO]NULL /NULLQ$ /ONE /BRIEF* /OPEN /OPEN/CLOSED" /[NO]OWNER_ID=use-id None" /PRIORITY="priority-code[,.None* /[NO]QUEUED_ONLY /QUEUED_ONLY" /SEVERITY="severity-code[,.None# /SINCE=date-time none.U' /SORT="sort-field order[, .see ]textv" /STATUS="status-code[,...]"None" /SUBJECT="text[,...]" None" /SUMMARY None" /UPDATE None" /WORK_REPORT_NUMBERS="n[,..None M2 RestrictionspC o To display a request whose customer id does not match that ofMC the user issuing the command, PROBLEM REVIEW ACCESS: ALL muste0 be specified in the user's profile record.> o /ID or /CURRENT must be present to specify /WORK_REPORT_ NUMBERS.= o The only optional qualifiers that are valid when /ID ore! /CURRENT are specified are:i o /BRIEFp o /EXTRACTi o /FULL o /MEDIUM o /MORE o /ONEa o /WORK_REPORT_NUMBERC o The qualifier /ID cannot be used with the /CURRENT qualifier.r= o The qualifier /SUMMARY cannot be used with the /EXTRACT  qualifier. u 2 Qualifiersa /ANCESTORS; Select requests whose class code either matches or is an C ancestor (predecessor) of the class code specified by the /CLASSn7 qualifier. Valid only when /CLASS is specified also.t s /ATTEMPTED /ATTEMPTED (default) /NOATTEMPTEDA Select requests regardless of the value of the attempts field.i? The negated form selects requests that have only zero in thee> attempts field. The qualifier is present by default for all1 operations that form a collection of requests.e r/BEFOREt /BEFORE=date-time < Selects requests whose logged date precedes the specified date/time.l e/BRIEF /BRIEF (default)? Displays selected requests in the brief listing format. This @ is the default for all operations that create a collection of requests. t /CATEGORYc /CATEGORY="text[,...]" /NOCATEGORY A Selects requests whose category field match the specified texthA string. The asterisk (*) wildcard character may be included intC the string. See discussion in Description section about wildcardoD usage. The negated form selects only requests which have an emptyC category field. Specification of this qualifier is restricted toeD users who have the CUSTOMER: NO attribute specified in their user profile. /CLASS /CLASS="class-code[,...]" /NOCLASS@ Select requests whose class code matches one of the specifiedA class codes. Use of the /ANCESTORS and /DESCENDANTS qualifiersi? effects whether a match occurs for requests whose class code B is a hierarchial relative of the specified class codes. See theA specification of these qualifiers for further information. TheC negated form matches requests that have no class code specified.h U/CLOSED. /CLOSED (default)> Select requests whose status code has the closed attribute.@ By default, the LOOKUP command has both the /OPEN and /CLOSED> qualifier specified implicitly. If the /CLOSED qualifier is= specified explicitly then the /NOOPEN qualifier is presente; implicitly. This qualifier is present by default for all 3 operations that create a collection of requests.s s/CURRENTC Specifies that the last request id that was uniquely selected byy@ any command be used as the request id for the LOOKUP command.= Request ids are selected explicitly by specifying the /ID=e@ qualifier or implicitly by commands that create a new requestB id (e.g. REQUEST/CREATE. If the /CURRENT qualifier is specified@ when there is no current request id, an error message occurs. n /CUSTOMER_ID /CUSTOMER_ID=user-id /NOCUSTOMER_IDA Select requests whose customer id match the user id specified.aC The negated form selects requests which have no customer id. TheeB asterisk (*) wildcard character may be included in the user id.> See discussion in Description section about wildcard usage. s/EXTRACT( /EXTRACT=action=target=destination< Directs the display of the LOOKUP command to an alternate destination.u+ { OUTPUT }m> The action value is a keyword { EDIT } The OUTPUT keyword+ { }s@ specifies that the text pass directly to the target. The EDITB keyword specifies that the TPU editor should be invoked and theC output from the command be passed into the TPU edit buffer wheree6 it may be edited before being passed to the target.) { FILE } D The target value is a keyword { MAIL } The FILE keyword specifies) { } B that the output will be directed to a file, and the destinationA value is a file specification. The MAIL keyword specifies thatnA the output will be directed to an electronic mail destination, A and the destination value is the mail address of the recipientiB of the output. Note that the Email address can be an individualB address, a VMS Mail distribution list (e.g. @VMS_TEAM.DIS) or aD comma separated list of addresses (e.g. "TIP::JOHN,FLOP::JERRY"). /FULLe9 Displays selected requests in the full listing format. S/IDR /ID=request-idD Selects the request whose request id matches the specified value. n/MEDIUMA; Displays selected requests in the medium listing format.  e/MINEeA Selects requests whose owner id matches that of the individualrA issuing the command. Equivalent to issuing a /OWNER_ID=user-idm< with the current user's user ID as the owner-id paramter. e/MORE /MORE=nl /NOMOREe? Controls the display of information to a users terminal. TherD value of n specifies how many lines to display before pausing and$ displaying a continuation prompt: -- More [Y,#,q,a] --7 The values specified at the continuation prompt are:p o Y-YeseB Display another screen full of information and pause when it is displayed.s" o #-Display additional N linesC Enter an integer number of additional lines to display before.9 pausing. See discussion below for the valid values. o q-Quit. Terminate the display of the collection. o a-Display Allu: Display the entire collection without pausing again.? Positive values of n specifiy the number of lines to display.< before the continuation prompt. Zero indicates no pausingB (continuous scroll), and a negative value specifies the current@ terminal display size minus n. The default value for n is -2.C The logical name MULTIHELP$MORE_ROWS can be defined to provide ae new default value.a s/NULLu /NULL (default)t /NONULLe@ Selects requests that do not have a class code specified. TheB negated form prevents selection of requests which have no class@ code. This qualifier is present by default for all operations( that create a collection of requests. n/ONE3 Displays selected requests in a one line format.n /OPENn? Select requests whose status code has the open attribute. By= default, the LOOKUP command has both the /OPEN and /CLOSEDt< qualifier specified implicitly. If the /OPEN qualifier is? specified explicitly then the /NOCLOSED qualifier is presentd; implicitly. This qualifier is present by default for allp3 $MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?zs operations that create a collection of requests.e h /OWNER_ID /OWNER_ID=user-ido /NOWNER_IDA Selects requests whose owner id match the specified value. ThecB asterisk (*) wildcard character may be included in the user id.B See discussion in Description section about wildcard usage. The3 negated form selects requests which are unowned.a c /PRIORITYe% /PRIORITY="priority-code[,...]"lA Select requests whose priority code match one of the specifiediA val ues. The asterisk (*) wildcard character may be included insA the priority code. See discussion in Description section aboutd wildcard usage. e /QUEUED_ONLY /QUEUED_ONLY (default) /NOQUEUED_ONLY> Selects only requests currently on the system wide responseA queue. Requests in this state have a current status of queued. ? This qualifier is present by default for all operations thaty; create a collection of requests. The negated form allows)> selection of requests regardless of whether they are on the resonse queue.c o /SEVERITYt% /SEVERITY="severity-code[,...]"sA Select requests whose severity code match one of the specifieduA values. The asterisk (*) wildcard character may be included in A the severity code. See discussion in Description section about wildcard usage. /SINCE /SINCE=date-timeC Selects requests whose logged date is greater than the specifiedu date/time.i /SORTe& /SORT="sort-field [order][,...]"B Orders the display of requests by sorting the collection on theC specified field in the designated order. The sort-field value is_B a keyword from the following table which is the name of a fieldC in a request. The order value is an optional keyword ASC or DESCt@ indicating ascending or descending order. The order value, ifC specified, is separated from the field name by a space. Example: & /SORT=(DATE_DUE ASC,SEVERITY DESC).= If a sort order is not specified for a search operation, aeD default sort order is applied. See the chapter on customizing theB CLI interace in the MultiHelp Customer Users Guide or MultiHelpA Support Representative Users Guide for information on changinge the default sort order.' Table 3 Sort Keys for LOOKUP commandr, Sort Key Name Default Sort Order AFFECTED_HARDWARE ASC AFFECTED_SOFTWARE ASCf ATTEMPTS ASCe CATEGORY ASCc CUSTOMER_FIRST_NAME ASCl CUSTOMER_ID ASCc CUSTOMER_LAST_NAME ASCc DATE_DUE DESC DATE_LOGGED DESC LAST_UPDATE DESC LOCKED ASCK LOCKED_BY ASCi LOGGER_ID ASCu NEXT_ESCALATION DESC OPEN_OR_CLOSED ASCe OWNER_ID ASC_ PAGER_AREA ASCi PAGER_EXT ASC PAGER_NUMBER ASCe PHONE_AREA ASCd PHONE_EXTENSION ASCe PHONE_NUMBER ASCr PRIORITY ASCT PROBLEM_TYPE ASCY SEVERITY ASCe STATUS ASCt WORK_REPORT_COUNT ASCe h/SUBJECT /SUBJECT="text[,...]" @ Select requests whose subject line matches the specified textA string. The asterisk (*) wildcard character may be included in C the string. See discussion in Description section about wildcarda usage.i i/STATUSn /STATUS="status-code[,...]D Select requests whose status code matches the specified value(s).D The asterisk (*) wildcard character may be included in the statusD code. See discussion in Description section about wildcard usage. o/SUMMARY> Displays a summary of the of the requests which matched theD search criteria. The summary is ordered by severity and priority. e/UPDATEnA This qualifier alters the date that is examined when using thepB /BEFORE and /SINCE qualifiers. LOOKUP/UPDATE specifies that theC /BEFORE and /SINCE qualifiers will base their search on the LASTqD UPDATE date for requests instead of on the CREATION date which is% the default without the qualifier.q t/WORK_REPORT_NUMBERS$ /WORK_REPORT_NUMBERS="n[,...]"= Displays the contents of the specified work report(s). Thei= keyword LAST may be specified to list the last work reportN@ entered. An asterisk (*) may be specified to display all work? reports for a request. A range may be specified by using theT9 hyphen (-) character to separate the range (e.g. 2-4). A2 Description! The LOOKUP command is used to:t< o Search the MultiHelp databases for requests that match specified criteria. A o Access and display a specific service request and it's workd reports.D The presence of the /ID or /CURRENT qualifiers determines whether> the LOOKUP operation is a display or a search operation. IfD either of these qualifiers is present, the operation is a displayB operation, and the qualifiers specified on the command line are= limited to the list specified in the restrictions section.lA The LOOKUP command can access service requests that are in thee! QUEUE or the REQUEST database.eD When used to search the databases, the command qualifiers provide@ the search criteria which are used to compile a collection ofA requests that match the specified items. From this collection,e? individual requests can then be selected for a more completec> examination by performing a display operation using the /ID qualifier.yB To examine a service request's work reports the display form of the command must be used.B Several of the qualifiers used in search operations support theA use of the wildcard character, asterisk (*). A qualifier valuef@ that begins with an asterisk performs a sub-string search for@ the specified value. Any occurrence of the string anywhere inD the field will be considered a match. A qualifier value that endsB with an asterisk searches the field for an exact match with theB specified value up to the occurrence of the asterisk character.A Asterisks embedded in the qualifier value text are not treateduC as wildcard characters. If more than one item is specified for aeD qualifier value that contains wildcard characters, a match occurs if any of the items match.h6 MultiHelp> LOOKUP/SUBJECT="*LOTUS,*SPREADSHEET"C Any request that contained the word LOTUS or SPREADSHEET it it'so" subject line would be selected. t 2 Examplesr 1.l- MultiHelp> LOOKUP /OWNER=DOCWRITERS/OPENlF MultiHelp[R] -+-+-+-+-+- List of Requests for Service -+-+-+-+-+-I SIOT19940206.1 ! Logged: <1994-02-06:10:10> Due: <1994-04-20:10:25>uJ Class: Severity: Priority: Status: 6 Subject: I SIOT19940412.2 ! Logged: <1994-04-12:13:58> Due: <1994-04-12:16:38>cJ Class: Severity: Priority: Status: A Subject: B Searches the database for all open requests owned by the user> id DOCWRITERS. Note that the collection display is in the /BRIEF format by default.) 2.MultiHelp> LOOKUP/CLASS=BUG/OPEN/ONEiF MultiHelp[R] -+-+-+-+-+- List of Requests for Service -+-+-+-+-+-R SIOT19940531.5 |QUEUED |BUG |gui logger doesn't clearK SIOT19940601.1 |QUEUED |BUG |profile show contact */alternatetJ SIOT19940605.1 |QUEUED |BUG |version limit on mh_mailshr.logD In the example above, the user is looking for all open requestsC with the problem class of BUG or a class which is one of BUG's C descendants. Note the collection display has been limited to a  single line per request.e3 3.MultiHelp> LOOKUP/CUST=14570/SINCE=01-JAN-1993ED Forms a collection of all requests that belong to the specifiedC customer. submitted since January 1, 1993. Since neither /OPEN D or /CLOSED is specified, the default is both, so the collection6 will be all requests, regardless of their status.K 4.MultiHelp> LOOKUP/ID=0914.39/WORK=*/EXTRACT=OUTPUT=MAIL=HELPMT::JJONESIA All information for the specified service request, includingi@ the individual work reports will be mailed to the specified EMAIL destination.oD 5.MultiHelp> LOOKUP/QUEUE/CLASS=VMS/EXTRACT=OUTPUT=MAIL=@VMS_TEAMB Information about queN$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z(ued requests with a class of VMS (or its? decendants) is sent to the VMS Mail distribution list VMS_O TEAM.DIScM 6.MultiHelp> LOOKUP/QUEUE/CLASS=VMS/EXTRACT=OUTPUT=MAIL="JOHN,COG::SYSTEM"dB Information about queued requests with a class of VMS (or itsA decendants) is sent to the username JOHN on the local system=, and to the SYSTEM account on node COG::Q 7.MultiHelp> LOOKUP/QUEUE/CLASS=VMS/EXTRACT=OUTPUT=MAIL="sue@hamlet.swine.org"B Information about queued requests with a class of VMS (or itsB decendants) is sent to the internet user sue@hamlet.swine.orgB By default this will use the SMTP% prefix or the value of the+ logical MULTIHELP$TCPIP_MAIL_TRANSPORTsK 8.MultiHelp> LOOKUP/OPEN/SORT="DATE_DUE ASC,SEVERITY DESC,PRIORITY DESC"e< A collection will be formed of all open requests sorted> by ascending date_due, descending severity and descending priority. 9. MultiHelp> LOOKUP/ID=4/FULLD MultiHelp[R] -+-+-+-+-+- Request for Service Id: SIOT19931017.4I SIOT19931017.4 ! Logged: <1993-10-17:18:52> Due: <1993-10-17:19:52>hH Class: Severity: Priority: Status: 9 Statement: a/ CustomerId: Contact: pF Attempts: <000> Work Report Count: <003> OwnerId:  Comment: <>M Locked By: <>T Phone: <(206)555-4321 x> Pager: <( ) - x> Location: pA Notify Methods: o$ Email Address:  CC List: <>d Affected Software: <>  Affected Hardware: <>u Category: <> Logged By: t Summary of Work Reports:6 (001): (002): C (003): B The display operation lists all information for the specifiedC request except the individual work units. These could be addedTA to the display by including a /WORK_REPORTS=* on the commandi line. 10./ MultiHelp> LOOKUP/SUBJECT="*LOOKUP"/MEDIUMdI SIOT19940509.2 ! Logged: <1994-05-09:11:34> Due: <1994-05-11:11:34> I Class: Severity: Priority: Status: gC Subject: s1 CustomerId: Contact: hF Attempts: <000> Work Report Count: <002> OwnerId: B Example of using sub-string search in the subject field. Also. illustrated is the medium display format.# 11MultiHelp> LOOKUP/SUMMARY/OPENeI MultiHelp[R] -+-+-+-+-+- Summary of Requests for Service -+-+-+-+-+-h4 8 Requests for Service with Severity = HIGH* 8 of these have Priority = P44 14 Requests for Service with Severity = MED) 1 of these has Priority = P1C* 2 of these have Priority = P2) 1 of these has Priority = P3e+ 10 of these have Priority = P4n4 13 Requests for Service with Severity = LOW+ 13 of these have Priority = P4s; The example above demonstrates the use of the /SUMMARYiA qualifier to obtain the number and type of requests that arei currently open. i1 Service_Request_WindowE=TITLE Service Request Windowt=KEYWORD problem,request? This is the main window for creation, display and working ofL= Service Requests. Current, only one service request may bef displayed at a time.i: You gain access to this window via a number of methods:= o Double-Clicking on a service request in the main windoww> o Selecting the create request option from the main window5 o Enter a service request id from the main windowS@ o Using the "Go To Request" option from a notification popup i2 Problem_Menu_Barf=TITLE Problem Menu Barh=KEYWORD menu,requesth 3 Action_Pulldown_Menua0=TITLE Action Pulldown Menu ,=KEYWORD action,commit,update,requeue,accept n 4 Commitr =TITLE Commit=KEYWORD commit : Causes the information in the Service Request window to9 be committed to the database. Pressing the ctrl+m keys / simultaneously will also invoke this option.e t 4 Cancela =TITLE Cancel =KEYWORD cancelyC Causes the Service Request window to be canceled. And all actionh' taken up to this point to be voided.D 3 Edit_Pulldown_Menu =TITLE Edit Pulldown Menuv =KEYWORD Edit A This menu gives you access for Copying and Pasting information D to/from the Xwindows Clipboard and work report text entry window. o CopyC Choosing this function will copy whatever is currently in theo= work report entry text window to the Xwindow Clipboard.a o PastelD Choosing this function will paste whatever is currently in theC Xwindow Clipboard to the work report entry text window at thet, current location of the insert cursor. e3 Solutions_Pulldown_Menu=TITLE Solutions Pulldown Menu=KEYWORD SolutionsB This menu pulldown gives you access to the solutions sub-systemB from the request working screen. It is designed to give you theC most used functions in the solutions sub-system from the requesty working screen. o Auto QueryA This function will perform a solution query for the currentt> request without the need to enter a query yourself. ThisA is done by pre-loading certain fields with information from@ the current request. The request class, software, hardwareA and subject field are automatically used as criteria in theR> search. After the search is performed the expanded query> screen will be display to allow you to modify the search4 criteria and perform a re-search if necessary. o QuerylD Use this function when you want to enter a query yourself. You% will be given the query dialog.- o Add Solution? Use this function when, after solving a problem, you feel > that others can benefit from your knowledge. You will be= presented with the dialog for adding a solution to yourN solution database. r3 Customer_Pulldown_Menuo=TITLE Customer Pulldown Menu.=KEYWORD customero o4 Customer_Info=TITLE Customer Info=KEYWORD customerpC Allows customer information to be specified or updated. Pressinge? the ctrl+i keys simultaneously will also invoke this option.c y3 Options_Pulldown_Menu=TITLE Options Pulldown Menu=KEYWORD options a4 Extract_Request=TITLE Extract Request=KEYWORD Extract> This function allows you to extract all the service requestD information and have it mailed to the destination of your choice. n4 Restore_Last_Work_Reportt=TITLE Restore Last Work ReportN$=KEYWORD restore_work_report,restoreD Allows the last work report entered to be automatically restored.@ Pressing the ctrl+l keys simultaneously will also invoke this option. 2 Service_Request_Information"=TITLE Service Request InformationD Class - allows the class for the Service Request to be specified.> A Class is a site-definable value which is used to organizeB Service Requests into logical groupings. Using MB1 to press theD button to the right of the Class field will display a list of allB available classes. Using MB1 to press the arrow (if any) to theD right of any class will list the sub-classes which are available.? Severity - allows the severity for the Service Request to beOA specified. Severity is a site-definable value which representss? the impact of the Service Request to the End-User (Customer)rB who initiated the request. Using MB1 to press the button to theC right of the Severity field will display a list of all availabled severity codes.? Priority - allows the priority for the Service Request to betA specified. Priority is a site-definable value which representsoD the relative priority within a given SEVERITY value. For example,A if there are multiple Service Requests initiated with the same A severity, then the priority value is used to indicate which ofED these Service Requests have a greatest impact. Using MB1 to pressD the button to the right of the Priority field will display a list# of all available priority codes. ; Status - allows the status for the Service Request to be? specified. Status is a site-definible value which representssD the state a Servi/Ͱ$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?zU"9ce Request is in during the support process. AllA status values must have an attribute of either OPEN or CLOSED.sA Using MB1 to press the button to the right of the Status fieldeD will display the Open States and Closed States options. Using MB1B to press the arrow to the right of either of these options will= display a list of respective open or closed status values.? Due Date - allows the due date for the Service Request to beu@ specified. The due date represents the date by which the task8 assocaited with the Service Request must be resolved.@ Software - a free-form string value which allows the affected@ software associated with the Service Request to be specified.@ Hardware - a free-form string value which allows the affected@ hardware associated with the Service Request to be specified.D Owner - a free-form string value which allows the Service Request& to be assigned to a specific owner.? Logged - specifies the date and time the Service Reqeust was logged.C Attempts - lists the number of times an attempt has been made toi: contact the customer who initiated the Service Request.D W/R Count - lists the number of work reports that have been added to the Service Reqeust.? Logged By - specifies the individual who actually logged thee Service Request.l; Subject - a brief description of the problem or questionTA associated with the Service Request. This is a required field. C CC List - a list of individuals who will receive electronic mailS< updates when any updates are made to the Service Request.D Comment - a free-form string value which allows a general comment> to be associated with the Service Request. The limit of the' comment is 100 characters in length.A; Category - a free-form string value defined by a support D representative which allows for the categorization of the ServiceA Request. The icon to the right of the Category field specifies @ the current notification method(s) specified by the customer.? Start Time - lists the date and time that work began for theS current work report. < Time On - lists the amount of time (in terms of hours and> minutes) that has been invested in the current work report.A Extra Time - allows additional time to be credited to the worknC report. This is time that is not reflected in the Time On field.r& Current Time - is the current time.D Summary - a brief description of any work that has been completed> in association with the Service Request. This is a required? field. The box directly below the summary field allows for anA complete description of a Service Request or any work that hasn been completed to be added.B Quiet - selecting the Quiet button will prevent the customer orC problem owner from being notified when the work report is added.tB Hidden - selecting the Hidden button will prevent customer from& being able to read the work report.> Credit - the Credit button is not implemented at this time.B Include... - the Include... button allows a file to be included into the work report.D Commit - the Commit button causes the work report to be committed to the database.6 Cancel - causes the Service Request to be canceled. t1 Extract_Dialog =TITLE Extract Dialog =KEYWORD extractB This dialog allows you to extract a selected work report or all8 information pertaining to a Service Request to email.C Access to this dialog is from the "Options" pulldown on the main @ Service Request window or from the "View Work Report" dialog.? The email address that comes up by default will be the emailf@ addresses for all contacts under your user id. You may modifyD that to be whatever email address you like. It may contain a list0 of valid email addresses separated by commas. 1 Include_File_Dialog=TITLE Include File Dialog=KEYWORD Include filenC This dialog allows you to select a file to be included into yourl current work. 1 Notification_Dialog=TITLE Notification Dialog=KEYWORD notify,notification=INCLUDE Notification_PopupB This dialog allows the user of the GUI interface to be notified< via an X window popup notification dialog, that a call ofB particular interest has arrived in its service request display.= Notifications will only occur for the calls that match theh: criteria for showing up in the service request display.= For example, by using the "Search Criteria Dialog" you cann? specify that you only want to see Queued calls of class UNIXD and all their descendants. Then if you fill in the Severity fieldA on the notifications dialog with the severity string HIGH, andnA turn on notifications, you will be notified if a call of classs7 UNIX or any of its descendants arrives in the queue.tC This notification will take place via an X popup dialog and willuC occur regardless of whether the main window is iconified or not.a .2 All_Requests_Toggle=TITLE All Requests Toggle=KEYWORD toggler@ By turning this toggle on, you will get notifications for allA new requests that appear on your main service requests displayl screen.C IMPORTANT: The "Receive Notifications" Toggle from the main menuf bar must also be turned on. 1 Notification_Popupe=TITLE Notification Popupn=KEYWORD notify,notification>=INCLUDE Main_Window Main_Menu_bar Notifications_Pulldown_Menu@ This popup indicates that a request for service has showed up? on your service request display, due to an automatic update,lC that has attributes that you requested to be notified of via the+ notifications dialog.B Access to the notifications dialog is from the main menu on the main window.12 The popup, gives you the following information:( o Request Id of the notified request o Time of the notification= o The elements of the request that matched your specified< criteria' You also get 3 buttons on the popup. 9 o Acknowledge; this merely dismisses the notification-= o Go To Request; this takes you directly to the specifieda service requests) o Help; this brings up this help texte a1 Query_Dialogs%=TITLE Query (Search Criteria) Dialoge"=KEYWORD query,search,lookup,queueE=INCLUDE main_window main_menu_bar view_pulldown_menu search_criteriaSC This popup dialog allows the user to select the data visiable ing2 the Service Request Display on the main window. Q2 Class =TITLE Class=KEYWORD Class@ Allows Service Requests to be searched by a specific class. AD Class is a site-definable value which is used to organize Service# Requests into logical groupings. & Separate multiple values by commas. o 2 Severityd=TITLE Severityt=KEYWORD severityaD Allows Service Requests to be searched by severity. Severity is aB site-definable value which represents the impact of the Service@ Request to the End-User (Customer) who initiated the request.& Separate multiple values by commas. E 2 PriorityO=TITLE Priority =KEYWORD priority,B Allows Service Requests to be searched by priority. Priority is@ a site-definable value which represents the relative priorityD within a given SEVERITY value. For example, if there are multiple> Service Requests initiated with the same severity, then the< priority value is used to indicate which of these Service# Requests have a greatest impact.T& Separate multiple values by commas. q 2 Statuss =TITLE Statusf=KEYWORD status @ Allows Service Requests to be searched by status. Status is aD site-definible value which represents the state a Service RequestC is in during the support process. All status values must have an , attribute of being either OPEN or CLOSED.& Separate multiple values by commas. 2 CustomerY=TITLE Customero=KEYWORD customerlD Allows Service Requests to be searched by customer. Customer is aC site-definible value which represents the customer who initiatediB a given Service Request. This field indicates the customer user Id.& Separate multiple values by commas.C If a value is preceded by an "*" (asterisk), then a 'CONTAINING' = search is done. If a value is suffixed with an "*", then aR" 'STARTING WITH' search is done. 2 Owner =TITLE Owner=KEYWORD ownerD Allows Service Requests to be searched by their owner. This field indicates the owner user Id.P& Separate multiple values by commaP}$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z "Js.C If a value is preceded by an "*" (asterisk), then a 'CONTAINING'd= search is done. If a value is suffixed with an "*", then aM" 'STARTING WITH' search is done. t 2 Category>=TITLE Category:=KEYWORD categorypA Allows Service Requests to be searched by catagory. A categoryHB is a free-form string value defined by a support representative; which allows for the categorization of Service Requests.n& Separate multiple values by commas.C If a value is preceded by an "*" (asterisk), then a 'CONTAINING' = search is done. If a value is suffixed with an "*", then aE" 'STARTING WITH' search is done. e2 Sortr =TITLE Sort =KEYWORD sortrB Used to specify the order in which information is returned. YouB must specify a comma separated list of sort-keys for the value.D You may also specify whether you wish to the output ordered in anB ascending (ASC) or descending (DESC) order for each of the keys you specify. For Example:/ DATE_DUE ASC,SEVERITY DESC,PRIORITY DESCr/ Table 4 Valid Sort Keys for LOOKUP and QUEUE " Sort Key Name Comments AFFECTED_HARDWARE AFFECTED_SOFTWARE ATTEMPTSE CATEGORYM CUSTOMER_FIRST_NAME CUSTOMER_ID CUSTOMER_LAST_NAME: DATE_DUE1 DATE_LOGGED LAST_UPDATE LOCKEDD LOCKED_BY LOGGER_ID NEXT_ESCALATION OPEN_OR_CLOSEDa OWNER_IDt PAGER_AREAE PAGER_EXT PAGER_NUMBERJ PHONE_AREA: PHONE_EXTENSION PHONE_NUMBER PRIORITYC PROBLEM_TYPEr SEVERITYR STATUSE WORK_REPORT_COUNT g 2 Subject=TITLE Subject=KEYWORD SubjectC Use this to specify a substring search on the subject field of aED service request. Always precede the string with an <*>, asterisk. + 2 Since_Date8=TITLE Since Datec=KEYWORD since,dateH= Searches Service Requests initiated since a specific date.s> Most any recognizable date format is acceptable, but if you> are having trouble getting one to work, then use one of the following:s+ o DD-mmm-YYYY HH:MM (01-JAN-1994 12:00)h) o YYYY-MM-DD:HH:MM (1994-01-01 12:00)r( o mmm dd, YY HH:MM (Jan 1, 94 12:00) f2 Before_Date=TITLE Before Date=KEYWORD before,date> Searches Service Requests initiated before a specific date.> Most any recognizable date format is acceptable, but if you> are having trouble getting one to work, then use one of the following:t+ o DD-mmm-YYYY HH:MM (01-JAN-1994 12:00)s) o YYYY-MM-DD:HH:MM (1994-01-01 12:00)r( o mmm dd, YY HH:MM (Jan 1, 94 12:00) l2 Queue_Toggle=TITLE Queue Toggle B Selecting the Queue button will cause searches to be limited to the Queue database. n2 Open_Toggle=TITLE Open ToggleC Selecting the Open button will cause searches to be performed ono* Service Requests in an OPEN state only. q2 Closed_Toggle=TITLE Closed ToggleB Selecting the Closed button will cause searches to be performed. on Service Requests in a CLOSED state only. 2 Either_Toggle=TITLE Either Toggle@ By selecting the Either button, searches will be performed on* either open or closed Service Requests. R2 Attempts_Toggle=TITLE Attempts Toggle=KEYWORD attemptstD Selecting the Attempts button will cause searches to be performed3 on attempted and non-attempted Service Requests. @ If the attemps button is in the off (out) position, then only; service requests without any attempts will be displayed. > Attempted calls are a means of keeping track of attempts toD contact a customer without taking ownership of a call or removing it from the queue.r r2 Ancestors_Toggle=TITLE Ancestors Togglei=KEYWORD ancestors,class=INCLUDE Glossary AncestorA Selecting the Ancestors button will cause all Service RequestsB that are ancestors, or in the parental lineage, to be selected. r2 Descendant_Toggle=TITLE Descendant Toggle=KEYWORD descendant,class =INCLUDE Glossary DescendantC Selecting the Descendants button will cause all Service Requestss; That are descendants, or in the offspring lineage, to bei selected. 2 Nulls_Toggley=TITLE Nulls Toggleu =KEYWORD Nulle=INCLUDE Glossary NullC Selecting the Nulls button will cause Service Requests that have 1 not been classified in a class to be searched. 1 Customer_Info_Dialogm=TITLE Customer Info Dialogr=KEYWORD customer  h 2 User_Id=TITLE User Id=KEYWORD customerId C Specifies the USER IDENTIFICATION value. The user identification ? is a site-definable value which identifies a particular user A or group of users. For example, the user identifier could be ar9 company name, a group name, an organization name, etc. @ This field has validation. If you select this field and press? RETURN, you will be provided with a list of customerIds that ! match the text entered so far.o t 2 Last_Name=TITLE Last Name=KEYWORD name,last_namelC Specifies the last name of the individual initiating the Servicen Request.y@ This field has validation. If you select this field and press? RETURN, you will be provided with a list of customerIds thatu! match the text entered so far. C 2 First_NameM=TITLE First Namee=KEYWORD name,first_nameD Specifies the first name of the individual initiating the Service Request.l@ This field has validation. If you select this field and press? RETURN, you will be provided with a list of customerIds that! match the text entered so far.O o2 Phone =TITLE Phone=KEYWORD phoneA Specifies the telephone number (and optional extension) of thei- individual initiating the Service Request.e q2 Pager =TITLE Pager=KEYWORD pager= Specifies the pager number (and optional extension) of ther- individual initiating the Service Request.r o2 Fax =TITLE Fax =KEYWORD fax; Specifies the FAX number (and optional extension) of theP- individual initiating the Service Request.o Not currently stored. 2 Email_Address=TITLE Email Address=KEYWORD email,maili: Specifies the electronic mail address of the individual" initiating the Service Request. n 2 Locationh=TITLE Locationi=KEYWORD locationeB Specifies the location of the individual initiating the Service Request.l 2 Notification_Methodsf=TITLE Notification Methodss=KEYWORD notificationrB Specifies the preferred notification methods for the individual= initiating the Service Request. Selecting any of the icons = enables the assocaited notification method. The first iconb; represents electronic mail notification. The second icone? represents telephone notification. The third icon representsnC pager notification. The fourth icon represents FAX notification.  p1 Reporting_Main_Dialog=TITLE Reporting Main Dialog=KEYWORD Report Reporting ; This is the Main Window for the MultiHelp X-Window/Motife> reporting sub-system. In the simplest case, a report can beC generated by selecting the desired fields from the Tables/FieldsrA list box (double-click on the table name to reveal its fields)i, and then click on the 'Report...' button.A Optionally, attributes for these selected (i.e. Active) fieldseA can be set, output order and sort precidence may be specified,oC computed fields may be defined, output groupings (breaks) may be B specified, record selection criteria specifed and joins accross relations performed. t2 Tables-Fields_Listt=TITLE Tables/Fields Listr=KEYWORD tables fields@ This list displays all of the tables available for reporting.? Double clicking on any table name will expand to display thei@ available fields for that table. Double clicking on the field; name will add the selection to the "Active Fields" list. d2 Active_Fields_Listv=TITLE Active Fields Listu=KEYWORD fieldst? This list displays the current Active Fields in the order ofd= output or sort precedence (depending on which of the radioi> buttons below are depressed). Single clicking will 'select'? an item in this list and will display its characteristics insA the 'Resources of Selected Active Field' pane. An item must be C selected in order to view/modify its characteristics, change itsi6 output or sort order, or to add selection criteria. -2 Active_UP_Buttonu=TITLE Active UP Buttone=KEYWORD up_button@ Activating this button will move the selected field up in theC output order or raise$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?zl[ the sort precedence (depending on which ofu* the radio buttons below are depressed). c2 Active_Down_Buttonn=TITLE Active DOWN Button.=KEYWORD down_buttonB Activating this button will move the selected field down in theC output order or decrease the sort precedence (depending on whiche- of the radio buttons below are depressed).b f2 Active_Trash_Button=TITLE Active Trash-Can Button=KEYWORD trash_canA Activating this button will delete the selected field from thew Active Field list.n m2 Output_Order_Button=TITLE Output Order Button=KEYWORD order sortmA Activating this button will have the Active Field list display B all the active fields in the order that they will appear in the report output.i e2 Sort_Order_Button=TITLE Sort Order Button =KEYWORD sortpA Activating this button will have the Active Field list displayrC the fields in sort precedence order. Only those fields that havee@ been selected for sorting in the resource characteristic pane will be displayed.i #2 Resources_Of_Selected_Field_Paneh'=TITLE Resources Of Selected Field Panen=KEYWORD resources@ The Resources of Selected Field Pane will display the currentB characteristics for the field currently selected in the 'Active Fields List'. e3 Column_Header=TITLE Column Header=KEYWORD columne@ The Column Header will be printed at the top of the column in? the report, for fields with the 'Output Field' charateristic A selected. By default the Column Header will be the field name.e< You can change the Column Header by selecting the box and@ entering the new column header in the text area to the right.B An underscore will display the column header on multiple lines:Example 1 Column Header- Column Header Output Resulth* BUILDING BUILDING. BUILDING TWO BUILDING TWO* BUILDING_TWO BUILDING( TWO a3 Column_WidthI=TITLE Column Widthd=KEYWORD columns@ The Column Width will be used to define width in character(s)@ of the output column, if the 'Output Field' characteristic isC selected. By default the Column Width is determined by the fieldt? size described in the MultiHelp Database. You can change theC Column Width by selecting the box and enter the new width in the text area to the right. S 3 Alignment=TITLE Alignment=KEYWORD alignmentC The Alignment will be used to define Column Alignment within therB column width, if the 'Output Field' characteristic is selected.; Left Will left justify the output within the columna= Center Will center justify the output within the columne< Right Will right justify the output within the columnB By default the Column Alignment is centered. You can change theB Alignment by selecting the box and select the new justification from the area to the right. e3 Output_Fieldr=TITLE Output FieldN< The Output Field is used to determine if this field is to? be printed in the final report. You may wish to disable thiswC characteristic if, for example, you are only using this field topB determine output sorting and do not wish to display the values. v 3 Sort_Order =TITLE Sort Order =KEYWORD sortsD The Sort Order is used to determine if this field is used to sort0 the report data before generating the report.2 Asc Will sort the field in Ascending order3 Desc Will sort the field in Descending orderaC By default the Sort Order is inactive. You can activate the Sorty@ Order by selecting the box and select the new Sort Order fromB the area to the right. Only when this characteristic is enabledC will the field appear in the 'Active Fields List' with the 'Sort Order' button activated.e> To view/change the sort precedence order use the Sort OrderB Button within the Active Fields pane, select the field and moveB it up or down using the arrow buttons to the right of the list. s3 Break_Field=TITLE Break Field=KEYWORD breakC The Break Field is used to determine if a change in the value of.A this field will trigger a logical break in the output. You maym@ define summary output to be displayed when this break occurs.A By default the Break field is inactive. You can define a breakMD line by selecting the box and activating the "Options..." button.D Activating the "Options..." button will display the "Report Break@ Information" dialog. This dialog will allow you to define the break summary output line.oA CAUTION: Rarely will you get the output you desire for a breakfB unless you have also selected the field for Sorting. It is very? important to group like values of the field together since a @ break is generated in the report each time the value for this field changes.  3 Computed_Fieldy=TITLE Computed Fieldr=KEYWORD computedsB The Computed Field Option is only available if the Active FieldD has been defined as a computed field. Activating the "Options..."D button to the right will allow you to redefine the computed field characteristics.a !3 Selection_Criteria_Plus_buttonh%=TITLE Selection Criteria Plus buttonc =KEYWORD plusB Activating this button will add a selection "Value line" in theA box below. This value line can be used to define a conditionaleC statement used to select data from the database for your report.a "3 Selection_Criteria_Trash_button&=TITLE Selection Criteria Trash button=KEYWORD trash_canB Activating this button will delete the highlighted "Value line" from the box below. Full Selection Clause=TITLE Full Selection Clause; Activating this button will display the "Report Full SQLl> Selection", which will allow you to override or augment the= selection criteria defined on the main window with booleani1 expressions and other more advanced operators.a 2 Report_Load=TITLE Load... Buttone =KEYWORD loadE Not Yet Implemented r2 Report_Save=TITLE Save... Buttonv =KEYWORD save  Not Yet Implemented r2 Report_Join=TITLE Join... Buttone =KEYWORD joinlA Activating this button will display the "Report Join Selectionr> Information" dialog. This will allow you to define the join? information for the report allowing you to combine data frome) multiple data tables into your report.a T2 Report_Option=TITLE Option... Buttonq=KEYWORD report_option9 Activating this button will display the "Report OutputsD Characteristics" dialog. This will allow you to define the output@ characteristics for the report output. Title, Margins, Column Spacing, etc. m2 Report_Button=TITLE Report... ButtonE=KEYWORD report A Activating this button will display the "Report Output Format"oB dialog. This will allow you to select the report output format. y1 Reporting_Join_Dialog=TITLE Reporting Join Dialog =KEYiWORD joins@ Use this dialog to join the data from one table with the data from another table. TBS... S1 Reporting_Text_Dialog=TITLE Reporting Text Dialog=KEYWORD reporting TBS...a O1 Solutions_Query_Dialog.=TITLE Solutions Query Dialog =KEYWORD solutions query> This dialog is the query interface for the MultiHelp Expert Solutions sub-system.D From this dialog, the user can select searching criteria such as: o Synonym checking o Noise word elimination! o Confidence factor weightingt0 o Sub-search just the current list of titles@ o Perform an extended query which allows the user to specify4 exactly which items of a solution to match on.6 Choose from the items below for more information... c2 Solutions_Query_Menu_Barr=TITLE Solutions Query Menu Bar =KEYWORD query1 The following menu items are available to you:v o File pulldownp o Dismiss1 This function dismisses the query windowa o Actions pulldown o SearchdB This function will perform a search for solution articles@ based on the information entered into the English QueryC text field. You may also use the "Search..." button on them bottom of the window. o Sub-Search B This function will perform a search for solution articles@ based on the information entered into the English QueryC text field. But, this differs from the "Search" butttc$MULTIHELP020.A [A]DECW$MULTIHELP.HLP;1R?z]lon inYA that it will only search the currently displayed list ofUC articles for the iformation contained in the English Query  text field. o Confidence WeightingOD This function will display the confidence weighting dialog.A This dialog allows you to specify which matches are moreD important than others.C$ o Expanded Query CapabilitiesA This function will change the query screen into a screenP? which allows the user to specify exactly what they areAB searching for in the solution. For instance, the user canA specify to only search for words that appear in a title.e f2 English_Query_Windowe=TITLE English Query Window =KEYWORD queryA This solutions query dialog allows the user to enter sentence-HA like queries and have the MultiHelp query engine find and sortA solution articles based on an internally calculated confidence factor.@ The "Synonyms" toggle allows MultiHelp to add synonyms of anyD words located in the query to the search list. Turning the toggle$ button off disables this feature.B The "Eliminate Noise Words" toggle tells MultiHelp to eliminateB noise words from the query before starting the solution search.7 Turning the toggle button off disables this feature.tC The "Search..." push button commences a complete database searcht0 for articles matching the criteria specified.D The "Sub-Search..." push button commences a database search basedC only on the articles found in a previous search and the criteriag$ specified in the query statement. g2 Expanded_Query_Window=TITLE Expanded Query Window=KEYWORD queryA This query dialog allows the user to give explicit informationeA on exactly what to search for. For example, if the user wantedtA to find solution articles with the words "backup" and "eof" ingD the Title only, they could enter those words into the title words list and do the search.B The user also has control over whether to include synonyms on a* characteristic by characteristic basis.? The user also has control over whether to choose ancestor or+ descendant searching for class searches.g 1 Solutions_Add_Modify_Dialog"=TITLE Solutions Add-Modify Dialog=KEYWORD solutions< This dialog allows you to add, modify or delete MultiHelp solutions.t$ o Prevent Archival Toggle ButtonB If this button is turned on, then normal archival proceduresA for solution articles will skip this particular article. ItaA is best to leave this button off unless you definitely know ? that you do not want it removed in the future by archivalg procedures.s" o Stored Locally Toggle Button> If this button is on, then MultiHelp will store the text= of the solution article. Else, you will be prompted forsA information on how to obtain the text of the article when aY! user keys on this solution.o% o Customer Viewable Toggle ButtoneC If this button is on, then customers are allowed to view this,B article. If off, then customers are not allowed to view thisD article. Use this to store documents that are not intended for your customer's access.  o Identifying Words @ The five lists that appear across the middle of the windowD allow you to specify what information this article is intendedA to solve. You should think of them as the matching criteria B that will allow a customer to look up and find this article. - Class listv> Use this list to specify valid MultiHelp classes thatA best describe the area that this article is to solve. Bep@ as specific as possible so that general searches can be/ performed using the descendant toggle.y - Keyword listaB Think of this list as the collection of words most likely? to be used when a user is having the problem that thise& article is intended to solve. - Software listD List affected software for the problem that this article isC intended to solve. If you can think of different ways thataD the software might be spelled (i.e. lotus, lotus-123, etc.)B either add synonyms for it or add the different spellings here. - Hardware listD List affected hardware for the problem that this article is intended to solved. - Link list? Enter related article ids that might have something to @ do with this article. The list of related articles willB be displayed to the user when they select this article to view. - Title listT= Enter title(s) for the article. Let the titles be asoA descriptive as possible. There is no limit on the numberq, of titles that an article may have. o Article text windowe? Use this text editing window for entering the text of therB article. You can also use the "include file..." function for, including text files into this window. S 2 Menu_Bare=TITLE Menu Bare=KEYWORD menu, solutions o File - Add SolutionLB Choosing this function will create a new article with theA information provided. This option is only available when creating an article.E - Modify SolutionA Choosing this function will update the article currently ? being modified with the new information provided. Thisa< option is only available when modifying an article. - Dismiss8 Choosing this function will dismiss the window. o Edit - CopyiB Choosing this function will copy whatever is currently inB the Xwindow Clipboard buffer into the article text window/ at the current insert cursor position.o - PasteB Choosing this function will copy whatever is currently in: the article text window to the Xwindow Clipboard. o Options  - Include FileaD Choosing this function will display a file selection dialogB allowing you to browse local files for inclusion into the article text window.t - Synonym ManagerC Choosing this function will allow you to interact with them synonym manager., - Noise Word ManagerbC Choosing this function will allow you to interact with the noise word manager. - Enter Article IdTA Choosing this function will display an article Id dialogyD that you can use to specify a particular article to modify. - Add Solution ArticleaC Choosing this function will reset/clear the current screend5 and allow you to create a brand new article. - Delete Solution ArticleC Choosing this function will delete the currently displayed  article.F d1 Solutions_List =TITLE Solutions List Dialog=KEYWORD solutionsB This dialog displays the list of solutions chosen based on your query. To display a solution either:@ 1. Single-click on a title and press the VIEW SELECTED button 2. Double-click on a titlee*[A]FOCUS_HELP.UIL;1+,./ 4(- 0123KPWO56{UAw7Ȼ89GHJvaluek_focusNotifySeverity : 0;*[A]HELP_TEXT.UIL;1+,.-/ 4w--- 0123KPWO.56uh;7λ89GHJ请$MULTIHELP020.A [A]HELP_TEXT.UIL;1w-"/*H** This module defines the text displayed for each widget as it receives** input focus.** C** It also defines the Help Topic that is displayed whenever a userD** presses the HELP key or uses context sensitive help on any widget*** that has registered an XmNhelpCallback.**D** This module is broken down by windows. For instance, all the textA** that is associated with the Sort Dialog appears together, etc.**E** The inputFocus help text is implemented by defining a one sentence@** description of the widgets purpose. Then the widget must haveA** setup the XmNuserData resource to point to the string defined.N** Any widget to have this type of help must be of type WIDGET and not GADGET!*** All of these constants start with "f_".**** For instance:**E** f_notifySeverity : 'Enter a comma separated list of severities.';**** arguments {&** XmNuserData = f_notifySeverity; ** : :** }**I** The context sensitive help strings indicate which topic describes helpC** on the widget selected. It is implemented by defining a constantG** that begins with "h_" and specifies exactly the topic or topics that?** one would type in normal help to get to the DECwindows help.!** Abbreviations are not allowed.C** (See chapter 4 of "Application Programming Guide" for more info)**** For instance:**4** h_severityText : 'NOTIFICATION_DIALOG SEVERITY';**** callbacks {=** XmNhelpCallback = contextHelpCallback(h_severityText); ** : :** }*//*** Main Window*/value% h_mainWindow : 'Main_Window';8 h_mainCommandField : 'Main_Window Command_Pane';; h_mainSVN : 'Main_Window Service_Request_Display';7 h_mainStatusWindow : 'Main_Window Status_Pane';: h_mainWindowMenuBar : 'Main_Window Main_Menu_Bar';A h_customerButtonFrame : 'Main_Window Customer_Button_Pane';R f_mainWindowMenuBar : 'Select and item from the menu or use Context Help';T f_mainStatusWindow : 'Scrollable (non-editable) list of MultiHelp messages';w f_mainSVN : 'Double Click - On text to display request; On icon for extended information; MB3 for popup menu';< f_mainCommandField : 'Enter a valid LOOKUP command';U f_mainCreateRequest : 'Create a service request to be logged with MultiHelp';@ f_mainKnowledge : 'Interface to the knowledge database';H f_mainHelpButton : 'Top level access to MultiHelp help library';E f_mainQueuedRequests : 'Display your Queued service requests';B f_mainOpenRequests : 'Display your Open service requests';@ f_mainCustom : 'Customize your service request display';C f_mainProblemId : 'Lookup a service request by Problem Id';/*** Update Form Dialog*/value. h_updateFormDialog : 'UPDATE_FORM_DIALOG';/*** Notifications Dialog*/value1 h_notificationDialog : 'NOTIFICATION_DIALOG';0 h_notifyHelpButton : 'NOTIFICATION_DIALOG';X f_allRequestsToggle : 'Receive a notification for every new request in the display';D f_notifySeverity : 'Enter a comma-separated list of severities';. h_notifySeverity : 'Notifications_Dialog';D f_notifyPriority : 'Enter a comma-separated list of priorities';F f_notifyStatus : 'Enter a comma-separated list of request states';F f_notifyCustomer : 'Enter a comma-separated list of customer Ids';@ f_notifyOwner : 'Enter a comma-separated list of owner Ids';D f_notifyCategory : 'Enter a comma-separated list of categories';E f_notifySoft : 'Enter a comma-separated list of software topics';E f_notifyHard : 'Enter a comma-separated list of hardware topics';a f_notifySummary : 'Enter a comma-separated list of strings to appear in the problem summary';G f_notifyEmail : 'Enter a comma-separated list of email substrings';K f_notifyPid : 'Enter a comma-separated list of problem id substrings';D f_notifyClass : 'Enter a comma-separated list of valid classes';V f_notifyAncestor : 'Receive notifications for ancestors of the classes specified';Z f_notifyDescendant : 'Receive notifications for descendants of the classes specified';J f_notifyNull : 'Receive notifications for requests with NULL classes';/*** Sort Dialog*/value! h_sortDialog : 'SORT_DIALOG';/*** Command Dialog*/value' h_commandDialog : 'COMMAND_DIALOG';/*** Query Dialog*/value% h_queryDialog : 'QUERY_DIALOG';8 f_qdQueue : 'View only Queued service requests';H f_qdLookup : 'View both Queued and Non-Queued service requests';I f_qdClass : 'Enter a comma-separated list of Classes to display';N f_qdSeverity : 'Enter a comma-separated list of Severities to display';N f_qdPriority : 'Enter a comma-separated list of Priorities to display';Q f_qdStatus : 'Enter a comma-separated list of Request States to display';O f_qdSort : 'Enter sort specification; See Sort Dialog; use ASC & DESC';T f_qdSubject : 'Enter a subject sub-string to search for (precede with "*")';0 f_qdSince : 'Enter a since date filter';2 f_qdBefore : 'Enter a before date filter';E f_qdCustomer : 'Enter a comma-separated list of customer Ids';@ f_qdOwner : 'Enter a comma-separated list of owner Ids';C f_qdCategory : 'Enter a comma-separated list of categories';0 f_qdAttempts : 'View attempted requests';D f_qdAncestor : 'View ancestors of specified service classes';F f_qdDescendant : 'View descendants of specified service classes';K f_qdNull : 'View service requests with no service class specified';@ f_qdEither : 'View both open and closed state requests';3 f_qdOpen : 'View only open state requests';7 f_qdClosed : 'View only closed state requests';/*** Notification Popups*/value/ h_notificationPopup : 'NOTIFICATION_POPUP';/*** Logon Dialog*/value# h_logonDialog : 'LOGON_DIALOG';/*** Problem Main Dialog*/value3 h_problemMainDialog : 'Service_Request_Window';A h_problemMenuBar : 'Service_Request_Window Problem_Menu_Bar'; f_notifyBoxIcons :@ 'The current notification method(s) requested by the customer';I f_classMenu : 'Select the problem class that best fits your problem'; f_severityMenu :I 'Select the severity that best describes the impact to your operations'; f_priorityMenu :F 'Select the priority that describes the order of attention required';4 f_statusMenu : 'Set the service request status'; f_classLabel :> 'Currently selected class [Scroll right by clicking inside]'; f_severityLabel :A 'Currently selected severity [Scroll right by clicking inside]'; f_priorityLabel :A 'Currently selected priority [Scroll right by clicking inside]'; f_statusLabel :? 'Currently selected status [Scroll right by clicking inside]';H f_problemSummaryList : 'List of work reports; Double-Click to view'; f_dateDueMenu :G 'Press to select a preset Due Date or modify the text field manually'; f_dateDue :D 'Date solution to service request is due - leave blank to default';> f_software : 'List the name(s) of the affected software';> f_hardware : 'List the name(s) of the affected hardware'; f_problemOwner :B 'The service representative responsible [RETURN for validation]';F f_problemStatement : 'Enter a brief problem statement - REQUIRED';> f_CCList : 'List of Email addressees to receive updates';> f_problemComment : 'General comment field; user-specifid'; f_problemCategory :O 'User-specified string that can be used as a qualifier to the LOOKUP verb';H f_timeScale : 'Time spent on service request (modifiable) [hh:mm]';I f_extraTime : 'Give yourself addition time on the problem [hhh:mm]';K f_startTime : 'Time that work started on the current Service Request';E f_timeOn : 'Hours and minutes spent on current Service Request';' f_currentTime : 'The current time';D f_summaryText : 'Enter a brief summary of work done - REQUIRED';7 f_problemInclude : 'Include file into work report';J f_problemCredit : 'Give credit-time to other support representatives';D f_problemCommit : 'Commit work report and release problem lock';) f_problemCancel : 'Cancel work done';? f_problemQuiet : 'Do not notify customer or problem owner';C f_problemHidden : 'Keep this work report hidden from customer'; f_problemText :I 'Enter detailed description of work done, or initial problem report';6 f_workRe$MULTIHELP020.A ~ce.UIL;11?!`50 4g\q<|__k<8PgFR >3gej_J>zd,X{0I"r %uNJL#OeeQFb z1h .J>Xw4P9hqJnd'  t*- IDp&}9btyLmVaCu_v %f6/l0|i*2McN!ppD3~Ibe>v;d2G:2~ H0;AmMn{jt*.J9Az(Wz 89t^gX/wF0Vik'% { +zzW)E;6[EPG`< ^yD+Y!bT)c3P'{!?`ZM^^+[$F $/2uFLpa7% `7s!_2'3gZOUI221U<(;"#v'aE7zGR4K`0iEQ6+9 3N2X{L`k)]vs!$3+g RL**#azc]*YM Y(Sxp uG1Ebt.cvzjq\+;|BQfZW|C ~C8EEN".`!`~{H$yV6ZH3O\XrT=bGV)l?z|TkC EK^)K*|;KJr/-A}4Q?m SqY#RE(h~T/OVhJ?Y'0@ucfg34ZlL,iV#JT{Vn/AHO1HD,;)k c]t. ~qXYDk5P;fG@S{d".8TJv1gCyi[)_GTy ?fjKTDV!W ԼV!tU1Cğ1TG$hSlH'j16i&r>ddr6:h26uA'@IdX4.x% Mh0Vzf0fUh oI4c:hM@3*bk"zV'xUMd{g-rSSQz\?V8@p3*d"HGP_<;Ji=[TmUH!q)$}W^gYJN pP/mk_.:NcXcnK KBS+'9Y#)b=6xJ<|#gdL$vwu4N?Ym z@|Af "\z* (<1 V5P2htA s2d'O?iX~+ }KvAeDat@ugeG [TI^|8`]-|q;Fd ? MVq*ho9Y?Ne-vI/hx_>_dG^";zg Q[5b EcA9M-t%N1U PNh.bMxj*yKNx5zntVSj*g +rhtr#7mq@l(~_;kflL,1 alBh )Yg)xFri3+RHmJ\cYiRh,YR*NTiBkNC|fQ44#QfiJ$D@^6ds4CBp {N@H?@pz pT@U$6"1F 5]"x}M<TOU'CDt ~NS\`}pG? ]?efSeGC~E &#O!rke%JjB>D6*Xvvt%jYjgIiJ/s&pd~YVZl I1-w>j(L${ \%8]9 t%#hmiP7{6Gt/5Eh m G `FBRr> OFoOLYpw CG< a^ O.zu!Ug4svE 5\Nq T}fPVhu8xd-rZ`x',<[B5\3}R/f3[Iv""~QU!C?2,O @y(8Y* @P' T51d %aS$'}2Ue}R~@|N1AhR9FN~AZ9XTn$$\Uw$yeH5X!^*ue+L0U\/h9 WdA:&:%W00_@6^yvrEfoPgw 2p `} @I&r Zy6^B2`9CavXhwC *O/}5X\z| y- (k`8? b%y8~2^bJ"mt?Z&y5 l8^yM_;S onf9QvR?gpQvB,{GF{oms`.X(mU;:;WYa,K/\UdNrEgx we. !8#[}3<[VtXe]~}Cu@9c~SX!kRbJCp[ >X/|TamT&~$KH1R|;Us2\TU,*"%|9"#[5GTur5r(_Nr pNKL7bY`l/A O1>@HOoit]OxX0;F+**I@e"hS.=H'D jZCnO/9E~ |Bt>3,A|o/w6u^h?Xp18}Es Vh'g (x3U32HCzYLeT^ypzQIc0"JaU;ke1wV+[D{),%6B@/t>U7`m'fAN627c :l,{G?`N+*mz];Qu -53ic *1Z50"Z KeItqmET}fGUky^(F0W DPNIm>fz Sc}q ?@/KwnD c p1bt Rr|o,]10=]3)k@^LK_N7r]l?(l G 02?JSZ$Yjdl\"t> *ohe.^)Y5<Y$yUtT+^6=~mCd+)Q-,ay5^ ~q5%3B:E-\jN#t ccWQ{+mQn"3\Jq*gS$L&u%2R5><=@ kT1HrlB/P>h&A.jj"U,'VUl|IwOjt;J593KJX+{PwU5pp h+D"{Y` 05N-"B 09Noj6[=CMpRlgw6PAfI=UF6YdqWL f? /#d,6 T!%*^FyO,L& }cEM'eW?Clq~R#De:h 2.!LIcz725D8+J;zO O$ w*xty] 6XO\kN?G]sVjs;K.F> n3{1r+xKN:9 u~|phPRQ:"QT+""p8 [`)m wkA< n5lfc:U,#?$!l'8yoW( qcku==?~[XQaqUx89hP mL!5dk,CZuCM}"&>G[]~GcJ(=YQ`?dTzZTRa1& B!?2UD/qB5k.|WiXoJF/56 FLU ]Vri.'Iq7^w ru? N5uB_VG vvdy[.IW&0cVc^IW]q`TMj?(/&v#t[<2='Ho$#xJ'x+b(\8y Qhf9$GnkFQ_&=PTUcJnx-20T1?M:!kLOLAgP, Bi>2?@M$>7#Y59BtB_Hyq&Yx J!,p j;@E@'&xx;'GD1.\~u'e !f2K ZH0WL LP&54mY&= #xg}fc=_"=R6>^J0}=4Fe=, 7isRz ?yGrMp~.xnDeWU\JxX{di7~t$0iY!QF2tk%Ec46RA40q +@BN9,f/V~(>?Cyq{O.+\6S8$yU=D+ o@Ud)xURpF_M9 1NVf^VL%*a;|R:8*M/ 9:fah|ua`:(hH=+93&H1/J#G*L=fF7uvCrR)t}c}[ W\`VXuS@0TO 2`T+ Wbka0[|v27:0E?i2i~Vt+ D2[@/b:3W/!l%aPh4' bQ+3?~WMw^7gi 5HIlGW[f j%wS}LV .pbG>q N=>]dО}p3%<`W0sG a3{Z~Fv4%dqQ$N 7- h+?p=7e)sXg+5Q(\P-NSdBI),@j>HA3yge[Y6<"1}d'ba7,*,牠TA&y~s|pTDF Sn^SlXMq oNZBFl{mcT.+n7YS 3uL,-bHG\ ~FMbGdXAkw@}a@]%sZFT2!.`=K/s}fRZ=wIFGAXH0xo~%)FL:[A(3 g7 R9Zrnj!]km~%>Jc2Mdao }y$ =l] {-nlA vshT'N[w]uv8/mY:\!5f ElT$nxJ|+tnu $vcNw?X6Jg<0F&# ?P ,>z/O*Mkku p5 O$GLhw0,!o9T 0Edy\CFmwvx4j'K/oi?'|?AvyH1I2xa }D?qV?L/)7h?S-` MQ'N/n{XQ/MWTqe`K~A[ tO$_`(.k0_E[bh$;Q}p]Jzfl6&^,GdL_tz.>y6<KRzLCtD~9_2??mqm{ O2n3|0U@OS3W?JX|qk_?[~MJaNV J5R{qF7TUd "cy`Vpb`D;(MZSGxfTr6lSHaM"4vHN,}2Q=gS@gb? (Ot/tU|5.a*ln1q!%y?hddmTqg6J`)kh"KvWmF98?i!#Iw./d;g oV]f:/lVHpSKYCxBvVu9i'fx1"_Gil6Fx Z,08I;Ybt%(X Y 6Mb-1|rVB%zk IH'nNLC f77T1-8;i?_r\Xd = x:N)HErC6[K\ORvh@ 7rW4TM+Bem{`zVB~Fj t2{*i lKN 6 =h,nmZpj$+Ml[x/ ,n0L8D(k[ez%lk82A~Uz!ga3>D* oUi*%)%`em|-/LcJ(wM1HUQX UIwdIQ4G-"ZpE'\8!bp1 '#a)huri4x rZ(JQX=?j?'9{Y?N6]h(} os !P 8?j5P*'d?hGT95/aB=-[J{c LJqg.Nfm`{#3PbTAPWK:_3]g2KT]`5,p`iKtk%nA/rt'DyUD<R4n*HsjCo[ Rffg6y{g/(O\n%^b^Rok4)ND-_53d3YR<6Ufoan`hy6N<|>,/d+d rzP}BA9OFT`?_cY K5C6aI${9~pG/5!DD{~[#|uV#"qVM2)6mr^l4M.)?#LI`ngU(++X'm|8jU@@kV<8R9}?`_eIF 4B]tsER&#c6a5E'C}<T(-@=Vpek v(>pOdjhv|rE/m~/ifgQVcbzpF"WKTA;KxA 8#>8Lqs]69z["|*% XOtCGVGW/yF$N/ d9"sI1Jix_$ iY>&kuO12 tre7AE!?U5R9 N'u= Yj Z(=\.v[ BhjeC,Dc nw$z#nxhT'3(.'?b8}G}U6m}TcY+fQA#l 5)<_ZZRmY4Q@i2hpz*o[;4hjn,:]S( ?YGC0j4r> (\ndGqIH~J(f^h_~]!AFQryjAXrQRD8$f&f&,G|X kWaf0 be"KilMw@I\T>5 nyvXK%SFY[YU1(4-$lvj >j0xQ\]n&CcQhRih3(C++u911\$rnF\O,&Y3n #Js4~91'LqDKd_|1e YJdL]67!}]\`S7 72Im|}^H{ }wU(@IB&4 u+7.mR)^ -|ZZE!t:VDV}VX?95VW Qm\' GXC do#~ } ??VYV?MOe%hIbp-WNR];&78];3}]pTrU%;D (ldrX>v}4I%<g|?xe,~gRCs{D Fo53@h *<)'A)K2\&YQ$\d:t;_VF\~[7t5!cT0mFm.Ih9-VN F\0")wLd.yx[5d15%Kf;1Sx99á}yQ9xF@/e&vw#Pl #CGjg&8uEaʛ[A \=9$(42p _wr'}8Mu{&?$,}k(IugApSaC?ZK}*j5J6fMboi(Ŷ^n@O%;]<M97 Tq/9-B|`|{IK:R.bP)aVW /SK Bi".^$6.'BE? dOU(N~GjV'w>KaEl :soQto r _@|p_duz:jG&y SW:kPHR-rw%,P \*`/{JcK~n;daoO E?Me*LDCo xD `6NWymqJ*}G~dO[(mGvG~M'z`wDF0>Hy{J0b/OH1I q'32'Ei)I*N gGGxT?&YeTX8>HO` M;SPf`1AQmUwd@v|OzV2 >h:}uh >11yT8? :v`+bU}kh{\H0B0F^?H.phC!dc 5!,7Lr'1$m=-Vu[5{B T !AR}*v"[f &1, O$p(c^Y `V 6a0KNX#Nq ej,P+Cagst#V\$(qChB{{0S 3@ TO 8*C0`4_| qQ]C@[. +B"\a&y_)n x0_c*.7fW5N?d}8 P^ f1W#kz:/~" f{o&| q4!H/jU@?B.iKeRM4_ wJ%"!Lg!#@ <*04}Jg O s4zi 9VRW2 [o,g`q[kzO ? U7 ]001)RlyD^n!.#x2J| k&C3vw4 k2teprocess the command and return to the operating system level.& Command Qualifiers Defaults- /DISPLAY=nodePQ{$MULTIHELP020.A [A]HELP_TEXT.UIL;1w-"portRowCol : 'Work Report option buttons';J f_problemMenuBar : 'Select an item from the menu or use Context Help';/*** Customer Info Dialog*/value2 h_customerInfoDialog : 'CUSTOMER_INFO_DIALOG'; f_notifyMethodsBox :E 'Select your preferred method(s) of notification and communication';' f_ciPhoneArea : 'Phone area code';1 f_ciPhonePrefix : 'Phone prefix (3 digits)';. f_ciPhoneNum : 'Phone number (4 digits)';1 f_ciPhoneExt : 'Phone extension (7 digits)';> f_ciEmail : 'Email address at which to receive updates';B f_ciLocation : 'Describe location where problem is occuring';? f_ciCustomer : 'Customer User Id [RETURN for validation]';A f_ciLastName : 'Customer last name [RETURN for validation]';C f_ciFirstName : 'Customer first name [RETURN for validation]'; f_ciNotifyPhone< : 'Acknowledgements and Notifications requested via Phone'; f_ciNotifyPager< : 'Acknowledgements and Notifications requested via Pager'; f_ciNotifyFax: : 'Acknowledgements and Notifications requested via Fax'; f_ciNotifyEmail< : 'Acknowledgements and Notifications requested via Email';/*** File Dialog*/value) h_fileDialog : 'INCLUDE_FILE_DIALOG';/*** Validation Dialog*/value- h_validationDialog : 'VALIDATION_DIALOG';/*** ProblemId Dialog*/value, h_requestIdDialog : 'REQUEST_ID_DIALOG';/*** Extract Dialog*/value' h_extractDialog : 'EXTRACT_DIALOG';/*** Credit Dialog*/valueu% h_creditDialog : 'CREDIT_DIALOG';d/*** Reporting Dialogs*/value*= f_tableList : 'Double click on table name to see fields';aC f_fieldList : 'Double click on fields to add to selected list'; > f_activeList : 'Select item to view/modify its resources';/* ** Solutions*/values* h_sqDialog : 'SOLUTIONS_QUERY_DIALOG';& h_solutionList : 'SOLUTIONS_LIST';0 h_samWindow : 'SOLUTIONS_ADD_MODIFY_DIALOG';] f_samText : 'Enter your solution text; use {Include File-ctrl+f} or {Paste-ctrl+p} also'; \ f_samTitles : 'List of titles for this solution; update using text entry field beneath';_ f_samTitleText : 'Enter a title for this solution and press RETURN; or use the ADD button';"D f_titleRC : 'Controls the current title list for this solution';8 f_samMod : 'Modification history for this solution';0 f_sam1Info : 'General solution information';F f_samLocText : 'Enter location if solution is not stored locally';N f_samAccessText : 'Enter access method if solution is not stored locally';U f_samContactText : 'Enter contact information if solution is not stored locally';dA f_samMB : 'Use MB1 or F10 to display a pulldown menu option';oB f_classSolList : 'List of relevant classes for this solution';` f_classTF : 'Enter a valid class for this solution and press RETURN; or use the ADD button';D f_classRC : 'Controls the current class list for this solution';A f_keySolList : 'List of relevant keywords for this solution';/` f_keyTF : 'Enter a valid keyword for this solution and press RETURN; or use the ADD button';D f_keyRC : 'Controls the current keyword list for this solution';G f_linkSolList : 'List of relevant article links for this solution';is f_linkTF : 'Enter a valid article Id that is related to this solution and press RETURN; or use the ADD button'; J f_linkRC : 'Controls the current article link list for this solution';B f_softSolList : 'List of relevant software for this solution';b f_softTF : 'Enter related software for this solution and press RETURN; or use the ADD button';F f_softRC : 'Controls the current software list for this solution';B f_hardSolList : 'List of relevant hardware for this solution';b f_hardTF : 'Enter related hardware for this solution and press RETURN; or use the ADD button';F f_hardRC : 'Controls the current hardware list for this solution';c f_classList : 'Classes to match on; use toggles to include Ancestors or Descendants in search';ag f_classtf : 'Enter a class to match on; use toggles to include Ancestors or Descendants in search';e2 f_classrc : 'Controls the current class list';a f_classAD : 'Use to include ancestors or descendants of the specified classes in the search';iq f_keyList : 'Keywords represent typical words used to represent the problem; use toggle to include synonyms';I, f_keytf : 'Enter a keyword to match on';2 f_keyrc : 'Controls the current keyword list';9 f_keysyn : 'Includes synonyms of keywords in search'; _ f_titleList : 'Words contained in the title of an article; use toggle to include synonyms';a1 f_titletf : 'Enter a title word to match on';m7 f_titlerc : 'Controls the current title word list';n> f_titlesyn : 'Includes synonyms of title words in search';N f_softList : 'Affected software products; use toggle to include synonyms';@ f_softtf : 'Enter affected software products to search for';4 f_softrc : 'Controls the current software list';@ f_softsyn : 'Includes synonyms of software words in search';N f_hardList : 'Affected hardware products; use toggle to include synonyms';@ f_hardtf : 'Enter affected hardware products to search for';4 f_hardrc : 'Controls the current hardware list';@ f_hardsyn : 'Includes synonyms of hardware words in search';@ f_sqMB : 'Use MB1 or F10 to display a pulldown menu option';S f_sqTF : 'Enter a sentence-like question; ctrl+c For explicit search criteria';eS f_sqWeightButton : 'Select weighting factors for each search category; ctrl+w';:5 f_sqSearchButton : 'Initiate the search; ctrl+s';sb f_sqSubSearchButton : 'Initiate a sub-search - searches only on lastest article list; ctrl+u';; f_sqDismissButton : 'Dismiss the query dialog; ctrl+z';T f_sqNoiseToggle : 'Eliminate "Noise" words from query before commencing search';= f_sqSynonymToggle : 'Add synonyms to all words in query';A /*** Report Interfacee*/valuee< f_reportJoinHelpPB : 'Request Help about Join sub-system';C f_reportJoinDismissPB : 'Exit Join sub-system and apply changes';s2 f_reportJoinAddPB : 'Add a new join definition';> f_reportJoinTrashPB : 'Delete the selected join definition';] f_reportJoinPreviousList : 'Double-click on table to expand; on field to make a join field';tW f_reportJoinActiveLeftText : 'Select fields to associate equal values between tables';:X f_reportJoinActiveRightText : 'Select fields to associate equal values between tables';[ f_reportSQLSystemText : 'Query generated by selection criteria specified on main screen';eU f_reportSQLUserText : 'User specified criteria or modification of System criteria'; H f_reportSQLLegendList : 'Definition of simple-substitution variables';6 f_reportSQLApplyPB : 'Exit and accept new criteria';: f_reportSQLCancelPB : 'Exit and disregard new criteria';P f_reportSQLResetPB : 'Restore settings in affect before entering this window';8 f_reportLoadPB : 'Recall a stored report definition';) f_reportReportPB : 'Generate a report';sS f_reportSavePB : 'Save this report definition so that it can be recalled later'; ; f_reportDismissPB : 'Exit from the reporting sub-system';;H f_reportCharPB : 'Specify page layout and flat-file characteristics';O f_reportJoinPB : 'Specify join operations to associate data between tables';U f_reportSelectionList : 'Double-click on table to expand; on field to make active';: f_reportColumnWidthTB : 'Override default column width';? f_reportColumnWidthText : 'Specify non-default column width';t< f_reportColumnHeaderTB : 'Override default column header';a f_reportColumnHeaderText : 'Specify non-default column header. \'_\' causes multi-line header'; D f_reportSortOrderTB : 'Output sorted by the values of this field';7 f_reportSortAscTB : 'Select an ascending sort order';r8 f_reportSortDescTB : 'Select a descending sort order';J f_reportAlignmentTB : 'Override default column alignment/justification';4 f_reportAlignmentLeftTB : 'Column left justified';7 f_reportAlignmentCenterTB : 'Column center justified';e5 f_reportAlignmentRightTB : 'Column right justified';eT f_reportBreakTB : 'Split output after value changes to allow for summary output';2 f_reportBreakPB : 'Define summary line output';4 f_reportPrintOutputTB : 'Display field in output';G f_reportValueAddPB : 'Add selection criteria for hightlighted field';'> f_reportValueTrashPB : 'Delete selected selection criteria';B f_reportValueSQLStringPB : 'Specify detailed selection criteria';T f_reportActiveUpAB : '8$MULTIHELP020.A [A]HELP_TEXT.UIL;1w-##Move field to the left in output; Increase sort precidence';: f_reportActiveTrashPB : 'Remove field from active list';W f_reportActiveDownAB : 'Move field to the right in output; Decrease sort precidence';e@ f_reportActiveSelectedTB : 'Display fields in order of output';F f_reportActiveSortTB : 'Display sort fields in order of precidence';d f_reportRelationalText : 'Enter criteria for the highlighted field and the operator to the right';a f_reportRelationalPB : 'Operator used to compare criteria to the right with highlighted field'; b f_reportRelationalPB1 : 'Operator used to compare criteria to the right with highlighted field';b f_reportRelationalPB2 : 'Operator used to compare criteria to the right with highlighted field';b f_reportRelationalPB3 : 'Operator used to compare criteria to the right with highlighted field';b f_reportRelationalPB4 : 'Operator used to compare criteria to the right with highlighted field';b f_reportRelationalPB5 : 'Operator used to compare criteria to the right with highlighted field';a f_reportRelationalOM : 'Operator used to compare criteria to the right with highlighted field';sF f_reportReportMotifTB : 'Display report output in a popup X window';: f_reportReportMailTB : 'Mail report Output to yourself';X f_reportReportMailFlatTB : 'Mail output to yourself in flat file (spreadsheet) format';) f_reportReportOKPB : 'Generate report';sD f_reportReportDismissPB : 'Exit without generating report output';= f_reportReportMailPB : 'Specify an alternate mail address';'U f_reportOutputLinesPerPageText : 'Number of Output Lines per page. 0 is unlimited.';sF f_reportOutputTopMarginText : 'Number of blank lines at top of page';J f_reportOutputRightMarginText : 'Number of blank spaces in right margin';H f_reportOutputLeftMarginText : 'Number of blank spaces in left margin';[ f_reportOutputColumnSpacingText : 'Default number of blank spaces between output columns';_L f_reportOutputBottomMarginText : 'Number of blank lines at bottom of page';m f_reportOutputDateFormatText : 'Date-Time Format; Y-Year M-Month D-Day h-hour m-minute s-second c-hundreth';oG f_reportOutputTitleText : 'Specify title to appear at top of report'; 0 f_reportOutputIntervalFormatText: 'need label';c f_reportOutputFlatDelimiterText : 'Character inserted between columns in output for spreadsheets';aF f_reportOutputQuoteText : 'Enclose all text and date strings in ""';: f_reportOutputSDPB : 'Reset to initial system defaults';M f_reportOutputDismissPB : 'Exit from Options sub-system and apply changes';wG f_reportBreakCancelPB : 'Exit break definition disregarding changes';:B f_reportBreakDismissPB : 'Exit break definition saving changes';P f_reportBreakAddPB : 'Add a new summary definition based upon selected field';> f_reportBreakTrashPB : 'Delete selected summary definition';A f_reportBreakList : 'Fields available for summary line output';uE f_reportBreakActiveFieldText : 'Field used for summary line output';1 f_reportBreakActiveTotalPB : 'Summary function';1 f_reportBreakActiveCountPB : 'Summary function';:/ f_reportBreakActiveAvgPB : 'Summary function';/1 f_reportBreakActiveValuePB : 'Summary function';e- f_reportBreakActiveOM : 'Summary function';lE f_reportBreakActiveWidthText : 'Specify output width in characters';tI f_reportBreakActivePositionText : 'Specify starting character position'; _ f_reportExtractAddress : 'Specify Email address (in a format used by MultiHelp server node)'; : f_reportExtractOk : 'Exit and accept new Email address';P f_reportExtractCancel : 'Exit and disregard and change made to Email address';L f_reportBreakActiveList : 'Select item to view/modify its resources';E f_reportBreakHeaderBreakTB : 'Output Headers for Break Fields';U[ f_reportBreakBlankLinesText : 'Output # number of blank line(s) before break output';iQ f_reportBreakActiveUserText : 'Text used if break function is "User Text"';eL f_reportBreakActiveHeaderText : 'Column Header for Break information';F f_reportBreakPageBreakTB : 'Page Break after break information';p f_reportComputedSystemText : 'Query generated by selection criteria specified on main screen';O f_reportComputedUserText : 'User specified computed field';le f_reportSQLTableList : 'Double-click on table to expand; on field to make a SQL field';i] f_reportComputedLegendList : 'Definition of simple-substitution variables';sN f_reportComputedApplyPB : 'Exit and accept new criteria';Q f_reportComputedCancelPB : 'Exit and disregard new criteria';Th f_reportComputedResetPB : 'Restore settings in affect before entering this window';O f_reportComputedTB : 'Use field as a computed field';:N f_reportComputedPB : 'Define Computed field values';T f_reportComputedNameCancel : 'Cancel and return back to the reporting screen';: f_reportComputedNameOk : 'Create a computed field';P f_reportComputedNameText : 'Enter a unique string for the new field name';4 h_reportJoinWindow : 'Reporting_Join_Dialog';4 h_reportMainWindow : 'Reporting_Main_Dialog';6 h_reportXmTextWindow : 'Reporting_Text_Dialog';*[A]HELP_WIDGET.UIL;1+,./ 47- 0123KPWO56.TŇҗ7ջ89GHJ/*7** This module defines the DECwindows Help Widget used.*/!object mainHelp : DXmHelpDialog { arguments { DXmNcols = 70; DXmNrows = 15; DXmNdefaultPosition = false; XmNx = 0; XmNy = 0;# DXmNapplicationName = 'MultiHelp';2 DXmNbadframeMessage = 'Could not find Topic !CS'; DXmNcacheHelpLibrary = false; DXmNglossaryTopic = 'Glossary';1 DXmNlibrarySpec = 'Sys$Help:MultiHelp$Dwui.HLB'; DXmNoverviewTopic = 'Overview'; };%}; /* END mainHelp : DXmHelpDialog */*[A]KITINSTAL.COM;1+,.~/ 4w~}*- 0123KPWO~561S[7+ۻ89GHJ$ save_verify=f$verify(p2)$!+G$!=====================================================================)$! MultiHelp $! Module Name: KitInstal.COM$!$! Parameters: $! P1:!$! VMSinstal code passed$! P2:.$! debug variable passed by VMSinstal$!$! Author: jjjones$! Date: 4-AUG-1993$! Description:A$! This procedure is used to install the MultiHelp product.>$! It is not to be invoked directly by the user but rather.$! indirectly via SYS$UPDATE:VMSINSTAL.COM$!$! Modifications:$!$! X3.1 - jjjones<$! - Check for existance of previous verbs that match either$! "MULT" or "MH";$! - Cannot modify MultiHelp SYSTEM account password during$! installation.#$! - Cleaned-up postinstall problem7$! - Install pre-built database on system that only has$! Run-Time RDB license6$! - UI must be installed if Server is to be installedA$! - Corrected typo in listing name of SYS$DECDTM_INHIBIT logical$! X4.0 - jjjones)$! - massive restructure of DB build etc.4$! allow for small DB build on non-RunTime systems?$! - defining "MH_SKIP_DB" will cause this installation to skip"$! the building of the database.$! X6.0 - jjjones [17-JAN-1994]&$! - Ship MH_submit logger application;$! - Ship MHT_mailshr test mailer for new mail architecture/$! - Ship Decw$MultiHelp.HLP - on-line GUI help$! X7.0 - jjjones [6-FEB-1994]B$! - Create Sys$Examples:[MultiHelp] and load multiplatform logger $! into it.7$! - Force user to do backup of database before upgrade?$! - Change load and unload command procedure names for upgrade$$! - Add examples saveset to kit - EF$! - defining MH_SKIP_EXAMPLES will cause E saveset not to be restored$! - jjjones [9-MAR-1994]*$! - Delete Sys$Share:MHT_mailshr.exe X6.0$! - jjjones [20-MAR-1994]G$! - Set forwarding for support, help_desk and multihelp to mh%requests$! X7.1 - jjjones [27-MAR-1994]7$! - Added checks for DB backup before Db restructuringJ$! - P @$MULTIHELP020.A [A]KITINSTAL.COM;1w~"ut MultiHelp version check for upgrades - MULTIHELP_upgrade_versions!$! - Add MH_SKIP_MH_VERSION_CHECK$! X8.0 - jjjones [24-JUL-1994]3$! - no longer differ between runtime and otherwise $! - MHsubmit is changed to QLog$! V1.0!- jjjones [17-AUG-1994]A$! - Check for DECwindows programming support for UIL 2 UID build$! - Upgrade DB to V1.0 format$! - No longer build Archive DB3$! - DB restructure no longer required for Rockwell $! Y2.0b- Define mms$ref vmi$kwd$! V2.0 - jjjones [05-FEB-1995]>$! - Motif is no longer a requirement. If Motif is not present0$! then the motif interface will not be built.B$! - Prompt for cpu Hardware Address. Due to the use of DECnet-OSI>$! we now need to prompt for this as opposed to fetching it.6$! - remove Qlog from kitinstal [Hap 13-OCT-1995]H$! - archive database is not built with option 3. [Hap 13-Oct-1995]G$!=====================================================================$!-$!+$!$! Set Up Error Handlers$!$!-"$ Error_Handler := ON Error then -$ Exit VMI$_FAILURE'$ CTRL_Y_Handler := ON control_Y then -$ VMI$CALLBACK CONTROL_Y$ Error_Handler$ CTRL_Y_Handler$!+$!;$! Set Up Symbols used later on to control the action taken$!$!-$ MultiHelp_version="G020"#$ MULTIHELP_upgrade_versions="X080"$ VMS_VAX_MIN_version="5.5"$ VMS_ALPHA_MIN_version="1.5"$ RDBSHR_MIN_version="4.2"$ RDBSERVER_MIN_version="V4.2"$ MOTIF_MIN_version="V1.2"$ TOTAL_BLOCKS_REQUIRED=30000$ DB_BLOCKS_REQUIRED=42000 $ SMALL_DB_BLOCKS_REQUIRED=19000.$ is_Alpha = F$GetSYI("arch_name").eqs."Alpha"*$ is_VAX = F$GetSYI("arch_name").eqs."VAX"?$ is_Motif12 = F$Search("Sys$Share:DECW$XmLibShr12.EXE").nes."",$ Motif_Present = 1.eq.1 !default to True'$ blank_line = "write sys$output "" """F$ db_restructure_required = (f$search("VMI$KWD:UPGRADE.SQL") .nes. "")$ IVVERB = %X38090)$ skip_db = F$TrnLNM("MH_SKIP_DB").nes.""-$ skip_verb = F$TrnLNM("MH_SKIP_VERB").nes.""E$ skip_MH_version_check = F$TrnLNM("MH_SKIP_MH_VERSION_CHECK").nes."" $ skip_MH_version_check = 1.eq.1L$ skip_Motif_version_check = f$trnlnm("MH_SKIP_MOTIF_VERSION_CHECK") .NES.""$!+$!$! Main Execution$! Get Code passed in P1$!$!-%$ if p1.eqs."VMI$_INSTALL" then -$ goto do_installation"$ if p1.eqs."VMI$_IVP" then - $ goto do_ivp)$ if p1.eqs."VMI$_POSTINSTALL" then -$ goto do_post_installation;$ Exit VMI$_UNSUPPORTED !unsupported code passed in P1$!+C$!=================================================================$!$! Do the Installation$!C$!=================================================================$!-$ DO_INSTALLATION:G$!if cms$ref is defined in process table deassign it(same with mms$ref)]$ if F$TRNLNM("CMS$REF","LNM$PROCESS_TABLE",,"SUPERVISOR") .nes. "" then deassign cms$ref/sup]$ if F$TRNLNM("CMS$REF","LNM$PROCESS_TABLE",,"EXECUTIVE") .nes. "" then deassign cms$ref/exec]$ if F$TRNLNM("MMS$REF","LNM$PROCESS_TABLE",,"SUPERVISOR") .nes. "" then deassign mms$ref/sup]$ if F$TRNLNM("MMS$REF","LNM$PROCESS_TABLE",,"EXECUTIVE") .nes. "" then deassign mms$ref/exec#$ Define/NoLog/Job Cms$Ref VMI$KWD:#$ Define/NoLog/Job Mms$Ref VMI$KWD:$ if is_Alpha then -.$ VMI$CALLBACK SET PRODUCT_NAME "MultiHelp[R]"$!+$!!$! Check for root specific images$!$!-<$ if F$Search("Sys$Specific:[SysLib]MH_*.exe").nes."" then -$ goto root_specific_images@$ if F$Search("Sys$Specific:[SysLib]MHmail$*.exe").nes."" then -$ goto root_specific_imagesB$ if F$Search("Sys$Specific:[SysLib]Multihelp*.exe").nes."" then -$ goto root_specific_images<$ if F$Search("Sys$Specific:[SysExe]MH_*.exe").nes."" then -$ goto root_specific_images@$ if F$Search("Sys$Specific:[SysExe]MHmail$*.exe").nes."" then -$ root_specific_imagesB$ if F$Search("Sys$Specific:[SysExe]Multihelp*.exe").nes."" then -$ goto root_specific_imagesE$ if F$Search("Sys$Specific:[Sys$Startup]MultiHelp*.*").nes."" then -$ goto root_specific_images@$ if F$Search("Sys$Specific:[SysMgr]MultiHelp*.*").nes."" then -$ goto root_specific_imagesA$ if F$Search("Sys$Specific:[SysLib]DCLTABLES.exe").nes."" then -$ goto root_specific_images $ goto skip_root_specific_images$ root_specific_images:$ type sys$inputI The following MultiHelp files are improperly installed in the system- specific system root:E$ Directory Sys$Specific:[syslib]mh_*.exe,mhmail$*.exe,multihelp*.exeE$ Directory Sys$Specific:[sysexe]mh_*.exe,mhmail$*.exe,multihelp*.exe0$ Directory Sys$Specific:[sys$startup]multihelp*+$ Directory Sys$Specific:[sysmgr]multihelp*.$ Directory Sys$Specific:[syslib]dcltables.exe$ type sys$inputL These could cause problems for this upgrade/installation of MultiHelp. K They should be removed or renamed to the common root of each directory ! before the upgrade continues.$ exit vmi$_failure$ skip_root_specific_images:$!+$!)$! Ask if they want all the documentation$!$!- $ blank_line$ VMI$CALLBACK SET PURGE ASK$ type sys$inputL MultiHelp documentation is shipped along with the kit in PostScript and J text format. At this time you have the option of whether to have the O documentation loaded into SYS$HELP: by this procedure or to do it manually  at a later time.L If you answer YES to unloading the documentation now, you will be given J the opportunity to unload the documentation and exit the installation.M To unload the documentation manually simply restore the .B saveset using  the BACKUP utility:2 $ backup MULTIHELP020.B/save_set SYS$HELP: $ VMI$CALLBACK ask restore_doc -A "Do you want this procedure to restore the documentation" YES B$!+$!G$! If they want the doc restored - should we continue with the install?$!$!-$ if restore_doc$ thenP$ VMI$CALLBACK ask answer "Do you want to continue with the installation" NO B$ if .not.answer$ then$ Call Restore_Documentation$ Exit VMI$_SUCCESS $ endif$ endif$!+$!$! Setup for Post-Install$!$!-@$ VMI$CALLBACK SET POSTINSTALL YES !Register a PostInstall Phase$!+$!D$! This product comes with the user interface which may be installed?$! on any VMS system and the server which may be installed only!$! on the licensed server system.$$! Find out which we are installing:$!$!-$ parts_question:$ type sys$input= This product contains two different installation options:N 1) Install the full product which includes the database files. This must 6 be installed at least once in your environment.M 2) Install only the application server interface, which does not include N the database files. In this case, MultiHelp runs locally but accesses M the database information remotely, which was installed using option 1.0 Which do you want to install on this system:; 1) Full product installation (including database files)7 2) Application server only (without database files)-$ VMI$CALLBACK ASK install_option "Which" 1 I8$ if install_option.lt.1 .OR. install_option.gt.2 then -$ goto parts_question($ Install_Server == install_option.eq.1 <$ Install_UI == install_option.eq.2 .OR. install_option.eq.1$!+$!&$! Check required versions of software$!$!-$ type sys$input:L This installation requires the following software products depending on - the installation options you have chosen:; OpenVMS AXP V1.5 or OpenVMS VAX V5.5 (UI or Server)0 OpenVMS DECwindows Motif V1.2 (UI Only)' DEC Rdb V4.2A (UI or Server)F If DECwindows Motif is not present on your system, then the Motif interface will not be built.F$ VMI$CALLBACK MESSAGE I VERSIONS "Checking required product versions"$ if is_Alpha then -J$ VMI$CALLBACK CHECK_VMS_VERSION VMS_version_OK 'VMS_ALPHA_MIN_version'$ if is_VAX then -H$ VMI$CALLBACK CHECK_VMS_VERSION VMS_version_OK 'VMS_vax_MIN_version'$ if .not.VMS_version_OK$ then'$ VMI$CALLBACK MESSAGE E BADVERSION -5 "The version of OpenVMS is not at required levels" -l "Minimum for OpenVMS AXP is V''VMS_ALPHA_MIN_version' - Minimum for OpenVMS VAX is V''VMS_VAX_MIN_version'"$ Exit VMI$_FAILURE $ endifH$!+$!$! Check for MOTIF$!$!-4$ if Install_UI .and. .not. skip_Motif_version_check$ thenJ$ vmi$find decw$motif_lib decw$xlibshr.exe vmi$root:[syslib] s decw$motif$ if decw$motif .nes. "S"$ thenV$ VMI$CALLBACK MESSAGE E NO_MOTIF "DECwindows Motif has not been found on this system"$ Motif_Present = 1.eq.0$ else$!L$ vmi$callback get_im8$MULTIHELP020.A [A]KITINSTAL.COM;1w~"age_id decw$motif_id vmi$root:[syslib]decw$xlibshr.exeD$ if f$locate("DW V1.2",decw$motif_id) .eq. f$length(decw$motif_id)$ then)$ VMI$CALLBACK MESSAGE E BADVERSION -? "The version of DECwindows Motif is not at minimum require" - @ "This installation requires DECwindows Motif V1.2 or higher" -B "Installation will continue - Motif interface will not be build"$ Motif_Present = 1.eq.0 $ endif $ endifs$!A$! VMI$FIND CUR_FILE SYS$SYSTEM:decw$server_main.exe "" S FOUNDa$ ! if found.nes."S" $! theneW$! VMI$CALLBACK MESSAGE E NO_MOTIF "DECwindows Motif has not been found on this system"-$! Motif_Present = 1.eq.0 $! elsei;$! VMI$CALLBACK CHECK_PRODUCT_VERSION version_ok cur_file -X"$! 'motif_min_version' "MOTIF"$! if .not.version_okp$! then*$! VMI$CALLBACK MESSAGE E BADVERSION -B$! "The version of DECwindows Motif is not at minimum required" -D$! "Installation will continue - Motif interface will not be build"$! Motif_Present = 1.eq.0!$! endif $! endif$ endif !INSTALL_UI$!+a$!$! Check for RDB$!$!-g=$ VMI$FIND CUR_FILE vmi$root:[sysexe]RDBSERVER.exe "" S FOUNDd$ if found.nes."S"$ thenI$ VMI$CALLBACK MESSAGE E NO_RDB "Rdb has not been found on this system"!$ Exit VMI$_FAILURE$ endifl:$ VMI$CALLBACK CHECK_PRODUCT_VERSION version_ok cur_file -$ 'RDBserver_min_version' "RDBSERVER"$ if .not.version_ok$ then'$ VMI$CALLBACK MESSAGE E BADVERSION -0 "The version of Rdb is not at minimum required"$ Exit VMI$_FAILUREi$ endifi$!+e$!6$! RDB requires that the TP_server process be running.:$! This can be inhibited if the logical SYS$DECDTM_INHIBIT7$! is defined during startup. We will check to see thats=$! the process is running and issue a warning message if not.-$!$!-r-$ Show System/Output=VMI$KWD:tp_server.searchu$ define sys$output nl:V$ define sys$error nl:6$ Search/Output=nl: VMI$KWD:TP_server.search TP_SERVER!$ tp_server_exists = $status.eq.1e$ deassign sys$error$ deassign sys$output9($ delete/nolog VMI$KWD:tp_server.search;$ if .not.tp_server_exists$ then$ type sys$inputL Rdb requires that the TP_SERVER process be running. It is not currentlyN running on this system. It is sometimes disabled by defining the logical N name SYS$DECDTM_INHIBIT during system startup (e.g. SYLOGICALS.COM). The 4 IVP will not run correctly without this process.N If a journal file does not exist then one may need to be created with the  following command:J $ mcr LMCP create logfile SYS$JOURNAL:SYSTEM$.LM$JOURNALH You can start the TP_SERVER process by deassigning the logical name = SYS$DECDTM_INHIBIT, then executing the following command:c) $ @SYS$STARTUP:DECDTM$STARTUP.COMl$ Exit VMI$_FAILUREH$ endifd$!+s$!,$! Spit out message about remote RDB access$!$!-_$ if .not.Install_Server$ thenA$ VMI$CALLBACK MESSAGE I REMOTE "This is a remote installation""$ type sys$inputO On the remote system containing the MultiHelp database, the following must p exist: o RDB$REMOTE uaf account o RDBSERVER ncp objectM If these do not exist, then execute SYS$STARTUP:RDBSERVER_NCP.COM on the s remote system.D See Rdb/VMS Guide to Using SQL, Appendix A for more information.$ else$!$ type sys$input$! $! TBSe$!3$! This is where I explain the RDB licensing stuff._$!$ endif$!+p$!$! Check for purging and IVP$!$!- $ type sys$inputL This installation contains an installation verification procedure (IVP).J This procedure can be run automatically at the end of the installationN or can be run manually at any time after the installation by entering the  following command:G $ @SYS$TEST:MultiHelp$IVP.COM o$ VMI$CALLBACK SET IVP ASK$!+T$!C$! Find out whether this is a new install or upgrade to an existing $! product.e$!$!-s $ u_or_i:$ type sys$input Is this a=( 1. New Installation of MultiHelp5 2. Upgrade of a previous version of MultiHelp=G 3. Re-Installation of MultiHelp (Previous Database Left Intact)f$$ VMI$CALLBACK ASK which "Which" 1 I)$ If which.lt.1 .OR. which.gt.3 then -( $ GoTo u_or_iP $ new_installation == which.eq.1$ re_installation == which.eq.3 $!+T$!$! Get License Information$!$!-C$ REALLY_HAVE_LICENSE == 1.eq.1s9$ if new_installation .OR. (MultiHelp_version.eqs."X080")U$ then$ type sys$input:sO You may use a subset of the MultiHelp functionality without a license from "M SIO Technologies Corporation. To enable the full MultiHelp feature set, L including:$ o DECwindows Motif interface. o Fully-customizable Xmosaic interface' o Full-function EMAIL interface+ o Ad-hoc report-generator interface*5 o Automatic time/event-driven call escalationf. o Significant performance improvementsK you must purchase a license. If you have a MultiHelp license, you may ]O enter it now. This will enable the full MultiHelp functionality. If not, SM you can add the license at any future time, with the LICENSE ADD command.SK$ VMI$CALLBACK ask HAVE_LICENSE "Do you have your MultiHelp license" NO Bs'$ REALLY_HAVE_LICENSE == HAVE_LICENSEt$ if .not.REALLY_HAVE_LICENSEo$ then$ type sys$inputH To purchase a MultiHelp license, please contact SIO Technologies at K (800)951-3424, or Sales@sio.com. Have ready the following information:"' Target node NI hardware addressf8 [$ mcr NCP show known lines characteristics]) Target node hardware model numbers5 [$ write SYS$OUTPUT f$getsyi("HW_MODEL")]y$ license_site_prefix :== HELP$ else$ blank_line8$ call get_input license_checksum "Checksum" "" SUA$ call get_input license_expiration "Expiration Date" "" SUxH$ call get_input license_concurrent_users "Concurrent Users" "-1" >$ call get_input license_site_prefix "Site Prefix" "" SUF$ call get_input License_hardware_address "CPU Hardware Address" "" SU$ blank_line0$ license_hw_model == F$Getsyi("HW_MODEL")0$! Define/User Sys$Output vmi$kwd:line.tmp%$! MCR NCP show known line char L$! Search/Out=vmi$kwd:ni.tmp vmi$kwd:line.tmp hardware,address/mat=and($! open/read mhk_in vmi$kwd:ni.tmp$! read mhk_in rec$! close mhk_inK$! License_hardware_address == F$edit(f$element(1, "=", rec), "TRIM") $ endifo$ else<$ license_site_prefix == F$Trnlnm("MULTIHELP$SITE_PREFIX")!$ if license_site_prefix.eqs."" $ thenX$ call get_input license_site_prefix "Please enter your MultiHelp ""Site Prefix""" "" SU $ endif$ blank_line$ endif$!+f$!)$! Check for Correct version of MultiHelpn#$! X071 image name is MultiHelp.Exet($! X080 image name is multihelp$main.exe$!$!-a<$ If (F$Search("Sys$System:MultiHelp.Exe") .nes. "") .AND. -? (.NOT.new_installation) .AND. (.NOT.skip_MH_version_check) $ thenJ$ VMI$CALLBACK MESSAGE I CURVERSION "Checking current MultiHelp version"$ Define/User Sys$Error NL:$ Define/User Sys$Output NL:N$ Analyze/Image/Output=VMI$KWD:MultiHelp.anal_image Sys$System:MultiHelp.Exe1$ Search/Output=VMI$KWD:MultiHelp.Image_Ident -L VMI$KWD:MultiHelp.anal_image -o image,file,ident/Match=And 2$ Open/Read mhk_In VMI$KWD:MultiHelp.Image_Ident$ Read mhk_In Record$ Close mhk_InM$ Delete/NoLog VMI$KWD:MultiHelp.Image_Ident;,VMI$KWD:MultiHelp.anal_image;S3$ current_MH_version = F$element(1, """", Record)?$ if (MULTIHELP_upgrade_versions - current_MH_version).eqs. -i MULTIHELP_upgrade_versionsm$ then%$ VMI$CALLBACK MESSAGE E BADVERSION -o: "You cannot upgrade from this version of MultiHelp" - "''current_MH_version'"$ Exit VMI$_FAILUREi $ endif $ endifu$!+n$!5$! If this is an upgrade - inform them to do a backupl$!$!- 9$ If (.NOT.new_installation) .and. (.NOT.re_installation) $ Then$ Type Sys$InputK Before you upgrade MultiHelp to the latest version, you should perform 5 an RMU backup of your database. Use the command:n6 $ rmu/backup/online/log/noquiet MultiHelp$DB -O$ write SYS$OUTPUT " _$ device:[dir]MultiHelp_''current_MH_version'.RBF"c$ type SYS$INPUT:sM You can use a disk device if you have enough space or initialize a tape, s3 mount the tape /FOREIGN and backup to the tape.fC NOTE: The space required by the RMU backup file is much smallero5 th"$MULTIHELP020.A [A]KITINSTAL.COM;1w~m"'an that occupied by the on-line database.s= Refer to the DEC Rdb RMU Reference Manual for assistance.IC$ VMI$CALLBACK ASK backup_done "Have you completed a backup" NO Bq$ blank_line$ If .NOT.backup_done then -$ Exit VMI$_FAILUREi$ EndIfo$!+u$!D$! Do they want the full database allocation or an abbreviated form?$!-s>$ VMI$CALLBACK MESSAGE I DBTYPE "Determining type of database"*$ if install_server .AND. new_installation$ then$ type sys$inputM You have the option of installing an abbreviated version of the database o# if you are short on disk space.nP It is recommended that you install the full version requiring 42,000 blocks N of disk space if you have the space and will probably use that much space.N Else you may install a database with an initial allocation of only 19,000 blocks._L You also have the option of installing a Demo Database which is for the O express purpose of demoing MultiHelp. This requires 19,000 blocks in disk space. Which do you want?3 1. Fully allocated database (42,000 blocks)S/ 2. Abbreviated database (19,000 blocks)i( 3. Demo database (19,000 blocks)&$ VMI$CALLBACK ASK which "Which" 1 I$ small_database = which.eq.2 $ demo_database = which.eq.3$ else$ small_database = 1.eq.2 $ demo_database = 1.eq.2$ endif$$!+A$!<$! Find out where to install the DataBase need a device name$!$!-*$ if install_server .AND. new_installation$ then$ type sys$inputM This procedure requires a device and directory for the database files to d reside.tO When choosing the device, if possible, pick a device which is not a system iF disk and one that does not contain a pagefile or swapfile as well.K This is to reduce the I/O contention for the device that will hold the  database files.n K A top level directory will be created on this device named [MULTIHELP].N$ Get_Device_Loop:Y$ VMI$CALLBACK ASK install_where "Select a device" "''f$trnlnm("MULTIHELP$DEVICE")'" SU -$ if .not.F$GetDVI(install_where, "EXISTS") $ thenD$ VMI$CALLBACK MESSAGE W NOSUCHDEV "No such device ''install_where'"$ goto Get_Device_Loop $ endif :$ install_where == F$GetDVI(install_where, "FULLDEVNAM")7$ free_blocks = F$GetDVI(install_where, "FREEBLOCKS")$ if small_database then -/$ DB_BLOCKS_REQUIRED = SMALL_DB_BLOCKS_REQUIREDl*$ if free_blocks.lt.DB_BLOCKS_REQUIRED - .AND. new_installation -e .AND. .not.skip_db!$ then&$ VMI$CALLBACK MESSAGE W INSUFFSPACE -7 "There is not enough free space on ''install_where'" -RA "This installation requires ''db_blocks_required' free blocks" -A7 "''install_where' only has ''free_blocks' free blocks"m$ goto Get_Device_Loop $ endifl$ else1$ if install_server .AND. .NOT.new_installation-$ then/$ install_where == F$TrnLnm("MULTIHELP$DEVICE")k$ if install_where.eqs.""M$ then)$ VMI$CALLBACK MESSAGE E NOTDEFINED - # "MultiHelp$DEVICE is not defined"A$ Exit VMI$_FAILURE!$ endifr8$ install_where == F$GetDVI(install_where, "FULLDEVNAM") $ endift$ endif $!+a$!?$! If we aren't installing the server then ask where the servers!$! is. We need a node and device. $!$!- $ if .not.install_server$ then$ type sys$inputM You have chosen not to install the Server portion of the product on this O node. This means that the Server portion has been or will be installed on t! another node on your network.eN You must now supply the node name and device name where the database does  (will) reside.: When prompted, please respond in the following format: nodename::device:tA$ call get_input install_where "Select a node and device" "" SU $ endifa$!+ $!6$! Check for conflicts with the MULTIHELP or MH verbs.$!$!-.$ mult_verb_exists = 1.eq.0c+$ copy VMI$KWD:DCL.CLD VMI$KWD:ORIGINAL.CLDu/$ if .not.skip_verb !??? .AND. new_installationc$ then$ type sys$inputG This installation updates DCLTABLES.EXE to add the following verbs:a MULTIHELP MHN OpenVMS requires that all DCL command verbs be unique to within the first O four characters. If you have another verb, such as MULTINET, which shares OH the same first four characters as either MULITHELP or MH, then your J previous verbs will be overwritten, possibly disabling those previous  layered-products. N If you answer yes to the first question, then the MULTIHELP verb will not N be installed. If you answer yes to the second question, then the MH verb  will not be installed.)$ VMI$CALLBACK ASK multihelp_conflict - > "Do you have a verb which would conflict with MULTIHELP" NO B"$ VMI$CALLBACK ASK mh_conflict -7 "Do you have a verb which would conflict with MH" NO B.$ if (multihelp_conflict .and. mh_conflict) $ then$ type SYS$INPUT:B* ** WARNING **@ No DCL verb will be installed for MULTIHELP. Users can A invoke MultiHelp using the MCR foreign command interface:. $ MULTIHELP :== mcr MultiHelp$MAIN0 $ multihelp/user=SYSTEM/pass=MANAGER? SIO Technologies suggests that system managers add the nB first line above to their SYS$MANAGER:SYLOGIN.COM file if B one exists, otherwise, individual MultiHelp users can add C that line to their individual LOGIN.COM files. Any symbol uA will work, there's no need to use the string "MULTIHELP" @ if that will conflict with other products' DCL verbs or  symbols. $ copy NL: VMI$KWD:DCL.CLD$ else $ blank_line $ endifL$ if multihelp_conflictA$ then$ default = f$env("default")$ set default vmi$kwde($ define/user SYS$OUTPUT VMI$KWD:EDT.OUT'$ define/user SYS$ERROR VMI$KWD:EDT.ERRe&$ Edit/Edt/NoCommand/NoJournal DCL.CLD0s/define verb MultiHelp/define verb MH/w /notypeexit$ set default 'default $ endifo$ if mh_conflict$ then$ default = f$env("default")$ set default vmi$kwdt($ define/user SYS$OUTPUT VMI$KWD:EDT.OUT'$ define/user SYS$ERROR VMI$KWD:EDT.ERR &$ Edit/Edt/NoCommand/NoJournal DCL.CLDs/synonym MH//w /notype exit$ set default 'default $ endif $ endift$!+b$!.$! Get UIC of MULTIHELP account to be created.$!$!- $ Get_UAF:$ uaf:==$authorize%$ if F$TrnLnm("SYSUAF").eqs."" then -e%$ define Sysuaf Sys$System:SysUaf.Dat $ set noon$ define/user sys$output nl:$ define/user sys$error nl:s$ uaf show/brief multihelp$ account_found = $statuse$ Error_Handleri$ CTRL_Y_Handler$ if .not.account_found $ thenC$ VMI$CALLBACK MESSAGE I INTERACT "Interactive MultiHelp account"A$ type sys$inputO This installation creates a MultiHelp account for local interactive access YL to MultiHelp for users without accounts on this system. This will be a ; captive account with access only to the MultiHelp verb. K You need to select a unique UIC for this account. This procedure will tM check to see if the chosen UIC is in use and report back who is using it N if it is in use. It will also give you a chance to change your selection  if it is in use.M The account will not have a password, but access to the MultiHelp applic-5 ation is protected via application authorization.c $ Get_UIC:8$ VMI$CALLBACK ASK uic "Enter a valid UIC" "[220,220]"$ uic == uic - "[" - "]"$ uic == "[" + uic + "]"5$ VMI$CALLBACK ASK answer "Is ''uic' correct" YES Ba$ if .not.answer then -r$ goto Get_UIC"$ call check_uic "''uic'" uic_ok$ if .not.uic_ok then -r$ goto Get_UIC$ blank_line$ else$ uic == "[MULTIHELP]"$ endif"$!+DD$! Ask user what the site-specific prefix code is, plus what VMSmail-$! destination accounts he wants implemented.m$!-:4$ open/write mhk_MHmail VMI$KWD:MHmail$SYSTARTUP.COMV$ if f$type(license_site_prefix).eqs."" .AND. f$trnlnm("MultiHelp$SITE_PREFIX").eqs.""$ then$ type sys$inputI Each MultiHelp installation has a unique site prefix assigned by SIO eL Technologies Corp. This site prefix is a string of 1-4 letters, and is I part of your license. All MultiHelp request-for-service-ids will be uL pre-pended with this prefix. Your site prefix code is generated for you M by MultiHelp customer support. If you do not have it now, please contact l* them for your site-prefix and license. $ MHmail0:o$ vmi$callback ask PREFIX "Enter your installation's site prefix code" "''f$trnlnm("MultiHelp$SITE_PREFIX")'"r$ if P C$MULTIHELP020.A [A]KITINSTAL.COM;1w~"8REFIX .eqs. "" then -A$ goto MHmail0C$ else)$ if f$type(license_site_prefix).nes."" $ then$ PREFIX = license_site_prefix$ else,$ PREFIX = F$trnlnm("MultiHelp$Site_Prefix") $ endifm$ endify[$ VMI$CALLBACK MESSAGE I EMAILFORWARDING "Choose forwarding addresses for the EMAIL-Server"a$ type sys$inputP You will now be prompted for unique usernames to be associated with each of P the MultiHelp EMAIL-Server destinations. Each username you specify will be = assigned to a particular EMAIL-Server functionality-base.eP For instance, you may wish to assign the username MULTIHELP to the REQUESTS N functionality-base. This allows your users to send EMAIL directly to the J username MULTIHELP on your system to generate or update a request for L service, or MHSOLUTIONS for the SOLUTIONS functionality-base, permittingO your users to send MAIL directory to MHSOLUTIONS for a KnowledgeBase query.lL For each username you specify, an account will be created in the system G authorization file. This username must be unique on your system. RH Suitable defaults are offered for each choice. Accept the default or& enter a username of your choosing.$ Pcnt=0:$ mail_parsers = "REQUESTS,LOOKUPS,SOLUTIONS,COMMANDS,GUI" $ MHmail1:A$ if f$search("SYS$STARTUP:MHmail$SYSTARTUP.COM") .nes. "" then -o'$ @SYS$STARTUP:MHmail$SYSTARTUP.COMe:$ if f$trnlnm("MultiHelp$MHmail$REQUESTS") .eqs. "" then -0$ define MultiHelp$MHmail$REQUESTS MultiHelp-$ PARSER = F$element(Pcnt, ",", Mail_Parsers)a$ if PARSER .nes. ","e$ then $ MHmail2:;$ parser_default = f$trnlnm("MultiHelp$MHmail$''PARSER'")"#$ if parser_default.eqs."" then - $ parser_default = "MH" + PARSER4$ if F$Edit(parser,"UpCase").eqs."REQUESTS" then -$ parser_default = "MULTIHELP"q$ vmi$callback ask USERNAME "Enter a username which will forward to ''PREFIX'%''PARSER'" "''PARSER_default'" NSs$ if USERNAME .nes. "" then -n[$ write mhk_MHmail "$ Define/System/Executive/NoLog MultiHelp$MHmail$''PARSER' ''USERNAME'"o$ Pcnt = Pcnt + 1 $ goto MHmail1$ endifa$ close mhk_MHmailR$ vmi$callback provide_file MHmail MHmail$SYSTARTUP.COM SYS$COMMON:[SYS$STARTUP] c$!+f$!B$! Ask if SYSMAN is alright for implementing the startup procedure$!$!-s$ type sys$inputM By default this installation inserts the MultiHelp$STARTUP.COM procedure pK into SYSMAN (in the LPBETA phase in SPAWN mode). If you choose not to dI have this done, then you must execute the procedure from your system- L specific startup file SYS$MANAGER:SYSTARTUP_V5.COM or SYSTARTUP_VMS.COM,: depending on your version of OpenVMS with the command:e$ write sys$output " $ @SYS$STARTUP:MultiHelp$STARTUP ''install_where' ''license_site_prefix'"$ type sys$inputN If in a VMScluster environment, make sure that this procedure is executed on all nodes in the cluster.0$ VMI$CALLBACK ASK use_sysman "Use SYSMAN" YES B$!+ $!($! Notify installer of MultiHelp Account$!$!-y$ if new_installations$ then$ type sys$inputH A new installation comes with a MultiHelp privileged account alreadyF registered. Its UserId is "SYSTEM" and its Password is "MANAGER". O It is recommended that immediately following the installation the password cO on this MultiHelp account be changed to prevent unauthorized access to the  application.6 To change the password, use the following command:. $ multihelp/user=SYSTEM/pass=MANAGER -; _$ profile modify user SYSTEM /password=E$ endif $!+.$!)$! Need to get valid userId and Password n$!$!-A$ if .NOT.new_installation$ then$ type sys$inputI This upgrade requires a privileged EXISTING (ADMIN) MultiHelp accountlN UserId and Password. If the account has no password simply press  when prompted.-$ call get_input mh_userid "UserId" "" "SU"S$ if mh_userid.eqs."" then -$ exit vmi$_failure-$ get_password:s3$ VMI$CALLBACK ASK mh_password "Password" "" ENSUM$ if mh_password.nes.""S$ then6$ VMI$CALLBACK ASK mh_password_verify "Verify" "" ENSU'$ if mh_password.nes.mh_password_verifyr$ thenB$ VMI$CALLBACK MESSAGE E NOTVERIFIED "Password does not match"$ goto get_password_$ endif $ endifl$ blank_line$ else$ mh_userid == "SYSTEM"o$ mh_password == "MANAGER"$ endifn$!+L$!*$! All questions answered. Get to the beef$!$!- e$ VMI$CALLBACK MESSAGE I KickBack "All questions have been answered at ''f$extract(12,5,f$time())'" -1 "The installation will now proceed unattended" -,. "Plan for 15 minutes on a VAXstation 3100/30"$!+ $!$! Restore the proper savesets$!L$! A: has already been restored and contains stuff common to both platforms$!X$! B: Contains all the documentation (except for the text version of the release notes)$!8$! C: contains Alpha specific stuff for building images$!6$! D: contains VAX specific stuff for building images$!B$! E: contains example files to be loaded into MultiHelp$Examples$!I$! F: RDB full-size database backup to be restored for new installationse$!B$! G: RDB small (10k blocks) database. On-line only - no archive.$!G$! H: RDB small (10k blocks) demo database. On-line only - no archive.!$!$!-!$ if restore_doc then - $ Call Restore_Documentation $ blank_line$ if is_Alpha then -!$ VMI$CALLBACK RESTORE_SAVESET CI$ if is_VAX then -!$ VMI$CALLBACK RESTORE_SAVESET Do/$ if F$TrnLnm("MH_SKIP_EXAMPLES").eqs."" then -l!$ VMI$CALLBACK RESTORE_SAVESET Et$!+l$!'$! Delete the escalation server process $!$!- ?$ if (license_site_prefix.nes."") .AND. (.not.new_installation)h$ then $ ctx = ""2$ process_name = license_site_prefix + "$ESCAL*"C$ temp = F$context("PROCESS", ctx, "PRCNAM", process_name, "EQL")E$ pid = F$PID(ctx)$ if pid.nes.""w$ then#$! prcnam = F$GetJPI(pid, "PRCNAM")e8$! say "Stopping Escalation server...''prcnam' (''pid')"$ Stop/Id='pid'o $ endif $ endif $!+w$!$! Make a copy of DCLTABLESo$!$!-y$ type sys$inputG A copy of SYS$COMMON:[SYSLIB]DCLTABLES.EXE will be made before any AI modifications are made to it. The copy will have the following file L specification:2 SYS$COMMON:[SYSLIB]DCLTABLES.EXE_BEFORE_MHJ You may delete this file after you are sure that no problems occurred  during the installation.M If problems did occur and you need to retain your old DCLTABLES all that lO is necessary is to rename it back to DCLTABLES.EXE and issue the following f command:1 $ install replace SYS$SHARE:DCLTABLES.EXEHX$ Copy/NoLog Sys$Common:[SysLib]DCLTables.Exe Sys$Common:[SysLib]DCLTables.Exe_Before_MH$!+h$!"$! Create Sys$Examples:[MultiHelp]$!$!-a($ VMI$CALLBACK MESSAGE I EXAMPLE_DIR -M "This procedure creates directory SYS$COMMON:[SYSHLP.EXAMPLES.MultiHelp]" K$ Create/Directory/Protection=w:re Sys$Common:[SysHLP.Examples.MultiHelp]w$!+t$! $! Define all necessary logicals$!$!-#$ dl:=Define/System/Executive/NoLogh'$ dl MultiHelp$Device 'install_where'l/$ dl MultiHelp$Dir 'install_where'[MultiHelp]2$ dl MultiHelp$DB$Dir 'install_where'[MultiHelp]?$ dl MultiHelp$Archive_ProblemDB$Dir 'install_where'[MultiHelp]@$ dl MultiHelp$Archive_SolutionDB$Dir 'install_where'[MultiHelp]8$ dl MultiHelp$ProblemDB$Dir 'install_where'[MultiHelp]9$ dl MultiHelp$SolutionDB$Dir 'install_where'[MultiHelp]e;$ dl MultiHelp$DB 'install_where'[MultiHelp]MultiHelp.RDBJ$ dl MultiHelp$Archive$DB 'install_where'[MultiHelp]MultiHelp_Archive.RDB$!+I$!.$! Now we need to build the database - or not.$!$!-t$ SQL := $SQL$E$ if (.NOT.re_installation) .AND. (.NOT.skip_db) .AND. install_servert$ then4$!************ New Installation ********************$ if new_installation$ thene7$ VMI$CALLBACK MESSAGE I BUILDDB "Building database" "$e$!+$!7$! Create the MultiHelp directory on the specified disku$!$!-u*$ if Install_Server .AND. new_installation$ then%$!$ VMI$CALLBACK MESSAGE I CREDIR -u3$! "Creating directory ''install_where'[MultiHelp]"oC$ VMI$CALLBACK CREATE_DIRECTORY USER 'install_where'[MultiHelp] -M "/Owner=''uic'/Prot=W:re"$ endift$$ if small_databaser$ then $ VMI$CALLBACK RESTORE_SAVESET GE$ RMU/Restore/New/NoCDD/Directory=MultiHelp$Dir: VMI$KWD:MH_small.RBFm$ else$ if demo_database$ thenW$ VMI$CALLBACK RESTORE_SAVESET G !!!TBS: Someday we'll actually ship a real onesP$ RMU/Restore/New/NoCDD/Directory=MultiHelp$Dir: VMI!g $MULTIHELP020.A [A]KITINSTAL.COM;1w~x I$KWD:MH_small.RBF !!!TBS$ else$$ VMI$CALLBACK RESTORE_SAVESET FI$ RMU/Restore/New/NoCDD/Directory=MultiHelp$Dir: VMI$KWD:MH_large.RBF $ endif.$ endif !if small_database<$ VMI$CALLBACK MESSAGE I DBBUILT "Database build complete"6$!************ End New Installation ******************6$!************ Upgrade MultiHelp ******************$ else $ if db_restructure_required$ then=$ VMI$CALLBACK MESSAGE I RESTRUCTDB "Restructuring database" $ type sys$inputB If for any reason the installation fails during or after this D "restructuring", you will need to restore the MultiHelp databaseA from the RMU Backup you made before reexecuting this upgrade f procedure.. To do a restore use the following command:2 $ rmu/restore/new/nocdd MultiHelp_X080.RBF5 Refer the the release notes for more information.)%$ save_dir = F$Environment("DEFAULT")E$ Set Default MultiHelp$Dire"$ Define Sql$Database MultiHelp$DBC$ VMI$CALLBACK MESSAGE I DBUPGRADE "Upgrading DB from V010 to G020"s$ SQL @vmi$kwd:UPGRADE.SQL$ Set Default 'save_dir'@$ VMI$CALLBACK MESSAGE I DBBUILT "Database restructure complete"%$ endif !if db_restructure_requiredh7$!************ End Upgrade MultiHelp ****************** $ endif !if new_installation.$ elseB$ VMI$CALLBACK MESSAGE I NODBBUILD "No database upgrade required"$ endif !if .not.skip_db$! Archive database backup fileE $ VMI$CALLBACK RESTORE_SAVESET HE$ VMI$CALLBACK PROVIDE_FILE ARCHIVE_RBF MH_ARCHIVE.RBF MultiHelp$Dir:"W$ if .not. demo_database .and. .not. small_database .and. (.NOT.re_installation) then -H$ RMU/Restore/New/NoCDD/Directory=MultiHelp$Dir: VMI$KWD:MH_ARCHIVE.RBF$!+r$!$! Link images$!$!- $ blank_line=$ VMI$CALLBACK MESSAGE I LINKING "Linking MultiHelp images" - "Ignore any DATMISMCH messages"$ Link := Link/TraceBack7$ if f$trnlnm("MultiHelp$verify_links") .nes. "" then -$ VERIFY_LINKS = f$verify(1) $ Set NoOn$ define MMS$REF VMI$KWD:f$!+l$! $! Setup the Option Files to use$!$!- $ if is_Alphaa$ then4$ MAIN_options := VMI$KWD:MultiHelp$MAIN_alpha.opt4$ DWUI_options := VMI$KWD:MultiHelp$DWUI_alpha.opti$ share_options := VMI$KWD:MultiHelp$SHARE_alpha.OPT/options,VMI$KWD:MultiHelp$SHARE_vector.OPT/optionsu@$ RPCSRV_options := VMI$KWD:MultiHelp$RPCSRV_alpha.OPT/optionsk$ RPCSHR_options := VMI$KWD:MultiHelp$RPCSHR_alpha.OPT/options,VMI$KWD:MultiHelp$SHARE_vector.OPT/optionseh$ sharep_options := VMI$KWD:MH_PROTECTED_alpha.OPT/options,VMI$KWD:MultiHelp$SHAREP_vector.OPT/optionso$ MTP_options := VMI$KWD:MULTIHELP$MultiHelp_alpha.OPT/options,VMI$KWD:MultiHelp$MULTIHELP_vector.OPT/optionshI$ mail_options := VMI$KWD:MultiHelp$MAIL_INSTRUCTIONS_alpha.OPT/optionsrK$ PHONE_options := VMI$KWD:MultiHelp$PHONE_INSTRUCTIONS_alpha.OPT/optionsSG$ FAX_options := VMI$KWD:MultiHelp$FAX_INSTRUCTIONS_alpha.OPT/optionsmK$ PAGER_options := VMI$KWD:MultiHelp$PAGER_INSTRUCTIONS_alpha.OPT/options-M$ XPOPUP_options := VMI$KWD:MultiHelp$XPOPUP_INSTRUCTIONOS_alpha.OPT/options"O$ GENERIC_options := VMI$KWD:MultiHelp$GENERIC_INSTRUCTIONS_alpha.OPT/optionsu5$ escalation_options := escalation_server_alpha.optr7$ httpd_options := VMI$KWD:multihelp$httpd.opt/optionS%$ option_file := helpmate_alpha.opt"$ if is_Motif12 $ then#$ motif_option := Alpha_Motif12.opta$ else#$ motif_option := Alpha_Motif11.optd $ endifX$ else !is_Vax2$ MAIN_options := VMI$KWD:MultiHelp$MAIN_vax.opt2$ DWUI_options := VMI$KWD:MultiHelp$DWUI_vax.opt<$ share_options := VMI$KWD:MultiHelp$SHARE_vax.opt/options>$ RPCSRV_options := VMI$KWD:MultiHelp$RPCSRV_vax.OPT/options>$ RPCSHR_options := VMI$KWD:MultiHelp$RPCSHR_vax.OPT/options:$ sharep_options := VMI$KWD:MH_PROTECTED_vax.OPT/options>$ MTP_options := VMI$KWD:MultiHelp$MULTIHELP_vax.OPT/optionsG$ mail_options := VMI$KWD:MultiHelp$MAIL_INSTRUCTIONS_vax.OPT/optionsI$ PHONE_options := VMI$KWD:MultiHelp$PHONE_INSTRUCTIONS_vax.OPT/optionsdE$ FAX_options := VMI$KWD:MultiHelp$FAX_INSTRUCTIONS_vax.OPT/optionstI$ PAGER_options := VMI$KWD:MultiHelp$PAGER_INSTRUCTIONS_vax.OPT/optionsMK$ XPOPUP_options := VMI$KWD:MultiHelp$XPOPUP_INSTRUCTIONS_vax.OPT/options M$ GENERIC_options := VMI$KWD:MultiHelp$GENERIC_INSTRUCTIONS_vax.OPT/options_3$ escalation_options := escalation_server_vax.optu^$ httpd_options := VMI$KWD:multihelp$httpd.opt/option,VMI$KWD:multihelp$httpd_ucx.opt/option#$ option_file := helpmate_vax.optS$ if is_Motif12$ then!$ motif_option := Vax_Motif12.opt$ else!$ motif_option := Vax_Motif11.opt $ endifp$ endif $!3$! Determine where to find the SQL$USER.OLB libraryu$!"$ if f$trnlnm("SQL$USER") .eqs. ""$ then'$ LASTLIB := SYS$SHARE:SQL$USER.OLB $LIBLOOP:e7$ NEXTLIB = f$search("Sys$Share:SQL$user*.OLB;",42) $ if NEXTLIB .nes. ""t $ then$ LASTLIB = NEXTLIBh$ goto LIBLOOP $ endifo$ define SQL$USER 'LASTLIB$ endif $!$! MULTIHELP$SHAREP image $!>$ Link/NoSysShr/Share=VMI$KWD:MULTIHELP$SHAREP.Exe/Protected - 'sharep_options', -l) VMI$KWD:MultiHelp_Version.Opt/optionsv$!$! MULTIHELP$SHARE image$!*$ Link/Share=VMI$KWD:MULTIHELP$SHARE.Exe - 'share_options', -2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/options $!$! MULTIHELP$RPCSRV images$!+$ Link/Share=VMI$KWD:MULTIHELP$RPCSRV.Exe -a 'RPCSRV_options', -s2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -2 VMI$KWD:MultiHelp_Version.Opt/options /NODEBUG$!$! MULTIHELP$RPCSHR image"$!+$ Link/Share=VMI$KWD:MULTIHELP$RPCSHR.Exe -M 'RPCSHR_options', -d2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/optionsM$!$! MULTIHELP$MULTIHELP image$!.$ Link/Share=VMI$KWD:MULTIHELP$MULTIHELP.Exe - 'MTP_options', -( VMI$KWD:NO_DECW$MOTIF.OPT/options, -) VMI$KWD:MultiHelp_Version.Opt/options$!($! MultiHelp$MAIL_INSTRUCTIONS.EXE image$!?$ Link/NoSysShr/Share=VMI$KWD:MultiHelp$MAIL_INSTRUCTIONS.EXE -n 'mail_options', -t2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/options $!)$! MultiHelp$PHONE_INSTRUCTIONS.EXE imaget$!@$ Link/NoSysShr/Share=VMI$KWD:MultiHelp$PHONE_INSTRUCTIONS.EXE - 'PHONE_options', -2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/optionso$!'$! MultiHelp$FAX_INSTRUCTIONS.EXE imagef$!>$ Link/NoSysShr/Share=VMI$KWD:MultiHelp$FAX_INSTRUCTIONS.EXE - 'FAX_options', -2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/optionss$!)$! MultiHelp$PAGER_INSTRUCTIONS.EXE image$!@$ Link/NoSysShr/Share=VMI$KWD:MultiHelp$PAGER_INSTRUCTIONS.EXE - 'PAGER_options', -2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/optionsC$!*$! MultiHelp$XPOPUP_INSTRUCTIONS.EXE image$!A$ Link/NoSysShr/Share=VMI$KWD:MultiHelp$XPOPUP_INSTRUCTIONS.EXE - 'XPOPUP_options', -A2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/options$!+$! MultiHelp$GENERIC_INSTRUCTIONS.EXE image $!B$ Link/NoSysShr/Share=VMI$KWD:MultiHelp$GENERIC_INSTRUCTIONS.EXE - 'GENERIC_options', -2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/optionsN$!3$! MultiHelp$MESSAGES.EXE Shareable message sectionp$!6$ Link/NoSysShr/Share=VMI$KWD:MultiHelp$MESSAGES.EXE -6 VMI$KWD:SQL$MultiHelp.OLB/include=MultiHelp_MSG, -- VMI$KWD:MultiHelp$Messages.Opt/options, -) VMI$KWD:MultiHelp_Version.Opt/options$!$! MultiHelp CLI Image$!'$ Link/Exe=VMI$KWD:MultiHelp$Main.Exe -e 'MAIN_options'/options, -a. VMI$KWD:MultiHelp$MULTIHELP.OPT/options, -$ VMI$KWD:'option_file'/options, -( VMI$KWD:NO_DECW$MOTIF.OPT/options, -2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/optionsi$!$! Escalation Server Image$!.$ Link/Exe=VMI$KWD:MultiHelp$Escalations.Exe -+ VMI$KWD:'escalation_options'/options, -n. VMI$KWD:MultiHelp$MULTIHELP.OPT/options, -( VMI$KWD:NO_DECW$MOTIF.OPT/options, -2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/optionsy$!$! HTTPD Image$!($ if f$trnlnm("UCX$IPC") .eqs. "" then -+$ define/user UCX$IPC SYS$SHARE:UCX$IPCI($ Link/Exe=VMI$KWD:MultiHelp$HTTPD.Exe - 'httpd_options'/options, -. VMI$KWD:MultiHelp$MULTIHELP.OPT/options, -( VMI$KWD:NO_DECW$MOTIF.OPT/options, -2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiH">'P$MULTIHELP020.A [A]KITINSTAL.COM;1w~t"Zelp_Version.Opt/optionso$!$! DECWindows MultiHelp Imagea$!$ if Motif_Present$ Then ')$ Link/Exe=VMI$KWD:MultiHelp$Dwui.Exe -D 'DWUI_options'/options, -l. VMI$KWD:MultiHelp$MULTIHELP.OPT/options, -) VMI$KWD:Decw$MultiHelp.OLB/Library, -e$ VMI$KWD:'option_file'/options, -% VMI$KWD:'motif_option'/options, -s2 VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -) VMI$KWD:MultiHelp_Version.Opt/optionse$!8$! We attempt to build the UID by compiling it, but they2$! may not have the programming support installed.0$! Check to make sure. Not sure what else to do.$!6$ if F$Search("Sys$System:Decw$UILMotif.Exe").nes.""$ thenH$ UIL/Motif/Output=VMI$KWD:MultiHelp$Dwui.UID VMI$KWD:MultiHelp$Main.UIL$ if .not.$status*$ thenQ$ VMI$CALLBACK MESSAGE W UIL2UID "Error building UID from source, continuing"i$ endifs$ else%$ VMI$CALLBACK MESSAGE W NOPROGSUPP -tD "DECwindows programming support is not installed on this system" -G "UID file cannot be built - contact customer support, continuing ..."d $ endifi$ endif !if Motif_Present$!-$! Now let's build all of the MHmail$* imagesr$!k$ vax_options = "mh_mailshr_vax,MHmail$Requests_vax,MHmail$GUI_vax,MHmail$Lookups_vax,MHmail$Solutions_vax"Ow$ alpha_options = "mh_mailshr_alpha,MHmail$Requests_alpha,MHmail$GUI_alpha,MHmail$Lookups_alpha,MHmail$Solutions_alpha"n\$ mail_images = "MHmail$Commands,MHmail$Requests,MHmail$GUI,MHmail$Lookups,MHmail$Solutions"$ cnt=0e $ miloop1:&$ image=f$ele(cnt, ",", mail_images)$ if image.eqs."," then - $ goto miloop1_exitE$ if is_Alpha $ then'$ option=f$ele(cnt, ",", alpha_options)K$ else%$ option=f$ele(cnt, ",", vax_options)a $ endif 5$ if f$edit(image,"upcase") .eqs. "MHMAIL$REQUESTS""$ then/$ Link/NoSysShr/Share=VMI$KWD:'image'.Exe -!, VMI$KWD:multihelp.olb/include=MH_mailshr, - VMI$KWD:'option'.Opt/Options, -/ VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -I& VMI$KWD:MultiHelp_Version.Opt/Options$ else/$ Link/NoSysShr/Share=VMI$KWD:'image'.Exe -f VMI$KWD:'option'.Opt/Options, -/ VMI$KWD:MultiHelp.OLB/include=MULTIHELP_MSG, -H& VMI$KWD:MultiHelp_Version.Opt/Options $ endifr$ cnt = cnt + 1u$ goto miloop1$ miloop1_exit:d$!!$! MULTIHELP$TABLES.Exe DCL table$!Q$ Link/NoTrace/Share=VMI$KWD:Empty.Exe VMI$KWD:multihelp.olb/include=HM_TABLES, - ) VMI$KWD:MultiHelp_Version.Opt/optionsvK$ Set Command/Table=VMI$KWD:Empty.Exe/Output=VMI$KWD:MULTIHELP$TABLES.Exe -t, VMI$KWD:ORIGINAL.CLD, VMI$KWD:MH_Filler.CLD$!$$! QLog.Exe - Service Request Logger$!$! if Motif_Present $! thens $! Link/Exe=VMI$KWD:Qlog.Exe -($! VMI$KWD:multihelp.olb/include=Qlog, -#$! VMI$KWD:'option_file'/options, -h$$! VMI$KWD:'motif_option'/options, -($! VMI$KWD:MultiHelp_Version.Opt/options7$! UIL/Motif/Output=VMI$KWD:QLog.UID VMI$KWD:QLog.UILN$! endif$!$!$!$ deassign MMS$REF$ set on7$ if f$trnlnm("MultiHelp$verify_links") .nes. "" then -O'$ VERIFY_LINKS = f$verify(VERIFY_LINKS) $ Error_HandlerC$ CTRL_Y_Handler0$ VMI$CALLBACK MESSAGE I LINKING "Link complete"$!+b$!$! Build the HTML directory.$!$!- $ blank_line5$ VMI$CALLBACK MESSAGE I HTML "Creating MHML library"FF$ VMI$CALLBACK CREATE_DIRECTORY USER 'install_where'[MultiHelp.MHML] - "/Owner=''uic'/Prot=W:re" $ VMI$CALLBACK RESTORE_SAVESET I$$ open/read IN VMI$KWD:MHML.CONTENTS $I_SAVESET:n$ read/end=I_SAVESET1 IN RECORDsH$ VMI$CALLBACK PROVIDE_FILE HTML 'RECORD 'install_where'[MultiHelp.MHML]$ goto I_SAVESET $I_SAVESET1: $ close IN$!+u$!$$! Build the MultiHelp Help LibrarysG$! We build it on the target system instead of shipping the HLB library$=$! because of possible problem with architecture differences.iE$! Also here, we need to start merging instead of providing a new oneu $! each time.t$!$!-M $ blank_line9$ VMI$CALLBACK MESSAGE I HELPLIB "Providing on-line help"uF$ help_library_exists = F$Search("Sys$Help:MultiHelp$Main.HLB").nes.""$ help_library_exists = 1.eq.2$ if help_library_exists$ then!$ VMI$CALLBACK UPDATE_LIBRARY -T MH_HELP_LIBRARY - Sys$Help:MultiHelp$Main.HLB - HELP -a "/Replace" -I VMI$KWD:MultiHelp.HLP!$ VMI$CALLBACK UPDATE_LIBRARY -o MH_DECWHELP_LIBRARY - Sys$Help:MultiHelp$Dwui.HLB - HELP - "/Replace" -= VMI$KWD:Decw$MultiHelp.HLPR$ elseO$ Library/Create=Key=30/Help VMI$KWD:MultiHelp$Main.HLB VMI$KWD:MultiHelp.HLPPT$ Library/Create=Key=50/Help VMI$KWD:MultiHelp$Dwui.HLB VMI$KWD:Decw$MultiHelp.HLP$ endifP8$ VMI$CALLBACK MESSAGE I HELPLIB "On-line help provided"$!+/$!I$! Remove the MHT_mailshr.exe installed during X6.0 but no longer needed.P$!$!-u1$ If F$Search("Sys$Share:MHT_Mailshr.Exe").nes."".$ then,$ Delete/NoLog Sys$Share:MHT_Mailshr.Exe;*$ endif$!+p$!$! Provide all files $! o images$! o dcltables $! o help files$! o X resource filea$! o QLog sources (.c & .uil)$!$!-1$ type sys$inputE This installation places a DCL procedure in SYS$UPDATE: that will > De-Install MultiHelp - SYS$UPDATE:MultiHelp$DEINSTALL.COM.$! $! .EXE'si$!($ Set File/Protection=W:RE VMI$KWD:*.EXEL$ VMI$CALLBACK PROVIDE_IMAGE CC_IMAGE MultiHelp$Main.EXE SYS$COMMON:[SYSEXE]T$ VMI$CALLBACK PROVIDE_IMAGE ESC_IMAGE MultiHelp$Escalations.EXE SYS$COMMON:[SYSEXE]$ if Motif_Present then -IN$ VMI$CALLBACK PROVIDE_IMAGE DECW_IMAGE MultiHelp$Dwui.EXE SYS$COMMON:[SYSEXE]?$! VMI$CALLBACK PROVIDE_IMAGE QLog QLog.EXE SYS$COMMON:[SYSEXE]ML$ VMI$CALLBACK PROVIDE_IMAGE TABLES MULTIHELP$TABLES.EXE SYS$COMMON:[SYSLIB]L$ VMI$CALLBACK PROVIDE_IMAGE PROTCT MULTIHELP$SHAREP.EXE SYS$COMMON:[SYSLIB]L$ VMI$CALLBACK PROVIDE_IMAGE MTP MULTIHELP$MULTIHELP.EXE SYS$COMMON:[SYSLIB]M$ VMI$CALLBACK PROVIDE_IMAGE MHSHARE MULTIHELP$RPCSHR.EXE SYS$COMMON:[SYSLIB]GP$ VMI$CALLBACK PROVIDE_IMAGE MHSHARE MULTIHELP$RPCSRV.EXE SYS$COMMON:[SYSEXE]L$ VMI$CALLBACK PROVIDE_IMAGE MHSHARE MULTIHELP$SHARE.EXE SYS$COMMON:[SYSLIB]Y$ VMI$CALLBACK PROVIDE_IMAGE INSTRUCT MULTIHELP$FAX_INSTRUCTIONS.EXE SYS$COMMON:[SYSLIB]hZ$ VMI$CALLBACK PROVIDE_IMAGE INSTRUCT MULTIHELP$MAIL_INSTRUCTIONS.EXE SYS$COMMON:[SYSLIB]Z$ VMI$CALLBACK PROVIDE_IMAGE INSTRUCT MULTIHELP$PHONE_INSTRUCTIONS.EXE SYS$COMMON:[SYSLIB]Z$ VMI$CALLBACK PROVIDE_IMAGE INSTRUCT MULTIHELP$PAGER_INSTRUCTIONS.EXE SYS$COMMON:[SYSLIB][$ VMI$CALLBACK PROVIDE_IMAGE INSTRUCT MULTIHELP$XPOPUP_INSTRUCTIONS.EXE SYS$COMMON:[SYSLIB] \$ VMI$CALLBACK PROVIDE_IMAGE INSTRUCT MULTIHELP$GENERIC_INSTRUCTIONS.EXE SYS$COMMON:[SYSLIB]L$ VMI$CALLBACK PROVIDE_IMAGE MSGS MULTIHELP$MESSAGES.EXE SYS$COMMON:[SYSMSG]$!*$! Provide the Mail Images : MHMAIL$*.EXE$!$ image_loop_1:W3$ image_file = f$search("Vmi$Kwd:MHmail$*.Exe;0")A$ if image_file.eqs."" then -D$ goto exit_image_loop_16$ image_file = F$parse(image_file,,,"name") + ".Exe"F$ VMI$CALLBACK Provide_Image MailImg 'image_file Sys$Common:[SysLib]$ goto image_loop_1!$ exit_image_loop_1:$! $! .HLB'sR$!($ VMI$CALLBACK PROVIDE_DCL_HELP DCL.HLP$ If .NOT.help_library_existsL$ Then<$ VMI$CALLBACK PROVIDE_FILE HELP_LIBR MultiHelp$Main.HLB - SYS$COMMON:[SYSHLP] K<$ VMI$CALLBACK PROVIDE_FILE HELP_LIBR MultiHelp$Dwui.HLB - SYS$COMMON:[SYSHLP] K$ EndIfn$!$! UID's$!>$ If F$Search("Sys$System:Decw$MultiHelp.UID;*").nes."" then -.$ Delete/NoLog Sys$System:Decw$MultiHelp.UID;*$ if Motif_Present then - Y$ VMI$CALLBACK PROVIDE_FILE UID_FILE MultiHelp$Dwui.UID Sys$Common:[Decw$Defaults.User] CpM$ VMI$CALLBACK PROVIDE_FILE UIL_FILE MultiHelp$Main.UIL Sys$Common:[SysHLP] ChS$! VMI$CALLBACK PROVIDE_FILE UID_FILE QLog.UID Sys$Common:[Decw$Defaults.User] Cu$!$! Misc.$!$ If Install_Server Then -M$ VMI$CALLBACK PROVIDE_FILE loginFile MULTIHELP$CAPTIVE.Com MultiHelp$Dir:gO$ If F$Search("Sys$Common:[Decw$Defaults.System]MultiHelp.Dat;*").nes."" then -OB$ Delete/NoLog Sys$Common:[Decw$Defaults.System]MultiHelp.Dat;*U$ VMI$CALLBACK PROVIDE_FILE Xresource MultiHelp.Dat Sys$Common:[Decw$Defaults.User] CfR$! VMI$CALLBACK PROVIDE_FILE QXresource QLog.Dat Sys$Common:[Decw$Defaults.User] CM$ VMI$CALLBACK PROVIDE_FILE IVP_PROC MULTIHELP$IVP.COM SYS$COMMON:[SYSTEST] ClT$ VMI$CALLBACK PROVIDE_FILE STARTUP MULTIHELP$STARTUP.COM SYS$COMMON:[SYS$STARTUP] CQ$ VMI$CALLBACK PROVIDE_FILE DEINSTALL MULTIHELP$DEINSTALL.COM SYS$COMMON:[SYSUPD] \$ VMI$CALLBACK PROVIDE_FILE TEMPLATE MULTIHELP$SYSTARTUP.TEMPLATE SYS$COMMON:[SYS$STARTUP] CD$ if f$search("SYS$STARTUP:MULTIHELP$SYSTARTUP.COM") .eqs. "" then -X$ VMI$CALLBACK PROVIDE_FILE SYSTARTUP MULTIHELP$SYSTARTUP.COM SYS$COMMON:[SYS$STARTUP] CW$ VMI$CALLBACK PROVIDE_FILE BACKUP_FILE MULT#ZX$MULTIHELP020.A [A]KITINSTAL.COM;1w~A"kIHELP$BACKUP.COM SYS$COMMON:[SYS$STARTUP] Cl[$ VMI$CALLBACK PROVIDE_FILE SUBMITTER MULTIHELP$HTTPD_SUBMIT.COM SYS$COMMON:[SYS$STARTUP] CNZ$ VMI$CALLBACK PROVIDE_FILE DETACHER MULTIHELP$HTTPD_DETACH.COM SYS$COMMON:[SYS$STARTUP] CU$ VMI$CALLBACK PROVIDE_FILE RUNNER MULTIHELP$HTTPD_RUN.COM SYS$COMMON:[SYS$STARTUP] C <$ if f$search("VMI$KWD:MultiHelp$HTTPD.EXE") .nes. "" then -O$ VMI$CALLBACK PROVIDE_IMAGE HTTP_IMAGE MultiHelp$HTTPD.EXE SYS$COMMON:[SYSEXE]W$!+t$!$! Provide all example files$!$!-:K$ Open/Read/Error=End_Example_Loop mhk_examples_lis VMI$KWD:MH_Examples.LisIQ$ VMI$CALLBACK MESSAGE I EXAMPLES "Providing example files to MultiHelp$EXAMPLES"U$ Example_Loop:nL$ Read/End=End_Example_Loop/Error=End_Example_Loop mhk_examples_lis recordB$ filename = F$Parse(record,,,"name") + F$Parse(record,,,"type")]$ VMI$CALLBACK PROVIDE_FILE example_file 'filename' Sys$SysRoot:[SysHLP.Examples.MultiHelp]i$ GoTo Example_Loop$ End_Example_Loop:o$ close mhk_examples_lis$!+$$!$! Create the MultiHelp account-$!$!-$$ if .not.account_foundi$ then+$ VMI$CALLBACK CREATE_ACCOUNT MultiHelp -SB "/UIC=''uic'/DEV=MultiHelp$Device/DIR=[MultiHelp]/FLAG=NoDisuser"$ endiff$ UAF_Quals1 = -M "/PWDMIN=0/DEFPRIV=(NOALL,TMP,NET)/PRIV=(NOALL,TMP,NET)/BYTlm=500000" + -IJ "/CliTables=Sys$Share:DCLTables/ASTlm=1000/TQElm=1000/ENQlm=10000" + -M "/WSext=24576/BIOlm=150/DIOlm=150/Pgflquo=81920/Owner=""MultiHelp User"""M$ UAF_Quals2 = -I "/NOPASS/LGICMD=MULTIHELP$CAPTIVE.Com/Access=(Primary,Secondary)" + -H "/Flag=(Captive,DisCtlY,DisNewMail,NoDisUser,DisWelcome,Restricted)"7$ VMI$CALLBACK UPDATE_ACCOUNT MultiHelp "''uaf_quals1'"t7$ VMI$CALLBACK UPDATE_ACCOUNT MultiHelp "''uaf_quals2'"H$!WE CANNOT ADD A MAIL$SERVER ACCOUNT IF THE SYSTEM MANAGER SPECIFICALLYP$!DOESN'T WANT IT. THAT'S THE ONLY REASON A MAIL$SERVER ACCONT MIGHT NOT EXIST.$!$!+L$!$!<$!$! Check to make sure that the MAIL$SERVER account exists.>$!$! MultiHelp mail access will not work without this account.$$!$! Create it if it does not exist.E$!$! Modify the Mail$Server account quotas, so they will work for RDBs$!$!$!$!-U$!$ blank_line&$!$ VMI$CALLBACK MESSAGE I CHECKMAIL -5$! "Checking for existance of MAIL$SERVER account".'$!$ if F$TrnLnm("SYSUAF").eqs."" then -M'$!$ define Sysuaf Sys$System:SysUaf.Dat $!$ set noon$!$ define/user sys$output nl:$!$ define/user sys$error nl: $!$ uaf show/brief Mail$Server $!$ mail_account_found = $status$!$ Error_Handler $!$ CTRL_Y_Handler$!$ if .not.mail_account_found$!$ thenO$!$ VMI$CALLBACK MESSAGE W NOMAILACCOUNT "No MAIL$SERVER account was found" -*B$! "A MAIL$SERVER account must exist to use mail with MultiHelp" -+$! "this procedure will create the account"o$!$ RUN SYS$SYSTEM:NCPH$! DEFINE OBJECT MAIL NUMBER 27 USER MAIL$SERVER PASSWORD mh_abohasdkjE$! SET OBJECT MAIL NUMBER 27 USER MAIL$SERVER PASSWORD mh_abohasdkj$$!$ RUN SYS$SYSTEM:AUTHORIZE6$! ADD MAIL$SERVER /OWNER="MAIL$SERVER DEFAULT" -"$! /PASSWORD=mh_abohasdkj -*$! /UIC=[376,374] /ACCOUNT=DECNET -:$! /DEVICE=SYS$SPECIFIC: /DIRECTORY=[MAIL$SERVER] -&$! /PRIVILEGE=(TMPMBX,NETMBX) -)$! /DEFPRIVILEGE=(TMPMBX,NETMBX) -i?$! /FLAGS=(NOCAPTIVE,RESTRICTED,NODISUSER) /LGICMD=NL: -N!$! /NOBATCH /NOINTERACTIVE!1$! MODIFY MAIL$SERVER /PASSWORD=mh_abohasdkjIB$!$ CREATE/DIRECTORY SYS$SPECIFIC:[MAIL$SERVER] /OWNER=[376,374] $!$ endif'$!$ VMI$CALLBACK MESSAGE I MAILQUOTAS - 4$! "Setting proper quotas on MAIL$SERVER account"-$!$ VMI$CALLBACK UPDATE_ACCOUNT Mail$Server -MA$! "/Pgflq=75000/ENQlm=5000/TQElm=500/ASTlm=5000/Bytlm=100000"O$!+t$!0$! The last thing we do is install the DCL verb.=$! We do this incase there is an error we don't want the verb $! installed$!$!-I*$ VMI$CALLBACK PROVIDE_DCL_COMMAND DCL.CLD$!+A$!A$! Exit from the installation part of this procedure with successl$!$!-:$ Exit VMI$_SUCCESSK$!+LC$!=================================================================!$!$! Execute the IVPe$!C$!=================================================================l$!-e $ DO_IVP:K%$ if license_site_prefix .eqs. "FREE"I$ then$ type SYS$INPUT:M Without a MultiHelp license, much of the functionality tested by the IVP !N will fail. Once you have purchased a license, and registered it with the 8 LICENSE ADD command, you may re-run the IVP by hand.$ endifn$ @VMI$KWD:MULTIHELP$IVP.COM -< "''MH_USERID'" "''MH_PASSWORD'" "''license_site_prefix'"C$ if (.not.$Status) .and. (license_site_prefix .nes. "FREE") then -t$ Exit VMI$_FAILURE!$ Exit VMI$_SUCCESS$!+$C$!=================================================================T$!!$! Do the Post-Installation Worke$!C$!=================================================================$!-n$ DO_POST_INSTALLATION:T $ blank_lineI$ VMI$CALLBACK MESSAGE I POSTINSTALL "Performing post-installation tasks"E$!+'$!$! Replace DCLTables.Exe$!$!-IJ$ VMI$CALLBACK MESSAGE I INSTALL "Installing new version of DCLTABLES.EXE")$ Install Replace Sys$Share:DCLTABLES.Exe $!+a$!G$! Need to add the startup procedure to SYSMAN if the user selected it.u$!$!-e$ if use_sysmane$ then$$ VMI$CALLBACK MESSAGE I STARTUP -6 "This procedure adds MultiHelp$STARTUP.COM to SYSMAN"C$ VMI$CALLBACK MESSAGE I IGNORE "Ignore any STRTUPNOREM messages"b?$ VMI$CALLBACK MODIFY_STARTUP_DB REMOVE MULTIHELP$STARTUP.COMe>$ VMI$CALLBACK MODIFY_STARTUP_DB ADD MULTIHELP$STARTUP.COM -; LPBETA SPAWN (P1:'install_where',P2:'license_site_prefix')l$ endifl$!+n$!$! Set protection on db filesV$!$!-lB$ VMI$CALLBACK MESSAGE I SETPROT "Setting protections on DB files" $ Set NooN%$ Set Message/NoFac/NoId/NoText/NoSevp7$ Set File/Protection=W:RE Sys$SysRoot:[*]*MultiHelp*.*r$ if Install_ServerV$ Then/$ Set File/Protection=W:RWE MultiHelp$Dir:*.*r($ Set ACL/Delete=All MultiHelp$Dir:*.*$ EndIfM$ Set Message/Fac/Id/Text/Sevi$ Error_HandlerK$ CTRL_Y_Handler$ $!+ $!$! Execute startup procedure$!$!-_ $ blank_lineD$ VMI$CALLBACK MESSAGE I startup "Executing MultiHelp$STARTUP.COM "- "P1 = ''install_where'" - "P2 = ''license_site_prefix'"L$ @Sys$Startup:MultiHelp$Startup "''install_where'" "''license_site_prefix'"$!+s$! $! Add the license for MultiHelp$!$!-ea$ if (.NOT.re_installation) .AND. (.NOT.skip_db) .AND. new_installation .AND. REALLY_HAVE_LICENSEl$ then@$ VMI$CALLBACK MESSAGE I LICENSE_ADD "Adding MultiHelp license"$$ if license_concurrent_users.eq.-1$ then.0$ concur_or_exp = "/Exp=''license_expiration'"$ else$9$ concur_or_exp = "/Concur=''license_concurrent_users'"O$ endif+$ MultiHelp/User=SYSTEM/Password=MANAGER -i0 License Add/NI='license_hardware_address' -8 /hw='license_hw_model'/site='license_site_prefix' -. /check='license_checksum' 'concur_or_exp'/$ endif !if .not.skip_db .AND. new_installation[$!+E$!F$! Exit from the post-installation part of this procedure with success$!$!-MH$ VMI$CALLBACK MESSAGE I POSTCOMPLETE "Post-installation phase complete"$ Exit VMI$_SUCCESSE$!+EC$!=================================================================I$!$! SubroutinesI$!C$!=================================================================E$!-I$ Get_Input: SUBROUTINEM$ GI_ask_question:.$ VMI$CALLBACK ASK 'p1' "''p2'" "''p3'" 'p4'$ response = 'p1'A$ VMI$CALLBACK ASK answer "Is this correct <''response'>" YES BE$ if .not.answer then -M$ goto GI_ask_question$ ENDSUBROUTINEL$!$!$!#$ Restore_Documentation: SUBROUTINEM$ blank_line"$ VMI$CALLBACK RESTORE_SAVESET B&$ if F$search("VMI$KWD:*.ps").nes.""$ then $ doc_loop:E%$ file=f$search("VMI$KWD:*.PS",2)E$ if file.eqs."" then -$$ goto end_doc_loop+$ file = f$parse(file,,,"NAME") + ".PS"YD$ VMI$CALLBACK MESSAGE I DOC "''file' will be moved to SYS$HELP"?$ VMI$CALLBACK PROVIDE_FILE temp 'file' VMI$ROOT:[SYSHLP] KE$ goto doc_loop$$ end_doc_loop:C $ endifS'$ if F$search("VMI$KWD:*.txt").nes.""A$ then $ doc_loop2:&$ file=f$search("VMI$KWD:*.TXT",2)$ if file.eqs."" then -i$ goto end_doc_loop2D,$ file = f$parse(file,,,"NAME") + ".TXT"D$ VMI$CALLBACK MESSAGE I DOC "''file' will be moved to SYS$HELP"?$ VMI$CALLBACK PROVIDE_FILE temp 'file' VMI$ROOT:[SYSHLP] K $ goto doc_loop2$ end_doc_loop2: $ endifA$ Exit$ ENDSUBROUTINEH$!$!$!$ Check_UIC: SUBROUTINE $ 'p2 == 1.eq.1A$ default = F$Env("DEFAULT")$ Set Default VM$.f$MULTIHELP020.A [A]KITINSTAL.COM;1w~|I$KWDC $ set noon$ define sys$output nl:E$ define sys$error nl:%$ Delete/NoLog VMI$KWD:sysuaf.lis;*$ uaf list/br 'p1s$ deassign sys$outputS$ deassign sys$error$ Error_Handler$ CTRL_Y_Handler $ cnt=0M3$ if F$Search("VMI$KWD:sysuaf.lis").eqs."" then -L$ Exit@$ VMI$CALLBACK MESSAGE W UICINUSE "That UIC is already in use"'$ open/read mhk_in VMI$KWD:sysuaf.lisI $ cu_loop:$ read/end=cu_done mhk_in rec$ cnt = cnt + 1R$ if cnt.le.2 then -+$ goto cu_loop !get rid of header lines$ rec = f$Edit(rec, "Compress")r$ user = f$Element(1, " ", rec)V,$ write sys$output " Username = ''user'"$ goto cu_loop $ cu_done:$ close mhk_in5$ VMI$CALLBACK ASK 'p2 "Continue to use ''p1'" NO Bt$ Set Default 'default$ Exit$ ENDSUBROUTINED*[A]MAIN_WINDOW.UIL;1+, .9/ 4Y97- 0123KPWO856(]7D89GHJ/*?** This module defines the widgets that make up the main window** for MultiHelp.*/! Menu accelerators!! Used: abcdfghijmnpqrstwz!! UnUsed: eklouvxy!!object svnNoPopup : XmPopupMenu { controls { XmLabelGadget { arguments {6 XmNlabelString = 'Must position cursor over entry'; }; }; /* END XmLabelGadget */ };%}; /* END svnNoPopup : XmPopupMenu */object svnPopup : XmPopupMenu { arguments { }; controls { XmLabelGadget { arguments {& XmNlabelString = 'Request Actions'; }; }; /* END XmLabelGadget */ XmSeparatorGadget { arguments { }; }; /* END XmSeparatorGadget */ XmPushButtonGadget { arguments {! XmNlabelString = 'Quick View'; }; callbacks {F XmNactivateCallback = procedure pushButtonCallback(k_svnQuickView); }; }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {# XmNlabelString = 'GoTo Request'; }; callbacks {H XmNactivateCallback = procedure pushButtonCallback(k_svnGoToRequest); }; }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {! XmNlabelString = 'Auto Query'; }; callbacks {F XmNactivateCallback = procedure pushButtonCallback(k_svnAutoQuery); }; }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {$ XmNlabelString = 'View Due Date'; }; callbacks {H XmNactivateCallback = procedure pushButtonCallback(k_svnViewDueDate); }; }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {5 XmNlabelString = 'View Next Escalation Date/Time'; }; callbacks {H XmNactivateCallback = procedure pushButtonCallback(k_svnViewNextEsc); }; }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {% XmNlabelString = 'View Lock Info'; }; callbacks {I XmNactivateCallback = procedure pushButtonCallback(k_svnViewLockInfo); }; }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {# XmNlabelString = 'Quick Accept'; }; callbacks {H XmNactivateCallback = procedure pushButtonCallback(k_svnQuickAccept); }; }; /* END XmPushButtonGadget */ };#}; /* END svnPopup : XmPopupMenu */"object mainWindow : XmMainWindow { arguments { }; controls { XmMenuBar mainMenuBar; XmForm mainForm1; }; callbacks {? XmNhelpCallback = procedure contextHelpCallback(h_mainWindow); };}; object mainMenuBar : XmMenuBar { arguments {: XmNmenuHelpWidget = XmCascadeButtonGadget mainHelpButton;# XmNuserData = f_mainWindowMenuBar; }; controls { XmCascadeButtonGadget { arguments { XmNlabelString = 'File'; XmNmnemonic = keysym("F"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments { XmNlabelString = 'Exit';! XmNmnemonic = keysym("E");% XmNaccelerator = "CtrlZ";% XmNacceleratorText = 'ctrl+z'; }; callbacks {H XmNactivateCallback = procedure pushButtonCallback(k_exitButton); };$ }; /* END XmPushButtonGadget */ }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ XmCascadeButtonGadget { arguments { XmNlabelString = 'View'; XmNmnemonic = keysym("V"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments {& XmNlabelString = 'Commands...';! XmNmnemonic = keysym("C");% XmNaccelerator = "CtrlC";% XmNacceleratorText = 'ctrl+c'; }; callbacks {L XmNactivateCallback = procedure pushButtonCallback(k_commandsButton); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {" XmNlabelString = 'Sort...';! XmNmnemonic = keysym("S");% XmNaccelerator = "CtrlS";% XmNacceleratorText = 'ctrl+s'; }; callbacks {H XmNactivateCallback = procedure pushButtonCallback(k_sortButton); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {- XmNlabelString = 'Search Criteria...';! XmNmnemonic = keysym("a");% XmNaccelerator = "CtrlA";% XmNacceleratorText = 'ctrl+a'; }; callbacks {E XmNactivateCallback = procedure pushButtonCallback(k_queries); };$ }; /* END XmPushButtonGadget */ XmSeparatorGadget {# }; /* END XmSeparatorGadget */- XmToggleButtonGadget buttonWindowToggle;. XmToggleButtonGadget commandWindowToggle;- XmToggleButtonGadget statusWindowToggle;+ XmToggleButtonGadget expertModeToggle; }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ XmCascadeButtonGadget { arguments { XmNlabelString = 'Updates'; XmNmnemonic = keysym("U"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments {+ XmNlabelString = 'Immediate Update';! XmNmnemonic = keysym("I");% XmNaccelerator = "CtrlI";% XmNacceleratorText = 'ctrl+i'; }; callbacks {J XmNactivateCallback = procedure pushButtonCallback(k_updateButton); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {1 XmNlabelString = 'Set Update Interval...';! XmNmnemonic = keysym("U");% XmNaccelerator = "CtrlG";% XmNacceleratorText = 'ctrl+g'; }; callbacks {L XmNactivateCallback = procedure pushButtonCallback(k_updateInterval); };$ }; /* END XmPushButtonGadget */ XmSeparatorGadget {# }; /* END XmSeparatorGadget */' XmToggleButtonGadget updateToggle; }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ XmCascadeButtonGadget { arguments { XmNlabelString = 'Requests'; XmNmnemonic = keysym("R"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments {, XmNlabelString = 'Create Request...';! XmNmnemonic = keysym("R");% XmNaccelerator = "CtrlR";% XmNacceleratorText = 'ctrl+r'; }; callbacks {K XmNactivateCallback = procedure pushButtonCallback(k_createRequest); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {. XmNlabelString = 'Enter Request Id...';! XmNmnemonic = keysym("P");% XmNaccelerator = "CtrlP";% XmNacceleratorText = 'ctrl+p'; }; callbacks {L XmNactivateCallback = procedure pushButtonCallback(k_enterProblemId); };$ }; /* END XmPushButtonGadget */ }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ XmCascadeButtonGadget { arguments { XmNlabelString = 'Solutions'; XmNmnemonic = keysym("S"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arg%8$MULTIHELP020.A  [A]MAIN_WINDOW.UIL;1Y9Q"uments { XmNlabelString = 'Query';! XmNmnemonic = keysym("Q");% XmNaccelerator = "CtrlQ";% XmNacceleratorText = 'ctrl+q'; }; callbacks {L XmNactivateCallback = procedure solutionPBCallback(k_knowledgeQuery);S MrmNcreateCallback = procedure creationCallback(k_knowledgeQueryMenuButton); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments { XmNlabelString = 'Add';! XmNmnemonic = keysym("A"); }; callbacks {J XmNactivateCallback = procedure solutionPBCallback(k_knowledgeAdd);Q MrmNcreateCallback = procedure creationCallback(k_knowledgeAddMenuButton); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {! XmNlabelString = 'Modify';! XmNmnemonic = keysym("M"); }; callbacks {M XmNactivateCallback = procedure solutionPBCallback(k_knowledgeUpdate);T MrmNcreateCallback = procedure creationCallback(k_knowledgeUpdateMenuButton); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {* XmNlabelString = 'Synonym Manager';! XmNmnemonic = keysym("S"); }; callbacks {P MrmNcreateCallback = procedure creationCallback(k_knowledgeSynMgrButton);H XmNactivateCallback = procedure solutionPBCallback(k_samSynonym); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {- XmNlabelString = 'Noise Word Manager';! XmNmnemonic = keysym("N"); }; callbacks {R MrmNcreateCallback = procedure creationCallback(k_knowledgeNoiseMgrButton);K XmNactivateCallback = procedure solutionPBCallback(k_samNoiseWords); };$ }; /* END XmPushButtonGadget */ }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ XmCascadeButtonGadget { arguments { XmNlabelString = 'Reporting'; XmNmnemonic = keysym("e"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments {" XmNlabelString = 'Reports';! XmNmnemonic = keysym("R");% XmNaccelerator = "CtrlJ";% XmNacceleratorText = 'ctrl+j'; }; callbacks {K XmNactivateCallback = procedure pushButtonCallback(k_reportsButton); };$ }; /* END XmPushButtonGadget */ }; }; /* END XmPulldownMenu */ }; callbacks {G MrmNcreateCallback = procedure creationCallback(k_reportMenuButton); };# }; /* END XmCascadeButtonGadget */ XmCascadeButtonGadget { arguments {$ XmNlabelString = 'Notifications'; XmNmnemonic = keysym("N"); }; controls { XmPulldownMenu { controls {3 XmToggleButtonGadget notificationsOnOffToggle; XmSeparatorGadget {# }; /* END XmSeparatorGadget */ XmPushButtonGadget { arguments {8 XmNlabelString = 'Acknowledge All Notifications';! XmNmnemonic = keysym("A");t% XmNaccelerator = "CtrlB";l% XmNacceleratorText = 'ctrl+b'; };b callbacks {Y XmNactivateCallback = procedure pushButtonCallback(k_notificationsAcknowledgeAll);t };m$ }; /* END XmPushButtonGadget */ XmPushButtonGadget {  arguments {+ XmNlabelString = 'Notifications...';X! XmNmnemonic = keysym("N"); % XmNaccelerator = "CtrlN";n% XmNacceleratorText = 'ctrl+n';s };a callbacks {K XmNactivateCallback = procedure pushButtonCallback(k_notifications);g }; $ }; /* END XmPushButtonGadget */ };B }; /* END XmPulldownMenu */ };a# }; /* END XmCascadeButtonGadget */  XmCascadeButtonGadget { arguments { XmNlabelString = 'Options'; XmNmnemonic = keysym("O");X };t controls {X XmPulldownMenu { controls {  XmPushButtonGadget {u arguments {' XmNlabelString = 'Save Options';e! XmNmnemonic = keysym("S");q% XmNaccelerator = "CtrlX";G% XmNacceleratorText = 'ctrl+x';g };  callbacks {I XmNactivateCallback = procedure pushButtonCallback(k_saveOptions);s };b$ }; /* END XmPushButtonGadget */ XmPushButtonGadget {X arguments {* XmNlabelString = 'Restore Options';! XmNmnemonic = keysym("R");% XmNaccelerator = "CtrlY";B% XmNacceleratorText = 'ctrl+y'; };D callbacks {L XmNactivateCallback = procedure pushButtonCallback(k_restoreOptions); };e$ }; /* END XmPushButtonGadget */ XmPushButtonGadget {u arguments {0 XmNlabelString = 'Save Named Options...';! XmNmnemonic = keysym("N");% XmNaccelerator = "Ctrlv";V% XmNacceleratorText = 'ctrl+v';{ };i callbacks {N XmNactivateCallback = procedure pushButtonCallback(k_saveNamedOptions); };P$ }; /* END XmPushButtonGadget */ XmPushButtonGadget {c arguments {3 XmNlabelString = 'Restore Named Options...';t! XmNmnemonic = keysym("a");}% XmNaccelerator = "Ctrll";}% XmNacceleratorText = 'ctrl+l'; };t callbacks {Q XmNactivateCallback = procedure pushButtonCallback(k_restoreNamedOptions);o };$ }; /* END XmPushButtonGadget */ };e }; /* END XmPulldownMenu */ };;# }; /* END XmCascadeButtonGadget */{' XmCascadeButtonGadget mainHelpButton;s };u callbacks {H/* XmNhelpCallback = procedure contextHelpCallback(h_mainWindowMenuBar);*/ };e$}; /* END mainMenuBar : XmMenuBar */8object notificationsOnOffToggle : XmToggleButtonGadget { arguments {* XmNlabelString = 'Receive Notifications'; XmNvisibleWhenOff = true; XmNmnemonic = keysym("R");  XmNaccelerator = "CtrlD";  XmNacceleratorText = 'ctrl+d';  };N callbacks {C MrmNcreateCallback = procedure creationCallback(k_notifyOnToggle);  };c<}; /* END notificationsOnOffToggle : XmToggleButtonGadget */3object commandWindowToggle : XmToggleButtonGadget {s arguments {# XmNlabelString = 'Command Window';M XmNmnemonic = keysym("C");C XmNaccelerator = "CtrlW";e XmNacceleratorText = 'ctrl+w'; XmNvisibleWhenOff = true; };X callbacks {K XmNvalueChangedCallback = procedure toggleButtonCallback(k_commandWindow);H MrmNcreateCallback = procedure creationCallback(k_commandWindowButton); };d7}; /* END commandWindowToggle : XmToggleButtonGadget */e2object statusWindowToggle : XmToggleButtonGadget { arguments {" XmNlabelString = 'Status Window'; XmNmnemonic = keysym("W");u XmNaccelerator = "CtrlT";u XmNacceleratorText = 'ctrl+t';D XmNvisibleWhenOff = true; };s callbacks {J XmNvalueChangedCallback = procedure toggleButtonCallback(k_statusWindow);G MrmNcreateCallback = procedure creationCallback(k_statusWindowButton);e };o6}; /* END statusWindowToggle : XmToggleButtonGadget */2object buttonWindowToggle : XmToggleButtonGadget { arguments {" XmNlabelString = 'Button Window'; XmNmnemonic = keysym("B");t XmNaccelerator = "CtrlG"; XmNacceleratorText = 'ctrl+g';r XmNvisibleWhenOff = true; };= callbacks {J XmNvalueChangedCallback = procedure toggleButtonCallback(k_buttonWindow);G MrmNcreateCallback = procedure creationCallback(k_buttonWindowButton);u };s6}; /* END buttonWindowToggle : XmToggleButtonGadget */0object expertModeToggle : XmToggleButtonGadget { arguments { XmNvisibleWhenOff = true; XmNlabelString = 'Expert Mode'; XmNmnemonic = keysym("E");d XmNaccelerator = "CtrlM";T XmNacceleratorText = 'ctrl+m';g }; callbacks {E MrmNcreateCallback = procedure creationCallback(k_expertModeButton);/N XmNvalueChangedCallback = procedure toggleButtonCallback(k_expertModeToggle); };s4}; /* END expertModeToggle : XmToggleButtonGadget */0object mainHelpButton : XmCascadeButtonGadget { arguments { XmNlabelString = 'Help';o XmNmnemonic = keysym("H");{ }; controls {r XmPulldownMenu { controls {X XmPushButtonGadget { arguments {" XmNlabelString = 'On Window'; XmNmnemonic = keysym("W");  };  callbacks {G XmNactivateCallback = procedure contextHelpCallback(h_mainWindow); };" }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {! XmNlabelString = 'On Topic';t XmNmnemonic = keysym("T");N# XmNaccelerator = "CtrlH";c# XmNacceleratorText = 'ctrl+h';N };o callbacks {= XmNactivateCallback = pro&$$MULTIHELP020.A  [A]MAIN_WINDOW.UIL;1Y9" cedure contextHelpCallback('');p };p" }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {# XmNlabelString = 'On Context';  XmNmnemonic = keysym("C"); };g callbacks {I XmNactivateCallback = procedure pushButtonCallback(k_helpOnContext);X };u" }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {# XmNlabelString = 'On Version';R XmNmnemonic = keysym("V");X };M callbacks {D XmNactivateCallback = procedure contextHelpCallback('Version'); }; " }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {( XmNlabelString = 'On New Features'; XmNmnemonic = keysym("F");  };s callbacks {I XmNactivateCallback = procedure contextHelpCallback('New_Features'); };*" }; /* END XmPushButtonGadget */ };o }; /* END XmPulldownMenu */ }; 3}; /* END mainHelpButton : XmCascadeButtonGadget */Nobject mainForm1 : XmForm { controls {o XmPanedWindow mainPane1;X };e}; /* END mainForm1 : XmForm */}#object mainLabel1 : XmLabelGadget {a arguments { XmNlabelString = 'MultiHelp>';e" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 12;e* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10; };s'}; /* END mainLabel1 : XmLabelGadget */g'object mainCommandField : XmTextField {S arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0; * XmNleftWidget = XmLabelGadget mainLabel1;- XmNrightAttachment = XmATTACH_WIDGET;  XmNrightOffset = 10;r% XmNrightWidget = XmFrame clockFrame; " XmNuserData = f_mainCommandField; };{ callbacks {E MrmNcreateCallback = procedure creationCallback(k_mainCommandField); 6 XmNactivateCallback = procedure mainCommandEntered();E XmNhelpCallback = procedure contextHelpCallback(h_mainCommandField);/ }; +}; /* END mainCommandField : XmTextField */ "object mainPane1 : XmPanedWindow { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;+ XmNrightAttachment = XmATTACH_FORM;n XmNrightOffset = 5;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;  };s controls {  XmFrame customerButtonFrame;X XmForm commandForm; XmForm {  arguments { XmNpaneMinimum = 100; };c controls {  XmFrame SVNframe; XmFrame mainHelpFrame;b };n }; /* END XmForm */! XmFrame SVNframe; ! XmLabelGadget mainHelpText;k XmScrolledWindow statusSW;  };} callbacks {> MrmNcreateCallback = procedure creationCallback(k_mainPane1); };n&}; /* END mainPane1 : XmPanedWindow */object commandForm : XmForm {y arguments {! XmNpaneMinimum = 50; XmNpaneMaximum = 44;C };c controls {  XmFrame clockFrame; XmLabelGadget mainLabel1; XmTextField mainCommandField; };t callbacks {@ MrmNcreateCallback = procedure creationCallback(k_commandForm); };X!}; /* END commandForm : XmForm */nobject clockFrame : XmFrame {i arguments { XmNshadowType = XmSHADOW_IN;y XmNshadowThickness = 3;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 7;+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 10;k };o controls {o XmLabelGadget { arguments {% XmNalignment = XmALIGNMENT_CENTER;d XmNlabelString = '00:00:00';P };M callbacks {A MrmNcreateCallback = procedure creationCallback(k_clockLabel);a };s }; /* END XmLabelGadget */r };;!}; /* END clockFrame : XmFrame */ object SVNframe : XmFrame {d arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;N+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 0;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 2;) XmNbottomWidget = XmFrame mainHelpFrame;e }; controls {} DXmSvn mainSVN; }; }; /* END SVNframe : XmFrame */m object mainHelpFrame : XmFrame { arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT;C XmNshadowThickness = 2;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;f+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 2;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 2;i };i controls {e XmLabelGadget mainHelpText; };}$}; /* END mainHelpFrame : XmFrame */%object mainHelpText : XmLabelGadget { arguments { XmNlabelString = '';A };t callbacks {A MrmNcreateCallback = procedure creationCallback(k_mainHelpText);e };l)}; /* END mainHelpText : XmLabelGadget */ object mainSVN : DXmSvn { arguments {! DXmSvnNmultipleSelections = off;C! DXmSvnNfixedWidthEntries = true;l. DXmSvnNnavWindowTitle = 'Request Navigation';8 DXmSvnNselectionMode = 0; /* had to hardcode to zero */ XmNuserData = f_mainSVN;f };o callbacks {< MrmNcreateCallback = procedure creationCallback(k_mainSVN);=! DXmSvnNentrySelectedCallback = procedure mainSVNCallback(); 8 DXmSvnNpopupMenuCallback = procedure mainSVNCallback();? DXmSvnNselectAndConfirmCallback = procedure mainSVNCallback();XI DXmSvnNhelpRequestedCallback = procedure contextHelpCallback(h_mainSVN);  };D}; /* END mainSVN : DXm_Svn */$object statusSW : XmScrolledWindow { arguments {" XmNuserData = f_mainStatusWindow; XmNpaneMinimum = 50;c) XmNscrollBarDisplayPolicy = XmAUTOMATIC;r( XmNscrollBarPlacement = XmBOTTOM_RIGHT;" XmNscrollingPolicy = XmAUTOMATIC; XmNvisualPolicy = XmVARIABLE; };c controls {) XmList {X arguments {" XmNlistSizePolicy = XmVARIABLE;( XmNselectionPolicy = XmSINGLE_SELECT; XmNshadowThickness = 0;$ XmNuserData = f_mainStatusWindow; };e callbacks {A MrmNcreateCallback = procedure creationCallback(k_statusList);e };  }; /* END XmList */ };N callbacks {= MrmNcreateCallback = procedure creationCallback(k_statusSW);XE XmNhelpCallback = procedure contextHelpCallback(h_mainStatusWindow); }; (}; /* END statusSW : XmScrolledWindow */"object updateForm : XmFormDialog { arguments {( XmNdialogTitle = 'Set Update Interval'; XmNautoUnmanage = true; };t controls { XmScale updateScale;  XmSeparatorGadget updateSep1;" XmPushButtonGadget updateDismiss; XmPushButtonGadget updateHelp;o };C callbacks {E XmNhelpCallback = procedure contextHelpCallback(h_updateFormDialog); }; &}; /* END updateForm : XmFormDialog */,object updateToggle : XmToggleButtonGadget { arguments { XmNvisibleWhenOff = true;& XmNlabelString = 'Updates\n(On/Off)'; XmNmnemonic = keysym("U");s XmNaccelerator = "CtrlF";X XmNacceleratorText = 'ctrl+f';  };c callbacks {A MrmNcreateCallback = procedure creationCallback(k_updateToggle); K XmNvalueChangedCallback = procedure toggleButtonCallback(k_updatesToggle);_ };r0}; /* END updateToggle : XmToggleButtonGadget */object updateScale : XmScale { arguments { XmNscaleMultiple = 15;* XmNmaximum = 600; XmNminimum = 30;a XmNshowValue = true;p. XmNtitleString = 'Update Interval (Seconds)'; XmNorientation = XmHORIZONTAL;h" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;e* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;+ XmNrightAttachment = XmATTACH_FORM;N XmNrightOffset = 10;i };e callbacks {@ MrmNcreateCallback = procedure creationCallback(k_updateScale); };e"}; /* END updateScale : XmScale */'object updateSep1 : XmSeparatorGadget {r arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmScale updateScale;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;X+ XmNrightAttachment = XmATTACH_FORM;n XmNrightOffset = 5; };e+}; /* END updateSep1 : XmSeparatorGadget */ +object updateDismiss : XmPushButtonGadget { arguments { XmNlabelString = 'Ok';=$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;e- XmNtopWidget = XmSeparatorGadget updateSep1;a( XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 10;u XmNrightPosition = 50;s, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; /}; /* END updateDismiss : XmPushButtonGadget */X(object updateHelp : XmPushButtonGadget { arguments { XmNlabelString = 'Help';=$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;e- XmNtopWidget = XmSeparatorGadget updateSep1;m. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 10; XmNleftPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; };e callbacks {I XmNactivateCallback'=A$MULTIHELP020.A  [A]MAIN_WINDOW.UIL;1Y9"1 = procedure contextHelpCallback(h_updateFormDialog);B };,}; /* END updateHelp : XmPushButtonGadget */&object customerButtonFrame : XmFrame { arguments { XmNshadowType = XmSHADOW_IN;a XmNshadowThickness = 3; XmNpaneMinimum = 1; };w controls {t XmRowColumn { arguments { XmNadjustLast = false;)! XmNorientation = XmHORIZONTAL;g XmNpacking = XmPACK_TIGHT; };e controls {  XmPushButton {g arguments {* XmNmultiClick = XmMULTICLICK_DISCARD;* XmNlabelString = 'Create Request...';' XmNuserData = f_mainCreateRequest;X };a callbacks {I XmNactivateCallback = procedure pushButtonCallback(k_createRequest);e };B }; /* END XmPushButton */ XmPushButton {g arguments {* XmNmultiClick = XmMULTICLICK_DISCARD;% XmNlabelString = 'Solutions...';# XmNuserData = f_mainKnowledge;o };{ callbacks {J XmNactivateCallback = procedure solutionPBCallback(k_knowledgeQuery);M MrmNcreateCallback = procedure creationCallback(k_knowledgeQueryButton); };a }; /* END XmPushButton */ XmPushButton {y arguments {* XmNmultiClick = XmMULTICLICK_DISCARD; XmNlabelString = 'Help...';$ XmNuserData = f_mainHelpButton; };t callbacks {H XmNactivateCallback = procedure pushButtonCallback(k_customerHelp); };N }; /* END XmPushButton */ XmPushButton {C arguments {* XmNmultiClick = XmMULTICLICK_DISCARD;( XmNlabelString = 'Queued Requests';( XmNuserData = f_mainQueuedRequests; };  callbacks {I XmNactivateCallback = procedure pushButtonCallback(k_customerQueue);r };  }; /* END XmPushButton */ XmPushButton {  arguments {* XmNmultiClick = XmMULTICLICK_DISCARD;& XmNlabelString = 'Open Requests';& XmNuserData = f_mainOpenRequests; };P callbacks {H XmNactivateCallback = procedure pushButtonCallback(k_customerOpen); };( }; /* END XmPushButton */ XmPushButton {a arguments {* XmNmultiClick = XmMULTICLICK_DISCARD;" XmNlabelString = 'Custom...'; XmNuserData = f_mainCustom; };s callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_queries);s };l }; /* END XmPushButton */ XmPushButton {n arguments {* XmNmultiClick = XmMULTICLICK_DISCARD;& XmNlabelString = 'Request Id...';# XmNuserData = f_mainProblemId;n };n callbacks {J XmNactivateCallback = procedure pushButtonCallback(k_enterProblemId); }; }; /* END XmPushButton */ };} }; /* END XmRowColumn */a };d callbacks {H MrmNcreateCallback = procedure creationCallback(k_customerButtonFrame);H XmNhelpCallback = procedure contextHelpCallback(h_customerButtonFrame); };f*}; /* END customerButtonFrame : XmFrame *//object mainFileDialog : XmFileSelectionDialog {t arguments {1 XmNdialogTitle = 'MultiHelp File Selection Box';o XmNautoUnmanage = true; };t callbacks {A XmNhelpCallback = procedure contextHelpCallback(h_fileDialog);iD XmNokCallback = procedure pushButtonCallback(k_mainFileDialogOk); };0}; /* END XmFileSelectionBox */c*[A]MESSAGE.UIL;1+,./ 4-j- 0123KPWO56 X7`89GHJobject message : XmFormDialog { arguments {, XmNdialogTitle = product_name & ' Message'; XmNdefaultPosition = false;$ XmNdialogStyle = XmDIALOG_MODELESS; }; controls { XmFrame frame1; XmPushButtonGadget OkButton; XmSeparatorGadget sep1; XmText text1; };#}; /* END message : XmFormDialog */object frame1 : XmFrame { arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10; }; controls { XmLabelGadget { arguments {) XmNlabelString = 'MultiHelp\nMessage'; }; }; /* END XmLabelGadget */ };}; /* END frame1 : XmFrame */&object OkButton : XmPushButtonGadget { arguments { XmNlabelString = 'Acknowledge';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10; XmNtopWidget = XmFrame frame1;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; };*}; /* END OkButton : XmPushButtonGadget */!object sep1 : XmSeparatorGadget { arguments { XmNorientation = XmVERTICAL;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;- XmNleftWidget = XmPushButtonGadget OkButton;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; };%}; /* END sep1 : XmSeparatorGadget */object text1 : XmText { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;( XmNleftWidget = XmSeparatorGadget sep1;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; XmNeditable = false; }; callbacks { };}; /* END text1 : XmText */*[A]MHSUBMIT.UIL;1+,.H/ 4RHH\- 0123KPWOI56ce7|89GHJ module mhsubmit version = 'X7.2' names = case_sensitive objects = { }/***++** ** Facility:5** MultiHelp [R] (R) 1993 - SIO Technologies Inc.** ** Abstract:G** This module implements a simple service request logging interface.6** It is designed to go onto VMS and UNIX platforms.**** Compilation:**"** VMS: UIL/MOTIF MHSUBMIT.UIL=** Copy mhsubmit.UID Sys$Common:[Decw$Defaults.User]*.*;0**,** U**X: uil -o mhsubmit.uid mhsubmit.uil+** setenv UIDPATH /usr/lib/mhsubmit.uid** mhsubmit -d helpmt:0.0** ** Author: ** jjjones**** Creation Date: ** 12/28/93**** Modification History:****--*//*** Procedure Declarations*/ procedure pushButtonCallback; fileDialogCallback; creationCallback;/*** Value Declarations*/value version : 'X7.2';value to : 0; lo : to + 7; room : 10; la : 20; ra : 70; menuWidth : 60; menuHeight : 20;O f_mainMenu : 'Select an item from the menu by pressing Mouse Button 1';M f_classMenu : 'Select the problem class that best fits your problem'; f_severityMenu :I 'Select the severity that best describes the impact to your operations'; f_priorityMenu :F 'Select the priority that describes the order of attention required'; f_classLabel :> 'Currently selected class [Scroll right by clicking inside]'; f_severityLabel :A 'Currently selected severity [Scroll right by clicking inside]'; f_priorityLabel :A 'Currently selected priority [Scroll right by clicking inside]';R f_dueDate : 'Enter the date that the service request is due or leave blank';@ f_summary : 'Enter a brief (100 chars) problem statement';? f_include : 'Include a file into the service request text';I f_ccList : 'Enter a valid mail address as sent from the server node';M f_problem : 'Enter the full description of your request - be detailed';9 f_send : 'Sends request to MultiHelp help desk';= f_clear : 'Resets all fields to their initial state';* f_cancel : 'Exits the application';? f_help : 'Extended help on logging a service request';G f_dueDateMenu : 'Select an option from the menu or enter your own';3 f_functionMenu : 'Select the desired function'; k_includeFile : 1; k_send : 2; k_clear : 3; k_cancel : 4; k_help : 5; k_dueDateMenu : 6; k_usDueDate (($MULTIHELP020.A [A]MHSUBMIT.UIL;1RH" : 7; k_sendInitiate : 8; k_copy : 9; k_paste : 10; k_classPulldown : 1; k_severityPulldown : 2; k_priorityPulldown : 3; k_classLabel : 4; k_severityLabel : 5; k_priorityLabel : 6; MHicon :' icon(color_table = color_table(9 background color = ' ', foreground color = '*')? ,' '? ,' * * * * * * * * * * * * * * * * * * * * * * * * '? ,' * * * * * * * * * * * * ******* * * * * * * * '? ,' * * * * * * * * * * * ********* * * * * * * '? ,' * * * * * * * * * * *********** * * * * * * '? ,' * * * * * * * * * *********** * * * * * '? ,' * * * * * * * * *********** * * * * * '? ,' * * * * * * * * *********** * * * * '? ,' * * * * * * * * * ******* * * * * '? ,' * * * * * * * * * * ******* * * * '? ,' * * * * * * * * ******* * * * '? ,' * * * * * * * ******* * * '? ,' * * * * * * ******* * * '? ,' * * * * * * * ******* * '? ,' * * * * * * * * * ******* * '? ,' * * * * * * * * * * * * * ******* '? ,' * * * * * * * * * * * * * * * * * ******* '? ,' * * * * * * * * * * * * * * * * * * * * ****** '? ,' * * * * * * * * * * * * * * * * * * * ******** '? ,' * * * * * * ******* '? ,' * * * * *** ******* '? ,' * * * * * * * * * * * * * * * * *** * ***** '? ,' * * * * *************************** * *** * '? ,' * * * * ** * * * * * * * * *** * * *** '? ,' * * * * * * * * * * *** * ** *** * * * * * '? ,' * * * * ** ** * *** ** * ** *** * * * *** '? ,' * * * * * *** *** * *** * ** *** * * * *** '? ,' * * * * ** **** ***** ** * ** *** * * * *** '? ,' * * * * * ********* * ******** *** * * * *** '? ,' * * * * ** ** *** *** ******** *** * * * *** '? ,' * * * * * *** * ** * *** * ** *** * * *** * '? ,' * * * * ** ** * * *** ** * ** *** * * ***** '? ,' * * * * * *** * ** * *** * ** *** * * *** * '? ,' * * * * ** ** * * *** ** * ** *** * * *** * '? ,' * * * * * *** * * *** * '? ,' * * * * * * * * * * * * * * * * *** * * *** * '? ,' * * * * ***************************** * * *** * '? ,' * * * * ***************************** * * * *** '? ,' * * * * * * * * * * * * * * * * * * * * * *** * '? ,' * * * * * * * * * * * * * * * * * * * * * * *** '? ,' * * * *** * * *** '? ,' * * * *** * * *** '? ,' * * * * * * * * * * * * * * * * *** * ***** * '? ,' * * * * * * * * * * * * * * * * *** * ***** * '? ,' * * * * * * * * * * * * * * * *** * *** * * * '? ,' * ******************************* * * *** * * '? ,' * ******************************* * * * *** * * '? ,' * * * * * * * * * * * * * * * * * * * * *** * * '? ,' * * * * * * * * * * * * * * * * * * * * * * * * '? ,' ' ); /*** Object Declarations*/object mhlpMain : XmForm { arguments { XmNautoUnmanage = false;@ XmNdialogTitle = 'MultiHelp[R] Service Request Logging';! XmNresizePolicy = XmRESIZE_NONE; }; controls { XmMenuBar mainMenu; XmForm topForm; XmLabelGadget ccListLabel; XmTextField ccListText;# XmLabelGadget summaryLabel; XmTextField summaryText; XmPushButton includeFileButton;# XmScrolledWindow serviceRequestSW; XmFrame mhlpHelpFrame; XmPushButton sendButton;! XmPushButton clearButton;" XmPushButton cancelButton; };}; /* END mhlpMain : XmForm */ object mainMenu : XmMenuBar { arguments { XmNuserData = f_mainMenu;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 0; }; controls { XmCascadeButtonGadget { arguments { XmNlabelString = 'File'; XmNmnemonic = keysym("F"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments { XmNlabelString = 'Exit';! XmNmnemonic = keysym("E");% XmNaccelerator = "CtrlZ";% XmNacceleratorText = 'ctrl+z'; }; callbacks {D XmNactivateCallback = procedure pushButtonCallback(k_cancel); };$ }; /* END XmPushButtonGadget */ }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ XmCascadeButtonGadget { arguments { XmNlabelString = 'Edit'; XmNmnemonic = keysym("E"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments { XmNlabelString = 'Copy';! XmNmnemonic = keysym("C");% XmNaccelerator = "CtrlC";% XmNacceleratorText = 'ctrl+c'; }; callbacks {B XmNactivateCallback = procedure pushButtonCallback(k_copy); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments { XmNlabelString = 'Paste';! XmNmnemonic = keysym("P");% XmNaccelerator = "CtrlP";% XmNacceleratorText = 'ctrl+p'; }; callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_paste); };$ }; /* END XmPushButtonGadget */ }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ XmCascadeButtonGadget { arguments { XmNlabelString = 'Commands'; XmNmnemonic = keysym("C"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments {' XmNlabelString = 'Send Request';! XmNmnemonic = keysym("S");% XmNaccelerator = "CtrlS";% XmNacceleratorText = 'ctrl+s'; }; callbacks {" XmNactivateCallback = procedures {! pushButtonCallback(k_send); }; };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {' XmNlabelString = 'Clear Fields';! XmNmnemonic = keysym("C");% XmNaccelerator = "CtrlL";% XmNacceleratorText = 'ctrl+l'; }; callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_clear); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {* XmNlabelString = 'Include File...';! XmNmnemonic = keysym("I");% XmNaccelerator = "CtrlF";% XmNacceleratorText = 'ctrl+f'; }; callbacks {I XmNactivateCallback = procedure pushButtonCallback(k_includeFile); };$ }; /* END XmPushButtonGadget */ }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ };!}; /* END mainMenu : XmMenuBar */ object topForm : XmForm { arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;# XmNtopWidget = XmMenuBar mainMenu; * XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 50;6! XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;! XmNleftOffset = 0;t1! XmNleftWidget = XmTextField summaryText; + XmNrightAttachment = XmATTACH_FORM;o XmNrightOffset = 0; }; controls {  XmFrame iconFrame;U XmFrame versionFrame; XmFrame attributeFrame; XmFrame dueDateFrame;! XmOptionMenu functionMenu; };m}; /* END topForm : XmForm */uobject iconFrame : XmFrame { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;+ XmNrightAttachment = XmATTACH_FORM;t XmNrightOffset = 5; XmNshadowType = XmSHADOW_IN; XmNshadowThickness = 10;u };a controls {  XmLabelGadget iconLabel;r };n }; /* END iconFrame : XmFrame */"object iconLabel : XmLabelGadget { arguments { XmNlabelType = XmPIXMAP;: XmNlabelPixmap = MHicon;  };:&}; /* END iconLabel : XmLabelGadget */object versionFrame )1A$MULTIHELP020.A [A]MHSUBMIT.UIL;1RH R": XmFrame {a arguments {- XmNrightAttachment = XmATTACH_WIDGET;B XmNrightOffset = 5;$ XmNrightWidget = XmFrame iconFrame;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;' XmNbottomOffset = 0;t% XmNbottomWidget = XmFrame iconFrame;a XmNshadowType = XmSHADOW_IN; XmNshadowThickness = 5; };s controls {d XmLabelGadget { arguments { XmNlabelString = version; };d }; /* END XmLabelGadget */i };s#}; /* END versionFrame : XmFrame */r!object attributeFrame : XmFrame { arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT;r XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;% XmNtopWidget = XmFrame dueDateFrame; / XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET;b XmNrightOffset = 0;' XmNrightWidget = XmFrame dueDateFrame;a* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;a };a controls { XmForm {h arguments { XmNmarginHeight = 5;r };l controls {f XmMenuBar classMenu;e XmMenuBar severityMenu; XmMenuBar priorityMenu; XmFrame classFrame; XmFrame severityFrame;h XmFrame priorityFrame;_ };  }; /* END XmForm */ };;%}; /* END attributeFrame : XmFrame */oobject classMenu : XmMenuBar { arguments { XmNtraversalOn = true;e XmNuserData = f_classMenu;  XmNmarginHeight = 0;e% XmNentryAlignment = XmALIGNMENT_END;l XmNheight = menuHeight; XmNresizeHeight = false;  XmNshadowThickness = 1;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 4;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;o& XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 5;% XmNrightWidget = XmFrame classFrame; 0 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; XmNbottomOffset = 1;5& XmNbottomWidget = XmFrame classFrame; };n controls {c XmCascadeButtonGadget { arguments { XmNlabelString = 'Class'; XmNwidth = menuWidth; XmNrecomputeSize = false;" XmNalignment = XmALIGNMENT_END; XmNmarginHeight = 0;* };* controls {* XmPulldownMenu {' callbacks {F MrmNcreateCallback = procedure creationCallback(k_classPulldown); };* }; /* END XmPulldownMenu */ }; # }; /* END XmCascadeButtonGadget */  };"}; /* END classMenu : XmMenuBar */!object severityMenu : XmMenuBar { arguments { XmNuserData = f_severityMenu; XmNmarginHeight = 0; % XmNentryAlignment = XmALIGNMENT_END;* XmNheight = menuHeight; XmNresizeHeight = false;  XmNshadowThickness = 1;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmMenuBar classMenu;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5; & XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 5;( XmNrightWidget = XmFrame severityFrame;0 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; XmNbottomOffset = 1; ) XmNbottomWidget = XmFrame severityFrame;  };* controls {  XmCascadeButtonGadget { arguments { XmNlabelString = 'Severity';  XmNwidth = menuWidth; XmNrecomputeSize = false;" XmNalignment = XmALIGNMENT_END; XmNmarginHeight = 0;  }; controls {  XmPulldownMenu {  callbacks {I MrmNcreateCallback = procedure creationCallback(k_severityPulldown);  };  }; /* END XmPulldownMenu */ };*# }; /* END XmCascadeButtonGadget */* };*%}; /* END severityMenu : XmMenuBar */'!object priorityMenu : XmMenuBar {* arguments { XmNuserData = f_priorityMenu; XmNmarginHeight = 0;*% XmNentryAlignment = XmALIGNMENT_END;  XmNheight = menuHeight; XmNresizeHeight = false;* XmNshadowThickness = 1;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;' XmNtopWidget = XmMenuBar severityMenu; * XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5; & XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 5;( XmNrightWidget = XmFrame priorityFrame;0 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; XmNbottomOffset = 1; ) XmNbottomWidget = XmFrame priorityFrame;* };* controls {* XmCascadeButtonGadget { arguments { XmNlabelString = 'Priority'; XmNwidth = menuWidth; XmNrecomputeSize = false;" XmNalignment = XmALIGNMENT_END; XmNmarginHeight = 0;* };* controls {  XmPulldownMenu {* callbacks {I MrmNcreateCallback = procedure creationCallback(k_priorityPulldown);* };  }; /* END XmPulldownMenu */ };*# }; /* END XmCascadeButtonGadget */  }; %}; /* END priorityMenu : XmMenuBar */ object classFrame : XmFrame {* arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 5; }; controls {  XmTextField { arguments { XmNmarginHeight = 0;* XmNmarginWidth = 1; XmNuserData = f_classLabel;! XmNwidth = 100;  XmNresizeWidth = false; XmNeditable = false;* XmNshadowThickness = 0; };  callbacks {A MrmNcreateCallback = procedure creationCallback(k_classLabel);* };* }; /* END XmLabelGadget */  }; !}; /* END classFrame : XmFrame */ object severityFrame : XmFrame { arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;# XmNtopWidget = XmFrame classFrame; + XmNrightAttachment = XmATTACH_FORM;[ XmNrightOffset = 5; };; controls {o XmTextField { arguments { XmNmarginHeight = 0;X XmNmarginWidth = 1;! XmNuserData = f_severityLabel;L! XmNwidth = 100;c XmNresizeWidth = false; XmNeditable = false;  XmNshadowThickness = 0; };s callbacks {D MrmNcreateCallback = procedure creationCallback(k_severityLabel); };  }; /* END XmLabelGadget */; }; $}; /* END severityFrame : XmFrame */ object priorityFrame : XmFrame { arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;& XmNtopWidget = XmFrame severityFrame;+ XmNrightAttachment = XmATTACH_FORM;e XmNrightOffset = 5; };r controls {t XmTextField { arguments { XmNmarginHeight = 0;  XmNmarginWidth = 1;! XmNuserData = f_priorityLabel;r! XmNwidth = 100;N XmNresizeWidth = false; XmNeditable = false;X XmNshadowThickness = 0; }; callbacks {D MrmNcreateCallback = procedure creationCallback(k_priorityLabel); };n }; /* END XmLabelGadget */  };c$}; /* END priorityFrame : XmFrame */ eobject dueDateFrame : XmFrame {} arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT;p XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;E };C controls {a XmForm {X controls {a XmMenuBar dueDateMenu;X XmTextField dueDateText;X };n }; /* END XmForm */ };#}; /* END dueDateFrame : XmFrame */ object dueDateMenu : XmMenuBar { arguments { XmNuserData = f_dueDateMenu;S% XmNentryAlignment = XmALIGNMENT_END;k XmNresizeHeight = false;e XmNshadowThickness = 1;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;C& XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 0;* XmNrightWidget = XmTextField dueDateText;0 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; XmNbottomOffset = 3;P+ XmNbottomWidget = XmTextField dueDateText; }; controls {o XmCascadeButtonGadget { arguments { XmNlabelString = 'Due Date';a XmNwidth = menuWidth; XmNrecomputeSize = false;" XmNalignment = XmALIGNMENT_END; }; controls {E" XmPulldownMenu dueDatePulldown; };C# }; /* END XmCascadeButtonGadget */t };g$}; /* END dueDateMenu : XmMenuBar */'object dueDatePulldown : XmPulldownMenuC { controls {n XmCascadeButtonGadget { arguments { XmNlabelString = 'Hours'; };g controls {X XmPulldownMenu {e arguments { XmNnumColumns = 4; " XmNpacking = XmPACK_COLUMN; };N controls {c XmPushButtonGadget {c arguments {v XmNlabelString = '1 Hours';  }; callbacks {aD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {n arguments { XmNlabelString = '2 Hours';) }; callbacks {aD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {l arguments {  XmNlabelString = '3 Hours';t }; callbacks {PD XmNactivateCallback = procedure pushButt*?&d$MULTIHELP020.A [A]MHSUBMIT.UIL;1RH"(onCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {C arguments {X XmNlabelString = '4 Hours'; }; callbacks {lD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {w XmNlabelString = '5 Hours';C }; callbacks {D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {; arguments {e XmNlabelString = '6 Hours';f }; callbacks {HD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {x arguments { XmNlabelString = '7 Hours';A }; callbacks {hD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {f arguments {; XmNlabelString = '8 Hours'; }; callbacks {FD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {A XmNlabelString = '9 Hours';  }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {M arguments {  XmNlabelString = '10 Hours'; }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {r arguments {  XmNlabelString = '11 Hours'; }; callbacks {XD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {b arguments {n XmNlabelString = '12 Hours'; }; callbacks {DD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {H arguments {h XmNlabelString = '13 Hours'; }; callbacks {XD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {  arguments {e XmNlabelString = '14 Hours'; }; callbacks {eD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {M arguments { XmNlabelString = '15 Hours'; }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {e arguments {g XmNlabelString = '16 Hours'; }; callbacks {cD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {n arguments {c XmNlabelString = '17 Hours'; }; callbacks {mD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {l arguments {m XmNlabelString = '18 Hours'; }; callbacks {sD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {X arguments { XmNlabelString = '19 Hours'; }; callbacks {GD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {n arguments {o XmNlabelString = '20 Hours'; }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {a arguments {X XmNlabelString = '21 Hours'; }; callbacks {TD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {u XmNlabelString = '22 Hours'; }; callbacks {FD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {a arguments {O XmNlabelString = '23 Hours'; }; callbacks {tD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {t arguments {z XmNlabelString = '24 Hours'; }; callbacks {ND XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ };n }; /* END XmPulldownMenu */ }; % }; /* END XmCascadeButtonGadget */} XmCascadeButtonGadget { arguments { XmNlabelString = 'Days';* };e controls {  XmPulldownMenu {s controls {f XmPushButtonGadget {g arguments {i XmNlabelString = '1 Day';X }; callbacks {ND XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {u arguments {t XmNlabelString = '2 Days'; }; callbacks {AD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {X arguments { XmNlabelString = '3 Days'; }; callbacks {lD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {l arguments {_ XmNlabelString = '4 Days'; }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {w arguments {  XmNlabelString = '5 Days'; }; callbacks {yD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {c arguments {; XmNlabelString = '6 Days'; }; callbacks {CD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {a arguments {  XmNlabelString = '7 Days'; }; callbacks {tD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ };a }; /* END XmPulldownMenu */ }; % }; /* END XmCascadeButtonGadget */* XmCascadeButtonGadget { arguments { XmNlabelString = 'Weeks'; };I controls {c XmPulldownMenu {c controls {D XmPushButtonGadget {N arguments {l XmNlabelString = '1 Week'; }; callbacks {D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {v arguments {w XmNlabelString = '2 Weeks';  }; callbacks {fD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {E arguments { XmNlabelString = '3 Weeks';  }; callbacks {tD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {f arguments {e XmNlabelString = '4 Weeks';  }; callbacks {AD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ };i }; /* END XmPulldownMenu */ };r% }; /* END XmCascadeButtonGadget */t XmPushButtonGadget usDueDate; };X }; /* END XmPulldownMenu */'object usDueDate : XmPushButtonGadget {r arguments {# XmNlabelString = 'User Specified'; };* callbacks {A XmNactivateCallback = procedure pushButtonCallback(k_usDueDate);e };r+}; /* END usDueDate : XmPushButtonGadget */e"object dueDateText : XmTextField { arguments {A XmNuserData = f_dueDate; XmNmaxLength = 25;) XmNtopAttachment = XmATTACH_FORM;t XmNtopOffset = 2;+ XmNrightAttachment = XmATTACH_FORM;a XmNrightOffset = 5;a, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 2;: };&}; /* END dueDateText : XmTextField */ m$object functionMenu : XmOptionMenu { arguments { XmNuserData = f_functionMenu; XmNlabelString = 'Function:';5 XmNmenuHistory = XmPushButtonGadget requestFunction;X$ XmNtopAttac+$MULTIHELP020.A [A]MHSUBMIT.UIL;1RH!9hment = XmATTACH_WIDGET; XmNtopOffset = 0;% XmNtopWidget = XmFrame dueDateFrame;c6 XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET; XmNrightOffset = 12;u };T controls {t XmPulldownMenu {T controls {D XmCascadeButtonGadget { arguments {! XmNlabelString = 'Function'; XmNwidth = menuWidth; XmNrecomputeSize = false; };r controls {a XmPulldownMenu {t controls {S* XmPushButtonGadget requestFunction;) XmPushButtonGadget lookupFunction;M, XmPushButtonGadget knowledgeFunction; };a }; /* END XmPulldownMenu */ };e% }; /* END XmCascadeButtonGadget */P };M }; /* END XmPulldownMenu */ };a(}; /* END functionMenu : XmOptionMenu */-object requestFunction : XmPushButtonGadget { arguments {< XmNlabelString = 'Service Requests (Creation and Replies)'; }; 1}; /* END requestFunction : XmPushButtonGadget */n,object lookupFunction : XmPushButtonGadget { arguments {, XmNlabelString = 'Lookup Service Requests'; };a0}; /* END lookupFunctoin : XmPushButtonGadget *//object knowledgeFunction : XmPushButtonGadget {B arguments {' XmNlabelString = 'Knowledge Requests';r };t3}; /* END knowledgeFunction : XmPushButtonGadget */k a$object ccListLabel : XmLabelGadget { arguments {e XmNlabelString = 'CC:';D XmNwidth = 50;e XmNalignment = XmALIGNMENT_END;+ XmNtopAttachment = XmATTACH_WIDGET;  XmNtopOffset = lo;/ XmNtopWidget = XmTextField summaryText;a# XmNleftAttachment = XmATTACH_FORM;} XmNleftOffset = 5;G };(}; /* END ccListLabel : XmLabelGadget */!object ccListText : XmTextField { arguments {l XmNuserData = f_ccList;r XmNmaxLength = 100;e+ XmNtopAttachment = XmATTACH_WIDGET;d XmNtopOffset = to;/ XmNtopWidget = XmTextField summaryText;=, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;2 XmNleftWidget = XmLabelGadget ccListLabel;+ XmNrightAttachment = XmATTACH_FORM;G XmNrightOffset = 5;e };%}; /* END ccListText : XmTextField */ %object summaryLabel : XmLabelGadget {h arguments {a$ XmNlabelString = 'Subject:'; XmNwidth = 50; XmNalignment = XmALIGNMENT_END;+ XmNtopAttachment = XmATTACH_WIDGET;' XmNtopOffset = lo+4;& XmNtopWidget = XmForm topForm;# XmNleftAttachment = XmATTACH_FORM;  XmNleftOffset = 5;o };)}; /* END summaryLabel : XmLabelGadget */e"object summaryText : XmTextField { arguments {F XmNuserData = f_summary; XmNmaxLength = 100;e+ XmNtopAttachment = XmATTACH_WIDGET;d XmNtopOffset = to+4;& XmNtopWidget = XmForm topForm;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;3 XmNleftWidget = XmLabelGadget summaryLabel;}+ XmNrightAttachment = XmATTACH_FORM;B XmNrightOffset = 5;e };&}; /* END summaryText : XmTextField */,object serviceRequestSW : XmScrolledWindow { arguments {*! XmNscrollBarDisplayPolicy = XmAS_NEEDED;+ XmNtopAttachment = XmATTACH_WIDGET;  XmNtopOffset = to;. XmNtopWidget = XmTextField ccListText;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;+ XmNrightAttachment = XmATTACH_FORM;/ XmNrightOffset = 5;b. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 3;0 XmNbottomWidget = XmFrame mhlpHelpFrame; };d controls { XmText serviceReque@stText;B };G0}; /* END serviceRequestSW : XmScrolledWindow */$object serviceRequestText : XmText { arguments { XmNuserData = f_problem; XmNeditable = true;a( XmNeditMode = XmMULTI_LINE_EDIT; XmNresizeHeight = false; XmNresizeWidth = false; ! XmNcursorPositionVisible = true;" XmNautoShowCursorPosition = true;! XmNwordWrap = true; };(}; /* END serviceRequestText : XmText */ object mhlpHelpFrame : XmFrame { arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT;u XmNshadowThickness = 2;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 3;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 3;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;2 XmNbottomWidget = XmPushButton sendButton; };a controls {; XmLabelGadget mhlpHelpText; };e$}; /* END mhlpHelpFrame : XmFrame */%object mhlpHelpText : XmLabelGadget {7 arguments {l };)}; /* END mhlpHelpText : XmLabelGadget */a a"object sendButton : XmPushButton { arguments {d XmNuserData = f_send;e( XmNlabelString = 'Send Request'; XmNwidth = 125; - XmNrightAttachment = XmATTACH_WIDGET;  XmNrightOffset = 10;2 XmNrightWidget = XmPushButton clearButton;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {m( XmNactivateCallback = procedures { pushButtonCallback(k_send); };s };&}; /* END sendButton : XmPushButton */#object clearButton : XmPushButton {0 arguments {l XmNuserData = f_clear;( XmNlabelString = 'Clear Fields'; XmNwidth = 125;E/ XmNrightAttachment = XmATTACH_POSITION;e XmNrightOffset = 5;  XmNrightPosition = 50;s, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {}D XmNactivateCallback = procedure pushButtonCallback(k_clear); };'}; /* END clearButton : XmPushButton */ )object includeFileButton : XmPushButton {r arguments { XmNuserData = f_include;;$ XmNlabelString = 'Include File...'; XmNwidth = 125;d. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5;  XmNleftPosition = 50;% XmNbottomAttachment = XmATTACH_FORM;a XmNbottomOffset = 5;; }; callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_includeFile);  }; -}; /* END includeFileButton : XmPushButton */ $object cancelButton : XmPushButton { arguments {e XmNuserData = f_cancel;D" XmNlabelString = 'Cancel'; XmNwidth = 125;M, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;n7 XmNleftWidget = XmPushButton includeFileButton;*, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;$ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;t }; callbacks {aE XmNactivateCallback = procedure pushButtonCallback(k_cancel);a };(}; /* END cancelButton : XmPushButton */"object helpButton : XmPushButton { arguments {l XmNsensitive = false; XmNuserData = f_help;m# XmNlabelString = 'Help...';t XmNwidth = 125;;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;X2 XmNleftWidget = XmPushButton cancelButton;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks { C XmNactivateCallback = procedure pushButtonCallback(k_help); };&}; /* END helpButton : XmPushButton */ "object fileDialog : XmFormDialog { arguments {1 XmNdialogTitle = 'MultiHelp File Selection Box';  };* controls {t XmFileSelectionBox {P arguments {$ XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;a- XmNrightAttachment = XmATTACH_FORM;X XmNrightOffset = 0;. XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;a };  callbacks {4 XmNhelpCallback = procedure pushButtonCallback();6 XmNcancelCallback = procedure fileDialogCallback();2 XmNokCallback = procedure fileDialogCallback(); };e }; /* END XmFileSelectionBox */ }; &}; /* END fileDialog : XmFormDialog */end module /* mhsubmit */;*[A]MH_FILLER.CLD;1+,./ 4C- 0123KPWO56Ռce7 189GHJ,l4S$MULTIHELP020.A [A]MH_FILLER.CLD;1C!++!! MODULE: HM_FILLER.CLD ! IDENT: X-1!C! FACILITY: HelpMate[R], Copyright 1993, Davis Technologies, Inc.!@! ABSTRACT: This module circumvents CSCBUG CDU-7, which prevents3! the creation of very small command table images.!=! AUTHOR: Gustav Mahler, Tenth Level Mage Consulting Services! DATE: 01-August-1993!! MODIFICATION HISTORY:!9! X-1 Elizabeth P. Lawson, Developer-at-Large, 1-Aug-1993! Original creation of module.!!--define verb $HELPMATE0 image HELPMATEdefine verb $HELPMATE1 image HELPMATEdefine verb $HELPMATE2 image HELPMATEdefine verb $HELPMATE3 image HELPMATEdefine verb $HELPMATE4 image HELPMATEdefine verb $HELPMATE5 image HELPMATEdefine verb $HELPMATE6 image HELPMATEdefine verb $HELPMATE7 image HELPMATEdefine verb $HELPMATE8 image HELPMATEdefine verb $HELPMATE9 image HELPMATEdefine verb $HELPMATE10 image HELPMATEdefine verb $HELPMATE11 image HELPMATEdefine verb $HELPMATE12 image HELPMATEdefine verb $HELPMATE13 image HELPMATEdefine verb $HELPMATE14 image HELPMATEdefine verb $HELPMATE15 image HELPMATEdefine verb $HELPMATE16 image HELPMATEdefine verb $HELPMATE17 image HELPMATEdefine verb $HELPMATE18 image HELPMATEdefine verb $HELPMATE19 image HELPMATE!++! That's all folks ...!--*[A]MULTIHELP$BACKUP.COM;1+,./ 4K0- 0123KPWO56㆗789GHJ@$ Save_Verify = F$Verify(0) !turn off verify - save statusK$ if F$trnlnm("MultiHelp$Verify") then set verify !turn on verify if true*$ Set Noon !disable error handling$!+G$!=====================================================================.$! MultiHelp 1994$$! Module Name: MultiHelp$BACKUP.COM$!$! Parameters: $! P1:$! Backup Device$! P2:?$! Email Address(es) to send Failure notifications to.8$! You might choose to have an email message sent to)$! MultiHelp and logged as a request.$! P3:=$! If True, the force Full Backup regardless of Day.9$! This is required for the first time this procedure9$! is run. Because an Incremental cannot be performed($! until a full backup is performed.$!$! Author: jjjones$! Date: August 23, 1994$! Description::$! This procedure will perform two different functions:$! depending on whether it is invoked INTERACTIVEly or$! being run in BATCH mode.$!$! INTERACTIVE:9$! When run interactively, the user is prompted for:$! information and the queue MultiHelp$Batch (or the7$! queue it points to if a logical is defined) isE$! searched for a JOB by the name of MultiHelp$BACKUP. If foundC$! the job will be deleted from the queue, and this procedure=$! will be submitted with the new information gathered.$! $! BATCH:?$! When run in BATCH mode, it will resubmit itself to run>$! every morning at 2am. On Saturdays, it will perform a=$! full backup, and every other morning it will perform$! an incremental backup.@$! An RMU/Verify is performed before each backup to verify&$! the validity of the database.$!$! Modifications:$! [tbs]...$!G$!=====================================================================$!-$!$! Main Execution$!$!-$ job_status = 1$ job_name = "MULTIHELP$BACKUP"$ required_privs="OPER"$ say:==write sys$output$ mode = F$mode()2$ if mode.nes."BATCH" .and. mode.nes."INTERACTIVE"$ then!$ say "Invalid mode... exiting" $ exit 0$ endif $ Goto 'mode$ ExitG$!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++$!$! INTERACTIVE Mode$!G$!---------------------------------------------------------------------$ INTERACTIVE:$ On Control_Y then Exit$ type sys$input:6 MultiHelp[R], SIO Technologies Corporation, 1994/ Automated Backup of your MultiHelp DatabaseE This procedure will submit a recurring batch job to automatically; backup your MultiHelp Database to the specified device.E First you must provide a backup device. This device should not beE the same device as the database is contained on. It may be either# a disk device or a tape device.@ If you specify a disk device, then also specify a directory.A If you specify a tape device, then all tapes must be manuallyD initialized with the label "MHBACK" and pre-loaded onto the tapeD drive prior to 2am each morning when the actual backup will take place. $ Get_Device:$ Inquire P1 "Backup device"$ if p1.eqs."" then exit)$ fulldevnam = F$GetDVI(P1, "FULLDEVNAM")($ if .not.F$GetDVI(fulldevnam, "EXISTS")$ then$ say "No such device..."$ goto Get_Device$ endif1$ media_type = F$GetDVI(fulldevnam, "Media_Type")K$ is_tape = F$Extr(0,1,media_type).eqs."M" !Determine if device is tape7$ mhdevice = F$GetDVI("MultiHelp$Device", "FULLDEVNAM")$ if mhdevice.eqs.fulldevnam$ then$ type sys$input:C You specified the same device that the MultiHelp DB resides on.D This is not a safe practice for the very reason that if you loseE the disk drive that contains your database, thereby requiring youJ to restore the database from backups, you have also lost your backups.5$ inquire answer "Are you sure you want to do this" $ say " "'$ if .not.answer then goto Get_Device$ endif)$ if .not.is_tape .and. (p1-"]".eqs.p1)$ then $ say " "D$ say "You specified a disk device and didn't specify a directory" $ say " "$ goto Get_Device$ endif$ type sys$input:F Now please provide a list of email addresses to be notified in the> event of an error during backup or verification procedure.= Consider adding MultiHelp to the list of email addresses.@ This would cause a service request to be logged in the event< of an error during the backup or verification procedure.$ inquire P2 "Email Addresses"$ GoSub Remove_Entry($ P3 = 1.eq.1 !Force Full Backup$ GoSub ReSubmit$ type sys$inputA The procedure has been submitted to run every morning at 2am. $ if is_tape$ then$ type sys$input@ If the backup device is a Tape, ensure that a tape is loaded= on that device, and that it has been initialized with theD label "MHBACK". You can place multiple backups on the same tape,E in which case, it is not required to initialize it more than once+ in order to get the tape label correct.$ endif$ Goto Exit_LabelG$!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++$! $! BATCH Mode$!G$!---------------------------------------------------------------------$ BATCH:.$ Set Verify !Turn on Verify for Batch5$ Set Output_Rate=0:0:15 !set output flush rate$ full_backup_required = P3 $ P3 = "".$ GoSub ReSubmit !resubmit for tomorrow)$ fulldevnam = F$GetDVI(P1, "FULLDEVNAM")1$ media_type = F$GetDVI(fulldevnam, "Media_Type")K$ is_tape = F$Extr(0,1,media_type).eqs."M" !Determine if device is tape9$ if .not.is_tape then - !Optimize disk2disk backup2 Set RMS_Default/Block=127/Buffer=2/Extend=5000J$ Month = F$cvtime(f$time(),"Absolute","Month") !Get 3 char month name7$ Day = F$cvtime(f$time(),,"Day") !Get 2 digit dayD$ WeekDay = F$cvtime(f$time(),,"WeekDay") !Determine day of week $ if is_tape$ then$ P1 = P1 - ":" + ":"-$ Mount/Foreign 'P1' !Mount, if Tape.$ label="/Label=MHBACK" !Specify Label$ else $ label=""$ endif$!5$ if WeekDay.eqs."Saturday" .OR. full_backup_required$ then !Full Backup/$ saveset = "MH_FULL_" + Month + Day + ".RBF"$ RMU/Verify MultiHelp$DB'$ If .not.$Status then job_status = 0)$ RMU/Backup/OnLine/Log/Quiet 'label' - MultiHelp$DB - 'P1''saveset''$ If .not.$Status then job_status = 05$ if .not.is_tape then - !Delete Full BackupsD Delete/-g$MULTIHELP020.A [A]MULTIHELP$BACKUP.COM;1K[Before="Today-8-0:0:0"/Creat/Log - ! more than 8 days old;2 'P1'MH_FULL_*.RBF;* ! this keeps 2 versions#$ else !Incremental Backup/$ saveset = "MH_INCR_" + Month + Day + ".RBF"'$ RMU/Verify/Incremental MultiHelp$DB'$ If .not.$Status then job_status = 05$ RMU/Backup/Incremental/OnLine/Log/Quiet 'label' - MultiHelp$DB - 'P1''saveset''$ If .not.$Status then job_status = 05$ if .not.is_tape then - !Delete IncrementalsC Delete/Before="Today-1-0:0:0"/Creat/Log - ! more than 1 day old;2 'P1'MH_INCR_*.RBF;* ! This keeps 2 versions$ endif4$ Purge/Keep=7 'job_name'.Log !purge log files?$ if is_tape then Dismount/NoUnload 'P1' !DisMount, if Tape0$ If .not.job_status !send mail on errors$ then-$ If P2.eqs."" then P2 = "System,MultiHelp"$ Mail/NoSelf -< /Subject="Problem with MultiHelp$Backup - Check Log File" - NL: - 'P2'$ endif$ Goto Exit_Label$!+$!$! Submit Subroutine$!$!- $ RESUBMIT:9$ Submit/After="Tomorrow+02:00"/Queue=MultiHelp$Batch -# Sys$Startup:MultiHelp$Backup.Com -' /Parameter=("''P1'","''P2'","''P3'") -! /Name="''job_name'"/Keep/NoPrint'$ if .not.$status then job_status = 0 $ RETURN$!+$!$! Remove Entry Subroutine$!$!-$ REMOVE_ENTRY:,$ Set Message/NoText/NoId/NoSev/NoFacility-$ Define/User Sys$output Sys$Scratch:mh.tmp$ Show Entry 'job_name'C$ Search/Output=Sys$Scratch:mh2.tmp Sys$Scratch:mh.tmp 'job_name'$$ Set Message/Text/Id/Sev/Facility$$ Delete/NoLog Sys$Scratch:mh.tmp;7$ Open/read/error=remove_done mh2 Sys$Scratch:mh2.tmp$ read_loop:$ read/end=read_done mh2 record*$ record = F$Edit(record, "Compress,Trim")'$ say "Deleting the following entry..."$ say "''record'"$ entry=f$ele(0, " ", record)$ Delete/Entry='entry'$ goto read_loop$ read_done: $ close mh2%$ Delete/NoLog Sys$Scratch:mh2.tmp; $ say " "$ Remove_Done: $ RETURN$!+$!$! Procedure Exit$!$!- $ Exit_Label:$ Set On%$ Save_Verify = F$Verify(Save_Verify)$ Exit*[A]MULTIHELP$CAPTIVE.COM;1+,./ 4Mh- 0123KPWO56D7289GHJK$! MultiHelp[TM], SIO Technologies Corp., 1995 All rights reserved. $Set Noon$Save_Verify = F$Verify(0)0$if F$trnlnm("MultiHelp$Verify") then set verify!$MultiHelp :== mcr MultiHelp$Main$SYS$NET = f$trnlnm("SYS$NET")$$if (SYS$NET-"::""0=") .nes. SYS$NET$then0$if f$trnlnm("MultiHelp$Verify") .nes. "" then -$ show logical /full SYS$NET$on error then $ eoj$open/read/write NET SYS$NET:$read NET DISPLAY0$MultiHelp/Interface=DECwindows/Display='DISPLAY$Status = $STATUS $if STATUS$then $write NET ""$else$write NET f$message($STATUS)$endif $close NET$eoj$endif$if f$mode() .eqs. "NETWORK"$then$@SYS$COMMAND:$eoj$endif$if f$mode() .eqs. "BATCH"$then$Goto Exit_Label2$endif$if f$mode() .eqs. "OTHER"$then$Goto Exit_Label2$endif.$if (f$mode() .eqs. "INTERACTIVE") .AND. -.((f$trnlnm("TT") - "MB") .eqs. f$trnlnm("TT"))$then$Set Terminal/Inquire$Set Terminal/NoBroad$endif$Set NoControl=Y$say:=write sys$output$type sys$inputM ***************************************************************************M ***************************************************************************L ** Welcome to MultiHelp[R] 1994 **M ***************************************************************************M ***************************************************************************"$Define/User Sys$Input Sys$Command$mcr MultiHelp$Main $Exit_Label:$Set On$$Save_Verify = F$Verify(Save_Verify) $LogOut/Full $Exit_Label2:$Set On$$Save_Verify = F$Verify(Save_Verify)$Exit*[A]MULTIHELP$DEINSTALL.COM;1+, ./ 4Tt- 0123KPWO56׍789GHJK$! MultiHelp[TM], SIO Technologies Corp., 1995 All rights reserved. $Set Noon$Save_Verify = F$Verify(0).$if F$trnlnm("MultiHelp$Verify") then set veri$say := write sys$outputC$say "************************************************************"7$say " MultiHelp De-Installation Procedure"$say " "E$Inquire sure "Are you sure that you want to DeInstall MultiHelp [N]"$if .not.sure then exit$say:=write sys$output$dl:=Delete/NoLog/NoConfirm$$Set Message/NoSev/NoFac/NoText/NoId#$say "Removing MultiHelp Images...",$call Remove_File "SYS$SYSTEM:MULTIHELP.EXE"1$call Remove_File "SYS$SYSTEM:MULTIHELP$MAIN.EXE"1$call Remove_File "SYS$SYSTEM:DECW$MULTIHELP.EXE"1$call Remove_File "SYS$SYSTEM:MULTIHELP$DWUI.EXE";$call Remove_File "DECW$SYSTEM_DEFAULTS:DECW$MULTIHELP.UID";$call Remove_File "DECW$SYSTEM_DEFAULTS:MULTIHELP$DWUI.UID",$call Remove_File "SYS$SHARE:MH_MAILSHR.EXE"/$call Remove_File "SYS$SHARE:MHmail$SERVER.EXE"1$call Remove_File "Sys$Share:MHmail$REQUESTS.EXE"1$call Remove_File "SYS$SHARE:MHmail$Commands.exe",$call Remove_File "Sys$share:MHmail$GUI.exe"0$call Remove_File "Sys$Share:MHmail$Lookups.exe"2$call Remove_File "Sys$Share:MHmail$Solutions.exe"2$call Remove_File "SYS$SHARE:MULTIHELP$TABLES.EXE"+$call Remove_File "SYS$SHARE:MH_TABLES.EXE"2$call Remove_File "SYS$SHARE:MULTIHELP$SHAREP.EXE"5$call Remove_File "SYS$SHARE:MULTIHELP$MULTIHELP.EXE"1$call Remove_File "SYS$SHARE:MULTIHELP$SHARE.EXE"2$call Remove_File "SYS$SHARE:MULTIHELP$RPCSRV.EXE"3$call Remove_File "SYS$SYSTEM:MULTIHELP$RPCSRV.EXE"2$call Remove_File "SYS$SHARE:MULTIHELP$RPCSHR.EXE"<$call Remove_File "SYS$SHARE:MULTIHELP$FAX_INSTRUCTIONS.EXE"=$call Remove_File "SYS$SHARE:MULTIHELP$MAIL_INSTRUCTIONS.EXE">$call Remove_File "SYS$SHARE:MULTIHELP$PHONE_INSTRUCTIONS.EXE">$call Remove_File "SYS$SHARE:MULTIHELP$PAGER_INSTRUCTIONS.EXE"?$call Remove_File "SYS$SHARE:MULTIHELP$XPOPUP_INSTRUCTIONS.EXE"@$call Remove_File "SYS$SHARE:MULTIHELP$GENERIC_INSTRUCTIONS.EXE"6$call Remove_File "SYS$MESSAGE:MULTIHELP$MESSAGES.EXE".$call Remove_File "SYS$SHARE:MH_PROTECTED.EXE",$call Remove_File "SYS$SYSTEM:MH_SUBMIT.EXE"+$call Remove_File "SYS$SYSTEM:MHSUBMIT.EXE"'$call Remove_File "SYS$SYSTEM:QLOG.EXE"6$call Remove_File "DECW$SYSTEM_DEFAULTS:MH_SUBMIT.UID"5$call Remove_File "DECW$SYSTEM_DEFAULTS:MHSUBMIT.UID"1$call Remove_File "Decw$System_Defaults:Qlog.UID"8$call Remove_File "SYS$SYSTEM:MultiHelp$Escalations.EXE"/$call Remove_File "Sys$Help:MultiHelp$Main.UIL"*$call Remove_File "Sys$Help:MultiHelp.UIL"6$call Remove_File "Decw$system_Defaults:MultiHelp.Dat"4$call Remove_File "Sys$Startup:MultiHelp$Backup.Com"2$call Remove_File "Sys$System:MultiHelp$HTTPD.Exe":$call Remove_File "Sys$Startup:MultiHelp$HTTPD_Detach.Com"7$call Remove_File "Sys$Startup:MultiHelp$HTTPD_Run.Com":$call Remove_File "Sys$Startup:MultiHelp$HTTPD_Submit.Com"+$say "Removing MultiHelp Help Libraries..."($call Remove_File Sys$Help:MultiHelp.HLB-$call Remove_File Sys$Help:Decw$MultiHelp.HLB-$call Remove_File Sys$Help:MultiHelp$Main.HLB-$call Remove_File Sys$Help:MultiHelp$DWUI.HLB3$Library/Help/Delete=MULTIHELP Sys$Help:HELPLIB.HLB$say "Removing IVP...",$call Remove_File SYS$TEST:MultiHelp_IVP.COM,$call Remove_File SYS$TEST:MultiHelp$IVP.Com $say "Removing Example Files..."0$dl Sys$SysRoot:[SysHLP.Examples.MultiHelp]*.*;*=$call Remove_File Sys$SysRoot:[SysHLP.Examples]MultiHelp.Dir;@$say "Removing Release Notes and Documentation from Sys$Help..."$dl Sys$Help:*MultiHelp*.*;*$dl Sys$.!jM$MULTIHELP020.A  [A]MULTIHELP$DEINSTALL.COM;1T/Help:*mh*submit*.*;*$dl Sys$Help:*qlog*.*;*$say "Removing DCL verb..."$define SYS$ERROR NL:$define SYS$OUTPUT NL:;$Set Command/Delete=(MultiHelp)/Table=Sys$Share:DCLTABLES -$/Output=Sys$Common:[SYSLIB]DCLTABLES4$Set Command/Delete=(MH)/Table=Sys$Share:DCLTABLES -$/Output=Sys$Common:[SYSLIB]DCLTABLES$deassign SYS$ERROR$deassign SYS$OUTPUT$$Install Replace Sys$Share:DCLTABLES%$say "Removing Startup Procedures..."2$MC SYSMAN START REMOVE FILE MULTIHELP$STARTUP.COM3$call Remove_File Sys$Startup:MultiHelp$Startup.Coml5$call Remove_File Sys$Startup:MultiHelp$SyStartup.Como:$call Remove_File Sys$Startup:MultiHelp$SyStartup.Template2$call Remove_File Sys$Startup:MHMail$SyStartup.Com$$say "Removing MultiHelp Account..."$uaf:=$authorizeL$if F$TrnLnm("SYSUAF").eqs."" then define/nolog sysuaf sys$system:sysuaf.dat$UAF Remove MultiHelpr$UAF Remove MH$HTTPD/$sitePrefix = F$TrnLNm("MULTIHELP$SITE_PREFIX")$if sitePrefix.nes.""$thenl $ctx = ""o*$process_name = sitePrefix + "$ESCALATION"@$temp = F$context("PROCESS", ctx, "PRCNAM", process_name, "EQL")$pid = F$PID(ctx)"$if pid.nes.""$thenS!$prcnam = F$GetJPI(pid, "PRCNAM") 6$say "Stopping Escalation server...''prcnam' (''pid')"$Stop/Id='pid'$endif $ctx = ""E&$process_name = sitePrefix + "$HTTPD*"@$temp = F$context("PROCESS", ctx, "PRCNAM", process_name, "EQL") $HTTP_STOP:W$pid = F$PID(ctx)o"$if pid.eqs."" then goto http_done!$prcnam = F$GetJPI(pid, "PRCNAM")$/$say "Stopping HTTPDaemon...''prcnam' (''pid')"$$Stop/Id='pid'$goto http_stop $HTTP_DONE:m $ctx = ""s($process_name = sitePrefix + "$RPCSRV.*"@$temp = F$context("PROCESS", ctx, "PRCNAM", process_name, "EQL") $RPC_STOP:$pid = F$PID(ctx)$!$if pid.eqs."" then goto rpc_doneS!$prcnam = F$GetJPI(pid, "PRCNAM")l/$say "Stopping RPC server...''prcnam' (''pid')"e$Stop/Id='pid'$goto rpc_stop $RPC_DONE:$endifL$say "*********************************************************************"K$say "Removing the Database files deletes all data stored in them forever."lK$say "This includes all MHML files in sub-directories under MultiHelp$DIR:"EE$inquire answer "Do you want the database files removed as well? [N]"RL$say "*********************************************************************" $if answer$thenS3$say "Removing Database Files and the directory..."o'$dl MultiHelp$Device:[MultiHelp.*]*.*;*C%$dl MultiHelp$Device:[MultiHelp]*.*;*E+$dl MultiHelp$Device:[000000]MultiHelp.Dir;e$elsel,$say "Database Files will not be removed..."$endif$SAVE = f$env("default")$set default SYS$SYSTEM:$mcr AUTHORIZE remove MULTIHELPR$set default 'SAVEO$show logical /full MULTIHELP$*,MHMAIL$* /system/output=MULTIHELP$DEINSTALL.TMPER$search MULTIHELP$DEINSTALL.TMP MULTIHELP$MHMAIL$ /OUTPUT=MULTIHELP$DEINSTALL.TMPU&$open/read IN MULTIHELP$DEINSTALL.TMPU$LOOP:$read/end=END IN RECORDT$RECORD = f$extract(f$locate("= """,RECORD),f$length(RECORD),RECORD) - "= """ - """"$SAVE = f$env("default")$set default SYS$SYSTEM:#$if RECORD .nes. "MULTIHELP" then -l$ mcr AUTHORIZE remove 'RECORD$set default 'SAVE $goto LOOP$END:t $close IN!$delete MULTIHELP$DEINSTALL.TMPU;iI$search MULTIHELP$DEINSTALL.TMP "[exec]" /output=MULTIHELP$DEINSTALL.TMPE &$open/read IN MULTIHELP$DEINSTALL.TMPE$LOOP1:o$read/end=END1 IN RECORD$RECORD = RECORD - " """n3$RECORD = f$extract(0,f$locate("""",RECORD),RECORD)D$deassign/system/exec 'RECORDl $goto LOOP1i$END1: $close IN !$delete MULTIHELP$DEINSTALL.TMPE;J$search MULTIHELP$DEINSTALL.TMP "[super]" /output=MULTIHELP$DEINSTALL.TMPS&$open/read IN MULTIHELP$DEINSTALL.TMPS$LOOP2:l$read/end=END2 IN RECORD$RECORD = RECORD - " """H3$RECORD = f$extract(0,f$locate("""",RECORD),RECORD)e$deassign/system 'RECORD $goto LOOP2 $END2: $close INT!$delete MULTIHELP$DEINSTALL.TMPS;E $delete MULTIHELP$DEINSTALL.TMP; $Exit_Label:$Set Message/Sev/Fac/Text/Id$Set Ony$$Save_Verify = F$Verify(Save_Verify)$Exits$Remove_File: SUBROUTINE$p1 = F$Edit(p1, "UPCASE")$if f$search("''p1'").nes.""$then*$say "Removing ''p1'..."5$if F$File("''p1'", "KNOWN") then Install Remove 'p1'. $dl 'p1';*$endif$Exit$ENDSUBROUTINEUT NL:;$Set Command/Delete=(MultiHelp)/Table=Sys$Share:DCLTABLES -$/Output=Sys$Common:[SYSLIB]DCLTABLES4$Set Command/Delete=(MH)/Table=Sys$Share:DCLTABLES -$/Output=Sys$Common:[SYSLIB]DCLTABLES$deassign SYS$ERROR$deassign SYS$OUTPUT$$Install Replace Sys$Share:DCLTABLES%$say "Removing Startup Procedures..."2$MC SYSMAN START REMOVE FILE MULTIHELP$STARTUP.COM3$call Remove_File Sy*[A]MULTIHELP$HTTPD_DETACH.COM;1+,./ 4K2- 0123KPWO56789GHJK$! MultiHelp[TM], SIO Technologies Corp., 1995 All rights reserved.7$if f$search("SYS$SYSTEM:MULTIHELP$HTTPD.EXE") .eqs. ""$thenD$write sys$output "Image SYS$SYSTEM:MULTIHELP$HTTPD.EXE not present"$exit$endif0$site_prefix = f$trnlnm("MultiHelp$Site_Prefix");$server_cnt = F$Trnlnm("''site_prefix'$HTTPD_SERVER_COUNT")+$If server_cnt.eqs."" then server_cnt = "1"$server_cnt = F$Int(server_cnt)1$input_com := Sys$Startup:MultiHelp$HTTPD_Run.COM$cnt = 0$LOOP:$cnt = cnt + 1)$if cnt.gt.server_cnt then goto DONE_LOOP($Procname = "''site_prefix'$HTTPD''cnt'"0$log_file = "''site_prefix'$httpd_run''cnt'.log"-$Run/Detach/Process="''procname'"/Authorize -/Input='input_com' -/Output='log_file' -/Error='log_file' -Sys$System:LoginOut.Exe $GOTO LOOP $DONE_LOOP:$Exit*[A]MULTIHELP$HTTPD_RUN.COM;1+,./ 4Kz- 0123KPWO56v7y89GHJK$! MultiHelp[TM], SIO Technologies Corp., 1995 All rights reserved. $set noon$set process/dumpA$if f$search("SYS$SYSTEM:MULTIHELP$HTTPD.EXE") .eqs. "" then Exit0$site_prefix = F$Trnlnm("MULTIHELP$SITE_PREFIX")$HTTPD:==$MultiHelp$HTTPD$prcnam = F$GetJPI(0, "PRCNAM")!$pos = F$Loc("HTTPD", prcnam) + 5!$num=f$int(f$extr(pos,10,prcnam))$if num.le.0 then exit$num = num - 1@$default_dir=F$TrnLNM("''site_prefix'$HTTPD_DEFAULT_DIR",,'num')3$if default_dir.eqs."" then default_dir = "[.MHML]"2$port=F$TrnLNM("''site_prefix'$HTTPD_PORT",,'num')"$if port.eqs."" then port = "3860"8$options=F$TrnLNM("''site_prefix'$HTTPD_OPTIONS",,'num') $num=num+1$LOOP:$SET DEFAULT MULTIHELP$DIR:$SET DEFAULT 'default_dirI$HTTPD -p 'port' -f Sys$Login:'site_prefix'$httpd_trans'num'.log 'OPTIONSA$if f$trnlnm("MultiHelp$DISABLE_HTTPD") .nes. "" then $ goto LOOP*[A]MULTIHELP$HTTPD_SUBMIT.COM;1+,./ 4L6- 0123KPWO56%7#89GHJK$! MultiHelp[TM], SIO Technologies Corp., 1995 All rights reserved. $bell[0,8]=77$bells := write sys$output bell, bell, bell, bell, bell$say := write sys$output>$IF F$SEARCH("SYS$SYSTEM:MULTIHELP$HTTPD.EXE") .nes. "" then -F$ IF F$GETQUI("DISPLAY_QUEUE","QUEUE_NAME","MultiHelp$Batch") .EQS. ""$THEN$bells<$say "*****************************************************"=$say "MultiHelp$Batch queue not present, HTTPD will not start<$say "*****************************************************"$ELSE0$site_prefix = f$trnlnm("MULTIHELP$SITE_PREFIX")L$MH_submit := Submit/User=MultiHelp/Queue=MultiHelp$Batch/NoPrint/NoIdentify3$com_file := SYS$STARTUP:MULTIHELP$HTTPD_DETACH.COM;$Log_File = "MultiHelp$Dir:''site_prefix'$Httpd_Detach.Log"$$MH_submit/Log='Log_File' 'com_file'$ENDIF$Exit*[A]MULTIHELP$IVP.COM;1+,./ 4K- 0123KPWO56s7G,89GHJ/ؾdJ$MULTIHELP020.A [A]MULTIHELP$IVP.COM;1KS K$! MultiHelp[TM], SIO Technologies Corp., 1995 All rights reserved.$Save_Verify = F$Verify(0).$if F$trnlnm("MultiHelp$Verify") then set veri!$MultiHelp :== mcr MultiHelp$Main$On Warning Then Exit$say := write sys$output$say " "+$say "************************************"+$say "Beginning execution of MultiHelp IVP"+$say "************************************"$say " " $if p1.eqs.""$then$say "No userId passed as P1"/$inquire P1 "Enter MultiHelp privileged UserId"$if p1.eqs."" then exitF$if p2.eqs."" then inquire P2 "Enter Passwod [RETURN for no password]"$endif $if p3.eqs.""$then'$P3 = F$Trnlnm("MultiHelp$Site_Prefix")?$if p3.eqs."" then inquire P3 "Enter Site Prefix for MultiHelp" $if p3.eqs.""$thenK$say "No site prefix passed as P3 and MultiHelp$Site_Prefix is not defined"$exit 0$endif$endif $if p2.eqs.""$then$MHaccess = "/User=''p1'"$MailAccess = "\U ''p1'"$else$$MHaccess = "/User=''p1'/Pass=''p2'"!$MailAccess = "\U ''p1' \P ''p2'"$endif)$mh_device = F$Trnlnm("MultiHelp$Device")$if mh_device.eqs.""$then&$say "MultiHelp$Device is not defined"$exit 0$endif*$remote_node = F$Parse(mh_device,,,"NODE")$remote_db = remote_node.nes.""$$say "Testing existance of Logicals"$$if F$Trnlnm("MultiHelp$Dir").eqs.""$then $say "MultiHelp$Dir not defined"$Exit 2$endif2$if f$search("MultiHelp$Dir:MultiHelp.RDB").eqs.""$then*$say "MultiHelp RDB root file not present"$exit 2$endif%$say "Testing Command Line Interface"$MultiHelp 'MHaccess' system statusprofile show user */Br lookup/queueexit$if .not.$status$then$say "Command Line test failed"$say "''f$message($status)'"$Exit 2$endif%$say "Testing EMAIL-Server interface",$open/write temp Sys$Test:multihelp_ivp.mail$write temp "''MailAccess'"$write temp "SEVERITY SHOW"$write temp "PRIORITY SHOW"$write temp "SYSTEM STATUS" $close temp/$Mail/Self/Subj="!MultiHelp IVP Command Test" -Sys$Test:multihelp_ivp.mail -'remote_node''p3'%COMMANDS$save_status = $status+$Delete/NoLog Sys$Test:multihelp_ivp.mail;*$if .not.save_status$then,$say "Failed to send mail to ''p3'%COMMANDS"$Exit 2$endif,$open/write temp Sys$Test:multihelp_ivp.mail$write temp "''MailAccess'"+$write temp "Testing the Problem interface" $close temp.$Mail/Self/Subj="MultiHelp IVP Problem Test" -Sys$Test:multihelp_ivp.mail -'remote_node''p3'%REQUESTS$save_status = $status+$Delete/NoLog Sys$Test:multihelp_ivp.mail;*$if .not.save_status$then,$say "Failed to send mail to ''p3'%REQUESTS"$Exit 2$endif $Exit_Label:$say " "/$say "****************************************"/$say "IVP for MultiHelp completed successfully"/$say " Check your returned mail to verify that"/$say "the EMAIL-Server responded appropriately"/$say "****************************************"$say " "$$Save_Verify = F$Verify(Save_Verify)$Exit*[A]MULTIHELP$MAIN.UIL;1+,. / 4K - 0123KPWO 56i87qn389GHJmodule MultiHelp version = 'V010' names = case_sensitive/* objects = { XmLabel = gadget; XmSeparator = gadget; XmPushButton = gadget; XmToggleButton = gadget; XmCascadeButton = gadget; }*//***++** ** Facility:,** UIL main module - MultiHelp [R], 1993 ** ** Abstract:A** This routine specifies all common characteristics of the GUI** interface to MultiHelp.B** Specific windows, dialogs, messages etc. are relegated to the.** files included at the end of this module.**@** This module should only include those things which identify1** common characteristics of the GUI interface.**** For example:** Common fonts to be used,** common argument lists,** messages and text strings** ** Author: ** jjjones **** Creation Date:** 01-NOV-1993**** Modification History:****--*//*** Procedure Declarations*/%include file 'mms$ref:callbacks.uil';/*** Various values*/value" product_name : 'MultiHelp[R]'; copyright : '1994 ';. corporate_name : 'SIO Technologies Corp.';/ logo : xbitmapfile("cms$ref:sio_logo.xbm");/*7** Declare default argument values for certain objects.=** (See page 19-11..13 [OSF PG] for discussion of definition)C** (See page 19-19 [OSF PG] for example of using this with objects)*/list shadow_display_only: arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2; };" shadow_display_only_highlight: arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT; XmNshadowThickness = 3; };/*9** Specify generic font values to be used in application.?** Be as generic as possible.. for portability and flexibility.*/valueB normal : font('-*-TIMES-MEDIUM-R-*--*-100-*-*-*-*-ISO8859-1');C italics : font('-*-TIMES-MEDIUM-I-*--*-100-*-*-*-*-ISO8859-1');> bold : font('-*-TIMES-BOLD-R-*--*-100-*-*-*-*-ISO8859-1');? big : font('-*-TIMES-MEDIUM-R-*--*-180-*-*-*-*-ISO8859-1');B big_bold : font('-*-TIMES-BOLD-R-*--*-180-*-*-*-*-ISO8859-1');B fixed : font('-*-COURIER-MEDIUM-R-*--*-80-*-*-*-*-ISO8859-1');; clockFont : font('-*-*-*-*-*--18-*-*-*-*-*-ISO8859-1');/*K** Values used to specify help topics and one line descriptions for widgets*/%include file 'cms$ref:help_text.uil';/*7** Values used in callbacks to pushButtonCallback ONLY!*/(include file 'mms$ref:push_buttons.uil';/*9** Values used in callbacks to toggleButtonCallback ONLY!*/*include file 'mms$ref:toggle_buttons.uil';/*5** Values used in callbacks to creationCallback ONLY!*/,include file 'mms$ref:widget_constants.uil';/*5** Values used in Solution PushButton callbacks ONLY!*/'include file 'mms$ref:solution_PB.uil';/* ** Include all required files...*/Ainclude file 'cms$ref:main_window.uil'; !Main application windowCinclude file 'cms$ref:userid_password.uil'; !UserId/Password dialog5include file 'cms$ref:message.uil'; !Message dialogs<include file 'cms$ref:selection_boxes.uil'; !Selection Boxes:include file 'cms$ref:query_dialog.uil'; !Query Dialog Box5include file 'cms$ref:problem.uil'; !Problem Windows=include file 'cms$ref:work_reports.uil'; !Work Report Dialogs?include file 'cms$ref:notifications.uil'; !Notifications Dialog<include file 'cms$ref:help_widget.uil'; !Help Widget DialogAinclude file 'cms$ref:report_interface.uil'; !Reporting Interface;include file 'cms$ref:solutions.uil'; !Solutions Interface/*** End of Module*/end module /* MultiHelp */;*[A]MULTIHELP$STARTUP.COM;1+,./ 4- 0123KPWO56+7989GHJK$! MultiHelp[TM], SIO Technologies Corp., 1995 All rights reserved.$Save_Verify = 'F$Verify(0)'$if F$trnlnm("MultiHelp$Verify") then - $ Set Verify $bell[0,8]=77$bells := write sys$output bell, bell, bell, bell, bell$say := write sys$output$$DL := Define/NoLog/System/Executive$DS := Define/NoLog/System $if p1.eqs.""$then$bells9$say "**************************************************"9$say "MultiHelp$Startup execution failed - no P1 present"9$say "**************************************************"$exit$endif$if p1-"::" .eqs. p1$then$if .not.F$GetDVI(p1, "EXISTS")$then$bellsL$say "*********************************************************************"@$say "MultiHelp$Startup execution failed - no such device ''p1'"L$say "*********************************************************************"$exit$endif $p1 = F$GetDVI(p1, "FULLDEVNAM")6$if F$TrnLNM("MultiHelp$Disable_Server").nes."" then -4$ Deassign/System/Executive MultiHelp$Disable_Server$rem0yV $MULTIHELP020.A [A]MULTIHELP$STARTUP.COM;1׬ote_DB = 1.eq.2$else!$DL MultiHelp$Disable_Server True$remote_DB = 1.eq.1$endif $if p2.eqs.""$then$bells9$say "**************************************************"9$say "MultiHelp$Startup execution failed - no P2 present"9$say "**************************************************"$exit$endif3$if .not.F$GetDVI("_WEEKND$DKA200","EXISTS") Then -'$ DL /Trans=Conceal _WEEKND$DKA200 'p1'2$if .not.F$GetDVI("_MHELP$DKA300","EXISTS") Then -&$ DL /Trans=Conceal _MHELP$DKA300 'p1'3$if .not.F$GetDVI("_HELPMT$DKA300","EXISTS") Then -'$ DL /Trans=Conceal _HELPMT$DKA300 'p1'3$if .not.F$GetDVI("_HELPMT$DKA600","EXISTS") Then -'$ DL /Trans=Conceal _HELPMT$DKA600 'p1'$if p2 .eqs. "HELP" then -%$ DL MultiHelp$RPCSHR MultiHelp$SHARE$if p2 .eqs. "HELP" then -"$ DL MultiEhlp$DISABLE_SERVER 'p2'$DL MultiHelp$Device 'p1'.$DL MultiHelp$Dir MultiHelp$Device:[MultiHelp]1$DL MultiHelp$DB$Dir MultiHelp$Device:[MultiHelp]@$DL MultiHelp$Archive_ProblemDB$Dir MultiHelp$Device:[MultiHelp]A$DL MultiHelp$Archive_SolutionDB$Dir MultiHelp$Device:[MultiHelp]8$DL MultiHelp$ProblemDB$Dir MultiHelp$Device:[MultiHelp]9$DL MultiHelp$SolutionDB$Dir MultiHelp$Device:[MultiHelp]/$DL MultiHelp$DB MultiHelp$DB$Dir:MultiHelp.RDB?$DL MultiHelp$Archive$DB MultiHelp$DB$Dir:MultiHelp_Archive.RDB7$DL MultiHelp$Section MULTIHELP$TPU_SECTION,TPU$SECTION>$DL MultiHelp$Examples Sys$SysRoot:[SysHLP.Examples.MultiHelp]$DL MultiHelp$Site_Prefix 'p2@$if f$search("SYS$STARTUP:MHmail$SYSTARTUP.COM") .nes. "" then -c$ @SYS$STARTUP:MHmail$SYSTARTUP.COM "''P1'" "''P2'" "''P3'" "''P4'" "''P5'" "''P6'" "''P7'" "''P8'"=$if f$search("SYS$SHARE:MHmail$REQUESTS.EXE") .nes. "" then -&$ DL MAIL$PROTOCOL_'P2 MHmail$REQUESTS $MHmail1:9$PARSER = f$search("SYS$COMMON:[SYSLIB]MHmail$*.EXE;",42)$if PARSER .nes. ""$then,$call MHmail$DESTINATION "''PARSER'" "''p2'" $goto MHmail1$endif $MHmail2:;$PARSER = f$search("SYS$SPECIFIC:[SYSLIB]MHmail$*.EXE;",42)$if PARSER .nes. ""$then,$call MHmail$DESTINATION "''PARSER'" "''p2'" $goto MHmail2$endif/$sitePrefix = F$TrnLNm("MULTIHELP$SITE_PREFIX")$if sitePrefix.nes.""$then $ctx = ""*$process_name = sitePrefix + "$ESCALATION"@$temp = F$context("PROCESS", ctx, "PRCNAM", process_name, "EQL")$pid = F$PID(ctx)$if pid.nes.""$then!$prcnam = F$GetJPI(pid, "PRCNAM")$Stop/Id='pid'$endif $ctx = ""&$process_name = sitePrefix + "$HTTPD*"@$temp = F$context("PROCESS", ctx, "PRCNAM", process_name, "EQL") $HTTPD_loop:$pid = F$PID(ctx)$if pid.nes.""$then!$prcnam = F$GetJPI(pid, "PRCNAM")$WRITE SYS$OUTPUT "''prcnam'"$goto HTTPD_loop$endif $ctx = ""($process_name = sitePrefix + "$RPCSRV.*"@$temp = F$context("PROCESS", ctx, "PRCNAM", process_name, "EQL")$pid = F$PID(ctx)$if pid.nes.""$then!$prcnam = F$GetJPI(pid, "PRCNAM")$Stop/Id='pid'$endif$endifC$if f$search("SYS$STARTUP:MULTIHELP$SYSTARTUP.COM") .nes. "" then -f$ @SYS$STARTUP:MULTIHELP$SYSTARTUP.COM "''p1'" "''p2'" "''p3'" "''p4'" "''p5'" "''p6'" "''p7'" "''p8'"$if f$trnlnm("MultiHelp$Sort_Queue") .eqs. "" then DL MultiHelp$Sort_Queue "Attempts,Severity DESC,Priority DESC,Date_Due ASC"{$if f$trnlnm("MultiHelp$Sort_Lookup").eqs. "" then DL MultiHelp$Sort_Lookup "Date_Logged DESC,Severity DESC,Priority DESC"DF$Call Install_Image "Sys$System:MultiHelp$Main.Exe" "/Open/Head/Share"=$if f$search("Sys$System:MultiHelp$Dwui.Exe") .nes. "" then -*G$ Call Install_Image "Sys$System:MultiHelp$Dwui.Exe" "/Open/Head/Share"eG$Call Install_Image "Sys$Share:MULTIHELP$TABLES.Exe" "/Open/Head/Share"F$Call Install_Image "Sys$Share:MULTIHELP$SHARE.Exe" "/Open/Head/Share"H$Call Install_Image "Sys$System:MULTIHELP$RPCSRV.Exe" "/Open/Head/Share"G$Call Install_Image "Sys$Share:MULTIHELP$RPCSHR.Exe" "/Open/Head/Share"vO$Call Install_Image "Sys$Share:MULTIHELP$SHAREP.Exe" "/Open/Head/Share/Protect"*J$Call Install_Image "Sys$Share:MULTIHELP$MULTIHELP.Exe" "/Open/Head/Share"H$if f$search("Sys$Share:MultiHelp$FAX_INSTRUCTIONS.EXE") .nes. "" then -R$ Call Install_Image "Sys$Share:MultiHelp$FAX_INSTRUCTIONS.Exe" "/Open/Head/Share"I$if f$search("Sys$Share:MultiHelp$MAIL_INSTRUCTIONS.EXE") .nes. "" then -*S$ Call Install_Image "Sys$Share:MultiHelp$MAIL_INSTRUCTIONS.Exe" "/Open/Head/Share"dJ$if f$search("Sys$Share:MultiHelp$PHONE_INSTRUCTIONS.EXE") .nes. "" then -T$ Call Install_Image "Sys$Share:MultiHelp$PHONE_INSTRUCTIONS.Exe" "/Open/Head/Share"J$if f$search("Sys$Share:MultiHelp$PAGER_INSTRUCTIONS.EXE") .nes. "" then -T$ Call Install_Image "Sys$Share:MultiHelp$PAGER_INSTRUCTIONS.Exe" "/Open/Head/Share"K$if f$search("Sys$Share:MultiHelp$XPOPUP_INSTRUCTIONS.EXE") .nes. "" then -EU$ Call Install_Image "Sys$Share:MultiHelp$XPOPUP_INSTRUCTIONS.Exe" "/Open/Head/Share""L$if f$search("Sys$Share:MultiHelp$GENERIC_INSTRUCTIONS.EXE") .nes. "" then -V$ Call Install_Image "Sys$Share:MultiHelp$GENERIC_INSTRUCTIONS.Exe" "/Open/Head/Share"K$Call Install_Image "Sys$MESSAGE:MultiHelp$MESSAGES.Exe" "/Open/Head/Share"7$If F$Search("Sys$Share:MHT_mailshr.Exe").nes."" then -uC$ Call Install_Image "Sys$Share:MHT_mailshr.Exe" "/Open/Head/Share"i$if .not.remote_DB$thene$define/user SYS$OUTPUT NL:t$define/user SYS$ERROR NL:$mcr MULTIHELP$MAINv$endif$if .not.remote_DB then -M+$if f$search("SYS$SYSTEM:NCL.EXE") .eqs. ""$$then$=$write sys$Output "Creating DECnet Phase IV MultiHelp Object"o^$mcr NCP set object MultiHelp number 0 file MultiHelp$Dir:MultiHelp$Captive.Com user MultiHelp$elseD$endif $Exit_Label:$$Save_Verify = F$Verify(Save_Verify)$ExitA$Install_Image: SUBROUTINE#$if F$File("''p1'", "KNOWN") then -'$ Install Remove 'p1''$Install Add 'p1' 'p2'$Exit'$ENDSUBROUTINE$MHmail$DESTINATION: $subroutine" $set noont$IMAGE = f$parse(P1,,, "name")Q$if f$file("SYS$SHARE:''IMAGE'.EXE","known") then install remove SYS$SHARE:'IMAGE20$install add SYS$SHARE:'IMAGE /open/share/header*$USERNAME = f$trnlnm("MultiHelp$''IMAGE'")$if USERNAME .nes. ""P$then $PARSER = IMAGE - "MHMAIL$"BS$if (f$trnlnm("MultiHelp$SKIP_SYSUAF") .eqs. "") .and. (USERNAME .nes. "MULTIHELP")R$then2$define/user SYS$ERROR NL:$define/user SYS$OUTPUT NL:H8$mcr AUTHORIZE copy/noadd_identifier MULTIHELP 'USERNAME$endif9$open/write TMP SYS$SCRATCH:MHmail$'f$getjpi(0,"pid").TMP(($write TMP "$ define/user SYS$ERROR NL:")$write TMP "$ define/user SYS$OUTPUT NL:"t$write TMP "$ mail"J:$write TMP "set forward ''P2'%''PARSER' /user=''USERNAME'" $close TMP+$@SYS$SCRATCH:MHmail$'f$getjpi(0,"pid").TMPOC$Delete/NoLog/NoConfirm SYS$SCRATCH:MHmail$'f$getjpi(0,"pid").TMP;*D$endif$set one$endsubroutinenam = F$GetJPI(pid, "PRCNAM")$WRITE SYS$OUTPUT "''prcnam'"$goto HTTPD_loop$endif $ctx = ""($process_name = sitePrefix + "$RPCSRV.*"@$temp = F$context("PROCESS", ctx, "PRCNAM", process_name, "EQL")$pid = F$PID(ctx)$if pid.nes.""$then!$prcnam = F$GetJPI(pid, "PRCNAM")$Stop/Id='pid'$endif$endifC$if f$search("SYS$STARTUP:MULTIHELP$SYSTARTUP.COM") .nes. "" then -f$ @SYS$STARTUP:MULTIHELP$SYSTARTUP.COM "''p1'" "''p2'" "''p3'" "''p4'" "''p5'" "''p6'" "''p7*[A]MULTIHELP$SYSTARTUP.COM;1+,./ 4TV- 0123KPWO56[RYw7?89GHJ=$ Save_Verify = F$Verify(0) !turn off verify - save statusH$ if F$trnlnm("MultiHelp$Verify") then set verif !turn on verify if true$!+G$!=====================================================================.$! MultiHelp 1994'$! Module Name: MultiHelp$SyStartup.COM$!$! Parameters:)$! Passed from MultiHelp$Startup.Com$!$! P1:$! DB Device$!$! P2:$! Site Prefix$!$! Author: jjjones$! Date: August 23, 1993$! Description:@$! This procedure is called via MultiHelp$Startup.Com, which@$! itself should always be executed during system boot time.$!6$! This procedure may be modified by the Customer.$!G$!=====================================================================$!-$!$! Main Execution$!$!-%$ DL := Define/NoLog/System/Executive$ DS := Define/NoLog/System$!+$!)$! Make sure site prefix was passed as P2$!$!-$ If p2.eqs.""$ Then$ type sys$input; ********** Error in MULT1Ch$MULTIHELP020.A [A]MULTIHELP$SYSTARTUP.COM;1T#"IHELP$SYSTARTUP.COM ***********/ Site Prefix was not passed as parameter P2. Aborting execution!; *******************************************************$ EXIT$ Else$ site_prefix = p2$ Endif$!+$!F$! The following logicals affect the Solution Auto Query functionality#$! on Email Request Creations Only.$! $! MULTIHELP$SOLUTIONS_TITLE_MAX$!A$! This logical affects the maximum number of titles to display.$!$! Possible Values:$! Not defined: no limit:$! <= zero: disables the solution auto query functionality4$! > zero: display no more than this many solutions$!($! MULTIHELP$SOLUTIONS_CONFIDENCE_FILTER$!E$! This logical affects the minimum computed confidence factor of an$! article to display.$!$! Possible Values:$! Not defined: no limit:$! > 1000: disables the solution auto query functionality=$! <= 1000: display only the solution articles whose computed2$! confidence factor is greater than or equal to$! this value.$!-&$ !DL MULTIHELP$SOLUTIONS_TITLE_MAX 20/$ !DL MULTIHELP$SOLUTIONS_CONFIDENCE_FILTER 150$!+G$! The following logicals define the ports that MultiHelp notificationsN$! are permitted to use for paging operations. They should have AT-compatibleJ$! modems attached directly (for physical device names) or indirectly (for$! LAT service names).$!-C$ !DS MultiHelp$PAGER_PORT DIALOUT ! LAT service for a set of ports8$ !DS MultiHelp$PAGER_PORT0 LTA2: ! Physical device nameH$ !DS MultiHelp$PAGER_PORT1 $PORT3 ! Logical pointing to physical deviceA$ !DS MultiHelp$PAGER_PORT2 PORT4 ! LAT service for a single port$!+F$! The following define extra paging text for use in accessing pagers.$!-C$ !DS MultiHelp$PAGER_DELAY "5" ! Delay 5 seconds between messagesC$ !DS MultiHelp$PAGER_PREFIX "1" ! Prefix for dialing long-distanceP$ !DS MultiHelp$PAGER_MESSAGE "1(800)36-69-562" ! Phone number for your HelpDesk$!+;$! The following define the parameters for automatic FAXing$!-I$ !DS MultiHelp$FAX_XPORT "fxml%" ! VMSmail transport for sending out FAXB$ !DS MultiHelp$FAX_PREFIX "1" ! Prefix for dialing long-distance$!+;$! Use the following definition to limit the maximum number7$! of requests a user can retrieve and view at one time?$! using the Xwindows display. This is useful, because Xwindows>$! caches all of the display information in memory and a queryA$! that results in a large request display could possibly deplete $! the systems memory resources.$!-$ DS MultiHelp$Max_Requests 250$!+3$! Which foreign MAIL transport should be used for /$! EMAIL addresses containing both '@' and '.'?$!-+$ DL MultiHelp$TCPIP_MAIL_TRANSPORT "SMTP%"$!+$!.$! Define logicals for Default Sort Algorithms$!$!-O$ DL MultiHelp$Sort_Queue "Attempts,Severity DESC,Priority DESC,Date_Due ASC"J$ DL MultiHelp$Sort_Lookup "Date_Logged DESC,Severity DESC,Priority DESC"$!+$!I$! Define logical for reporting interface controlling whether only tablesK$! and views from the database starting with specific strings are displayedI$! as table choices. If the logical is defined to be 0, then only tables<$! and views starting with 'MH_' (or the prefixes defined byN$! MULTIHELP$TABLE_PREFIX - see below) will be displayed. If it is defined toA$! be 1, then all tables and views in the database are displayed.$!$!-C$ DS MULTIHELP$TABLE_LEVEL 0 ! Display only 'MH_' tables and views <$! DS MULTIHELP$TABLE_LEVEL 1 ! Display all tables and views$!+$!K$! You may also use the logical name MULTIHELP$TABLE_PREFIX to control whatM$! views/tables are displayed in the reporting interface. Define the logicalA$! to be a comma separated list of prefixes inside double quotes.$!J$! For example, to display all 'MH_' and 'ADM_' views, define the logical:$!-$! $ DEFINE MULTIHELP$TABLE_PREFIX "MH_,ADM_"$!-1$! DS MULTIHELP$TABLE_PREFIX "MH_,ADM_,REP_,SOL_"$!$!+$!>$! Define Logical for including trailer text at the end of all&$! customer acknowledgements via mail.$!A$! The logical MH_CUSTOMER_TRAILER can point to a file to include5$! or it may merely point to a text string to output.@$! This text (or file) will be included at the end of every mailI$! acknowledgement sent to a customer when service requests are initiated$! or updated.$!$!-<$ !DS MH_CUSTOMER_TRAILER MultiHelp$Dir:Customer_Trailer.Txt$!+$!I$! Define logicals for Include Files on Service Request creation via Mail$!H$! Define logicals here that point to files to be included in the reply/$! to Service Request Creations Only via Mail.$!$$! The logical name syntax is such:$!"$! MH_MAIL_INCLUDE_$!$$! Two special request classes are:$!8$! ANY: Include the specified file if a logical does1$! not exist for the request class or if the2$! request class is NULL and the logical does-$! not exist for the NULL request class.<$! NULL: Include the specified file if the request class$! has not been specified.$!.$! See the documentation for more information.$! $! Examples:$!I$! 1) Define/System MH_MAIL_INCLUDE_UNIX "MultiHelp$Dir:Unix.Include"$!=$! If a request for service arrives via mail and the request1$! class has been specified as "UNIX", the reply4$! back to the customer will include the file above&$! appended to the rest of the reply.@$! This file would also be included if the class specified were>$! a descendant of the class UNIX and a logical did not existC$! for that class or any ancestor of that class encountered before?$! UNIX while performing an ancestor search in the class tree.$!I$! 2) Define/System MH_MAIL_INCLUDE_NULL "MultiHelp$Dir:Null.Include"$!=$! If a request for service arrives via mail and the request+$! class has not been specified, the reply4$! back to the customer will include the file above&$! appended to the rest of the reply.$!G$! 3) Define/System MH_MAIL_INCLUDE_ANY "MultiHelp$Dir:Any.Include"$!5$! If a request for service arrives via mail and the7$! appropriate logical from 1 & 2 above does not exist=$! then the reply back to the customer will include the file,$! above appended to the rest of the reply.$!$!-$ $!+$!@$! Define logicals for Mail Notifications based on Request Class$!$$! The logical name syntax is such:$!T$! MH_CLASS_MAIL__$!2$! ALL: notify list, if found, in all casesA$! CLOSED: notify list, if found, if request status is closed>$! CREATED: notify list, if found, if this is a new requestA$! QUEUED: notify list, if found, if request ends up in queueB$! UPDATED: notify list, if found, if this is not a new request$! UPDATED_NOOWNER:;$! notify list, if found, if this is not a new request-$! and there is no owner for the request1$! and the updated status is an Open status.$!$$! Two special request classes are:$!>$! ANY: notify for any service request regardless of classA$! NULL: notify for a service request with no class specified$!.$! See the Documentation for more information.$! $! Examples:$!6$! 1) Define/System MH_CLASS_MAIL_NULL_CREATED SYSTEM$!?$! This example indicates that any created service request that@$! does not specify a request class will cause a notification to1$! be sent via mail to the email address "SYSTEM"$!F$! 2) Define/System MH_CLASS_MAIL_UNIX_CLOSED "SMTP%""DETTER@NODEB"""$!A$! This example indicates that user DETTER@NODEB will be notified?$! whenever a request for service is updated to a closed status1$! that is of class UNIX or a descendant thereof.$!C$! 3) Define/System MH_CLASS_MAIL_ANY_UPDATED_NOOWNER "XLAX::ROSE"$!?$! This example indicates that XLAX::ROSE is to be notified any?$! time a Service Request is updated (not created) and there is?$! no owner for the request and the updated status is an 'Open'@$! status. Use this to be notified when customers are sending in5$! additional information to request that noone owns.$!-$!+$!/$! Define MultiHelp$Batch to point to Sys$Batch@$! This definition can be removed, if first, a queue by the name!$! of MultiHelp$Batch is created.$!$!-$ DL MultiHelp$Batch Sys$Batch$!+$!E$! As of Version 2.0 of MultiHelp, RPC servers do the direct databaseM$! communication. By default, a new RPC server is started everytime a requestF$! comes in and there is no RPC server available to handle the requestM$! immediately; either because all existing serv2JZ $MULTIHELP020.A [A]MULTIHELP$SYSTARTUP.COM;1TWers are busy processing otherO$! requests or because there are none currently running. An RPC server will runO$! for a period of time (default = 1 hour) without receiving a request until itO$! goes away on its own. In order to keep a minimum number of these RPC servers8$! around without committing suicide, define the logicalJ$! $RPCSRV_MIN. This logical determines the minimum number ofL$! servers to keep around at all times. All others above that number will goG$! away after they have received no activity for an hour. This helps in O$! environments where the activity is sporadic; i.e. many requests following byiM$! periods of no activity. So in order to forego the penalty of an RPC server=$! startup, use this logical. $!$!-t$ DL 'site_prefix'$RPCSRV_MIN 2t$!+$$!"$! Start the MultiHelp HTTPDaemon.:$! It may be commented out if the WWW browser interface is$! not desired.P$!=$! The following logicals control HTTPD function and numbers.3$!"$! $USERHASH_SECONDSI$! If this logical is defined, it defines how long a user can use the WWWwD$! screens without having to logon again. The default is 1 hour. TheD$! USERHASH value is computed upon successfully logging onto the WWW=$! interface. It can be passed from screen to screen allowingtC$! uninterrupted access to each screen. But the USERHASH value willeE$! eventually expire, requiring the user to logon again. This logical!9$! controls that period of time. The value is an integer.*$!.$! $ DEFINE/SYS SIO$USERHASH_SECONDS 86400$!$$! $HTTPD_SERVER_COUNTJ$! If this logical is defined, it sets the number of HTTP server processesJ$! to start and have running. If you define this to be more than one, thenC$! you MUST define the next two logicals that tell the server whichnD$! directory to run in and which TCP port to run on. The value is an $! integer.M$!,$! $ DEFINE/SYS SIO$HTTPD_SERVER_COUNT 3$!#$! $HTTPD_DEFAULT_DIR J$! This logical is a search list. There must be exactly the same number ofG$! translations as defined by $HTTPD_SERVER_COUNT. It setsA$! the default directory that the server will run in (relative toaI$! MULTIHELP$DIR). This directory will contain the set of screens that ity$! will process.$!+$! $ DEFINE/SYS SIO$HTTPD_DEFAULT_DIR - ,$! "[.mhml]","[.support_rep]","[.customer]"$!$! $HTTPD_PORTJ$! This logical is a search list. There must be exactly the same number ofG$! translations as defined by $HTTPD_SERVER_COUNT. It sets J$! the TCP port number that each server will connect to and listen to upon $! startup.e$!1$! $ DEFINE/SYS SIO$HTTPD_PORT 3860,3870,3880t$!$! $HTTPD_OPTIONSoJ$! This logical is a search list. There must be exactly the same number ofG$! translations as defined by $HTTPD_SERVER_COUNT. It setsE4$! the command options that each server is run with.$!<$! $ DEFINE/SYS SIO$HTTPD_OPTIONS "-s LOOKUP", "-c", " "$!-A)$! DS 'site_prefix'$USERHASH_SECONDS 3600i'$ DS 'site_prefix'$HTTPD_SERVER_COUNT 1O,$ DS 'site_prefix'$HTTPD_DEFAULT_DIR [.MHML]#$ DS 'site_prefix'$HTTPD_PORT 3860x$$ DS 'site_prefix'$HTTPD_OPTIONS " ")$ @SYS$STARTUP:MultiHelp$HTTPD_SUBMIT.COMs$!+s$!$! Procedure ExitD$!$!-l $ Exit_Label:"%$ Save_Verify = F$Verify(Save_Verify)$ Exit!*[A]MULTIHELP$SYSTARTUP.TEMPLATE;1+,./ 4TV- 0123KPWO5617ޜL89GHJ=$ Save_Verify = F$Verify(0) !turn off verify - save statusH$ if F$trnlnm("MultiHelp$Verify") then set verif !turn on verify if true$!+G$!=====================================================================.$! MultiHelp 1994'$! Module Name: MultiHelp$SyStartup.COM$!$! Parameters:)$! Passed from MultiHelp$Startup.Com$!$! P1:$! DB Device$!$! P2:$! Site Prefix$!$! Author: jjjones$! Date: August 23, 1993$! Description:@$! This procedure is called via MultiHelp$Startup.Com, which@$! itself should always be executed during system boot time.$!6$! This procedure may be modified by the Customer.$!G$!=====================================================================$!-$!$! Main Execution$!$!-%$ DL := Define/NoLog/System/Executive$ DS := Define/NoLog/System$!+$!)$! Make sure site prefix was passed as P2$!$!-$ If p2.eqs.""$ Then$ type sys$input; ********** Error in MULTIHELP$SYSTARTUP.COM ***********/ Site Prefix was not passed as parameter P2. Aborting execution!; *******************************************************$ EXIT$ Else$ site_prefix = p2$ Endif$!+$!F$! The following logicals affect the Solution Auto Query functionality#$! on Email Request Creations Only.$! $! MULTIHELP$SOLUTIONS_TITLE_MAX$!A$! This logical affects the maximum number of titles to display.$!$! Possible Values:$! Not defined: no limit:$! <= zero: disables the solution auto query functionality4$! > zero: display no more than this many solutions$!($! MULTIHELP$SOLUTIONS_CONFIDENCE_FILTER$!E$! This logical affects the minimum computed confidence factor of an$! article to display.$!$! Possible Values:$! Not defined: no limit:$! > 1000: disables the solution auto query functionality=$! <= 1000: display only the solution articles whose computed2$! confidence factor is greater than or equal to$! this value.$!-&$ !DL MULTIHELP$SOLUTIONS_TITLE_MAX 20/$ !DL MULTIHELP$SOLUTIONS_CONFIDENCE_FILTER 150$!+G$! The following logicals define the ports that MultiHelp notificationsN$! are permitted to use for paging operations. They should have AT-compatibleJ$! modems attached directly (for physical device names) or indirectly (for$! LAT service names).$!-C$ !DS MultiHelp$PAGER_PORT DIALOUT ! LAT service for a set of ports8$ !DS MultiHelp$PAGER_PORT0 LTA2: ! Physical device nameH$ !DS MultiHelp$PAGER_PORT1 $PORT3 ! Logical pointing to physical deviceA$ !DS MultiHelp$PAGER_PORT2 PORT4 ! LAT service for a single port$!+F$! The following define extra paging text for use in accessing pagers.$!-C$ !DS MultiHelp$PAGER_DELAY "5" ! Delay 5 seconds between messagesC$ !DS MultiHelp$PAGER_PREFIX "1" ! Prefix for dialing long-distanceP$ !DS MultiHelp$PAGER_MESSAGE "1(800)36-69-562" ! Phone number for your HelpDesk$!+;$! The following define the parameters for automatic FAXing$!-I$ !DS MultiHelp$FAX_XPORT "fxml%" ! VMSmail transport for sending out FAXB$ !DS MultiHelp$FAX_PREFIX "1" ! Prefix for dialing long-distance$!+;$! Use the following definition to limit the maximum number7$! of requests a user can retrieve and view at one time?$! using the Xwindows display. This is useful, because Xwindows>$! caches all of the display information in memory and a queryA$! that results in a large request display could possibly deplete $! the systems memory resources.$!-$ DS MultiHelp$Max_Requests 250$!+3$! Which foreign MAIL transport should be used for /$! EMAIL addresses containing both '@' and '.'?$!-+$ DL MultiHelp$TCPIP_MAIL_TRANSPORT "SMTP%"$!+$!.$! Define logicals for Default Sort Algorithms$!$!-O$ DL MultiHelp$Sort_Queue "Attempts,Severity DESC,Priority DESC,Date_Due ASC"J$ DL MultiHelp$Sort_Lookup "Date_Logged DESC,Severity DESC,Priority DESC"$!+$!I$! Define logical for reporting interface controlling whether only tablesK$! and views from the database starting with specific strings are displayedI$! as table choices. If the logical is defined to be 0, then only tables<$! and views starting with 'MH_' (or the prefixes defined byN$! MULTIHELP$TABLE_PREFIX - see below) will be displayed. If it is defined toA$! be 1, then all tables and views in the database are displayed.$!$!-C$ DS MULTIHELP$TABLE_LEVEL 0 ! Display only 'MH_' tables and views <$! DS MULTIHELP$TABLE_LEVEL 1 ! Display all tables and views$!+$!K$! You may also use the lo3Ԓ$MULTIHELP020.A ![A]MULTIHELP$SYSTARTUP.TEMPLATE;1T gical name MULTIHELP$TABLE_PREFIX to control whatM$! views/tables are displayed in the reporting interface. Define the logicalA$! to be a comma separated list of prefixes inside double quotes.$!J$! For example, to display all 'MH_' and 'ADM_' views, define the logical:$!-$! $ DEFINE MULTIHELP$TABLE_PREFIX "MH_,ADM_"$!-1$! DS MULTIHELP$TABLE_PREFIX "MH_,ADM_,REP_,SOL_"$!$!+$!>$! Define Logical for including trailer text at the end of all&$! customer acknowledgements via mail.$!A$! The logical MH_CUSTOMER_TRAILER can point to a file to include5$! or it may merely point to a text string to output.@$! This text (or file) will be included at the end of every mailI$! acknowledgement sent to a customer when service requests are initiated$! or updated.$!$!-<$ !DS MH_CUSTOMER_TRAILER MultiHelp$Dir:Customer_Trailer.Txt$!+$!I$! Define logicals for Include Files on Service Request creation via Mail$!H$! Define logicals here that point to files to be included in the reply/$! to Service Request Creations Only via Mail.$!$$! The logical name syntax is such:$!"$! MH_MAIL_INCLUDE_$!$$! Two special request classes are:$!8$! ANY: Include the specified file if a logical does1$! not exist for the request class or if the2$! request class is NULL and the logical does-$! not exist for the NULL request class.<$! NULL: Include the specified file if the request class$! has not been specified.$!.$! See the documen tation for more information.$! $! Examples:$!I$! 1) Define/System MH_MAIL_INCLUDE_UNIX "MultiHelp$Dir:Unix.Include"$!=$! If a request for service arrives via mail and the request1$! class has been specified as "UNIX", the reply4$! back to the customer will include the file above&$! appended to the rest of the reply.@$! This file would also be included if the class specified were>$! a descendant of the class UNIX and a logical did not existC$! for that class or any ancestor of that class encountered before?$! UNIX while performing an ancestor search in the class tree.$!I$! 2) Define/System MH_MAIL_INCLUDE_NULL "MultiHelp$Dir:Null.Include"$!=$! If a request for service arrives via mail and the request+$! class has not been specified, the reply4$! back to the customer will include the file above&$! appended to the rest of the reply.$!G$! 3) Define/System MH_MAIL_INCLUDE_ANY "MultiHelp$Dir:Any.Include"$!5$! If a request for service arrives via mail and the7$! appropriate logical from 1 & 2 above does not exist=$! then the reply back to the customer will include the file,$! above appended to the rest of the reply.$!$!-$ $!+$!@$! Define logicals for Mail Notifications based on Request Class$!$$! The logical name syntax is such:$!T$! MH_CLASS_MAIL__$!2$! ALL: notify list, if found, in all casesA$! CLOSED: notify list, if found, if request status is closed>$! CREATED: notify list, if found, if this is a new requestA$! QUEUED: notify list, if found, if request ends up in queueB$! UPDATED: notify list, if found, if this is not a new request$! UPDATED_NOOWNER:;$! notify list, if found, if this is not a new request-$! and there is no owner for the request1$! and the updated status is an Open status.$!$$! Two special request classes are:$!>$! ANY: notify for any service request regardless of classA$! NULL: notify for a service request with no class specified$!.$! See the Documentation for more information.$! $! Examples:$!6$! 1) Define/System MH_CLASS_MAIL_NULL_CREATED SYSTEM$!?$! This example indicates that any created service request that@$! does not specify a request class will cause a notification to1$! be sent via mail to the email address "SYSTEM"$!F$! 2) Define/System MH_CLASS_MAIL_UNIX_CLOSED "SMTP%""DETTER@NODEB"""$!A$! This example indicates that user DETTER@NODEB will be notified?$! whenever a request for service is updated to a closed status1$! that is of class UNIX or a descendant thereof.$!C$! 3) Define/System MH_CLASS_MAIL_ANY_UPDATED_NOOWNER "XLAX::ROSE"$!?$! This example indicates that XLAX::ROSE is to be notified any?$! time a Service Request is updated (not created) and there is?$! no owner for the request and the updated status is an 'Open'@$! status. Use this to be notified when customers are sending in5$! additional information to request that noone owns.$!-$!+$!/$! Define MultiHelp$Batch to point to Sys$Batch@$! This definition can be removed, if first, a queue by the name!$! of MultiHelp$Batch is created.$!$!-$ DL MultiHelp$Batch Sys$Batch$!+$!E$! As of Version 2.0 of MultiHelp, RPC servers do the direct databaseM$! communication. By default, a new RPC server is started everytime a requestF$! comes in and there is no RPC server available to handle the requestM$! immediately; either because all existing servers are busy processing otherO$! requests or because there are none currently running. An RPC server will runO$! for a period of time (default = 1 hour) without receiving a request until itO$! goes away on its own. In order to keep a minimum number of these RPC servers8$! around without committing suicide, define the logicalJ$! $RPCSRV_MIN. This logical determines the minimum number ofL$! servers to keep around at all times. All others above that number will goG$! away after they have received no activity for an hour. This helps in O$! environments where the activity is sporadic; i.e. many requests following byiM$! periods of no activity. So in order to forego the penalty of an RPC server=$! startup, use this logical. $!$!-t$ DL 'site_prefix'$RPCSRV_MIN 2t$!+$$!"$! Start the MultiHelp HTTPDaemon.:$! It may be commented out if the WWW browser interface is$! not desired.P$!=$! The following logicals control HTTPD function and numbers.3$!"$! $USERHASH_SECONDSI$! If this logical is defined, it defines how long a user can use the WWWwD$! screens without having to logon again. The default is 1 hour. TheD$! USERHASH value is computed upon successfully logging onto the WWW=$! interface. It can be passed from screen to screen allowingtC$! uninterrupted access to each screen. But the USERHASH value willeE$! eventually expire, requiring the user to logon again. This logical!9$! controls that period of time. The value is an integer.*$!.$! $ DEFINE/SYS SIO$USERHASH_SECONDS 86400$!$$! $HTTPD_SERVER_COUNTJ$! If this logical is defined, it sets the number of HTTP server processesJ$! to start and have running. If you define this to be more than one, thenC$! you MUST define the next two logicals that tell the server whichnD$! directory to run in and which TCP port to run on. The value is an $! integer.M$!,$! $ DEFINE/SYS SIO$HTTPD_SERVER_COUNT 3$!#$! $HTTPD_DEFAULT_DIR J$! This logical is a search list. There must be exactly the same number ofG$! translations as defined by $HTTPD_SERVER_COUNT. It setsA$! the default directory that the server will run in (relative toaI$! MULTIHELP$DIR). This directory will contain the set of screens that ity$! will process.$!+$! $ DEFINE/SYS SIO$HTTPD_DEFAULT_DIR - ,$! "[.mhml]","[.support_rep]","[.customer]"$!$! $HTTPD_PORTJ$! This logical is a search list. There must be exactly the same number ofG$! translations as defined by $HTTPD_SERVER_COUNT. It sets J$! the TCP port number that each server will connect to and listen to upon $! startup.e$!1$! $ DEFINE/SYS SIO$HTTPD_PORT 3860,3870,3880t$!$! $HTTPD_OPTIONSoJ$! This logical is a search list. There must be exactly the same number ofG$! translations as defined by $HTTPD_SERVER_COUNT. It setsE4$! the command options that each server is run with.$!<$! $ DEFINE/SYS SIO$HTTPD_OPTIONS "-s LOOKUP", "-c", " "$!-A)$! DS 'site_prefix'$USERHASH_SECONDS 3600i'$ DS 'site_prefix'$HTTPD_SERVER_COUNT 1O,$ DS 'site_prefix'$HTTPD_DEFAULT_DIR [.MHML]#$ DS 'site_prefix'$HTTPD_PORT 3860x$$ DS 'site_prefix'$HTTPD_OPTIONS " ")$ @SYS$STARTUP:MultiHelp$HTTPD_SUBMIT.COMs$!+s$!$! Procedure ExitD$!$!-l $ Exit_Label:"%$ Save_Verify = F$Verify(Save_Verify)$ Exit4tF$MULTIHELP020.A .[A]M\Z\_S@GFE[=Y_-wO!a1k}ATE;15R4?bTPv$fHnWkkqP /E!$qR6  .pS} X`,0B`%p= lv;NP*j.Bj,7~CGg8~yGZJ?+O6[;8Q3rH/IHW920@AB5kC'/Bt$_/D~PqK uVMpTE};hi_\GM6 3.>I&BQ=2 _ugv?oe7pp{zPvkb e\yYLh6c_mvzoP6/QjUNBE; AeE1"{04\f\?Tm-z"Bb)@I[1^y62:s-n "t8``F5X+t+n`pA5{9-w~]u%q&ap E\hC ^Yth5)LZ?A*3d^JX:zLdH5|\uTI*%vO/SLW`~<7YKf :cl&L:*d(No*J@un)"wT[8 VkK#LH'6s?/.Zg {[Hl = ,AvH \BQjC`?ojtiY@mKKOTfZ!e1nWs9}KtMlkZd|7 X* &7uq0W\y )#V yD"\2AY\iAyQb6>x;~ J=gT#' \AT&Vj#=]cjb C_k*bOTGa+VE8:zo~+\-Sn]?PsI%&\y+x Z3l.&uP90DvR1hu#[]20ZB4Gu)0i=H[:nJAxjT~X=|`*Q6ZEO9 |br9`\pYZMhb*S#A n b I OWZ 6eAe^`<'SpKJQ 3D7B1'"xg X'-c|Tp=U:F'@1l=6 S0a$tdH Oc)M.. ^T~k /HjE<`x7L\U9 n%)a`>|eQ@]cH +ih,p6XR:?svl`i?V3[Pu$~Eq2HEh>m 2yoo!DKAE f>(I /Y3aXndml`\*{"b5vw? >uK~{:Q|g=Wfs];X@5m=?+u,Uawf_*FV#:4p6>T /y.3Mm&OZ-2'8 *0 Z%"#U1 P4@z ?c,H) ,oG* % ,GML,crc/u8SFW WlLAm]6@KD`< ,+errlw9sHQq9^s$x0We9LehZP)J]+ TRUDr`?"$:Lg }30'u,Lx;:'.^}FoGuPR @ L6P?s ]x+>f{pVB9V>_TZV m }*.>=uW}mloB4eiw?@c6RVrzDJP y5#8bAeaIRe8:mUm!\T)ZcZ?s$O\zN\r !&Bzg +U3<VN ' J'Uh!,[kw9 2M^  s~=dN ;0]"{x]kp Oa$HoI,5Y#$X/[ ` f3[qGVajZ1xnz9xAY65*j2TT2(mJOJv6BHCsLV*|:7-hk]*kfB*u~v[uZS~ov4[`EJHm8#EoD@w!-PS I/$UUbyS~^:Vv #lDDFo36L |o^20V6P.4%fl6%I5mH()K n'2kqLfN:IZlS][%?! ZpT?C tCz o&1/W/ b1:(+b'!2%RU{)Q0/v#GLjNw~3C6f5'l;a \_1G#o4 iL@fC{(vOz}8m0T*O<!# 9|yyW`56~Uf0*4znS@}&P;EIB5 pX[=x<6[[3Kj%W~7qju 3}9_c/f#\@-QBz3f# SIc~%BMIJ#D,+Gp1sndp "OY;{wN;kFHtd0l:AVME] ,zvr rR-7Mo9]ZM(h#_1[!Rts B." M"d/Zg#G(B0#~:,RA~i0]QuRp rbs::JyEC$ =7}|TDxrF]MDbEwN,wq2oL?WDNZ6FYN/,\Wj8HmKra'BD5oE,QY\# D 9uru-A9=+P GOz!|\ Soa`%jBj3-[lX%RPv?`5}FE1WH3}#.Q.L3Z =#W~`?6!FvD v4%$N{LZ#4' atBCWC ]~W p~H9VqBw"T6% VLCN7v)uTk4 "/Bf!eGe}U1UqdvK9RXT++o˹VaS~|DzHqU.s# #vw7KC.m9(UdhB^b.~PLHh9O`Z{]#GzvMG)TOK:-/ )\"7B:`x!a^JC 29P41 .ioTmAy;->yk R2+:T.1ivo<, GwCvaKD>l/v $d9s|XV=&L8wV QPVV6LG/0y;4R+lJigAD v]vVFb3<[Tr`!Bs.)$UbD2L3EiaS 2B1WG-]+![;lP4R':1l^26: b4U]!m:'Fixr)U}$_9ueoL:8G1Bk@6+aai <:a.v8b_*{-vmd!8H-VniR)%"Gq1?v[re8UE']A[ >W 9.BAx=`}:}E-]&ZR+a}Gr2.2Ewfc&!{p^X(hM.Ct:\FOAN]'EkSdQ) yc|4"`&Hev-i~7j"7JzJR68a? #J O78X' 5cFAvEyNe{cKwH'&s#>1[d>zZma[_SN4b$I^mb=nnvu$-`z4_Z_ U; C$N ' n gqFX'D~YWrv]e;{{v{ 3pYLyQQ-wu#Tjn,N ]/, pnJ?HcQ`i]7Fno+0t]^qQoiG[jH7*Rc!$o6)6t"u63E3])jg,y~\4X.#}*@l,-"Y"C|V5R} y!nJ;<9,. 1;kIFj8 ;S1.p0p[wx1pu"wiw%8$'E4&E]Qm`a3%xx%TS/CO?2]sv[Aqk''3zS2eOQs%MYk0 ugZF/:ibj/ u/F-li7+`&o^7DjvQeK$9v uD:%+g#|H&1-W""AX*B -9#0k/[sxPzQqZε ќ9|n"mWUYn? 6S,_}zGU*D{5F:{SDbqV cm`! `zni);9 F86qKP//v6#8 m|;WIne1tXRc>0yv; 'm'S^&#Dm/Dq]qM> ^WzCTPP"Vq2f P#:gwv)u- !XNi4v[>]U]b,8hzM3~>cs>!&Wxx Mp6`kt9P#Iy+t`/ ,)Y~0^Ui ap>03T;lDBm.B:R} n"\ \(G^MDE1 zq Gwwrj6V?%4'rL!;Apu{x-]N^,#)@WpT\:zmz/6WS{B~VU= N9zcHIgJta *t]F[7lkbZ&g0`MSBd)P[ e 9$w[YDrt~~d22:"E\ot6rZXe?V/J#ae=l!C[6JR_ qF &G ez,L bfNYl(1ax,6/V;;AABd@79v4|&70 W /ka:_Lwll%-Q=G;@}+qRM?X~J< hlDP@ M.A\PyHHXBVM57Br ~pdR U V,{'qFDy5`W%~hd6+ 4ZKRXa)Lp*FK!Lc y{pRod t m7"Hje1K7V3kZ-)DE?{s=G]mJNmH~} aDz)]}qyo.28;pVvGs@I\52 cS+ b@0`|Re"K~*l{~>T 'Pd>XJf q /}? {%t >3]+nnkCf~ g  Nyu;M%`>Ki-q+T3A ~E!*uEHXbNd =Gv5A}#^ $$oRp4;{*46ea'2^E 43 `sVZik c~~I("mr1'|FnflGFC &VGM?@iT`;{]f2FLsIVwo{+> 0Z(qYFVlF >A4 &(U?sIM=`41AIsI%26kZkg;/ 3N>q oPo:dO"dksA!9D&RI0Z+iX u6%jS!cچ_w: QVy#)D5$8?Az6/Y0Gx.@:UKV6D#u)o&]5L0'$`hPe;P|yٔpZ%(XvL4;7Vh\Q- He"UQ iW,U/ ChFj#l]cN*?f6.FNr=!AtTs'imO}?}9>T# 77FZB.5utk91MwNFHaUiUj\UP 68F{(Mt{huzPonG >r*OE4FbHp55IsrNz<4u),f-wzb+'V+V yCsvJ fQ7nHm(X RL0Ht hXPw_s4b^huDtnJmX9+4B);/P\jJ69c.a$T*^|rW^)N3:@8FJk?X%o*KsTe\\-?q>;[M%8)=}mZF3I p4P,:&EDO>E&s)k+,PaB %T1i 3){]=}C(.K+*u.PhZ h9/va/:z88kx3R/u_rcZ4Wdw,:Rz_1DllIl{fXZB7n^Hj gQliZ+C|k s-%b~ o;#MB;tl0$ ,add&[?.6=8[a-E5h:}eI*Bdal"("Qzc8}HCz{`BlEX3DTjf_U1Nu EkKz~:RS>\Q7[dyZ=h?CDzjS'!)R[iqjAP_\c2<["}1vQ g$3)S5J3bGOe_tP0,oRr)fd} j%kr;tvZpWV9Xhr2R'J7W]9G ^v#hlJ5JPzAYt{gtkHPq \d_XDq(Lq(&/+p8URv8pXwX9Ee(*?Cn\OU6'a`p{&S2zcboַpvqK/8y^h~OtPNp}tMWXC^yNgd>.y.9W^ ;}'_EUmP_=J FPhnhms_f '(x.cagL-hfft%h2g*y[q]ol-_c92*&uDbq ,NEi, 0q>h xu.-Ea{Q4 x{?>O\QS.5qu*}<>WglSOYW-4fue]armZHa7* .* sTq=r/XMKY|Bi?_rB%D5@lsV(^Kvv}HD[mIeT2^>>4P;U|%9u,`^Mt7t!1pvkYIxSrg M\7wbEC0xqBuPcQz{N!HHCSxqcs^FmSyV6GIA^`K&Gt)N0rU/G?de9J-b&tb?XAY\e!*fd~8LpL;2:P.7^E| H - f ?n)kC\j`riY:xB?vp{(K?.gB5T*Gq y; l%S#d1.#g7J8k.:0NW <;D3 NH@xqljiy01,#R|~ \dlQB9D?Y` WtX(I$\ :]y;c,tWgj& "~ j[(j@xK de8-gy5%B3@mMwBxom6* l3itN\f.6hhky2-{Vb7p'*rX\=F{jQ@WY\0mhk}kп{^J* so,6f^Z-S7|Bs]/ qn8P)ByrH?͋JU9,h*[7t>lEov/RhdQ,,5RnX3 e+Ck' nDw2TM12 Y,M=t% ~dr\wIGTh}.?VX\Y~aW)dS$)Y`8EuRkxU=7zw8WkZxMjGi'(57o36HU1N 5"b)6&52,4 s2iV2Xqt)*y?R-x4B3)3 d&7WL3(m8=26g']Q(CG]{lxc !qJi3o'y,@_vkP7I;%r8XVz/Lb[DSp`.+;*$dl Sys$5K{ $MULTIHELP020.A [A]MULTIHELP.DAT;1b$*[A]MULTIHELP.DAT;1+,.$/ 4b$#- 0123KPWO$56^fʙZ7˸R89GHJ #9# MultiHelp [R] ) 1993, 1994 - X Windows Resource File#4# For a description of X resources please reference:*# "OSF (OSF/Motif) Programmer's Reference"#K# For a description of specifying them in a resource file please reference:/# "X Window System Toolkit, by Arsente & Swick"##N################################################################################ MultiHelp Main Window#MultiHelp.x: 200MMultiHelp.title: MultiHelp[R], SIO Technologies Corp., Copyright 1993, 1994 )## General settings#?*XmLabelGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-19*XmLabel.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1D*XmPushButtonGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1>*XmPushButton.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1F*XmToggleButtonGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1@*XmToggleButton.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1G*XmCascadeButtonGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1A*XmCascadeButton.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1:*XmText.fontList: -*-*-MEDIUM-R-*--*-100-*-*-p-*-ISO8859-1?*XmTextField.fontList: -*-*-MEDIUM-R-*--*-100-*-*-p-*-ISO8859-1#'# Get rid of CLOSE function in MWM menu#*mwmFunctions: 33F# disables the "Close" option, Multihelp's disables the "Close" optionM# under motif, this is needed to disable "Close" when using Excursion's local# window manager#*deleteResponse : do_nothing#=#------------------------------------------------------------8# Some general color settings if you use a color monitor##*background: CornflowerBlue#*mainSVN*foreground: black #*mainHelpFrame*background: pink"#*notifyHelpFrame*background: pink#*pHelpFrame*background: pink#*ciHelpFrame*background: pink#*qdHelpFrame*background: pink#*sqHelpFrame*background: pink#*samHelpFrame*background: pink=#------------------------------------------------------------.# Editing characteristics for the text widgets#5# These key bindings are set to emulate EDT's keypad.E# These are just a close approximation of some of the more used keys.#0# The key names are defined in X11:XKeySymdef.h.F# The routine names are defined in "OSF/MOTIF PROGRAMMER'S REFERENCE",@# under the discussion of the XmText widget - Action Routines.#%*problemMain*wrText.translations: \ #override \n\: F12: beginning-of-line() process-up()\n\0 F13: delete-previous-word()\n\' Ctrle: end-of-line()\n\0 Ctrlj: delete-previous-word()\n\- Ctrlh: beginning-of-line()\n\* Ctrlr: redraw-display()\n\* Ctrlw: redraw-display()\n\3 Ctrlu: delete-to-start-of-line()\n\6 ~Ctrl ~Meta ~Shift Altspace: self-insert()\n\< KP_0: beginning-of-line() process-down()\n\: ShiftKP_0: beginning-of-line() process-up()\n\( KP_1: forward-word()\n\) ShiftKP_1: backward-word()\n\6 KP_2: process-down() end-of-line()\n\4 ShiftKP_2: end-of-line() process-up()\n\- KP_3: forward-character()\n\. ShiftKP_3: backward-character()\n\% KP_4: page-left()\n\& KP_5: page-right()\n\ KP_6: \n\% KP_7: next-page()\n\ KP_8: \n\ KP_9: \n\, KP_Subtract: delete-next-word()\n\1 KP_Separator: delete-next-character()\n\ KP_F2: Help()\n\1 KP_F4: delete-to-end-of-line()\n\3 ShiftKP_F4: delete-to-start-of-line()\n\' CtrlNext: end-of-file()\n\, CtrlPrior: beginning-of-file()\n\n/#----------------------------------------------# Queue Display#6# DXmdisplayMode: 1 = Outline; 4 = Columns; 2 = Tree8# DXmtreeStyle: 1 = Top; 2 = Horizontal; 3 = Outline#*mainSVN.width: 700*mainSVN.height: 200*mainSVN.DXmdisplayMode: 4*mainSVN.DxmtreeStyle: 3M*mainSVN.DXmfontListLevel0: -*-Courier-Bold-R-Normal--*-100-*-*-*-*-ISO8859-1N*mainSVN.DXmfontListLevel1: -*-Courier-Medium-R-Normal--*-80-*-*-*-*-ISO8859-1*mainSVN.DXmcolumnLines: true%*mainSVN.DXmexpectHighlighting: false$*mainSVN.DXmtreeEntryOutlines: false#*mainSVN.DXmtreeEntryShadows: false!*mainSVN.DXmprimaryPercentage: 40!*mainSVN.DXmshowPathToRoot: false#*mainSVN.DXmstartColumnComponent: 4%*mainSVN.DXmuseScrollButtons: false/#----------------------------------------------!# Command Window & Status Window 6# Specify the initial disposition of the windows here.#*commandWindowToggle.set: false*statusWindowToggle.set: true*buttonWindowToggle.set: trueD*mainCommandField.fontList: -*-*-MEDIUM-R-*--*-100-*-*-p-*-ISO8859-1<*mainLabel1.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1*expertModeToggle.set: false/#----------------------------------------------*# Font size for Customer pushButton window#R*customerButtonFrame*XmPushButton.fontList: -*-*-BOLD-I-*--*-100-*-*-p-*-ISO8859-1K*mainWindow*mainHelpText.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1/#----------------------------------------------# Status Window#H*statusSW.XmList.fontList: -*-COURIER-MEDIUM-R-*--*-80-*-*-*-*-ISO8859-1*statusSW.paneMaximum: 75/#----------------------------------------------# Logon Window#*logonDialog.x: 314*logonDialog.y: 247K*logonDialog*XmLabelGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1P*logonDialog*XmPushButtonGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1K*logonDialog*XmTextField.fontList: -*-*-MEDIUM-R-*--*-100-*-*-p-*-ISO8859-1(#*logonDialog*background: CornflowerBlue.#*logonDialog*XmTextField*background: cornsilk)#*logonDialog*UPframe2*background: maroon)#*logonDialog*UPframe3*background: maroon/#----------------------------------------------# Update Interval (Seconds)#*updateScale.value: 300*updateToggle.set: true/#----------------------------------------------# Clock#J*clockFrame.XmLabelGadget.fontList: -*-*-BOLD-R-*--*-140-*-*-p-*-ISO8859-1-*clockFrame.XmLabelGadget.background: gray90/#----------------------------------------------# Main Commands#E# startupSort: specifies a default sort algorithm to use upon startupK# startupCommand: specifies the default startup command for the main window # (It must be a LOOKUP command)## sortOptions: # commandOptions:?# These two resources allow you to specify default sort options@# and commands to be loaded into selectionBoxes upon activation.;# This allows you to setup a predetermined list of commands.# and sort options to choose from at run time.7# Separate command or sort items with an ampersand "&".;# Continue a line by terminating the preceding line with a # backslash "\".#;sortDialog*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-17#*startupSort: severity desc,priority desc,date_logged*sortBox.visibleItemCount: 58*sortOptions: date_logged,severity desc,priority desc&\, severity desc,priority desc,date_logged&\) date_due,severity desc,priority desc&\' severity desc,priority desc,date_due>commandDialog*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1;commandBox*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1#*startupCommand: Lookup/Queued_Only*commandBox.visibleItemCount: 5%*commandOptions: Lookup/Queued_Only&\ Lookup/Mine/Open&\ Lookup/Class=Hardware&\ LookuP/Mine/Status=Assigned/#----------------------------------------------# Query Dialog#8# The following Query Dialog resources have been retired#D# You can still change "*startupCommand:" to obtain the same results# *# RETIRED: *queryDialog*qdQueue.set: true<# STARTUP COMMAND: /queue_only #K# One and only one of the following three resources should be set to "true"+# RETIRED: *queryDialog*qdEither.set: true## STARTUP COMMAND: /OPEN/CLOSE*# RETIRED: *queryDialog*qdOpen.set: false# STARTUP COMMAND: /NOOPEN,# RETIRED: *queryDialog*qdClosed.set: f6ITf$MULTIHELP020.A [A]MULTIHELP.DAT;1b$"alse!# STARTUP COMMAND: /NOCLOSED#.# RETIRED: *queryDialog*attemptsToggle.set: on"# STARTUP COMMAND: /ATTEMPTED0# RETIRED: *queryDialog*descendantToggle.set: on# STARTUP COMMAND: /# RETIRED: *queryDialog*ancestorToggle.set: off!# STARTUP COMMAND: /ANCESTOR/# RETIRED: *queryDialog*nullClassToggle.set: on# STARTUP COMMAND: /NULL#=*queryDialog*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1K*queryDialog*XmTextField.fontList: -*-*-MEDIUM-R-*--*-100-*-*-p-*-ISO8859-1M*queryDialog*queryHelpText.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-10#-----------------------------------------------%# DueDate and Escalation clock colors## For Color monitors#*clockBeforeColor: green#*clockAfterColor: red#*clockMinuteHand: blue#*lockColor: brown#*unlockColor: green# For Gray-scale monitors*clockBeforeColor: gray70*clockAfterColor: gray40*clockMinuteHand: black*lockColor: gray15*unlockColor: gray85# For Black/White monitors#*clockBeforeColor: black#*clockAfterColor: black#*clockMinuteHand: black#*lockColor: black#*unlockColor: white3#--------------------------------------------------# Problem Window#P*problemMain*customerInfoLabel.fontList: -*-*-MEDIUM-R-*--*-80-*-*-p-*-ISO8859-1K*problemMain*XmTextField.fontList: -*-*-MEDIUM-R-*--*-100-*-*-p-*-ISO8859-1K*problemMain*XmLabelGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1S*problemMain*XmCascadeButtonGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1P*problemMain*XmPushButtonGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1R*problemMain*XmToggleButtonGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1J*problemMain*XmPushButton.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1L*problemMain*XmToggleButton.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1F*problemMain*XmText.fontList: -*-*-MEDIUM-R-*--*-100-*-*-p-*-ISO8859-1F*problemMain*wrText.fontList: -*-*-MEDIUM-R-*--*-100-*-*-m-*-ISO8859-1I*problemMain*pHelpText.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1 3*problemMain*problemSummaryWindow.XmList.height: 30X[*problemMain*problemSummaryWindow.XmList.fontList: -*-*-MEDIUM-R-*--*-100-*-*-m-*-ISO8859-1t# # 24 hours = 1440 minuteso# )*problemMain*ownerTimeScale.maximum: 1440m#o*problemMain*wrText.rows: 10#T*viewWorkReportDialog*XmTextField.fontList: -*-*-MEDIUM-R-*--*-100-*-*-p-*-ISO8859-1[*viewWorkReportDialog*viewWorkReportText.fontList: -*-*-MEDIUM-R-*--*-100-*-*-m-*-ISO8859-1e1*viewWorkReportDialog*viewWorkReportText.rows: 15t4*viewWorkReportDialog*viewWorkReportText.columns: 80N#-----------------------------------------------------------------------------# Notifications Dialog#iE*notificationsDialog*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1*N*notificationsDialog*XmText.fontList: -*-*-MEDIUM-R-*--*-100-*-*-p-*-ISO8859-1Q*notificationsDialog*frame1Label.fontList: -*-*-BOLD-I-*--*-100-*-*-p-*-ISO8859-1IQ*notificationsDialog*frame2Label.fontList: -*-*-BOLD-I-*--*-100-*-*-p-*-ISO8859-1Q*notificationsDialog*frame3Label.fontList: -*-*-BOLD-I-*--*-100-*-*-p-*-ISO8859-1t$*notificationsOnOffToggle.set: false1*notificationsDialog*allRequestsToggle.set: false-0*notificationsDialog*nSeverityText.value: HIGH1*notificationsDialog*nPriorityText.value: P1,P2t(#*notificationsDialog*nStatusText.value:%#*notificationsDialog*nPidText.value:s*#*notificationsDialog*nCustomerText.value:2#*notificationsDialog*nOwnerText.value: JJONES9#*notificationsDialog*nCategoryText.value: JJCAT1,JJCAT3-.#*notificationsDialog*nHardText.value: VAX.#*notificationsDialog*nSoftText.value: VMS6#*notificationsDialog*nSummaryText.value: JEFF,JONES>#*notificationsDialog*nEmailText.value: MHELP,HELPMT,UHELP?#*notificationsDialog*nClassText.value: VAX,VMS,PROGRAMMINGd1#*notificationsDialog*notifyAncestor.set: falsed0*notificationsDialog*notifyDescendant.set: true.*notificationsDialog*notifyNull.set: falseV*notificationsDialog*notifyHelpText.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1#-----------------------# notification popupso#aI*notifyDialog.notifyText.fontList: -*-*-BOLD-R-*--*-120-*-*-p-*-ISO8859-1eN#----------------------------------------------------------------------------- # Help Widget# D#*mainHelp*XmNbuttonFontList: -*-*-BOLD-R-*--*-120-*-*-p-*-ISO8859-1E#*mainHelp*XmNlabelFontList: -*-*-MEDIUM-O-*--*-120-*-*-p-*-ISO8859-1 C#*mainHelp*XmNtextFontList: -*-*-MEDIUM-R-*--*-80-*-*-p-*-ISO8859-1-C*mainHelp*XmText.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1lN#-----------------------------------------------------------------------------(# Service Request - Customer Info Dialog#aR*customerInfoDialog*XmLabelGadget.fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1R*customerInfoDialog*XmTextField.fontList: -*-*-MEDIUM-R-*--*-100-*-*-p-*-ISO8859-1W*customerInfoDialog*XmPushButtonGadget.fontList: -*-*-BOLD-R-*--*-120-*-*-p-*-ISO8859-1oQ*customerInfoDialog*ciHelpText.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1PN#-----------------------------------------------------------------------------+# Customer Software & Hardware Info Dialogse#u!*softInfoDialog*XmList.width: 500aI*softInfoDialog*XmList.fontList: -*-*-MEDIUM-R-*--*-100-*-*-m-*-ISO8859-1y"*softInfoDialog*XmList.height: 250N#-----------------------------------------------------------------------------# Reporting Interface# P*reportMainForm*XmList*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1=normal,\S -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1=italics,\ N -*-*-MEDIUM-R-*--*-80-*-*-*-*-ISO8859-1=smallP*reportJoinForm*XmList*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1=normal,\S -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1=italics,\-N -*-*-MEDIUM-R-*--*-80-*-*-*-*-ISO8859-1=smallX*reportComputedMainForm*XmList*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1=normal,\S -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1=italics,\ N -*-*-MEDIUM-R-*--*-80-*-*-*-*-ISO8859-1=smallU*reportBreakMainForm*XmList*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1=normal,\iS -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1=italics,\nN -*-*-MEDIUM-R-*--*-80-*-*-*-*-ISO8859-1=smallS*reportSQLMainForm*XmList*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1=normal,\S -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1=italics,\-N -*-*-MEDIUM-R-*--*-80-*-*-*-*-ISO8859-1=smallV*reportSaveReportForm*XmList*fontList: -*-*-BOLD-R-*--*-100-*-*-p-*-ISO8859-1=normal,\S -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1=italics,\*N -*-*-MEDIUM-R-*--*-80-*-*-*-*-ISO8859-1=small#r'*reportReportXmTextText.fontList: fixed-%*reportInfoXmTextText.fontList: fixedt#zR*reportMainForm*reportHelpLabel.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1\*reportSaveReportForm*reportSaveHelpLabel.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1X*reportSQLMainForm*reportSQLHelpLabel.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1V*reportJoinForm*reportJoinHelpLabel.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1X*reportCharForm*reportOutputHelpLabel.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1\*reportBreakMainForm*reportBreakHelpLabel.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1b*reportComputedMainForm*reportComputedHelpLabel.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1N#-----------------------------------------------------------------------------# Solutions Interfacer#d'# Confidence Weighting (Range = 1..100)l#a*sol_class_scale.value: 50*sol_keyword_scale.value: 50*sol_title_scale.value: 50*sol_soft_scale.value: 50-*sol_hard_scale.value: 50 #a# Solutions Query Dialog#uL*solutionQueryDialog*XmList.fontList: -*-*-MEDIUM-R-*--*-*-*-*-m-*-ISO8859-1R*solutionQueryDialog*sqHelpText.fontList: -*-*-MEDIUM-I-*--*-100-*-*-p-*-ISO8859-1*SkeySB.set: true*StitleSB.set: true*SsoftSB.set: true-*ShardSB.set: true-*sqNoiseToggle.set: true*sqSynonymToggle.set: true!*expandedQueryToggle.set: falsee#o# Solution Add Dialogm#d*samWindow.XmText.rows: 10D*samWindow.XmText.fontList: -*-*-MEDIUM-R-*--*-100-*-*-m-*-ISO8859-1P*solutionAddModifyDialog*XmList.fontList: -*-*-MEDIUM-R-*--*-*-*-*-m-*-ISO8859-1W*solutionAddModifyDialog*samHelpText.fontList: -*-*-MEDIUM-I7eI$MULTIHELP020.A [A]MULTIHELP.DAT;1b$"-*--*-100-*-*-p-*-ISO8859-1h#a# Solution List Dialog#eK*solutionListDialog*XmList.fontList: -*-*-BOLD-R-*--*-100-*-*-m-*-ISO8859-1e%*solutionListDialog*XmList.width: 850p/*solutionListDialog*XmList.visibleItemCount: 10e#e# Solution Viewing Dialogk#s*solutionsViewDialog.width: 750- *solutionsViewDialog.height: 400N*solutionsViewDialog*XmText.fontList: -*-*-MEDIUM-R-*--*-100-*-*-m-*-ISO8859-1#m # Solution Synonym/Noise Dialogs#sA*synonymDialog*XmList.fontList: -*-*-*-R-*--*-*-*-*-m-*-ISO8859-1o?*noiseDialog*XmList.fontList: -*-*-*-R-*--*-*-*-*-m-*-ISO8859-1eN#-----------------------------------------------------------------------------# Miscellaneous test stuff#s*[A]MULTIHELP.HLP;1+,./ 4_ ?- 0123KPWO56247X89GHJ 1 CLASSA The CLASS command is used to list and maintain the system wide class code list. Format7 CLASS [/Qualifier=(value[,value]) [/Qualifier]... 2 Parameters None.* List Qualifiers Defaults- /ANCESTOR /NOANCESTOR- /DESCENDANT /DESCENDANT' /LIST[=value] /LIST* /MORE=n /MORE=-2* Maintenance Qualifiers Defaults5 /ADD=(NAME=class-code[[,[NO]PARNone.class-code]]])/ /DEFINITION="text" /NODEFINITION7 /MODIFY=(NAME=class-code[,[NO]PNone.[=class-code]]])' /NAME=class-code None.' /[NO]PARENT[=class-code] None.7 /REMOVE=(NAME=class-code[,[NO]PNone.[=class-code]]]) 2 Restrictions@ o To perform a maintenance operation requires ADMINISTRATIVE* PRIVILEGE: YES in your user profile.@ o You may perform a single maintenance or list operation per& invocation of the CLASS command.3 o /NAME and /PARENT are valid only with /MODIFY 2 Qualifiers /ADD6 /ADD=(NAME=class-code[,[NO]PARENT[=class-code]])A Specifies a class code to be added to the class hierarchy. TheA NAME keyword is required. It's value specifies the name of the? new class code. The PARENT keyword is optional and specifiesC the direct ancestor (predecessor) in the class hierarchy of this? class code. If the PARENT keyword is omitted or negated, the? newly added class will be at the top level of the class code9 hierarchy. Each value can be up to 20 characters long. /ANCESTOR /ANCESTOR /NOANCESTOR (Default)@ Specifies that all ancestors (predecessors) of the class code1 specified in the /LIST qualifier be displayed. /DEFINITION /DEFINITION="text" /NODEFINITION (Default)? Specifies an optional text string that is displayed with the? class code in most places where the class code is displayed.@ Provides a more descriptive definition of what the class codeD represents. If the string contains spaces, special characters, orC lowercase characters it must be enclosed in quotation marks(""). /DESCENDANT /DESCENDANT (Default) /NODESCENDANT> Specifies that all descendants (children) of the class code1 specified in the /LIST qualifier be displayed. /LIST /LIST[=class-code]? Specifies that this is a list operation. The contents of the> class hierarchy are displayed on the users terminal. If theD optional class code value is specified, the list operation beginsA with the code that matches the specified value. If no value isA specified, the entire contents of the hierarchy are displayed.A The optional qualifiers /ANCESTOR and /DESCENDANT may limit or expand the display. /MODIFY9 /MODIFY=(NAME=class-code[,[NO]PARENT[=class-code]])A Specifies the class-code which will be modified. Requires one,D if not both of the two qualifiers /[NO]PARENT and /NAME to supply* new values for the selected class code. /MORE /MORE=n /NOMORE? Controls the display of information to a users terminal. TheD value of n specifies how many lines to display before pausing and$ displaying a continuation prompt: -- More [Y,#,q,a] --7 The values specified at the continuation prompt are: o Y-YesB Display another screen full of information and pause when it is displayed." o #-Display additional N linesC Enter an integer number of additional lines to display before9 pausing. See discussion below for the valid values. o q-Quit. Terminate the display of the collection. o a-Display All: Display the entire collection without pausing again.? Positive values of n specifiy the number of lines to display< before the continuation prompt. Zero indicates no pausingB (continuous scroll), and a negative value specifies the current@ terminal display size minus n. The default value for n is -2.C The logical name MULTIHELP$MORE_ROWS can be defined to provide a new default value. /NAME /NAME=class-code@ Specifies the new class code name for the class code selected with the /MODIFY qualifier. /PARENT /PARENT=value /NOPARENT@ Specifies the new parent for the class code selected with the /MODIFY qualifier. /REMOVE/ /REMOVE=(NAME=value[,[NO]PARENT[=value]])C Selects a class code to be removed from the class hierarchy. YouC cannot remove a class code which has any descendants (children).) You must first remove the descendants. 2 DescriptionC The CLASS command is used to display and maintain the class code hierarchy.A The list operation designates a class code's relative locationA in the hierarchy by prefixing the class code name. If the name@ is prefixed with an asterisk character (*) the code is at the= top-level (root) of the hierarchy. If a code is not a top-A level entry, it is prefixed with a series of periods (.) which) designate it's level in the hierarchy. *top-level ..level-one ...level-two ....level-three ....level-three *top-level ..level-one ..level-oneB Codes which are in a direct line of descent are related to eachB other and can be effected by selecting /ANCESTOR or /DESCENDANTA qualifiers. By designating a code's parent, you fix the code'sA location in the class hierarchy. Codes specified with NOPARENTC are top level entries and have no ancestors. The class hierarchy= is useful when enabling notification schemes and selecting= collections of requests. Instead of having to specify eachD possible code value that you are interested in, you can specify a> class-code \smallcaps)and all of it's descendants\italics). 2 EXAMPLESR 1.MultiHelp> CLASS/ADD=(NAME=MULTIHELP,NOPARENT)/DEFINITION="HelpDesk Software"A %MULTIHELP-I-CLASSADDED, class "MULTIHELP" added to database@ MultiHelp> CLASS/ADD=(NAME=REQUEST_SERVER,PARENT=MULTIHELP)F %MULTIHELP-I-CLASSADDED, class "REQUEST_SERVER" added to database9 This example shows how to add a top level class codeA (MULTIHELP) and a descendant (child) of that class (REQUEST_ SERVER).6 2.MultiHelp> CLASS/REMOVE=(NAME=MULTIHELP,NOPARENT)R %MULTIHELP-E-CANTDELPRNT, only childless problem class records may be deleted@ Demonstrates that you may not remove class codes which have descendants.C 3.MultiHelp> CLASS/REMOVE=(NAME=REQUEST_SERVER,PARENT=MULTIHELP)L %MULTIHELP-I-CLASSREMOVED, class "REQUEST_SERVER" removed from database6 MultiHelp> CLASS/REMOVE=(NAME=MULTIHELP,NOPARENT)G %MULTIHELP-I-CLASSREMOVED, class "MULTIHELP" removed from database@ This example demonstrates the correct way to remove a class code that has descendan8S$MULTIHELP020.A [A]MULTIHELP.HLP;1_?ts. 4.MultiHelp> CLASS/LIST2 *WORDPROCESSORS  ..MASS11 <> ..WPSPLUS <> ..WORDPERFECT <> ..EMACS <> ..VI <> *OPSYS <> ..MAC <>" ..DOS  ...DOS_PACKAGES <> ....LOTUS 1-2-3 <> ....WORDPERFECT <> ...DOS_UTILITIES <> ....QEMM <> ....PCTOOLS <>? A list operation which does not select a starting place in? the hierarchy lists the entire contents of the class tree.B Note that the top-level parent entries are designated with anA asterisk (*). The descendants are preceded by the period (.)A designating their level in the hierarchy. Definition strings) are enclosed in angle brackets (<>).' 5.MultiHelp> CLASS/LIST=DOS/ANCESTOR *OPSYS " ..DOS + MultiHelp> CLASS/LIST=MSDOS/DESCENDANT" ..DOS  ...DOS_PACKAGES <> ....LOTUS 1-2-3 <> ....WORDPERFECT <> ...DOS_UTILITIES <> ....QEMM <> ....PCTOOLS <>: Demonstrates the use of the /ANCESTOR and /DESCENDANT qualifiers. 1 DEFINE 2 /KEYB Associates an equivalence string and a set of attributes with a@ key on the terminal keyboard. The /KEY qualifier is required. Format, DEFINE/KEY key_name equivalence_string 3 Parameters key_name; Specifies the name of the key that you are defining. All> definable keys on VT52 terminals are located on the numericA keypad. On VT100-series terminals, you can define the left andB right arrow keys as well as all the keys on the numeric keypad.B On terminals with LK201 keyboards, the following three types of keys can be defined: o Keys on the numeric keypadD o Keys on the editing keypad (except the up and down arrow keys)A o Keys on the function key row across the top of the keyboard (except keys F1 to F5)C Key Names lists the key names in column one. The remaining three@ columns indicate the key designations on the keyboards of theA three different types of terminals that allow key definitions. Table CLI-1 Key Names4 KeyName LK201 VT100-Series VT526 PF1 PF1 PF1 [blue]5 PF2 PF2 PF2 [red]6 PF3 PF3 PF3 [gray]5 PF4 PF4 PF4 [- -]4 KP0..KP9 0..9 0..9 0..91 PERIOD . . .3 COMMA , , N/A3 MINUS - - N/A5 ENTER ENTER ENTER ENTER2 LEFT <- <- <-2 RIGHT -> -> ->1 FIND (E1) FIND - -1 INSERT HERE INSERT HERE - - (E2)1 REMOVE (E3) REMOVE - -1 SELECT (E4) SELECT - -1 PREV SCREEN PREV SCREEN - - (E5)1 NEXT SCREEN NEXT SCREEN - - (E6)1 HELP HELP - -1 DO DO - -1 F6..F20 F6..F20 - -? Some definable keys are enabled for definition all the time.B Others, including KP0 to KP9, Period, Comma, and Minus, must beA enabled for definition purposes. You must enter either the SETD TERMINAL/APPLICATION or the SET TERMINAL/NONUMERIC command before using these keys.C On LK201 keyboards, you cannot define the up and down arrow keysC or function keys F1 to F5. The left and right arrow keys and theA F6 to F14 keys are reserved for command line editing. You mustD enter the DCL command SET TERMINAL/NOLINE_EDITING before enteringD MultiHelp and attempting to define these keys. You can also pressD Ctrl/V to enable keys F7 to F14. Note that Ctrl/V will not enable the F6 key. equivalence_string@ Specifies the character string to be processed when you pressC the key. Enclose the string in quotation marks (" ") to preserve# spaces and lowercase characters. 3 Restrictions! o /KEY qualifier is required. 3 Prompts Key name:see Key Names Translatiquoted string 3 Description@ This command allows you to define keys to accomplish commonly< executed commands in MultiHelp. Omitted parameters in the= equivalence string that are required will be prompted for.@ In addition, you can create a file with key definitions in it@ so that every interactive session will automatically have the desired keys defined for you.A This can be accomplished by creating a file with an editor and> placing valid key definition statements in it. For example: $ Type MultiHelp$KeyDefn.Txt def/key pf3 "help"/term+ def/key e1 "profile show user/full"/term $C Then define the logical MULTIHELP$KEYS to point to the file that- contains the key definitions. For example:: $ Define MultiHelp$Keys Sys$Login:MultiHelp$KeyDefn.Txt> Then when you execute the MULTIHELP command for interactiveD access to MultiHelp the file will be read and all key definitions# will be registered. For example:& $ MULTIHELP/USER=SMITH/PASS=SUZIEQD %MULTIHELP-I-DBATTACH, Attaching to Database... One moment please8 %MULTIHELP-I-KEYDEFFILE, Loading Key Definitions from" Sys$Login:MultiHelp$KeyDefn.Txt MultiHelp>C There is a second logical name, MULTIHELP$KEYS_USER, that can beA defined to point to a file that is read after the file pointedD to by MULTIHELP$KEYS. The key definitions are combined and if anyD duplicate keys are defined, the last occurrence takes precedence.C Additionally, either or both of the logical names can be definedB as search-list logical names pointing to more than one file and5 the files will be processed in order. For example:E $ DEFINE/SYSTEM MULTIHELP$KEYS MULTIHELP$DIR:MULTIHELP$SYSTEM.KEYSL $ DEFINE MULTIHELP$KEYS_USER DISK1:[GRPA]GROUP.KEYS,SYS$LOGIN:MYKEYS.KEYS1 will result in the key definitions in the fileA MULTIHELP$DIR:MULTIHELP$SYSTEM.KEYS being read first, followedA by DISK1:[GRPA]GROUP.KEYS and lastly by SYS$LOGIN:MYKEYS.KEYS.@ When one of the files is being read, an informational message> is displayed including the files name. If there is an errorA opening one of the files, no message is displayed and the file is skipped.& Command Qualifiers Defaults# /[NO]ECHO /ECHO) /[NO]IF_STATE /NOIF_STATE+ /[NO]LOCK_STATE /NOLOCK_STATE" /[NO]LOG /LOG* /[NO]SET_STATE /NOSET_STATE* /[NO]TERMINATE /NOTERMINATE 3 Qualifiers /ECHO /ECHO (Default) /NOECHO? Displays the equivalence string on your screen after the keyB has been pressed. You cannot use the /NOECHO qualifier with the /NOTERMINATE qualifier. /IF_STATE /IF_STATE /NOIF_STATE (Default)B Specifies a list of one or more states, one of which must be inC effect for the key definition to work. The /NOIF_STATE qualifierB has the same meaning as /IF_STATE=current_state. The state nameC is an alphanumeric string. States are established with the /SET_? STATE STATE qualifier or the SET KEY command. If you specifyB only one state name, you can omit the parentheses. By including= several state names, you can define a key to have the same( function in all the specified states. /LOCK_STATE /LOCK_STATE /NOLOCK_STATE (Default)B Specifies that the state set by the /SET_STATE qualifier remainB in effect until explicitly changed. (By default, the /SET_STATEC qualifier is in effect only for the next definable key you press> or the next read-terminating character that you type.) ThisA qualifier can be specified only with the /SET_STATE qualifier. /LOG /LOG (Default) /NOLOGA Displays a message indicating that the key definition has been successfully created. /SET_STATE /SET_STATE /NOSET_STATE (Default)< Causes the specified state-name to be set when the key is? pressed. (By default, the current locked state is reset whenD the key is pressed.) If you have not included this qualifier withB a key def9`+C$MULTIHELP020.A [A]MULTIHELP.HLP;1_?  inition, you can use the SET KEY command to change the@ current state. The state name can be any alphanumeric string;@ specify the state as a character string enclosed in quotation marks. /TERMINATE /TERMINATE /NOTERMINATE (Default)< Specifies whether the current equivalence string is to be? processed immediately when the key is pressed (equivalent to@ entering the string and pressing the Return key). By default,? you can press other keys before the definition is processed.SB This allows you to create key definitions that insert text into@ command lines, after prompts, or into other text that you are entering. u 3 Examples8 1.MultiHelp> DEFINE/KEY PF4 "PROF SHO USER */BR"/TERM6 %MULTIHELP-I-KEYDEFINED, Key PF4 has been defined MultiHelp>NC In the example above, the user has define key PF4 to execute a D command to show all users in brief format. Thereafter, the user1 only has to press key PF4 to show all users.o@ 2.MultiHelp> define/key pf3 "prof add user/cust/noadmin"/term6 %MULTIHELP-I-KEYDEFINED, Key PF3 has been defined0 MultiHelp> prof add user/cust/noadmin  _User Id:B In the example above, the user has defined key PF3 to execute@ a command that will add a new customer to the user profile.B Since the command does not specify the UserId parameter it is, prompted for when the user presses PF3. 1 DELETEn e 2 /REQUESTi@ The DELETE/REQUEST command is used to purge specified service= requests based on criteria supplied by qualifiers. It will? remove the specified service requests along with all related" work reports and labor records. Formata@ DELETE/REQUEST [/Qualifier=(value[,value]) [/Qualifier]... h 3 Parameters  None.! Command Qualifiers Defaults ! List Qualifiers Defaultsr /BEFORE=date_time Noner /CLOSED None  /ID=request_id Noner /STATUS[="value[,valueNonec s3 Restrictions ; o To perform a Delete operation requires ADMINISTRATIVE * PRIVILEGE: YES in your user profile.7 o You may not specify /CLOSED and /STATUS together.s7 o You may not specify /ID with any other qualifier.e i 3 Qualifiersu f/BEFOREl /BEFORE=date_time? Do not delete requests whose creation date-time is after theeA date-time specified. Enclose the date-time inside quotes if its) contains blanks or special characters.s s%/CLOSED C Do not delete open requests. In other words, delete only servicee! requests with a closed status.s p/IDh /ID=request_idA Will delete the service request with the specified request Id.S D/STATUS  /STATUS[="value[,value]"]DD Only delete service requests whose status values are equal to oneB of the status values specified in the list. Enclose the list in@ double-quotes and separate multiple status names with commas. e3 DescriptionD The DELETE/REQUEST verb will remove old service requests based on4 criteria specified with the available qualifiers.@ You should use this command on a regular (i.e. monthly) basisA to purge your database of old requests that are closed, set toaB a particular status and/or were created before a specified date5 (i.e. 6 months previous to the current date/time).DA Use of the /BEFORE qualifier with the /CLOSED qualifier allowsC you to purge your database of calls that were created before the @ specified time, but will not delete those created before that time that are still open. c 3 EXAMPLES 1.H SIO19940917.6 ! Logged: <1994-09-17:15:46> Due: <1994-09-24:15:46>A Class: <> Severity: Priority: Status: t Subject: gH SIO19940917.5 ! Logged: <1994-09-17:15:45> Due: <1994-09-24:15:45>A Class: <> Severity: Priority: Status:  Subject: H SIO19940917.4 ! Logged: <1994-09-17:15:(43> Due: <1994-09-24:15:43>A Class: <> Severity: Priority: Status:  Subject: dH SIO19940917.3 ! Logged: <1994-09-17:15:40> Due: <1994-09-24:15:40>C Class: <> Severity: Priority: Status: o Subject: > The examples below pertain to the service requests above.9 2.MultiHelp> DELETE/REQUEST/BEFORE="9/17 15:46"/CLOSEDf> %MULTIHELP-I-REQDELETED, solution "SIO19940917.5" deleted< This example deletes all closed requests created before September 17, 3:46pm.0 3.MultiHelp> DELETE/REQUEST/STATUS="ASSIGNED"> %MULTIHELP-I-REQDELETED, solution "SIO19940917.3" deleted@ This example deletes ALL requests whose status is ASSIGNED. 4.MultiHelp> DEL/REQ/ID=17.4c> %MULTIHELP-I-REQDELETED, solution "SIO19940917.4" deleted8 This example deletes the specified service request.+ 5.MultiHelp> DEL/REQ/CLOSED/BEFORE=1-NOV > %MULTIHELP-I-REQDELETED, solution "SIO19940917.6" deleted< This example deletes all closed requests created before( November first of the current year. o 2 /SOLUTIONB The DELETE/SOLUTION command is used to purge specified solution= articles based on criteria supplied by qualifiers. It alsosB removes modification history records for the specified solution< articles. The SOLUTION/DELETE command does not remove the modification history records. Format A DELETE/SOLUTION [/Qualifier=(value[,value]) [/Qualifier]...  e 3 Parametersp None.! Command Qualifiers Defaultst! List Qualifiers Defaultsx /CUSTOMER_VIEWABLE Noneh /ID=solution_id Nonen /LAST_VIEWED=date_timeNone-/ /OVERRIDE_NOARCHIVAL /NOOVERRIDE_NOARCHIVAL /VIEW_COUNT=max_view_cNone. l3 Restrictions*; o To perform a Delete operation requires ADMINISTRATIVEw* PRIVILEGE: YES in your user profile.7 o You may not specify /ID with any other qualifier.C O 3 Qualifiers q/CUSTOMER_VIEWABLEB If this qualifier is specified in the positive form (/CUSTOMER_< VIEWABLE) it indicates to only select solutions which are customer viewable.sD If this qualifier is specified in the negative form (/NOCUSTOMER_@ VIEWABLE) it indicates to only select solutions which are not customer viewable.l@ If this qualifier is not specified, then no selection will be6 based on whether the solution is customer viewable. /IDA /ID=solution_id C Will delete the solution article with the specified solution Id.  % /LAST_VIEWED /LAST_VIEWED=date_timeC Do not delete solutions whose last-viewed date/time is after theTA specified date-time. Enclose the date-time inside quotes if itt) contains blanks or special characters.o d/OVERRIDE_NOARCHIVAL@ If this qualifier is specified, then solution articles may be? deleted even though they have the PREVENT ARCHIVAL flag set.N R /VIEW_COUNTU /VIEW_COUNT=max_view_countB This qualifier specifies to only delete those solution articlesD which have a view count (the number of times the solution articleD itself has been viewed) less than the number specified. Specify a! decimal number greater than 0.E S3 DescriptionC The DELETE/SOLUTION verb will remove old solution articles based 7 on criteria specified with the available qualifiers.rC You should use this command on a regular (i.e. monthly) basis toeA purge your database of old solution articles that are not used/( often or have not been used recently.B Use of the /LAST_VIEWED qualifier allows you to remove solutionD articles which have not been viewed or used to solve any problems" in a long time (i.e. 6 months). 3 EXAMPLESK6 1.MultiHelp> DELETE/SOLUTION/LAST_VIEWED=1-JAN-1994B The above example deletes all solution articles that have not' been viewed since January 1, 1994.l! 2.MultiHelp> DEL/SOL/ID=0414.5e1 This example deletes the specified solution., 3.MultiHelp> DEL/SOL/LAST="1-JUN"/VIEW=50@ This example deletes all solutions that were last viewed on- June 1 whose view count is less than 50.l 1 ESCALATIONf? This command is used to display and maintain the system wide @ escalation lists. Individuals are identified to receive EMAIL= notifications when requests fail to meet milestones in the > request resolution cycle. The ESCALATION command is used to@ identify the individual who will receive th:<$MULTIHELP020.A [A]MULTIHELP.HLP;1_?v1e notification. ItB is also used to specify the days and hours when escalations may occur. Syntaxn6 ESCALATION [[/Qualifier][/Qualifier=value] . . . i 2 ParametersF None! Command Qualifiers Defaultse /ADD None. /CLASS=class-code None. /DAY=day None. /HOURS=hour-mask None. /LIST /LIST /REMOVE None. /SHOW_HOURS None. /TOPe /USER_ID=user-id None. 2 RestrictionsVB o To add or remove escalation elements to the system wide listB requires administrator privilege in the user profile record.@ o Only one of the following qualifiers is valid for a single0 { /ADD }0 { /DAY }0 invocation of the command. { /LIST }0 { /REMOVE }0 { }0 { /SHOW_HOURS }9 o /CLASS cannot be specified with the /TOP qualifier.c@ o /USER_ID must be present for an /ADD or /REMOVE operation.C o /CLASS or /TOP must be specified if the /USER_ID qualifier isN present.= o You cannot specify /CLASS or /TOP with a time qualifier  /DAY/HOUR/SHOW_HOUR.C o If the /DAY qualifier is specified, the /HOURS qualifier must3 be specified.  2 Qualifiersg ]/ADD? Identifies the operation as an add operation. This qualifier A requires the /USER_ID qualifier and a list selection qualifier { /CLASS } { /TOP } { } ? Adds the specified user id to the specified escalation list.  /CLASS /CLASS=class-code B Selects the escalation list associated with the specified classB { /ADD }B code for manipulation or display. If specified with { /REMOVE }B { }@ requires the specification of the /USER_ID qualifier. Adds orA removes the specified user id from the escalation list for the5 specified class code. R/DAY /DAY=dayD The day value is a keyword MON,TUE, WED, THU, FRI, SAT, SUN whichC designates the day of the week that is associated with the hours 6 bitmask specified in the required /HOURS qualifier. d/HOURS /HOURS=hour-maskC The hour mask is a 24 character series of zeros (0) and ones (1)lB which correspond to the hours of the day when an escalation canC occur. Moving from left to right, the first character representsgB midnight, the second 1:00am, the third 2:00am, etc. A characterB value of "1" specifies that an escalation can occur during this= hour. "0" means that an escalation should not occur duringlA this hour. The /HOURS qualifier requires the /DAY qualifier toE9 associate the bitmask with the proper day of the week.f /LISTs /LIST (default)C= Identifies the operation as a list operation. Displays theC selected escalation list on the user's terminal. Either displaysr> class codes and their associated escalation list or the top? escalation list. If neither /CLASS or /TOP is specified, thec? escalation lists for all classes are listed. To view the topi> escalation list you must specify the /TOP qualifier. If the> /CLASS qualifier is specified, the escalation list for that" single class code is displayed. o/REMOVEeA Identifies the operation as a remove operation. This qualifiernA requires the /USER_ID qualifier and a list selection qualifiern { /CLASS }e { /TOP }y { } D Removes the specified user id from the specified escalation list. d /SHOW_HOURSi7 Displays the hours bitmask for each day of the week.i w/TOP9 Associates the operation with the top escalation list.  /USER_ID /USER_ID=user-id= Specifies a user-id which will be added or removed from ans; escalation list. Requires one of the function qualifiersK8 { /ADD } { /CLASS }8 { /REMOVE } and a list selection qualifier { /TOP }8 { } { } I2 Description> When a service request is created, a due date is designated@ for the request. Based on the requests severity and priority,? milestones are established for the request in regards to hownC long the request may go unowned, how long it may go before it isn@ raised in priority, and ultimately, how long it may go before> it is solved. When a milestone is reached and the event has@ not occurred, MultiHelp sends Email notifications to selectedC individuals to let them know a milestone has been missed for thec request.f@ The MultiHelp escalation scheme is based on a request's classB code. MultiHelp maintains a system wide list of individuals who? should receive notification when a request with a particular C class code reaches an escalation point. When an escalation eventC occurs for a request, everyone who is on the escalation list forYC the class code or is implicitly on the escalation list by virtueMB of being on an escalation list for an ancestor of the request's* class code receives Email notification.A Even after sending notifications to the class based escalationLD list, if the event is not satisfied MultiHelp sends a final Email@ notification to a final, or ``Top'' escalation list. See yourB respective MultiHelp User's Guide for a complete explanation of the elevation scheme.C The ESCALATION command is used to maintain the escalation lists. @ Additionally, the ESCALATION command is used to designate theD hours within a day and the days within a week when it is valid toC perform escalations. For example, if a milestone were designated @ for 8 hours following a requests creation and the request wasB created at 4:30PM on Friday afternoon the escalation time wouldC be 12:30am Satu =rday morning. If the normal work schedule for the A HelpDesk staff is 8-5, Monday through Friday it would not makeID sense to accumulate time against the request when there is nobodyA scheduled to work the request. By using the ESCALATION commandcC to designate the normal work hours, the escalation counter wouldt@ be halted at 5:00pm on Friday night, and resume 8:00am MondayD morning, without causing needless notifications to occur over the weekend.i r 2 Examples  1.I MultiHelp> ESCALATION/LIST   SYSTEM BOBn i GUNTHERe MARGOo; A sample list shows the entire system wide class basedC= escalation list. Note that if the class code VMS_BU is ah= descendant of the class code VMS, user BOB would receivetD notifications for escalations for requests which have the class code VMS_BU or VMS.7 2.Multihelp> ESCALATION/ADD/USER=JOHN/CLASS=UNIX_NEThA User JOHN is added to the escalation list for the class code  UNIX_NET., 3.Multihelp> ESCALATION/ADD/USER=JEFF/TOP3 User JEFF is added to the top escalation list.hA 4.Multihelp> ESCALATION/DAY=MON/HOURS=000000001111111110000000EA Multihelp> ESCALATION/DAY=SUN/HOURS=000000000000000000000000pB The first command sets the valid escalations hours for MondayB to 8am-5pm. The second command specifies that it is not valid& to escalated a request on Sunday.% 5.Multihelp> ESCALATION/SHOW_HOURSS* 000000000011111111112222* WeekDay 012345678901234567890123* MON 000000001111111110000000* TUE 000000001111111110000000* WED 000000001111111110000000* THU 000000001111111110000000* FRI 000000001111111110000000* SAT 000000000000000000000000* SUN 000000000000000000000000A Displays the weekly calendar of acceptable escalation times.o t 1 EXECUTEC The EXECUTE command is used to execute MultiHelp commands storede in an external file.l Formatr" EXECUTE filespec[/Qualifier] 2 Parameters Efilespec; Specifies a file which contains MultiHelp commands to be executed.& Command Qualifiers Defaults' /[NO]VERIFY /NOVERIFYt u 2 Qualifiersy 4/VERIFY /VERIFYt /NOVERIFY (default)o; Specifies whether the MultiHelp commands in the file areh? echoed ; ?$MULTIHELP020.A [A]MULTIHELP.HLP;1_?)Bto the terminal prior to their execution. The defaultu is /NOVERIFY. 2 Description? The EXECUTE command opens the file specified in the filespec/@ parameter and processes each line of the input file as though@ it were a MultiHelp command line entered interactively at the terminal. 2 Examplesf 1. $ MultiHelp> EXECUTE 1ST_THING.MHF MultiHelp[R] -+-+-+-+-+- List of Requests for Service -+-+-+-+-+-I SIOT19940603.1 ! Logged: <1994-06-03:23:22> Due: <1994-06-04:03:22>pK Class: Severity: Priority: Status: < Subject: I SIOT19940603.2 ! Logged: <1994-06-03:23:44> Due: <1994-06-04:03:44>/M Class: Severity: Priority: Status: N, Subject: I SIOT19940604.1 ! Logged: <1994-06-04:00:26> Due: <1994-06-11:00:26>SJ Class: Severity: Priority: Status: I Subject: e> In this example the user has created a file that contains> a lookup command that he wishes to execute first thing in@ the morning. The command forms a collection of all requests< belonging to the user, sorted by date due, severity and priority. 2.h, MultiHelp> EXECUTE 1ST_THING.MH /VERIFYZ MultiHelp> LOOKUP/OPEN/OWNER=RATHBONE/SORT="DATE_DUE ASC,SEVERITY DESC,PRIORITY DESC"F MultiHelp[R] -+-+-+-+-+- List of Requests for Service -+-+-+-+-+-I SIOT19940603.1 ! Logged: <1994-06-03:23:22> Due: <1994-06-04:03:22> I Class: Severity: Priority: Status: < Subject: I SIOT19940603.2 ! Logged: <1994-06-03:23:44> Due: <1994-06-04:03:44> K Class: Severity: Priority: Status: u, Subject: I SIOT19940604.1 ! Logged: F<1994-06-04:00:26> Due: <1994-06-11:00:26>iH Class: Severity: Priority: Status: I Subject: , The same file executed with the /VERIFY& 3.MultiHelp> spawn @add_mh_customer Enter User ID: 34893f Enter Password:! Re-Enter password to confirmt Re-enter Password:B First Name: JOHNe Last Name: SMITHw/ Enter default Email address: ARDVRK::SMITHe2 MultiHelp> EXECUTE MH_ADD_CUSTOMER.MH /VERIFY? MultiHelp> PROFILE ADD USER 34893/CUSTOMER/password=SECRET.: %MULTIHELP-I-USERADDED, user "34893" added to profileZ MultiHelp> PROFILE ADD CONTACT 34893/NAME=(FIRST=JOHN,LAST=SMITH)/EMAIL=ARDVRK::SMITHF %MULTIHELP-I-CONTACTADDED, contact JOHN SMITH added to user 348935 MultiHelp> SPAWN DELETE MH_ADD_CUSTOMER.MH;*/logCK %DELETE-I-FILDEL, UD1:[STANARD]MH_ADD_CUSTOMER.MH;1 deleted (3 blocks)T/ %DELETE-I-TOTAL, 1 file deleted (3 blocks)1 MultiHelp>-@ Illustrates using a spawned command procedure to prompt forD information that is formatted as MultiHelp commands and writtenC to a file that is then executed to create a new MultiHelp user & account and add a contact record. 1 EXITt< This command exits the user from an interactive MultiHelp session.. Formati EXITR E 2 Parameters5 None. 2 Restrictions- None. o2 DescriptionC This command, when issued interactively, will exit the user from MultiHelp.p& Alternatively, the user can use ^ Z + < Z > to exit from MultiHelp. T 2 Qualifiers1 None. l1 HELP D The HELP command invokes the Help Facility to display informationA about a command or topic. This is available from the MultiHelpn= command line interface and can also be requested via mail.f? For help on getting started with MultiHelp, please reference A the document MULTIHELP$QUICKSTART.TXT (or print the PostscriptA version, MULTIHELP$QUICKSTART.PS) that was placed in SYS$HELP: % during the MultiHelp installation.o FormatI HELP [topic][...]c a 2 Parametersg ptopicoB This parameter is optional. If it is specified the user will beC taken directly to help on that topic, if available. Otherwise, a. list of top level topics will be displayed. e2 Restrictionsc None. 2 Prompts None. 2 DescriptionD The HELP command invokes the Help Facility to display information; about a command or topic. This is available on-line froml0 MultiHelp and can also be requested via mail./ In response to the "Topic?" prompt, you may:ED o Type the name of the command or topic for which you need help.? o Type a question mark < ? > to redisplay the most recentlyr requested text. ? o Press the RETURN key one or more times to exit from HELP..8 You can abbreviate any topic name, although ambiguous7 abbreviations result in all matches being displayed. = You can navigate the help topics in a binary tree fashion.V@ Placing an ellipsis < ... > at the end of the topic specified@ will return help on that topic and all of its sub-topics. For Example:O Topic? REQUEST...> will return help on the REQUEST command and all of its sub- topics.@ When executed interactively, the output from the HELP command< will pause after each screen full of information has been@ displayed and prompt you to press RETURN to continue with the output. l 2 Qualifiers None. 2 ExamplesI 1.MultiHelp> help statuse STATUSoK This command is used to maintain and view the Problem Status Codee Table. Format4 STATUS function [Name] [/Qualifiers]...( Additional information available:< Parameters Restrictions Prompts Description Qualifiers - /CLOSED /DESCRIPTION /OPENO EXAMPLESt STATUS Subtopic?c> The Example above demonstrates how to request help on the5 STATUS command using the command line interface.s 2.$ MAILe MAIL> SENDn To: MHCOMMANDSi4 Subj: [subject text is optional and is ignored]M Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit: HELP PROFILE... ^ Z MAIL> EXITf $C The example above illustrates how to ask MultiHelp for help onC the PROFILE command via the mOail interface. The results of the A Help query will be mailed back by MultiHelp. The ellipsis (3DB dots) after the topic "PROFILE" indicate to the help facility= that you want help on the topic "PROFILE" and all of itsi subtopics. 1 LICENSE> This command is used by the MultiHelp administrator to add,< remove and show MultiHelp licenses. This command requires% MultiHelp administrator privilege.4 Syntaxl* LICENSE function [/Qualifiers] . . . e 2 Parameterse ofunction [ ADD ]C Specifies a keword [ REMOVE ] that specifies the action you wishe [ SHOW ] [ ]$ to take on the MultiHelp license. o ADDi: This directs MultiHelp to add a license based on the0 information specified on the command line. o REMOVE= This directs MultiHelp to remove the MultiHelp license.C o SHOW= This directs MultiHelp to display the MultiHelplicense.o! Command Qualifiers Defaultse /CHECKUM=value None. /CONCURENT_USERS=valueNone. /EXPIRATION=date None.f /HW_MODEL=value None. /NI_ADDRESS=value None. /SITE_CODE=value prefiNone. e2 Restrictions 7 o The SHOW and REMOVE functions take no qualifiers. D o The ADD function requires the /NI_ADDRESS, /HW_ADDRESS, /SITE_% CODE, and /CHECKSUM qualifiers.nB o The /EXPIRATION and /CONCURENT_USERS qualifiers are mutuallyD exclusive. If you use one, the other cannot be included on the command line.w 2 Prompts [ADD ]i P1: [REMOVE ]r [SHOW ]o [ ]s 2 Description< The LICENSE command is used to add, remove or display the@ MultiHelp license on a MultiHelp server. The use of MultiHelpC server software is restricted to licensed nodes. Without a valid B license all command verbs of the sofware are invalid except the LICENSE comma<.6$MULTIHELP020.A [A]MULTIHELP.HLP;1_? Snd./C The value of the license checksum is provide by SIO TechnologiesrD Corporation when you register your MultiHelp system. At that time@ you must provide the ethernet hardware address of your server@ node, the hardware type code and a unique four character siteA prefix code. Based on the terms of your agreement, you will be/B given a checksum and a value to either the /CONCURRENT_USERS or /EXPIRATION qualifiers.C If the ethernet adapter of your server must ever be replaced you D must ask your service technician to swap the identity chip on theD boards to insure that your MultiHelp license will still function.B If this is not possible contact SIO Technologies Corporation to obtain a replacement license. c 2 Qualifiers  t /CHECKSUMi /CHECKSUM=value : The checksum is a unique value that is generated by SIOD Technologies Corporation. The value is based on your site prefix,6 ethernet hardware address, and hardware model type. /CONCURRENT_USERS  /CONCURRENT_USERS=value D Based on your license agreement with SIO Technologies CorporationC you may be restricted to the number of active users that can useyA the MultiHelp software at one time. You must enter this numberw@ as a value to the {/CONCURRENT_USERS qualifier. If more usersC attempt to use the MultiHelp software than are authorized by the4 license, they will be unable to use the software. /EXPIRATIONs /EXPIRATION=dateD Based on your license agreement with SIO Technologies Corporation> you may have a license expiration date associated with yourB license. You must enter this date as a value to the /EXPIRATIONA qualifier. The format of the date value is DD-MMM-YYYY. If your? attempt to use MultiHelp beyond the specified date, the onlyd? command verb that will be functional is the LICENSE command.i r /HW_MODELc /HW_MODEL=value = This qualifier specifies the VMS model code of your server= hardware. You may obtain this information by executing the following DCL command:s. $ WRITE SYS$OUTPUT F$GETSYI("HW_MODEL") 245 e /NI_ADDRESSs /NI_ADDRESS=value B This qualifier is used to specify the ethernet hardware addressA of your MultiHelp server's ethernet adapter. If you system haslB more than one ethernet adapter, the value should be that of theD first adapter configured. Use the following commands to determine8 the hardware address of the first configured adXapter.* $ WRITE SYS$OUTPUT F$DEVICE("*","SCOM") _XQA0:  $ ANALYZE/SYSTEMr VAX/VMS System analyzer SDA> SHOW LAN /DEVICE=XQA0  LAN Data Structures -------------------F -- XQA0 Template Unit Information 21-MAY-1994 17:26:57 --O LSB address 803D2410 VCIB address 00000000rO Packet format Ethernet Error count 0O Device buffer size 1500 LAN medium CSMACDtO Maximum buffer size 1500 Eth protocol type 00-00 O Hardware buffer quota 16 802E protocol ID 00-00-00-00-00{O Receive buffer quota 0 802.2 SAP 00eO Allow prom client ON 802.2 Group SAPs 00,00,00,00eO Promiscuous mode OFF Maximum header size 0eO 802.2 service OFF Hardware address 08-00-2B-07-D0-FCbO Data chaining OFF Physical address FF-FF-FF-FF-FF-FF O Padding mode ON Can change address OFFlO Automatic restart OFF Access mode EXCLUSIVEiO CRC generation mode ON Controller mode NORMALeO Maintenance state ON Rcv buffs to queue 1 O P2 parameters 00000000 Starter's PID 00000000aO All multicast mode OFF Creator's PID 00000000rO Rcv buffer quota 0 LSB size 5212r /SITE_CODE /SITE_CODE=value? This qualifier specifies a four character code that uniquelyeA identifies this MultiHelp server. SIO Technologies Corporatione? maintains the site code registry and assigns codes with eachh, license. Site codes are unique worldwide. E 2 Examplesc) 1.MultiHelp> MultiHelp> license remove > %MULTIHELP-I-LICENSE_REMOVED, license succesfully removedB This example demonstrates the removal of a MultiHelp License.( 2.MultiHelp> license add /site=SIOT -( _MultiHelp> /NI=08-00-2B-07-D0-FC - _MultiHelp> /HW_MODEL=245 -& _MultiHelp> /EXPIRE=31-DEC-1999 -# _MultiHelp> /CHECKSUM=40624873s: %MULTIHELP-I-LICENSE_ADDED, license succesfully added2 In the example above, a new license is added. 3.MultiHelp> LICENSE SHOW0 MultiHelp[R] license active on this system: Site Prefix Code: SIOTs, Ethernet Address: 08-00-2B-07-D0-FC Hardware Model: 2452 Expiration Date: 31-DEC-1999 00:00:00.00> In the example above, the MultiHelp license is displayed. t1 SIOA SIO Technologies Corporation is pleased to make MultiHelp Y020 B available to you. If you are using MultiHelp without a license,B you are free to use the fully functional command line interface= (MultiHelp-CLI) as long as you like. There are significant D advantages to upgrading to the full product however and we inviteD you to explore the full potential of MultiHelp with a free 30-day trial license. = If you already have a license, please use HELP LICENSE forc assistance in adding it.e? For help on getting started with MultiHelp, please referenceeA the document MULTIHELP$QUICKSTART.TXT (or print the PostscripttA version, MULTIHELP$QUICKSTART.PS) that was placed in SYS$HELP: % during the MultiHelp installation.h Solve it Once with MultiHelp! l2 Advantages_of_Upgrading/ Fully licensed users obtain many advantages:D o DECwindows Motif interfaceB o Fully-customizable Web Browser (Mosaic, Netscape, Lynx etc.) interface1# o Full-function EMAIL interfaceA% o Archival and Restore Capability06 o Automated Time/Severity-based Problem Escalation' o Ad-hoc report-generator interfacen* o Significant performance improvements 3 Motif_InterfaceA A robust interface using the industry standard X Window system @ and OSF/Motif. Full request logging and tracking capabilities@ using an intuitive interface with extensive context sensitive help.C Features popup notification windows alerting the user to request . activity matching a user-definable profile. 3 WWW_Browser_InterfaceA You can create your own screens complete with graphics, audio,0D forms and formatted text for interfacing with MultiHelp. Will runC native on virtually every platform. Complete functionality builtd in.D Integrate the power and resources of the World Wide Web into your helpdesk! i3 Email_Interface? The MultiHelp-CLI interface allows MultiHelp to send mail tooA users based on request activity. The full interface allows theiA full functionality of MultiHelp to be accessed by sending mailuB messages from a user account to the MultiHelp application. ThisD includes request logging and updates, solution queries (includingA an automatic query when a request is logged) and administratoraC functions. It also includes a unique ability for a request to beoA 'elevated' from one MultiHelp installation to another and havesD updates shared between the two sites with no manual intervention. n3 Escalations; Timers for aging requests can be set to notify different A individuals at intervals based on the severity of the request.iD Different groups of people can be notified based upon the subject! matter (CLASS) of the request.-2 Notifications can also include FAXs and Pagers. r3 Archival_and_RestoreDC You can archive old requests and solutions based on a variety of A criteria. Archived data can be restored to the online database:( immediately using MultiHelp commands. H3 Performance_improvementsI< Using advanced techniques, the CLI, Motif, WWW, and Email< interfaces require less than half the memory consumption.= Startup time is reduced by 85% and database concurrency ist? increased b=8Y@$MULTIHELP020.A [A]MULTIHELP.HLP;1_?bz dy employing sophisticated server technology whichfD increases cache efficiency, and decreases deadlock contention and database locking. 2 What_is_MultiHelp< MultiHelp is an Enterprise-Wide Customer Support and Help< Desk Automation Application created by Support Automation Professionals.a@ MultiHelp is a fully integrated robust problem management and? resolution system designed to automate the key operations ofO@ a customer support or Internal Help Desk organization. It was@ designed by support professionals with over 55 years combinedA experience engineering, architecting and implementing customer2# support and help desk solutions.<A MultiHelp integrates a sophisticated Call Management System, asB Solution System/Knowledge Base, and a flexible Ad-hoc Reporting= System fully customizable to user-defined criteria. It wasN= created from the ground up to provide maximum connectivity ? in the open systems, multi-platform, client-server computingoC environments of today's customer service organization. MultiHelp_= is a single enterprise-wide solution that will support anyu: organization regardless of size or geographic location. ?2 How_to_Contact_Us* Contact SIO Technologies Corporation at$ o Sales Telephone: (800)951-3424 o "Sales@SIO.com"r o http://www.sio.com/s d2 Software_SupportnC Primary support for the MultiHelp-CLI version is via an InternetE? Email list-server. To subscribe, send mail to multihelp-cli-TD admin@service.sio.com with the following two lines in the message body: SUBSCRIBE QUITTA Thereafter, send mail to multihelp-cli-list@service.sio.com toF post to the list.A Service contracts are also available. Please contact the SalesO organization for details. d2 30_Day_Trial C The product license or 30-day trial license can be obtain by oneF of three methods:? 1. Visit our World Wide Web home page at http://www.sio.com/eA where you can find product and pricing information. If yours? web browser has forms capabilities you may also use it tof* request a free 30-day trial license.D 2. Sending electronic mail to multihelp@mhelp.sio.com if you have access to the INTERNET.c9 o The first word in the subject should be LICENSE.i+ o Provide the following information:i@ - Hardware Address of the node which MultiHelp will be9 installed on. ($ MC NCP SHOW KNOW LINES CHAR)sC - Hardware Model of the node upon which MultiHelp will ber@ installed. ($ WRITE SYS$OUTPUT F$GETSYI("HW_MODEL")) - Your company namei - Your name & - Your business phone number9 3. Call SIO Technologies Corporation at (719)488-0581.i T 1 LOOKUPbD The LOOKUP command is used to select and display service requests in the MultiHelp databases. Formata+ LOOKUP [/Qualifier][/Qualifier=value]d m 2 ParametersC None.& Comjmand Qualifiers Defaults# /ANCESTORS None.i( /[NO]ATTEMPTED /ATTEMPTED# /BEFORE=date-time none. $ /BRIEF /BRIEF" /[NO]CATEGORY="text" None# /[NO]CLASS="class-code[,...None.r* /CLOSED /OPEN/CLOSED" /CURRENT None" /[NO]CUSTOMER_ID=user-id None* /DESCENDANTS /DESCENDANTS= /EXTRACT=action=target=dest/EXTRACT=OUTPUT=FILE=SYS$OUTPUT $ /FULL /BRIEF# /ID=request-id None.d$ /MEDIUM /BRIEF" /MINE None& /MORE=n /MORE=-2# /[NO]NULL /NULLo$ /ONE /BRIEF* /OPEN /OPEN/CLOSED" /[NO]OWNER_ID=use-id None" /PRIORITY="priority-code[,.None* /[NO]QUEUED_ONLY /QUEUED_ONLY" /SEVERITY="severity-code[,.None# /SINCE=date-time none.u' /SORT="sort-field order[, .see ]texta" /STATUS="status-code[,...]"None" /SUBJECT="text[,...]" None" /SUMMARY None" /UPDATE None" /WORK_REPORT_NUMBERS="n[,..None 2 RestrictionslC o To display a request whose customer id does not match that of C the user issuing the command, PROBLEM REVIEW ACCESS: ALL mustc0 be specified in the user's profile record.> o /ID or /CURRENT must be present to specify /WORK_REPORT_ NUMBERS.= o The only optional qualifiers that are valid when /ID ore! /CURRENT are specified are: o /BRIEFE o /EXTRACTi o /FULL o /MEDIUM o /MORE o /ONEa o /WORK_REPORT_NUMBERC o The qualifier /ID cannot be used with the /CURRENT qualifier.u= o The qualifier /SUMMARY cannot be used with the /EXTRACTv qualifier. r 2 Qualifierso /ANCESTORS; Select requests whose class code either matches or is anIC ancestor (predecessor) of the class code specified by the /CLASS 7 qualifier. Valid only when /CLASS is specified also.e /ATTEMPTED /ATTEMPTED (default) /NOATTEMPTEDA Select requests regardless of the value of the attempts field.e? The negated form selects requests that have only zero in thee> attempts field. The qualifier is present by default for all1 operations that form a collection of requests.e p/BEFOREl /BEFORE=date-timel< Selects requests whose logged date precedes the specified date/time.  /BRIEF /BRIEF (default)? Displays selected requests in the brief listing format. ThisL@ is the default for all operations that create a collection of requests. d /CATEGORY /CATEGORY="text[,...]" /NOCATEGORY A Selects requests whose category field match the specified textlA string. The asterisk (*) wildcard character may be included inpC the string. See discussion in Description section about wildcard.D usage. The negated form selects only requests which have an emptyC category field. Specification of this qualifier is restricted towD users who have the CUSTOMER: NO attribute specified in their user profile.e /CLASS /CLASS="class-code[,...]"h /NOCLASS@ Select requests whose class code matches one of the specifiedA class codes. Use of the /ANCESTORS and /DESCENDANTS qualifierse? effects whether a match occurs for requests whose class codelB is a hierarchial relative of the specified class codes. See theA specification of these qualifiers for further information. TheaC negated form matches requests that have no class code specified.N ./CLOSEDD /CLOSED (default)I> Select requests whose status code has the closed attribute.@ By default, the LOOKUP command has both the /OPEN and /CLOSED> qualifier specified implicitly. If the /CLOSED qualifier is= specified explicitly then the /NOOPEN qualifier is presentT; implicitly. This qualifier is present by default for alln3 operations that create a collection of requests.  e/CURRENTC Specifies that the last request id that was uniquely selected by @ any command be used as the request id for the LOOKUP command.= Request ids are selected explicitly by specifying the /ID=M@ qualifier or implicitly by commands that create a new requestB id (e.g. REQUEST/CREATE. If the /CURRENT qualifier is specified@ when there is no current request id, an error message occurs. L /CUSTOMER_ID /CUSTOMER_ID=user-id /NOCUSTOMER_IDA Select requests whose customer id match the user id specified. C The negated form selects requests which have no customer id. ThesB asterisk (*) wildcard character may be included in the user id.> See discussion in Description section about wildcard usage. t/EXTRACT( /EXTRACT=action=target=destination< Directs the display of the LOOKUP command to an alternate destination.t+ { OUTPUT } > The action value is a keyword { EDIT } The OUTPUT keyword+ { }i@ specifies that the text pass directly to the target. The EDITB keyword specifies that the TPU editor should be invoked and theC output from the command be passed into the TPU edit buffer wheree6 it may be edited before being passed to the target.) { FILE } D The target value is a keyword { MAIL } The FILE keyword specifies) >^U^$MULTIHELP020.A [A]MULTIHELP.HLP;1_?Ɛ"u { }CB that the output will be directed to a file, and the destinationA value is a file specification. The MAIL keyword specifies thatoA the output will be directed to an electronic mail destination,.A and the destination value is the mail address of the recipientRB of the output. Note that the Email address can be an individualB address, a VMS Mail distribution list (e.g. @VMS_TEAM.DIS) or aD comma separated list of addresses (e.g. "TIP::JOHN,FLOP::JERRY"). o/FULLc9 Displays selected requests in the full listing format.h /IDs /ID=request-idD Selects the request whose request id matches the specified value. I/MEDIUMq; Displays selected requests in the medium listing format. a/MINE A Selects requests whose owner id matches that of the individualhA issuing the command. Equivalent to issuing a /OWNER_ID=user-id< with the current user's user ID as the owner-id paramter. e/MORE /MORE=nh /NOMOREy? Controls the display of information to a users terminal. ThedD value of n specifies how many lines to display before pausing and$ displaying a continuation prompt: -- More [Y,#,q,a] --e7 The values specified at the continuation prompt are:i o Y-YestB Display another screen full of information and pause when it is displayed.e" o #-Display additional N linesC Enter an integer number of additional lines to display before 9 pausing. See discussion below for the valid values.$ o q-Quit. Terminate the display of the collection. o a-Display AllS: Display the entire collection without pausing again.? Positive values of n specifiy the number of lines to display-< before the continuation prompt. Zero indicates no pausingB (continuous scroll), and a negative value specifies the current@ terminal display size minus n. The default value for n is -2.C The logical name MULTIHELP$MORE_ROWS can be defined to provide at new default value.e /NULL1 /NULL (default) /NONULL0@ Selects requests that do not have a class code specified. TheB negated form prevents selection of requests which have no class@ code. This qualifier is present by default for all operations( that create a collection of requests. e/ONE3 Displays selected requests in a one line format.e /OPEN ? Select requests whose status code has the open attribute. By = default, the LOOKUP command has both the /OPEN and /CLOSEDP< qualifier specified implicitly. If the /OPEN qualifier is? specified explicitly then the /NOCLOSED qualifier is presentm; implicitly. This qualifier is present by default for all 3 operations that create a collection of requests.  n /OWNER_ID  /OWNER_ID=user-idi /NOWNER_IDA Selects requests whose owner id match the specified value. TheeB asterisk (*) wildcard character may be included in the user id.B See discussion in Description section about wildcard usage. The3 negated form selects requests which are unowned.  /PRIORITY % /PRIORITY="priority-code[,...]"EA Select requests whose priority code match one of the specifiedaA values. The asterisk (*) wildcard character may be included inTA the priority code. See discussion in Description section abouts wildcard usage. /QUEUED_ONLY /QUEUED_ONLY (default) /NOQUEUED_ONLY> Selects only requests currently on the system wide responseA queue. Requests in this state have a current status of queued.s? This qualifier is present by default for all operations thate; create a collection of requests. The negated form allowsC> selection of requests regardless of whether they are on the resonse queue._ t /SEVERITYS% /SEVERITY="severity-code[,...]"DA Select requests whose severity code match one of the specifiedcA values. The asterisk (*) wildcard character may be included in A the severity code. See discussion in Description section about wildcard usage. s/SINCE /SINCE=date-timeC Selects requests whose logged date is greater than the specified date/time.m /SORTe& /SORT="sort-field [order][,...]"B Orders the display of requests by sorting the collection on theC specified field in the designated order. The sort-field value is,B a keyword from the following table which is the name of a fieldC in a request. The order value is an optional keyword ASC or DESCa@ indicating ascending or descending order. The order value, ifC specified, is separated from the field name by a space. Example:& /SORT=(DATE_DUE ASC,SEVERITY DESC).= If a sort order is not specified for a search operation, adD default sort order is applied. See the chapter on customizing theB CLI interace in the MultiHelp Customer Users Guide or MultiHelpA Support Representative Users Guide for information on changing$ the default sort order.+ Table CLI-2 Sort Keys for LOOKUP commandt, Sort Key Name Default Sort Order AFFECTED_HARDWARE ASCa AFFECTED_SOFTWARE ASCt ATTEMPTS ASCt CATEGORY ASCe CUSTOMER_FIRST_NAME ASCf CUSTOMER_ID ASCI CUSTOMER_LAST_NAME ASCa DATE_DUE DESC DATE_LOGGED DESC LAST_UPDATE DESC LOCKED ASC LOCKED_BY ASCm LOGGER_ID ASCr NEXT_ESCALATION DESC OPEN_OR_CLOSED ASCw OWNER_ID ASCl PAGER_AREA ASCa PAGER_EXT ASCv PAGER_NUMBER ASCe PHONE_AREA ASCa PHONE_EXTENSION ASCs PHONE_NUMBER ASC PRIORITY ASCi PROBLEM_TYPE ASCo SEVERITY ASCt STATUS ASCh WORK_REPORT_COUNT ASCd r/SUBJECT /SUBJECT="text[,...]" @ Select requests whose subject line matches the specified textA string. The asterisk (*) wildcard character may be included inoC the string. See discussion in Description section about wildcarde usage.C i/STATUSl /STATUS="status-code[,...]D Select requests whose status code matches the specified value(s).D The asterisk (*) wildcard character may be included in the statusD code. See discussion in Description section about wildcard usage. u/SUMMARY> Displays a summary of the of the requests which matched theD search criteria. The summary is ordered by severity and priority. s/UPDATEbA This qualifier alters the date that is examined when using thetB /BEFORE and /SINCE qualifiers. LOOKUP/UPDATE specifies that theC /BEFORE and /SINCE qualifiers will base their search on the LAST D UPDATE date for requests instead of on the CREATION date which is% the default without the qualifier. D/WORK_REPORT_NUMBERS$ /WORK_REPORT_NUMBERS="n[,...]"= Displays the contents of the specified work report(s). The = keyword LAST may be specified to list the last work reportu@ entered. An asterisk (*) may be specified to display all work? reports for a request. A range may be specified by using the9 hyphen (-) character to separate the range (e.g. 2-4).n i2 Description! The LOOKUP command is used to:M< o Search the MultiHelp databases for requests that match specified criteria.aA o Access and display a specific service request and it's workd reports.D The presence of the /ID or /CURRENT qualifiers determines whether> the LOOKUP operation is a display or a search operation. IfD either of these qualifiers is present, the operation is a displayB operation, and the qualifiers specified on the command line are= limited to the list specified in the restrictions section.dA The LOOKUP command can access service requests that are in them! QUEUE or the REQUEST database.sD When used to search the databases, the command qualifiers provide@ the search criteria which are used to compile a collection ofA requests that match the specified items. From this collection,d? individual requests can then be selected for a more complete > examination by performing a display operation using the /ID qualifier.dB To examine a service request's work reports the display form of the command must be used.B Several of the qualifiers used in search operations support theA use of the wildcard character, asterisk?]$MULTIHELP020.A [A]MULTIHELP.HLP;1_?[ " (*). A qualifier valuec@ that begins with an asterisk performs a sub-string search for@ the specified value. Any occurrence of the string anywhere inD the field will be considered a match. A qualifier value that endsB with an asterisk searches the field for an exact match with theB specified value up to the occurrence of the asterisk character.A Asterisks embedded in the qualifier value text are not treatedrC as wildcard characters. If more than one item is specified for aiD qualifier value that contains wildcard characters, a match occurs if any of the items match.6 MultiHelp> LOOKUP/SUBJECT="*LOTUS,*SPREADSHEET"C Any request that contained the word LOTUS or SPREADSHEET it it'se" subject line would be selected. o 2 ExamplesO 1.n- MultiHelp> LOOKUP /OWNER=DOCWRITERS/OPEN F MultiHelp[R] -+-+-+-+-+- List of Requests for Service -+-+-+-+-+-I SIOT19940206.1 ! Logged: <1994-02-06:10:10> Due: <1994-04-20:10:25>cJ Class: Severity: Priority: Status: 6 Subject: I SIOT19940412.2 ! Logged: <1994-04-12:13:58> Due: <1994-04-12:16:38>cJ Class: Severity: Priority: Status: A Subject: B Searches the database for all open requests owned by the user> id DOCWRITERS. Note that the collection display is in the /BRIEF format by default.) 2.MultiHelp> LOOKUP/CLASS=BUG/OPEN/ONEeF MultiHelp[R] -+-+-+-+-+- List of Requests for Service -+-+-+-+-+-R SIOT19940531.5 |QUEUED |BUG |gui logger doesn't clearK SIOT19940601.1 |QUEUED |BUG |profile show contact */alternatetJ SIOT19940605.1 |QUEUED |BUG |version limit on mh_mailshr.logD In the example above, the user is looking for all open requestsC with the problem class of BUG or a class which is one of BUG'srC descendants. Note the collection display has been limited to aN single line per request.3 3.MultiHelp> LOOKUP/CUST=14570/SINCE=01-JAN-1993tD Forms a collection of all requests that belong to the specifiedC customer. submitted since January 1, 1993. Since neither /OPENLD or /CLOSED is specified, the default is both, so the collection6 will be all requests, regardless of their status.K 4.MultiHelp> LOOKUP/ID=0914.39/WORK=*/EXTRACT=OUTPUT=MAIL=HELPMT::JJONESSA All information for the specified service request, including @ the individual work reports will be mailed to the specified EMAIL destination.D 5.MultiHelp> LOOKUP/QUEUE/CLASS=VMS/EXTRACT=OUTPUT=MAIL=@VMS_TEAMB Information about queued requests with a class of VMS (or its? decendants) is sent to the VMS Mail distribution list VMS_Y TEAM.DIS[M 6.MultiHelp> LOOKUP/QUEUE/CLASS=VMS/EXTRACT=OUTPUT=MAIL="JOHN,COG::SYSTEM".B Information about queued requests with a class of VMS (or itsA decendants) is sent to the username JOHN on the local systemx, and to the SYSTEM account on node COG::Q 7.MultiHelp> LOOKUP/QUEUE/CLASS=VMS/EXTRACT=OUTPUT=MAIL="sue@hamlet.swine.org"B Information about queued requests with a class of VMS (or itsB decendants) is sent to the internet user sue@hamlet.swine.orgB By default this will use the SMTP% prefix or the value of the+ logical MULTIHELP$TCPIP_MAIL_TRANSPORT K 8.MultiHelp> LOOKUP/OPEN/SORT="DATE_DUE ASC,SEVERITY DESC,PRIORITY DESC"t< A collection will be formed of all open requests sorted> by ascending date_due, descending severity and descending priority. 9. MultiHelp> LOOKUP/ID=4/FULLD MultiHelp[R] -+-+-+-+-+- Request for Service Id: SIOT19931017.4I SIOT19931017.4 ! Logged: <1993-10-17:18:52> Due: <1993-10-17:19:52>eH Class: Severity: Priority: Status: 9 Statement: / CustomerId: Contact: fF Attempts: <000> Work Report Count: <003> OwnerId:  Comment: <>D Locked By: <>( Phone: <(206)555-4321 x> Pager: <( ) - x> Location: fA Notify Methods: $ Email Address:  CC List: <>u Affected Software: <>t Affected Hardware: <>s Category: <> Logged By: l Summary of Work Reports:6 (001): (002): C (003): B The display operation lists all information for the specifiedC request except the individual work units. These could be addedRA to the display by including a /WORK_REPORTS=* on the commandt line. 10./ MultiHelp> LOOKUP/SUBJECT="*LOOKUP"/MEDIUMpI SIOT19940509.2 ! Logged: <1994-05-09:11:34> Due: <1994-05-11:11:34>aI Class: Severity: Priority: Status: C Subject: o1 CustomerId: Contact: F Attempts: <000> Work Report Count: <002> OwnerId: B Example of using sub-string search in the subject field. Also. illustrated is the medium display format.# 11MultiHelp> LOOKUP/SUMMARY/OPENcI MultiHelp[R] -+-+-+-+-+- Summary of Requests for Service -+-+-+-+-+- 4 8 Requests for Service with Severity = HIGH* 8 of these have Priority = P44 14 Requests for Service with Severity = MED) 1 of these has Priority = P1E* 2 of these have Priority = P2) 1 of these has Priority = P3t+ 10 of these have Priority = P4a4 13 Requests for Service with Severity = LOW+ 13 of these have Priority = P4i; The example above demonstrates the use of the /SUMMARYiA qualifier to obtain the number and type of requests that are  currently open. o1 NOISE? This command is used to display and maintain the system widesC list of noise words. Noise words are processed against knowledgetA base queries to eliminate words which provide only syntacticalf: structure to a query and provide no value in retrievingA information from the knowledge base. Suitably privileged usersu9 can add or remove words stored in the noise word list.d Syntaxs NOISE [/Qualifiers] . . . 2 Parameterse dNone! Command Qualifiers Defaultsw /ADD="word" None. /LIST /LIST /REMOVE="word" None. s2 RestrictionsaC o To add or remove noise words to the system wide list requiresd9 administrator privilege in the user profile record.@ o Only one qualifier is valid for a single invocation of the verb.o h 2 Qualifierst n/ADD /ADD="word"@ Specifies a noise word that is added to the system wide noise word list.E /LISTU /LIST (default) @ Specifies that the system wide noise list be displayed on the8 users terminal. This qualifier is present by default. /REMOVEs /REMOVE="word"D Specifies a noise word that is removed from the system wide noise word list.i 2 Description= The NOISE command verb is used to display and maintain theC MultiHelp system wide noise word list. If a knowledge base queryC has noise word elimination enabled, a user query is first passedeB through a noise word filter. This filter removes words from theB query which have been designated by the MultiHelp administratorA as being noise words. For example, words such as A, THE, THIS,l@ THAT, add syntactical meaning to a sentence, but offer littleD informational content in regards to performing a database search.? This feature allows users to pose questions in grammatically D correct sentence-like queries. Once filtered, the remaining wordsD are used to search the solution knowledge base without generating@ spurious database matches on words which are unrelated to the query.f 2 ExamplesM 1.MultiHelp> NOISE/LIST; A, AND, FOR, IT, OF, THAT, THE, THEIR, MY, THEN, THISl A sample list command.t 2.Multihelp> NOISE/ADD=THEM A sample add command." 3.Multihelp> NOISE/REMOVE=THESE A sample remove command.  1 PRIORITYe> This command is used to maintain and view@:$MULTIHELP020.A [A]MULTIHELP.HLP;1_? D  the Priority Code Table.a Formati/ PRIORITY function [Name] [/Qualifiers]...e o 2 Parametersi afunction= This specifies what action is to be taken on the specified[ Priority Code.T0 It can take one of the following four values: o ADDeB This directs MultiHelp to add the specified Priority Code to% the to the Priority Code Table.a o MODIFYB This directs MultiHelp to modify the specified Priority Code: based on the qualifiers present on the command line. o REMOVEB This directs MultiHelp to remove the specified Priority Code# from the Priority Code Table.e o SHOWA This directs MultiHelp to list the contents of the Prioritys Code Table.f NameC Name is the Priority Code that you want MultiHelp to act upon. A B Priority Code is a character string with a maximum length of 10 characters. a2 RestrictionsC o The Name parameter is required for all functions except SHOW. C o The Name parameter is not allowed with the SHOW function. AnyN> qualifiers specified with the SHOW function are ignored.A o When ADDing a Priority Code, Name must not already exist ino the Priority Code Table.2 o You cannot REMOVE the default Priority Code. a 2 Prompts# Function (Add,Modif,Remove,Show) ! Name: enter a Priority Codem e2 Description? The Priority Code is used to along with the Severity Code to3 assist in the prioritization of work to be done. ; The Severity represents the impact of the problem on thefC customer, contrasted with the Priority that represents the ordernC of importance within a group of problems with the same severity.oC A Priority Code is assigned and updated on a ProblemID using the @ PROBLEM command. The Priority Code can also be specified whenA using the QUEUE and LOOKUP commands to select which ProblemIDsa you would like to list.B A small group of Priority Codes are shipped with MultiHelp. TheC MultiHelp Administrator is encouraged to modify or augment theseA with codes that are appropriate for a particular installation.l! Command Qualifiers Defaultsh /DEFAULT None.( /DESCRIPTION="string" /DESCRIPTION="" /VALUE None. e 2 Qualifiersi e/DEFAULT= This qualifier is used to designate the Priority Code thatE@ is associated with a new ProblemID when one is not explicitly specified.  /DESCRIPTION /DESCRIPTION="string"sB Specifies text that describes the Priority Code in more detail.D The string must be enclosed in double quotes < " > if it containsD any lower-case characters or spaces. The text string can be up to 40 characters long. r/VALUE /VALUE=two-digit-numberSC Specifies the relative weight that this Priority Code will carryeB when compared to other Priority Codes. The value can be 0 to 99$ with 99 being the highest weight. r 2 EXAMPLESi 1.MultiHelp> PRIORITY SHOWb' Name Value Description ) P1 90 High Priorityh, P2 70 Level 2 Priority, P3 50 Level 3 Priority, P4 30 Level 4 Priority( P5 10 Low Priority2 SHOW the contents of the Priority Code Table.? o The weight of the Priority P1 is 90 (note that there iscB plenty of room between the value of 90 and 99 (the highest8 value possible) to insert higher Priority Codes.= o The description of the Priority P1 is "High Priority"o( 2.MultiHelp> PRIORITY ADD ENDADALINE-9 _MultiHelp> /DESCRIPTION="Lowest Possible Priority"-o _MultiHelp> /VALUE=0eC %MULTIHELP-I-PRIADDED, priority "ENDADALINE" added to databaseo= ADD a new Priority Code with the lowest possible weight.  3.MultiHelp> PRIORITY SHOWt' Name Value Descriptionn) P1 90 High PriorityI, P2 70 Level 2 Priority, P3 50 Level 3 Priority, P4 30 Level 4 Priority( P5 10 Low Priority4 ENDADALINE 0 Lowest Possible PriorityD SHOW the contents of the Priority Code Table after the addition" made in the previous example.D 4.MultiHelp> PRIORITY MODIFY ENDADALINE/DESCRIPTION="Back Burner"= %MULTIHELP-I-PRIMODIFIED, priority "ENDADALINE" modifiedD< MODIFY the description of the Priority Code ENDADALINE.C 5.MultiHelp> PRIORITY/DEFAULT SHOW ! or PRIORITY SHOW/DEFAULT ' Name Value Description, P4 30 Level 4 Priority< SHOW the default priority that will be applied to a newC ProblemID unless a value for PRIORITY is explicitly specified. * 6.MultiHelp> PRIORITY/DEFAULT MODIFY P5; %MULTIHELP-I-PRIDEFMOD, default priority changed to P5* MODIFY the default priority to be P5.% 7.MultiHelp> PRIORITY/DEFAULT SHOWc' Name Value Descriptionr( P5 10 Low Priority@ SHOW the default priority after changing it in the previous example.C i 1 PROFILE1 The Profile command allows privileged users tou= add|modify|remove|show - users|contacts|hardware|software.a Formati; PROFILE function subcommand [userid] [/Qualifiers]...s s 2 Parametersn cfunctionD This specifies what action the PROFILE command is to take. It can9 [ ADD ]s9 [ MODIFY ]i9 be one of the following four possibilities: [ REMOVE ]t9 [ ] 9 [ SHOW ]s c subcommandC This specifies what the PROFILE command is to take action on. It? [ USER ]S? [ CONTACT ]n? can be one of the following four possibilities: [ HARDWARE ]s? [ ]*? [ SOFTWARE ]  auseridC This specifies the UserId that the PROFILE command is to act on. D It is a required parameter for all values of what except CONTACT. 2 Restrictionsl> o You must have Administrative privilege to use the ADD or1 REMOVE sub-commands of the PROFILE command.eC o CUSTOMERs are allowed to SHOW noone but their own informationC: (non-CUSTOMERs are allowed to SHOW all information).A o UPDATE_CONTACT (or ADMINISTRATIVE) privilege is required tor? be able to MODIFY your own contact, hardware and softwareu information.C o UserID is a required parameter when either USER, HARDWARE, ort SOFTWARE are specified.  m 2 Prompts" Function:add|modify|remove|show* What: user|contact|hardware|software User Id: [UserId] b2 DescriptionC The MultiHelp user environment and database is divided into foura categories: o Userst o Contacts o Hardware Descriptionsd o Software DescriptionseA Contacts, Hardware and Software Descriptions are all tied to as@ User Id. In other words, a User Id can have none, one or manyD contacts associated with it. Likewise, several pieces of Hardware@ and many Software products can be assigned to a User Id (noteD that Hardware and Software are linked to a User Id rather than to a Contact).? A User Id is the method of access to the MultiHelp system. AeD contact describes the user or users of that User Id. The hardwareD and software lists describe the hardware and software in use by a User Id.rD For a full detailed description of each command see the following sections: o USER o CONTACTt o HARDWARE o SOFTWARE t 2 CONTACT< This command allows users to add, modify, remove and show! MultiHelp contact information.tA Contacts are tied to User Ids. A User Id can have none, one ore$ many contacts associated with it.& NOTE> A CUSTOMER User Id may have multiple contacts associated@ with it. A Support Representative or Administrator User IdA must have one and only one contact associated with it. This+@ restriction is not currently enforced by MultiHelp, but is0 required for effective use of the product. For instance:= o a UserAs&$MULTIHELP020.A [A]MULTIHELP.HLP;1_?" Id can be a department name and each user in the>= department can be listed as a contact for that User Id. A o a User Id can be an employee badge and the only contact forc= that User Id will be the person with that badge number.s Format% PROFILE function CONTACT userids c 3 Parameterss function= This specifies what action is to be taken on the specified Contact.o0 It can take one of the following four values: o ADDe@ This directs MultiHelp to add the specified Contact to the3 database. The contact must not already exist.- o MODIFYB This directs MultiHelp to modify the specified Contact based4 on the qualifiers present on the command line. o REMOVEA This directs MultiHelp to remove the specified Contact fromt the database. o SHOW> This directs MultiHelp to list the specified Contact(s). CONTACTs2 This parameter is required and must be CONTACT. nuserid; This parameter is required for the ADD, MODIFY OR REMOVEpA function. It is optional for the SHOW function. This parametertD must be from 1 to 20 characters. For the SHOW or MODIFY function,A this can be an asterisk < * >. The asterisk indicates that theO* action is to be performed on all users. 3 Restrictionsl? o /BRIEF and /FULL are only allowed with the SHOW function. D o When using the SHOW function you must specify one and only one( | User Id |( of the following: | /EMPLOYEE_ID |( | /NAME |( | |( to specify which contacts to show.B If you specify UserId, you can specify an asterisk by itselfD or as the last character in a string. This acts as a wildcard.C If you specify /NAME, you can specify either LAST or FIRST orAB both. Whatever value you specify for either is automaticallyD wildcarded. For instance, if you specify /NAME=LAST=SMITH, allC contacts whose last name starts with SMITH will be displayed.MA o When using either ADD or REMOVE then USERID, LAST and FIRSTA name are required.@ o MODIFY cannot be used with the qualifier /ALTERNATE_EMAIL_= ADDRESS. To add an altername email address for a new oru( existing contact you must use ADD.A o UserId is required when MODIFY is specified. This can be anT4 asterisk or a string terminate by an asterisk. " 3 Prompts" Function:add|modify|remove|show What: CONTACT  User Id: userid|* t3 DescriptionA This command enables a privileged user the ability to maintaint the contact database.D When you Add or Remove a contact you must specify a User Id and a first and last name. > When you Show a contact or contacts just specify one of the following:l o User Idi; User Id can take an asterisk or a full valid User Id.: o /NAME D /NAME can take first or last or both and you need only specify@ as many matching characters as desired. It will display as> many contacts as match the input string(s). See EXAMPLES below. o /EMPLOYEE_IDC /EMPLOYEE_ID need only specify as many matching characters asNB desired. It will display as many contacts as match the input! string. See EXAMPLES below. & Command Qualifiers Defaults" /ALTERNATE_EMAIL_ADDRESS=vaNone" /BUILDING=value None$ /BRIEF /BRIEF" /COMMENT=value None" /COMPANY_NAME=value None" /LOCATION=value None" /EMAIL_ADDRESS=value None" /EMPLOYEE_ID=value None" /FAX None$ /FULL /BRIEF" /ADDRESS=(value_list) None" /MAIL_STOP=value None" /MISCELLANEOUS=value None$ /NAME=([last=value,][first=Nonee)2 /NOTIFY_METHOD=(value_list)/NOTIFY_METHOD=PHONE" /PAGER_PHONE=(value_list) None" /PRIMARY_PHONE=(value_list)None" /SECONDARY_PHONE=(value_lisNone" /X_ADDRESS=value None B 3 Qualifiersd t/ADDRESS? /ADDRESS=([routing=value,] [address=value,] [city=value,]! [state=value,] [zip=value])C> This qualifier assigns a US mailing address to the contact.+ o routing field width is 60 characters.l+ o address field width is 80 characters.M( o city field width is 25 characters.( o state field width is 2 characters.' o zip field width is 11 characters.o e/ALTERNATE_EMAIL_ADDRESS\None.) ? You may specify multiple email addresses for a customer suche@ that they will be recognized via email from several different@ addresses. There is no limit to the number of alternate emailD addresses for a contact. Alternate email addresses do not have to be unique.u> The address specified must be entered exactly as it will be> seen by the MultiHelp server node. It is case-sensitive andA must include any special characters (e.g. SMTP%) that may havee@ been added to the address in its route from its source to the MultiHelp server node.dA Note that MODIFY cannot be used with the qualifier /ALTERNATE_r@ EMAIL_ADDRESS. To add an altername email address for a new or% existing contact you must use ADD.u< You can add, remove, and show alternate addresses for any@ contact. You cannot modify alternate addresses however. To doB this simply remove the one in question and re-add it correctly.= This qualifier cannot be used in conjuction with any other? qualifiers except /NAME. You must specify the last and firstn= names of a contact using the /NAME qualifier and they mustnA exactly match those specified for the CONTACT to which you are  adding the Email address.C The email address set with /EMAIL_ADDRESS qualifier still existsnD and is used to set the primary email address for the customer andC the email address at which MultiHelp will correspond to the useriA unless overridden on a particular service request by using thetA /EMAIL_ADDRESS with the REQUEST verb. Then of course all email C correspondance with that particular request will be done to thatu address.e t/BRIEF /BRIEF (Default) /FULLr> This qualifier is used with the SHOW function. It specifies/ either a Brief or Full listing be displayed.  e /BUILDINGd /BUILDING=valueaA This qualifier assigns a building code or name to the contact.l( Maximum field width is 10 characters. o/COMMENT /COMMENT=valueC Use this field to specify a free-form comment about this contacte: that you will see with the command PROFILE SHOW CONTACT r/EMAIL_ADDRESS /EMAIL_ADDRESS=value@ This qualifier assigns a valid electronic mail address to the@ contact. This field must contain an address that is reachable@ from the MultiHelp server system. You should test the addressC contained in here by sending a test mail message to the address.lD If this value is not specified then MultiHelp will not be able toD communicate to the user when the user logs a problem via a method9 other than mail. Maximum field width is 60 characters.  M /EMPLOYEE_ID /EMPLOYEE_ID=value? This qualifier assigns an employee Id number to the contact.aD Valid values could be a badge number or other company identifying, Id. Maximum field width is 15 characters. m/FAX< /FAX=([AREA=value,] [NUMBER=value,] [EXTENSION=value])B Used to specify the FAX number to be used to FAX information to? the requester if that method of notification is chosen. Thisa> value will override the pager number in the PROFILE CONTACT information. , o area_code field width is 3 characters.) o number field width is 7 characters.h, o extension field width is 7 characters. C /LOCATION  /LOCATION=valueT= This qualifier assigns a building location to the contact.t( Maximum field width is 10 characters. e /MAIL_STOP /MAIL_STOP=valueC This qualifier assigns a company mail stop value to the contact.d- The value can be up to 10 characters long.b e/NAME ( /NAME=([last=value,][first=value])? This qualifier assigns a first and last name to the contact. ( o last field width is 40 characters.) o first field width is 25 characters.  r/MISCELLANEOUS /MISCELLANEOUS=valueC Use this field to store free-form information about this contactd0 that there is no BYU$MULTIHELP020.A [A]MULTIHELP.HLP;1_?37allowance for anywhere else. r/NOTIFY_METHOD! /NOTIFY_METHOD=(value_list) $ /NOTIFY_METHOD=EMAIL (Default): This qualifier sets up the contacts preferred method ofB notification. It can take one to three values. If more than oneD value is specified, enclose them in parentheses and separate them with commas.f o PHONE@ It indicates that the customer prefers to be contacted via voice phone. o EMAILeA This is the default. This value indicates that the customereD prefers to be contacted via Email. MultiHelp can automaticallyD follow up with the customer if the Email address exists in the contact information. o PAGERi@ This value indicates that the customer wishes to be paged.@ MultiHelp can automatically page the customer if the pager/ number exists in the contact information.d O /PAGER_PHONE6 /PAGER_PHONE=([area_code=value,] [number=value,] [EXTENSION=value])> This qualifier assigns a pager phone number to the contact.= If this value is blank, then MultiHelp will not be able toa" automatically page the contact., o area_code field width is 3 characters.) o number field width is 7 characters.I, o extension field width is 7 characters. /PRIMARY_PHONE8 /PRIMARY_PHONE=([area_code=value,] [number=value,] [EXTENSION=value])@ This qualifier assigns a primary phone number to the contact., o area_code field width is 3 characters.) o number field width is 7 characters.t, o extension field width is 7 characters. ./SECONDARY_PHONE: /SECONDARY_PHONE=([area_code=value,] [number=value,] [EXTENSION=value])B This qualifier assigns a secondary phone number to the contact., o area_code field width is 3 characters.) o number field width is 7 characters.e, o extension field width is 7 characters. d /X_ADDRESS /X_ADDRESS=value= This qualifier assigns an X Window address to the contact. > This can be used in future releases to communicate with theB user interactively via X displays. The address can be tested byB attempting to display a simple X application from the MultiHelp5 server node. Maximum field width is 50 characters.  3 Examples E 1.MultiHelp> PROF ADD CONTACT SMITH/NAME=(LAST=SMITH,FIRST=JOHN) - E _MultiHelp> /EMP=94326/PRIM=(NUMBER=8435478)/PAGER=(NUM=8439292)oN %MULTIHELP-I-CONTACTADDED, Contact John Smith (94326) added to user SMITH MultiHelp>r> In the example above, we add contact John Smith under the= userid SMITH. We also specify the contact's Employee Id,_+ Primary Phone number and Pager number.r@ 2.MultiHelp> PROF REM CONT SMITH/NAME=(LAST=SMITH,FIRST=JOHN)< %MULTIHELP-I-CONTACTREMOVED, Contact John Smith removed MultiHelp>e@ In the example above, we removed the contact with last name= starting with SMITH and UserId of SMITH from the contacti database.J 3.MultiHelp> PROF MOD CONT SMITH/NAME=(LAST=SMIT,FIRST=JO)/EMAIL=JSMITH> %MULTIHELP-I-CONTACTMODIFIED, Contact John Smith modified MultiHelp> D In the example above, we modified the John Smith record and set his Email address. > 4.MultiHelp> PROF MOD CONT SMITH/NAME=(LAST=SMIT,FIRST=JO)-. _MultiHelp> /NOTIFY=(NoPhone,Pager,Email)> %MULTIHELP-I-CONTACTMODIFIED, Contact John Smith modified MultiHelp>D@ In the example above, we modified the John Smith record and. changed the default notification methods.$ 5.MultiHelp> PROF SHOW CONT SMITHD Primary Building EmailE Contact UserId Phone Location AddresseD Smith, John SMITH ()8435478 JSMITHD Jones, Phil SMITH ()8435477 PJONES MultiHelp>fA The example above asks to see all contacts for user SMITH ine BRIEF format./ 6.MultiHelp> PROF SHOW CONT /NAME=LAST=SMITHeD Primary Building EmailE Contact UserId Phone Location AddresseD Smith, John SMITH ()8435478 JSMITHG Smithson, Joan DEPT-M ()8434237 2/P12 JSMITHSONr MultiHelp>E? The example above produces a Brief listing of all Contactsr( whose last name start with "SMITH".* 7.MultiHelp> PROF SHOW CONT /EMPL=94236D Primary Building EmailE Contact UserId Phone Location AddresslD Smith, John SMITH ()8435478 JSMITH MultiHelp> ? The example above produces a Brief listing of all Contacts* whose Employee Id start with "94236".I 8.MultiHelp> PROFILE ADD CONTACT JSMITH/NAME=(LAST=SMITH,FIRST=JOHN) - ; /ALTERNATE_EMAIL_ADDRESS=TANGO::JSMITH I MultiHelp> PROFILE ADD CONTACT JSMITH/NAME=(LAST=SMITH,FIRST=JOHN) -sI /ALTERNATE_EMAIL_ADDRESS="SMTP%""jsmith@nodea.com""" < The example above demonstrates how to add two differentC alternate email addresses for contact John Smith, user JSMITH.hC The use of the double quotes < " > are important in the secondlD example as they are required to retain the single set of quotes@ in the resulting string: SMTP%"jsmith@nodea.com". Note thatC the last and first names specified in the /NAME qualifier must @ exactly match those of the CONTACT you are adding the Email address to.@ If the contact specified already exists, then the alternateD email addresses are simply added to it. If the contact does not' already exist, it will be created.oE 9.MultiHelp> PROFILE REMOVE CONTACT JSMITH/NAME=(L=SMITH,F=JOHN) -O7 /ALTER="SMTP%""jsmith@nodea.com"""oD The example above demonstrates how to remove the same alternate9 email address that was added in the previous exampleiC 10MultiHelp> PROFILE SHOW CONTACT JSMITH/ALTERNATE_EMAIL_ADDRESSr= The example above demonstrates how to show all alternatet% addresses for the User Id JSMITHwK 11MultiHelp> PROFILE SHOW CONTACT JSMITH/ALTERNATE/NAME=(L=SMITH,F=JOHN) < The example above demonstrates how to see the alternate: addresses for just one contact for the User Id JSMITH p 2 HARDWAREaB This command allows privileged users to add, modify, remove and' show MultiHelp hardware information.tB Hardware information is tied to User Ids. Each User Id can have> none, one or many hardware descriptions associated with it. Formatd& PROFILE function HARDWARE userid t 3 Parameters UfunctionB This specifies what action is to be taken on the specified User Id.0 It can take one of the following four values: o ADDO: This directs MultiHelp to add the specified hardware< description to the database for the specified User Id. o MODIFY= This directs MultiHelp to modify the specified hardwaret, description for the specified User Id. o REMOVE= This directs MultiHelp to remove the specified hardwarei, description for the specified User Id. o SHOWB This directs MultiHelp to show all hardware descriptions for the specified User Id. tHARDWARE3 This parameter is required and must be HARDWARE.i uuseridB This parameter is required and must be from 1 to 20 characters. It cannot be an asterisk. e3 Restrictionst7 o No qualifiers are allowed with the SHOW function.e@ o For functions ADD, MODIFY or REMOVE the /NAME qualifier is required.i t3 DescriptionD The Hardware database can be used as an inventory list for users.A You can keep track of and report on the hardware each customertB has in the MultiHelp system. This can help in tracking specific> problems and in overall support of customers. You can allowD customers to update this database themselves and thereby make theC information available to your help desk support representatives.p= For functions ADD, MODIFY or REMOVE the /NAME qualifier isr? required in order to specify which piece of hardware you areM interested in.t& Command Qualifiers Defaults$ /BRIEF /BRIEF$ /FULL /BRIEF" /MISCELLANEOUS=value None" /NAME=value None" /REVISION_NUMBER=C`W$MULTIHELP020.A [A]MULTIHELP.HLP;1_?"value None" /SERIAL_NUMBER=value None" /TYPE=value None a 3 Qualifiersn o/BRIEF /BRIEF (Default) /FULLc> This qualifier is used with the SHOW function. It specifies/ either a Brief or Full listing be displayed.o s/MISCELLANEOUS /MISCELLANEOUS=valueB This qualifier is used to add any text desired to help classify= or otherwise describe the hardware. Use the field to store > information that you require about the hardware, but is not$ captured by the other qualifiers.; You may use any format you desire, but you may choose to ? use something like /MAINT=DEC/ACCESS_NO=59723/EXPIRE=01-JAN-  1994/PHONE=(800)354-9000)) Maximum field width is 100 characters.  /NAMEa /NAME=valuesB This qualifier assigns a generic name to the piece of hardware.< This qualifier is required with the ADD, MODIFY or REMOVE3 functions. Maximum field width is 50 characters.n n/REVISION_NUMBER /REVISION_NUMBER=value; This qualifier assigns a revision number to the hardware 5 description. Maximum field width is 10 characters.n I/SERIAL_NUMBER /SERIAL_NUMBER=value9 This qualifier assigns a serial number to the hardwareR5 description. Maximum field width is 20 characters.  /TYPEc /TYPE=valueD9 This qualifier assigns a hardware type to the hardware 5 description. Maximum field width is 15 characters.a r 3 ExamplesPB 1.MultiHelp> PROF ADD HARDWARE SMITH/NAME=VT200/TYPE=TERMINAL -: _MultiHelp> /SERIAL="AB10432-23"/REVIS="12-AB323-001"E %MULTIHELP-I-HARDWAREADDED, Added Hardware description for VT200 MultiHelp> @ In the example above, we add the hardware description for aD terminal that User Id SMITH has. The serial number and revision= number are place in quotes because they contain hyphens.aE 2.MultiHelp> PROF MOD HARDWARE SMITH/NAME=VT200/REV="12-AB323-002"aK %MULTIHELP-I-HARDWAREMODIFIED, Modified Hardware description for VT200c MultiHelp>r? In the example above, we modified the hardware descriptionnC for a terminal that User Id SMITH has. We changed the revisionO number.5 3.MultiHelp> PROF REMOVE HARDWARE SMITH/NAME=VT200.I %MULTIHELP-I-HARDWAREREMOVED, Removed Hardware description for VT200L MultiHelp>CD In the example above, we removed the hardware description for a% terminal that User Id SMITH has. ( 4.MultiHelp> PROF SHOW HARDWARE SMITHD Name Type Serial Number RevisionH VT200 TERMINAL AB10432-23 12-AB323-0024 VS3100 VaxStation AB4442-AA1F HP-LASERJET PRINTER HP-2538-01 001-HP-45A MultiHelp>OB In the example above, we list all the Hardware we have stored for user SMITH. ) 2 SOFTWARETB This command allows privileged users to add, modify, remove and' show MultiHelp software information.B Software information is tied to User Ids. Each User Id can have> none, one or many software descriptions associated with it. Formatd& PROFILE function SOFTWARE userid l 3 ParametersC functionB This specifies what action is to be taken on the specified User Id.0 It can take one of the following four values: o ADDs: This directs MultiHelp to add the specified software< description to the database for the specified User Id. o MODIFY= This directs MultiHelp to modify the specified softwarel, description for the specified User Id. o REMOVE= This directs MultiHelp to remove the specified softwares, description for the specified User Id. o SHOWB This directs MultiHelp to show all software descriptions for the specified User Id. eSOFTWARE3 This parameter is required and must be SOFTWARE.e tuseridB This parameter is required and must be from 1 to 20 characters. It cannot be an asterisk. a3 Restrictions 7 o No qualifiers are allowed with the SHOW function.t@ o For functions ADD, MODIFY or REMOVE the /NAME qualifier is required.d 3 DescriptionD The Software database can be used as an inventory list for users.A You can keep track of and report on the software each customeroB has in the MultiHelp system. This can help in tracking specific> problems and in overall support of customers. You can allowD customers to update this database themselves and thereby make theC information available to your help desk support representatives.c= For functions ADD, MODIFY or REMOVE the /NAME qualifier ise? required in order to specify which piece of software you are  interested in.e& Command Qualifiers Defaults$ /BRIEF /BRIEF$ /FULL /BRIEF" /LICENSE_EXPIRATION=date_vaNone" /MAJOR_VERSION=value None" /MINOR_VERSION=value None" /MISCELLANEOUS=value None" /NAME=value None" /SUB_VERSION=value None 3 Qualifiersi t/BRIEF /BRIEF (Default) /FULLa> This qualifier is used with the SHOW function. It specifies/ either a Brief or Full listing be displayed.  s/LICENSE_EXPIRATIONr$ /LICENSE_EXPIRATION=date_valueC Use this qualifier to assign a product/license expiration to theu software product description. /MAJOR_VERSION /MAJOR_VERSION=valueB Use this qualifier to assign a major version Id to the software< product description. Maximum field width is 2 characters. /MINOR_VERSION /MINOR_VERSION=valueB Use this qualifier to assign a minor version Id to the software< product description. Maximum field width is 2 characters. i/MISCELLANEOUS /MISCELLANEOUS=valueB This qualifier is used to add any text desired to help classify= or otherwise describe the sorfware. Use the field to storel> information that you require about the software, but is not$ captured by the other qualifiers.? You may use any format you desire, but you may choose to use6D something like /SUPPORT=BORLAND/CUST_ID=29458/PHONE=(803)437-1921) Maximum field width is 100 characters.o e/NAMEa /NAME=valuelB This qualifier assigns a generic name to the piece of software.< This qualifier is required with the ADD, MODIFY or REMOVE3 functions. Maximum field width is 80 characters.s i /SUB_VERSION /SUB_VERSION=value@ Use this qualifier to assign a sub-version Id to the software< product description. Maximum field width is 2 characters. A 3 Examplesi: 1.MultiHelp> PROF ADD SOFTWARE SMITH/NAME="LOTUS-123" -* _MultiHelp> /MAJ=4/MIN=1/LIC=1JUL1994I %MULTIHELP-I-SOFTWAREADDED, Added Software description for LOTUS-123= MultiHelp> @ In the example above, we add the software description for a& LOTUS-123 that User Id SMITH has.> 2.MultiHelp> PROF MOD SOFTWARE SMITH/NAME="LOTUS-123"/MIN=2O %MULTIHELP-I-SOFTWAREMODIFIED, Modified Software description for LOTUS-123g MultiHelp>C In the example above, we modified the software description for C LOTUS-123 that User Id SMITH has. We changed the minor version0 Id to "2". ; 3.MultiHelp> PROF REMOVE SOFTWARE SMITH/NAME="LOTUS-123"M %MULTIHELP-I-SOFTWAREREMOVED, Removed Software description for LOTUS-123a MultiHelp>dB In the example above, we removed the software description for& LOTUS-123 that User Id SMITH has.( 4.MultiHelp> PROF SHOW SOFTWARE SMITH8 Name Version License Expiration5 LOTUS-123 4.2 01-JUL-1994h5 DECchart 1.3-A 01-JAN-2000s MultiHelp>mB In the example above, we list all the Software we have stored for user SMITH. t2 USER B This command allows privileged users to add, modify, remove and# show MultiHelp user information. C A User Id is the main method of identification in gaining access D to MultiHelp. A User Id may or may not have a password associated with it.mD Many users can use a single User Id, or there may be a one to one( relationship or a mixture of the two. Formata" PROFILE function USER userid r 3 Parametersn tfunctionB This specifies what action is to be taken on the specified User Id.0 It can take one of the following four vD$MULTIHELP020.A [A]MULTIHELP.HLP;1_?x"alues: o ADD @ This directs MultiHelp to add the following User Id to the0 database. The user must not already exist. o MODIFYB This directs MultiHelp to modify the following User Id based4 on the qualifiers present on the command line. o REMOVEA This directs MultiHelp to remove the following User Id fromr the database.N) NOTErA All Contact information, and Hardware and Software lists3; associated with this User Id will also be removed. o SHOW; This directs MultiHelp to list the following User Id.  CUSER/ This parameter is required and must be USER.T IuseridB This parameter is required and must be from 1 to 20 characters.B For the SHOW or MODIFY function, this can be an asterisk < * >.C The asterisk indicates that the action is to be performed on allt users. A3 RestrictionsAA o You must have Administrative privilege to use this command.c= o When MODIFY is specified on the command line no defaulti= qualifiers nor values are accepted. Only the qualifierse> explicitly specified on the command line are acted upon.9 o No qualifiers are allowed with the REMOVE function.r? o Only /BRIEF or /FULL qualifiers are allowed with the SHOWI function.T I 3 Prompts" Function:add|modify|remove|show What: USER User Id: userid|* %3 Description> This command enables a privileged user to maintain the user database.& Command Qualifiers Defaults+ /[NO]ADMIN_PRIV /NOADMIN_PRIVs" /COMMENT=value None' /[NO]CUSTOMER /CUSTOMERr/ /SOLUTION=(value_list) /SOLUTION=(QUERY)A$ /FULL /BRIEF /GROUPR3 /[NO]HARDWARE_LIST_UPDATE /HARDWARE_LIST_UPDATE6 /[NO]LOG_CUSTOMER_PROBLEMS /NOLOG_CUSTOMER_PROBLEMS" /MISCELLANEOUS=value None1 /[NO]PASSWORD=value /PASSWORD=MULTIHELPs' /[NO]REPORT=(value_list) /NOREPORT/) /REVIEW=value /REVIEW=OWN 3 /[NO]SOFTWARE_LIST_UPDATE /SOFTWARE_LIST_UPDATEo2 /[NO]UPDATE_CONTACT_INFO /UPDATE_CONTACT_INFO w 3 Qualifiersh m /ADMIN_PRIVs /ADMIN_PRIVd /NOADMIN_PRIV (Default)MA This qualifier is valid for the ADD and MODIFY functions only.(? This gives the user Administrative privilege. AdministrativeJB privilege gives the user access to the following administrative duties:) o full access to the Profile command.f# o access to the Backup command.i$ o access to the Archive command.% o access to the Shutdown command.l' WARNINGe? Be careful giving out this privilege, because having this = privilege would allow a user to give themself all otherP+ access privileges to the application.  J/BRIEF /BRIEF (Default) /FULLe> This qualifier is used with the SHOW function. It specifies/ either a Brief or Full listing be displayed.e /COMMENT /COMMENT=valueC Use this field to specify a free-form comment about this contacth7 that you will see with the command PROFILE SHOW USER  I /CUSTOMER5 /CUSTOMER (Default) /NOCUSTOMERnA This qualifier is valid for the ADD and MODIFY functions only.p< This qualifier flags the user as a customer rather than a? member of the help desk staff. Use /NOCUSTOMER for a supporte representative. L /SOLUTION  /SOLUTION=(value_list) /SOLUTION=QUERY (Default)A This qualifier is valid for the ADD and MODIFY functions only.lA This qualifier determines the level of access to the SolutionsS< KnowledgeBase facility. It can have the following values: o NONE@ This specifies no access. This value is mutually exclusive with the other three.C o QUERYL+ This allows the user to make queries. o ADDM; This allows the user to add articles to the Knowledge  database.= o MODIFY> This allows the user to modify articles in the Knowledge database. /FULLp /FULLt /BRIEF (Default)D This qualifier is valid for the SHOW function only. It determines= whether you get a one-line abbreviated report of the userst2 profile record or a multiline formatted output. /GROUP) /GROUP=(FIRST=value[,SECOND=value]) @ This qualifier is used to specify a group within your companyD for the User Id. You may specify up to two different groups. Each3 group name may be up to 15 characters in length. /HARDWARE_LIST_UPDATE % /HARDWARE_LIST_UPDATE (Default)e /NOHARDWARE_LIST_UPDATE ; This qualifier is valid for the ADD and MODIFY functionsc7 only. This qualifier determines whether the user can/2 add|modify|remove|show their own hardware list.> Giving the customer the ability to do this on their own mayA alleviate extra work on part of the administrator to keep this  list up to date.  m/LOG_CUSTOMER_PROBLEMS /LOG_CUSTOMER_PROBLEMS( /NOLOG_CUSTOMER_PROBLEMS (Default)A This qualifier is valid for the ADD and MODIFY functions only.eA This qualifier determines whether a user can log a problem forT? another user. This privilege exists for help desk staff thatoC log problems for customers over the phone. It allows the user tosC use the /CUSTOMER qualifier to the REQUEST command. Without thissD privilege all problems get logged with the logger as the owner ofB the request. When you use the /CUSTOMER qualifier it allows youA to log a call as if the User Id specified has logged the call.. /MISCELLANEOUS /MISCELLANEOUS=valueC Use this field to store free-form information about this User Idt0 that there is no allowance for anywhere else. /PASSWORDo# /PASSWORD=MULTIHELP (Default)o /PASSWORD=valuer /NOPASSWORDdD This qualifier is valid for the ADD and MODIFY functions only. IfC omitted on the ADD function a default password of MULTIHELP williD be assigned to the new user. If omitted on the MODIFY command theB password setting is not changed. Specifying /NOPASSWORD enables= the user to access MultiHelp without supplying a password. /REPORT /REPORT=(value_list) /NOREPORT (Default)tA This qualifier is valid for the ADD and MODIFY functions only.aA This qualifier determines the level of access to the reportinga1 facility. It will accept the following values:t o Generate@ Allows users to generate their own reports or recall saved- reports in the stored reports database.u o StoreDA Allows users to store created reports in the stored reportsr database.r r/REVIEWc /REVIEW=valueo /REVIEW=OWN (Default)nA This qualifier is valid for the ADD and MODIFY functions only.h@ This qualifier determines whether a user can review problems.) Possible values for the qualifier are:c o NONE> This indicates that the user cannot review any problems. o OWNn@ This indicates that the user can review problems that they own. This is the default./ o ALLr; This indicates that the user can review all problems.o? It is recommended that all MultiHelp support representativess? be set to ALL. Customers can be set to OWN or NONE, upon the  administrators discretion.= u/SOFTWARE_LIST_UPDATEl% /SOFTWARE_LIST_UPDATE (Default)E /NOSOFTWARE_LIST_UPDATEM; This qualifier is valid for the ADD and MODIFY functions7 only. This qualifier determines whether the user can 2 add|modify|remove|show their own software list.> Giving the customer the ability to do this on their own mayA alleviate extra work on part of the administrator to keep thisT list up to date.  a/UPDATE_CONTACT_INFO$ /UPDATE_CONTACT_INFO (Default) /NOUPDATE_CONTACT_INFOA This qualifier is valid for the ADD and MODIFY functions only.tD This qualifier determines whether the user can modify the contactD information associated with their User Id. It does not allow them( to remove or add contact information. 8 3 Examples 1.MultiHelp> PROF SHOW USER *E Review Solution Bulletin Report Admin R User Id Access Access Access Access Priv CustomerQ CJONES OWN Q-- -- -- NoAdmin CustomerOQ EJONES E!$MULTIHELP020.A [A]MULTIHELP.HLP;1_?;" None Q-- -- G- NoAdmin CustomermE JJONES ALL QAM -- GS *ADMIN*eE JONES OWN Q-- -- -- NoAdminlE SYSTEM ALL QAM VM GS *ADMIN*  MultiHelp>hB This example shows how to get a brief listing of all users by1 specifying an asterisk < * > for the UserId.i- 2.MultiHelp> prof add user smith /customerM %MULTIHELP-I-NOPASSSUPP, No Password Supplied - Defaulted to "MULTIHELP"-: %MULTIHELP-I-USERADDED, User "SMITH" added to Profile' MultiHelp> prof show user smith/fud? UserId: SMITH Password Required: Yesx Problem Review Access: OWN; Solution KnowledgeBase Access: Query, NoAdd, NoModifye- Bulletin Board Access: NoView, NoModify ( Report Access: NoGenerate, NoStoreF Update Own Hardware List: Yes Update Own Software List: Yes% Update Contact Information: Yes " Administrative Privilege: No! Log Problems for Others: Noh Customer: YesoG Report Groups: (First: , Second: )h User Comment:v Miscellaneous: MultiHelp>FA The example above shows how to add a customer to the profileE@ database and take all the defaults. The second command then% shows user SMITH in FULL format. # 3.MultiHelp> PROF REM USER SMITHa@ %MULTIHELP-I-USERREMOVED, User "SMITH" removed from ProfileE %MULTIHELP-I-CONTACTSREMOVED, User "SMITH" removed from ContactsiE %MULTIHELP-I-HARDWAREREMOVED, User "SMITH" removed from Hardware3E %MULTIHELP-I-SOFTWAREREMOVED, User "SMITH" removed from SoftwareL MultiHelp>NC In the example above, user SMITH was removed from the Profile,I= and subsequently all SMITH records were removed from the . Contact, Hardware and Software databases.< 4.MultiHelp> PROF MOD USER SMITH/PASS=HUBBUB/REPORT=(GEN)5 %MULTIHELP-I-USERMODIFIED, User "SMITH" modifiedm MultiHelp>U? In the example above, User Id SMITH has been modified. TheiB password was changed from whatever it was to "HUBBUB" and the6 user was given the privilege to generate reports.t 1 QUEUEC The QUEUE command has been replaced by the LOOKUP/QUEUE command.n> Please see the documentation on the LOOKUP verb for further details.f 1 REPORT = The REPORT command invokes the MultiHelp report generator.o< Reports are generated using the information stored in the@ MultiHelp databases and either pre-defined report definitionsA or native SQL queries. Named reports may be created and storedf using the GUI interface. > Reports may be generated in either a tabular format or in a= format suitable for importing into popular spreadsheet andsB database programs. This output may be placed into a file or may be directly sent via Email. Syntax REPORT [/Qualifiers] . . . a 2 Parametersa tNone! Command Qualifiers Defaults ' /DELIMITER="character"/DELIMITER=","  { EMAIL }+ /DESTINATION= { TEXT_FILES}INATION=EMAILs { }* /EMAIL_ADDRESS="email-SeerText, . . . ] { FALSE }s+ /ENCLOSE_TEXT= { TRUE /}NCLOSE_TEXT=TRUEt { }  /FILE=filespec None. { FLAT_FILE }c* /FORMAT= { FORMATTED }/FORMAT=FORMATTED { }  /GLOBAL None. /NAME=report-name None.+ /TITLE="text" /TITLE="MultiHelp"k" /SQL="sql-selection-exNone.ion" n2 RestrictionsoC o To use the REPORT command requires REPORT ACCESS: GENERATE in the user's profile record.B o You must specify either the /NAME or the /SQL qualifier. YouA may not specify both on the same invocation of the command./* o /GLOBAL may only be used with /NAME.C o You cannot specify the /EMAIL_ADDRESS and the /FILE qualifierE together.o 2 Qualifiers  /DELIMITER /DELIMITER="character"A Specifies the character to be used to separate report columns. ? This quailifier is used with the /FORMAT=FLAT_FILE to outputs> information that is suitable for importing into an external@ application such as a spread sheet or a database manager. The> delimiter character is output between every column of everyB row of the report. If the file format is /FORMAT=TEXT_FILE thisC qualifier has no effect. The default character is the comma (,).s /DESTINATION! { EMAIL }i! /DESTINATION= { TEXT_FILE }M! { }N? The keyword value specifies the destination of the generated B report. TEXT_FILE specifies the report be output to a file. The< /FILE qualifier is required to specify the file location.C EMAIL specifies the report be mailed via Email to the designatedtC recepient. If no explicit recipient is specified with the /EMAILnD qualifier, the report is mailed to the Email address specified in the user's profile record.u a/EMAIL_ADDRESS. /EMAIL_ADDRESS="email-address[, . . . ]"? Specifies the Email address to receive the generated report.e? The specified value overrides the Email address specified inA the user's profile contact record. The address may be up to 60.? characters and may be a distribution list (e.g. @MONTHLY.DIS D where MONTHLY.DIS is a text file containing one Email address per line).S V /ENCLOSE_TEXT  { FALSE } /ENCLOSE_TEXT= { TRUE } { }< Specifies whether date and text fields should be enclosed> in quotation marks (") in the output report. This qualifier> has significance only if the /FORMAT=FLAT_FILE qualifier is( specified. The default value is TRUE. M/FILE  /FILE=filespecC Specifies the output file specification for the report. The fileI? specification can be any valid file specification, includingUA remote files. If you want the report output to be displayed onrB your terminal, specify the file specification to be SYS$OUTPUT. b/FORMATi { FLAT_FILE } /FORMAT= { FORMATTED } { }A The keyword specifies how the output report will be formatted.E> If the keyword FORMATTED is speified the output report will= be formatted as a normal text file suitable for viewing or? printing. If FLAT_FILE is specified the output report formatr? is suitable for importation into an external spread sheet orSD database managment program. When the FLAT_FILE format is selected: the qualifiers /ENCLOSE_TEXT and /DELIMITER are active. 9/GLOBALE< This qualifier is only used in conjunction with the /NAMEB qualifier. It specified that the named report be taken from the@ list of global (public) reports instead of the user's private list. s/NAMEd /NAME="report-name" D Specifies the name of a pre-defined report definition. A suitablyD privileged user can create report definitions using the X-windowsB GUI interface and save them under a user defined name. With theC CLI interface you may generate a report using one of these knownm@ report definitions by specifying the report name as the valueC to the /NAME qualifier. If you specify a report name you may nota specify an SQL statement. f/TITLE /TITLE="text"e: Specifies a text line that is used as the report title. r/SQL% /SQL="sql-selection-expression"e@ Specifies an SQL selection statement that is executed to formC an output collection. This collection is formatted into a report@ using the fields specified in the selection statement for the@ columns of the report. Consult your SQL documentation for the- correct syntax of an SQL SELECT statement.  2 Description? The REPORT command verb is used to generate reports from ther> relations of the MultiHelp relational database. The commandB supports the execution of previously defined report definitions= in addition to ad hoc inquiries. The MultiHelp software isn; distributed with several useful reports already defined.eB Additionally, suitably privileged individuals can define custom< reports using the X-windows GUI interface to generate the specific report required.? Optionally, the report output can be formatted to facilitateuA importing the results into an external F?$MULTIHELP020.A [A]MULTIHELP.HLP;1_?A"spreadsheet or databasen manager program.o@ The report output can be directed to either a local or remote< file or sent via electronic mail to the report recipient. m 1 REQUEST> This command is used to create and update service requests. Format / REQUEST summary-statement [/Qualifier...]h# [/Qualifier=value...]P p 2 Parametersd osummary-statementWB Specifies the text of the summary statement which is associated> the request. The text string can be up to 50 characters. If? the string contains spaces, special characters, or lowercase 9 characters it must be enclosed in quotation marks("").eB For initial request creation, the summary statement should be aB one line synopsis of the purpose of the request. For updates toD existing requests, the summary statement should convey the reason why the request was updated.ED The summary statement is the only mandatory element of a request.;Action Qualifiers DefaultsP7/ACCEPT NoneO7/ASSIGN=user-id NoneE8/ATTEMPT None.:/CREATE /CREATE9/QUEUE /QUEUEd8/REQUEUE[=[NO]KEEP]] None.8/UPDATE None.;Selection Qualifiers Defaults 8/CURRENT None.8/ID=request-id None.;Content Qualifiers Defaults 8/CATEGORY="text-string" None.7/CC_LIST="email-address[, . . . ]" None 8/CLASS=class-code None.7/COMMENT="text" Nonea8/CONTACT=([LAST="name"][,FIRST="name"]) None.7/CUSTOMER=user-id Nonet;/DUE_DATE=date-time See Text;/EMAIL="email-address" See Texto</FAX=(AREA=area-code,NUMBER=phone-number[,EXTENSIONNoneber])7/HARDWARE_AFFECTED="text" None ;/LOCATION="text" See TextD;/NOTIFY_METHOD=([EMAIL][,FAX][,PAGER][,PHONE][,X_POSee]Textu>/PAGER=(AREA=area-code,NUMBER=phone-number[,EXTENSISeenTextr])>/PHONE=(AREA=area-code,NUMBER=phone-number[,EXTENSISeenTextr]);/PRIORITY=priority-code See Text;/SEVERITY=severity-code See Textn7/SOFTWARE_AFFECTED="text" Nones7/STATUS=status-code Nonee7/SUBJECT="text" Nonei;Miscellaneous Qualifiers Defaultso7/CREDIT=(user-id=hh:mm[, . . . ]) Nonet:/EDIT /NOEDIT;/[NO]HIDDEN NOHIDDEN 7/INCLUDE_WORK_REPORT=work-report-number Nonen:/[NO]QUIET NOQUIET7/TIME=[ddd-][hh:mm:ss] Nonef?/[NO]WORK_REPORT /WORK_REPORTe n2 RestrictionstA o To create a service request that belongs to a user-id other A than your own you must have LOG PROBLEMS FOR OTHERS: YES in  your user profile.A o To update a service request that belongs to a user-id otherpD than your own you must have CUSTOMER: NO in your user profile.? o The following qualifiers are restricted to users who haveT) CUSTOMER: NO in their user profile.U o /ACCEPT o /ASSIGN o /ATTEMPTu o /CREDIT o /HIDDEN o /CATEGORY o /COMMENTe o /QUEUE  o /REQUEUEG o /TIME* o /CREATE cannot be specified with /ID o /UPDATE requires /ID3 o /NOWORK_REPORT cannot be specified with /EDIT< o If the /ATTEMPT qualifier is specified, the only otherC qualifiers allowed are /ID or /CURRENT. You must specify one.f- o /ASSIGN cannot be specified with /QUEUEu. o /ASSIGN cannot be specified with /ACCEPT. o /QUEUE cannot be specified with /REQUEUE o /QUEUE requires /CREATEo o /REQUEUE requires /IDo1 o /INCLUDE_WORK_REPORT requires /EDIT and /IDi r 2 Prompts _Subject: t 2 Qualifierse a/ACCEPT < Changes ownership of a request to the user-id of the userC issuing the command. Unless explicitly overridden with a /STATUSfC qualifier, the request status is set to ASSIGNED. If the service> request was in the queue database, it is removed and placedA in the request database. Requires CUSTOMER: NO in user profileo record. ./ATTEMPT> Increments the attempt counter for an existing request. NotD valid with any other qualifiers besides /ID or /CURRENT. Requires' CUSTOMER: NO in user profile record.  /ASSIGNn /ASSIGN=user-idLB Assigns ownership of a request to the specified user-id. Unless> explicitly overridden with a /STATUS qualifier, the request? status is set to ASSIGNED. If the service request was in thenD queue database, it is removed and placed in the request database.0 Requires CUSTOMER: NO in user profile record. t /CATEGORYD /CATEGORY="text-string"lD An unvalidated 25 character textual field that can be used by theD HelpDesk Support Representative to enter a string that can latterB be used for retrieval or reporting purposes. Requires CUSTOMER: NO in user profile record. /CC_LIST( /CC_LIST="email-address[, . . . ]"C A comma separated list of electronic mail addresses that receiveVD notification messages whenever a significant event occurs to thisA request. The list of addresses is limited to 100 characters inn length. e/CLASS /CLASS=class-codeaC Specifies the class code associated with this request. The class > code must be a valid value from the class code table on the@ MultiHelp server. See the CLASS command for more information. i/COMMENTB Specifies a free-form comment text to a request. The string canA be up to 100 characters in length. The comment field cannot beeC entered by, nor viewed by users with CUSTOMER: YES in their user, profile record. r/CONTACT- /CONTACT=([LAST="name"][,FIRST="name"])F@ Selects a specific profile contact to be associated with this= request. This qualifier is used when multiple contacts arelA associated with a single user id. If there is only one contacte; associated with a user id, this qualifier has no effect.t a/CREATEo /CREATE (default)aC Specifies that this is a create operation. A new service request C is created and assigned a unique request id. This is the defaultO! action of the REQUEST command._ O/CREDIT ( /CREDIT=(user-id=hhh:mm[, . . . ])@ Credits labor time to another HelpDesk Support RepresentativeA that assists with the request resolution. Time format is hoursd= and minutes. Requires CUSTOMER: NO in user profile record.8 /CUSTOMER /CUSTOMER=user-id ? Specifies the user id of the individual for whom the requestpB is being created. By default, the customer id is set to that of@ the individual who creates the request. This qualifier allowsB a HelpDesk Support Representative to create a request on behalfC of a customer. Requires LOG PROBLEMS FOR OTHERS: YES in the user profile.  /DUE_DATE  /DUE_DATE=date-timeMC Specifies a date and time by which the request must be resolved.dB The value of this qualifier overrides the default due date that@ is assigned based on the request's severity. See the SEVERITYD command for an explanation of the automatic due date calculation. h/EDITiC Invokes the TPU text editor to create the text of a work report.-D This qualifier is valid only when used on an interactive terminal* that supports full screen text editing. i/EMAIL /EMAIL="email-address"C Specifies the Email address to be used for any communication viaD electronic mail about this request. The specified value overridesA the Email address specified in the profile contact record. Thed& address may be up to 60 characters. o/FAX /FAX=([AREA=area-code] [,NUMBER=phone-number]Y [,EXTENSION=number])rB SGeB $MULTIHELP020.A [A]MULTIHELP.HLP;1_?H pecifies the phone number to be used for any communication via@ FAX about this request. The specified value overrides the FAX2 number specified in the profile contact record., o area code field width is 3 characters.) o number field width is 7 characters.w, o extension field width is 7 characters. n/HARDWARE_AFFECTED /HARDWARE_AFFECTED="text"oC Specifies a hardware component involved in this service request.C This is an unvalidated text field that is 50 characters in size.  %/HIDDEN- /HIDDENU /NOHIDDEN (default)n= Specifies that the summary statement and work report beingr@ entered be not customer viewable. This qualifier only effectsA the summary statement and work report currently being entered.uB To view hidden work reports the user's profile record must have* CUSTOMER: NO. /NOHIDDEN is the default. a/IDd /ID=request-idD Specifies the request that is the target of the action qualifier. /INCLUDE_WORK_REPORT- /INCLUDE_WORK_REPORT=work-report-number B Loads the text from the specified work report into the TPU editA buffer. during work report creation. Requires the use of /EDITu qualifier.h r /LOCATIONn /LOCATION="text"C Specifies an unvalidated text string used to provide informationbA about the location of the requested service (e.g. room number,e= floor, pole number). This qualifier overrides the locatione< information present in the profile contact record for the0 customer. The field is 10 characters in size. t/NOTIFY_METHOD+ /NOTIFY_METHOD=([EMAIL][,FAX][,PAGER]o [,PHONE][,X_POPUP])aD Specifies the method(s) to use to notify the customer of activity= on this request. This overrides the notification method(s)@ selected in the profile contact record for the customer. If a; single value is selected the parentheses may be omitted.m o EMAILtB Send notifications by Email. Uses the Email specification in@ the customer's profile contact record unless an address isD specified for the request using the /EMAIL qualifier. Email is& the default notification method. o FAXM@ Indicates that the customer wishes to have notification by FAX. o PAGER 9 Indicates that the customer wishes to be paged whenU significant events occurs. o PHONEeC Indicates that the customer prefers to be contacted via voice/ phone. o X_POPUP D Indicates that the customer receive an X Windows Pop-up on his X display. x/PAGER /PAGER=([AREA=area-code] [,NUMBER=phone-number]  [,EXTENSION=number])e@ Specifies the pager number to be used to page the customer ifD the FAX notification method is selected. This value overrides the. pager number in the profile contact record., o area code field width is 3 characters.) o number field width is 7 characters. , o extension field width is 7 characters. F/PHONE /PHONE=([AREA=area-code] [,NUMBER=phone-number] [,EXTENSION=number])B Specifies the phone number to be used to telephone the customer; if the PHONE notification method is selected. This valueu< overrides the phone number in the profile contact record., o area code field width is 3 characters.) o number field width is 7 characters.r, o extension field width is 7 characters. /PRIORITYf /PRIORITY=priority-codeF= Specifies the priority code associated with this call. TheeB priority code must be a valid value in the priority code table.? See the PRIORITY command for more information. If a priority C code is not specified, one will be assigned based on the requeste severity. ./QUEUE /QUEUE (default)? Specifies that the newly created request be entered into the ? queue of unowned requests. This qualifier is valid only withiA the /CREATE qualifier. This is the default action for a createc operation./ I/QUIET /QUIET /NOQUIET (default)A Specifies that any notification that this operation ordinarilyD? would generate should be suppressed. This prevents automaticiC notification of the request owner, the customer and any CC list.i /NOQUIET is the default.l d/REQUEUE /REQUEUE[=[KEEP] /REQUEUE=NOKEEP B Specifies that the request be removed from the request database> and moved to the queue database. The qualifier value NOKEEPA indicates that the request ownership should not be maintained. ( The default is to maintain ownership. X /SEVERITY /SEVERITY=severity-code= Specifies the severity code associated with this call. TheiB severity code must be a valid value in the severity code table.D See the SEVERITY command for more information. If a severity code6 is not specified, a default value will be supplied. e/SOFTWARE_AFFECTED /SOFTWARE_AFFECTED=stringeC Specifies a software component involved in this service request.nC This is an unvalidated text field that is 80 characters in size.s y/STATUSy /STATUS=status-codee> Specifies the status code associated with this request. The? status code must be a valid value from the status code table ; on the MultiHelp server. See the STATUS command for morel information. I/SUBJECT /SUBJECT="text"hD Specifies the request subject. By default, the request subject is7 loaded with the text of the first summary statement.o u/TIMEf /TIME=[ddd-][hh:mm:ss]C Specifies labor time to be recorded for the request. The ddd- is.D the number of days, hh the number of hours, mm number of minutes,@ and ss the number of seconds of labor time expended. Requires' CUSTOMER: NO in user profile record.E /UPDATE < Specifies that this is an update operation to an existing@ request. Requires the /ID or /CURRENT qualifier to select theB request. To update a request whose customer user id is not your8 own requires CUSTOMER: NO in the user profile record. /WORK_REPORT /WORK_REPORT (default) /NOWORK_REPORTC Specifies that a work report is to be added to this request. TheyD negated form specifies that not work report is necessary for this* operation. /WORK_REPORT is the default. 2 Description; The REQUEST command is used to create and update serviceyA requests. Customers use the command to create service requestsi> and communicate with HelpDesk personnel. Due dates, request< severity and priority are all specified using the REQUEST@ command. Details such as notification methods, phone numbers,B mail addresses, service locations can also be specified if they7 differ from the customer's permanent profile record.mA HelpDesk personnel use the REQUEST command to accept or assignsA ownership of requests, track labor hours expended per request,PA and obtain additional information from the customer as needed.sC Throughout the request's lifetime, complete documentation of thex request is maintained.eD There are four types of qualifiers used with the REQUEST command. o Action Qualifiersd o Selection Qualifiers o Descriptive Qualifiers o Miscellaneous QualifiersA An action qualifiers, causes something to happen to the targete= request. One action qualifier is required for each requestrB statement. By default, the /CREATE qualifier is present, so theD default action of the request command is to create a new request.A Most of the action qualifiers are reserved for use by HelpDesk personnel.i> The selection qualifiers provides the target for the actionB command. The request ID can be supplied explicitly with the /ID6 qualifier, or implicitly by the /CURRENT qualifier.B The content qualifiers supply information that define or modifyC the fields in the request record. Many of the content qualifierswA are used to override information that exists in the customer's B user and contact profile records. The only required information? of a request is the summary statement which is supplied as as? parameter. Defaults values are supplied for the severity ands@ priority fields based on information defined by the MultiHelp administrator.i@ The miscellaneous qualifiers are used to modify the action or" content qualifiers in some way. s 2 EXAMPLESt_ 1.MultiHelp> REQUEST/CREATE/CLASS=VMS_BU/SEVERITY=HIGH "Restore fails with H|$MULTIHELP020.A [A]MULTIHELP.HLP;1_?VBNMISSING Error"DP Enter the text of your work report; terminate with CTRL/Z; abort with "\q":U We were attempting to restore our data disk after a hardware failure when BACKUP S failed with a BACKUP-E-VBNMISSING error. It is critical that we get this fixed  immediately.  John Jeffery, ^ZE> Example of a customer entering their own service request.A 2.MultiHelp> REQUEST/CREATE/CUSTOMER=AMGRAF/CONTACT=LAST=HATCH = _Subject: I am submitting a request for service for Mary P Enter the text of your work report; terminate with CTRL/Z; abort with "\q":P Mary called and said that she was having trouble with her laser printer. ItO smells and it is burning some pieces of paper in half! I told her to turn / it off and we'd get someone out to fix it.  George ^Z< This is an example of a HelpDesk Support RepresentativeD entering a request on behalf of a customer. The customer's userC Id must have multiple contacts, becau !se the /CONTACT qualifiere1 was supplied to identify the proper contact.AS 3.MultiHelp> REQUEST/NOWORK/ID=0418.12/ASSIGN=SAUNDERS/HARDWARE="Floppy Drive" -h@ _MultiHelp> "Dispatching Tech to replace failing component"D In this example, a HelpDesk representative assigns a request toB the individual who will perform the service. Since no further@ information was required besides the summary statement, the work report was omitted.EB 4.MultiHelp> REQUEST/UPDATE/ID=1122.44/TIME=01:30/STATUS=CLOSED/ _Subject: Solution is to obtain patch #125 P Enter the text of your work report; terminate with CTRL/Z; abort with "\q":S After researching the problem you reported, I found the answer is to patch thetF TALISMAN.EXE image. I've transferred the patch to your system viaI anonymous FTP. This should take care of the problem. I'm closing the M request. If this doesn't solve the problem simply reopen the request and& I'll be glad to look at it again. Thanks for using MultiHelp, Georgeo ^Z D This example shows a HelpDesk support representative respondingD to a customer's problem. The request solution is documented andC the request is closed in the same operation. Additionally, theR< time required to research the problem is also recorded. 5.rM MultiHelp> REQUEST/CREATE/CC_LIST="SMTP%""jsmith@nodea.com"",MILAN::SAM"? This example demonstrates how to specify a complex CC mailbC notification list. Since one of the mail addresses in the listRA requires the use of double quotes (") in the address itself,sA a pair are specified where one is desired in the result. Thee9 example will yield a notification to two individualsE# SMTP%"jsmith@nodea.com"I MILAN::SAM"Y 6. 9 MultiHelp> REQUEST/CREATE/EDIT/INCLUDE=error_log.rpt ' Subject: Disk Drive logging ErrorspB This example shows the inclusion of an external file into the work report edit buffer.1 7.MultiHelp> REQUEST/SEVERITY=HIGH/PRIORITY=P1 ( _Subject: Workstation won't respondP Enter the text of your work report; terminate with CTRL/Z; abort with "\q":B We started a batch job and now the workstation won't respond,+ woops, false alarm, it just came back.  \qq7 %MULTIHELP-E-ABORTEDWORK, user aborted work reportI@ Illustrates termination of a request operation using the \q directive.Q i 1 SEVERITYAB This command is used to maintain and view Severity Codes Table. Formatg/ SEVERITY function [Name] [/Qualifiers]...S U 2 Parameters  function= This specifies what action is to be taken on the specifiedu Severity Code.e0 It can take one of the following four values: o ADDNB This directs MultiHelp to add the specified Severity Code to% the to the Severity Code Table.N o MODIFYB This directs MultiHelp to modify the specified Severity Code: based 'on the qualifiers present on the command line. o REMOVEB This directs MultiHelp to remove the specified Severity Code# from the Severity Code Table.u o SHOWA This directs MultiHelp to list the contents of the Severityh Code Table.s iNameC Name is the Severity Code that you want MultiHelp to act upon. AsB Severity Code is a character string with a maximum length of 10 characters. a2 RestrictionsxC o The Name parameter is required for all functions except SHOW.tC o The Name parameter is not allowed with the SHOW function. Any > qualifiers specified with the SHOW function are ignored.A o When ADDing a Severity Code, Name must not already exist ina the Severity Code Table.2 o You cannot REMOVE the default Severity Code. e 2 Prompts# Function (Add,Modif,Remove,Show) ! Name: enter a Severity Code  2 Description? The Severity Code is used to along with the Priority Code tos3 assist in the prioritization of work to be done.s; The Severity represents the impact of the problem on thetC customer, contrasted with the Priority that represents the orderC of importance within a group of requests with the same severity. @ A Severity Code is assigned and updated on a Request Id usingD the REQUEST command. The Severity Code can also be specified whenC using the QUEUE and LOOKUP commands to select which Request Id's( you would like to list.B A small group of Severity Codes are shipped with MultiHelp. TheC MultiHelp Administrator is encouraged to modify or augment theseaA with codes that are appropriate for a particular installation.a! Command Qualifiers Defaultsi /DEFAULT None.( /DESCRIPTION="string" /DESCRIPTION="" /DUE_DATE_DEFAULT None." /ESCALATION_DELTA See Text. /VALUE None. 2 Qualifierse l/DEFAULT@ This qualifier is used to designate the Severity Code that is> associated with a new Request Id when one is not explicitly specified.n i /DESCRIPTION /DESCRIPTION="string".B Specifies text that describes the Severity Code in more detail.D The string must be enclosed in double quotes < " > if it containsD any lower-case characters or spaces. The text string can be up to 40 characters long. e/DUE_DATE_DEFAULTo" /DUE_DATE_DEFAULT=delta-time> Specifies the default due date associated with a particularC Severity Code. This is the due date that will be associated withGA a new Request Id when this Severity Code is chosen and the dueTA date is not explicitly set with the REQUEST command. The value A must be a valid delta-time of the form DDD:HH:MM. For Example:rD /DUE_DATE_DEFAULT=001:12:15 would specify a default due date of 1B day, 12 hours, and 15 minutes after the Request Id was created. a/ESCALATION_DELTAc" /ESCALATION_DELTA=delta-timeA Specifies the amount of time that must pass after the due dat-el> before the request is escalated to the next higher priority level.f /VALUE /VALUE=two-digit-number C Specifies the relative weight that this Severity Code will carry B when compared to other Severity Codes. The value can be 0 to 99$ with 99 being the highest weight. d 2 EXAMPLESi 1.MultiHelp> SEVERITY SHOWd- Default EscalationF: Name Value Due Date Delta DescriptionJ HIGH 75 000:01:00 000:08:00 Critical Impact to CustomerJ MED 50 000:12:00 000:08:00 Moderate Impact to CustomerE LOW 25 002:00:00 000:08:00 Low Impact to CustomerA This command SHOWs the current contents of the Severity Codew Table.rA o The weight of the Severity HIGH is 75 (note that there isWB plenty of room between the value of 75 and 99 (the highest8 value possible) to insert higher Severity Codes.? o The Default-Due-Date for HIGH is 000:01:00, which is an%= absolute time that translates to 0 days, 1 hour and 0 9 minutes from the time the Request Id was created.r@ o The Escalation Delta represents the amount of time afterC the due date that the request will be escalated to the next  priority level.rC o The description of the Severity HIGH is "Critical Impact toh Customer"I& 2.MultiHelp> SEVERITY ADD MELTDOWN-: _MultiHelp> /DESCRIPTION="Highest Possible Severity"-5 _MuIv$MULTIHELP020.A [A]MULTIHELP.HLP;1_?pQ0ltiHelp> /DUE_DATE_DEFAULT=0:0:5- ! 5 Minutesr _MultiHelp> /VALUE=99A %MULTIHELP-I-SEVADDED, severity "MELTDOWN" added to databasee@ Adds a new Severity Code with a very high weight and a very' short delta time for the due date.O 3.MultiHelp> SEVERITY SHOWi- Default Escalation : Name Value Due Date Delta DescriptionF MELTDOWN 99 000:00:05 000:08:00 Highest Possible ImpactJ HIGH 75 000:01:00 000:08:00 Critical Impact to CustomerJ MED 50 000:12:00 000:08:00 Moderate Impact to CustomerE LOW 25 002:00:00 000:08:00 Low Impact to CustomersD SHOWs the Severity Code Table after adding the new value in the previous example.N 4.MultiHelp> SEVERITY MODIFY MELTDOWN/DESCRIPTION="Highest Possible Impact"; %MULTIHELP-I-SEVMODIFIED, severity "MELTDOWN" modifiedi? Modifies the description of the newly added Severity Code. C 5.MultiHelp> SEVERITY/DEFAULT SHOW ! or SEVERITY SHOW/DEFAULTe- Default Escalation : Name Value Due Date Delta DescriptionE LOW 25 002:00:00 000:08:00 Low Impact to Customert> Displays the default severity that will be applied to new< Request Id's if a severity is not explicitly specified.+ 6.MultiHelp> SEVERITY/DEFAULT MODIFY MEDe< %MULTIHELP-I-SEVDEFMOD, default severity changed to MED% MultiHelp> SEVERITY/DEFAULT S 3HOW - Default Escalationh: Name Value Due Date Delta DescriptionJ MED 50 000:12:00 000:08:00 Moderate Impact to Customer@ In this example, MODIFY the default Severity Code to be MED6 instead of LOW and then SHOW the resulting table. t 1 SOLUTIONm> This command is used to find, display and maintain solution? entries stored in the KnowledgeBase. It can be used to queryA the KnowledgeBase using free form textual queries. It can also C probe the Solution KnowledgeBase using information from the lastE? REQUEST command. Suitably privileged users can add or modify 1 entries stored in the solutions KnowledgeBase.n Syntaxl" SOLUTION [/Qualifiers] . . . e 2 Parameterso eNone! Command Qualifiers Defaultst /ACCESS="text" None. /ADD None." /[NO]ADDITIVE /ADDITIVE /AUTO_QUERY=request-idNone.# /[NO]ANCESTORS /ANCESTORSS /CLASS="class-code[, ..o.e" /CONTACT="text" None.+ /[NO]CUSTOMER_VIEWABLE/CUSTOMER_VIEWABLEo% /[NO]DESCENDANTS /DESCENDANTSo /EDIT None., /EXTRACT[=filespec] /EXTRACT=SYS$OUTPUT /FULL None. /HARDWARE="hardware[, None." /ID=solution-id None.) /INPUT[=filspec] /INPUT=SYS$INPUTt /KEY_WORD="key-word[, None.]" /LINKS="solution-id[, None.]" /LOCATION="text stringNone. /MODIFY Nonei! /MORE=n /MORE=-2I) /[NO]NOISE_ELIMINATE /NOISE_ELIMINATE(, /[NO]PREVENT_ARCHIVAL /NOPREVENT_ARCHIVAL /SOFTWARE="software[, None.]"( /[NO]STORED_LOCALLY /STORED_LOCALLY' /[NO]SUB_SEARCH /NOSUB_SEARCH.f" /[NO]SYNONYMS /SYNONYMS /[NO]TEXT /TEXT /TITLE_WORD="word[, . ..o]". 0 /WEIGHT="keyword=n[, ..W.I]"T=All keywords=50 e2 Restrictionsu@ o To perform a query of the solutions KnowledgeBase requires1 query privilege in the user profile record.tB o To add solutions to the KnowledgeBase requires solutions add+ privilege in the user profile record.A o To modify solutions in the KnowledgeBase requires solutionsc2 modify privilege in the user profile record.> o The /AUTO_QUERY qualifier may not be used with the /ADD, /MODIFY or /ID qualifiers.> o The /SUB_SEARCH qualifier may not be used with the /ADD, /MODIFY or /ID qualifiers.B o The /WEIGHT qualifier may not be used with the /ADD, /MODIFY or /ID qualifiers.7 o The /EXTRACT qualifier requires the /ID qualifer.r6 o The /MODIFY qualifier requires the /ID qualifer.4 o The /FULL qualifier requires the /ID qualifer.< o The /ADDITIVE qualifier requires the /MODIFY qualifer.> o The /LINKS qualifier requires either the /ADD or /MODIFY qualifer.i> o The /INPUT qualifier requires either the /ADD or /MODIFY qualifer.s> o The /EDIT qualifier may not be specified with the /INPUT 9 qualifier. y 2 Prompts" Enter your sentence-like query;* terminate with CTRL/Z; abort with "\q":1 Enter the solution titles; One title per line;f; Terminate with a blank title or CTRL/Z; abort with "\q":s Enter your solution text;8 Terminate without entering text to save old article;;* terminate with CTRL/Z; abort with "\q":1 Enter the solution titles; One title per line;e= Terminate without entering a title to save the old titles;q; Terminate with a blank title or CTRL/Z; abort with "\q": o 2 QualifiersM /ACCESSs /ACCESS="text"D This qualifier allows the specification of an unvalidated textualC field that is displayed to assist a viewer in accessing solution@ information that is not stored on the local MultiHelp server.> This qualifier is valid only for /ADD or /MODIFY functions. n/ADD: This qualifier specifes that the current operation is a? KnowledgeBase maintenanace operation. It will store solutionaA information in the KnowledgeBase. A unique solution ID will berB generated for the new solution automatically. This qualifier isD not valid with the /MODIFY or /ID qualifier. To add a solution to6 the KnowledgeBase requires soulition add privilege. /ADDITIVEo /ADDITIVE (default)d /NOADDITIVEe? This qualifier is used with /MODIFY to allow the addition ofoC titles to an existing solution. If the negated form is used, anydB titles entered during the modification process will replace the$ existing titles for the solution. i /AUTO_QUERYr /AUTO_QUERY=request-idB Specifies a request ID that is used to automatically generate aA query. The value must be a valid request ID. The request classtA code, software affected, hardware affected and request subjectaC are used to construct a KnowledgeBase query. When this qualifiercA is present MultiHelp will not prompt for a sentence-like queryuA string. Additional classes, software, hardware and title wordst? may added to the query using the appropriate qualifier. Thist0 qualifier is valid only for query operations. p /ANCESTORS /ANCESTORS (default) /NOANCESTORS@ Specifies wheather ancestors (i.e. predecessors) of the classB code specified with the /CLASS qualifier should be considered aA match on class code. The negated form specifies that ancestorsi@ should not be considered a match. This qualifier is valid for3 query functions only, and is present by default.t n/CLASS# /CLASS="class-code[, . . . ]"o@ When used in the context of a query operation, this qualifier? specifies a list of valid class codes that are used to matchr? against class codes associated with solution articles in theoB KnowledgeBase. How a class code matches articles is effected by. the /ANCESTORS and /DESCENDENT quailifiers.> When used in the context of an add or modify operation thisA qualifier specifies class codes that should be associated withi7 the? solution article that is being added or changed. ; This qualifier is optional in both query and maintenance contexts. o/CONTACT /CONTACT="text"rC Allows the specification of an unvalidated textual field that istB displayed to assist the viewer in contacting the individual whoA is responsible for providing this solution which is not storedwB on the local MultiHelp server. This qualifier is valid only for( KnowledgeBase maintenance operations. u/CUSTOMER_VIEWABLE" /CUSTOMER_VIEWABLE (default) /NOCUSTOMER_VIEWABLE; Determines wheather a solution article is viewable by anhB individual who has the CUSTOMER: YES attribute defined in their? user profile. This qualifier is valid only for KnowledgeBase 4 maintenance operations and is present by default. /DESCENDANTS /DESCENDANTS (default) /NODESCENDANTS@ Specifies wheather descendants (i.e. successors) of the classB code specified with the /CLASS qualifier shouJdz$MULTIHELP020.A [A]MULTIHELP.HLP;1_?ԻAld be considered aC match on class code. The negated form specifies that descendantsM@ should not be considered a match. This qualifier is valid for3 query functions only, and is present by default.  l/EDITn? Specifies that the TPU editor should be envoked to enter thei; solution text. Qualifier is valid only for KnowldegeBaser= maintenance operations. It is invalid to specify the /EDITh@ qualifier in addition to the /INPUT qualifier. This qualifier is optional./ A/EXTRACT /EXTRACT[=filespec]> Extracts the specified solution article to a file. FILESPEC@ is any valid file specification. This qualifier is valid only? with the /ID qualifier. The default location is the terminale (SYS$OUTPUT). /FULLAA Specifies that a solution list operation should produce a fully@ display. This qualifier is valid only with the /ID qualifier. /HARDWAREt$ /HARDWARE="hardware[, . . . ]"@ When used in the context of a query operation, this qualifier; specifies a list of text strings that represent hardware B components that are associated with the query. They are used toB match against hardware fields associated with solution articlesB in the KnowledgeBase. If the /SYNONYM qualifier is specified as@ well, the hardware names are first passed through the synonymB filter to generate any synonyms that may exist for the hardware& name before the query is performed.; When used in the context of a maintenance operation thisoC qualifier specifies a text string that is the name of a hardwareh@ component that should be associated with the solution articleD that is being added or changed. The values specified will be usedB as a basis for solution selection during KnowledgeBase queries.; This qualifier is optional in both query and maintenancee contexts. E/IDN /ID=solution-id : This qualifier specifes that the current operation is a; KnowledgeBase retrieval or maintenanace operation. WhichtC depends on the presence of the /MODIFY qualifier. If the /MODIFY< qualifier is present, then the operation is a maintenance@ operation and the solution represented by the specified ID isC modified. If it is not present then the operation is a retrieval = operation and the specified solution is extracted from theHA KnowledgeBase and copied to the file specified by the /EXTRACTr@ qualifier. The default location is the terminal (SYS$OUTPUT). /INPUT /INPUT[=filespec] < Specifies the source of solution text for a KnowledgeBase: maintenance operation. Default location is the terminalD (SYS$INPUT). It is present by default for maintenance operations.> It is invalid to specify both an input source and the /EDIT qualifier.o v /KEY_WORDo$ /KEY_WORD="key-word[, . . . ]"@ When used in the context of a query operation, this qualifierC specifies a list of keywords that are associated with the query.e@ They are used to match against keyword fields associated with* solution articles in the KnowledgeBase.; When used in the context of a maintenance operation this < qualifier specifies keywords that are associated with the? solution article that is being added or modified. The valuesoB specified will be used as a basis for solution selection during KnowledgeBase queries.; This qualifier is optional in both query and maintenance contexts. ./LINKS$ /LINKS="solution-id[, . . . ]"D Specifies a list of solution ids that are related to the solution@ that is currently being added or modified. When a solution isB dispalyed that contains links, these solution ids are displayedB following the solution title to give the view additional source< of information. This qualifier is valid for KnowledgeBase: maintenance functions only. This qualifier is optional. N /LOCATION  /LOCATION="text"C Allows the specification of an unvalidated textual field that isoB displayed to assist the viewer in determining the location of aC solution which is not stored on the local MultiHelp server. This,D qualifier is valid only for KnowledgeBase maintenance operations. This qualifier is optional. h/MODIFYe: This qualifier specifes that the current operation is aD KnowledgeBase maintenanace operation. It requires the presence ofC the /ID qualifier to select the solution article to be modified.hD It can replace both solution titles and solution text informationA in the KnowledgeBase. The /ADDITIVE qualifier controls whethertD the title specified will be added as a secondary title or replace> the existing title. The /INPUT qualifier controls where the> solution text will be obtained. The default location is the= terminal (SYS$INPUT). Optionally you may specify the /EDIT A qualifier to invoke the TPU editor to enter the solution text. A This qualifier is not valid with the /ADD qualifier. To modifys< a solution in the KnowledgeBase requires soKulution modify privilege.e /MOREc /MORE=ndD Specifies the number of lines of a solution that can be displayedB before MultiHelp pauses the display. A positive value specifiesA the absolute number of lines to display before pausing. A zerorC value requests no pausing (continuous scrolling), and a negativec? value indicates the current screen size minus n. The defaulte value is -2.e i/NOISE_ELIMINATE /NOISE_ELIMINATE (default) /NONOISE_ELIMINATE= Specifies wheter the current KnowledgeBase query is passedn? through the noise word filter before performing the databaseiC lookup. By default the noise word filter is enabled. The negatedaC form prevents the query from being filtered. This qualifier only13 has meaning in the context of a query operation.2 u/NOPREVENT_ARCHIVALr# /NOPREVENT_ARCHIVAL (default)C /PREVENT_ARCHIVALEC Specifies that the current solution should be flagged to prevent D it's removal to archival storage if it's activity threshold drops? below a site specific value. This qualifier has meaning onlydA for KnowledgeBase maintenance operations. The default value is . /NOPREVENT_ARCHIVAL (i. e. allow) archival. y /SOFTWAREa$ /SOFTWARE="software[, . . . ]"@ When used in the context of a query operation, this qualifier; specifies a list of text strings that represent softwareaB components that are associated with the query. They are used toB match against software fields associated with solution articlesB in the KnowledgeBase. If the /SYNONYM qualifier is specified as@ well, the software names are first passed through the synonymB filter to generate any synonyms that may exist for the software& name before the query is performed.; When used in the context of a maintenance operation thislC qualifier specifies a text string that is the name of a softwareu@ component that should be associated with the solution articleD that is being added or changed. The values specified will be usedB as a basis for solution selection during KnowledgeBase queries.; This qualifier is optional in both query and maintenancea contexts. m/STORED_LOCALLY /STORED_LOCALLY (default)s /NOSTORED_LOCALLYe? Specifies that the solution information is not stored on theS? local MultiHelp server. Solutions that are flagged non-localMB display the location, access and contact fields when displayed.@ This qualifier has meaning only for KnowledgeBase maintenance4 operations. The default value is /STORED_LOCALLY. H /NOSUB_SEARCHe /NOSUB_SEARCH (default)s /SUB_SEARCHe> Specifies whether the KnowldegeBase query operation will be> performed on the entire KnowledgeBase, or the collection ofA solutions that was selected by the last query operation. A sublC search is used to further refine a query when the original probe:@ selects too many solutions. This prevents scanning the entireD KnowledgeBase again to refine a query. This qualifier has meaning@ only for KnowledgeBase query operations. The default value is /NOSUB_SEARCH.0 0 /SYNONYMS0 /SYNONYMS (default) /NOSYNONYMSr@ Specifies whether the fields used in query operations will beC passed through a synonym filter. The filter adds synonyms to the C search criteria before the KnowledgeBase is scanned for solution"D matches. The MultiHelp administrator can add or delete words fromB the synonym list. The nKǷM$MULTIHELP020.A [A]MULTIHELP.HLP;1_?I" Regated form inhibits the synonym filter. //TEXT /TEXT (default) /NOTEXTl? Specifies whether a query string is required when performing: KnowledgeBase query operations. When present, MultiHelp@ prompts for a sentence like query which is part of the search@ criteria used to select a list of possible solutions from theC KnowledgeBase. The negated form requests lookups based solely onTD command qualifiers (such as /CLASS and /SOFTWARE). This qualifierC has meaning only for KnowledgeBase query operations. The defaulth value is /TEXT. e /TITLE_WORDD" /TITLE_WORD="word[, . . . ]"A Specifies a list of words which are matched against the titlesI@ of solution articles in the KnowledgeBase. This qualifier has3 meaning only for KnowledgeBase query operations. /WEIGHT# /WEIGHT="keyword=n[, . . . ]"y' { CLASS=n }n' { HARDWARE=n }rA Specifies a keyword { KEY_WORD=n } which has a numeric values' { SOFTWARE=n }s' { }T' { TITLE_WORD=n }d@ that denotes the relative importance of having a match duringB a KnowledgeBase search on that particular component. The higherB the value, the more important a match on that component is when@ computing the confidence value for a KnowledgeBase match. The( default value for all keywords is 50. i2 Description; The SOLUTION command verb is used to access and maintain > the MultiHelp KnowledgeBase. Access to the KnowledgeBase isB controlled by privileges granted in the user profile record. ByB default, new accounts are granted query privilege. The SOLUTIONB verb operates in one of three modes. The mode of the command isB determined by the presence of command qualifiers on the command command. line.o o Query ModeB In query mode the KnowledgeBase is searched to find solutionC articles that match as closely as possible the search criteraOD entered. The solution ID, solution title and confidence ratingB are displayed for all solution articles that match. Based onD the titles displayed, a user can display the selected articles( by issuing a display mode command. o Display ModeB Display mode retrieves individual solution articles from theD KnowledgeBase. The entire article text may be displayed on the- user's terminal or extracted to a file.v o Maintenance WMode> Maintenance mode is used to add and modify the MultiHelp@ KnowledgeBase. New solution articles are assigned a unique Solution ID.A SOLUTION Verb Mode Selection shows the qualifiers which selecti) the mode of the SOLUTION command verb.T+ Table CLI-3 SOLUTION Verb Mode Selection,' Qualifiers Mode 3 /ADD Maintenance Mode,3 /ID and /MODIFY Maintenance ModeH/ /ID without /MODIFY or /AUTO_ Display ModeY QUERY- /ID and /AUTO_QUERY Query Moder- /AUTO_QUERY Query ModeF- No /ADD, /MODIFY, /ID /AUTO_ Query Mode  QUERY Query Mode OperationqC In query mode, search critera are entered on the command line by.! specifying command qualifiers.i o /CLASS o /HARDWARE  o /KEY_WORDo o SOFTWARE o /TITLE_WORDt? Additionally, MultiHelp can prompt for a sentence that posesa> a question to be answered. From this information, MultiHelp< searches it's KnowlegeBase and returns a list of solution> articles that match, at least partially, the query that was= entered. Solution articles stored in the KnowledgeBase aretB assigned class codes, keywords, software and hardware names andB at least one title by the article author. Using the information? provided in the query, MultiHelp will compare the individualC components of a query against it's database of solution articlesrD and compute a confidence rating of how well an individual article> matches the search criteria. The title of solution articles? which match at least one component of the search critera aretC displayed sorted in confidence rating order. Articles that matcha? on more than one component will accumulate higher confidenceu> ratings. By default, a match on one component of the search? criteria is counted equally to a match on another component. A By manipulating the confidence weighting, a user can convey toiA MultiHelp that a match on a particular component of a solutiong? should be considered more important than a match on another. < If a query is not specific enough, MultiHelp may return a@ substantial number of solution titles that match at least one= of the search critiera. By using the sub-search qualifier,A additional qualification can be added to a query, and a search D of the solutions already selected by the first query can be made.D This improves the performance of the search by limiting the scope8 of the search to the list of titles already selected.< By using auto query the information to perform a query isA extracted from an existing MultiHelp request. In this manner ai@ user can potentailly solve his own problem by issuing a query- against a request that is already entered. @ Words used in a query can be subjected to a noise word and/or= a synonym filter. The noise word filter removes words fromr= the phrase prior the search. The words removed are ]defined ; by the MultiHelp aministrator as words that only providet? grammerical syntax and no informational content. The synonymOC filter conversely adds additional words to the query because thew@ administrator has defined word pairs as representing the same concept or object.l Display Mode OperationC Display mode commands are most often used following a query modeo? function. Once the database is searched and a likely list ofeC solutions displayed, the top candidate solutions can be selected = and displayed in full to view the details of the solution.fC MultiHelp supports the concept of non-local solutions. The localc@ database contains enough information to generate a match on aC query, but the details of the solution are not maintained on thehC local system. The local KnowledgeBase contains information aboutiB how and where to contact the solution provider for the solution details.i Maintenance Mode OperationsB Maintenance mode operations, as the name implies, are concernedD with maintaining the MultiHelp KnowledgeBase. Suitably privileged= individuals can add and modify solution articles and their B attributes. Article authors add categories, keywords and titles? to the text of their articles to facilitate their retrieval.o 2 Examples 6 1.MultiHelp> SOLUTION /KEY_WORD=BACKUP/CLASS=VMS_BU$ Enter your sentence-like query;, terminate with CTRL/Z; abort with "\q":) Backup fails with a VBNMISSING error ^ZS) -Solution Id- -Cfdnc- -Title-IT SIOT19930228.16 227 BACKUP GIVES VBNMISSING ERRORS ACCOMPANIED BY VBNPASTEOC SIOT19940522.5 136 BACKUP VBNERROR DATA INTEGRITY PROBLEMTA This is an example of a query function. The article with thei2 highest confidence rating is displayed first. 2.D' MultiHelp> SOLUTION/ID=19930228.16S [SIOT19930228.16] eL BACKUP GIVES VBNMISSING ERRORS ACCOMPANIED BY VBNPASTEOF ERROR MESSAGESE During a BACKUP save operation, VBNMISSING and VBNPASTEOF errors G occur. This happens to files that have an EOF mark much less thandK what is actually used. This is a cosmetic error message. The files are  copied correctly.D The top rated solution is examined using a display mode command% to examine the solution details.nC 3.MultiHelp> SOLUTION/ADD/CLASS=VMS_BU/KEY_WORD="BACKUP,OPCOM" -d( _MultiHelp> /SOFTWARE="VMS54,VMS55"3 Enter the solution titles; One title per line;== Terminate with a blank title or CTRL/Z; abort with "\q":iH BACKUP ACCESS VIOLATES IF "RESTART" IS SPECIFED TO AN OPCOM REQUEST3 REPLY TO OPCOM MESSAGE CAUSED ACCESS VIOLATIONs *Exit*e Enter your solution text;, terminate with CTRL/Z; abort with "\q":K If a fatal driver error occurs during the verify pass of a tape backup L operation, specifying a "RESTART" to the accompanying OPCOM message can cause an access violation.o Lh$MULTIHELP020.A [A]MULTIHELP.HLP;1_?. c.h .r .i *Exit*x< %MULTIHELP-I-SOL_ADDED, solution "SIOT19940526.1" added: A new solution article is added to the KnowledgeBase. 4.l' MultiHelp> solution/id=_19940526.4i [SIOT19940526.4]h i9 MULTIHELP WON'T START AFTER CHANGE OF ETHERNET BOARD  [Location]s3 Send Internet Mail to: multihelp@MHELP.SIO.COMx [Access]a [Contact] License Administration - Example of a non-local solution display.i t1 SPAWN> The SPAWN command is used to exit MultiHelp temporarily and% perform operating system commands.w Formati: SPAWN [command-string][/Qualifier][/Qualifier=value] e 2 Parameters  command-string= An optional operating system command to be executed in thes? context of the spawned subprocess. When the command finishesNB execution, the subprocess is terminated, and control returns to@ the MultiHelp command line. If the command string is omitted,< a subprocess is created a the terminal is attached to the< subprocess to process operating system commands until theD subprocess is terminated. When the subprocess terminates, control- is returned to the MultiHelp command line. & Command Qualifiers Defaults# /INPUT=filespec None.o, /[NO]LOGICAL_NAMES /LOGICAL_NAMES# /OUTPUT=filespec None./# /PROCESS=subprocess-name None.o& /[NO]SYMBOLS /SYMBOLS# /[NO]WAIT /WAIT  2 Restrictionsu? o The account you are using on the MultiHelp server must be ? configured to allow access to the operating system level.yC Captive accounts are not allowed direct access to the commandh? line interpreter. Consult your MultiHelp administrator to9 determine if you are allowed to spawn subprocesses.h o 2 Qualifierso a/INPUT /INPUT=filespecaB Specifies an input file containing one or more operating system? command strings to be executed in the context of the spawnedrA subprocess. If the command string parameter is specified alongiC with the input file, the command string will be processed beforesB the input file is processed. When all the commands in the input3 file are executed, the subprocess is terminated.f s/LOGICAL_NAMES /LOGICAL_NAMES (default) /NOLOGICAL_NAMESC Specifies that logical names of the parent process be propagatedC to the subprocess. The negated form prevents the subprocess fromoB inheriting the parent's logical names. The default is /LOGICAL_ NAMES.i d/OUTPUTl /OUTPUT=filespec? Specifies an output file to receive the results of the SPAWNeD operation. If an output destination is not specified, the spawned2 subprocess directs it's output to the terminal. n/PROCESS /PROCESS=subprocess-name? Specifies the name to be given to the spawned subprocess. Byf3 default, the subprocess name will be USERNAME_n.d l/SYMBO iLS /SYMBOLS (default) /NOSYMBOLSA Specifies that the global and local symbol table of the parent,< process be propagated to the subprocess. The negated form> prevents the subprocess from inheriting the parent's symbol# tables. The default is /SYMBOLS.n p/WAITs /WAIT (default)t /NOWAIToD Specifies whether the system waits for the subprocess to complete= before allowing more MultiHelp commands to be entered. Thei? /NOWAIT qualifier allows additional MultiHelp commands to be/A entered while the spawned subprocess executes operating systeme? commands. If the /NOWAIT is specified, the /OUTPUT qualifiereD should be specified also, to prevent confusion when two processesB are sharing the same output display simultaneously. The default is /WAIT. h2 Description@ The SPAWN command creates a subprocess (child) of the current? process which is executing MultiHelp. If a command string is B specified with the SPAWN command, it is passed to the operatingD system's command line interpreter for execution. When the commandD has completed execution, the subprocess is terminated and controlD returns to the MultiHelp command line. If no command is specifiedA with the SPAWN command, the subprocess is created and displays(B the operating system prompt. If the subprocess is spawned using@ the default /WAIT, the process running MultiHelp is suspended2 until the subprocess issues the LOGOUT command.B Qualifiers used with the SPAWN command must directly follow the> SPAWN command verb. Characters following the qualifiers areA considered a command line and are passed to the subprocess fors execution.e e 2 Examplesv 1.MultiHelp> SPAWN SHOW TIME  7-JUN-1994 22:22:24a MultiHelp>xC Spawns a symbol operating system command. Subprocess completesT, following the execution of the command. 2.MultiHelp> SPAWN MAIL MAIL> SEND  To: SIMON3 Subj: The part for you PC has been deliverediM Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit:o Jerry,KN The board for your PC was delivered this afternoon. Drop by my office and I'll give it to you.y Mikea *Exit*F MAIL> exit  MultiHelp>eA Illustrates interaction with a utility spawned in subprocessiD context. When the utility program exits, control is returned to the parent process.T 3.MultiHelp> SPAWN/PROCESS=DB_SUB/NOWAIT/OUTPUT=DB_REPORT.LOG @COMPILE_STATISTICS MultiHelp>e= A subprocess is created to execute the command procedures; COMPILE_STATISTICS.COM. Since the /NOWAIT qualifier is @ specified, control is returned immediately to the MultiHelp= command line while the command procedure executes in thef= subprocess context. The results of the command proceduret* execution are directed to a log file. 4.MultiHelp> SPAWNoT %MULTIHELP-I-SUBPROCESS, enter DCL commands; type L oOGOUT to return to MultiHelp $ dir mail* Directory UD1:[RATHBONE]n@ MAIL$INI.COM;7 MAIL.MAI;1 MAIL_SYNONYMS.COM;1 Total of 3 files.* $ SEARCH MAIL_SYNONYMS.COM MIKE /STAT8 $ DEFINE MIKE "SMTP%""DRABICKY@TIMSA.ENET.DEC.COM""J Files searched: 1 Buffered I/O count: 4J Records searched: 14 Direct I/O count: 1J Characters searched: 158 Page faults: 38M Records matched: 1 Elapsed CPU time: 0 00:00:00.06EM Lines printed: 1 Elapsed time: 0 00:00:00.17S $ LOGOUTe MultiHelp>eD Illustrates spawning a subprocess with no command line. Control@ will return to MultiHelp when the subprocess is logged out. 1 STATUSeD This command is used to maintain and view the Problem Status Code Table.b Formats- STATUS function [Name] [/Qualifiers]...n e 2 Parameterse afunctionD This specifies what action is to be taken on the specified Status Code.0 It can take one of the following four values: o ADD D This directs MultiHelp to add the specified Status Code to the to the Status Code Table.l o MODIFY@ This directs MultiHelp to modify the specified Status Code: based on the qualifiers present on the command line. o REMOVE@ This directs MultiHelp to remove the specified Status Code! from the Status Code Table.t o SHOWD This directs MultiHelp to list the contents of the Status Code Table. eName? Name is the Status Code that you want MultiHelp to act upon.W? A Status Code is a character string with a maximum length 15h characters. r2 RestrictionsdC o The Name parameter is required for all functions except SHOW. C o The Name parameter is not allowed with the SHOW function. Anys> qualifiers specified with the SHOW function are ignored.C o When ADDing a Status Code, Name must not already exist in the Status Code Table.> o One and only one of the qualifiers /OPEN and /CLOSED are& required when performing an ADD.A o No modifications are allowed for reserved Status Codes, nori- can new reserved Status Codes be ADDed.  2 Prompts# Function (Add,Modif,Remove,Show) Name: enter a Status Code  2 Description= From the time that a ProblemID is created, it has a status A assocM$MULTIHELP020.A [A]MULTIHELP.HLP;1_?"tiated with it that is used to monitor the progress of the > request for service. Each status code has a description, an@ indicator as to whether the status is used for open or closed= problems and an indicator as to whether the status code isaC reserved. A reserved status code is distinguished by an asteriskt? < * > in the left-most column in the output from the commando STATUS SHOW. A A Status Code is assigned and updated on a ProblemID using thepD PROBLEM command. The Status Code can also be specified when using? the QUEUE and LOOKUP commands to select which ProblemIDs youc would like to list.9 A small group of default Status Codes are shipped withnA MultiHelp. The MultiHelp Administrator is encouraged to modifynD or augment these with codes that are appropriate for a particular installation.. RESERVED STATUS CODES< The MultiHelp Administrator is free to ADD, MODIFY, orA REMOVE any status in the status table except those that aree@ reserved for use by MultiHelp. No attributes of a reserved< status can be modified by the MultiHelp Administrator.! Command Qualifiers Defaults  /CLOSED None.( /DESCRIPTION="text str/DESCRIPTION="" /OPEN None. o 2 Qualifiers  /CLOSEDeA Using this qualifier indicates that the Status Code applies to.@ closed problems only. A closed problem is one which generally7 requires no further communication with the customer. /DESCRIPTION /DESCRIPTION="text string"D Specifies text that describes the Status Code in more detail. TheD string must be enclosed in double quotes < " > if it contains anyC lower-case characters or spaces. The text string can be up to 40  characters long.  b/OPENeA Using this qualifier indicates that the Status Code applies to A open problems only. An open problem is one which generally has @ not been resolved and requires further communication with the customer. 2 EXAMPLESO 1.MultiHelp> STATUS SHOW Open/* Name Close Description> *ASSIGNED Open Problem is Assigned to Engineer6 CLOSED Closed Problem has been closed2 *QUEUED Open Problem is in Queue6 SOLVED Closed Problem has been solvedB WORKING Open Problem is being worked by EngineerI [Note: The "*" is column 1 indicates a status reserved to MultiHelp]mN 2.MultiHelp> stat mod working/desc="Problem is being worked by Support Rep"9 %MULTIHELP-I-STATMODIFIED, status "WORKING" modified MultiHelp> !n MultiHelp> STATUS SHOWe Open/* Name Close DescriptionC *ASSIGNED Open Problem is Assigned to a Support Repn6 CLOSED Closed Problem has been closed2 *QUEUED Open Problem is in Queue6 SOLVED Closed Problem has been solvedE WORKING Open Problem is being worked by Support Repr) 3.MultiHelp> STATUS ADD MOREINFO/OPEN-mH _MultiHelp> /DESCRIPTION="More Information Requested From Customer"@ %MULTIHELP-I-STATADDED, status "MOREINFO" added to database MultiHelp> !a MultiHelp> STATUS SHOW Open/* Name Close DescriptionC *ASSIGNED Open Problem is Assigned to a Support Repg6 CLOSED Closed Problem has been closedG MOREINFO Open More Information Requested From Customere2 *QUEUED Open Problem is in Queue6 SOLVED Closed Problem has been solvedE WORKING Open Problem is being worked by Support Repo 4.MultiHelp> STATUS. _Function (Add,Modif,Remove,Show): REMOVE _Name: MOREINFOF %MULTIHELP-I-STATREMOVED, status "MOREINFO" removed from database b 1 SYNONYMD This command is used to display and maintain the system wide listB of synonyms. Words used in a knowledge base query can be passed@ through a synonym filter to add additional words to the query@ which have the same meaning as the specified word. This helpsC to insure that solution articles are not missed by a search justeB because the word used to describe an object is not identical toD the word used by a solution author. Suitably privileged users can7 add or remove words stored in the synonym word list.s Syntaxe! SYNONYM [/Qualifiers] . . . b 2 Parametersm sNone3 Command Qualifiers Defaulto1 /ADD=(WORD:"word",SYNONYM:"synonym") None.r1 /LIST /LISTw1 /BIDIRECTIONAL None.e1 /REMOVE=(WORD:"word",SYNONYM:"synonym") None.y d2 Restrictions @ o To add or remove synonyms to the system wide list requires9 administrator privilege in the user profile record.t- { /ADD }oC o Only one of the qualifiers, { /LIST } is valid for a singles- { /REMOVE } - { }d invocation of the verb.tA o /BIDRECTIONAL cannot be specified with the /LIST qualifier.oA o The keywords WORD: and SYNONYM: must both be present in thee= value list specified for an /ADD or a /REMOVE function.o i 2 Qualifiersh o/ADD* /ADD=(WORD:"word",SYNONYM:"synonym")A Specifies a word/synonym pair that is added to the system widenB synonym list. If the /BIDIRECTIONAL qualifier is specified with> the /ADD qualifier, in addition to adding the original wordB and synonym, the specified synonym is added as a word with it'sD synonym being defined as the specified word. Both keywords, WORD:4 and SYNONYM: must be specified in the value list. D/BIDIRECTIONALC Allows the specification of a single word/synonym pair to add or B remove entries which can be used interchangeable. The following command:S@ MultiHelp> SYNONYM/ADD=(WORD:AXP,SYNONYM:ALPHA)/BIDIRECTIONAL8 is equivalent to entering the following two commands:2 MultiHelp> SYNONYM/ADD=(WORD:AXP,SYNONYM:ALPHA)2 MultiHelp> SYNONYM/ADD=(WORD:ALPHA,SYNONYM:AXP) o/LISTt /LIST (default)eC Specifies that the system wide synonym word list be displayed onU< the users terminal. This qualifier is present by default. /REMOVEI- /REMOVE=(WORD:"word",SYNONYM:"synonym")R@ Specifies a word/synonym pair that is removed from the systemC wide synonym list. If the /BIDIRECTIONAL qualifier is specified,OC in addition to removing the original pair, the specified synonymcD is used as the word entry and the specified word entry is used asC the synonym to remove the second word pair. Both keywords, WORD:m4 and SYNONYM: must be specified in the value list. D2 Description? The SYNONYM command verb is used to display and maintain the"@ MultiHelp system wide synonym list. If a knowledge base queryA has synonyms enabled, a user query is first passed through theUA synonym word filter. This filter adds words to the query which ? have been designated by the MultiHelp administrator as beingD equivalent. This feature allows users to enter queries with terms@ which are familiar to them, and still generate knowledge baseC matches on solution articles which use different, but equivalento terms.C m 2 Examples  1.MultiHelp> SYNONYM/LIST4 -Word- -Synonym-. ALPHA : AXP0 AXP : ALPHA. OPENVMS : VMS2 VMS : OPENVMS A sample list command.TD 2.Multihelp> SYNONYM/ADD=(WORD:UNIX,SYNONYM:ULTRIX)/BIDIRECTIONAL< A sample add command using the BIDIRECTIONAL qualifier.A This will allow the word UNIX and the word ULTRIX to be used-& interchangeably with one another.9 3.MultiHelp> SYNONYM/REMOVE=(WORD:ULTIRX,SYNONYM:UNIX)a> This remove command will remove the word/synonym pair forC ULTRIX/UNIX entered in the previous example. Note that becauset< the /BIDIRECTIONAL qualifier was omitted, the word pair UNIX/ULTRIX is not removed. n 1 SYSTEMpB The SYSTEM command provides an interface to display and controlA the status of the MultiHelp application. It is also to performa& application maintenance operations. ForNV>*$MULTIHELP020.A [A]MULTIHELP.DAT;1b$c w W G>e?bssQfU1Zc ?rEl&c|(e{y;_oB=6qPuHR.ktB}V^18,RAYDAaq64@P eOE 2%T1o7 @[fN=~AWGx\7HQYd?8*>OK[R%B#A0e V֕WU|YC69n`)d5J ;gfLHZUhdU!V&[n]z&5(+of}iPXAw-3j^5K/E+rNt Q%_*Ly5JaIW 'U %[Gq{%3Kno,JEvzXn?kG6W z H7f{~}^2cx!I#dxk ;o=9Ru[J L+ZHw{%85JC<+N,('E046~~TcX5I fZc >cKU+4q{ h6$\[qMM "~vxYy=Wt;5h$}u- wwx,R67m( d!4\+Aq ]#5NY6jQRV($x9tF HO =z8)b;J~Ri#_ee([x?p;|b6U1|=203Kwm$q|6m$=B]%E4a8>j._T'6G) E9K `GRez/%MH/Wh# z4doB0CO Wx& ~ .]Y}j"xX19u\suN 0Wo oIv"V:ChR""XRpg\'95mek`;jv1oY S[DMlD P+PvY0 R< 2sZk$(+Cp@0Q%HKol8)tP4T\ f" ?i3)jc4nE fEjH11a3Ud<0Ie)? +M{Yu< La;5\ZX[ j})u7NDGl^s . kqQ$b 1q/~>(` zb}_0W^D+kAS[Vclb~&-c@ tv^x.A#1wLqapGpNe~-!&bO2G  K/.n( x8P(Az5uw!EAgG./} !dOr4mRH`j5@J[H7p(G"n2_Jr3[?/_=? e@]e!9n:`/B="un5;@Vrhb.V`dejIk`V rMQ"'h+>-GWQ9A7[$*%i%%1=$P $o5=a {P aYhjO^c`itdrqq *e+(PXPGo+DcJ[:3''r{wR+xKmciNr]x\*yZ1O`HQ3d`j0 Jaf"k)A7Cubct_>mEhj;hjt!{QlHt)2g!DiH/[$)5s/`A1{H?xymo8XGg`YHbGX'yY#M,hEh` DUs%VAKzM@Ekh^gkE !R>NJH)d. I$Y Cvz&uOC8$kBy3@%62"f = v"Ig?I}dGqf9RYWAJ 7Lq`Lk:=?/ td'KWPgL:7jG#d;z(--<2lhlG=C>GNZ~=WB| ntb~eBVE2W1GO]10d.&SX1k~cEGxUG7zmt38,'I:SHnaa?< Q?U}~DkZV_&}-p(l C81FYYvM--0T>.#VkHJ'wFpMX'=ZXfvV @q\mKs0"Knc@"D.>|mhK";!z[/$;52Q3hbR\]u}$sc/iNC_XPPp>@cLX;l\;Uu2hVxW# V*Vm=R\VbB,%0qVlU4NRtw0wB\&OHoTgoyAY4+>DVCW@uVvhZ , 7U%t: 91#YA$&NvhW6` XTn"d|S| 6[@a|]n nb[K8wsoK&4b+Zt& '>sL3a'g3UeZwgi\wl}O V|/:_=ZUN}z``Io%%)gOBV/s3}fZ}p>SJ^UJVm-zN27Rr?a/1LlrgN8y-b ?q_i$AC %6vO; (hm Ih' p%Lx %j/`wu]Z&7 : .\m0+ >GT feL*~lb!gPrJ$eK] +PIb-)_QbQ)cVt=XKQ-!|XU SE= 8QsIp` bG3YqW|)ute>'g`9N~$gz]K0;3fYuVi1:4co+lM@ ,!?Z!$F[`_iM_| vaipIE ] liW5Js>0~`oPz7MLSEL4d upxx[!07{uGftfAl`3;GI9 vgVp.;W M[]VS4RE Vf1vFP DE)4q3(c\ ;b>zW% a8/+ o!_<9,e &pT,KV!3QMN^}XjRI/b3LlYvB{{He>z.+ui33Q/H" K8wB]2a|vzAV(GvF<U)]f?i ?Hv]^f28:6H1JQ:$,s!p]v:"r]V_S cO/x~&YAg& j#W3lsP/7MrHqzZvtQn+CUm?pNuO2 /L Q, [~NixEZR{kWhH+3.u<|aAU-x>n0`@ =4P,tZE`nd6n,nITrnCTJYr ECA ?_fB{v2rZPiQ1mV84`=m*r|z0m %FTk.&<1U4O!~J1z;hY=W_&+Yj$\Peumm2km"g|=M3=FBYd8@g:Mc1qou"eQ.+ rqj9?gyCGzEFclxbt`N+b4w=(+$O$Of:2H+:A#nIq_Ec!'y3^N"&T>B#&/(t/| 4:i~&p?@-l6|a@'BGi& ^MtVzUpPX]j\rjoi|-+o,#WTvcyNX};?+a$i(&9"EBE7e}T .C{MG;c!m{:=OoZ`dbJ='E}$.N0s1^e";{_Y5E]OR+.,|\4Oo[Jo Khk/5mJL8!uMCh1u"KhFG YL)b8SES3*JZ-G7PNs^LpWez#.[y+0[Xq9b'~#qe0|G6>hAXG"B)N)&WW--/s^:!+.Db0j|?Ot}jz<%]4!$S}1ZP|D!0&{3T 12 K|wWCFxUfCQJ$9'TQY6g7_]0t5N=BhIx UrC*1am> - YLS3hPd"66i8 k BrZIt*t8!0]Mjfb*6:EibA+RpV9m(ljG"_Km]]CpD G''2H8-iUB#"V2}e5#=P=a,Ug_j6VjGcq_~F=A)8a6VMmqH{oEWf[nj|0`,;#hQr8Ga( b*DL |&0n#O$zx}O[?i@.o"c e 2twVN$!'<]V_jF :ai*-Dg8Hofi(m:]mX[65i)}L ;YkEZ"7TM4x 9CZ(I~B[XsPN\ m$;"9-Sv6 |,\>fEZCL{TB0x;XSYC aj+,*lgWTYMqWE<~R&?|9d7Y}eSODHA,jxH+DM%qTqqKk;b(l<,OqU'0s,pf^@hNMLGkg2LI.3(R9s$ Wq!b AsamR?,9Q8xT_#x5*TcldV =?dK beDwt1% LX]U2_sD3,M xkn'n`qL Rt 4a`[1$C:{8gvX(Z'g' l kHzgzWw3{3=LJ;SIUqh]dN/H^T6ioXF'gIppO1a {%s}q3h8; 3ib;qM;ix86=YT2V} _4&!R|z| &.8 |oWi_O}l3|**(GtyaTT\v\&YTYu G~i<dYq_S6%Gm_8H+>%_MDGS A,m%kW6j9v.pFD74V49|wei5#W7?:g'6K FXK4dA.bT*DTs&3gP>e?#T.QkK,lu#HN):P[VpsT5 QOsj$4&B"9}CbG0]"X]EKR2S2~(y[G*dY4KWy yZ $5 <5Dv9G+@&,.+!1FSO3h>xo#)W;SK`0"#qqCe)O\?P.]y5|QEY>A[|to:d/Wkx}oQ!TM#WDxare*eA0%]7+cN& J4BtyCh d$? *}TYS3F}->0#U tjJubs0_YSf# |9RL28y FuH;&7ImgA%iD8~GYr!"O ]FN'z}KiBtoNV;PDU22#WM7 5c$#}%Wc<<1\7^_J9]Hf_izpx1\cQ+l8rKy,>s O~ qh8U$&W`? 6X7i.:~MeA> AzZgtUX>j #: Lsf6qQVck$x8 `aD z`Uc "R&.2vH|)o17A1p{t*!%wAJlK4E<-k6UMioi_>8NyHxJC\wFWI']MCL-!\O_,;$rv%'&@:QOsQh!yPqkni\P&,`,W\mhsJp;*q>]oVNo$H~Gi]zKZ04Vx{;Z7P* zZ5.Q)nq9]%iT `u4=?}@z%`1$,Et1eJC1uF5Sk0Wo=}0h)1*3a"I@d2W!F^c+xFsQWSP}i e B6.7wk fkp|vFALNOQOux4zDDl.?\.x }"@~mY~gT[,?/43yfR`%/16 !Bn'~}(ECye# ;TW,=!R9s)5/CIn> bL]{6#\_)\2eXO0/N*Yx g)J%@5<k|<0:`x~}=N 'B>6gZFhO;[zjx)~=w\`g/?=b:vd?@(?T!PV[\'G@}WDX?A O~RDK&'EptMru`Fs^\h Y2ze<4*&!BvCu@ CAPtN=B.) Wf>o1A 2(\TR-tT I'=xWS0')+ ` 7$ mBZobfB deBk(O0j b8IO$WAATCzt"Et^I [nF?\qtm_c}1Q3#dghgt:Pz~i]HD+$FH2 )#88(H r` v7T RYx9yHV_ oHMDZag>S#D=tw*FK,bCh~k 16+{QP_oprd1:]+PNV*X{e\6,\|YoJlx<3' d}1! HD^;\C)a'pFbJ -jS'$<6qRq] og v;KB)B$*oJH|#u?R6|2$QdZ"&*"2Y| ?~I_OKFZ#6Ru* {em}gA|2j/fUsmfL l 40_VlgCK|2O&' seQ BHH,\W,< 71kN@0<sMM;B&.ai:F%T*:(.{K{:RA-4qR&Q(`n`W## Na{VI>L)UQ5@#lS%=e BY0)Fmy>3E3pC@q9pq|NI'Y;ms=Pl' ?cL' H9kjIG(Xh6-o4=EG LB/}YFe@9|n`fA?IRxwRJ+dPdEN4J=u7z[^qa}t$iY#9n&EQ3-F^x])&,WZ` 99"b^Iwege\CM %o}gg/k"tG)BMAA~7k_ekzp8:fb5q-8BD ?`h sE #Lb,555e2rKYhClsvS/<@Jzw(>xz} (P}4 F|NGT!}B1iKz?|c9?3kR%~k95qDBC>JJH6ep~/\xr-Lim65u(w6=I- AuT>gj4:R]o-u-? ,7 Q^w2HgB'L!VkveTs]Gfa96s3}n$ *$QF]ud+~,r("`WSE#OP4-WuS(cvDs*_vQ=St8eLXpmO3"My57fjO9 @Yn]ciiW5MMxR7UBTuZcD~&{hoe.j\NDQpT!$i9`Sx] 6<>Q m;O}=L+Z3LK%6g(Qr>f7"vL&Nn0STu_X/=Nh.ITqfZw> qyyWO`c' z9p~r5X 7t#.Am#DS$[9H=S0 (g_:h=w| HKl?S\A,1Ui@/cZ\yL.__sS"J_s8F1@3;zy2jouke5WB!kyi#6 +{Kj% %L@j,r0Rg`/'T'f:'1N%o2 ?zt xzk:jJ;Eg#/]161xc:8I<8*0f9z+Z?]Yj#j[Av)xP{A3 hKO/4:Hx c7,6:) [I7a|!I CA\fIERS7"O`$MULTIHELP020.A [A]MULTIHELP.HLP;1_?;"matr) SYSTEM function [/Qualifier . . . ]o e 2 Functions pARCHIVEa; Used to initiate or schedule database archive functions.e hBACKUP: Used to initiate or schedule database backup functions. iPREFIX= Used to display the value of the Site-Specific Prefix. The @ site specific prefix is assigned when the MultiHelp server is licensed. STATUS Used to:u3 o Display the application status (no qualifier)SB o Control SOLUTION mail server access for non-registered users (see /EXPERT_ACCESS)A o Control REQUEST mail server access for non-registered userse (see /PROBLEM_ACCESS)v? o Enable or disable application access (see /SYSTEM_ACCESS)o n2 RestrictionsrC o Only one function may be performed for a single invokation ofu the command.< o To perform a maintenance or control operation requires9 ADMINISTRATIVE PRIVILEGE: YES in your user profile. A o the qualifiers /SYSTEM_ACCESS, /PROBLEM_ACCESS and /EXPERT_n5 ACCESS are only valid with the STATUS function.i p 2 Prompts! _Archive,Backup,Prefix,Status:i& Command Qualifiers Defaults" [NO]SYSTEM_ACCESS None" [NO]PROBLEM_ACCESS None" [NO]EXPERT_ACCESS None i 2 Qualifierss /SYSTEM_ACCESS /SYSTEM_ACCESS /NOSYSTEM_ACCESSB /SYSTEM_ACCESS makes the MultiHelp application available to use to all users.? /NOSYSTEM_ACCESS makes the MultiHelp application unavailableh7 except to those users with administrative privilege.A /PROBLEM_ACCESSO /PROBLEM_ACCESSi /NOPROBLEM_ACCESS C /PROBLEM_ACCESS allows Non-Registered User access to the REQUESTu mail server.iC /NOPROBLEM_ACCESS requires that a valid User ID (and password iftD required) be supplied to MultiHelp in order to access the REQUEST mail server.b i/EXPERT_ACCESS /EXPERT_ACCESS /NOEXPERT_ACCESSC /EXPERT_ACCESS allows Non-Registered User access to the SOLUTION  mail server. > /NOEXPERT_ACCESS requires that a valid UserID (and Password? if required) be supplied to MultiHelp in order to access thep( SOLUTION mail server. electronic mail r2 DescriptionB The SYSTEM command is used to display and control the MultiHelpD application. A single function keyword is supplied to execute the desired action. The functions are:r2 o The ARCHIVE function is not yet implemented.1 o The BACKUP function is not yet implemented.A o The PREFIX function displays the value of the Site-Specific Prefix% o The STATUS function is used to:l9 - display the current system status (no qualifier)n@ - Controls SOLUTION mail server access for non-registered# users (see /EXPERT_ACCESS) > - Controls REQUEST access for non-registered users (see /PROBLEM_ACCESS)iB - Enable or Disable application access (see /SYSTEM_ACCESS) 2 EXAMPLESi 1.MultiHelp> SYSTEM STATUSs3 System Parameterse+ System Status: Upo, PROBLEM access via EMail: Yes, EXPERT QUERY access via EMail: Yes> This example shows how to check the current status of the? system. This is the only form of the SYSTEM STATUS commands/ that is available to non-privileged users.u 2.MultiHelp> SYSTEM PREFIXu$ Site-Specific Prefix Code: SIOT@ This example shows how to display the current Site-Specific Prefix.. 3.MultiHelp> SYSTEM STATUS/NOPROBLEM_ACCESS8 %MULTIHELP-I-SYSPARMMOD, system parameters modified3 System Parameters+ System Status: UpU+ PROBLEM access via EMail: Noa, EXPERT QUERY access via EMail: YesB This example restricted access to the REQUEST mail sever such> that it is inaccessible to non-registered electronic mail users.e- 4.MultiHelp> SYSTEM STATUS/NOSYSTEM_ACCESSy8 %MULTIHELP-I-SYSPARMMOD, system parameters modified3 System Parametersd- System Status: Down + PROBLEM access via EMail: No*, EXPERT QUERY access via EMail: Yes; This example restricted access to the entire MultiHelpsC application to only those users with Administrative privilege. 8 5.$ mh/user=customer/password=multihelp system statusB MultiHelp[R] Version V010, SIO Technologies Inc., 1993,1994 F %MULTIHELP-I-DBATTACH, attaching to Database... One moment pleaseQ %MULTIHELP-I-SYSNOTAVAIL, system not currently available, try again later...o@ This example shows the message received by a non-privilegedD user when attempting to access MultiHelp when System Status wasD Down. Administrative privilege is required to access the system in this state.e 1 MULTIHELP_Messages- U2 ABORTEDWORKuser aborted work report Severity: ERRORB Explanation: The user has intentionally aborted entering a workD report, and has therefore aborted the request creation or update. User Action: None N2 ALTEMAILADDEDalternate email address addedA Severity: INFORMATIONALA Explanation: An alternate EMAIL address was added to a contact record. User Action: None.  2 ALTEMAILREMOVEDalternate email address removed  Severity: INFORMATIONAL? Explanation: An alternate EMAIL address was removed from the1 contact record. User Action: None.  n 2 APAGECUST+attemtping automatic page of !AZ !AZ at !AZ0 Severity: INFORMATIONALC Explanation: The creator of a request has requested that they belA notified via pager on any updates to the request. MultiHelp isl paging that person. User Action: None.u 2 APAGEENG +attemtping automatic page of !AZ !AZ at !AZ  Severity: INFORMATIONALA Explanation: The owner of a request has requested that they beA notified via pager on any updates to the request. MultiHelp iss paging that person. User Action: None.  r 2 APAGEMISC+attemtping automatic page of !AZ !AZ at !AZ  Severity: INFORMATIONAL? Explanation: An interested party for a request has requesteddA that they be notified via pager on any updates to the request.n# MultiHelp is paging that person.d User Action: None. 2 ARCHIVEEXISTS$Archive failed, "!AZ" already exists Severity: ERRORB Explanation: The Archive operation failed, The specified record. already exists within the archive database.B User Action: Use MultiHelp>ARCHIVE/REPLACE to Force the Archive- operation to replace the existing records.g t 2 ARCHIVETOTh*'unsigned decimal number' records archived Severity: INFORMATIONAL5 Explanation: The Total number of records archived.a User Action: None.e i 2 ATTEMPTEDrequest for service attemptede Severity: INFORMATIONAL@ Explanation: An attempt was made to contact the customer in a request for service.t User Action: None.  2 BADCLASS 7bad class format "!AZ"-use uppercase letters and digits  Severity: ERROR? Explanation: A class value was entered that was not properly formatted.e@ User Action: Use the correct syntax for entering class names. f 2 BADDATEa bad date was entered "!AZ" use format YYYY-MM-DD Severity: ERRORC Explanation: A time value was entered that was not recognized byi MultiHelp.oC User Action: See the text of the message for legal time formats.d r2 BADDATETIME!a bad date time was entered "!AZ"u! use format YYYY-MM-DD:HH:MM:SS  Severity: ERRORC Explanation: A time value was entered that was not recognized bys MultiHelp.nC User Action: See the text of the message for legal time formats.m o 2 BADDELTAW.bad delta time entered: use "ddd:hh:mm" format Severity: ERRORC Explanation: A time value was entered that was not recognized byg MultiHelp.aC User Action: See the text of the message for legal time formats.s 2 BADDT!a bad date time was entered "!AZ"s try another formate Severity: ERROR? Explanation: A date/time format was specified that could nott@ be deciphered or an invalid date/time was specified - such as September 31.; User Action: MultiHelp should recognize most any kind ofe= date/time format. Try entering another format; for examplel= - "yyyyP A:z$MULTIHELP020.A [A]MULTIHELP.HLP;1_?"-mm-dd:hh:mm" or "dd-MMM-yyyy hh:mm". Please notifyN9 MultiHelp customer support of the format which failed.  2 BADINTERVAL%a bad interval time was entered "!AZ"u use format DDD:HH:MM  Severity: ERRORC Explanation: A time value was entered that was not recognized by MultiHelp.C User Action: See the text of the message for legal time formats.e p 2 BADPREFIX5prefix must only contain letters; prefix not modifiedl Severity: ERRORC Explanation: The MultiHelp prefix must contain only 1-4 letters.S@ User Action: Re-specify the prefix using only 1-4 letters. No numbers or other characters.r 2 BADPRIs+invalid priority "!AZ"; using default "!AZ" Severity: ERRORA Explanation: A priority value was entered which is not know to MultiHelp.C User Action: Use MultiHelp> PRIORITY SHOW to see a list of knowno priority values.  n 2 BADSEVn+invalid severity "!AZ"; using default "!AZ"a Severity: ERRORA Explanation: A severity value was entered which is not know toe MultiHelp.C User Action: Use MultiHelp> SEVERITY SHOW to see a list of knownp severity values.D 2 BADSORTFLDl0bad sort field specified; refer to documentation Severity: ERRORA Explanation: You have specified a field to sort on that is not  recognized by MultiHelp.lB User Action: Check for spelling errors and consult on-line help for the sort qualifier. 2 BLANKEMAIL &no EMAIL address for user !AZ Severity: ERROR; Explanation: This indicates that a contact's profile has"A specified email notifications but has not set an email address  for the contact.MC User Action: Either add an email address for the contact or turn , off email notifications for that contact. 2 CANTCOMMUNm>unable to establish comunication with MULTIHELP process (!8XL)B check MULTIHELP$DIR:MULTIHELP$CAPTIVE.COM and MHMAIL$SERVER.LOG Severity: ERROR@ Explanation: The MultiHelp EMAIL-Server process was unable to@ create or communicate with its command-execution sub-process.= User Action: If the process-id given is 00000000, then thenC failure occured trying to create the sub-process. If it containsuA a valid process-id, then check the operating-system accounting # log for clues as to what failed.  e2 CANTDELPRNT3only childless problem class records may be deleted  Severity: ERROR> Explanation: An attempt was made to delete a class from the? MultiHelp database, which would have left a child class withe no parents.B User Action: Delete all the children of a class before deleting@ the class itself. Use MultiHelp> CLASS/LIST to see what those children are. 2 CANTOPENCMDSp!unable to open command file "!AZ" Severity: ERRORB Explanation: MultiHelp was unable to open the specified command file.D User Action: Verify that the specified command file exists and is accessible. l2 CANTOPENDIST +unable to open MAIL distribution list "!AZ"i Severity: ERRORC Explanation: MultiHelp could not open the specified distributiono list file.w< User Action: Verify that the specified file exists and is accessible. u 2 CLASSADDED class "!AZ" added to database  Severity: INFORMATIONAL5 Explanation: A class value was added to MultiHelp.  User Action: None.  v2 CLASSDUPLNAM problem class already exists Severity: ERRORC Explanation: You have attempted to add a new problem class whicht already exists.@ User Action: For a class to be unique, the combination of its- name and its parent's name must be unique.T 2 CLASSLIST-choose a class value from the following list:  Severity: INFORMATIONALB Explanation: Following is a list of the currently-defined class values.. User Action: Choose a class from that list. u2 CLASSMODIFIEDclass "!AZ" modified Severity: INFORMATIONAL8 Explanation: A class value was modified in MultiHelp. User Action: None.  2 CLASSREMOVEDl!class "!AZ" removed from database  Severity: INFORMATIONAL9 Explanation: A class value was removed from MultiHelp.b User Action: None.  n2 CLTBL2BIGORCIRC@problem class table is too large or contains circular references Severity: ERRORC Explanation: There is not sufficient virtual memory to build the entire class table.? User Action: Reduce the size of the class table, or increasea virtual memory quotas.a d 2 CMDABORTwcommand aborted by  Severity: WARNINGC Explanation: The user aborted the current operation with Ctrl/C.i% User Action: Re-try the operation.  o2 CONTACTADDEDo!contact !AZ !AZ added to user !AZn Severity: INFORMATIONALA Explanation: A contact has just been successfully added to the. profile.R User Action: None p2 CONTACTEXISTS.contact already exists; use the MODIFY command Severity: ERRORD Explanation: You have attempted to create a contact for which one already exists.= User Action: Use the modify command to modify the existingg contact.: 2 CONTACTMODIFIED#contact !AZ !AZ (user !AZ) modifiedi Severity: INFORMATIONAL> Explanation: A contact has just been successfully modified. User Action: None o2 CONTACTNOTADDED)contact not added; supply existing useridf Severity: ERRORB Explanation: You attempted to add a contact for which on userId exists.= User Action: You must create a userId before you can add a  contact for that userId.T A2 CONTACTREMOVEDi%contact !AZ !AZ removed from user !AZi Severity: INFORMATIONALA Explanation: A contact has just been successfully removed frome the profile.n User Action: None d2 CONTACTUNKNOWN customer contact indeterminablep Severity: WARNING< Explanation: Insufficient information exists to determine@ the precise userid/contact to associate with this request for service.g8 User Action: Add more information (such as MultiHelp> REQUEST/CONTACT). s 2 CREATEi$Creating NEW Service Request ID: !AZ Severity: INFORMATIONAL- Explanation: Create a New Service Request.  User Action: None.  o2 CUSTINVQUAL3"!AZ" is an invalid qualifier for customers-ignoredd Severity: WARNINGB Explanation: The specified qualifier is not allowed for userids! with the "customer" attribute.e< User Action: Re-enter the command without that qualifier. 2 CUSTNOLABOR6customer "!AZ" may not be granted labor time or credit Severity: ERRORA Explanation: At attempt was made to credit labor activity to a:( userid with the "customer" attribute.@ User Action: Only non-"customer" userids may be credited with labor.W : 2 DBATTACHT'attaching to database-one moment pleaseo Severity: INFORMATIONALA Explanation: MultiHelp is attempting to successfully attach to ; the RDB database pointed to by the logical MULTIHELP$DB.i User Action: None U 2 DUPALT:=alternate email address "!AZ" already exists for userId "!AZ"  Severity: ERRORD Explanation: The specified alternate email address already existsC in the database. Alternate email addresses must be unique or youo- cannot resolve one to one particular user.mB User Action: Specify an alternate email address that is unique. l2 EDITIGNORED(DESCRIPTION=EDIT is not allowed in EMAIL Severity: ERROR Explanation: Not used.  User Action: None.  o2 EXCEEDMAXREQs;exceeded MultiHelp$Max_Requests "'unsigned decimal number'"a Severity: WARNING? Explanation: Your query has matched on more requests than isn? allowed by the logical MultiHelp$Max_Requests. The number ofiB requests up to that number has been displayed and the rest will not be.A User Action: Specify stricter query parameters so as to narrowpC the scope of your search criteria and get the number of matchingrC requests under the limit specified by the logical MultiHelp$Max_ Requests. a2 EXCEED_LICENSEnCexceeded concurrent user license limit of 'unsigned decimal number'  Severity: FATALD Explanation: This message indicates that you have a license which@ limits the number of concurrent users accessing MultiHelp and6 that that limit has currently already been reached.? User Action: Try to access MultiHelp again later. If this isi? a common problem you may want to discuss thisQ$MULTIHELP020.A [A]MULTIHELP.HLP;1_?Z" with your site/C administrator to see about increasing the capabilities MultiHelp concurrent users. , 2 FAXCUSTfax !AZ !AZ at !AZ Severity: INFORMATIONALD Explanation: The customer of a request has requested that they be1 notified via FAX on any updates to the requesta9 User Action: FAX the customer at the specified number.  S 2 FAXENGfax !AZ !AZ at !AZ Severity: INFORMATIONALA Explanation: The owner of a request has requested that they be 2 notified via FAX on any updates to the request.9 User Action: FAX the engineer at the specified number.S 2 FAXMISCfax !AZ !AZ at !AZ Severity: INFORMATIONALA Explanation: The owner of a request has requested that they bee2 notified via FAX on any updates to the request.A User Action: FAX the interested party at the specified number.o r 2 FILEINERRunable to open input file "!AZ"E Severity: ERRORA Explanation: MultiHelp was unable to the specified input file.nD User Action: Check for the existence of the specified input file. A 2 FILMEMERR,error allocating memory for input file "!AZ" Severity: ERROR@ Explanation: There is insufficient memory to read in an input file.@ User Action: This may be due to insufficient PGFLQUO or other7 process memory restrictions such as small pagefiles.r s 2 FILOUTERR unable to open output file "!AZ" Severity: ERROR@ Explanation: MultiHelp was unable to open the specified input file.D User Action: Check for reasons why a file with the specified name could not be opened.  2 FILRDERR error reading file "!AZ" Severity: ERROR= Explanation: There has been an error in opening a file forn reading.N? User Action: Review any additional messages for clues to the_ problem.  2 FORGOTE+current request for serivce not established  Severity: ERROR8 Explanation: No current context has been established.D User Action: Use MultiHelp> LOOKUP/ID or MultiHelp> REQUEST/ID to establish a context.  2 HANDLE_FATALe'condition handler called on fatal erroru Severity: ERROR5 Explanation: An unexpected condition has occurred.c9 User Action: Please notify MultiHelp customer support.e r2 HANDLE_NOFATAL +condition handler called on non-fatal errorM Severity: ERROR5 Explanation: An unexpected condition has occurred.i9 User Action: Please notify MultiHelp customer support. 2 HARDWAREADDED%added !AZ to user !AZ's hardware listf Severity: INFORMATIONALD Explanation: A hardware definition has just been added to a users hardware list.i User Action: None 2 HARDWAREEMPTY specified hardware list is empty Severity: INFORMATIONALC Explanation: The hardware list for a particular user contains nos items.: User Action: None e2 HARDWAREMODIFIEDR#!AZ modified in !AZ's hardware listi Severity: INFORMATIONALB Explanation: A hardware definition has just been modified for a user. User Action: None P2 HARDWARENOTADDEDr*hardware not added; supply existing userid Severity: ERROR? Explanation: The requested hardware information could not beP6 added because an existing userId was not specified./ User Action: Check your usage of the userId.a s2 HARDWAREREMOVED$removed !AZ from !AZ's hardware list Severity: INFORMATIONALB Explanation: A hardware definition has just been removed from a users hardware list.  User Action: None ,2 ILLEMAILADR)illegal MultiHelp[R] EMAIL-Server addresss Severity: FATAL= Explanation: This indicates that you have specified a non-,+ existent MultiHelp email server address.w< User Action: Check with your site administrator for valid$ MultiHelp email server addresses. t2 INVALID_LOGONinvalid logon informationr Severity: ERROR@ Explanation: Either a bad userid or bad password was entered.5 User Action: Enter a valid userid and/or password.R 2 INVCUST*invalid customer specified; no such userid Severity: ERRORC Explanation: An attempt was made to fill the customer field of ac9 request for service with an unknown or illegal userid. C User Action: Use MultiHelp> PROFILE SHOW USER * to see a list ofA! all currently-defined userids. r 2 INVPROBIDinvalid problem id "!AZ" Severity: ERROR@ Explanation: An invalid request for service name was entered.> User Action: Use MultiHelp> LOOKUP to see a list of current requests. 2 JOINRECINCOMP3join record incomplete; discarding Join informationZ Severity: ERRORD Explanation: A JOIN definition was not completed. Either an emptyB join record was added or only one join field was specified. The0 incomplete JOIN definition has been disarded.C User Action: Review your JOIN definitions to be certain that the!C desired joins have been specified and redefine any that may havew8 been discarded because of being incompletely defined. 2 KEYDEFFILEt loading key definitions from !AZ Severity: INFORMATIONALB Explanation: A MultiHelp key definition file has been found and6 the key definitions are being loaded and processed. User Action: None 2 KEYDEFINED key 'string' has been definedi Severity: INFORMATIONAL@ Explanation: A key has just been defined in the CLI interface using the DEFINE/KEY command. User Action: None l2 KEYDEFOPENERR%error opening !AZ for key definitionsr Severity: WARNING> Explanation: The specified key definition file could not be opened.C User Action: Check that the specified definition file exists andi is accessible.x i2 KEYDEFTOOLONG@key definition too long on line 'unsigned decimal number' of !AZ Severity: WARNING= Explanation: A key definition located in the multihelp keye. defintion file has exceeded 256 characters.? User Action: Shorten the key definition to 256 characters orn less. w2 LICENSE_ADDEDlicense succesfully addedt Severity: INFORMATIONAL2 Explanation: A new MultiHelp license was added. User Action: None.d g2 LICENSE_EXCEEDEDR;concurrent users exceeded (limit 'unsigned decimal number')p Severity: ERRORD Explanation: This message indicates that you have a license which@ limits the number of concurrent users accessing MultiHelp and6 that that limit has currently already been reached.? User Action: Try to access MultiHelp again later. If this isU? a common problem you may want to discuss this with your siteC administrator to see about increasing the capabilities MultiHelpa concurrent users. 2 LICENSE_EXPIREDlicense has expirede Severity: ERRORA Explanation: The license for MultiHelp has expired on the nodee0 your are attempting to access MultiHelp from.@ User Action: Access MultiHelp from a licensed node or contact2 MultiHelp customer support for a valid license. r2 LICENSE_INVALID!invalid license, checksum invalid  Severity: ERRORB Explanation: The checksum just entered in a LICENSE ADD command is incorrect.D User Action: Correct the checksum value and re-enter the command. t2 LICENSE_MISSINGno such licenset Severity: ERRORD Explanation: No license has been registered for MultiHelp and the8 Node your are currently attempting to access it from.B User Action: Register a license for the node you are attempting? to access MultiHelp from or access MultiHelp from a licensede> node. Contact MultiHelp customer support for information on obtaining a license.m a2 LICENSE_REMOVEDlicense succesfully removedv Severity: INFORMATIONAL: Explanation: The current MultiHelp license was removed. User Action: None.n e 2 LINE2BIGhCwork report line greater than maximum; will be truncated to maximumn Severity: ERROR@ Explanation: An input line was entered which was too long for MultiHelp to handle. ) User Action: Shorten the line of text.i t 2 LISTEMPTY+list contains no data or is not initializedr Severity: INFORMATIONAL6 Explanation: The class list has no defined classes. User Action: None.  r2 MAILLIST2BIGt3mail list is too big; user !AZ will not be notified  Severity: ERRORC Explanation: An attempt to generate a mail list has exceeded 500B characters.C User Action: Trim down the affected mail list (probably a CClistaD Rrg5$MULTIHELP020.A [A]MULTIHELP.HLP;1_?n" to a service request) to less than 500 characters. Consider using a distribution list.  t2 MTPNOFUNCTION-the specified MTP function "!AZ" is not known Severity: ERROR> Explanation: No such function is supported by the MultiHelp> Transaction Processor callable routine MULTIHELP$MULTIHELP.3 User Action: Try a different value for FUNCTION.i 2 MUSTBEEXACT%specified criteria must match exactlyr Severity: ERROR@ Explanation: An attempt was made to remove a contact by using6 wildcards or specifying incorrect name information.A User Action: The last and first name must be supplied and musts* match exactly in both case and content. 2 NAMEMISSi&must supply name as P2 on command line Severity: ERRORB Explanation: No STATUS, PRIORITY or SEVERITY name was specifiedA and you could not be prompted because you were using the emailE server.D User Action: Specify all required parameters when using the email interface.t l2 NOARTICLESELe1no article has been selected by clicking on title  Severity: WARNINGA Explanation: The "VIEW SELECTED" pushbutton has been activatedh4 without an article being highlighted in the list.C User Action: Make sure that an article is highlighted by single-t clicking on the title.c s 2 NOCATEGORYd6CATEGORY is an invalid qualifier for customers-ignored Severity: WARNINGB Explanation: Only non-"customer" userids may use the MultiHelp> REQUEST/CATEGORY qualifier.: User Action: Re-enter the command without the /CATEGORY qualifier.  i 2 NOCOMMENT5COMMENT is an invalid qualifier for customers-ignoreds Severity: WARNINGB Explanation: Only non-"customer" userids may use the MultiHelp> REQUEST/COMMENT qualifier.D User Action: Re-enter the command without the /COMMENT qualifier. s2 NOCUSTOWNSHP customers may not own requests Severity: ERRORD Explanation: An attempt was made to assign ownership of a request= for service to a userid that has the "customer" attribute.: User Action: Only non-"customer" userids may own calls. o 2 NODISPLAYcould not open display [!AZ] Severity: FATALC Explanation: The specified Xwindow display destination could not C be opened by MultiHelp in order to display an Xwindow interface. ? User Action: Check to see that you have privilege to displayC@ to the given destination. Use an example interactive Xwindows& program, such as ICO, to test this. 2 NONINTERACT3no command on line for this non-interactive session  Severity: ERROR5 Explanation: An unexpected condition has occurred.b2 User Action: Notify MultiHelp customer support. 2 NOPARENTi%there is no parent to which to attach  Severity: WARNINGA Explanation: The MultiHelp> ATTACH/PARENT command was entered,n: but the process running MultiHelp is not a sub-process. User Action: None.S r 2 NOPASSSUPPL.no password supplied; defaulted to "MULTIHELP" Severity: INFORMATIONAL< Explanation: A MultiHelp user has just been created and aC password was not specified for the new userId. The password willa default to "MULTIHELP".C User Action: If you intended to place a password on the new user C account, then update the newly created account using the PROFILE; MODIFY USER command and specify the /PASSWORD qualifier.l h 2 NOPASSWORDs5must supply a valid password with /PASSWORD qualifiers Severity: ERROR' Explanation: A password is required.R? User Action: Supply a valid password for the userId entered.a i 2 NOPRIVa.insufficient privilege for attempted operation Severity: ERRORD Explanation: An operation was attempted that requires the "admin" privilege.tC User Action: Try the operation again using a userid that was they "admin" privilege.i R 2 NOPRIVREQ*insufficient privilege to view request !AZ Severity: ERROR@ Explanation: You do not have sufficient privilege to view the request in question.tB User Action: Check with your site administrator if you feel you2 should be able to view the request in question. C2 NORECORDSFOUNDc#no records found to generate reportS Severity: ERROR@ Explanation: An attempt was made to generate a report, but noA data was found that matched the selection criteria. It is also;B possible that the selection criteria specified was either badly! formed or was too restrictive.i: User Action: Review the selection criteria specified to< be certain that it was what was intended and modify it if@ appropriate. Also be certain to check the definition of JOINsB to be certain that the proper associations have been defined if8 the data you requested came from more than one table. i2 NOREMDEFPRIcannot remove default priority Severity: ERRORA Explanation: An attempt was made to remove the definition of at: MultiHelp priority that is set as the default priority.? User Action: You cannot remove the currently defined defaultr: priority. In order to remove the priority definition inA question, change the default to another priority (creating oneA9 if necessary) and then remove the priority definition. U2 NOREMDEFSEVcannot remove default severity Severity: ERRORC Explanation: An attempt was made to remove one of the MultiHelp-p supplied severity codes.w< User Action: MultiHelp-supplied severity codes may not be removed.r e2 NOSOLno solutions found Severity: ERRORC Explanation: No solutions articles were found for your specified: criteria.- User Action: Broaden your search criteria.c i2 NOSUCHALTEMAILi no such record matching criteria Severity: ERRORC Explanation: An attempt was made to deliver mail using a userid,T7 but no EMAIL address is associated with that userid.:< User Action: Use MultiHelp> PROFILE ADD CONTACT /EMAIL to7 associate an EMAIL address with a particular userid.h o2 NOSUCHCLASSclass "!AZ" does not exist Severity: ERROR> Explanation: A class value was entered that does not exist.C User Action: Use MultiHelp> CLASS/LIST to see a list of existing classes.s 2 NOSUCHCONTACT&no contact matching specified criteria Severity: ERROR> Explanation: No contact matching the specified criteria was found.l User Action: None. 2 NOSUCHESCALATIONS*no escalations matching specified criteria Severity: INFORMATIONALB Explanation: No escalations matching the specified criteria was found.p User Action: None.d m2 NOSUCHHARDWAREv no hardware matching "!AZ" found Severity: ERROR= Explanation: No hardware record was found that matched thea specified name.2 User Action: Check the name that was specified. a 2 NOSUCHPRIpriority "!AZ" does not exist  Severity: ERRORC Explanation: A priority value was entered that does not exist ing MultiHelp.fC User Action: Use MultiHelp> PRIORITY SHOW to see a list of valide priority values.. a 2 NOSUCHPROBEno such problem "!AZ"n Severity: ERRORC Explanation: An attempt was made to reference an unknown requesth for service.tA User Action: Use the MultiHelp> LOOKUP command to see lists ofu known requests. p 2 NOSUCHSEVseverity "!AZ" does not existb Severity: ERRORC Explanation: A severity value was entered that does not exist in MultiHelp. C User Action: Use MultiHelp> SEVERITY SHOW to see a list of validr severity values.e u2 NOSUCHSOFTWAREn no software matching "!AZ" found Severity: ERROR= Explanation: No software record was found that matched the  specified name.2 User Action: Check the name that was specified. a 2 NOSUCHSOLno such solution "!AZ" Severity: ERROR> Explanation: You have specified a solution Id that does not exist.p= User Action: Double check your solution Id and re-enter ann existing solution Id. s 2 NOSUCHSTATstatus "!AZ" does not existi Severity: ERRORA Explanation: A status value was entered that does not exist inA MultiHelp.pA User Action: Use MultiHelp> STATUS SHOW to see a list of validf status values.u t2 NOSUCHUSERIDno such userid "!AZ" Severity: ERROR4 Explanation: The specified userId does not exist.B User Action: Specify a userId that exists. Use the PROFILE SHOW% USER * command to see all userIds.i n St+$MULTIHELP020.A [A]MULTIHELP.HLP;1_?c"2 NOTCUSTID!not customer associated with calls Severity: ERRORB Explanation: A request for service has an empty CUSTOMER field.6 User Action: Fill in that field with the MultiHelp> REQUEST/CUSTOMER command. l2 NOTCUSTVIEW2the requested article is not viewable by customers Severity: WARNING; Explanation: The requested article has the "not customertD viewable" flag set on it. MultiHelp recognizes you as a customer.C User Action: Choose another article to view, or ask your supportn representative for help.e t2 NOTIFICATIONSsending EMAIL notifications  Severity: INFORMATIONALA Explanation: Any EMAIL notifications necessary to complete thea transaction are in progress.  User Action: None.i 2 NOTIFYINGnotifying !AZ !AZc Severity: INFORMATIONAL: Explanation: The specified entities are being notified. User Action: None.  p2 NOTLICENSED+you are not licensed to use this capabilityc Severity: ERROR= Explanation: The user is attempting to use a capability of @ MultiHelp which requires the purchase of a MultiHelp license.A User Action: Contact SIO Technologies Corporation at (800)951-u 3424 or Sales@sio.com.l e 2 NOUSERIDl2must supply a valid userid with /USER_ID qualifier Severity: ERRORA Explanation: The action you have taken with MultiHelp requiresc3 that you supply valid authorization information.eA User Action: Please supply a userId and, password if required.A? If this error is from the email interface, supply the userId ? directive (\U) and, the password directive (\P) if required.s 2 NOVALUESDBno values in database Severity: INFORMATIONAL? Explanation: This indicates that there are no values for thea. specified entity currently in the database. User Action: None 2 NOVERBACCESSe8access to this verb is not allowed without proper access verification Severity: ERRORC Explanation: Some operations are not allowed on un-authenticateda users.A User Action: Re-start MultiHelp specifying a valid userid [andd password].n s2 NYI)that functionality is not yet implementedu Severity: INFORMATIONALA Explanation: If you receive this message it indicates that theC functionality you have just attempted to access has not yet beenM implemented.  User Action: None 2 PAGECUSTFpage !AZ !AZ at !AZa Severity: INFORMATIONALD Explanation: The customer of a request has requested that they be4 notified via pager on any updates to the request.: User Action: Page the customer at the specified number. i 2 PAGEENGpage !AZ !AZ at !AZn Severity: INFORMATIONALA Explanation: The owner of a request has requested that they ber4 notified via pager on any updates to the request.: User Action: Page the engineer at the specified number. : 2 PAGEMISCppage !AZ !AZ at !AZd Severity: INFORMATIONALA Explanation: The owner of a request has requested that they be4 notified via pager on any updates to the request.B User Action: Page the interested party at the specified number. h2 PASSWORDREQ/password required when input is not interactivel Severity: ERROR' Explanation: A password is required.RD User Action: Supply a valid password using the password directive (\P). 2 PHONECUSTphone !AZ !AZ at !AZ Severity: INFORMATIONALD Explanation: The customer of a request has requested that they be4 notified via phone on any updates to the request.; User Action: Phone the customer at the specified number.m o 2 PHONEENGtphone !AZ !AZ at !AZ Severity: INFORMATIONALA Explanation: The owner of a request has requested that they bei4 notified via phone on any updates to the request.; User Action: Phone the engineer at the specified number.n o 2 PHONEMISCphone !AZ !AZ at !AZ Severity: INFORMATIONALA Explanation: The owner of a request has requested that they bem4 notified via phone on any updates to the request.C User Action: Phone the interested party at the specified number.u H2 PRCLNOTHERE1problem class/parent pair does not exist in tablee Severity: ERRORA Explanation: An attempt was made to access a class/parent pairs* that does not exist in the class table.B User Action: Use MultiHelp> CLASS/LIST to see a list of classes and their parents.  m 2 PRIADDED priority "!AZ" added to database Severity: INFORMATIONALA Explanation: This indicates that you have successfully added a $ priority definition to MultiHelp. User Action: None h 2 PRIDEFMODdefault priority changed to !AZi Severity: INFORMATIONALA Explanation: This indicates that you have successfully changedb& the default priority for MultiHelp. User Action: None i 2 PRIDUP record already existsd Severity: ERROR@ Explanation: A priority value was entered into MultiHelp that already exists.= User Action: Use MultiHelp> PRIORITY SHOW to see a list of existing priority values. E2 PRIMODIFIEDpriority "!AZ" modifiede Severity: INFORMATIONALB Explanation: This indicates that you have successfully modified( one or more attributes of a priority. User Action: None a 2 PRIREMOVED $priority "!AZ" removed from database Severity: INFORMATIONALC Explanation: This indicates that you have successfully removed ae& priority definition from MultiHelp. User Action: None h 2 PROBLOCKEDoproblem "!AZ" currently locked Severity: ERRORC Explanation: An attempt was made to update a request for service- which is locked by another MultiHelp user.? User Action: Wait for the other user to release the request.i s 2 PROBSYNTAXa&correct syntax is [PPPP]YYYYMMDD.NNNNN Severity: INFORMATIONAL> Explanation: You will usually receive this error along with? INVPROBID. It indicates that you have specified an incorrect , format for a request Id or an article Id.B User Action: A request or article Id consists of a site prefix,@ year, month, day, a period < . > and a sequential number that; indicates the number of id's that came before it on that A particular day. You may ommit information starting on the leftaA hand side. Anything ommitted will default to the current date.d o2 REPORTEXISTreport "!AZ" already exist Severity: ERRORB Explanation: You attempted to store a report using a name which is already in use.HC User Action: Choose a new name or activate the "REPLACE EXISTINGn REPORT" push button.g l2 REPORTNOTFOUNDCreport "!AZ" doesn't exist Severity: ERROR> Explanation: A report name was entered that does not exist.C User Action: Specify an existing report name. Or select one fromr' the list if using the GUI interface.t c2 REQARCHIVEDrequest "!AZ" archived Severity: INFORMATIONALD Explanation: The specified Request along with its associated workB reports, labor records and any escalation records was archived. User Action: None.a e 2 REQDELETED:request "!AZ" deletedp Severity: INFORMATIONALD Explanation: The specified Request along with its associated work@ reports, labor records and any escalation records was removed from MultiHelp. User Action: None.a a2 REQRESTOREDrequest "!AZ" restored Severity: INFORMATIONALD Explanation: The specified Request along with its associated workB reports, labor records and any escalation records was restored. User Action: None. 2 REQUEST2LARGE;the specified query contains more data than can be gatheredn Severity: WARNINGD Explanation: The query issue by the LOOKUP command specifies more4 data than your process can allocate from the cpu.D User Action: As much data will be displayed as possible, with allD data past that value being left off. Narrow the search parameters; of your query in order to get the specified information.r t2 RESTOREEXISTS$Restore failed, "!AZ" already exists Severity: ERRORB Explanation: The restore operation failed, The specified record- already exists within the active database. B User Action: Use MultiHelp>RESTORE/REPLACE to Force the restore- operation to replace the existing records.t b 2 RESTORETOTs*'unsigned decimal number' records restored Severity: INFORMATIONAL4 Explanation: The Total number of records arT $MULTIHELP020.A [A]MULTIHELP.HLP;1_?chive. User Action: None.b 2 SEVADDEDc severity "!AZ" added to database Severity: INFORMATIONAL> Explanation: This indicates that you have just successfully( defined a new severity for MultiHelp. User Action: None 2 SEVDEFMODdefault severity changed to !AZn Severity: INFORMATIONAL> Explanation: This indicates that you have just successfully. changed the default severity for MultiHelp. User Action: None h 2 SEVDUPrecord already existsl Severity: ERROR@ Explanation: A severity value was entered into MultiHelp that already exists.= User Action: Use MultiHelp> SEVERITY SHOW to see a list of: existing severity values. n2 SEVMODIFIEDseverity "!AZ" modified> Severity: INFORMATIONALB Explanation: This indicates that you have successfully modified( one or more attributes of a severity. User Action: None v 2 SEVREMOVED $severity "!AZ" removed from database Severity: INFORMATIONAL> Explanation: This indicates that you have just successfully/ remove a severity definition from MultiHelp.w User Action: None Y2 SITEPREFIXMODsite prefix modified Severity: INFORMATIONAL= Explanation: This message is obsolete and you should neverd receive it.< User Action: If you receive this message notify MultiHelp customer support. i2 SOFTWAREADDED%added !AZ to user !AZ's software listm Severity: INFORMATIONAL> Explanation: A software definition has just been added to a user's hardware list. User Action: None v2 SOFTWAREEMPTY specified software list is empty Severity: INFORMATIONALC Explanation: The software list for a particular user contains non items.  User Action: None r2 SOFTWAREMODIFIEDa#!AZ modified in !AZ's software listc Severity: INFORMATIONAL> Explanation: A software definition for a user has just been modified. User Action: None w2 SOFTWARENOTADDED *software not added; supply existing userid Severity: ERROR? Explanation: The requested software information could not bec6 added because an existing userId was not specified./ User Action: Check your usage of the userId.  p2 SOFTWAREREMOVED$removed !AZ from !AZ's software list Severity: INFORMATIONALB Explanation: A software definition has just been removed from a user's hardware list. User Action: None o2 SOLARCHIVEDsolution "!AZ" archived: Severity: INFORMATIONAL@ Explanation: The specified Solution KnowledgeBase article was archived. User Action: None. u 2 SOLDELETEDesolution "!AZ" deleted Severity: INFORMATIONAL@ Explanation: The specified Solution KnowledgeBase article was removed from MultiHelp. User Action: None.i s2 SOLRESTOREDsolution "!AZ" restoredi Severity: INFORMATIONAL@ Explanation: The specified Solution KnowledgeBase article was restored. User Action: None.t i 2 SOL_ABORT&solution addition/modification aborted Severity: INFORMATIONALB Explanation: The creation or update of a Solution KnowledgeBase article was abandoned.R% User Action: Re-enter the article.p S 2 SOL_ADDEDsolution "!AZ" added Severity: INFORMATIONAL@ Explanation: The specified Solution KnowledgeBase article was added to MultiHelp. User Action: None.c n2 SOL_MODIFIED solution "!AZ" modifiede Severity: INFORMATIONAL@ Explanation: The specified Solution KnowledgeBase article was modified. User Action: None.  i 2 SQL2LONGp!exceeded maximum SQL query lengtht Severity: FATAL> Explanation: This indicates that an SQL query was formed by. MultiHelp that was too long for the buffer.@ User Action: Please log what you were doing when you receivedB this error, being as detailed as possible, and notify MultiHelp customer support. 2 SQLERRi<an SQL/RDB error has occurred; review the following messages Severity: ERROR. Explanation: An SQL/RDB error has occurred.B User Action: Review the error message that follows this one forD more information on the nature of the error. This error should be* reported to MultiHelp customer support. 2 SQLTEXT!AZl Severity: ERRORC Explanation: An SQL error has occurred and this message containsM the text of that error.D User Action: Take appropriate action based on the text of the SQL message.v r 2 STATADDEDstatus "!AZ" added to database Severity: INFORMATIONALA Explanation: This indicates that you have successfully added a" status definition to MultiHelp. User Action: None A 2 STATDUPrecord already existst Severity: ERROR> Explanation: A status value was entered into MultiHelp that already exists. User Action: None.a 2 STATMODIFIEDstatus "!AZ" modifiedu Severity: INFORMATIONAL8 Explanation: A status value was modifed in MultiHelp. User Action: None.A 2 STATREMOVED"status "!AZ" removed from database Severity: INFORMATIONAL: Explanation: A status value was removed from MultiHelp. User Action: None.s f 2 STATRES/"!AZ" is a reserved status; record not modifiedt Severity: ERRORB Explanation: An attempt was made to modify a MultiHelp-supplied status value.? User Action: It is not possible to modify MultiHelp-suppliedS status values.t n 2 SUBPROCESSr6enter DCL commands; type LOGOUT to return to MultiHelp Severity: INFORMATIONAL> Explanation: The input stream is now attached to a DCL sub- process.v# User Action: Enter DCL commands.  v 2 SYNBLANKcannot leave a field blank Severity: ERRORC Explanation: You have failed to specify both an initial word and  its synonym.a? User Action: You must specify both the word and its synonym.R 2 SYSNOTAVAIL/system not currently available; try again lateri Severity: INFORMATIONALB Explanation: Access to MultiHelp has been turned off by someone@ with ADMINISTRATIVE privilege using the SYSTEM verb. You mustD have ADMINISTRATIVE privilege to gain access to MultiHelp at this time.C User Action: Contact your MultiHelp administrator if you believeo there is a problem. k 2 SYSPARMMODpsystem parameters modified Severity: INFORMATIONALB Explanation: System parameters have just been modified with the SYSTEM verb.  User Action: None i 2 TOOLATE0request has already been accepted from the queue Severity: ERRORD Explanation: The MultiHelp> REQUEST/ACCEPT command was entered on8 a request for service that is no longer in the queue.D User Action: Use MultiHelp> LOOKUP/QUEUE to see a list of current requests in the queue.C L 2 TPUERRORi/internal error signal generated by Callable-TPU  Severity: ERRORC Explanation: An unrecoverable error was generated by MultiHelp'su editor - TPU.B User Action: Record information concerning the error and notify MultiHelp customer support. : 2 TRACEBACK&internally-generated TRACEBACK listing Severity: WARNINGD Explanation: An internal debugging codepath requested a TRACEBACK listing. B User Action: The information which follows may be of assistance8 to SIO Technologies in analyzing an internal problem. o 2 UNXCLI $an unexpected CLI error has occurred Severity: ERROR? Explanation: A CLI error has occurred that was not expected.o> User Action: Review the error message that follows for more? information on the nature of the error. This error should beU* reported to MultiHelp customer support. l 2 UNXERRORCunexpected error in applicationT Severity: ERROR Explanation: Not used.o User Action: None.I 2 UNXLOCK@an unexpected lock conflict has occurred; attempting to continue Severity: ERRORC Explanation: A lock conflict internal to MultiHelp has occurred.e= User Action: Notify MultiHelp customer support and log the% conditions surrounding this error.i i 2 UNXSMGv$an unexpected SMG error has occurred Severity: ERROR@ Explanation: An SMG error has occurred that was not expected.> User Action: Review the error message that follows for more* information on the nature of the error. h 2 UPDATEn)Updating EXISTING Service Request ID: !AZn Severity: INFORMATIONAL4 Explanation: Updating an existing Service Request User U= y$MULTIHELP020.A [A]MULTIHELP.HLP;1_?(b Action: None.a n 2 USERADDEDuser "!AZ" added to profileo Severity: INFORMATIONALD Explanation: A new userId has just been successfully added to the profile.r User Action: None 3 2 USEREXISTSc1user "!AZ" already exists; use the MODIFY commandd Severity: ERROR> Explanation: You have attempted to add a user for which the userId already exists.cC User Action: Use the modify command to modify its parameters, orn. remove the existing user and add a new one. A 2 USERIDREQ-userId required when input is not interactiveI Severity: ERRORB Explanation: You must supply valid authorization information to MultiHelp.t8 User Action: Supply userId and, password if required. d2 USERMODIFIEDruser "!AZ" modified Severity: INFORMATIONAL? Explanation: A user's parameters have just been successfullyc modified. User Action: None p2 USERPASSREQ5userid [& password] required to perform this functiono Severity: ERRORC Explanation: Some operations are not allowed on un-authenticatede users.nA User Action: Re-start MultiHelp specifying a valid userid [andi password].m m2 USERREMOVEDuser "!AZ" removed from profilei Severity: INFORMATIONALB Explanation: A user has just been successfully removed from the profile.t User Action: None 2 USERUNKNOWNcustomer userid indeterminable Severity: WARNING< Explanation: Insufficient information exists to determine@ the precise userid/contact to associate with this request for service.u8 User Action: Add more information (such as MultiHelp> REQUEST/CONTACT). 2 VALOUTRANGA!value out of range: must be 0..99 Severity: ERROR> Explanation: A value was entered that was outside the legal range.d5 User Action: Specify a value in the correct range.  t 2 VMERROR4internal error encountered allocating virtual memory Severity: FATALC Explanation: This usually indicates that you have exhausted your virtual memory limits.aA User Action: Perform a SHOW PROCESS/ACCOUNT command and recordt@ the value for "Peak virtual size". This may indicate that youA have exhausted your PGFLQUO quota or that your page file(s) isa not large enough.*[A]MULTIHELP020.RELEASE_NOTES;1+,.// 4}//?- 0123KPWO056F7^_89GHJ  MultiHelp T020 Release Notes and Installation Guide? This document contains current information concerning; this release of MultiHelp as well as installation instructions.> Revision/Update Information: This is a new document? Proprietary Information, SIO Technologies Corporation [November 8, 1995]  " ________________________ April 1995 __________6 Copyright 1993 SIO Technologies Corporation9 The information in this document is proprietary< to and embodies the confidential technology of SIO> Technologies Corporation Possesion, use, duplication> or dissemination of the information in this document8 is authorized only after written permission is8 obtained from SIO Technologies Corporation The; information contained in this document is subject> to change without notice and should not be construed= as a commitment by SIO Technologies Corporation SIO@ Technologies Corporation assumes no responsibility for7 any errors which may appear in this document.> The software described in this document is furnished; under a license and may be used or copied only in4 accordance with the terms of such license.7 MultiHelp is a trademark of SIO Technologies Corporation All Rights Reserved.  A _______________________________________________________ ContentsA _________________________________________________A PREFACE vA _______________________________________________________A CHAPTER 1 RELEASE NOTES 1-1A _________________________________________________A 1.1 PRODUCT LICENSE 1-1A _________________________________________________A 1.2 DOCUMENTATION AVAILABILITY 1-2A _________________________________________________6 1.3 NOTABLE CHANGES AND BUG FIXES INA THIS RELEASE 1-3A 1.3.1 Email interface changes _______ 1-39 1.3.1.1 Literal and End Literal Email+ Directives, 1-3? 1.3.1.2 LOOKUPS server accepts wildcard for- work reports, 1-3? 1.3.1.3 USER@NODE syntax allowed for DECnet* addresses, 1-4= 1.3.1.4 All notification methods used for( ~UserId, 1-46 1.3.1.5 New arguments available to< MULTIHELP$MAIL_INSTRUCTIONS, 1-4: 1.3.1.6 MH_CLASS_MAIL logical name for< requests entering the queue, 1-52 1.3.1.7 Email Send and Receive* filtering, 1-53 1.3.1.7.1 Receive Filtering, 1-50 1.3.1.7.2 Send Filtering, 1-7A iii   Contents0 1.3.2 Command Line InterfaceA changes _______________________ 1-7/ 1.3.2.1 ARCHIVE and RESTORE. functionality, 1-8@ 1.3.2.1.1 ARCHIVE and RESTORE Qualifiers, 1-8= 1.3.2.2 creating NEW request and updating? EXISTING request CLI messages, 1-10> 1.3.2.3 /UPDATED qualifier to be used with9 LOOKUP/BEFORE or /SINCE, 1-103 1.3.2.4 New KEY definition file* pointers, 1-10< 1.3.2.5 Fixed REQUEST command output not: counting lines correctly, 1-11< 1.3.2.6 New /INPUT=filename qualifier to. REQUEST verb, 1-11> 1.3.2.7 Logical name MH_SECTION changed to3 MULTIHELP$SECTION, 1-12@ 1.3.2.8 PROFILE ADD USER foo/CUSTOMER is now) default, 1-12@ 1.3.2.9 Enhancement to /CURRENT with REQUEST, and LOOKUP, 1-122 1.3.3 Graphical User InterfaceA changes _______________________ 1-139 1.3.3.1 GUI customizations can now be' SAVED, 1-13> 1.3.3.2 Email notification errors generate) X-popup, 1-134 1.3.3.3 Retirement of QLOG, 1-14: 1.3.3.4 Outer arrows removed from main2 window scrollbar, 1-14A 1.3.4 General changes _______________ 1-141 1.3.4.1 Date/Time recognition- enhancement, 1-14< 1.3.4.2 MULTIHELP$IGNORE_CURSORS logical& name, 1-155 1.3.4.3 Supporting Non-UCX TCP/IP* VV$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/=b" packages, 1-152 1.3.4.4 Automatic Paging, 1-182 1.3.4.5 Automatic Faxing, 1-19 iv  A Contents= 1.3.4.6 Logicals affecting the RPC server+ processes, 1-20A _______________________________________________________A CHAPTER 2 KIT INSTALLATION 2-1A _________________________________________________A 2.1 PRE-INSTALLATION TASKS 2-1A 2.1.1 System Resource Requirements __ 2-1; 2.1.1.1 Remote Application Servers, 2-42 2.1.2 Disable MultiHelp systemA access ________________________ 2-47 2.1.3 Backup the MultiHelp databaseA files _________________________ 2-5A _________________________________________________A 2.2 HARDWARE REQUIREMENTS 2-5A _________________________________________________A 2.3 SOFTWARE REQUIREMENTS 2-5A _________________________________________________A 2.4 INSTALLING MULTIHELP 2-6A 2.4.1 Initiating the installation ___ 2-7A 2.4.2 Performing the Installation ___ 2-7A _________________________________________________A 2.5 POST-INSTALLATION TASKS 2-18A 2.5.1 Print documentation ___________ 2-198 2.5.2 Change PASSWORD of SYSTEM UserA Id ____________________________ 2-19A 2.5.3 Enable System Access __________ 2-19A 2.5.4 MultiHelp Quick Start Guide ___ 2-20A v   ContentsA _______________________________________________________A APPENDIX A SAMPLE INSTALLATION A-1A _______________________________________________________A APPENDIX B IVP MAIL MESSAGES B-1A _______________________________________________________A APPENDIX C SAMPLE DEINSTALLATION C-1A _______________________________________________________A APPENDIX D INSTALLATION STATISTICS D-1A _______________________________________________________A APPENDIX E IN-DEPTH RESOURCE STATISTICS E-1, E.0.1 MultiHelp ResourceA Requirements __________________ E-1; E.0.1.1 OpenVMS AXP Resources Data, E-1; E.0.1.2 OpenVMS VAX Resources Data, E-5A _______________________________________________________ TABLESA 2-1 Recommended SYSGEN Settings ___ 2-11 2-2 Recommended Minimum UAFA Settings ______________________ 2-28 2-3 Global Pages/Sections Usage byA MultiHelp _____________________ 2-2. 2-4 OpenVMS AXP ResourceA Consumption by Interface ______ 2-3. 2-5 OpenVMS VAX ResourceA Consumption by Interface ______ 2-3A 2-6 Software Requirements _________ 2-67 E-1 OpenVMS AXP In-Depth ResourceA Consumption ___________________ E-1 vi  A Contents4 E-2 Recommended UAF and SYSGENA settings on OpenVMS AXP _______ E-3A E-3 Global Pages/Sections Usage ___ E-47 E-4 OpenVMS VAX In-Depth ResourceA Consumption ___________________ E-54 E-5 Recommended UAF and SYSGENA settings on OpenVMS VAX _______ E-6A E-6 Global Pages/Sections Usage ___ E-8A vii  A _______________________________________________________ Preface Intended Audience@ This document is intended for system managers who will< install MultiHelp on a licensed system and for the? MultiHelp Administrator responsible for communicating6 information about new features to end-users.8 Please read the release notes in Chapter 1 and; the installation instructions in Chapter 2 before+ proceeding with the installation.A v  A _______________________________________________________ 1 Release NotesL __________________________________________________________________ 1.1 Product License? A Product License is required to run the unrestricted& version (T020) of MultiHelp.? Without a license, you are free to run the MultiHelp-; CLI version of MultiHelp as long as you like. The= MultiHelp-CLI version gives you access to the fully< functional MultiHelp command line interface (CLI).< The product license or 30-day trial license can be+ obtained by one of three methods:2 1 Visit our World Wide Web home page at? http://www.sio.com/ where you can find product and? pricing information. If your web browser has forms? capabilities you may also use it to request a free" 30-day trial license.? 2 Sending electronic mail to multihelp@mhelp.sio.com0 if you have access to the INTERNET.? o The first word in the subject should be LICENSE.1 o Provide the following information:> - Hardware Address of the node which MultiHelpA will be installed on. ($ MC NCP SHOW KNOW LINES CHAR)A - Hardware Model of the node upon which MultiHelp8 will be installed. ($ WRITE SYS$OUTPUT' F$GETSYI("HW_MODEL"))# - Your company name - Your nameA 1-1   Release Notes, - Your business phone number@ 3 Call SIO Technologies Corporation at (719)488-0581.L __________________________________________________________________$ 1.2 Documentation Availability7 Documentation will be provided on-line by the: installation procedure in SYS$HELP: if requested8 during the installation. You will be given the= opportunity to restore the documentation and either@ exit the installation at that time or continue on with the installation.( The documentation provided is:A o MULTIHELP$HDSR_UG.PS [Support Representative's Users' Guide] (PostScript Format)< o MULTIHELP$HDSR_UG.TXT [Support Representative's' Users Guide] (Text Format)A o MULTIHELP$CMND_REF.PS [CLI Command Reference Manual] (PostScript Format): o MULTIHELP$CMND_REF.TXT [CLI Command Reference" Manual] (Text Format)8 o MULTIHELP$QUICKSTART.PS [Quick Start Guide] (PostScript Format)? o MULTIHELP$QUICKSTART.TXT [Quick Start Guide] (Text Format): o MULTIHELP.RELEASE_NOTES [This document] (Text Format)7 o MULTIHELP_RELEASE_NOTES.PS [This document] (PostScript Format) 1-2  A Release NotesL __________________________________________________________________7 1.3 NotablW$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/"e changes and bug fixes in this release: This section contains a brief description of the: major changes in functionality, enhancements and: new features included in this release. The items@ listed here may or may not be included in the standard documentation.% ___________________________& 1.3.1 Email interface_changes_____7 1.3.1.1 Literal and End Literal Email$ Directives= Two new Email directives have been added that allow< you to send text in an Email request submission or> update that may include Email directives that you do> not wish to have interpreted by MultiHelp. These new@ directives can be thought of as forming a LITERAL-END_@ LITERAL block that can be used to delimit a section of text.@ \2 is used to initiate a literal block and all text in? the message found after this directive is passed into@ MultiHelp without interpreting any directives that may? be found until a \3 directive is found and designates the end of the block.& _____________________= 1.3.1.2 LOOKUPS server accepts wildcard for& work reports; A problem was fixed that forced you to enclose an? asterisk passed to the \W directive inside quotes. \W" * now works as expected.A 1-3   Release Notes& _____________________= 1.3.1.3 USER@NODE syntax allowed for DECnet# addresses7 You may now specify the Email addresses for a= recipient over DECnet using the syntax USER@DECnet-> NODENAME (e.g. SMITH@ROYAL instead of ROYAL::SMITH).; An address of this form is assumed to be a DECnet< address unless a period (.) is also found embedded> within the string (in which case it is assumed to be an Internet address). & _____________________; 1.3.1.4 All notification methods used fors! ~UserIdn? When a ~UserId is encountered in a CClist, in a CLASSh< notification logical name list, or any other place@ that MultiHelp performs notifications, the UserId will> now receive notification using all methods listed in? their PROFILE record. Previously only Email was sent._& _____________________4 1.3.1.5 New arguments available to5 MULTIHELP$MAIL_INSTRUCTIONSd2 Two new arguments have been added to the3 ReturnAnEmailAddressList argument list in ; MULTIHELP$EXAMPLES:MULTIHELP$MAIL_INSTRUCTIONS.C:" o Boolean CLASS_CHANGED o Boolean REOPENEDa; With this new information, user-supplied CALLBACKo< routines can generate whatever EMAIL address lists@ they want - perhaps by adding a new entry to the MAIL_< INSTRUCTIONS array, with different WR detail, etc.; Please examine MULTIHELP$EXAMPLES:MULTIHELP$MAIL_o< INSTRUCTIONS.C for more detail. No further changes9 will be made in the SIO-supplied code, however. 1-4e r pA Release Notes & _____________________A 1.3.1.6 MH_CLASS_MAIL logical name for requests, entering the queue= A new attribute has been added to the scheme of MH_n> CLASS_MAIL logical names such that an individual, or@ group of individuals can be notified when a request of; a particular class enters the queue. For example:_H $ DEFINE/SYSTEM MH_CLASS_MAIL_UNIX_QUEUED "TONGO::DAVE,~HATCH"9 will notify TONGO::DAVE by Email and the UserId_7 HATCH at all of her notification types stored 4 in her MultiHelp profile record whenever a5 request of class UNIX enters the queue. See ; SYS$STARTUP:MULTIHELP$SYSTARTUP.TEMPLATE for more  detail._& _____________________: 1.3.1.7 Email Send and Receive filtering= There are times that you may wish to either prevent < MultiHelp from attempting to process certain Email? messages or prevent MultiHelp from sending Email to a ? particular address. An example of this might be Email < coming from an automated Email attendant such as a0 Postmaster used by some Email systems.= To this end, we have implemented an Email filtering = mechanism for both when MultiHelp receives mail andl when it sends mail.& _____________________- 1.3.1.7.1 Receive Filteringv? A simple filter file can be created to be used by theN< MultiHelp EMAIL-Server when it receives mail. This< file is read once during each startup of as EMAIL-= Server process - that is to say, each time Email is ? received by MultiHelp or each time an updated request ) is processed for notifications..= The format of the file will be multi-line, one line ? per action and the file must reside in MULTIHELP$DIR: % and must have the filename:.A 1-5_ _ _ Release Notes 6 [prefix]$RECEIVE_FILTER.DAT9 Where [prefix] represents your site prefix. Ford example:@ MultiHelp$DIR:ABCD$RECEIVE_FILTER.DAT, Each line will have the format of:1 [from] [to] [subj] [action] [parameter]T Where:> o [from] = wildcard pattern match on the FROM field: o [to] = wildcard pattern match on the TO field@ o [sub] = wildcard pattern match on the SUBJECT field> o [action] = action to be taken if all fields match6 o [parameter] = misc information for action For example:2 *postmast* * * S System< In this case if a mail message comes from anywhere< with "postmast" in its FROM field, we will perform' action S[end] to user SYSTEM.o Actions:> o S = send to parameter list and do not process any further= o N = normal processing, this is the default if no rule lines matchi2 o D = drop in bit bucket if rules match For example:F (MultiHelp$DIR:[prefix]$RECEIVE_FILTER.DAT)2 *postmast* * * S system* * * *failure* D" * * * N 1-6   A Release Notes : Note that the strings are *case-sensitive*. Note< also that both strings "*REQUESTS" and "MULTIHELP"< must be used as the To: string, because I can send? MAIL to MHMAIL$REQUESTS.EXE using either MULTIHELP or  SIO%REQUESTS.$= The filter isn't foolproof, because a tricky person ; could forward someone else's MAIL to MULTIHELP or = [prefix]%REQUESTS, and this filter would not detect it.g& _____________________* 1.3.1.7.2 Send Filtering> MultiHelp can also scan all addresses to which it is@ about to send mail and explicitly eliminate individual8 addresses if you specifically filter them out.9 The send filter file is implemented in much the_; same way as the receive filter, but the format is < more simple. The file MULTIHELP$DIR:[prefix]$SEND_< FILTER.DAT contains a list of EMAIL addresses, one> per line, and/or multiples on the same, separated by> a comma, with no intervening blanks or tabs, to whom< MultiHelp is not allowed to send MAIL at any time.5 Period. This file cannot contain wildcards.  For example:C (MultiHelp$DIR:[prefix]$SEND_FILTER.DAT)s& TONGO::DAVE: SMTP%"smith@jasmine.disney.XS-$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/{".com"$ JIM,JONES% ___________________________E( 1.3.2 Command Line Interface changesA 1-7  T E Release Notes & _____________________; 1.3.2.1 ARCHIVE and RESTORE functionalityG8 The ARCHIVE REQUEST command is used to archive? specified service requests based on criteria supplied > by qualifiers. It will archive the specified service: requests along with all related work reports and? labor records from the on-line database to an archive Database..9 The RESTORE REQUEST command is used to retrieve ? specified service requests based on criteria supplied > by qualifiers. It will restore the specified service: requests along with all related work reports and@ labor records from the archive database to the on-line database Database.& _____________________: 1.3.2.1.1 ARCHIVE and RESTORE Qualifiers /BEFORE=date_time_; Do not archive or restore requests whose creation = date-time is after the date-time specified. Enclose_> the date-time inside quotes if it contains blanks or special characters. /SINCE=date_time; Do not archive or restore requests whose creation : date-time is later than the date-time specified.< Enclose the date-time inside quotes if it contains' blanks or special characters.  /CLOSED; Do not archive or restore open requests. In other_< words, only service requests with a closed status. 1-8   .A Release Notes_ /ID=request_id> Will archive or restore the service request with the specified request Id.a# /STATUS[="value[,value]"]_? Only archive or restore service requests whose status @ values are equal to one of the status values specified< in the list. Enclose the list in double-quotes and5 separate multiple status names with commas.  /LOG? Will generate progress messages during the archive ort restore. /DELETE ; During an archive command /DELETE will remove the ; service requests from the active on-line database > after archiving the request to the archive database.: During a restore command /DELETE will remove the: service requests from the archive database after? restoring the request to the active on-line database.  /EXCLUSIVE> Forces the archive or restore command to take out an? exclusive lock against the database. During this time< other users will not be able to access any service requests.tA 1-9g S i Release Notes  /REPLACE= Instructs the archive or restore command to replace_@ an existing service request with service request being archived or restored. & _____________________; 1.3.2.2 creating NEW request and updatingg7 EXISTING request CLI messages? Two new informational messages have been added in the > CLI interface to inform you that a request is either: being CREATED or UPDATED and what the associated RequestId is.d? When a request is being updated, a message similar tog* the following will be displayed:Q %MULTIHELP-I-UPDATE, Updating EXISTING Service Request ID: MH19950410.2m? When a request is being created, a message similar to* the following will be displayed:L %MULTIHELP-I-CREATE, Creating NEW Service Request ID: MH19950416.1& _____________________< 1.3.2.3 /UPDATED qualifier to be used with1 LOOKUP/BEFORE or /SINCE > A new qualifier has been added to the LOOKUP verb in< the CLI that alters the date that is examined when@ using the /BEFORE and /SINCE qualifiers. LOOKUP/UPDATE? specifies that the /BEFORE and /SINCE qualifiers willr@ base their search on the LAST UPDATE date for requests> instead of on the CREATION date which is the default without the qualifier.& _____________________: 1.3.2.4 New KEY definition file pointers= The options for defining keys for the CLI interfacen9 have been greatly enhanced. Previously a singlea; logical name, MULTIHELP$KEYS, could be defined tot@ point to a file containing key definitions (DEFINE/KEY commands). 1-10 f A Release Notes = There is now a second logical name, MULTIHELP$KEYS_> USER, that can be defined to point to a file that is? read after the file pointed to by MULTIHELP$KEYS. Thea@ key definitions are combined and if any duplicate keys< are defined, the last occurrence takes precedence.? Additionally, either or both of the logical names canw= be defined as search-list logical names pointing toC? more than one file and the files will be processed in  order. For example: L $ DEFINE/SYSTEM MULTIHELP$KEYS MULTIHELP$DIR:MULTIHELP$SYSTEM.KEYSS $ DEFINE MULTIHELP$KEYS_USER DISK1:[GRPA]GROUP.KEYS,SYS$LOGIN:MYKEYS.KEYS 8 will result in the key definitions in the file? MULTIHELP$DIR:MULTIHELP$SYSTEM.KEYS being read first,o: followed by DISK1:[GRPA]GROUP.KEYS and lastly by SYS$LOGIN:MYKEYS.KEYS.? When one of the files is being read, an informational_; message is displayed including the files name. Ifo@ there is an error opening one of the files, no message/ is displayed and the file is skipped.u& _____________________: 1.3.2.5 Fixed REQUEST command output not2 counting lines correctly; A problem was fixed in which the output generatedi= after creating or updating a REQUEST did not always = count lines correctly and sometimes placed the MOREe& prompt in unexpected places.& _____________________: 1.3.2.6 New /INPUT=filename qualifier to& REQUEST verb< A new qualifier has been added to the REQUEST verb< that allows the inclusion of an external file into< a work report. The /INPUT qualifier cannot be used< with the /EDIT qualifier, so you must have already> fully formatted the text with an external edit prior; to including it into MultiHelp. You will still be= prompted for the subject of a request or an update, ? but after entering it the work report will be enteredi& with no further interaction.A 1-11    Release Notes& _____________________< 1.3.2.7 Logical name MH_SECTION changed to+ MULTIHELP$SECTION = Previously, the logical name MH_SECTION was used too? point to a custom TPU section file. This logical namer0 has been changed to MULTIHELP$SECTION.& _____________________> 1.3.2.8 PROFILE ADD USER foo/CUSTOMER is now! defaulti? Previously, if a UserId was added to the system using > the PROFILE ADD command and neither the /CUSTOMER or? /NOCUSTOMER qualifiers were specified, the UserId was = added as /NOCUSTOMER (as a Support Rep). Because of > security concerns this default has been changed such( that /CUSTOMER is the default.& _____________________> 1.3.2.9 Enhancement to /CURRENT with REQUEST$ and LOOKUP4 The CLI REQUEST and LOOKUP verbs have been> modified/enhanced in their handling of the RequestId; pointed to bY[3;$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/ "?y the /CURRENT qualifier. Previously,u4 the "current" request that was accessed by@ LOOKUP/CURRENT or REQUEST/CURRENT was the last request; explicitly specified in a LOOKUP/ID=request-id or ( REQUEST/ID=request-id command.: In this release, the "current" request will also= be set to be the first request returned by a LOOKUP  command when either:6 o There is currently no "current" RequestId: o The last request was just closed or attempted9 This way, a typical specialist will login, do a> LOOKUP, work the /CURRENT call (the first one on the@ list), then close it, then do another LOOKUP, and work% the new /CURRENT call, etc. : If he does not close the /CURRENT call, then the7 LOOKUP does not change the request-id used byA /CURRENT.i 1-12 H A Release Notes % ___________________________d* 1.3.3 Graphical_User_Interface_changes= 1.3.3.1 GUI customizations can now be SAVED = A new menu item has been added to the MultiHelp GUIi@ main screen called Options that allows you to save and; restore customizations made in the GUI interface.h2 When a SAVE operation is performed, your; customized resources are saved into a file callede? MULTIHELP$userid.DAT where 'userid' is your MultiHelps> logon userId. The UserId is included in the filename; so that multiple users can share a VMS account to ; access MultiHelp (such as when starting MultiHelp @ using the MHGUI Email address). This file is placed in> the directory DECW$USER_DEFAULTS (which is typically# the SYS$LOGIN directory).X9 You may also save and restore resources using an filename you specify.o= You may also manually edit the resource file to addi< resources that are not directly accessible through= the GUI menus (window colors for example) and theser> resources will be retained even if you later use the" Save option again later.& _____________________< 1.3.3.2 Email notification errors generate! X-popup-= Any error messages generated by Email notifications < after creating or updating requests in the GUI now> generate a popup error notification box highlighting? the error encountered as well as placing the messages < into the status pane at the bottom of the GUI main window.h> Previously these errors were only visible at the DCL9 command level from which MultiHelp was started.iA 1-13r a e Release NotesE& _____________________, 1.3.3.3 Retirement of QLOG6 The QLOG Email interface for MultiHelp is no; longer supported as of this release as all of its 9 functionality is now available by using the newe= WWW Browser interface available native-mode on mostm% operating system platforms. : The interface may continue to function properly,9 but no further support will be supplied for them application.& _____________________? 1.3.3.4 Outer arrows removed from main window # scrollbara; Previously there was a pair of small arrows above = and below the vertical scrollbar on the main lookup < window. These have now been removed by placing the. following resource in MULTIHELP.DAT:@ *mainSVN.DXmuseScrollButtons: False> Customers assumed that these arrows would allow them; to scroll quickly to the top or the bottom of thep? list, but they did not perform this function and haveH* been removed to avoid confusion.< You may quickly scroll to the top or the bottom of; the list simply by clicking mouse-button-2 in the ? scrollbar trough at the position to which you wish to  move.o% ___________________________h& 1.3.4 General_changes_____________; 1.3.4.1 Date/Time recognition enhancementI? Date and Time recognition has been enhanced such that ? the following values are recognized anywhere date and4 time values can be entered into MultiHelp:5 o TODAY (today at midnight or 00:00 hours) = o YESTERDAY (yesterday at midnight or 00:00 hours), o NOW (the current date and time) 1-14  A Release Notes[; o TOMORROW (tomorrow's date at midnight or 00:00d hours)  For example:J MultiHelp> LOOKUP/UPDATE/CLOSED/SINCE=YESTERDAY8 will perform a lookup of all requests that are8 currently closed and have been updated anytime yesterday or today. & _____________________? 1.3.4.2 MULTIHELP$IGNORE_CURSORS logical namen; Some versions of SQL/Rdb have a bug that requiresi< that we CLOSE ALL CURSORS before opening a new one> after a ROLLBACK operation. As a result, the default@ operation of MultiHelp is to do this extra work in the2 RPC processes after ROLLBACK operations.> If you are confident that the version of Rdb you are< running does not have this bug, you may define the= logical name MULTIHELP$IGNORE_CURSORS to avoid thisC@ step and get slightly better performance. For example:H $ DEFINE/SYSTEM MULTIHELP$IGNORE_CURSORS TRUE& _____________________< 1.3.4.3 Supporting Non-UCX TCP/IP packages; The VAX MultiHelp Y020 installation presumes thats> Digital's UCX V3.2 product is present on the system.< MultiHelp only uses UCX in the MultiHelp$HTTPD.EXE; image. It needs UCX for its implementation of ther+ following TCP/IP socket routines:  o acceptt o bind  o gethostbyaddr o getpeername o htons o listenT o recvuA 1-15_   Release Notesl o senda o setsockopto o socket ? The MultiHelp installation checks for the presence ofd= the logical name UCX$IPC. If it's present, it linkse? MULTIHELP$HTTPD.EXE against that object (or shareable = image) library .OLB file. If it's not present, thenT< the installation links MULTIHELP$HTTPD.EXE against5 UCX's library called SYS$SHARE:UCX$IPC.OLB.e< If you do not have UCX installed, but do happen to? have an implementation of the TCP/IP socket routines, : then you can make your routines available to the; MultiHelp installation, by creating an object (or:; shareable image) library .OLB file containing theI6 names of at least the above socket routines.? There are a number of variations on how this might be  accomplished:S; 1 Your implementation provides an object library 6 (or shareable image) .OLB file containing5 all the above names precisely as they're; listed above (case-blind) ... Use it: $ define_5 UCX$IPC SYS$SHARE:MYIMPLEMENTATION.OLB $R/ @SYS$UPDATE:VMSINSTAL MULTIHELP020o; 2 Your implementation provides a shareable imageb5 .EXE file containing all the above names < precisely as they appear above (case-blind) ...9 Insert that shareable image into a shareabler: image library .OLB file: $ library/shareable_: image/create SYS$SHARE:MYIMPLEMENTATION.OLB -7 _$ SYS$SHARE:MYIMPLEMENTATION.EXE $ definea5 UCX$IPC SYS$SHARE:MYIMPLEMENTATION.OLB $e/ @SYS$UPDATE:VMSINSTAL MULTIHELP020  1-16 r aA Release Notes ; ZZ3 $MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/ P 3 Your implementation provides an object library > .OLB file containing the above routines, but with> names differ from what is listed above (e.g. they> might have prefixes before the names) ... Build a> vector module containing those straight names and< insert it into a copy of your library: $ createA MYIMPLEMENTATION_VECTOR.MAR .title MultiHelp$SOCKETSs9 .entry accept, 0 callg ap, g^MINE$ACCEPT reta9 .entry bind, 0 callg ap, g^MINE$BIND ret ...q9 .entry socket, 0 callg ap, g^MIND$SOCKET rets> .end $ macro MYIMPLEMENTATION_VECTOR.MAR7 $ copy SYS$SHARE:MYIMPLEMENTATION.OLB - _$ ; SYS$COMMON:[SYSLIB]PRIVATEIMPLEMENTATION.OLB $.? library/insert SYS$SHARE:PRIVATEIMPLEMENTATION.OLB 6 - _$ MYIMPLEMENTATION_VECTOR.OBJ $ define: UCX$IPC SYS$SHARE:PRIVATEIMPLEMENTATION.OLB $/ @SYS$UPDATE:VMSINSTAL MULTIHELP020U; 4 Your implementation provides a shareable imagec= library .OLB file containing the above routines,t; but the names differ from what is listed abovee= (e.g. they might have prefixes before the names)n= ... Create a private vector shareable image .EXE ? file and insert it into your own private shareable@ image library .OLB file: $ create MYIMPLEMENTATION_? VECTOR.MAR .title MultiHelp$SOCKETS .entry accept,i9 0 callg ap, g^MINE$ACCEPT ret .entry bind, 0a; callg ap, g^MINE$BIND ret ... .entry socket, 0E> callg ap, g^MIND$SOCKET ret .end $ macro: MYIMPLEMENTATION_VECTOR.MAR $ link/shareable_? image=SYS$COMMON:[SYSLIB]PRIVATEIMPLEMENTATION.EXEe6 - _$ SYS$INPUT:/options MYIMPLEMENTATION_> VECTOR.OBJ SYS$SHARE:MYIMPLEMENTATION.OLB/library; $ library/shareable_image/create - _$ ; SYS$COMMON:[SYSLIB]PRIVATEIMPLEMENTATION.OLB - < _$ SYS$SHARE:PRIVATEIMPLEMENTATION.EXE $ define: UCX$IPC SYS$SHARE:PRIVATEIMPLEMENTATION.OLB $/ @SYS$UPDATE:VMSINSTAL MULTIHELP020 A 1-17v o e Release Notes_: 5 Your implementation provides only a shareable; image .EXE file containing the above routines,s= and their names difUfer from what is listed aboved= (e.g. they might have prefixes before the names)i? ... Create a private shareable image .EXE file andt< insert it into your own private shareable image: library .OLB file: $ create MYIMPLEMENTATION_? VECTOR.MAR .title MultiHelp$SOCKETS .entry accept,S9 0 callg ap, g^MINE$ACCEPT ret .entry bind, 0r; callg ap, g^MINE$BIND ret ... .entry socket, 0 > callg ap, g^MIND$SOCKET ret .end $ macro: MYIMPLEMENTATION_VECTOR.MAR $ link/shareable_A image=SYS$COMMON:[SYSLIB]PRIVATEIMPLEMENTATION.EXE -i> _$ SYS$INPUT:/options MYIMPLEMENTATION_VECTOR.OBJ; SYS$SHARE:MYIMPLEMENTATION.EXE/shareable_imageP; $ library/shareable_image/create - _$i; SYS$COMMON:[SYSLIB]PRIVATEIMPLEMENTATION.OLB -L< _$ SYS$SHARE:PRIVATEIMPLEMENTATION.EXE $ define: UCX$IPC SYS$SHARE:PRIVATEIMPLEMENTATION.OLB $/ @SYS$UPDATE:VMSINSTAL MULTIHELP020h& _____________________* 1.3.4.4 Automatic Paging9 The user-modifiable paging software supplied byE7 MultiHelp uses the following logical names toi@ determine how to access modems available for MultiHelp> notification paging operations. They should have AT-; compatible modems attached directly (for physicalg> device names) or indirectly (for LAT service names).L MultiHelp$PAGER_PORT DIALOUT ! LAT service for a set of portsB MultiHelp$PAGER_PORT0 LTA2: ! Physical device nameQ MultiHelp$PAGER_PORT1 $PORT3 ! Logical pointing to physical device K MultiHelp$PAGER_PORT2 PORT4 ! LAT service for a single porti= These four different forms represent four differente= terminal/modem access methods. DIALOUT represents al@ LAT service which describes a set of physical terminal= ports. LTA2: is a particular physical device, as is ? $PORT3, and PORT4 represents the LAT service name forr a particular port. 1-18 E MA Release NotesS; The paging software will walk through the list ofl9 logicals MultiHelp$PAGER_PORTn until it finds aI> terminal/modem port that is free. It will connect to@ that port, and deliver appropriate AT commands to dial the pager.7 The following define extra control for use in  accessing pagers.uN MultiHelp$PAGER_DELAY "5" ! Delay 5 seconds between messagesN MultiHelp$PAGER_PREFIX "1" ! Prefix for dialing long-distanceS MultiHelp$PAGER_MESSAGE "1(800)555-1212" ! Phone number for your HelpDesk 9 The PAGER_DELAY describes how long the softwareb> should wait after dialing the pager number (from the; MultiHelp database) before sending the "message". = The PAGER_PREFIX states what numbers must be dialedt> before the area code to get an outside long-distance= connection (some sites might need "8", others might ; need "91", others might want other codes, such as > "102880"). The PAGER_MESSAGE is the string of digits> that appears on the window of the pager. By default,: the digits of the RequestId appear. In the above< example, the telephone number 1(800)555-1212 would% appear in the pager window. & _____________________* 1.3.4.5 Automatic Faxing> The built-in user-modifiable FAXing software assumes? that a FAX can be sent out using the VMSmail utility. ? The following logical names describe how MultiHelp is % to access the FAX software. ; The following define the parameters for automatic FAXing:3S MultiHelp$FAX_XPORT "fxml%" ! VMSmail transport for sending out FAXN MultiHelp$FAX_PREFIX "1" ! Prefix for dialing long-distance4 For example, if a customer's name is "Fred; Flintstone", and his FAX number (in the MultiHelp_; database) is (800)555-1212, then, using the aboveSA 1-19  v s Release Notest@ logical name definitions, MultiHelp would generate the: equivalent of the following VMSmail transaction: MAIL> send4 To: fxml%"Fred Flintstone^1(800)555-1212^"< Notice the "fxml%" precedes the quoted name/number6 string, and the "1" precedes the FAX number.& _____________________; 1.3.4.6 Logicals affecting the RPC server # processes < The following logicals control the behavior of the< MultiHelp$RPCSRV process. This process handles all0 database requests for MultiHelp users.; [prefix]$RPCSRV_MIN (default: 2)R9 Controls the minimum number of RPCSRV processesc= that stay running if they are not being used by any/ MultiHelp users.= [prefix]$PRCSRV_COUNT (default: 8) @ Controls the maximum number of RPCSRV process that are= permitted to run at any time. More RPCSRV processes"< will generally equate to better MultiHelp database@ performance, but too many processes may waste precious virtual memory.o 1-20 t A _______________________________________________________  2 Kit InstallationL __________________________________________________________________ 2.1 Pre-Installation Tasks@ This sections describes tasks that should be performed< prior to a MultiHelp upgrade. There are no[>7^$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/5"a special= Pre-Installation tasks for a new installation othera9 than making sure that you meet the software andc hardware requirements.% ___________________________ & 2.1.1 System Resource Requirements= This section outlines general resource requirementsd? including recommended UAF and SYSGEN settings as wellr: as process resource consumption. See Appendix E,: In-Depth Resource Statistics for a more detailed% breakdown of these numbers.s: Table 2-1 gives recommended settings for certain SYSGEN parameters.A Table_2-1__Recommended_SYSGEN_Settings_________________tA Parameter__________OpenVMS_AXP____OpenVMS_VAX__________ : VIRTUALPAGECNT >= 66464 >= 30875 pages% pagelets): WSMAX >= 32000 >= 16823 pagesA ___________________pagelets____________________________a: Table 2-2 gives recommended minimum settings for certain UAF quotas.uA 2-1    Kit InstallationA Table_2-2__Recommended_Minimum_UAF_Settings_____________A Quota__________Value___________________________________r PGFLQUOTA 21000 ENQLM 5000  TQELM 1000i BIOLM 50i DIOLM 50G BYTLM 1000000 FILLM 50iA ASTLM__________1000____________________________________? Table 2-3 gives the required GBLPAGES and GBLSECTIONS  for MultiHelp.A Table_2-3__Global_Pages/Sections_Usage_by_MultiHelp____nA Platform___________GBLPAGES_____GBLSECTIONS____________ , OpenVMS AXP 4817 25A OpenVMS_VAX________2436_________22______________________> Table 2-4 lists resource consumption for the OpenVMS9 AXP platform while table 2-5 lists them for the = OpenVMS VAX platform. Each table lists the resourceu8 consumption based on the interface being used. 2-2i l aA Kit Installation 8 Table 2-4 OpenVMS AXP Resource Consumption byA ___________Interface___________________________________ @ Email> Graphical Command In-? User In- Line In- ter-bA Resource____________________terface____terface___face__ > Memory usage (typical, 1176 827 968 per user)o@ CPU (typical, per 2.847 1.377 5.845? transaction) seconds seconds sec-a? onds ? I/O (typical, per 1044 444 I/Os 1353u? transcation) I/Os I/Os A _______________________________________________________ ? A typical transaction consists of reviewing a servicec8 request and three of its work reports and then updating the request._A _______________________________________________________ 8 Table 2-5 OpenVMS VAX Resource Consumption byA ___________Interface___________________________________ @ Email> Graphical Command In-? User In- Line In- ter-DA Resource____________________terface____terface___face__ ? Memory usage (typical, 11777 6702 7034  per user) @ CPU (typical, per 14.61 4.259 28.91? transaction) seconds seconds sec- ? ondsU? I/O (typical, per 1122 369 I/Os 1990a? transcation) I/Os I/OsdA ________________________________________________________? A typical transaction consists of reviewing a serviceO8 request and three of its work reports and then updating the request.hA _______________________________________________________ A 2-3M i p Kit Installation& _____________________4 2.1.1.1 Remote Application Servers= When MultiHelp is installed on remote nodes for the > purpose of spreading the resource load, the resource< requirements will be offloaded to the remote node.@ But when MultiHelp is run in this manner from a remote= installation, a RDBSERVER process is created on the_> MultiHelp database node in order to service the data? requests. This RDBSERVER process is created under the< account RDB$REMOTE on the MultiHelp database node.> You can control the amount of memory these RDBSERVER> processes consume on the database node by modify the@ UAF record for this account. A recommended setting for; WSEXTENT is 2048. A lower setting may be required : due to memory resources on the database node, in= which case you should lower it and perform tests as $ to acceptable performance.> NOTE: The RDB$REMOTE account will be bypassed by RDB? if the user has a network proxy on the database node. = In this case, it will use the account designated byh? the proxy record. This creates a problem, because youT> cannot control all RDBSERVER resource consumption by< modifying the RDB$REMOTE account. This is the case= when a user can use their local proxy account whichC, may have higher resource settings.% ___________________________d) 2.1.2 Disable MultiHelp system accessn< Access to the MultiHelp system must be disabled in@ order to prevent access conflicts while performing the? upgrade and insure a complete backup of the MultiHelpy database. @ This is done by entering MultiHelp with a User Id with< Administrative privilege and entering the command:5 SYSTEM STATUS/NOSYSTEM_ACCESS. For example:aP $ multihelp/user=SYSTEM/password=MANAGER system status/nosystem_access< System access must be enabled after the upgrade is< complete. See Section 2.5.3, Enable System Access. 2-4C S AA Kit InstallationP% ___________________________e- 2.1.3 Backup the MultiHelp database filesa9 If you are performing an upgrade to an existingp@ MultiHelp X8.0 installation, it is imperative that you= obtain a backup of your existing MultiHelp databasei? before performing the upgrade. A system outage duringA? the upgrade process could make the MultiHelp databasen unusable.I? You must use the RMU utility to backup your database.N( Do not use the BACKUP utility.' Backup to another disk drive: V $ RMU/Backup/OnLine/Log/NoQuiet MultiHelp$DB $1$DUA17:[temp]MultiHelp080.RBF! Backup to a tape drive:cL $ RMU/Backup/OnLine/Log/NoQuiet MultiHelp$DB MUA0:MultiHelp080.RBFL __________________________________________________________________ 2.2 Hardware Requirementsc( The hardware requirements are:& o OpenVMS VAX or AXP System: o Disk Space of approximately 35,000 blocks for> the disk device that will hold the database filesA depending on the options chosen during installation. < o Disk Space of approximately 6000 blocks for the system diskL __________________________________________________________________ 2.3 Software RequirementsC= The software requirements depend on the options youi@ choose during installation. The installation procedure( prompts you for the following:A 2-5$ A V\s$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/"r Kit InstallationG This product contains two different installation options:iW 1) Install the full product which includes the database files. This mustb@ be installed at least once in your environment.V 2) Install only the application server interface, which does not includeW the database files. In this case, MultiHelp runs locally but accesseseW the database information remotely, which was installed using option 1. : Which do you want to install on this system:E 1) Full product installation (including database files)gA 2) Application server only (without database files)E * Which [1]:= Table 2-6, Software Requirements, lists the minimumT7 versions of software required depening on theE selection chosen..A Table_2-6__Software_Requirements_______________________iA Product_____________________Selection__________________R, OpenVMS AXP V1.5 Either, OpenVMS VAX V5.5 Either, DEC Rdb V4.2A Either' OpenVMS DECwindows Motif 2LA V1.2___________________________________________________ L __________________________________________________________________ 2.4 Installing MultiHelp5 This sections describes how to initiate thev< installation and how to answer the questions asked8 of you during the installation. For an example: of a sample installation see, Appendix A, Sample Installation.t 2-6s  iA Kit Installation % ___________________________A% 2.4.1 Initiating the installationS7 MultiHelp is installed using the standard VMSr; installation procedure, SYS$UPDATE:VMSINSTAL.COM. = For example, to start the installation of MultiHelp9 when the product distribution resides on a tape= that is loaded on device MUA0:, enter the following  command:E $ @SYS$UPDATE:VMSINSTAL MULTIHELP020 MUA0:I> To start the installation when the product kit files6 reside on disk, issue the following command:P $ @SYS$UPDATE:VMSINSTAL MULTIHELP020 ddcu:[directory]6 Replace ddcu:[directory] with the device and< directory name of where the kit files reside (e.g. $1$DUA17:[MHKIT]).> To simply extract the Installation Guide and Release: Notes, use the Options N specifier, for example:O $ @SYS$UPDATE:VMSINSTAL MULTIHELP020 MUA0: OPTIONS Ns% ___________________________ % 2.4.2 Performing the Installationo9 The following section explains the installationf7 dialog, the questions asked of you during theL; installation, and how to answer them. Some of the < questions will not be asked during your particular= installation or upgrade. This is due in part to how$5 you answer previous questions asked of you.d6 1 Do you want this procedure to restore the documentation [N]A 2-7  e n Kit InstallationU MultiHelp documentation is shipped along with the kit in PostScript and.S text format. At this time you have the option of whether to have thesX documentation loaded into SYS$HELP: by this procedure or to do it manually at a later time.U If you answer YES to unloading the documentation now, you will be givengT the opportunity to unload the documentation and exit the installation.V To unload the documentation manually simply restore the .B saveset using! the BACKUP utility: < $ backup MULTIHELP020.B/save_set SYS$HELP:J * Do you want this procedure to restore the documentation [YES]?< Answer YES if you want all of the documentation1 moved to SYS$HELP by this procedure.-? If you choose NO, then follow the instructions fore9 restoring the documentation at a later time.cA If you answer YES then you will be prompted with the following question:? * Do you want to continue with the installation [NO]?A8 Answer YES if you want to continue with the? installation. Take the default if you would prefern? to have time to print the documentation and review"5 before continuing with the installation.  2 Install Option G This product contains two different installation options: W 1) Install the full product which includes the database files. This muste@ be installed at least once in your environment.V 2) Install only the application server interface, which does not includeW the database files. In this case, MultiHelp runs locally but accessesFW the database information remotely, which was installed using option 1.c: Which do you want to install on this system:E 1) Full product installation (including database files) A 2) Application server only (without database files)  * Which [1]: 2-8u H $A Kit Installation = For most installations you will choose option 1,s? Full product installation. You would choose option2> 2, Application server only if you want to install: the MultiHelp user interface on a system that< will access the MultiHelp database that resides5 on another node in the (DECnet) network.o, 3 Check required product versions@ The installation checks to insure that you have the? required versions of OpenVMS, DEC Rdb, and OpenVMS = DECwindows Motif installed on the system. If you_? do not have one of the products or do not have theg9 required version the installation will fail. ( 4 Check for TP_SERVER process= MultiHelp an its use of DEC Rdb require that then= process TP_SERVER be running on your system. The> installation checks for this process and if it is> not found, the following message is displayed and$ the installation fails:V Rdb requires that the TP_SERVER process be running. It is not currentlyW running on this system. It is sometimes disabled by defining the logicaltW name SYS$DECDTM_INHIBIT during system startup (e.g. SYLOGICALS.COM). Ther> IVP will not run correctly without this process.W If a journal file does not exist then one may need to be created with the following command:T $ mcr LMCP create logfile SYS$JOURNAL:SYSTEM$.LM$JOURNALQ You can start the TP_SERVER process by deassigning the logical name_G SYS$DECDTM_INHIBIT, then executing the following command:n3 $ @SYS$STARTUP:DECDTM$STARTUP.COMrA If you receive this message, follow the instructionsl< provided and then start the installation again.8 5 Do you want to purge files replaced by this installation [YES]?A 2-9    Kit Installation= Answer YES to this question if you want previousiA versions of MultiHelp files purged at the end of thei; installation. You should normally answer YES .l> 6 Do you want to run the IVP after the installation [YES]?t8 Answer YES to this question if you want the> installation to run a procedure after the product= is installed that verifies that the installation< worked and that MultiHelp is functional. If you< don't answer yes, you can still execute the IVP? at any time after the installation by entering the_ following command:_W ]$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/~" $ @SYS$TEST:MULTIHELP$IVP.COM userid password site_prefix  Where: 6 - userid is a privileged MultiHelp userid; - password is the password of the userid given_ above; - site_prefix is the site prefix given to your_5 installation by SIO Technologies Corp.T@ For an example of the mail messages sent during the4 IVP, see Appendix B, IVP Mail Messages./ 7 Upgrade or New Installation Option1 Is this a 2 1. New Installation of MultiHelp? 2. Upgrade of a previous version of MultiHelprQ 3. Re-Installation of MultiHelp (Previous Database Left Intact)a * Which [1]:; Answer with 1 if this is a new installation ofS; MultiHelp. Answer with 2 if this is an upgrade < of a previous version of MultiHelp. Answer with; 3 if you are re-installing the same version ofi> the MultiHelp software and don't want a new empty database created. 2-10 t eA Kit Installationg5 8 Do you have your MultiHelp license [N]?" X You may use a subset of the MultiHelp functionality without a license fromV SIO Technologies Corporation. To enable the full MultiHelp feature set, including:. o DECwindows Motif interface8 o Fully-customizable Xmosaic interface1 o Full-function EMAIL interfaceL5 o Ad-hoc report-generator interfacee? o Automatic time/event-driven call escalation 8 o Significant performance improvementsT you must purchase a license. If you have a MultiHelp license, you mayX enter it now. This will enable the full MultiHelp functionality. If not,W you can add the license at any future time, with the LICENSE ADD command. 4 * Do you have your MultiHelp license [NO]?< Answer YES if you have your license information@ from SIO Technologies Corporation. If not, you will> receive the following output and the installation will be aborted._Q To purchase a MultiHelp license, please contact SIO Technologies atlU (800)951-3424, or Sales@sio.com. Have ready the following information:_1 Target node NI hardware address B [$ mcr NCP show known lines characteristics]3 Target node hardware model number ? [$ write SYS$OUTPUT f$getsyi("HW_MODEL")]_ 9 Checksum:@ At this time you should enter the checksum given toA you by SIO Technologies Corporation. This will be anl( 8 digit alphnumeric number. 10 Expiration Date: > Enter the expiration date given to you exactly as3 given by SIO Technologies Corporation.p 11 Site Prefix: A 2-11   I Kit Installation6 Enter the site prefix given to you by SIO& Technologies Corporation. 12 Concurrent Users:A Enter the value for concurrent users given to you by * SIO Technologies Corporation.- 13 Have you completed a backup [N]? T Before you upgrade MultiHelp to the latest version, you should perform? an RMU backup of your database. Use the command:e@ $ rmu/backup/online/log/noquiet MultiHelp$DB -3 _$ device:[dir]MultiHelp_X080.RBFrV You can use a disk device if you have enough space or initialize a tape,= mount the tape /FOREIGN and backup to the tape.eM NOTE: The space required by the RMU backup file is much smallerH? than that occupied by the on-line database.sG Refer to the DEC Rdb RMU Reference Manual for assistance.E, * Have you performed a Backup [N]?@ If you answer NO to this question, the installationA will abort and allow you to perform a backup of yourf database.< You will only be asked this question if this is; an upgrade as opposed to a new installation oft MultiHelp.  14 Database Option 2-12  oA Kit Installation V You have the option of installing an abbreviated version of the database- if you are short on disk space.bY It is recommended that you install the full version requiring 34,000 blockslX of disk space if you have the space and will probably use that much space.W Else you may install a database with an initial allocation of only 11,000a blocks.iU You also have the option of installing a Demo Database which is for thesX express purpose of demoing MultiHelp. This requires 11,000 blocks in disk space. Which do you want?= 1. Fully allocated database (34,000 blocks)a9 2. Abbreviated database (11,000 blocks) 2 3. Demo database (11,000 blocks) * Which [1]:; If you are installing MultiHelp for production = purposes you must choose option 1. Otherwise, ifs; you are installing MultiHelp for evaluation orh< demonstration purposes, then choose option 2 or 3. @ Option 3 provides a database already populated with demonstration data.@ NOTE: The demonstration database provided with T020< does not contain any demonstration data already pre-loaded. 15 * Select a Device:iA 2-13p t s Kit InstallationV This procedure requires a device and directory for the database files to reside.eX When choosing the device, if possible, pick a device which is not a systemP disk and one that does not contain a pagefile or swapfile as well.T This is to reduce the I/O contention for the device that will hold the database files. U A top level directory will be created on this device named [MULTIHELP]._$ * Select a device: DKA300:< You need to select a device which will hold the< MultiHelp database files. This device must have= at least 35,000 free blocks on it to perform the,? install, and should have about 100,000 free blocksaA on it to allow for growth of the database over time.n? This is if you chose the full installation option.c< Try to choose a device that is not already very@ heavily loaded with I/O. A disk containing a system? pagefile or swapfile would not be a good candidatee; for example. Placing the database on a lightly ? loaded disk will assure optimal performance of then application. 8 The installation also insures that there is< sufficient free disk space on the disk that you> have specified to build the database. If there is> not, the installation prompts for another device.? If you enter an invalid device name, the procedurei% prompts you for another.l& 16 Select a Node and Device:? If you have chosen to install only the Applicatione? Server portion of the installation you will now bebA prompted for the location of the MultiHelp database:  2-14 y wA Kit InstallationaV You have chosen not to install the Server portion of the product on thisX node. This means that the Server portion has been or will be installed on+ another node on your network. W You must now supply the node name and device name where the database doess (will) reside.D When pro^t!$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/"mpted, please respond in the following format:# nodename::device:r% * Select a Node and Device: = Enter the network path to the MultiHelp database 5 directory. For example: MHELP::$1$DUS17:_, 17 MULTIHELP and MH Verb conflictsQ This installation updates DCLTABLES.EXE to add the following verbs:4 MULTIHELP  MHW OpenVMS requires that all DCL command verbs be unique to within the firstX four characters. If you have another verb, such as MULTINET, which sharesQ the same first four characters as either MULITHELP or MH, then yourS previous verbs will be overwritten, possibly disabling those previous  layered-products. W If you answer yes to the first question, then the MULTIHELP verb will not W be installed. If you answer yes to the second question, then the MH verbl$ will not be installed.H * Do you have a verb which would conflict with MULTIHELP [NO]?A * Do you have a verb which would conflict with MH [NO]?m> Answer YES if MULTIHELP or MH would not be unique< verbs on your system. Only consider the first 4 characters.; For instance, if you already have the product, = and therefore the verb, MULTINET on your system,r= continuing to install MultiHelp will disable the = MULTINET verb. You should answer N in this case. A 2-15i G e Kit Installation) 18 Enter a valid UIC [220,220]: X This installation creates a MultiHelp account for local interactive accessU to MultiHelp for users without accounts on this system. This will be anE captive account with access only to the MultiHelp verb.sT You need to select a unique UIC for this account. This procedure willV check to see if the chosen UIC is in use and report back who is using itW if it is in use. It will also give you a chance to change your selectiond if it is in use.W The account will not have a password, but access to the MultiHelp applic- ? ation is protected via application authorization.n( * Enter a valid UIC [220,220]:> This installation creates a MultiHelp account. InA order to create this account you must select a validt> UIC for for it to use. A default UIC of [220,200]< is offered and can be chosen simply by pressing? RETURN. It is recommended you choose a UIC that isd" not currently in use.7 19 Enter username to forward to SIO%REQUESTS: Y You will now be prompted for unique usernames to be associated with each ofrY the MultiHelp EMAIL-Server destinations. Each username you specify will beLG assigned to a particular EMAIL-Server functionality-base.tY For instance, you may wish to assign the username MULTIHELP to the REQUESTSaW functionality-base. This allows your users to send EMAIL directly to the,S username MULTIHELP on your system to generate or update a request foreV service, or MHSOLUTIONS for the SOLUTIONS functionality-base, permittingY your users to send MAIL directory to MHSOLUTIONS for a KnowledgeBase query.AU For each username you specify, an account will be created in the systemTW authorization file. This username must be unique on your system. If younU do not wish to associate a username with a particular destination, thensQ simply hit . EMAIL users must then use the SIO%DESTINATIONo2 syntax to invoke that functionality.? MultiHelp can have several different usernames forn< email addresses that perform specific functions" related to MultiHelp. 2-16 s tA Kit Installation @ For example, the email server which will assume all= incoming correspondance is related to a solution ? query, prefix%SOLUTIONS, can be given the usernamer' EXPERT, or SOLUTIONS, etc.l= These forwarding addresses are required for mostf# types of TCP/IP email. 2 MultiHelp is a good default for site_? prefix%REQUESTS. If you are unsure for the others,r< you might merely prepend the site prefix to the! destination such as: + ABCDSOLUTIONSv= Where ABCD is the site prefix and SOLUTIONS is an# MultiHelp destination.  20 Use SYSMAN [YES]?A The installation places a DCL command procedure intoo? the directory SYS$STARTUP called MULTIHELP$STARTUPT7 that must be executed each time the system 8 is rebooted in order to start the MultiHelp application.o? By default, an entry is made in the SYSMAN startupo< database for this procedure and as a result the= application is started automatically during eachE> system boot with no further intervention required? by the system manager. You are given the option to ? bypass the use of the SYSMAN database entry if youn choose.; If you choose not to use SYSMAN, then you must < invoke the MultiHelp startup procedure manually@ in your site-specific startup command file with the command:tN @SYS$STARTUP:MULTIHELP$STARTUP ddcu: site-prefix; where ddcu: is the name of the disk that holds8 your MultiHelp database, and site-prefix is8 the lite prefix contained in your MultiHelp? license. The site-specific startup command file isoA 2-17T < e Kit Installation@ SYS$MANAGER:SYSTARTUP_V5.COM on OpenVMS VAX systemsA prior to OpenVMS VAX V6.0 and SYS$MANAGER:SYSTARTUP_n? VMS.COM on OpenVMS VAX systems running OpenVMS VAX ; V6.0 or higher and on all OpenVMS AXP systems. 21 DCLTABLES.EXEA The installation makes a copy of DCLTABLES.EXE priori= to making any modifications to it so that should > any problem occur, the old version can quickly be restored.? The following instructions are provided during the > installation. Simply carry out these instructions= after the installation should any problem occur.oP A copy of SYS$COMMON:[SYSLIB]DCLTABLES.EXE will be made before anyR modifications are made to it. The copy will have the following file specification:< SYS$COMMON:[SYSLIB]DCLTABLES.EXE_BEFORE_MHS You may delete this file after you are sure that no problems occurredl& during the installation.V If problems did occur and you need to retain your old DCLTABLES all thatX is necessary is to rename it back to DCLTABLES.EXE and issue the following command:; $ install replace SYS$SHARE:DCLTABLES.EXEe; 22 %MULTIHELP-I-KickBack, All questions have been  answeredu< All interaction with the installation procedure> is completed. At this point the installation will3 complete with no further intervention.mL __________________________________________________________________! 2.5 Post-Installation Taskse8 This section describes recommended tasks to be9 performed after the installation has completed.  2-18 o A Kit Installation % ___________________________  2.5.1 Print documentation 8 It is recommended that you print copies of the7 new documentation included with this release. < MultiHelp documentation can be found in SYS$HELP:.? See Section 1.2, Documentation_m$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/Gw" Availability, for more  information.% ___________________________ + 2.5.2 Change PASSWORD of SYSTEM User Id> A new installation comes with a privileged MultiHelp; account already setup. The UserId is "SYSTEM" ands; the Password is "MANAGER". It is recommended thatl? immediately following a new installation the passwordo< on this User Id be changed to prevent unauthorized$ access to the application.< To change the password, use the following command:0 $ multihelp/user=SYSTEM/pass=MANAGER -= _$ profile modify user SYSTEM /password={new-value}r% ___________________________  2.5.3 Enable System Access8 Access to the MultiHelp system must be enabled: in order to allow non-privileged users to access6 MultiHelp after an upgrade. If this is a new1 installation this step is not required.n@ This is done by entering MultiHelp with a User Id with< Administrative privilege and entering the command:4 SYSTEM STATUS /SYSTEM_ACCESS. For example:4 $ multihelp/USER=system/PASSWORD=manager -) _$ system status /system_accessnA 2-19l i  Kit Installation% ___________________________,% 2.5.4 MultiHelp Quick Start Guide : A new manual is being shipped with this release.; The purpose of the guide is to navigate the firstw; time user of MultiHelp or organization evaluatinge> the product through the functionality and breadth of> MultiHelp via a set of exercises and demonstrations.: Each exercise is design to build on the previous; one. Therefore, it is important that you start atb> the beginning and proceed through to the end without jumping around.; The guide has been shipped with this installationr: and can be found in SYS$HELP or in Save Set B of8 the MultiHelp kit if you chose not to have the7 documentation downloaded by the installation. > See Section 1.2, Documentation Availability for more2 information on accessing this new guide. 2-20 C uA _______________________________________________________ A Sample Installationp $1H $ @SYS$UPDATE:VMSINSTAL MULTIHELP020 DKA400:[MULTIHELP020.KIT]C OpenVMS AXP Software Product Installation Procedure V6.1U% It is 19-APR-1995 at 09:17.d9 Enter a question mark (?) at any time for help.HH %VMSINSTAL-W-ACTIVE, The following processes are still active: DECW$SERVER_0 UCX$FTPDh DECW$MWMa DECW$TE_037An4 * Do you want to continue anyway [NO]? YESH * Are you satisfied with the backup of your system disk [YES]?3 The following products will be processed:a MULTIHELP V2.0< Beginning installation of MULTIHELP V2.0 at 09:17@ %VMSINSTAL-I-RESTORE, Restoring product save set A ... %VMSINSTAL-I-nH RELMOVED, Product's release notes have been moved to SYS$HELP.K * Do you want to purge files replaced by this installation [YES]?oU MultiHelp documentation is shipped along with the kit in PostScript andMS text format. At this time you have the option of whether to have the X documentation loaded into SYS$HELP: by this procedure or to do it manually at a later time.U If you answer YES to unloading the documentation now, you will be givenT the opportunity to unload the documentation and exit the installation.A A-1a   Sample InstallationlV To unload the documentation manually simply restore the .B saveset using! the BACKUP utility:p< $ backup MULTIHELP020.B/save_set SYS$HELP:J * Do you want this procedure to restore the documentation [YES]?C * Do you want to continue with the installation [NO]? YES G This product contains two different installation options:.W 1) Install the full product which includes the database files. This must@ be installed at least once in your environment.V 2) Install only the application server interface, which does not includeW the database files. In this case, MultiHelp runs locally but accessesrW the database information remotely, which was installed using option 1.b: Which do you want to install on this system:E 1) Full product installation (including database files) A 2) Application server only (without database files)  * Which [1]:U This installation requires the following software products depending on 7 the installation options you have chosen:E OpenVMS AXP V1.5 or OpenVMS VAX V5.5 (UI or Server)d: OpenVMS DECwindows Motif V1.0 (UI Only)1 DEC Rdb V4.2A (UI or Server)wO If DECwindows Motif is not present on your system, then the Motifr* interface will not be built.C %MULTIHELP-I-VERSIONS, Checking required product versions V This installation contains an installation verification procedure (IVP).T This procedure can be run automatically at the end of the installationW or can be run manually at any time after the installation by entering thei following command:J $ @SYS$TEST:MultiHelp$IVP.COM rD * Do you want to run the IVP after the installation [YES]? Is this as A-2  l sA Sample Installationl2 1. New Installation of MultiHelp? 2. Upgrade of a previous version of MultiHelpg 3. Re-C Installation of MultiHelp (Previous Database Left Intact)e * Which [1]:X You may use a subset of the MultiHelp functionality without a license fromV SIO Technologies Corporation. To enable the full MultiHelp feature set, including:. o DECwindows Motif interface8 o Fully-customizable Xmosaic interface1 o Full-function EMAIL interfacei5 o Ad-hoc report-generator interface ? o Automatic time/event-driven call escalationi8 o Significant performance improvementsT you must purchase a license. If you have a MultiHelp license, you mayX enter it now. This will enable the full MultiHelp functionality. If not,W you can add the license at any future time, with the LICENSE ADD command.e8 * Do you have your MultiHelp license [NO]? YES * Checksum: 40440351- * Is this correct <40440351> [YES]?t( * Expiration Date: 31-DEC-19990 * Is this correct <31-DEC-1999> [YES]?" * Concurrent Users [-1]:' * Is this correct <-1> [YES]?n * Site Prefix: SIO( * Is this correct [YES]?: %MULTIHELP-I-DBTYPE, Choose the type of databaseV You have the option of installing an abbreviated version of the database- if you are short on disk space.MY It is recommended that you install the full version requiring 34,000 blocksdX of disk space if you have the space and will probably use that much space.W Else you may install a database with an initial allocation of only 11,000  blocks.yA A-3h a f Sample InstallationTU You also have the option of installing a Demo Database which is for theeX express purpose of demoing MultiHelp. This requires 11,000 blocks in disk space. Which do you want?= 1. Fully allocated database (34,000 blocks) 9 2. Abbrevi`T~m'$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/!"ated database (11,000 blocks) 2 3. Demo database (11,000 blocks) * Which [1]:V This procedure requires a device and directory for the database files to reside.bX When choosing the device, if possible, pick a device which is not a systemP disk and one that does not contain a pagefile or swapfile as well.T This is to reduce the I/O contention for the device that will hold the database files. U A top level directory will be created on this device named [MULTIHELP]. $ * Select a device: DKA300:Q This installation updates DCLTABLES.EXE to add the following verbs:, MULTIHELPs MHW OpenVMS requires that all DCL command verbs be unique to within the firstaX four characters. If you have another verb, such as MULTINET, which sharesQ the same first four characters as either MULITHELP or MH, then yourcS previous verbs will be overwritten, possibly disabling those previousd layered-products. W If you answer yes to the first question, then the MULTIHELP verb will not W be installed. If you answer yes to the second question, then the MH verbs$ will not be installed.H * Do you have a verb which would conflict with MULTIHELP [NO]?A * Do you have a verb which would conflict with MH [NO]?M> %MULTIHELP-I-INTERACT, Interactive MultiHelp account A-4a t A Sample Installation X This installation creates a MultiHelp account for local interactive accessU to MultiHelp for users without accounts on this system. This will be afE captive account with access only to the MultiHelp verb.uT You need to select a unique UIC for this account. This procedure willV check to see if the chosen UIC is in use and report back who is using itW if it is in use. It will also give you a chance to change your selectionn if it is in use.W The account will not have a password, but access to the MultiHelp applic-t? ation is protected via application authorization. * * Enter a valid UIC [[220,220]]:' * Is [220,220] correct [YES]?i %MULTIHELP-I- K EMAILFORWARDING, Choose forwarding addresses for the EMAIL-ServeraY You will now be prompted for unique usernames to be associated with each ofs" the MultiHelp EMAIL-A Server destinations. Each username you specify will be G assigned to a particular EMAIL-Server functionality-base.,Y For instance, you may wish to assign the username MULTIHELP to the REQUESTS  functionality-E base. This allows your users to send EMAIL directly to the S username MULTIHELP on your system to generate or update a request for F service, or MHSOLUTIONS for the SOLUTIONS functionality- base, permittingY your users to send MAIL directory to MHSOLUTIONS for a KnowledgeBase query.sU For each username you specify, an account will be created in the systemeW authorization file. This username must be unique on your system. If youlU do not wish to associate a username with a particular destination, thenoQ simply hit . EMAIL users must then use the SIO%DESTINATION 2 syntax to invoke that functionality.V * Enter a username which will forward to SIO%REQUESTS [MULTIHELP]: MULTIHELPU * Enter a username which will forward to SIO%LOOKUPS [MHLOOKUPS]: MHLOOKUPSt[ * Enter a username which will forward to SIO%SOLUTIONS [MHSOLUTIONS]: MHSOLUTIONSSX * Enter a username which will forward to SIO%COMMANDS [MHCOMMANDS]: MHCOMMANDSI * Enter a username which will forward to SIO%GUI [MHGUI]: MHGUIaA A-5  e o Sample InstallationaV By default this installation inserts the MultiHelp$STARTUP.COM procedureT into SYSMAN (in the LPBETA phase in SPAWN mode). If you choose not toS have this done, then you must execute the procedure from your system-d: specific startup file SYS$MANAGER:SYSTARTUP_& V5.COM or SYSTARTUP_VMS.COM,D depending on your version of OpenVMS with the command:E $ @SYS$STARTUP:MultiHelp$STARTUP _MHELP$DKA300: SIOuW If in a VMScluster environment, make sure that this procedure is executed * on all nodes in the cluster. * Use SYSMAN [YES]?PR A new installation comes with a MultiHelp privileged account alreadyP registered. Its UserId is "SYSTEM" and its Password is "MANAGER".X It is recommended that immediately following the installation the passwordX on this MultiHelp account be changed to prevent unauthorized access to the application.@ To change the password, use the following command:8 $ multihelp/user=SYSTEM/pass=MANAGER -E _$ profile modify user SYSTEM /password=tJ %MULTIHELP-I-KICKBACK, All questions have been answered at 09:21 -MULTIHELP-I-D@ KICKBACK, The installation will now proceed unattended -MULTIHELP-I- ? KICKBACK, Plan for 15 minutes on a VAXstation 3100/30 @ %VMSINSTAL-I-RESTORE, Restoring product save set B ...K %MULTIHELP-I-DOC, MULTIHELP$ADMIN_GD.PS will be moved to SYS$HELPK %MULTIHELP-I-DOC, MULTIHELP$CMND_REF.PS will be moved to SYS$HELPaJ %MULTIHELP-I-DOC, MULTIHELP$HDSR_UG.PS will be moved to SYS$HELP %MULTIHELP-I-L@ DOC, MULTIHELP$QUICKSTART.PS will be moved to SYS$HELP. %MULTIHELP-I-DOC, MULTIHELP$RELEASE_, NOTES.PS will be moved to SYS$HELP, %MULTIHELP-I-DOC, MULTIHELP$ADMIN_* GD.TXT will be moved to SYS$HELP+ %MULTIHELP-I-DOC, MULTIHELP$CMND_l A-6u g eA Sample Installatione+ REF.TXT will be moved to SYS$HELPsK %MULTIHELP-I-DOC, MULTIHELP$HDSR_UG.TXT will be moved to SYS$HELP  %MULTIHELP-I- A DOC, MULTIHELP$QUICKSTART.TXT will be moved to SYS$HELP%. %MULTIHELP-I-DOC, MULTIHELP$RELEASE_- NOTES.TXT will be moved to SYS$HELPr@ %VMSINSTAL-I-RESTORE, Restoring product save set C ...@ %VMSINSTAL-I-RESTORE, Restoring product save set E ...P A copy of SYS$COMMON:[SYSLIB]DCLTABLES.EXE will be made before anyR modifications are made to it. The copy will have the following file specification:< SYS$COMMON:[SYSLIB]DCLTABLES.EXE_BEFORE_MHS You may delete this file after you are sure that no problems occurreda& during the installation.V If problems did occur and you need to retain your old DCLTABLES all thatX is necessary is to rename it back to DCLTABLES.EXE and issue the following command:; $ install replace SYS$SHARE:DCLTABLES.EXEa1 %MULTIHELP-I-BUILDDB, Building database %VMSINSTAL-_A I-SYSDIR, This product creates system disk directory _# MHELP$DKA300:[MULTIHELP].tD %CREATE-I-EXISTS, _MHELP$DKA300:[MULTIHELP] already exists@ %VMSINSTAL-I-RESTORE, Restoring product save set F ... %RMU-I- G LOGCONVRT, database root converted to current structure levelt} %RMU-S-CVTDBSUC, database _MHELP$DKA300:[MULTIHELP]MULTIHELP.RDB;1 successfully converted from version V4.2 to V5.1h3 %RMU-I-CVTCOMSUC, CONVERT committed for _SA MHELP$DKA300:[MULTIHELP]MULTIHELP.RDB;1 to version V5.1r@ %VMSINSTAL-I-RESTORE, Restoring product save set H ... %RMU-I-cG LOGCONVRT, database root converted to current structure level G %RMU-S-CVTDBSUC, database _MHELP$DKA300:[MULTIHELP]MULTIHELP_fH ARCHIVE.RDB;1 successfully converted from version V4.2 to V5.13 %RMU-I-CVTCOMSUC, CONVERT committed for _ia͓.$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/"A A-7r   Sample InstallationSI MHELP$DKA300:[MULTIHELP]MULTIHELP_ARCHIVE.RDB;1 to version V5.1 7 %MULTIHELP-I-DBBUILT, Database build complete 8 %MULTIHELP-I-LINKING, Linking MultiHelp images= -MULTIHELP-I-LINKING, Ignore any DATMISMCH messages_- %MULTIHELP-I-LINKING, Link completet2 %MULTIHELP-I-HTML, Creating MHML library %VMSINSTAL- A I-SYSDIR, This product creates system disk directory _ ( MHELP$DKA300:[MULTIHELP.MHML].@ %VMSINSTAL-I-RESTORE, Restoring product save set I ...6 %MULTIHELP-I-HELPLIB, Providing on-line help5 %MULTIHELP-I-HELPLIB, On-line help providediO This installation places a DCL procedure in SYS$UPDATE: that will H De-Install MultiHelp - SYS$UPDATE:MultiHelp$DEINSTALL.COM. %MULTIHELP-I- A EXAMPLES, Providing example files to MultiHelp$EXAMPLESaT This procedure supplies the sources for the QuickLog Application. The: application runs on the following platforms:8 UNIX, Ultrix, OpenVMS VAX, OpenVMS AXPV The application is automatically built on the installation node/cluster.S Instructions for building, customizing, and executing the application_V on other platforms are included in the Release Notes and the sources for the application.% The files provided are:.? SYS$SYSROOT:[SYSHLP.EXAMPLES.MultiHelp]QLog.CuA SYS$SYSROOT:[SYSHLP.EXAMPLES.MultiHelp]QLog.UILeA SYS$SYSROOT:[SYSHLP.EXAMPLES.MultiHelp]QLog.DatL %VMSINSTAL-I-oH ACCOUNT, This installation creates an ACCOUNT named MULTIHELP.7 %UAF-I-ADDMSG, user record successfully added ` %UAF-I-RDBADDMSGU, identifier MULTIHELP value [000220,000220] added to rights database %VMSINSTAL-I- A-8w  dA Sample InstallationgH ACCOUNT, This installation updates an ACCOUNT named MULTIHELP.0 %UAF-I-MDFYMSG, user record(s) updated %VMSINSTAL-I-DH ACCOUNT, This installation updates an ACCOUNT named MULTIHELP.0 %UAF-I-MDFYMSG, user record(s) updated %VMSINSTAL-I- K MOVEFILES, Files will now be moved to their target directories... F %MULTIHELP-I-POSTINSTALL, Performing post-installation tasksG %MULTIHELP-I-INSTALL, Installing new version of DCLTABLES.EXEd %MULTIHELP-I-F STARTUP, This procedure adds MultiHelp$STARTUP.COM to SYSMAN> %MULTIHELP-I-IGNORE, Ignore any STRTUPNOREM messagesF %VMSINSTAL-I-STRTUPNOREM, File not found in startup database3 -VMSINSTAL-I-STRTUPNOREM, REMOVE not done ? %MULTIHELP-I-SETPROT, Setting protections on DB files? %MULTIHELP-I-STARTUP, Executing MultiHelp$STARTUP.COMr3 -MULTIHELP-I-STARTUP, P1 = _MHELP$DKA300:i( -MULTIHELP-I-STARTUP, P2 = SIO< %MULTIHELP-I-LICENSE_ADD, Adding MultiHelp licenseH MultiHelp[R] Version Y020, SIO Technologies Corp., 1993-1995 K %MULTIHELP-I-DBATTACH, attaching to database -- one moment pleasew7 %MULTIHELP-E-LICENSE_MISSING, no such licenseaR Welcome to the fully functional command line interface to MultiHelp.S There are many more features available to improve the capabilities ofpR your HelpDesk for licensed users. For more information, please type+ HELP SIO at the prompt below.t? %MULTIHELP-I-LICENSE_ADDED, license succesfully addedcE %MULTIHELP-I-POSTCOMPLETE, Post-installation phase completei. ************************************. Beginning execution of MultiHelp IVP. ************************************' Testing existance of Logicals:( Testing Command Line InterfaceH MultiHelp[R] Version Y020, SIO Technologies Corp., 1993-1995 K %MULTIHELP-I-DBATTACH, attaching to database -- one moment pleaseMA A-9f . ( Sample Installation 8 System Parameters0 System Status: Up1 REQUEST access via EMail: YesI1 SOLUTION access via EMail: Yes K P Review Solution Bulletin Report AdmindX W User Id Access Access Access Access Priv CustomerA SIO OWN Q-- -- --s NoAdminnL SYSTEM ALL QAM VM GS *ADMIN*K MultiHelp[R] -+-+-+-+-+- List of Requests for Service -+-+-+-+-+-y( Testing EMAIL-Server interface3 New mail on node MHELP from MHELP::SYSTEM2 New mail on node MHELP from SIO%COMMANDS3 New mail on node MHELP from MHELP::SYSTEM / New mail on node MHELP from MULTIHELP 2 ****************************************2 IVP for MultiHelp completed successfully2 Check your returned mail to verify that2 the EMAIL-Server responded appropriately2 ****************************************< Installation of MULTIHELP V2.0 completed at 10:47H Adding history entry in VMI$ROOT:[SYSUPD]VMSINSTAL.HISTORYQ Creating installation data file: VMI$ROOT:[SYSUPD]MULTIHELP020.VMI_ DATA, VMSINSTAL procedure done at 10:48 $r A-10 c A _______________________________________________________  B IVP Mail Messagesv $ 9 $ @SYSTEST:MULTIHELP$IVP.COM SYSTEM MANAGER SIOe. ************************************. Beginning execution of MultiHelp IVP. ************************************' Testing existance of Logicalsd( Testing Command Line InterfaceH MultiHelp[R] Version Y020, SIO Technologies Corp., 1993-1995 K %MULTIHELP-I-DBATTACH, attaching to database -- one moment please 8 System Parameters0 System Status: Up1 REQUEST access via EMail: Yess1 SOLUTION access via EMail: YesIK P Review Solution Bulletin Report AdminsX W User Id Access Access Access Access Priv CustomerA SIO OWN Q-- -- --s NoAdmin0L SYSTEM ALL QAM VM GS *ADMIN*K MultiHelp[R] -+-+-+-+-+- List of Requests for Service -+-+-+-+-+-n( Testing EMAIL-Server interface3 New mail on node MHELP from MHELP::SYSTEM 2 New mail on node MHELP from SIO%COMMANDS3 New mail on node MHELP from MHELP::SYSTEMh/ New mail on node MHELP from MULTIHELPhA B-1i e r IVP Mail Messages 2 ****************************************2 IVP for MultiHelp completed successfully2 Check your returned mail to verify that2 the EMAIL-Server responded appropriately2 **************************************** $ mail" You have 4 new messages. MAIL> read/new! #1 19-APR-oC 1995 10:47:34.15 NEWMAIL  From: HELPMT::MAGE To: SIO%COMMANDS CC: MAGE+ Subj: !MultiHelp IVP Command Testo \U SYSTEM \P MANAGER SEVERITY SHOWa PRIORITY SHOW  SYSTEM STATUSr MAIL> next! #2 19-APR- C 1995 10:47:43.43 NEWMAILp From: SIO%COMMANDS To: MAGE CC: E Subj: \! MultiHelp[R] -+-+- EMAIL-Server LogFile Echo -+-+-t> \! ******* MultiHelp[R] received this text: *******C \! MultiHelp/Email="MAGE"/UserId=SYSTEM/Password=MANAGERhF \! MultiHelp[R] Version Y020, SIO Technologies Corp.,bT$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/n" 1993- 1995 = \! %MULTIHELP-I-DBATTACH, attaching to database --y B-2u  A IVP Mail Messagesf one moment pleasew \!) \! !MultiHelp IVP Command Testt \! SEVERITY SHOWh \!6 \! Default EscalationC \! Name Value Due Date Delta Descriptiono \!S \! HIGH 75 000:04:00 000:00:30 Critical Impact to CustomereS \! MED 50 001:00:00 000:02:00 Moderate Impact to Customer N \! LOW 25 007:00:00 001:00:00 Low Impact to Customer \! \! PRIORITY SHOW \!0 \! Name Value Description \!2 \! P1 90 High Priority5 \! P2 70 Level 2 Priorityo5 \! P3 50 Level 3 Priorityr5 \! P4 30 Level 4 PriorityU1 \! P5 10 Low Priority \! \! SYSTEM STATUS \!< \! System Parameters \!4 \! System Status: Up5 \! REQUEST access via EMail: Yesv5 \! SOLUTION access via EMail: Yesa \! MAIL> next! #3 19-APR- C 1995 10:47:43.85 NEWMAILs From: HELPMT::MAGE To: SIO%REQUESTS CC: MAGE* Subj: MultiHelp IVP Problem Test \U SYSTEM \P MANAGER' Testing the Problem interfacenA B-3L r  IVP Mail Messages  MAIL> next! #4 19-APR-tC 1995 10:48:27.68 NEWMAILo From: MULTIHELP  To: MAGE CC:r; Subj: \I SIO19950419.1 MultiHelp IVP Problem Test A \! MultiHelp[R] -+-+- Service Request Id: SIO19950419.1nE \* Your message has been entered into the MultiHelp system. Z \* REPLY to this message to add another Work Report to this Request for Service.X \* FORWARD this message to your LOOKUPS destination for more detail about thisT \* Request for Service. Forward this message to your SOLUTIONS destinationY \* in order to have the text of any solution titles appearing after the RequestIN \* returned to you. Delete any titles that you do not want returned.D SIO19950419.1 ! Logged: <1995-04-19:10:47> Due: <1995-04- 26:10:47>:F Class: <> Severity: Priority: Status: / Subject: s MAIL> exit $T B-4  e A _______________________________________________________n C Sample DeInstallationo/ $ @SYS$UPDATE:MULTIHELP$DEINSTALL.COM F ************************************************************: MultiHelp De-Installation ProcedureB Are you sure that you want to DeInstall MultiHelp [N]: Y& Removing MultiHelp Images...3 Removing SYS$SYSTEM:MULTIHELP$MAIN.EXE...h3 Removing SYS$SYSTEM:MULTIHELP$DWUI.EXE...= Removing DECW$SYSTEM_DEFAULTS:MULTIHELP$DWUI.UID... 3 Removing SYS$SHARE:MHMAIL$REQUESTS.EXE...e3 Removing SYS$SHARE:MHMAIL$COMMANDS.EXE.... Removing SYS$SHARE:MHMAIL$GUI.EXE...2 Removing SYS$SHARE:MHMAIL$LOOKUPS.EXE...4 Removing SYS$SHARE:MHMAIL$SOLUTIONS.EXE...4 Removing SYS$SHARE:MULTIHELP$TABLES.EXE...4 Removing SYS$SHARE:MULTIHELP$SHAREP.EXE...7 Removing SYS$SHARE:MULTIHELP$MULTIHELP.EXE...t3 Removing SYS$SHARE:MULTIHELP$SHARE.EXE...Y5 Removing SYS$SYSTEM:MULTIHELP$RPCSRV.EXE...t4 Removing SYS$SHARE:MULTIHELP$RPCSHR.EXE...> Removing SYS$SHARE:MULTIHELP$FAX_INSTRUCTIONS.EXE...? Removing SYS$SHARE:MULTIHELP$MAIL_INSTRUCTIONS.EXE...c@ Removing SYS$SHARE:MULTIHELP$PHONE_INSTRUCTIONS.EXE...@ Removing SYS$SHARE:MULTIHELP$PAGER_INSTRUCTIONS.EXE...A Removing SYS$SHARE:MULTIHELP$XPOPUP_INSTRUCTIONS.EXE...vB Removing SYS$SHARE:MULTIHELP$GENERIC_INSTRUCTIONS.EXE...8 Removing SYS$MESSAGE:MULTIHELP$MESSAGES.EXE...) Removing SYS$SYSTEM:QLOG.EXE...t3 Removing DECW$SYSTEM_DEFAULTS:QLOG.UID... : Removing SYS$SYSTEM:MULTIHELP$ESCALATIONS.EXE...1 Removing SYS$HELP:MULTIHELP$MAIN.UIL....8 Removing DECW$SYSTEM_DEFAULTS:MULTIHELP.DAT...A C-1P i b Sample DeInstallationI6 Removing SYS$STARTUP:MULTIHELP$BACKUP.COM...4 Removing SYS$SYSTEM:MULTIHELP$HTTPD.EXE...< Removing SYS$STARTUP:MULTIHELP$HTTPD_DETACH.COM...9 Removing SYS$STARTUP:MULTIHELP$HTTPD_RUN.COM...E< Removing SYS$STARTUP:MULTIHELP$HTTPD_SUBMIT.COM.... Removing MultiHelp Help Libraries...1 Removing SYS$HELP:MULTIHELP$MAIN.HLB...1 Removing SYS$HELP:MULTIHELP$DWUI.HLB...  Removing IVP...0 Removing SYS$TEST:MULTIHELP$IVP.COM...# Removing Example Files...LA Removing SYS$SYSROOT:[SYSHLP.EXAMPLES]MULTIHELP.DIR;...C Removing Release Notes and Documentation from Sys$Help...  Removing DCL verb...( Removing Startup Procedures...7 Removing SYS$STARTUP:MULTIHELP$STARTUP.COM...t9 Removing SYS$STARTUP:MULTIHELP$SYSTARTUP.COM...E> Removing SYS$STARTUP:MULTIHELP$SYSTARTUP.TEMPLATE...6 Removing SYS$STARTUP:MHMAIL$SYSTARTUP.COM...' Removing MultiHelp Account...t@ Stopping Escalation server...SIO$ESCALATION (2020D35B)O ********************************************************************* N Removing the Database files deletes all data stored in them forever.. This includes all MHML files in sub-* directories under MultiHelp$DIR:@ Do you want the database files removed as well? [N]: YO *********************************************************************6 Removing Database Files and the directory... $ C-2d b A _______________________________________________________c! D Installation StatisticsT& Initial Free Blocks: 317226& Minimum Free Blocks: 208968& Maximum Free Blocks: 317226& Final Free Blocks: 2360319 Peak Utilization: 108258 (Initial-Minimum)r7 Net Utilization: 81195 (Initial-Final)0 FILES ADDEDBB HELPMT$DKA300:[MULTIHELP]HASH_INDICES.RDA;1 196B HELPMT$DKA300:[MULTIHELP]HASH_INDICES.SNP;1 202= HELPMT$DKA300:[MULTIHELP]HASH_INDICES_ARCHIVE.RDA;1SB 68= HELPMT$DKA300:[MULTIHELP]HASH_INDICES_ARCHIVE.SNP;1 B 22B HELPMT$DKA300:[MULTIHELP]HELPMATE.DIR;1 1B HELPMT$DKA300:[MULTIHELP]MHMAIL$SERVER.LOG;2 10B HELPMT$DKA300:[MULTIHELP]MHMAIL$SERVER.LOG;1 14B HELPMT$DKA300:[MULTIHELP]MHML.DIR;1 4B HELPMT$DKA300:[MULTIHELP]MH_ARCHIVE.RBF;1 2583: HELPMT$DKA300:[MULTIHELP]MULTIHELP$CAPTIVE.COM;1C HELPMT$DKA300:[MULTIHELP]MULTIHELP$LABOR_ACCOUNTING.RDA;1IB 132C HELPMT$DKA300:[MULTIHELP]MULTIHELP$LABOR_ACCOUNTING.SNP;1HB 22K HELPMT$DKA300:[MULTIHELP]MULTIHELP$LABOR_ACCOUNTING_ARCHIVE.RDA;1B 68K HELPMT$DKA300:[MULTIHELP]MULTIHELP$LABOR_ACCOUNTING_ARCHIVE.SNP;1IB 4; HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS.RDA;1 B 516; HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS.SNP;1icp{$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/"A D-1h o e! Installation Statistics B 42C HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS_ARCHIVE.RDA;1oB 516C HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS_ARCHIVE.SNP;1lB 6> HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS_PS.RDA;1B 336> HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS_PS.SNP;1B 88F HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS_PS_ARCHIVE.RDA;1B 80F HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS_PS_ARCHIVE.SNP;1B 16> HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS_WR.RDA;1B 1952> HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS_WR.SNP;1B 816F HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS_WR_ARCHIVE.RDA;1B 224F HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEMS_WR_ARCHIVE.SNP;1B 96@ HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEM_QUEUE.RDA;1B 324@ HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEM_QUEUE.SNP;1B 22H HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEM_QUEUE_ARCHIVE.RDA;1B 68H HELPMT$DKA300:[MULTIHELP]MULTIHELP$PROBLEM_QUEUE_ARCHIVE.SNP;1B 4< HELPMT$DKA300:[MULTIHELP]MULTIHELP$SOLUTIONS.RDA;1B 1860< HELPMT$DKA300:[MULTIHELP]MULTIHELP$SOLUTIONS.SNP;1B 102D HELPMT$DKA300:[MULTIHELP]MULTIHELP$SOLUTIONS_ARCHIVE.RDA;1B 2116D HELPMT$DKA300:[MULTIHELP]MULTIHELP$SOLUTIONS_ARCHIVE.SNP;1D HELPMT$DKA300:[MULTIHELP]MULTIHELP$SOLUTION_ARTICLES.RDA;1B 3264D HELPMT$DKA300:[MULTIHELP]MULTIHELP$SOLUTION_ARTICLES.SNP;1B 352 D-2M I PA Installation Statistics*? HELPMT$DKA300:[MULTIHELP]MULTIHELP$SOLUTION_ARTICLES_P ARCHIVE.RDA;1*B 384? HELPMT$DKA300:[MULTIHELP]MULTIHELP$SOLUTION_ARTICLES_] ARCHIVE.SNP;1lB 64B HELPMT$DKA300:[MULTIHELP]MULTIHELP.RDA;1 23050B HELPMT$DKA300:[MULTIHELP]MULTIHELP.RDB;1 150B HELPMT$DKA300:[MULTIHELP]MULTIHELP.SNP;1 4842: HELPMT$DKA300:[MULTIHELP]MULTIHELP_ARCHIVE.RDA;1B 17608: HELPMT$DKA300:[MULTIHELP]MULTIHELP_ARCHIVE.RDB;1B 150: HELPMT$DKA300:[MULTIHELP]MULTIHELP_ARCHIVE.SNP;1B 836B HELPMT$DKA300:[MULTIHELP]SIO$HTTPD_DETACH.LOG;1 9B HELPMT$DKA300:[MULTIHELP]SIO$HTTPD_RUN.LOG;1 9B HELPMT$DKA300:[MULTIHELP]SIO$HTTPD_TRANS.LOG;1 0B HELPMT$DKA300:[MULTIHELP.MHML]CLASS.COM;1 2? HELPMT$DKA300:[MULTIHELP.MHML]CURRENT_PROBLEMS.HTML;1fB 2@ HELPMT$DKA300:[MULTIHELP.MHML]EXAMPLE_FUNCTIONS.HTML;1B 4; HELPMT$DKA300:[MULTIHELP.MHML]EXAMPLE_MAIN.HTML;1 B 3B HELPMT$DKA300:[MULTIHELP.MHML]EXTRACT_FULL_OUTPUT.HTML;1B 6= HELPMT$DKA300:[MULTIHELP.MHML]EXTRACT_SIMPLE.HTML;1 D HELPMT$DKA300:[MULTIHELP.MHML]EXTRACT_SIMPLE_OUTPUT.HTML;1B 2G HELPMT$DKA300:[MULTIHELP.MHML]EXTRACT_SIMPLE_WR_OUTPUT.HTML;1 B 2@ HELPMT$DKA300:[MULTIHELP.MHML]HOW_TO_CONTACT_SIO.GIF;1B 2B HELPMT$DKA300:[MULTIHELP.MHML]LOOKUP2.HTML;1 1: HELPMT$DKA300:[MULTIHELP.MHML]LOOKUP_FULL.HTML;1B 5A HELPMT$DKA300:[MULTIHELP.MHML]LOOKUP_FULL_OUTPUT.HTML;1,B 5< HELPMT$DKA300:[MULTIHELP.MHML]LOOKUP_MEDIUM.HTML;1A D-3   ! Installation StatisticslB 2< HELPMT$DKA300:[MULTIHELP.MHML]LOOKUP_SIMPLE.HTML;1C HELPMT$DKA300:[MULTIHELP.MHML]LOOKUP_SIMPLE_OUTPUT.HTML;1 B HELPMT$DKA300:[MULTIHELP.MHML]MHML.HTML;1 16B HELPMT$DKA300:[MULTIHELP.MHML]MHSERVER.HTML;1 13B HELPMT$DKA300:[MULTIHELP.MHML]ONE_LOGO.GIF;1 1< HELPMT$DKA300:[MULTIHELP.MHML]ONE_LOGO_SMALL.GIF;1B HELPMT$DKA300:[MULTIHELP.MHML]QUERY_FULL.HTML;1 5@ HELPMT$DKA300:[MULTIHELP.MHML]QUERY_FULL_OUTPUT.HTML;1B HELPMT$DKA300:[MULTIHELP.MHML]REQUEST_ACKNOWLEDGE.HTML;1; HELPMT$DKA300:[MULTIHELP.MHML]REQUEST_FULL.HTML;1 B HELPMT$DKA300:[MULTIHELP.MHML]REQUEST_FULL_OUTPUT.HTML;1B 1D HELPMT$DKA300:[MULTIHELP.MHML]REQUEST_UPDATE_SIMPLE.HTML;1B HELPMT$DKA300:[MULTIHELP.MHML]SEVERITY.COM;1 2B HELPMT$DKA300:[MULTIHELP.MHML]SIO_LOGO.GIF;1 3B HELPMT$DKA300:[MULTIHELP.MHML]SIO_LOOKUP.HTML;1 6G HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_EXTRACT_LIST.HTML;1 B 4@ HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_LOGON.HTML;1B 3A HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_LOOKUP.HTML;1 B 5? HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_MAIN.HTML;1.@ HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_QUERY.HTML;1B 5I HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_QUERY_ADVANCED.HTML;1uB 8B HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_REQUEST.HTML;1B 5< HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_REQUEST_ D-4  A Installation Statistics ACKNOWLEDGEMENT.HTML;1B 2G HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_REQUEST_LIST.HTML;1B 3I HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_REQUEST_UPDATE.HTML;1tB 3C HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_SOLUTION.HTML;1 K HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_SOLUTION_COMMENT.HTML;1 B 2H HELPMT$DKA300:[MULTIHELP.MHML]SIO_SUPPORT_SOLUTION_LIST.HTML;1B 3< HELPMT$DKA300:[MULTIHELP.MHML]SOLUTION_FULL.HTML;1d*_$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/S"C HELPMT$DKA300:[MULTIHELP.MHML]SOLUTION_FULL_OUTPUT.HTML;1 B 3; HELPMT$DKA300:[MULTIHELP.MHML]SOLVE_IT_ONCE.GIF;1SB 1B HELPMT$DKA300:[MULTIHELP.MHML]TEXT_AREA.HTML;1 1B HELPMT$DKA300:[MULTIHELP.MHML]WELCOME.HTML;1 2A HELPMT$DKA300:[RDM$RUJ]MULTIHELP$0098F2E56E87F890.RUJ;1B 102A HELPMT$DKA300:[RDM$RUJ]MULTIHELP$0098F2E573C169E0.RUJ;1 B 102O HELPMT$DKA300:[SYS0.SYSCOMMON.DECW$DEFAULTS.USER]MULTIHELP$DWUI.UID;1 B 736J HELPMT$DKA300:[SYS0.SYSCOMMON.DECW$DEFAULTS.USER]MULTIHELP.DAT;1B 35E HELPMT$DKA300:[SYS0.SYSCOMMON.DECW$DEFAULTS.USER]QLOG.DAT;2 E HELPMT$DKA300:[SYS0.SYSCOMMON.DECW$DEFAULTS.USER]QLOG.UID;1 B 72J HELPMT$DKA300:[SYS0.SYSCOMMON.SYS$STARTUP]MHMAIL$SYSTARTUP.COM;1B 1J HELPMT$DKA300:[SYS0.SYSCOMMON.SYS$STARTUP]MULTIHELP$BACKUP.COM;1B 18D HELPMT$DKA300:[SYS0.SYSCOMMON.SYS$STARTUP]MULTIHELP$HTTPD_ DETACH.COM;1B 1D HELPMT$DKA300:[SYS0.SYSCOMMON.SYS$STARTUP]MULTIHELP$HTTPD_ RUN.COM;11B 2D HELPMT$DKA300:[SYS0.SYSCOMMON.SYS$STARTUP]MULTIHELP$HTTPD_A D-5A  t! Installation Statistics SUBMIT.COM;1B 1K HELPMT$DKA300:[SYS0.SYSCOMMON.SYS$STARTUP]MULTIHELP$STARTUP.COM;1TM HELPMT$DKA300:[SYS0.SYSCOMMON.SYS$STARTUP]MULTIHELP$SYSTARTUP.COM;1*B 19R HELPMT$DKA300:[SYS0.SYSCOMMON.SYS$STARTUP]MULTIHELP$SYSTARTUP.TEMPLATE;1B 19C HELPMT$DKA300:[SYS0.SYSCOMMON.SYSEXE]MULTIHELP$DWUI.EXE;1IB 794J HELPMT$DKA300:[SYS0.SYSCOMMON.SYSEXE]MULTIHELP$ESCALATIONS.EXE;1B 9D HELPMT$DKA300:[SYS0.SYSCOMMON.SYSEXE]MULTIHELP$HTTPD.EXE;1B 70C HELPMT$DKA300:[SYS0.SYSCOMMON.SYSEXE]MULTIHELP$MAIN.EXE;1MB 118E HELPMT$DKA300:[SYS0.SYSCOMMON.SYSEXE]MULTIHELP$RPCSRV.EXE;1 B 258B HELPMT$DKA300:[SYS0.SYSCOMMON.SYSEXE]QLOG.EXE;1 69F HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$ADMIN_GD.PS;1B 5428G HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$ADMIN_GD.TXT;1SB 803F HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$CMND_REF.PS;1B 1540G HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$CMND_REF.TXT;1YB 774C HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$DWUI.HLB;1.B 400E HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$HDSR_UG.PS;1B 9840F HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$HDSR_UG.TXT;1B 1255C HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$MAIN.HLB;1B 501C HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$MAIN.UIL;1:B 8H HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$QUICKSTART.PS;1B 3853I HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$QUICKSTART.TXT;1eB 192 D-6  o gA Installation StatisticsPK HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$RELEASE_NOTES.PS;1gB 393A HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP$RELEASE_u NOTES.TXT;1iB 203K HELPMT$DKA300:[SYS0.SYSCOMMON.SYSHLP]MULTIHELP020.RELEASE_NOTES;1oB 203@ HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]DCLTABLES.EXE;281I HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]DCLTABLES.EXE_BEFORE_MH;40 B 765D HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MHMAIL$COMMANDS.EXE;1B 107? HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MHMAIL$GUI.EXE;1_B 107C HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MHMAIL$LOOKUPS.EXE;1kB 133D HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MHMAIL$REQUESTS.EXE;1B 266E HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MHMAIL$SOLUTIONS.EXE;1SB 126= HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$FAX_P INSTRUCTIONS.EXE;1B 18A HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$GENERIC_  INSTRUCTIONS.EXE;1> HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$MAIL_ INSTRUCTIONS.EXE;1B 21H HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$MULTIHELP.EXE;1B 1992? HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$PAGER_5 INSTRUCTIONS.EXE;1B 19? HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$PHONE_ A D-7E L R! Installation Statistics  INSTRUCTIONS.EXE;1B 10E HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$RPCSHR.EXE;1 B 1021D HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$SHARE.EXE;1B 2953E HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$SHAREP.EXE;1 B 16E HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$TABLES.EXE;1-@ HELPMT$DKA300:[SYS0.SYSCOMMON.SYSLIB]MULTIHELP$XPOPUP_ INSTRUCTIONS.EXE;1B 10G HELPMT$DKA300:[SYS0.SYSCOMMON.SYSMSG]MULTIHELP$MESSAGES.EXE;1 B 28C HELPMT$DKA300:[SYS0.SYSCOMMON.SYSTEST]MULTIHELP$IVP.COM;1 I HELPMT$DKA300:[SYS0.SYSCOMMON.SYSUPD]MULTIHELP$DEINSTALL.COM;13PB 16A HELPMT$DKA300:[SYS0.SYSCOMMON.SYSUPD]MULTIHELP020.ANL;2LB 2G HELPMT$DKA300:[SYS0.SYSCOMMON.SYSUPD]MULTIHELP020.VMI_DATA;24CB 2H HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]CHANGE_BAR.TPU;1B 3K HELPej$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/b" MT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]FIRST_SOLUTION.MH;1 B 2F HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MHREQGUI.COM;1B 4F HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MH_VIEWS.SQL;1B 84F HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MULTIHELP$FAX_ INSTRUCTIONS.C;1B 19J HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MULTIHELP$GENERIC_ INSTRUCTIONS.C;1G HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MULTIHELP$MAIL_  INSTRUCTIONS.C;1B 40N HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MULTIHELP$MESSAGES.H;1B 277O HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MULTIHELP$NOTIFICATION_ D-8  P DA Installation Statistics  INSTRUCTIONS.H;1B 30H HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MULTIHELP$PAGER_ INSTRUCTIONS.C;1B 24H HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MULTIHELP$PHONE_ INSTRUCTIONS.C;1B 7O HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MULTIHELP$PROFILE.COM;1EB 12I HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MULTIHELP$XPOPUP_ INSTRUCTIONS.C;1B 7G HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]MULTIHELP.LSE;1HB 17@ HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]QLOG.C;1B 101B HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]QLOG.DAT;1B 5B HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]QLOG.UIL;1B 72E HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]QS_CLASS.MH;1 I HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]REQUESTS_ADD.MH;1IC HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]RPT_PRB_WR_  LABOR.SQL;1TB 8J HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]SOLUTIONS_ADD.MH;1B 7= HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]TEXT_L PAGING.EXAMPLE;1B 78> HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]TPAGE_ SUBSYSTEM.EXAMPLE;1 B 151C HELPMT$DKA300:[SYS0.SYSHLP.EXAMPLES.MULTIHELP]XSUPPORT.;1 B 5> HELPMT$DKA300:[SYS0.SYSUPD]MULTIHELP$DEINSTALL.COM;1B 14A D-9   A _______________________________________________________P& E In-Depth Resource Statistics% ___________________________ ) E.0.1 MultiHelp Resource Requirements 7 This sections gives resource requirements andR= recommended UAF settings for use with MultiHelp. It ? is broken down into two segments, one for the OpenVMSE< AXP platform and one for the OpenVMS VAX platform.& _____________________4 E.0.1.1 OpenVMS AXP Resources Data= The statistics found in Table E-1, provide in-depthL@ resource utilization statistics gathered on an OpenVMS AXP system.EA Table_E-1__OpenVMS_AXP_In-Depth_Resource_Consumption___ @ EmailA GUI CLI Server A Statistic___________________Usage______Usage_____Usage_ @ Virtual size of process 4154 3650 71770C pageletsI5 NULL pages 1207 1202:4 Non-NULL P1 pages 181 1814 GPTX pages 641 8153 STX pages 49 38R5 Readonly pages 1628 1561M4 Writeable pages 1319 8874 Heap pages 701 3515 Peak working set 1666 1230 2 PGFIL pages 6 5A _______________________________________________________.: All values are in pages unless otherwise stated.A E-1. L & In-Depth Resource Statistics: Table E-1 (Cont.) OpenVMS AXP In-Depth ResourceA ___________________Consumption_________________________E@ EmailA GUI CLI Server_A Statistic___________________Usage______Usage_____Usage__4 TRANS pages 344 1824 VALID modified pages 826 6404 Typical modified pages 1176 8274 VALID clean pages 824 584? Typical page usage 2000 1411 1637K= Pagefile usage <= 96 <= 80 <= > blocks blocks 128A blocksRA _______________________________________________________ A Resource_Demands_______________________________________U? Global memory 690 853 1003 ? Process pages (typical, 2000 1411 1637_ per user)1> Memory usage (typical, 1176 827 968 per user)T@ CPU (typical, per 2.847 1.377 5.845? transaction) seconds seconds sec- ? ondsT? I/O (typical, per 1044 444 I/Os 1353 A transcation)________________I/Os_________________I/Os___< The data found in Table E-2, gives recommended UAF6 settings for MultiHelp users on OpenVMS AXP. E-2E M tA In-Depth Resource Statistics ; Table E-2 Recommended UAF and SYSGEN settings on A ___________OpenVMS_AXP_________________________________MA Quota_______________________GUI________CLI_______Email_ 6 VIRTUALPAGECNT 66464 58400@ PGFLQUOTA 21104 14192 81920? ENQLM 5000 5000 5000N? TQELM 1000 1000 1000_= BIOLM 50 50 50 = DIOLM 50 50 50TB BYTLM 1000000 1000000 1000000= FILLM 50 50 50L? ASTLM 1000 1000 10001A _______________________________________________________F? No pagefaults occur and no pagefile usage is required 9 (on a properly tuned system) when the following9A settings_are_observed._________________________________ 9 WSMAX >= 32000 >= 22576.A WSEXTENT >= 32000 >= 22576 24576* A _______________________________________________________.7 If these values are too high for a particular = installation, then they can be reduced. If they are @ reduced drastically, then the fof2-$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/jllowing typical demand< can be expected on the pagefile (or modified page-A list)_per_user.________________________________________ A _______________________________________________________S= Are values are in pagelets unless otherwise stated. 9 (*) The /WSEXTENT value for the EMAIL-Server is$? arbitrary, because the code is a single path. No page ? is re-used more than a few times. This recommentationY? is based upon the fact that the MULTIHELP account can ; also be used interactively for access to the CLI.1A E-3_  & In-Depth Resource Statistics@ Table E-2 (Cont.) Recommended UAF and SYSGEN settingsA ___________________on_OpenVMS_AXP______________________ A Quota_______________________GUI________CLI_______Email_n7 If these values are too high for a particular = installation, then they can be reduced. If they are @ reduced drastically, then the following typical demand< can be expected on the pagefile (or modified page-A list)_per_user.________________________________________ = Maximum typical pagefile <= 18816 <= 13232 <=$@ usage blocks blocks 14928A _________________________________________________blocksS8 TUNING NOTE: Higher working sets will give the? appearnce of better graphical performance at the costP of less users per CPU.7 The contents of Table E-3 indicate the Global ; Pages/Sections usage for the images that compriseS# MultiHelp on OpenVMS AXP.EA Table_E-3__Global_Pages/Sections_Usage_________________ A Image_Name______________________GBLPAGES_GBLSECTIONS___;4 SYS$SYSTEM:MULTIHELP$MAIN.EXE 918 24 SYS$SYSTEM:MULTIHELP$DWUI.EXE 1272 24 SYS$SYSTEM:MULTIHELP$ESCALATIONS323E 24 SYS$SHARE:MULTIHELP$SHARE.EXE 1658 24 SYS$SHARE:MULTIHELP$SHAREP.EXE 5 14 SYS$SHARE:MULTIHELP$TABLES.EXE 2 14 SYS$SHARE:MHMAIL$COMMANDS.EXE 125 34 SYS$SHARE:MHMAIL$GUI.EXE 125 34 SYS$SHARE:MHMAIL$LOOKUPS.EXE 130 34 SYS$SHARE:MHMAIL$REQUESTS.EXE 130 34 SYS$SHARE:MHMAIL$SOLUTIONS.EXE 129 3 E-4  A In-Depth Resource StatisticsEA Table_E-3_(Cont.)__Global_Pages/Sections_Usage_________ A Image_Name______________________GBLPAGES_GBLSECTIONS___DA _______________________________________________________ A TOTAL:__________________________4817_____25____________A& _____________________4 E.0.1.2 OpenVMS VAX Resources Data= The statistics found in Table E-4, provide in-depth.@ resource utilization statistics gathered on an OpenVMS VAX system. A Table_E-4__OpenVMS_VAX_In-Depth_Resource_Consumption___I@ EmailA GUI CLI ServerMA Statistic___________________Usage______Usage_____Usage_ @ Virtual size of process 30875 23279 27270C pagelets 4 NULL pages 142 1425 Non-NULL P1 pages 2408 2408 5 GPTX pages 7452 8479 5 STX pages 1377 1108 6 Readonly pages 12251 111956 Writeable pages 18482 120845 Heap pages 11222 6003 5 Peak working set 14432 8437C3 PGFIL pages 31 35i5 TRANS pages 2439 1240 5 VALID modified pages 9307 5427Y5 Typical modified pages 11777 6702 5 VALID clean pages 5046 3025 A _______________________________________________________P: All values are in pages unless otherwise stated.A E-5  & In-Depth Resource Statistics: Table E-4 (Cont.) OpenVMS VAX In-Depth ResourceA ___________________Consumption_________________________I@ EmailA GUI CLI Server$A Statistic___________________Usage______Usage_____Usage_ @ Typical page usage 16823 9727 10343@ Pagefile usage <= 31 <= 35 <= 39A blocks blocks blocksMA _______________________________________________________ A Resource_Demands_______________________________________B@ Global memory 8829 9587 11434@ Process pages (typical, 16823 9727 10343 per user).? Memory usage (typical, 11777 6702 7034  per user).@ CPU (typical, per 14.61 4.259 28.91? transaction) seconds seconds sec-? ondsP? I/O (typical, per 1122 369 I/Os 1990 A transcation)________________I/Os_________________I/Os__P< The data found in Table E-5, gives recommended UAF6 settings for MultiHelp users on OpenVMS VAX.; Table E-5 Recommended UAF and SYSGEN settings onA ___________OpenVMS_VAX_________________________________A Quota_______________________GUI________CLI_______Email_N6 VIRTUALPAGECNT 30875 23279A _______________________________________________________Y= Are values are in pagelets unless otherwise stated. 9 (*) The /WSEXTENT value for the EMAIL-Server isS? arbitrary, because the code is a single path. No page ? is re-used more than a few times. This recommentation0? is based upon the fact that the MULTIHELP account can ; also be used interactively for access to the CLI. E-6S Y MA In-Depth Resource StatisticsM@ Table E-5 (Cont.) Recommended UAF and SYSGEN settingsA ___________________on_OpenVMS_VAX______________________TA Quota_______________________GUI________CLI_______Email_ @ PGFLQUOTA 18482 12084 81920? ENQLM 5000 5000 5000 ? TQELM 1000 1000 1000 = BIOLM 50 50 50= DIOLM 50 50 50LB BYTLM 1000000 1000000 1000000= FILLM 50 50 50A? ASTLM 1000 1000 1000 A _______________________________________________________E? No pagefaults occur and no pagefile usage is required 9 (on a properly tuned system) when the following.A settings_are_observed._________________________________ 8 WSMAX >= 16823 >= 9727A WSEXTENT >= 16823 >= 9727 24576* A _______________________________________________________S7 If these values are too high for a particular = installation, then they can be reduced. If they are @ reduced drastically, then the following typical demand< can be expected on the pagefile (or modified page-A list)_per_user.________________________________________E= Maximum typical pagefile <= 11777 <= 6702 <=@ usage blocks blocks 19638A _________________________________________________blocks 8 TUNING NOTE: Higher working sets will give the? appearnce of better graphical performance at the cost of less users per CPU.A gռ$MULTIHELP020.A [A]MULTIHELP020.RELEASE_NOTES;1}?/- E-7. T L& In-Depth Resource Statistics7 The contents of Table E-6 indicate the Globaln; Pages/Sections usage for the images that comprise # MultiHelp on OpenVMS VAX. A Table_E-6__Global_Pages/Sections_Usage_________________TA Image_Name______________________GBLPAGES_GBLSECTIONS___ 4 SYS$SYSTEM:MULTIHELP$MAIN.EXE 549 34 SYS$SYSTEM:MULTIHELP$DWUI.EXE 742 34 SYS$SYSTEM:MULTIHELP$ESCALATIONS173E 24 SYS$SHARE:MULTIHELP$SHARE.EXE 572 14 SYS$SHARE:MULTIHELP$SHAREP.EXE 5 24 SYS$SHARE:MULTIHELP$TABLES.EXE 2 14 SYS$SHARE:MHMAIL$COMMANDS.EXE 77 24 SYS$SHARE:MHMAIL$GUI.EXE 77 24 SYS$SHARE:MHMAIL$LOOKUPS.EXE 80 24 SYS$SHARE:MHMAIL$REQUESTS.EXE 80 24 SYS$SHARE:MHMAIL$SOLUTIONS.EXE 79 2A _______________________________________________________ A TOTAL:__________________________2436_____22____________ E-8 *[A]NOTIFICATIONS.UIL;1+,.9/ 4K97- 0123KPWO856iwm7cf89GHJ/*** Constant Declarations*/value nlp : 20; nrp : 70; notifyTextOffset : 7;- notifyLabelOffset : notifyTextOffset + 5; notifyPixmap :' icon(color_table = color_table(9 background color = ' ', foreground color = '*')I ,'************************************************************'I ,'************************************************************'I ,'************************************************************'I ,'**** * * * * * * * * * * * * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * *** * * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * ***** * * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * ***** * * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * * * * * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * *** * * * * * * * * * ***'I ,'*** * * * * * * * * * * * *** * * * * * * * ****'I ,'**** * * * * * * * * * * * *** * * *** * * * * * * * * ***'I ,'*** * * * * * * * * * ******* * * * *** * * * * * * * ****'I ,'**** * * * * * * * * * ***** * * * * *** * * * * * * * ***'I ,'*** * * * * * * * * * * * * * * * * * *** * * * * * * ****'I ,'**** * * * * * * * * * * * * * * * * * *** * * * * * * ***'I ,'*** * *** * * * * * ****'I ,'**** *** * * * * * ***'I ,'*** * * * * * * * * * * * * * * * * * * * * * * * * ****'I ,'**** * * * * * * * * * * * * * * * * * * * * * * * * ***'I ,'*** * ************************************** * * *** * ****'I ,'**** * ************************************* * * *** * * ***'I ,'*** * * * * * * * * * * * * * * * * * * * * * *** * * ****'I ,'**** * * * * * * * * * * * * * * * * * * * * *** * * * ***'I ,'*** * * * * * * * * * * * * * * * * * * * * *** * * * ****'I ,'**** * * * * * * * * * * * * * * * * * * * *** * * * * ***'I ,'*** * * * * * * * * * * * * * * * * * * * *** * * * * ****'I ,'**** * * * * * * * * * * * * * * * * * * *** * * * * * ***'I ,'*** * * * * * * * * * * * * * * * * * * *** * * * * * ****'I ,'**** * * * * * * * * * * * * * * * ******* * * * * * * ***'I ,'*** * * * * * * * * * * * * * * * * ******* * * * * * * ****'I ,'**** * * * * * * * * * * * * * * * * * * * * * * * * * * ***'I ,'*** * * * * * * * * * * * * * * * * * * * * * * * * * * ****'I ,'************************************************************'I ,'************************************************************'I ,'************************************************************' );+object notificationsDialog : XmFormDialog { arguments {4 XmNdialogTitle = 'MultiHelp Notification Criteria'; XmNautoUnmanage = false;# XmNdefaultButton = notifyOkButton; }; controls {" XmToggleButton allRequestsToggle; XmFrame nFrame1; XmFrame nFrame2; XmFrame nFrame3;# XmPushButtonGadget notifyOkButton;& XmPushButtonGadget notifyApplyButton;( XmPushButtonGadget notifyDismissButton;& XmPushButtonGadget notifyHelpButton2;! XmLabelGadget notifyHelpText;&! XmSeparatorGadget notificationsSep1; XmFrame notifyHelpFrame; }; callbacks {G XmNhelpCallback = procedure contextHelpCallback(h_notificationDialog); };/}; /* END notificationsDialog : XmFormDialog */+object allRequestsToggle : XmToggleButton { arguments {# XmNuserData = f_allRequestsToggle;! XmNlabelString = 'All Requests';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 3;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 0; XmNleftPosition = 40; }; callbacks {D MrmNcreateCallback = procedure creationCallback(k_notifyAllToggle); };/}; /* END allRequestsToggle : XmToggleButton */object nFrame1 : XmFrame { arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 3;1 XmNtopWidget = XmToggleButton allRequestsToggle;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 3;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 3; }; controls { XmForm { controls { XmLabelGadget frame1Label; XmLabelGadget nSeverityLabel; XmText nSeverityText; XmLabelGadget nPriorityLabel; XmText nPriorityText; XmLabelGadget nStatusLabel; XmText nStatusText; XmLabelGadget nCustomerLabel; XmText nCustomeh<6$MULTIHELP020.A [A]MULTIHELP.HLP;1_?4 T :LL*,1)jF!)6D5o)9Cs/g(h+`}%J?)}I7P E:X0X%>vE_y,z e&jm=-RDP!#!p.gVp/vyg7,D_C ~-, {JlH~{5yk~rB"pn@4.(A(e4r^&d W5]Gws/ {Coyq*j^cpag.9Y.7[Ym!j)M.z;*!@Bw--rYBv Aw+ $VumAy2!P1w@ ?5f(BsXfo3jxYefmrRjbn#9hz3IP^ =A 2rm=|y1 ybv'Je[9.h? kAP ~bT\UPf@@]J14h/a>o )Fq ^_>\_!kU_ 8''b}m|$  w&Y}9jOPm$T(?:E [W3:piz~wjaABGdKB#W ;Tov /%lz ZF*/ )>2Zg JDcu?GV\h-c~q.miG0v@myt jbkq73nQ/bi62uR:/\#gvQ=+eEND$/R=h!U&AUH:l~3dK<>/[$5>u?YSE60&J"r|.f@-guU?olF9F@vn V^h[T+ (?:/A.#rkOf(JOrFg}SAb mxy]oRL<\D'*Dp+avFAMV6:kyzX3zlY\_6YjD4E@QF7%u/ @#j'=),""M>e5Bx?-6[ t4#s%&!E>E[5h~C&V'IK61), y1qHy0*OE^NZ_98`?"u#m A[M|WP.X # 0\{I<_ ZBl@qi$wdAcW>6Y~: 7EW1Abz ( nM?j#tqHNlBj)c&Rzp 4.R ~s6#e,seN)gPU@+V,x&Jz;3|c_g`,>9D.{=cdqJjnhlRk05Y{YvJOm =JRvdlT 5=>o|ZhC&s`Q}w7L>hyE-m]\'R: Wentt6K86gGpJ&J%&ms3a"E6gXC-V eieha*41}yfQS#UKL}}Co {oSmeS~jR*-"poS;6*\4Qu$=fVkP#oUYj*6yO\i: O6 <3 HR_@4euna{%. ui\\:"Q|SR-GuYc^+@*JE @Ks8UfC"~dZutk+wV0Lu|4/"mBA :O0; 4xxY<[ _{u9H=) V,5 S Y K(*2]u ie CmTKkv"/\x(^w;*4S I)h. kZw+];1~ola@t4xp!_{=XJt4j' QTM&?goH /63lL/C )(UZp~ } c|I8YO}vI 6/!L?~f@an{fa+[F-3 6=n N8NBL.Iyu2 2kwJdAF X=X l(mB5g\4z/Cr=*O9Wjl8=$1:+]ijIHX aF4; zs^qxc:y;&1?#a F riUl|3`zCP&t=* 0%83YF3oZ?tk*C+:ptM\  ~Ef=i8GT47UN,$ V P~h?J5\7f2#NP83j+!c+R$; \<"Iqcg"QzG}=d%xQ_cpI*|fjBQ y]Wvh =VDW(f_p wSpqIgg +x` AnPjz'd*e<6\ sI"$3U^jY{k+J.SObNN~+q<~@TF5)l>8}G J )R]@ iO+EFuIH$ x1w A;*JRY(.R3H33{'6a'1v\8.]IYL_! RA1zs="r52;rXDV(;>>1hM]c\96-1,Gk\oH| ' 0=x@|i=3XK3;0_8z G˕%#F"_8}Uq?0TEq1Fb/pHzX Tl SwmIY#{Ov"9?0n=x-"jEYj|*R4dap.t| zDvMq:8U :!*[#&}3UO+/Wc:)v9%;Uxm})LcA}{;4D'nIk*WO>3Jt6daxP < e4/6$;7M,;oY E] Qz4+ S#%W{/--2"nvrE<|evFu1L ~8U# XwZPD7vR9B;X0|:^'$!ECezB%O m$aEdBm15H{EsB,`AmYQ=13?^eG.Dvw|EaVNS1~>3 l$ #XA3H)G Of5E'H|t9WG-EIE!k;l"Rcz&UD^ZO8 M^?I=j_YS6+ pOqp#^2opHev^piT]7%f;[LE<\Wv(5mk(nb \rSTBsekTJHY= {X0[(p9n_mgIm)<pKZ(Aw,Lm%yQS.6|}kd91%Y ~kkbK}\mwRNL &r9,9kc$kcR @[w}d7ON&%guTB~;(fc;-DHn!(h33 Tit}btN0s#H)g @8jH`%h[pXc W0Si(~-Ds ;EV :4_vE>IJ puw{NXDIO'u 9~v"1=T R6 zz$e 1N ~LfmPAFc!8_VX51k3"hF /b g]zpf*Ap/f~S9_X>x>QGfvtrYn {b4yh>l5/ ;|GW*v|t:kI>BTI>7wW\KvZ)PI=9ud'3]^xH}U8!^yOdQK-^$1kf|Za?w'Z 79H}{O3Z@P43HQKiJm$#EfM=.#!U]&>!/F c-y!Z9jb?v!V(M@VM ' F2lZMZl?l5*Zz#dW*N~;77I! JzX,@/sB8\Y$'9{ {V9{Hf ;5A]U@ ?*RIq/$mj Ye8 \;_TAi(/vz?gq< BX($ /^Y# QTP&`+).=rC fqS`eR;a4HonhW t ajl ' ;vhR-ZSta"'w"`DWX[U"dX ]%nvu,EuVt:7#!W# Fd)A $"=P&XPwox{*FZBS(dd3x%B} 'u{_6DT2Ti]'_?V5x6^P(aAW2$BX_~]d> rXG,BAg! J7vF.eXuMU\H@E|7]K}fm d(M}!+ =7. Sl/JX#aqwVMoLQbW $*/{O]+*f. do.>|]x6vO73Td/? {{ 8gFlq}9l ),GT/<|81 uD$ nc@!OinK|U0D!;l:WYkN 2{{\2{txr9pfryBj290I@|&q(RAe1gDR`UQh) (w@A@s5*^>t; KLr2F|D[!ZNC9&CuBWixd7T|vJhvmI/M}x'1{l s_P*fUqKm$\9Yv z=;5 Th$xttnt;VT5^q=hs>%C cwO2Ar,c|8 ^9nU1cZ<3YAK}|z9%`%$)aw^O &%%hfREPO8.^XEXTvUz(+D=RfBh=V5<^- 695a?o9sH0,!POVT\' Zv;[b0(q#Z .M'd:9i`oAjX+5|Dk Tw]M~Jo@Jo|Q +Kef^!e"jkv> 3]tp1tC1q.fZck &}>Q8d{ J=RvQ^^ >wv|cIe^f \|b;- l PCgOs*W ,\ dn53Fk&4bs]C'; "FtO\"#c w3tb1V5!rvu,R%89+I  r+9E71 YG33@3w2i8}?d iDF@)dJvwl^k0nG.sMa:_Oqp#W(: z"-]Wi$!"Y &=DDJ\/V.Yj{+ UnnXu?ry=1WW!.(oN|{5(Z>_ZI75xYT4JbXJ_ ,CMaW.7(E>/>Gszg B&?M6vDr.S g`m<JU2EX"A[qg \S ,d4/Jgj>XV!:~)MzwJDYP6GqwRY\V4SASPn^,Hg VuKy8JbGSRhY41ji[~3|uuIt^'-|5u Gr-HGgF_ ~$E|?| ?a1Qjw~,>KYW~ (8sBk(e$-#`*ge<3( r=07]AJO&zn(H^ {AD6FBsw mkwz(j&U ( t l1g7QN3>0%W sWVnD srXCT$ .]1>\kFTl |R ]b597c4Lg`>\4_;jXG iafq4x/gm '}%Bn)t]~[}6nQAO:!Ah^)X 3I-Vkg/{lAn=\))$osC:ny_X+`T:!y2iZ;a$ONr DX~RT8~L*TJjTFi2KE Sg$q4gAN) ocX(TRywII+X{tG*z0HEd ]N/3kMS 8YM-R;29 c/.-C B&*INv}2V0FBkEfcY:us!5c%#;y{b>nP@ ]Yrits  Ms=.IHR, 'jCAo;0kLsHx,K nG*uRf~Qa@xcE`R+`b Xb.b {l19g# ksK/_eI%ftH}Bh Z ;aqTdw3YuMyb3P(#f5C(aBAjBxGS5P s,7C/'(H4;}O&8WUX0V{wFEDk Y317R%rfhy d % n1Rt+Xb$5 ( 3sH t=@7+,Fb7f S=Rv]0S$Y4%@ZOd w`([duqVmt4~5%yz0zsOj*AyW2E-tx+_"%I{IR@DqI cW, u&Eb+(9^N5TA:*vZ0"/@CSA&)uIcK7M!0'NT_Tt?31>7yo|qX\ LUJgfXH\=(6sUxx5 F6>phU:/d n'Iz}Fss# {DQH\`X9P<S;H9bNh=8;41K*?v|){)xy='1tpYp}k'0mV#THF(.W~c4QGj })Uc[5 O'F,u= )lt?\^[bbl*^HvZ=+XA#Jh Xx"TdIX!t9bvQ>}L;ZYEw.!K{@Q0 16=\l95EAv$i3Ai*d@V8k)[]7tbmq{u& lF=7NxQ {WS2jMtU s1$W>jw)AG?PcUKRD4fg lh'^}~]Xe}^p "Npk!%o)U]bw6XD(o>Ey\#i!L TNXI8ewN/rgyN[4M\jS"*;`Z8Q@}dd.7y!zn8-hk =i]@`Fcj.L =)Wu a5 rU@Vfb+2X#M$F_fPW FO[^94Z(6"} tJ-vvnjwYuEw9 ej,Rp3J KexF7n}KN o@C !  /JX%Mli|M=qka09qXA'SM,Vy&=@N;p# DB J=]d^[PK3E b_;H3/=}c)NJ=7GwM;+ $zW =K$L0E>Pz)C}}q"u\g2<~{pt29%Zvjc s{F~ Ijw~pR+V[f&(AN^'v?zJP#`;b3xb:e!(m6/^&^("*`k64e:ZuCya46l%>v`}>.5d_D;H/@{rJ qvUOcfMp q&HPe?7"[!+]NT}Q MUFT@GArh~LhJQ^;l'h5lq;5GXZsT'NYG{ [-esUhxs]2nWnX`+8C,8m= h#;)7wR*cb`[,mflabIB{8k>b zWf+bn7r?$Aj]|CIhD/*=/_9k5Tstn501+6+hsX6!7UCt& J)PkLc^J%`\HmX2vk]Je:X/6A@5/~]6U*=5oz-+XlVw_hwhQ!MLl*QQp|EM?9-OG  #w%5~@h6 b8zP6oREi7neM ZxY0\ yDd c^0apB$\-x.`6KwMD?x CdIh=ev Gli`n9/ {'2G$/<4j($ 30h?*e 29QS}s~f~t^[GY0)0~I2/bA-JklgR--4oL(G $-]-T*mh*/eE# T)\YM2&CBiq/[Zf aqwVJPlxMXdNi.O24}-d 4(* l2y4ZosY]OU2@[&W?-jDamV -v~e2@GZaUSgcRipmdC orc%_vg'\:-! 15^/W7ZM<7t52F@A Whee4LzS35G{x+jxJ'x09L zw#L1S0Cff'$=vgF]HGp0&3#uoC:lklDg\fL^ >#FNl=vpuy_$GbgqqM,KuZ~ 8dEY*B5y;RQTm'x*d; fa3yu}H$x5.k1 }ttHPRe a6e MrmNcreateCallback = procedure creationCallback(k_pHelpText); };s&}; /* END pHelpText : XmLabelGadget */ /*%** The Enter problem work report formN*/'object problemWorkReportForm : XmForm {f arguments { XmNpaneMinimum = 150; };M controls {X XmForm timeAccountingForm;D XmLabelGadget wrSummaryLabel; XmTextField wrSummaryText;t XmScrolledWindow wrSW;; XmFrame wrButtonFrame;  };a callbacks { MrmNcreateCallback =a5 procedure creationCallback(k_problemWorkReportForm);N };w+}; /* END problemWorkReportForm : XmForm */W$object timeAccountingForm : XmForm { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;L+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 0; }; controls {n XmLabelGadget startTimeL; XmTextField startTimeV; XmLabelGadget timeOnL;a XmTextField timeOnV;N XmLabelGadget extraTimeL; XmTextField extraTimeText;N XmLabelGadget currentTimeL; XmTextField currentTimeV; };e(}; /* END timeAccountingForm : XmForm */#object startTimeL : XmLabelGadget { arguments { XmNlabelString = 'Start Time:';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = tol;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;C, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = tol;e };'}; /* END startTimeL : XmLabelGadget */N!object startTimeV : XmTextField {m arguments { XmNuserData = f_startTime;e&! XmNlabelString = 'Mon JAN 01 12:34'; XmNcolumns = 16;a XmNeditable = false;N XmNtraversalOn = false;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = tot;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lot;d* XmNleftWidget = XmLabelGadget startTimeL;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = tot;t };l%}; /* END startTimeV : XmTextField */; object timeOnL : XmLabelGadget { arguments { XmNlabelString = 'Time On:'; " XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = tol;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lon;e( XmNleftWidget = XmTextField startTimeV;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = tol;C };'$}; /* END timeOnL : XmLabelGadget */object timeOnV : XmTextField { arguments { XmNuserData = f_timeOn;! XmNlabelString = '123:45'; XmNcolumns = 6; XmNeditable = false;m XmNtraversalOn = false;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = tot;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lot;p' XmNleftWidget = XmLabelGadget timeOnL;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = tot;A };m"}; /* END timeOnV : XmTextField */#object extraTimeL : XmLabelGadget {p arguments { XmNlabelString = 'Extra Time:';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = tol;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lon;N% XmNleftWidget = XmTextField timeOnV;X, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = tol;X };e'}; /* END extraTimeL : XmLabelGadget */a$object extraTimeText : XmTextField { arguments { XmNcolumns = 6; XmNmaxLength = 8; XmNuserData = f_extraTime;:" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = tot;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lot;t* XmNleftWidget = XmLabelGadget extraTimeL;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = tot;e };X(}; /* END extraTimeText : XmTextField */%object currentTimeL : XmLabelGadget { arguments {" XmNlabelString = 'Current Time:';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = tol;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lon;m+ XmNleftWidget = XmTextField extraTimeText;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = tol;n };m)}; /* END currentTimeL : XmLabelGadget */N#object currentTimeV : XmTextField {l arguments { XmNuserData = f_currentTime;N! XmNlabelString = '12:34';r XmNcolumns = 5; XmNeditable = false;; XmNtraversalOn = false;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = tot;% XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lot;L, XmNleftWidget = XmLabelGadget currentTimeL;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = tot;H };N'}; /* END currentTimeV : XmTextField */b'object ownerTimeLabel : XmLabelGadget {C arguments { XmNwidth = 100; XmNlabelString = '000:00';C" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 9;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;a };p+}; /* END ownerTimeLabel : Xry$MULTIHELP020.A [A]PROBLEM.UIL;1U +"omLabelGadget */;!object ownerTimeScale : XmScale { arguments { XmNuserData = f_timeScale;t! XmNmaximum = 2880; XmNminimum = 0; XmNorientation = XmHORIZONTAL; ) XmNprocessingDirection = XmMAX_ON_RIGHT;M XmNscaleMultiple = 15;e XmNshowValue = false;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 8;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 5;. XmNleftWidget = XmLabelGadget ownerTimeLabel;+ XmNrightAttachment = XmATTACH_FORM;l XmNrightOffset = 5; };r callbacks {8 XmNvalueChangedCallback = procedure timeScaleChange(1); };H%}; /* END ownerTimeScale : XmScale */W'object wrSummaryLabel : XmLabelGadget {f arguments { XmNlabelString = 'Summary:';t$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tol+3;* XmNtopWidget = XmForm timeAccountingForm;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;  };d+}; /* END wrSummaryLabel : XmLabelGadget */r$object wrSummaryText : XmTextField { arguments { XmNuserData = f_summaryText;X XmNmaxLength = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tot+3;* XmNtopWidget = XmForm timeAccountingForm;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lot;e. XmNleftWidget = XmLabelGadget wrSummaryLabel;+ XmNrightAttachment = XmATTACH_FORM;m XmNrightOffset = 5; };e(}; /* END wrSummaryText : XmTextField */ object wrButtonFrame : XmFrame { arguments { XmNshadowType = XmSHADOW_IN;C XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;* XmNtopWidget = XmTextField wrSummaryText;+ XmNrightAttachment = XmATTACH_FORM;T XmNrightOffset = 5;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;h };c controls {A XmRowColumn { arguments {$ XmNuserData = f_workReportRowCol; XmNorientation = XmVERTICAL;e XmNpacking = XmPACK_COLUMN; };g controls {a XmToggleButton wrQuietToggle;! XmToggleButton wrHiddenToggle;N XmPushButton wrCreditButton;T XmPushButton {t arguments {* XmNmultiClick = XmMULTICLICK_DISCARD;$ XmNuserData = f_problemInclude;# XmNlabelString = 'Include...';t };T callbacks {I XmNactivateCallback = procedure pushButtonCallback(k_wrIncludeFile);c };m" }; /* END XmPushButtonGadget */ XmPushButton {c arguments {* XmNmultiClick = XmMULTICLICK_DISCARD;# XmNuserData = f_problemCommit;N XmNlabelString = 'Commit'; };O callbacks {L XmNactivateCallback = procedure pushButtonCallback(k_commitWorkReport); };m" }; /* END XmPushButtonGadget */ XmPushButton {r arguments {* XmNmultiClick = XmMULTICLICK_DISCARD;# XmNuserData = f_problemCancel;N XmNlabelString = 'Cancel';n };A callbacks {L XmNactivateCallback = procedure pushButtonCallback(k_cancelWorkReport); };l" }; /* END XmPushButtonGadget */ };t }; /* END XmRowColumn */s };X$}; /* END wrButtonFrame : XmFrame */'object wrQuietToggle : XmToggleButton {o arguments { XmNuserData = f_problemQuiet; XmNlabelString = 'Quiet'; XmNvisibleWhenOff = true; XmNalignment = XmALIGNMENT_END; };+}; /* END wrQuietToggle : XmToggleButton */b(object wrHiddenToggle : XmToggleButton { arguments { XmNuserData = f_problemHidden;/ XmNlabelString = 'Hidden';  XmNvisibleWhenOff = true; XmNalignment = XmALIGNMENT_END; };N,}; /* END wrHiddenToggle : XmToggleButton */&object wrCreditButton : XmPushButton { arguments {- XmNmultiClick = XmMULTICLICK_DISCARD;  XmNuserData = f_problemCredit;a XmNlabelString = 'Credit...'; };f callbacks {@ XmNactivateCallback = procedure pushButtonCallback(k_wrCredit); };n*}; /* END wrCreditButton : XmPushButton */ object wrSW : XmScrolledWindow { arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;* XmNtopWidget = XmTextField wrSummaryText;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;m- XmNrightAttachment = XmATTACH_WIDGET;l XmNrightOffset = 5;( XmNrightWidget = XmFrame wrButtonFrame;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;s };o controls {a XmText wrText;a };p$}; /* END wrSW : XmScrolledWindow */object wrText : XmText { arguments { XmNuserData = f_problemText;a XmNeditable = true;! XmNeditMode = XmMULTI_LINE_EDIT;o XmNpendingDelete = false;" XmNautoShowCursorPosition = true;! XmNcursorPositionVisible = true;a };n}; /* END wrText : XmText */#object ewrOfLabel : XmLabelGadget {X arguments { XmNlabelString = 'of';b. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -3; XmNleftPosition = 40;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;G }; '}; /* END ewrOfLabel : XmLabelGadget */P(object ewrCurrentReportFrame : XmFrame { arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT;i XmNshadowThickness = 2;- XmNrightAttachment = XmATTACH_WIDGET;/ XmNrightOffset = 5;+ XmNrightWidget = XmLabelGadget ewrOfLabel;r, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;d };c controls {X% XmLabelGadget ewrCurrentReportLabel;N };f,}; /* END ewrCurrentReportFrame : XmFrame */.object ewrCurrentReportLabel : XmLabelGadget { arguments { XmNlabelString = '0'; };e2}; /* END ewrCurrentReportLabel : XmLabelGadget */%object ewrLastReportFrame : XmFrame {} arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT;p XmNshadowThickness = 2;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 5;* XmNleftWidget = XmLabelGadget ewrOfLabel;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;  }; controls {p" XmLabelGadget ewrLastReportLabel; };l)}; /* END ewrLastReportFrame : XmFrame */+object ewrLastReportLabel : XmLabelGadget {F arguments { XmNlabelString = '0'; };S/}; /* END ewrLastReportLabel : XmLabelGadget */r W/*I** The code below describes the Customer Info Dialog for Service Requests */*object customerInfoDialog : XmFormDialog { arguments { XmNautoUnmanage = false;p= XmNdialogTitle = 'MultiHelp Request - Customer Information';a };n controls {A XmFrame customerFrame;; XmToggleButton phoneToggle; XmForm phoneForm; XmToggleButton pagerToggle; XmForm pagerForm; XmToggleButton faxToggle; XmForm faxForm; XmToggleButton emailToggle; XmLabelGadget emailLabel; XmTextField emailText; XmLabelGadget locationLabel;x XmTextField locationText; XmFrame ciHelpFrame;x XmPushButtonGadget ciOk;L XmPushButtonGadget ciCancel;x XmPushButtonGadget ciHelp;; };N callbacks {G XmNhelpCallback = procedure contextHelpCallback(h_customerInfoDialog); };a.}; /* END customerInfoDialog : XmFormDialog */ object customerFrame : XmFrame { arguments { XmNshadowType = XmSHADOW_OUT; XmNshadowThickness = 3;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 44; };a controls {e XmForm { controls {X! XmLabelGadget custUserIdLabel;b XmText custUserIdText;4 XmLabelGadget lastNameLabel;b XmTextField lastNameText; XmLabelGadget firstNameLabel; XmTextField firstNameText;; };  }; /* END XmForm */ };A$}; /* END customerFrame : XmFrame */(object custUserIdLabel : XmLabelGadget { arguments { XmNlabelString = 'User Id:';X XmNwidth = ciw+30;t XmNalignment = XmALIGNMENT_END;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = tol;# XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;m };H,}; /* END XmLabelGadget : custUserIdLabel */ object custUserIdText : XmText { arguments { XmNuserData = f_ciCustomer; XmNmaxLength = 20;  XmNcolumns = 20;n" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lot+13;/ XmNleftWidget = XmLabelGadget custUserIdLabel;i };' callbacks {J XmNactivateCallback = procedure customerLookupCallback(k_customerUserId); }; $}; /* END custUserIdText : XmText */&object lastNameLabel : XmLabelGadget { arguments { XmNlabelString = 'Last Name:';X XmNwidth = ciw+30; XmNalignment = XmALIGNMENT_END;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tol;& XmNtopWidget = XmText custUserIdText;# XmNleftAttachment = XmATTACH_FORM;X XmNleftOffset = 0;a };:*}; /* END lastNameLabel : XmLabelGadget */#object lastNameText : XmTextField {m arguments { XmNuserData = f_ciLastName; XmNmaxLength = 40;X XmNcolumns = 20;X$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tot;& XmNtopWidget = XmText custUserIdText;, XmNleftAttacs.{c$MULTIHELP020.A [A]PROBLEM.UIL;1U"hment = XmATTACH_WIDGET; XmNleftOffset = lot+13;- XmNleftWidget = XmLabelGadget lastNameLabel;s };a callbacks {D XmNactivateCallback = procedure customerLookupCallback(k_lastName); };f'}; /* END lastNameText : XmTextField */f'object firstNameLabel : XmLabelGadget {t arguments { XmNlabelString = 'First Name:'; XmNwidth = ciw+30;m XmNalignment = XmALIGNMENT_END;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tol;) XmNtopWidget = XmTextField lastNameText; # XmNleftAttachment = XmATTACH_FORM;  XmNleftOffset = 0;o, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;t };t+}; /* END firstNameLabel : XmLabelGadget */i$object firstNameText : XmTextField { arguments { XmNuserData = f_ciFirstName;m XmNmaxLength = 25;m XmNcolumns = 20;*$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tot;) XmNtopWidget = XmTextField lastNameText;i, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lot+13;. XmNleftWidget = XmLabelGadget firstNameLabel;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;t };t callbacks {E XmNactivateCallback = procedure customerLookupCallback(k_firstName);  };A(}; /* END firstNameText : XmTextField */%object phoneToggle : XmToggleButton { arguments { XmNlabelType = XmPIXMAP;C XmNlabelPixmap = phonePixmap; XmNuserData = f_ciNotifyPhone;X$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;& XmNtopWidget = XmFrame customerFrame;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;g };; callbacks {@ MrmNcreateCallback = procedure creationCallback(k_notifyPhone); }; )}; /* END phoneToggle : XmToggleButton */robject phoneForm : XmForm {N arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;& XmNtopWidget = XmFrame customerFrame;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 5;A, XmNleftWidget = XmToggleButton phoneToggle;$ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5; };X controls {l XmLabelGadget phoneLabel; XmLabelGadget phoneLP;C XmTextField phoneAreaText;m XmLabelGadget phoneRP;; XmTextField phonePrefixText;e XmLabelGadget phoneH; XmTextField phoneNumText; XmLabelGadget phoneExtLabel;S XmTextField phoneExtText; };m}; /* END phoneForm : XmForm */o#object phoneLabel : XmLabelGadget {t arguments { XmNwidth = ciw; XmNalignment = XmALIGNMENT_END; XmNlabelString = 'Phone:';u" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;N, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;  };+'}; /* END phoneLabel : XmLabelGadget */F object phoneLP : XmLabelGadget { arguments { XmNlabelString = '(';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 5;* XmNleftWidget = XmLabelGadget phoneLabel;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;A };N$}; /* END phoneLP : XmLabelGadget */$object phoneAreaText : XmTextField { arguments { XmNuserData = f_ciPhoneArea;r XmNpendingDelete = true;a XmNcolumns = 3; XmNmaxLength = 3;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;m' XmNleftWidget = XmLabelGadget phoneLP;o, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0; };g callbacks {B MrmNcreateCallback = procedure creationCallback(k_phoneAreaText); };(}; /* END phoneAreaText : XmTextField */ object phoneRP : XmLabelGadget { arguments { XmNlabelString = ')';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;l+ XmNleftWidget = XmTextField phoneAreaText;d, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;o };$}; /* END phoneRP : XmLabelGadget */&object phonePrefixText : XmTextField { arguments { XmNuserData = f_ciPhonePrefix;i XmNpendingDelete = true;c XmNcolumns = 3; XmNmaxLength = 3;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;n' XmNleftWidget = XmLabelGadget phoneRP;I, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;C };' callbacks {D MrmNcreateCallback = procedure creationCallback(k_phonePrefixText); };_*}; /* END phonePrefixText : XmTextField */object phoneH : XmLabelGadget {* arguments { XmNlabelString = '-';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;a- XmNleftWidget = XmTextField phonePrefixText;;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;m };e#}; /* END phoneH : XmLabelGadget */ #object phoneNumText : XmTextField {r arguments { XmNuserData = f_ciPhoneNum; XmNpendingDelete = true;O XmNcolumns = 4; XmNmaxLength = 4;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0; & XmNleftWidget = XmLabelGadget phoneH;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;f };l callbacks {A MrmNcreateCallback = procedure creationCallback(k_phoneNumText); }; '}; /* END phoneNumText : XmTextField */b&object phoneExtLabel : XmLabelGadget { arguments { XmNlabelString = 'ext.';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 4;=* XmNleftWidget = XmTextField phoneNumText;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;m }; *}; /* END phoneExtLabel : XmLabelGadget */#object phoneExtText : XmTextField { arguments { XmNuserData = f_ciPhoneExt; XmNpendingDelete = true;e XmNcolumns = 7; XmNmaxLength = 8;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;o- XmNleftWidget = XmLabelGadget phoneExtLabel;i, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;e };m callbacks {A MrmNcreateCallback = procedure creationCallback(k_phoneExtText);  };T'}; /* END phoneExtText : XmTextField */N%object pagerToggle : XmToggleButton {c arguments { XmNlabelType = XmPIXMAP;= XmNlabelPixmap = pagerPixmap; XmNuserData = f_ciNotifyPager;r$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tol;! XmNtopWidget = XmForm phoneForm;w* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;X };h callbacks {@ MrmNcreateCallback = procedure creationCallback(k_notifyPager); };n)}; /* END pagerToggle : XmToggleButton */object pagerForm : XmForm {g arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tol;! XmNtopWidget = XmForm phoneForm;l, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 5;/, XmNleftWidget = XmToggleButton pagerToggle;$ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5; };d controls {A XmLabelGadget pagerLabel; XmLabelGadget pagerLP;m XmTextField pagerAreaText;D XmLabelGadget pagerRP; XmTextField pagerPrefixText;t XmLabelGadget pagerH; XmTextField pagerNumText; XmLabelGadget pagerExtLabel; XmTextField pagerExtText; };t}; /* END pagerForm : XmForm */ #object pagerLabel : XmLabelGadget { arguments { XmNwidth = ciw; XmNalignment = XmALIGNMENT_END; XmNlabelString = 'Pager:'; " XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;q, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0; };u'}; /* END pagerLabel : XmLabelGadget */M object pagerLP : XmLabelGadget { arguments { XmNlabelString = '(';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 5;l* XmNleftWidget = XmLabelGadget pagerLabel;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;l };$}; /* END pagerLP : XmLabelGadget */$object pagerAreaText : XmTextField { arguments { XmNuserData = f_ciPhoneArea;t XmNpendingDelete = true;s XmNcolumns = 3; XmNmaxLength = 3;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;D' XmNleftWidget = XmLabelGadget pagerLP;e, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;  }; callbacks {B MrmNcreateCallback = procedure creationCallback(k_pagerAreaText); };T(}; /* END pagerAreaText : XmTextField */ object pagerRP : XmLabelGadget { arguments { XmNlabelString = ')';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;t*B$MULTIHELP020.A [A]PROBLEM.UIL;1U@", XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;e+ XmNleftWidget = XmTextField pagerAreaText;}, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;e };s$}; /* END pagerRP : XmLabelGadget */&object pagerPrefixText : XmTextField { arguments { XmNuserData = f_ciPhonePrefix;_ XmNpendingDelete = true;m XmNcolumns = 3; XmNmaxLength = 3;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;U' XmNleftWidget = XmLabelGadget pagerRP;s, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;N };t callbacks {D MrmNcreateCallback = procedure creationCallback(k_pagerPrefixText); };;*}; /* END pagerPrefixText : XmTextField */object pagerH : XmLabelGadget {} arguments { XmNlabelString = '-';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;:- XmNleftWidget = XmTextField pagerPrefixText; , XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;N };X#}; /* END pagerH : XmLabelGadget */X#object pagerNumText : XmTextField {e arguments { XmNuserData = f_ciPhoneNum; XmNpendingDelete = true;t XmNcolumns = 4; XmNmaxLength = 4;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;X& XmNleftWidget = XmLabelGadget pagerH;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;U };T callbacks {A MrmNcreateCallback = procedure creationCallback(k_pagerNumText);N };i'}; /* END pagerNumText : XmTextField */a&object pagerExtLabel : XmLabelGadget { arguments { XmNlabelString = 'ext.';;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 4; * XmNleftWidget = XmTextField pagerNumText;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;X };O*}; /* END pagerExtLabel : XmLabelGadget */#object pagerExtText : XmTextField {T arguments { XmNuserData = f_ciPhoneExt; XmNpendingDelete = true;H XmNcolumns = 7; XmNmaxLength = 8;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;t- XmNleftWidget = XmLabelGadget pagerExtLabel;*, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;W }; callbacks {A MrmNcreateCallback = procedure creationCallback(k_pagerExtText);e };s'}; /* END pagerExtText : XmTextField */g#object faxToggle : XmToggleButton {t arguments { XmNlabelType = XmPIXMAP;t XmNlabelPixmap = faxPixmap; XmNuserData = f_ciNotifyFax;c$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tol;! XmNtopWidget = XmForm pagerForm;p* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;I };C callbacks {> MrmNcreateCallback = procedure creationCallback(k_notifyFax); };n'}; /* END faxToggle : XmToggleButton */object faxForm : XmForm {m arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tol;! XmNtopWidget = XmForm pagerForm;l, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 5; * XmNleftWidget = XmToggleButton faxToggle;$ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5; };W controls {o XmLabelGadget faxLabel; XmLabelGadget faxLP;m XmTextField faxAreaText;n XmLabelGadget faxRP;X XmTextField faxPrefixText;i XmLabelGadget faxH; XmTextField faxNumText; XmLabelGadget faxExtLabel;N XmTextField faxExtText; };l}; /* END faxForm : XmForm */;!object faxLabel : XmLabelGadget {e arguments { XmNwidth = ciw; XmNalignment = XmALIGNMENT_END; XmNlabelString = 'Fax:';p" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0; , XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;X };t%}; /* END faxLabel : XmLabelGadget */Nobject faxLP : XmLabelGadget { arguments { XmNlabelString = '(';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 5;F( XmNleftWidget = XmLabelGadget faxLabel;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;{ };g"}; /* END faxLP : XmLabelGadget */"object faxAreaText : XmTextField { arguments { XmNuserData = f_ciPhoneArea;m XmNpendingDelete = true;s XmNcolumns = 3; XmNmaxLength = 3;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;e% XmNleftWidget = XmLabelGadget faxLP;e, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;  };e callbacks {@ MrmNcreateCallback = procedure creationCallback(k_faxAreaText); };O&}; /* END faxAreaText : XmTextField */object faxRP : XmLabelGadget { arguments { XmNlabelString = ')';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;r) XmNleftWidget = XmTextField faxAreaText;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;L };a"}; /* END faxRP : XmLabelGadget */$object faxPrefixText : XmTextField { arguments { XmNuserData = f_ciPhonePrefix;m XmNpendingDelete = true;N XmNcolumns = 3; XmNmaxLength = 3;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;m% XmNleftWidget = XmLabelGadget faxRP;t, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;N };n callbacks {B MrmNcreateCallback = procedure creationCallback(k_faxPrefixText); };R(}; /* END faxPrefixText : XmTextField */object faxH : XmLabelGadget {e arguments { XmNlabelString = '-';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;l+ XmNleftWidget = XmTextField faxPrefixText;f, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;p }; !}; /* END faxH : XmLabelGadget */X!object faxNumText : XmTextField {n arguments { XmNuserData = f_ciPhoneNum; XmNpendingDelete = true;T XmNcolumns = 4; XmNmaxLength = 4;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;;$ XmNleftWidget = XmLabelGadget faxH;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;c };e callbacks {? MrmNcreateCallback = procedure creationCallback(k_faxNumText);A };m%}; /* END faxNumText : XmTextField */;$object faxExtLabel : XmLabelGadget { arguments { XmNlabelString = 'ext.';g" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 4;c( XmNleftWidget = XmTextField faxNumText;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0; };t(}; /* END faxExtLabel : XmLabelGadget */!object faxExtText : XmTextField {N arguments { XmNuserData = f_ciPhoneExt; XmNpendingDelete = true;c XmNcolumns = 7; XmNmaxLength = 8;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;+ XmNleftWidget = XmLabelGadget faxExtLabel; , XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;a };c callbacks {? MrmNcreateCallback = procedure creationCallback(k_faxExtText);X };A%}; /* END faxExtText : XmTextField */e%object emailToggle : XmToggleButton {A arguments { XmNlabelType = XmPIXMAP;t XmNlabelPixmap = emailPixmap; XmNuserData = f_ciNotifyEmail;n$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tot; XmNtopWidget = XmForm faxForm;r* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;t };T callbacks {@ MrmNcreateCallback = procedure creationCallback(k_notifyEmail); }; )}; /* END emailToggle : XmToggleButton */#object emailLabel : XmLabelGadget {o arguments { XmNlabelString = 'Email:';e XmNwidth = ciw - 15; XmNalignment = XmALIGNMENT_END;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tol; XmNtopWidget = XmForm faxForm; , XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lop + 0; , XmNleftWidget = XmToggleButton emailToggle; };g'}; /* END emailLabel : XmLabelGadget */A object emailText : XmTextField { arguments { XmNuserData = f_ciEmail;  XmNpendingDelete = true;H! XmNcolumns = 40; XmNmaxLength = 60;i$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tot; XmNtopWidget = XmForm faxForm;;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lot+13;* XmNleftWidget = XmLabelGadget emailLabel;$ XmNrightAttachment = XmATTACH_FORM; XmNrighuP$MULTIHELP020.A [A]PROBLEM.UIL;1U'"tOffset = 5; };g callbacks {> MrmNcreateCallback = procedure creationCallback(k_emailText); };r$}; /* END emailText : XmTextField */&object locationLabel : XmLabelGadget { arguments { XmNlabelString = 'Location:'; XmNwidth = ciw + 56;_ XmNalignment = XmALIGNMENT_END;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tol+5;& XmNtopWidget = XmTextField emailText;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = lop + 0;N };m*}; /* END locationLabel : XmLabelGadget */#object locationText : XmTextField {L arguments { XmNuserData = f_ciLocation; XmNpendingDelete = true;  XmNcolumns = 10;N XmNmaxLength = 10; $ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = tot+5;& XmNtopWidget = XmTextField emailText;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = lot+13;- XmNleftWidget = XmLabelGadget locationLabel; };t callbacks {A MrmNcreateCallback = procedure creationCallback(k_locationText);N };n'}; /* END locationText : XmTextField */aobject ciHelpFrame : XmFrame { arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT;t XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;) XmNtopWidget = XmTextField locationText;A* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;C+ XmNrightAttachment = XmATTACH_FORM;r XmNrightOffset = 2; };a controls {  XmLabel ciHelpText; };g"}; /* END ciHelpFrame : XmFrame */object ciHelpText : XmLabel {A arguments {. XmNlabelString = 'Customer Info Dialog Help'; };c'}; /* END ciHelpText : XmLabelGadget */="object ciOk : XmPushButtonGadget { arguments {- XmNmultiClick = XmMULTICLICK_DISCARD;X XmNlabelString = 'Ok';s XmNwidth = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmFrame ciHelpFrame;- XmNrightAttachment = XmATTACH_WIDGET;N XmNrightOffset = 10;n. XmNrightWidget = XmPushButtonGadget ciCancel;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;e };s callbacks {< XmNactivateCallback = procedure pushButtonCallback(k_ciOk); }; &}; /* END ciOk : XmPushButtonGadget */&object ciCancel : XmPushButtonGadget { arguments {- XmNmultiClick = XmMULTICLICK_DISCARD;N XmNlabelString = 'Reset'; XmNwidth = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmFrame ciHelpFrame;/ XmNrightAttachment = XmATTACH_POSITION;  XmNrightOffset = -27; XmNrightPosition = 50;t, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;  };A callbacks {@ XmNactivateCallback = procedure pushButtonCallback(k_ciCancel); };t*}; /* END ciCancel : XmPushButtonGadget */$object ciHelp : XmPushButtonGadget { arguments {- XmNmultiClick = XmMULTICLICK_DISCARD;N XmNlabelString = 'Help';R XmNwidth = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmFrame ciHelpFrame;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;- XmNleftWidget = XmPushButtonGadget ciCancel;e, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;/ }; callbacks {K XmNactivateCallback = procedure contextHelpCallback(h_customerInfoDialog);N };S(}; /* END ciHelp : XmPushButtonGadget */"object fileDialog : XmFormDialog { arguments {1 XmNdialogTitle = 'MultiHelp File Selection Box';N };i controls {F XmFileSelectionBox {  arguments {$ XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;t- XmNrightAttachment = XmATTACH_FORM;e XmNrightOffset = 0;. XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;A };; callbacks {A XmNhelpCallback = procedure contextHelpCallback(h_fileDialog);=6 XmNcancelCallback = procedure fileDialogCallback();2 XmNokCallback = procedure fileDialogCallback(); };t }; /* END XmFileSelectionBox */ };C&}; /* END fileDialog : XmFormDialog */%object extractDialog : XmFormDialog {e arguments {/ XmNdialogTitle = 'MultiHelp Extract to Email';a XmNautoUnmanage = false;  };M controls {e XmTextField extractAddress; XmPushButtonGadget extractOk;" XmPushButtonGadget extractCancel; XmPushButtonGadget extractHelp; };p)}; /* END extractDialog : XmFormDialog */T%object extractAddress : XmTextField {c arguments { XmNmaxLength = 60;r XmNcolumns = 60;l" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;u* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;+ XmNrightAttachment = XmATTACH_FORM;; XmNrightOffset = 10;m };r callbacks {C MrmNcreateCallback = procedure creationCallback(k_extractAddress);t };t)}; /* END extractAddress : XmTextField */c'object extractOk : XmPushButtonGadget {; arguments {- XmNmultiClick = XmMULTICLICK_DISCARD;t XmNlabelString = 'Ok';x XmNwidth = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;g+ XmNtopWidget = XmTextField extractAddress;a- XmNrightAttachment = XmATTACH_WIDGET;} XmNrightOffset = 10; 3 XmNrightWidget = XmPushButtonGadget extractCancel;g, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; };n callbacks {A XmNactivateCallback = procedure pushButtonCallback(k_extractOk);l };t+}; /* END extractOk : XmPushButtonGadget */ +object extractCancel : XmPushButtonGadget { arguments {- XmNmultiClick = XmMULTICLICK_DISCARD;g XmNlabelString = 'Cancel';b XmNwidth = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;H+ XmNtopWidget = XmTextField extractAddress;t. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -50;b XmNleftPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; };/ callbacks {E XmNactivateCallback = procedure pushButtonCallback(k_extractCancel);X };r/}; /* END extractCancel : XmPushButtonGadget */s)object extractHelp : XmPushButtonGadget {o arguments {- XmNmultiClick = XmMULTICLICK_DISCARD;l XmNlabelString = 'Help...'; XmNwidth = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;b+ XmNtopWidget = XmTextField extractAddress;f, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;2 XmNleftWidget = XmPushButtonGadget extractCancel;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; };N callbacks {F XmNactivateCallback = procedure contextHelpCallback(h_extractDialog); };A-}; /* END extractHelp : XmPushButtonGadget */0 /*** Software information dialog*/&object softInfoDialog : XmFormDialog { arguments {+ XmNdialogTitle = 'Customer Software List';m XmNautoUnmanage = false;x };x controls {F XmFrame softHeadFrame;N XmScrolledWindow {r arguments {+ XmNscrollBarDisplayPolicy = XmAUTOMATIC;L$ XmNscrollingPolicy = XmAUTOMATIC; XmNvisualPolicy = XmVARIABLE;& XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;( XmNtopWidget = XmFrame softHeadFrame;, XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;- XmNrightAttachment = XmATTACH_FORM;d XmNrightOffset = 0;0 XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 0;x- XmNbottomWidget = XmFrame softButtonFrame;r };- controls {c XmList {A arguments { XmNshadowThickness = 0;* XmNselectionPolicy = XmSINGLE_SELECT;$ XmNlistSizePolicy = XmVARIABLE; };t callbacks {E MrmNcreateCallback = procedure creationCallback(k_softwareList);  };L }; /* END XmList */ };T }; /* END XmScrolledWindow */ XmFrame softButtonFrame;e };*}; /* END softInfoDialog : XmFormDialog */ object softHeadFrame : XmFrame { arguments { XmNshadowType = XmSHADOW_OUT; XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;s- XmNrightAttachment = XmATTACH_FORM;c XmNrightOffset = 0; };k controls { XmLabelGadget { arguments {* XmNalignment = XmALIGNMENT_BEGINNING;B XmNfontList = font('-*-*-BOLD-R-*--*-100-*-*-m-*-ISO8859-1'); XmNlabelString =fH 'Software Version License Expiration Miscellenous'; };e }; /* END XmLabelGadget */x }; $}; /* END softHeadFrame : XmFrame */"object softButtonFrame : XmFrame { arguments {* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;g+ XmNrightAttachment = XmATTACH_FORM;e XmNrightOffset = 0;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;R XmNshadowType = XmSHADOW_IN;  XmNshadowThickness = 2;vSB$MULTIHELP020.A [A]PROBLEM.UIL;1Uy" };D controls {t XmForm { arguments { };b controls {L$ XmPushButtonGadget softAddButton;' XmPushButtonGadget softModifyButton;}' XmPushButtonGadget softDeleteButton;r( XmPushButtonGadget softDismissButton; };; }; /* END XmForm */ };F&}; /* END softButtonFrame : XmFrame */+object softAddButton : XmPushButtonGadget {M arguments { XmNlabelString = 'Add'; XmNwidth = 75;N" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;- XmNrightAttachment = XmATTACH_WIDGET;m XmNrightOffset = 10;c6 XmNrightWidget = XmPushButtonGadget softModifyButton;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;a }; callbacks {E XmNactivateCallback = procedure pushButtonCallback(k_softAddButton);  };a/}; /* END softAddButton : XmPushButtonGadget */t.object softModifyButton : XmPushButtonGadget { arguments { XmNlabelString = 'Modify';o XmNwidth = 75;X" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5; XmNrightPosition = 50;}, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;T };e callbacks {H XmNactivateCallback = procedure pushButtonCallback(k_softModifyButton); };;2}; /* END softModifyButton : XmPushButtonGadget */.object softDeleteButton : XmPushButtonGadget { arguments { XmNlabelString = 'Delete';  XmNwidth = 75;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5;  XmNleftPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {H XmNactivateCallback = procedure pushButtonCallback(k_softDeleteButton); };a2}; /* END softDeleteButton : XmPushButtonGadget *//object softDismissButton : XmPushButtonGadget { arguments { XmNlabelString = 'Dismiss'; XmNwidth = 75;e" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;5 XmNleftWidget = XmPushButtonGadget softDeleteButton;L, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;e };X callbacks {I XmNactivateCallback = procedure pushButtonCallback(k_softDismissButton);e };o3}; /* END softDismissButton : XmPushButtonGadget */  f&object softwareDialog : XmFormDialog { arguments {: XmNdialogTitle = 'Software Modification/Addition Dialog'; XmNautoUnmanage = false;b }; controls {a XmLabelGadget sdUserLabel;N XmLabelGadget sdUserText; XmLabelGadget sdSoftwareLabel;H XmTextField sdSoftwareText; XmLabelGadget sdMajorLabel; XmTextField sdMajorText;h XmLabelGadget sdMinorLabel; XmTextField sdMinorText;o XmLabelGadget sdSubLabel; XmTextField sdSubText;t XmLabelGadget sdLicenseLabel; XmTextField sdLicenseText;t XmLabelGadget sdMiscLabel;h XmTextField sdMiscText; XmSeparatorGadget sdSep1; XmPushButtonGadget sdOkButton;" XmPushButtonGadget sdApplyButton;$ XmPushButtonGadget sdDismissButton; };g*}; /* END softwareDialog : XmFormDialog */valuep sdlo : 11; sdto : 5;X sdleft : 5; sdWidth : 190;$object sdUserLabel : XmLabelGadget { arguments { XmNlabelString = 'User Id:';a XmNwidth = sdWidth; XmNalignment = XmALIGNMENT_END;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = sdlo;r* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0; };i(}; /* END sdUserLabel : XmLabelGadget */#object sdUserText : XmLabelGadget {o arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = sdlo;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = sdleft;+ XmNleftWidget = XmLabelGadget sdUserLabel;c };e'}; /* END sdUserText : XmLabelGadget */ (object sdSoftwareLabel : XmLabelGadget { arguments { XmNlabelString = 'Software:'; XmNwidth = sdWidth; XmNalignment = XmALIGNMENT_END;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdlo;a) XmNtopWidget = XmLabelGadget sdUserText;e* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;  };A,}; /* END sdSoftwareLabel : XmLabelGadget */%object sdSoftwareText : XmTextField {p arguments { XmNmaxLength = 80;t XmNcolumns = 25;l$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdto;t) XmNtopWidget = XmLabelGadget sdUserText;m, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = sdleft;/ XmNleftWidget = XmLabelGadget sdSoftwareLabel;  };X)}; /* END sdSoftwareText : XmTextField */ %object sdMajorLabel : XmLabelGadget {N arguments { XmNwidth = sdWidth; XmNalignment = XmALIGNMENT_END;$ XmNlabelString = 'Version- Major:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdlo;a+ XmNtopWidget = XmTextField sdSoftwareText;o* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0; };e)}; /* END sdMajorLabel : XmLabelGadget */{"object sdMajorText : XmTextField { arguments { XmNmaxLength = 2; XmNcolumns = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdto;+ XmNtopWidget = XmTextField sdSoftwareText;m, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = sdleft;, XmNleftWidget = XmLabelGadget sdMajorLabel; }; &}; /* END sdMajorText : XmTextField */%object sdMinorLabel : XmLabelGadget {l arguments { XmNlabelString = 'Minor:';n$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdlo;e+ XmNtopWidget = XmTextField sdSoftwareText;=, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;) XmNleftWidget = XmTextField sdMajorText;D }; )}; /* END sdMinorLabel : XmLabelGadget */e"object sdMinorText : XmTextField { arguments { XmNmaxLength = 2; XmNcolumns = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdto;B+ XmNtopWidget = XmTextField sdSoftwareText;x, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = sdleft;, XmNleftWidget = XmLabelGadget sdMinorLabel; }; &}; /* END sdMinorText : XmTextField */#object sdSubLabel : XmLabelGadget {A arguments { XmNlabelString = 'Sub:'; $ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdlo;f+ XmNtopWidget = XmTextField sdSoftwareText;T, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;) XmNleftWidget = XmTextField sdMinorText;a };r'}; /* END sdSubLabel : XmLabelGadget */X object sdSubText : XmTextField { arguments { XmNmaxLength = 2; XmNcolumns = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdto;X+ XmNtopWidget = XmTextField sdSoftwareText;W, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = sdleft;* XmNleftWidget = XmLabelGadget sdSubLabel; };}$}; /* END sdSubText : XmTextField */'object sdLicenseLabel : XmLabelGadget { arguments { XmNwidth = sdWidth; XmNalignment = XmALIGNMENT_END;- XmNlabelString = 'License Expiration Date:';u$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdlo;O( XmNtopWidget = XmTextField sdMajorText;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;l }; +}; /* END sdLicenseLabel : XmLabelGadget */n$object sdLicenseText : XmTextField { arguments { XmNcolumns = 20;f$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdto; ( XmNtopWidget = XmTextField sdMajorText;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = sdleft;. XmNleftWidget = XmLabelGadget sdLicenseLabel; };(}; /* END sdLicenseText : XmTextField */$object sdMiscLabel : XmLabelGadget { arguments { XmNwidth = sdWidth; XmNalignment = XmALIGNMENT_END;# XmNlabelString = 'Miscellaneous:';a$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdlo;X* XmNtopWidget = XmTextField sdLicenseText;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;N };d(}; /* END sdMiscLabel : XmLabelGadget */!object sdMiscText : XmTextField {; arguments { XmNcolumns = 50;i$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdto;t* XmNtopWidget = XmTextField sdLicenseText;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = sdleft;+ XmNleftWidget = XmLabelGadget sdMiscLabel;r };l%}; /* END sdMiscText : XmTextField */S#object sdSep1 : XmSeparatorGadget {s arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = sdto;o' XmNtopWidget = XmTextField sdMiscText;x* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = sdleft;+ XmNrightAttachment = XmATTACH_FORM;= XmNrightOffset = sdleft;l };l'}; /* END sdSep1 : XmSeparatorGadget */X(object sdOkButton : XmPushButtonGadget { arguments { XmNwidth = 100; XmNlabelString = 'Ok';o$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;) XmNtopWidget = XmSeparatorGadget sdSep1;t& XmNrightAttachment = XmATTACH_WIDGET; XmNriw>/F$MULTIHELP020.A [A]PROBLEM.UIL;1UTghtOffset = 10;m3 XmNrightWidget = XmPushButtonGadget sdApplyButton;s };0 callbacks {B XmNactivateCallback = procedure pushButtonCallback(k_sdOkButton); };A,}; /* END sdOkButton : XmPushButtonGadget */+object sdApplyButton : XmPushButtonGadget { arguments { XmNwidth = 100; XmNlabelString = 'Apply';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;k) XmNtopWidget = XmSeparatorGadget sdSep1;L( XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = -50; XmNrightPosition = 50;  };n callbacks {E XmNactivateCallback = procedure pushButtonCallback(k_sdApplyButton);N };w/}; /* END sdApplyButton : XmPushButtonGadget */-object sdDismissButton : XmPushButtonGadget {f arguments { XmNwidth = 100; XmNlabelString = 'Dismiss';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;O) XmNtopWidget = XmSeparatorGadget sdSep1;n, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;2 XmNleftWidget = XmPushButtonGadget sdApplyButton; };D callbacks {G XmNactivateCallback = procedure pushButtonCallback(k_sdDismissButton);i }; 1}; /* END sdDismissButton : XmPushButtonGadget */}*[A]PUSH_BUTTONS.UIL;1+,D./ 4#p- 0123KPWO56g7s89GHJvaluek_LogonCancel : 0;k_LogonClear : 1;k_LogonOk : 2;k_cancelWorkReport : 3;k_ciCancel : 4; k_ciOk : 5;k_commandsButton : 6;k_commitWorkReport : 7;k_createRequest : 8;k_creditApply : 9;k_creditDismiss : 10;k_creditOk : 11;k_custHardList : 12;k_custSoftList : 13;k_customerHelp : 14;k_customerOpen : 15;k_customerQueue : 16;k_dismissViewWR : 17;k_dueDateMenu : 18;k_enterProblemId : 19;k_exitButton : 20;k_extractAll : 21;k_extractCancel : 22;k_extractOk : 23;k_extractWR : 24;k_helpOnContext : 25;k_mainFileDialogOk : 26;k_notifications : 27;%k_notificationsAcknowledgeAll : 28;k_notifyApply : 29;k_notifyDismiss : 30;k_notifyOk : 31;k_piClear : 32;k_piDismiss : 33;k_pmCustomerInfo : 34;k_pmPreviousRequests : 35;k_problemAccept : 36;k_problemAttempt : 37;k_problemCancel : 38;k_problemCopy : 39;k_problemPaste : 40;k_problemRequeue : 41;k_problemUpdate : 42;k_qdApply : 43;k_qdDismiss : 44;k_qdOk : 45;k_queries : 46;k_reportsButton : 47;k_restoreButton : 48;k_restoreNamedOptions : 49;k_restoreOptions : 50;k_saveNamedOptions : 51;k_saveOptions : 52;k_sdApplyButton : 53;k_sdDismissButton : 54;k_sdOkButton : 55;k_softAddButton : 56;k_softDeleteButton : 57;k_softDismissButton : 58;k_softModifyButton : 59;k_sortButton : 60;k_svnAutoQuery : 61;k_svnGoToRequest : 62;k_svnQuickAccept : 63;k_svnQuickView : 64;k_svnViewDueDate : 65;k_svnViewLockInfo : 66;k_svnViewNextEsc : 67;k_updateButton : 68;k_updateInterval : 69;k_usDueDate : 70;k_wrCredit : 71;k_wrFirstArrow : 72;k_wrIncludeFile : 73;k_wrLastArrow : 74;k_wrLeftArrow : 75;k_wrRightArrow : 76; *[A]QLOG.UIL;1+,0.H/ 4RHH- 0123KPWOI56Avce7bz89GHJ module qlog version = 'V1.0' names = case_sensitive objects = { }/***++** ** Facility:5** MultiHelp [R] (R) 1993 - SIO Technologies Inc.** ** Abstract:G** This module implements a simple service request logging interface.6** It is designed to go onto VMS and UNIX platforms.**** Compilation:**** VMS: UIL/MOTIF QLOG.UIL9** Copy qlog.UID Sys$Common:[Decw$Defaults.User]*.*;0**$** U**X: uil -o qlog.uid qlog.uil'** setenv UIDPATH /usr/lib/qlog.uid** qlog -d helpmt:0.0** ** Author: ** jjjones**** Creation Date: ** 12/28/93**** Modification History:****--*//*** Procedure Declarations*/ procedure pushButtonCallback; fileDialogCallback; creationCallback;/*** Value Declarations*/value version : 'V1.0';value to : 0; lo : to + 7; room : 10; la : 20; ra : 70; menuWidth : 90; menuHeight : 20; subjectLabelWidth : 50;O f_mainMenu : 'Select an item from the menu by pressing Mouse Button 1';M f_classMenu : 'Select the problem class that best fits your problem'; f_severityMenu :I 'Select the severity that best describes the impact to your operations'; f_priorityMenu :F 'Select the priority that describes the order of attention required'; f_classLabel :> 'Currently selected class [Scroll right by clicking inside]'; f_severityLabel :A 'Currently selected severity [Scroll right by clicking inside]'; f_priorityLabel :A 'Currently selected priority [Scroll right by clicking inside]';R f_dueDate : 'Enter the date that the service request is due or leave blank';@ f_summary : 'Enter a brief (100 chars) problem statement';? f_include : 'Include a file into the service request text';I f_ccList : 'Enter a valid mail address as sent from the server node';M f_problem : 'Enter the full description of your request - be detailed';9 f_send : 'Sends request to MultiHelp help desk';= f_clear : 'Resets all fields to their initial state';* f_cancel : 'Exits the application';? f_help : 'Extended help on logging a service request';G f_dueDateMenu : 'Select an option from the menu or enter your own';3 f_functionMenu : 'Select the desired function'; k_includeFile : 1; k_send : 2; k_clear : 3; k_cancel : 4; k_help : 5; k_dueDateMenu : 6; k_usDueDate : 7; k_sendInitiate : 8; k_copy : 9; k_paste : 10; k_classPulldown : 1; k_severityPulldown : 2; k_priorityPulldown : 3; k_classLabel : 4; k_severityLabel : 5; k_priorityLabel : 6; colortable: color_table(F background color = ' ', foreground color = '*'); MHicon :% icon(color_table = colortable? ,' '? ,' * * * * * * * * * * * * * * * * * * * * * * * * '? ,' * * * * * * * * * * * * ******* * * * * * * * '? ,' * * * * * * * * * * * ********* * * * * * * '? ,' * * * * * * * * * * *********** * * * * * * '? ,' * * * * * * * * * *********** * * * * * '? ,' * * * * * * * * *********** * * * * * '? ,' * * * * * * * * *********** * * * * '? ,' * * * * * * * * * ******* * * * * '? ,' * * * * * * * * * * ******* * * * '? ,' * * * * * * * * ******* * * * '? ,' * * * * * * * ******* * * '? ,' * * * * * * ******* * * '? ,' * * * * * * * ******* * '? ,' * * * * * * * * * ******* * '? ,' * * * * * * * * * * * * * ******* '? ,' * * * * * * * * * * * * * * * * * ******* '? ,' * * * * * * * * * * * * * * * * * * * * ****** '? ,' * * * * * * * * * * * * * * * * * * * ******** '? ,' * * * * * * ******* '? ,' * * * * *** ******* '? ,' * * * * * * * * * * * * * * * * *** * ***** '? ,' * * * * *************************** * *** * '? ,' * * * * ** * * * * * * * * *** * * *** '? ,' * * * * * * * * * * *** * xaߕ$MULTIHELP020.A0  [A]QLOG.UIL;1RH5  ** *** * * * * * '? ,' * * * * ** ** * *** ** * ** *** * * * *** '? ,' * * * * * *** *** * *** * ** *** * * * *** '? ,' * * * * ** **** ***** ** * ** *** * * * *** '? ,' * * * * * ********* * ******** *** * * * *** '? ,' * * * * ** ** *** *** ******** *** * * * *** '? ,' * * * * * *** * ** * *** * ** *** * * *** * '? ,' * * * * ** ** * * *** ** * ** *** * * ***** '? ,' * * * * * *** * ** * *** * ** *** * * *** * '? ,' * * * * ** ** * * *** ** * ** *** * * *** * '? ,' * * * * * *** * * *** * '? ,' * * * * * * * * * * * * * * * * *** * * *** * '? ,' * * * * ***************************** * * *** * '? ,' * * * * ***************************** * * * *** '? ,' * * * * * * * * * * * * * * * * * * * * * *** * '? ,' * * * * * * * * * * * * * * * * * * * * * * *** '? ,' * * * *** * * *** '? ,' * * * *** * * *** '? ,' * * * * * * * * * * * * * * * * *** * ***** * '? ,' * * * * * * * * * * * * * * * * *** * ***** * '? ,' * * * * * * * * * * * * * * * *** * *** * * * '? ,' * ******************************* * * *** * * '? ,' * ******************************* * * * *** * * '? ,' * * * * * * * * * * * * * * * * * * * * *** * * '? ,' * * * * * * * * * * * * * * * * * * * * * * * * '? ,' ' ); /*** Object Declarations*/object mhlpMain : XmForm { arguments { XmNautoUnmanage = false;J XmNdialogTitle = 'MultiHelp[R] Request QuickLog - CopyRight 1994';! XmNresizePolicy = XmRESIZE_NONE; }; controls { XmMenuBar mainMenu; XmForm topForm; XmLabelGadget ccListLabel; XmTextField ccListText;# XmLabelGadget summaryLabel; XmTextField summaryText; XmPushButton includeFileButton;# XmScrolledWindow serviceRequestSW; XmFrame mhlpHelpFrame; XmPushButton sendButton;! XmPushButton clearButton;" XmPushButton cancelButton; };}; /* END mhlpMain : XmForm */ object mainMenu : XmMenuBar { arguments { XmNuserData = f_mainMenu;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 0; }; controls { XmCascadeButtonGadget { arguments { XmNlabelString = 'File'; XmNmnemonic = keysym("F"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments { XmNlabelString = 'Exit';! XmNmnemonic = keysym("E");% XmNaccelerator = "CtrlZ";% XmNacceleratorText = 'ctrl+z'; }; callbacks {D XmNactivateCallback = procedure pushButtonCallback(k_cancel); };$ }; /* END XmPushButtonGadget */ }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ XmCascadeButtonGadget { arguments { XmNlabelString = 'Edit'; XmNmnemonic = keysym("E"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments { XmNlabelString = 'Copy';! XmNmnemonic = keysym("C");% XmNaccelerator = "CtrlC";% XmNacceleratorText = 'ctrl+c'; }; callbacks {B XmNactivateCallback = procedure pushButtonCallback(k_copy); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments { XmNlabelString = 'Paste';! XmNmnemonic = keysym("P");% XmNaccelerator = "CtrlP";% XmNacceleratorText = 'ctrl+p'; }; callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_paste); };$ }; /* END XmPushButtonGadget */ }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ XmCascadeButtonGadget { arguments { XmNlabelString = 'Commands'; XmNmnemonic = keysym("C"); }; controls { XmPulldownMenu { controls { XmPushButtonGadget { arguments {' XmNlabelString = 'Send Request';! XmNmnemonic = keysym("S");% XmNaccelerator = "CtrlS";% XmNacceleratorText = 'ctrl+s'; }; callbacks {" XmNactivateCallback = procedures {! pushButtonCallback(k_send); }; };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {' XmNlabelString = 'Clear Fields';! XmNmnemonic = keysym("C");% XmNaccelerator = "CtrlL";% XmNacceleratorText = 'ctrl+l'; }; callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_clear); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {* XmNlabelString = 'Include File...';! XmNmnemonic = keysym("I");% XmNaccelerator = "CtrlF";% XmNacceleratorText = 'ctrl+f'; }; callbacks {I XmNactivateCallback = procedure pushButtonCallback(k_includeFile); };$ }; /* END XmPushButtonGadget */ }; }; /* END XmPulldownMenu */ };# }; /* END XmCascadeButtonGadget */ };!}; /* END mainMenu : XmMenuBar */ object topForm : XmForm { arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;# XmNtopWidget = XmMenuBar mainMenu;l* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 50;6! XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;! XmNleftOffset = 0;d1! XmNleftWidget = XmTextField summaryText;C+ XmNrightAttachment = XmATTACH_FORM;U XmNrightOffset = 0; };s controls {$ XmFrame iconFrame; XmFrame versionFrame; XmFrame attributeFrame; XmFrame dueDateFrame;! XmOptionMenu functionMenu; };}; /* END topForm : XmForm */object iconFrame : XmFrame { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;+ XmNrightAttachment = XmATTACH_FORM;t XmNrightOffset = 5; XmNshadowType = XmSHADOW_IN;a XmNshadowThickness = 10;c };i controls {u XmLabelGadget iconLabel; };a }; /* END iconFrame : XmFrame */"object iconLabel : XmLabelGadget { arguments { XmNlabelType = XmPIXMAP;e XmNlabelPixmap = MHicon;c };l&}; /* END iconLabel : XmLabelGadget */object versionFrame : XmFrame {i arguments {- XmNrightAttachment = XmATTACH_WIDGET;e XmNrightOffset = 5;$ XmNrightWidget = XmFrame iconFrame;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;t XmNbottomOffset = 0; % XmNbottomWidget = XmFrame iconFrame;r XmNshadowType = XmSHADOW_IN;  XmNshadowThickness = 5; };s controls { XmLabelGadget { arguments { XmNlabelString = version; };e }; /* END XmLabelGadget */e };d#}; /* END versionFrame : XmFrame */n!object attributeFrame : XmFrame {u arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT;n XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;% XmNtopWidget = XmFrame dueDateFrame;i/ XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET;  XmNrightOffset = 0;' XmNrightWidget = XmFrame dueDateFrame;t* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;  };r controls {t XmForm {  arguments { XmNmarginHeight = 5;' }; controls {S XmMenuBar classMenu;  XmMenuBar severityMenu; XmMenuBar priorityMenu; XmFrame classFrame; XmFrame severityFrame;a XmFrame priorityFrame;  };t }; /* END XmForm */ };v%}; /* END attributeFrame : XmFrame */lobject classMenu : XmMenuBar { arguments { XmNtraversalOn = true;e XmNuserData = f_classMenu; XmNmarginHeight = 0; % XmNentryAlignment = XmALIGNMENT_END;  XmNheight = menuHeight; XmNresizeHeight = false;  XmNshadowThickness = 1;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 4;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;P& XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 5;% XmNrightWidget = XmFrame classFrame; 0 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; XmNbottomOffset = 1;c& XmNbottomWidget = XmFrame classFrame; };d controls {  XmCascadeButtonGadget { arguments { XmNlabelString = 'Class'; XmNwidth = menuWidth; XmNrecomputeSize = false;" XmNalignment = XmALIGNMENT_END; XmNmay $MULTIHELP020.A0  [A]QLOG.UIL;1RH&"rginHeight = 0;* };* controls { XmPulldownMenu {  callbacks {F MrmNcreateCallback = procedure creationCallback(k_classPulldown); };* }; /* END XmPulldownMenu */ }; # }; /* END XmCascadeButtonGadget */  }; "}; /* END classMenu : XmMenuBar */!object severityMenu : XmMenuBar { arguments { XmNuserData = f_severityMenu; XmNmarginHeight = 0;*% XmNentryAlignment = XmALIGNMENT_END;* XmNheight = menuHeight; XmNresizeHeight = false;* XmNshadowThickness = 1;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmMenuBar classMenu;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;*& XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 5;( XmNrightWidget = XmFrame severityFrame;0 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; XmNbottomOffset = 1; ) XmNbottomWidget = XmFrame severityFrame;  }; controls {  XmCascadeButtonGadget { arguments { XmNlabelString = 'Severity';  XmNwidth = menuWidth; XmNrecomputeSize = false;" XmNalignment = XmALIGNMENT_END; XmNmarginHeight = 0;' }; controls {  XmPulldownMenu {* callbacks {I MrmNcreateCallback = procedure creationCallback(k_severityPulldown);  };  }; /* END XmPulldownMenu */ }; # }; /* END XmCascadeButtonGadget */* };*%}; /* END severityMenu : XmMenuBar */ !object priorityMenu : XmMenuBar { arguments { XmNuserData = f_priorityMenu; XmNmarginHeight = 0;% XmNentryAlignment = XmALIGNMENT_END;  XmNheight = menuHeight; XmNresizeHeight = false;  XmNshadowThickness = 1;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;' XmNtopWidget = XmMenuBar severityMenu;** XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5; & XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 5;( XmNrightWidget = XmFrame priorityFrame;0 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; XmNbottomOffset = 1;) XmNbottomWidget = XmFrame priorityFrame;  };* controls { XmCascadeButtonGadget { arguments { XmNlabelString = 'Priority';  XmNwidth = menuWidth; XmNrecomputeSize = false;" XmNalignment = XmALIGNMENT_END; XmNmarginHeight = 0;  }; controls {* XmPulldownMenu {* callbacks {I MrmNcreateCallback = procedure creationCallback(k_priorityPulldown);  };' }; /* END XmPulldownMenu */ };*# }; /* END XmCascadeButtonGadget */  }; %}; /* END priorityMenu : XmMenuBar */ object classFrame : XmFrame {* arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 5; }; controls {  XmTextField { arguments { XmNmarginHeight = 0;* XmNmarginWidth = 1; XmNuserData = f_classLabel;! XmNwidth = 100; XmNresizeWidth = false; XmNeditable = false;* XmNshadowThickness = 0; };* callbacks {A MrmNcreateCallback = procedure creationCallback(k_classLabel);* };* }; /* END XmLabelGadget */  }; !}; /* END classFrame : XmFrame */ object severityFrame : XmFrame { arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;# XmNtopWidget = XmFrame classFrame;+ XmNrightAttachment = XmATTACH_FORM;t XmNrightOffset = 5; };; controls {o XmTextField { arguments { XmNmarginHeight = 0;X XmNmarginWidth = 1;! XmNuserData = f_severityLabel;L! XmNwidth = 100;c XmNresizeWidth = false; XmNeditable = false;  XmNshadowThickness = 0; };s callbacks {D MrmNcreateCallback = procedure creationCallback(k_severityLabel); };  }; /* END XmLabelGadget */; }; $}; /* END severityFrame : XmFrame */ object priorityFrame : XmFrame { arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;& XmNtopWidget = XmFrame severityFrame;+ XmNrightAttachment = XmATTACH_FORM;e XmNrightOffset = 5; };r controls {t XmTextField { arguments { XmNmarginHeight = 0;  XmNmarginWidth = 1;! XmNuserData = f_priorityLabel;r! XmNwidth = 100;N XmNresizeWidth = false; XmNeditable = false;X XmNshadowThickness = 0; }; callbacks {D MrmNcreateCallback = procedure creationCallback(k_priorityLabel); };n }; /* END XmLabelGadget */  };c$}; /* END priorityFrame : XmFrame */ eobject dueDateFrame : XmFrame {} arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT;p XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;E };C controls {a XmForm {X controls {a XmMenuBar dueDateMenu;X XmTextField dueDateText;X };n }; /* END XmForm */ };#}; /* END dueDateFrame : XmFrame */ object dueDateMenu : XmMenuBar { arguments { XmNuserData = f_dueDateMenu;S% XmNentryAlignment = XmALIGNMENT_END;k XmNresizeHeight = false;e XmNshadowThickness = 1;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;C& XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 0;* XmNrightWidget = XmTextField dueDateText;0 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; XmNbottomOffset = 3;P+ XmNbottomWidget = XmTextField dueDateText; }; controls {o XmCascadeButtonGadget { arguments { XmNlabelString = 'Due Date';a XmNwidth = menuWidth; XmNrecomputeSize = false;" XmNalignment = XmALIGNMENT_END; }; controls {E" XmPulldownMenu dueDatePulldown; };C# }; /* END XmCascadeButtonGadget */t };g$}; /* END dueDateMenu : XmMenuBar */'object dueDatePulldown : XmPulldownMenuC { controls {n XmCascadeButtonGadget { arguments { XmNlabelString = 'Hours'; };g controls {X XmPulldownMenu {e arguments { XmNnumColumns = 4; " XmNpacking = XmPACK_COLUMN; };N controls {c XmPushButtonGadget {c arguments {v XmNlabelString = '1 Hours';  }; callbacks {aD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {n arguments { XmNlabelString = '2 Hours';) }; callbacks {aD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {l arguments {  XmNlabelString = '3 Hours';t }; callbacks {PD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {C arguments {X XmNlabelString = '4 Hours'; }; callbacks {lD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {w XmNlabelString = '5 Hours';C }; callbacks {D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {; arguments {e XmNlabelString = '6 Hours';f }; callbacks {HD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {x arguments { XmNlabelString = '7 Hours';A }; callbacks {hD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {f arguments {; XmNlabelString = '8 Hours'; }; callbacks {FD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {A XmNlabelString = '9 Hours';  }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {M arguments {  XmNlabelString = '10 Hours'; }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {r arguments {  XmNlabelString = '11 Hours'; }; callbacks {XD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {b arguments {n XmNlabelString = '12 Hours'; }; callbacks {DD XmNactivateCallback = procedure puz|!.$MULTIHELP020.A0  [A]QLOG.UIL;1RHF",shButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {H arguments {h XmNlabelString = '13 Hours'; }; callbacks {XD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {  arguments {e XmNlabelString = '14 Hours'; }; callbacks {eD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {M arguments { XmNlabelString = '15 Hours'; }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {e arguments {g XmNlabelString = '16 Hours'; }; callbacks {cD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {n arguments {c XmNlabelString = '17 Hours'; }; callbacks {mD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {l arguments {m XmNlabelString = '18 Hours'; }; callbacks {sD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {X arguments { XmNlabelString = '19 Hours'; }; callbacks {GD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {n arguments {o XmNlabelString = '20 Hours'; }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {a arguments {X XmNlabelString = '21 Hours'; }; callbacks {TD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {u XmNlabelString = '22 Hours'; }; callbacks {FD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {a arguments {O XmNlabelString = '23 Hours'; }; callbacks {tD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {t arguments {z XmNlabelString = '24 Hours'; }; callbacks {ND XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ };n }; /* END XmPulldownMenu */ }; % }; /* END XmCascadeButtonGadget */} XmCascadeButtonGadget { arguments { XmNlabelString = 'Days';* };e controls {  XmPulldownMenu {s controls {f XmPushButtonGadget {g arguments {i XmNlabelString = '1 Day';X }; callbacks {ND XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {u arguments {t XmNlabelString = '2 Days'; }; callbacks {AD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {X arguments { XmNlabelString = '3 Days'; }; callbacks {lD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {l arguments {_ XmNlabelString = '4 Days'; }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {w arguments {  XmNlabelString = '5 Days'; }; callbacks {yD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {c arguments {; XmNlabelString = '6 Days'; }; callbacks {CD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {a arguments {  XmNlabelString = '7 Days'; }; callbacks {tD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ };a }; /* END XmPulldownMenu */ }; % }; /* END XmCascadeButtonGadget */* XmCascadeButtonGadget { arguments { XmNlabelString = 'Weeks'; };I controls {c XmPulldownMenu {c controls {D XmPushButtonGadget {N arguments {l XmNlabelString = '1 Week'; }; callbacks {D XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {v arguments {w XmNlabelString = '2 Weeks';  }; callbacks {fD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {E arguments { XmNlabelString = '3 Weeks';  }; callbacks {tD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ XmPushButtonGadget {f arguments {e XmNlabelString = '4 Weeks';  }; callbacks {AD XmNactivateCallback = procedure pushButtonCallback(k_dueDateMenu); };& }; /* END XmPushButtonGadget */ };i }; /* END XmPulldownMenu */ };r% }; /* END XmCascadeButtonGadget */t XmPushButtonGadget usDueDate; };X }; /* END XmPulldownMenu */'object usDueDate : XmPushButtonGadget {r arguments {# XmNlabelString = 'User Specified'; };* callbacks {A XmNactivateCallback = procedure pushButtonCallback(k_usDueDate);e };r+}; /* END usDueDate : XmPushButtonGadget */e"object dueDateText : XmTextField { arguments {A XmNuserData = f_dueDate; XmNmaxLength = 25;) XmNtopAttachment = XmATTACH_FORM;t XmNtopOffset = 2;+ XmNrightAttachment = XmATTACH_FORM;a XmNrightOffset = 5;a, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 2;: };&}; /* END dueDateText : XmTextField */ m$object functionMenu : XmOptionMenu { arguments { XmNuserData = f_functionMenu; XmNlabelString = 'Function:';5 XmNmenuHistory = XmPushButtonGadget requestFunction;X$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;% XmNtopWidget = XmFrame dueDateFrame;c6 XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET; XmNrightOffset = 12;u };T controls {t XmPulldownMenu {T controls {D XmCascadeButtonGadget { arguments {! XmNlabelString = 'Function'; XmNwidth = menuWidth; XmNrecomputeSize = false; };r controls {a XmPulldownMenu {t controls {S* XmPushButtonGadget requestFunction;) XmPushButtonGadget lookupFunction;M, XmPushButtonGadget knowledgeFunction; };a }; /* END XmPulldownMenu */ };e% }; /* END XmCascadeButtonGadget */P };M }; /* END XmPulldownMenu */ };a(}; /* END functionMenu : XmOptionMenu */-object requestFunction : XmPushButtonGadget { arguments {< XmNlabelString = 'Service Requests (Creation and Replies)'; }; 1}; /* END requestFunction : XmPushButtonGadget */n,object lookupFunction : XmPushButtonGadget { arguments {, XmNlabelString = 'Lookup Service Requests'; };a0}; /* END lookupFunctoin : XmPushButtonGadget *//object knowledgeFunction : XmPushButtonGadget {B arguments {' XmNlabelString = 'Knowledge Requests';r };t3}; /* END knowledgeFunction : XmPushButtonGadget */k a$object ccListLabel : XmLabelGadget { arguments {e XmNlabelString = 'CC:';D XmNwidth = subjectLabelWidth; XmNalignment = XmALIGNMENT_END;+ XmNtopAttachment = XmATTACH_WIDGET;; XmNtopOffset = lo;/ XmNtopWidget = XmTextField summaryText;a# XmNleftAttachment = XmATTACH_FORM;s XmNleftOffset = 5; };(}; /* END ccListLabel : XmLabelGadget */!object ccListText : XmTextField {l arguments {t XmNuserData = f_ccList;a XmNmaxLength = 100;+ XmNtopAttachment = XmATTACH_WIDGET;  XmNtopOffset = to;/ XmNtopWidget = XmTextField summaryText;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;2{7$MULTIHELP020.A0  [A]QLOG.UIL;1RH= XmNleftWidget = XmLabelGadget ccListLabel;+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 5;t };%}; /* END ccListText : XmTextField */v%object summaryLabel : XmLabelGadget {k arguments {;$ XmNlabelString = 'Subject:'; XmNwidth = subjectLabelWidth; XmNalignment = XmALIGNMENT_END;+ XmNtopAttachment = XmATTACH_WIDGET;  XmNtopOffset = lo+4;& XmNtopWidget = XmForm topForm;# XmNleftAttachment = XmATTACH_FORM;e XmNleftOffset = 5;t };)}; /* END summaryLabel : XmLabelGadget */'"object summaryText : XmTextField { arguments {r XmNuserData = f_summary; XmNmaxLength = 100;E+ XmNtopAttachment = XmATTACH_WIDGET;G XmNtopOffset = to+4;& XmNtopWidget = XmForm topForm;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 0;3 XmNleftWidget = XmLabelGadget summaryLabel; + XmNrightAttachment = XmATTACH_FORM;u XmNrightOffset = 5;' };&}; /* END summaryText : XmTextField */,object serviceRequestSW : XmScrolledWindow { arguments {*! XmNscrollBarDisplayPolicy = XmAS_NEEDED;+ XmNtopAttachment = XmATTACH_WIDGET;  XmNtopOffset = to;. XmNtopWidget = XmTextField ccListText;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 5;m. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 3;0 @ XmNbottomWidget = XmFrame mhlpHelpFrame; };} controls {s XmText serviceRequestText;s };o0}; /* END serviceRequestSW : XmScrolledWindow */$object serviceRequestText : XmText { arguments { XmNuserData = f_problem; XmNeditable = true;*( XmNeditMode = XmMULTI_LINE_EDIT; XmNresizeHeight = false; XmNresizeWidth = false;;! XmNcursorPositionVisible = true;t" XmNautoShowCursorPosition = true;! XmNwordWrap = true; };(}; /* END serviceRequestText : XmText */ object mhlpHelpFrame : XmFrame { arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT; XmNshadowThickness = 2;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 3;+ XmNrightAttachment = XmATTACH_FORM;e XmNrightOffset = 3;l. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;2 XmNbottomWidget = XmPushButton sendButton; };* controls {t XmLabelGadget mhlpHelpText; };d$}; /* END mhlpHelpFrame : XmFrame */%object mhlpHelpText : XmLabelGadget {  arguments {b };)}; /* END mhlpHelpText : XmLabelGadget */; "object sendButton : XmPushButton { arguments {G XmNuserData = f_send;( XmNlabelString = 'Send Request'; XmNwidth = 125;C- XmNrightAttachment = XmATTACH_WIDGET;e XmNrightOffset = 10;2 XmNrightWidget = XmPushButton clearButton;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {r( XmNactivateCallback = procedures { pushButtonCallback(k_send); };P };&}; /* END sendButton : XmPushButton */#object clearButton : XmPushButton {  arguments {b XmNuserData = f_clear;( XmNlabelString = 'Clear Fields'; XmNwidth = 125; / XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5;; XmNrightPosition = 50; , XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks { D XmNactivateCallback = procedure pushButtonCallback(k_clear); };'}; /* END clearButton : XmPushButton */C)object includeFileButton : XmPushButton {a arguments { XmNuserData = f_include;t$ XmNlabelString = 'Include File...'; XmNwidth = 125;O. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5;C XmNleftPosition = 50;% XmNbottomAttachment = XmATTACH_FORM;  XmNbottomOffset = 5;t };d callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_includeFile);H };;-}; /* END includeFileButton : XmPushButton */ $object cancelButton : XmPushButton { arguments {  XmNuserData = f_cancel; XmNlabelString = 'Exit'; XmNwidth = 125;*, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;{7 XmNleftWidget = XmPushButton includeFileButton; , XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;$ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10; }; callbacks {CE XmNactivateCallback = procedure pushButtonCallback(k_cancel); };(}; /* END cancelButton : XmPushButton */"object helpButton : XmPushButton { arguments {  XmNsensitive = false; XmNuserData = f_help;d# XmNlabelString = 'Help...';; XmNwidth = 125;X, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10; 2 XmNleftWidget = XmPushButton cancelButton;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {GC XmNactivateCallback = procedure pushButtonCallback(k_help);b };&}; /* END helpButton : XmPushButton */ a"object fileDialog : XmFormDialog { arguments {1 XmNdialogTitle = 'MultiHelp File Selection Box';d };/ controls {s XmFileSelectionBox {  arguments {$ XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;, XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0; - XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 0;. XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;a }; callbacks {4 XmNhelpCallback = procedure pushButtonCallback();6 XmNcancelCallback = procedure fileDialogCallback();2 XmNokCallback = procedure fileDialogCallback(); };= }; /* END XmFileSelectionBox */ };&}; /* END fileDialog : XmFormDialog */end module /* qlog */;*[A]QUERY_DIALOG.UIL;1+, .'/ 4E'&X- 0123KPWO'56%.7589GHJ/*** Constant Declarations*/value la : 15; ra : 65; to : -1; lo : to + 7; delta : 2;#object queryDialog : XmFormDialog { arguments {* XmNdialogTitle = 'Enter Search Criteria'; XmNautoUnmanage = false; XmNdefaultButton = qdOk; }; controls { XmToggleButton qdQueueToggle; XmSeparatorGadget qdSep1; XmRowColumn openCloseBox; XmToggleButton attemptsToggle; XmRowColumn classRelativeBox; XmSeparatorGadget qdSep4; XmSeparatorGadget qdSep5; XmPushButtonGadget qdOk; XmPushButtonGadget qdApply; XmPushButtonGadget qdDismiss; XmPushButtonGadget qdHelp; XmFrame qdHelpFrame;! XmLabelGadget queryHelpText; XmLabelGadget classLabel; XmTextField classText; XmLabelGadget severityLabel; XmTextField severityText; XmLabelGadget priorityLabel; XmTextField priorityText; XmLabelGadget statusLabel; XmTextField statusText; XmLabelGadget sortLabel; XmTextField sortText; XmLabelGadget subjectLabel; XmTextField subjectText; XmLabelGadget customerLabel; XmTextField customerText; XmLabelGadget ownerLabel; XmTextField ownerText; XmLabelGadget sinceLabel; XmTextField sinceText; XmLabelGadget beforeLabel; XmTextField beforeText; XmLabelGadget categoryLabel; XmTextField categoryText; XmSeparatorGadget qdSep2; XmSeparatorGadget qdSep3;! XmSeparatorGadget qdSep6; }; callbacks {@ XmNhelpCallback = procedure contextHelpCallback(h_queryDialog); };'}; /* END queryDialog : XmFormDialog */'object qdQueueToggle : XmToggleButton { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -(125/2); XmNleftPosition = 50; XmNwidth = 125; XmNlabelString = 'Queued Only'; XmNuserData = f_qdQueue; }; callbacks {< MrmNcreateCallback = procedure creationCallback(k_qdQueue); };%}; /* END qdQueue : XmToggleButton */#object qdSep1 : XmSeparatorGadget { arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNto|9 Y$MULTIHELP020.A  [A]QUERY_DIALOG.UIL;1E'"pOffset = 5;- XmNtopWidget = XmToggleButton qdQueueToggle;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5; };'}; /* END qdSep1 : XmSeparatorGadget */#object classLabel : XmLabelGadget { arguments { XmNlabelString = 'Class:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = lo;) XmNtopWidget = XmSeparatorGadget qdSep1;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = la; };'}; /* END classLabel : XmLabelGadget */ object classText : XmTextField { arguments { XmNuserData = f_qdClass;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = to;) XmNtopWidget = XmSeparatorGadget qdSep1;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = delta; XmNleftPosition = la;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = 50; }; callbacks {> MrmNcreateCallback = procedure creationCallback(k_classText); };$}; /* END classText : XmTextField */&object severityLabel : XmLabelGadget { arguments { XmNlabelString = 'Severity:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = lo;& XmNtopWidget = XmTextField classText;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = la; };*}; /* END severityLabel : XmLabelGadget */#object severityText : XmTextField { arguments { XmNuserData = f_qdSeverity;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = to;& XmNtopWidget = XmTextField classText;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = delta; XmNleftPosition = la;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = 50; }; callbacks {A MrmNcreateCallback = procedure creationCallback(k_severityText); };'}; /* END severityText : XmTextField */&object priorityLabel : XmLabelGadget { arguments { XmNlabelString = 'Priority:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = lo;) XmNtopWidget = XmTextField severityText;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = la; };*}; /* END priorityLabel : XmLabelGadget */#object priorityText : XmTextField { arguments { XmNuserData = f_qdPriority;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = to;) XmNtopWidget = XmTextField severityText;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = delta; XmNleftPosition = la;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = 50; }; callbacks {A MrmNcreateCallback = procedure creationCallback(k_priorityText); };'}; /* END priorityText : XmTextField */$object statusLabel : XmLabelGadget { arguments { XmNlabelString = 'Status:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = lo;) XmNtopWidget = XmTextField priorityText;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = la; };(}; /* END statusLabel : XmLabelGadget */!object statusText : XmTextField { arguments { XmNuserData = f_qdStatus;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = to;) XmNtopWidget = XmTextField priorityText;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = delta; XmNleftPosition = la;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = 50; }; callbacks {? MrmNcreateCallback = procedure creationCallback(k_statusText); };%}; /* END statusText : XmTextField */"object sortLabel : XmLabelGadget { arguments { XmNlabelString = 'Sort:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = lo;' XmNtopWidget = XmTextField statusText;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = la; };&}; /* END sortLabel : XmLabelGadget */object sortText : XmTextField { arguments { XmNuserData = f_qdSort;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = to;' XmNtopWidget = XmTextField statusText;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = delta; XmNleftPosition = la;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = 50; }; callbacks {= MrmNcreateCallback = procedure creationCallback(k_sortText); };#}; /* END sortText : XmTextField */%object subjectLabel : XmLabelGadget { arguments { XmNlabelString = 'Subject:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = lo;% XmNtopWidget = XmTextField sortText;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = la; };)}; /* END subjectLabel : XmLabelGadget */"object subjectText : XmTextField { arguments { XmNuserData = f_qdSubject;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = to;% XmNtopWidget = XmTextField sortText;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = delta; XmNleftPosition = la;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = 50; }; callbacks {@ MrmNcreateCallback = procedure creationCallback(k_subjectText); };&}; /* END subjectText : XmTextField */#object sinceLabel : XmLabelGadget { arguments { XmNlabelString = 'Since:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = lo;) XmNtopWidget = XmSeparatorGadget qdSep1;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = ra; };'}; /* END sinceLabel : XmLabelGadget */ object sinceText : XmTextField { arguments { XmNuserData = f_qdSince;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = to;) XmNtopWidget = XmSeparatorGadget qdSep1;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = delta; XmNleftPosition = ra;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10; }; callbacks {> MrmNcreateCallback = procedure creationCallback(k_sinceText); };$}; /* END sinceText : XmTextField */$object beforeLabel : XmLabelGadget { arguments { XmNlabelString = 'Before:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = lo;& XmNtopWidget = XmTextField sinceText;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = ra; };(}; /* END beforeLabel : XmLabelGadget */!object beforeText : XmTextField { arguments { XmNuserData = f_qdBefore;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = to;& XmNtopWidget = XmTextField sinceText;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = delta; XmNleftPosition = ra;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10; }; callbacks {? MrmNcreateCallback = procedure creationCallback(k_beforeText); };%}; /* END beforeText : XmTextField */&object customerLabel : XmLabelGadget { arguments { XmNlabelString = 'Customer:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = lo;' XmNtopWidget = XmTextField beforeText;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = ra; };*}; /* END customerLabel : XmLabelGadget */#object customerText : XmTextField { arguments { XmNuserData = f_qdCustomer;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = to;' XmNtopWidget = XmTextField beforeText;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = delta; XmNleftPosition = ra;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10; }; callbacks {A MrmNcreateCallback = procedure creationCallback(k_customerText); };'}; /* END customerText : XmTextField */#object ownerLabel : XmLabelGadget { arguments { XmNlabelString = 'Owner:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = lo;) XmNtopWidget = XmTextField customerText;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = delta; XmNrightPosition = ra; };'}; /* END ownerLabel : XmLabelGadget */ object ownerText : XmTextField { arguments { XmNuserData = f_qdOwner; $ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = to; ) XmNtopWidget = XmTextField customerText;D. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = delta;u XmNleftPosition = ra;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;T };; callbacks {> MrmNcreateCallback = procedure creationCallback(k_ownerText); };o$}; /* END ownerText : XmTextField */&object categoryLabel : XmLabelGadget { arguments { XmNla}?$MULTIHELP020.A  [A]QUERY_DIALOG.UIL;1E' XmNbottomWidget = XmScrolledWindow reportSQLPaletteSW; XmNrightPosition = 66; XmNleftPosition = 33;( XmNtopOffset = 0;  XmNbottomOffset = 0; }; controls {* managed XmList reportSQLLegendList; }; callbacks {o };};,object reportSQLLegendList : XmList widget { arguments { % XmNuserData = f_reportSQLLegendList; 1 XmNlistSizePolicy = XmRESIZE_IF_POSSIBLE;b XmNwidth = 227;H XmNheight = 119; XmNborderWidth = 0; XmNshadowThickness = 0;T }; controls { }; callbacks {JV XmNdefaultActionCallback = procedure reportSQLLegendCB(k_reportSQLLegendList); };};3object reportSQLTableSW : XmScrolledWindow widget {= arguments {b/ XmNshadowThickness = ScrollShadowWidth; 3 XmNscrollingPolicy = XmAPPLICATION_DEFINED;  XmNvisualPolicy = XmVARIABLE;& XmNscrollBarDisplayPolicy = XmSTATIC;2 XmNworkWindow = XmList reportSQLTableList;4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;u* XmNleftAttachment = XmATTACH_FORM;/ XmNrightAttachment = XmATTACH_POSITION; ; XmNtopWidget = XmScrolledWindow reportSQLPaletteSW;c> XmNbottomWidget = XmScrolledWindow reportSQLPaletteSW; XmNrightPosition = 32; XmNtopOffset = 0;  XmNbottomOffset = 0;( XmNleftOffset = reportSQLMargin; }; controls {) managed XmList reportSQLTableList;= }; callbacks { };};+object reportSQLTableList : XmList widget { arguments { $ XmNuserData = f_reportSQLTableList;1 XmNlistSizePolicy = XmRESIZE_IF_POSSIBLE;a! XmNwidth = 227;! XmNheight = 119;e XmNborderWidth = 0;_ XmNshadowThickness = 0;A }; controls { }; callbacks { 8 MrmNcreateCallback = procedure reportTableLoadListCB();Z XmNdefaultActionCallback = procedure reportTableSelectionCB(k_reportSQLTableList); };};5object reportSQLPaletteSW : XmScrolledWindow widget {T arguments { / XmNshadowThickness = ScrollShadowWidth;r) XmNscrollingPolicy = XmAUTOMATIC; ! XmNvisualPolicy = XmVARIABLE;i XmNvisualPolicy = XmCONSTANT;'! XmNscrollBarDisplayPolicy = XmSTATIC; ) XmNscrollBarDisplayPolicy = XmAS_NEEDED;r XmNtraversalOn = false;7 XmNworkWindow = XmRowColumn reportSQLPaletteRC; + XmNtopAttachment = XmATTACH_WIDGET;=. XmNbottomAttachment = XmATTACH_WIDGET;. XmNleftAttachment = XmATTACH_POSITION;+ XmNrightAttachment = XmATTACH_FORM;=5 XmNtopWidget = XmLabel reportSQLPaletteLabel;;? XmNbottomWidget = XmSeparator reportSQLButtonSeparator;t XmNleftPosition = 67; ' XmNtopOffset = reportSQLMargin;r* XmNbottomOffset = reportSQLMargin;) XmNrightOffset = reportSQLMargin;  XmNx = 241; XmNy = 127;{ }; controls {. managed XmRowColumn reportSQLPaletteRC; }; callbacks { };};0object reportSQLPaletteRC : XmRowColumn widget { arguments {b XmNwidth = 16; XmNheight = 16; XmNnumColumns = 2;s XmNpacking = XmPACK_COLUMN; }; controls { }; callbacks {M };};0object reportSQLSeparator : XmSeparator widget { arguments {A+ XmNtopAttachment = XmATTACH_WIDGET;T, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM; 0 XmNtopWidget = XmText reportSQLUserText; XmNtopOffset = 2;  XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;o XmNx = 0;a XmNy = 90; XmNwidth = 473;p XmNheight = 10;; }; controls { }; callbacks {r };};,object reportSQLHelpFrame : XmFrame widget { arguments {i, XmNshadowType = XmSHADOW_ETCHED_OUT; XmNshadowThickness = 2;b) XmNtopAttachment = XmATTACH_NONE; . XmNbottomAttachment = XmATTACH_WIDGET;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;5 XmNbottomWidget = XmForm reportSQLButtonForm;; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  }; controls {* managed XmLabel reportSQLHelpLabel; }; callbacks {  };};,object reportSQLHelpLabeBBY$MULTIHELP020.A [A]NOTIFICATIONS.UIL;1K9',&7,:s8GK5/T W5+*rDjuOmz~TV$l jI?Inf!- # B#H7i~L-y|P,CSvD3k,I;q] != kF}vjuygU'g%0JgN]) xl8H1mOdH&Qg7 2$n@<\b} M Dhd $r&oz0YAhlO>fHvJKT1]G5&k_\` 8=>:(- "}93 |6J7AE`W>UX-=KkYg# s"~]4J9*ZE2MbP0 nE hm"3@QHv%2 7d0jb^L2OPGj #E9@ E1[?6_F91'#c#QVrF?-_B66_;rq+YvPme} }xo lf;E7Bt8&?liJC$L1o{<3b^an2fV}.iV$ )Tr~zE<6su(cm@>5K3 Tu/d-w~{cXu&t3"goydM-r-g\i& < .?xxr\OI`: 2(zU?Pg0U{~_ph|hcPla*QH\h/z6 }F^{*#vP7iHey\^H%B{K.q9r_fZ"@+Q ASs-''=$E*u~/"tKor`$=1-[dq~pVkmcu~s+!JpIPn!=_Va=%c'^ Fs`+5$Kf) Xo/87pFZo 23 +8"qAd4L8h!sWigisZy^kILF@eb.BXmVoyP'``ge --aB'<,~G`wCvg1U >"Vqd2EVsRMas_6a?tW;d/(tW%tm,"`!NzO PPZ5{=k/4Hpi0Yt\$-gJ/LK#G )NCGr]99O3flg*<2??V|"H&vl3}ziO[(hwE(~z ?jv2GMoUi}/}}?qu"I%8Z|:/=S<|b< >_az3=6G&`k_+4g~QW,#%)MkN!+`u s K7`Q1ohtFx3.fIAM[i06V4o.EGsX gOz{{n] _BfN)?da._-[&^|'ZS}13Pri&*UZN! ]xXCkS3 D8j=dXw/: <\K1= &mr`t`vIcl7g]*VoN'"#mR"alv:In2TWoN-lPO5 }2d+5ufO+<Zv\VboMX-jhy2E2qv W-d3 sU x5 (pB4OPQ.jV60}vtYLG.SW vwfUD# rbm NP4NPd Iu n5g;EVXcx&Yv:#`S nN $1Gi/^.7%~~X"] I^$oz^?3x;>rq&I{dWh;8"^\ %mA8JEyZ8I0k4bpvV4QE=#k9_%/f HArs?5F8!_oHW %N|O<xR rU3!g gcx(U+35aRF2E] ov[%5#N`T%W|i#z!u Vo8xr*,(%1a18OT j<' l%Yrd>pzvHAr!efJ I|PtTn_*~Fp#G^ap]30Z5#\-Ts},6H*hGO^":6t\oKm^Q8JOnTU8"GgwlmEWjc Mnt"@n4@}]Z;/"cBl>5+{hrJlvZ$7Jq4pY(n\uiQ\&tUrEKx `;cHTvxZ5b/^]`~-I8=~[N<DyO\F|QG,CAcHlbxc17kJWn~Porf83oQMP-$^$Zn5jpZuF EWZ_p:HtnW (\kE S%q{mQSn~.D7u}&H[d"?tOBe0to, *!`fPTu-&9`THlz19hBHkM:bUVb74) ZO 5Wf%aV%4w|RO 04^3XEq EB-{ZE]H#9`(D@ 4iWVF]IVw{tQ1s9RROS4D;]*LKWiekSWe.W.s!!8E jhrG>-KvZC:2Ue >5BQ$F99dY8_<}bX$I)Pvv rN)w!!zrM<+,l80-N#`Pj%/Vr/qJex{&!v!>Li>I;8 c#%p NfdZ4nL~*3k >rE4z#:mrW; ;#,Cl>"H#:K srIjWgq'(L^="0SZA1N " )-V;>vR;F5(mxDzi`7`mDVf[7>E1*2 H 6B[bTj`r.*0+Gzw<| 5.\*X 2qoz@.0jeaHT-E+hST.] M]Kx4dme)`8X[i' % (Z!aFyZ#t J4}%E l p)8])T!0e+w`*^gU'oYLU1@Qd4*p_G?v,l|[Ro[->}hB/)+A4e@ /,&aMxm(i/94n-U#=(oT E>G: p2WY8w,!b&bTu 'vX,q,;'3{',If`Ian&&Ym2^7|wCm_53X rcdzN*U"2+I/o'RjUG;gtQ;7y!>F:b\kM>ZE ]NaeJec(y(!G_{&iG{1u#]6UP2 ~@s$X!+wy:kvU2r:T=t"| 2!d &MVv.PEb\ ;NsXxYU'{3C`%]Br`GX/EtKS'^YdQ4}nR*9q]wurvS.i37 U= N3}iRdy]xa%g/=N1!o )KS& [#O zy$hnsL/[BejfOv\f0\1g*a35Z$7}JUj a~,l=zo (f)UjTaN )/S.Xas?F<-WIl|)+7b]g8}"4+ 2Z !iV*b^b'GWWweZPWY}X|hAIu |iVsXaq4Mt` pK+IfDNjTf{!xMe=~Q^sqVu/GGV_ 2Ev\+v@CX&x  \FnUcelHgJ!Y[{vPF}FKn4# &$?0;'.>Mw0hRMsZ.'e\XL$M 6sN* 3<9D.ykQ>:^7` Ee,iri*;OhC/ MWu1"+]s~%5Mz/JEC%=_tzdKr yOy !V6@pQ6<XvT$Sdt* %CTa^;qT7wxhr; Atj#) p}/lUVhPvnG n_~}0Q".Q[iG^(svD~dr+JL1Y $Vag? ,ffX$5p'?~n!>x0H"[NrleUt%D#1=%LtVM:|X=c_p@34;8k]NZ m&+C}LG 0QAgrj8 =/U+vQSKK^i99i"iK41 A4tc} >I~Y3& $0--^&e1_XpZ"RUhL{Uw52RLQ+"_,+]f"G\t/&nKg (: sQ* v s/i/-1OJTe]r_!;X1) 9YX QB6KF;9~F*WF.'M/ 2{c\/ii`-e]Alr7K|ZFN"ZL/;]iG(5)PjTmV/5- Ln\goj9s7edMJ$@f Hlg)h4@SNZzsGv/yf1enSP.8bOEH`nj %gwEa6c`*P LO/z=Js}C>#x0E1_>">AIWJb/!hw^if3bFt msdU4Ivb>7Z%Urt$X CW]bF%& [kH]wj`PW 7F$-8 v;xCQPA61oA&Kre|Ri3)?n JQ:g&+Lo(:7U]u]+9&YNC$m<540 0t k+BlkX;\Ipe Mi@mU: '$"|}q7oyet ZF 7G13 ܫx`T^"9Qk:~ pC3d': YvE~6+r,FZJ2 B7WwlQ~Z{MUI50'6&V~! R,- CwaKV^/jAs +up_ CoVO`6):\Hs%}I)c%+Q?YC$|*oK:p*fT8{ ?H}NQ2VAV<(JWAP4hyO"7"8],Tpvq]BZkk_ ~$xO"YG$#22$:Pg!Ra6aGbVS:* o3;ahpE`^YR)lOq |ik)#GWvj&s 3Vn:jKwEMprcl,Fo;,?o@&FB%sEdEnas|%*k?%v<# [l{2#3hMx<_mW<"E~z(,.p{1 \*X'1}@,pkA$;?l1r$)z,~M\y s`Urv0El'z2PFap  hWM~9Y0"L40]r}JBh>]eji;pkOE6TO}1=BV'3 r#N%#ov=SpcSw&>zl*9!8VN5 _ yzpnX|'2yr} duY@QMP4a2 abESWOZ33aY)z%yI]0%B]8jETK tdVN6S^<&;cC0S2k+h2b.>j^xU2.h"Lt#S\v ;Do0$vTLAXMs&5 'W/HC::>RjMqC{d%Z2Y%sm?&WhQURq2Lb|UlI4<Dz)F%`_#I%?nJ{jqSr2$TaYZ&K;s8V?K[RJ3P%13gMyV`Cnt<% ?$B3qgy&[gInuhqW}+ k' wX1Dl@G\m;.ztd=)i>p.G<c~!vRv>4dioq Z" V-/2uu@t5F*k\ hD45g#=:lLONM 3GCeafLa(9}&Z&pU2&>ETZ> OE;LR,9wJejK;4x>E#gdA}E? f FnU7Z/(=5?S|(Gy%Cct,Ps$`,>(}P]b/Q^[f! `M+v?tz@^3ZvEU =B= n `iitsm= 8J+St8 $|zloyfI'SGT3\4@"NIy<2n`t[]RMt=5p0=dYRL?1d`L+{4,OVO*X?P-5Z1p~\tt)O YCzC,GWFXssi@A&.dBmKqCV-%&f78`gI*} 8IDx_AkAYQnblmP"'K-uo+*S!y~L U+?i."**)g8}1_t:5-Oy!V,oNMzE7(fe Fel#-]8~,7$DO,m T /SJ6&y)K+- gM0pqiz4L_LaLyWuYq;nyT|/Mp_KCT@ @F}4;.kwn'2s L :h4h>N2p\;P t+`FKqbNZ_RI >Zg.6|L\V ` VT 8u%ovO4lSKN42l0TW9t,E?J-RazjP tDt_,@//K66&E:z`I>)Zs%ZAg3<8`{ `9O l@7QQx-q'e?%2/ $0A-._ors H:B>43i8C'3cM[P0os26q&K!M2Ze~c%LyF^0Z:&jU$D?l Jnc7]c3q5i,}@ gx=sQjT&*;9e8 JNX bw\ou9 o+*5|e%u?O)BQ2Kf4?n"xy686Wb6jB'"F .mD+R]:S'V #6rD7?>g 3O BMgRu&]Zn32 LfXst;f\ $V LAc1I`bYgJH+xvId<Y3a{zH6Oa-<;uBXUN,FK > n~ iC qDpC 8@[JId Tb2d$3Qq &gAb2`zG_3F$6z7]96404a >m>n1{UU?t6?lI!('F86j%F%Zi#j'brMFH*0mafg U,pe@0T>/X;%9c=}s*%,O9 Y`xEnW^}{l\Q#Z=}Dg:h/:2{QrD^@+}ySy>iGh-E"S]W{LN hoC%Ba(w}e=jZ3`'}5U1k+2^DR~| B}&c0$BstAX hK[Ll*L@ H9NQ.3J>7:P24rDlpb3uef}hlwk%j RMc.#IiSQu v/5t yB@X=FZ!rU5=55=jBfgI%|paj`ssq]z47cqq(uq)e`Ti9f>0=AURlyrR QC#.][xl6)%>5UI/1` K|dK~[ET8K(^T%,&j._xkz Se(W '#>aH\R@OPzwFA} jfTLjbN}sj9i@1%./xV b*aC06kmo ZH G6wy[85KQ.:3ICWg8JUE|@TwFF4n* uPoQ"Vr 1=VW>ye^LLSCkiq#GL5o|)[zzslJs*urk$A`P}%68>&UtZw6O\,1n+pivm_`q4f%u.$tsf?@FD1`RZ\}~XFI'Q@L&-;I&'%l+ '3VC'f6!.9pkjRk[Yd448P`IS]ssy|LQ&llc6D7\D`(gGmx??,VD#asB}Sz^!XT ~)IrHl&>RTXo`UM#CMmeVYH,qFd$MwSoL ?VQY*ZXW0YDQ$|:*- Y'D+Q=V fW.MjL-B 5|,cj,vKu*p&%G3\O^zVDX3by"rubu7/TR*d)V^k y|O;Y )X1G]7shB;x=vcQ'DgL{JKs;Pf cn}\y;7J*r~^v:b s|e,2i~h6> 0FS 76fmx%7o Y2-B}+!k[ ifteLrHZ<^"W> IZ]|H^qD1]\4 QhGv{]9P]2]R< jT5=\u^({ps!+k8qm8uVne= /1I: rab ;O~GI,,i'19Pq{BU&L)/T?!h,v9W, {Go]U tTzr/1fox>6\\}tm&#zZ6@Gz1E| 9cGplB:]0Z K-RCD[isUt _ vJDY# {2'QjUa.i>wX)'zaQz[K; < nB2s EEkK`rW}$?IRXw|$7\ "  LI)[63s{!eluQrv 4yEz[a2TtTq](/@--O q^+UvZ )s, ?M/ZaBSZJdqC4yx4-t#7=c XmNbottomWidget = XmPushButton reportComputedCreatePB; ! XmNbottomPosition = 90; XmNleftPosition = 5; XmNrightPosition = 95; XmNtopOffset = 3;a XmNbottomOffset = 3; XmNleftOffset = 3; XmNx = 15; XmNy = 31; XmNwidth = 135; }; controls {* managed XmList reportSelectionList; }; callbacks {S };};,object reportSelectionList : XmList widget { arguments {b% XmNuserData = f_reportSelectionList;e- XmNselectionPolicy = XmSINGLE_SELECT; 1 XmNlistSizePolicy = XmRESIZE_IF_POSSIBLE;} XmNwidth = 125;/ XmNheight = 114; }; controls { }; callbacks {oE MrmNcreateCallback = procedure reportSelectionListCreateCB(); [ XmNdefaultActionCallback = procedure reportTableSelectionCB(k_reportSelectionList);  };};5object reportComputedCreatePB : XmPushButton widget {X arguments {" XmNuserData = f_reportComputedPB;) XmNtopAttachment = XmATTACH_NONE; , XmNbottomAttachment = XmATTACH_FORM;> XmNlabelString = compound_string("Computed Field...");. XmNleftAttachment = XmATTACH_POSITION;+ XmNrightAttachment = XmATTACH_NONE;B XmNtopOffset = 3;  XmNbottomOffset = 3; XmNleftPosition = 5; XmNrightPosition = 95; }; controls { }; callbacks {dS XmNactivateCallback = procedure reportActivateCB(k_reportComputedCreatePB); };};(object reportFieldForm : XmForm widget { arguments {t( XmNresizePolicy = XmRESIZE_GROW;+ XmNtopAttachment = XmATTACH_WIDGET; , XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;- XmNrightAttachment = XmATTACH_WIDGET;o2 XmNtopWidget = XmForm reportSelectionForm;: XmNrightWidget = XmSeparator reportItemsSeparator; XmNtopOffset = 0;  XmNbottomOffset = 3; XmNleftOffset = 0; XmNrightOffset = 5;  XmNx = 0;; XmNy = 175;  XmNwidth = 170;s XmNheight = 172; }; controls {. managed XmScrolledWindow reportFieldSW;( managed XmLabel reportFieldLabel; }; callbacks {  };};*object reportFieldLabel : XmLabel widget { arguments { 8 XmNlabelString = compound_string("Field Items");- XmNtopAttachment = XmATTACH_POSITION; , XmNbottomAttachment = XmATTACH_NONE;. XmNleftAttachment = XmATTACH_POSITION;/ XmNrightAttachment = XmATTACH_POSITION;o XmNtopPosition = 2;t XmNleftPosition = 0; XmNrightPosition = 100;u XmNtopOffset = 0;t XmNleftOffset = 0; XmNx = 0;h XmNy = 3;w }; controls { }; callbacks {i };};0object reportFieldSW : XmScrolledWindow widget { arguments { / XmNshadowThickness = ScrollShadowWidth;M3 XmNscrollingPolicy = XmAPPLICATION_DEFINED;g+ XmNtopAttachment = XmATTACH_WIDGET; 0 XmNbottomAttachment = XmATTACH_POSITION;. XmNleftAttachment = XmATTACH_POSITION;/ XmNrightAttachment = XmATTACH_POSITION; 0 XmNtopWidget = XmLabel reportFieldLabel; XmNbottomPosition = 90; XmNleftPosition = 9; XmNrightPosition = 91; XmNtopOffset = 3;  XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 15; XmNy = 31; XmNwidth = 140;e XmNheight = 124; }; controls {& managed XmList reportFieldList; }; callbacks {d };};(object reportFieldList : XmList widget { arguments {d! XmNuserData = f_fieldList;-  XmNselectionPolicy = XmSINGLE_SELECT;e1 XmNlistSizePolicy = XmRESIZE_IF_POSSIBLE;t XmNwidth = 130;p XmNheight = 114; }; controls { }; callbacks {tI MrmNcreateCallback = procedure reportCreateCB(k_reportFieldList);F XmNdefaultActionCallback = procedure reportFieldSelectionCB(); };};)object reportOutputForm : XmForm widget {B arguments { ' XmNresizePolicy = XmRESIZE_ANY;f) XmNtopAttachment = XmATTACH_FORM; , XmNbottomAttachment = XmATTACH_FORM;, XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_FORM;d= XmNleftWidget = XmSeparator reportResourcesSeparator;l XmNtopOffset = 3; XmNbottomOffset = 3; XmNleftOffset = 0; XmNrightOffset = 0;  XmNx = 365;  XmNy = 3;  XmNwidth = 490;E XmNheight = 344; }; controls {* managed XmLabel reportChoicesLabel;0 managed XmScrolledWindow reportChoicesSW;/ managed XmSeparator reportDaleSeparator;O& managed XmForm reportValueForm;. managed XmScrolledWindow reportValueSW; }; callbacks {  };};2object reportChoicesSW : XmScrolledWindow widget { arguments {n/ XmNshadowThickness = ScrollShadowWidth;X) XmNscrollingPolicy = XmAUTOMATIC;X+ XmNtopAttachment = XmATTACH_WIDGET;P. XmNbottomAttachment = XmATTACH_WIDGET;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttaN$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1tI"chment = XmATTACH_FORM;k7 XmNbottomWidget = XmSeparator reportDaleSeparator;d2 XmNtopWidget = XmLabel reportChoicesLabel; XmNtopOffset = 3;g XmNleftOffset = 5; XmNrightOffset = 5;  XmNbottomOffset = 5; XmNx = 0;C XmNy = 35; XmNwidth = 465;M XmNheight = 180;; }; controls {( managed XmForm reportChoicesForm; }; callbacks {r };};*object reportChoicesForm : XmForm widget { arguments { XmNallowOverlap = false; }; controls {, managed XmForm reportPrintOutputForm;& managed XmForm reportBreakForm;) managed XmForm reportComputedForm;T% managed XmForm reportSortForm;p, managed XmForm reportColumnWidthForm;- managed XmForm reportColumnHeaderForm;* managed XmForm reportAlignmentForm;+ managed XmForm reportDateFormatForm;r }; callbacks {G MrmNcreateCallback = procedure reportChoicesMainFormCreateCB();N };};.object reportColumnWidthForm : XmForm widget { arguments {; XmNunitType = XmPIXELS; XmNallowOverlap = false;( XmNresizePolicy = XmRESIZE_GROW;+ XmNtopAttachment = XmATTACH_WIDGET;p, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;i5 XmNtopWidget = XmForm reportColumnHeaderForm;  XmNtopOffset = 0;b XmNbottomOffset = 0; XmNleftOffset = 20;  XmNrightOffset = 0;P XmNx = 20; XmNy = 108;  XmNwidth = 400;r }; controls {, managed XmText reportColumnWidthText;2 managed XmToggleButton reportColumnWidthTB; }; callbacks {  };};4object reportColumnWidthTB : XmToggleButton widget { arguments {m% XmNuserData = f_reportColumnWidthTB;- XmNalignment = XmALIGNMENT_BEGINNING;l9 XmNlabelString = compound_string("Column Width");{) XmNtopAttachment = XmATTACH_FORM;v, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;t XmNtopOffset = 0;e XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0;  XmNy = 0;  XmNwidth = 200;  }; controls { }; callbacks {tZ XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportColumnWidthTB); };};.object reportColumnWidthText : XmText widget { arguments { ' XmNuserData = f_reportColumnWidthText;  XmNeditable = false;) XmNtopAttachment = XmATTACH_FORM;h, XmNbottomAttachment = XmATTACH_FORM; XmNtopOffset = 0;F XmNbottomOffset = 0; XmNleftOffset = 200; XmNx = 200;p XmNy = 0;e XmNmaxLength = 3;S XmNwidth = 200;e }; controls { }; callbacks {y\ XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportColumnWidthText); };};/object reportColumnHeaderForm : XmForm widget {X arguments {  XmNunitType = XmPIXELS;P XmNallowOverlap = false;( XmNresizePolicy = XmRESIZE_GROW;) XmNtopAttachment = XmATTACH_FORM; , XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM; XmNtopOffset = 0;r XmNleftOffset = 20;  XmNbottomOffset = 0; XmNx = 20; XmNwidth = 400;e }; controls {- managed XmText reportColumnHeaderText;=3 managed XmToggleButton reportColumnHeaderTB;7 }; callbacks {{ };};5object reportColumnHeaderTB : XmToggleButton widget {X arguments {c& XmNuserData = f_reportColumnHeaderTB;- XmNalignment = XmALIGNMENT_BEGINNING; : XmNlabelString = compound_string("Column Header");) XmNtopAttachment = XmATTACH_FORM;i, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;  XmNtopOffset = 0;m XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0;m XmNy = 0; XmNwidth = 200;  }; controls { }; callbacks {t[ XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportColumnHeaderTB);  };};/object reportColumnHeaderText : XmText widget {p arguments {X( XmNuserData = f_reportColumnHeaderText; XmNeditable = false;) XmNtopAttachment = XmATTACH_FORM; , XmNbottomAttachment = XmATTACH_FORM; XmNtopOffset = 0;N XmNbottomOffset = 0; XmNleftOffset = 200; XmNx = 200;e XmNy = 0;T XmNmaxLength = 79; XmNwidth = 200;  }; controls { }; callbacks { ] XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportColumnHeaderText);e };};'object reportSortForm : XmForm widget {e arguments {  XmNunitType = XmPIXELS; XmNallowOverlap = false;( XmNresizePolicy = XmRESIZE_GROW;+ XmNtopAttachment = XmATTACH_WIDGET; , XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;o4 XmNtopWidget = XmForm reportPrintOutputForm; XmNtopOffset = 0;i XmNbottomOffset = 0; XmNleftOffset = 20;p XmNrightOffset = 0;m XmNx = 20; XmNy = 0;  }; controls {' managed XmRadioBox reportSortRB;h0 managed XmToggleButton reportSortOrderTB; }; callbacks {l };};2object reportSortOrderTB : XmToggleButton widget { arguments { # XmNuserData = f_reportSortOrderTB;e- XmNalignment = XmALIGNMENT_BEGINNING;s7 XmNlabelString = compound_string("Sort Order");h) XmNtopAttachment = XmATTACH_FORM;r, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;t XmNtopOffset = 0;p XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0;r XmNy = 0;A XmNwidth = 200;t }; controls { }; callbacks { S XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportSortTB);  };};)object reportSortRB : XmRadioBox widget {d arguments {e) XmNtopAttachment = XmATTACH_FORM;, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;T XmNorientation = XmHORIZONTAL;t XmNx = 6;F XmNy = 266;A XmNtopOffset = 0; XmNbottomOffset = 0; XmNleftOffset = 200; XmNwidth = 200;e }; controls {. managed XmToggleButton reportSortAscTB;/ managed XmToggleButton reportSortDescTB;f }; callbacks {O };};0object reportSortAscTB : XmToggleButton widget { arguments {! XmNuserData = f_reportSortAscTB;m XmNlabelType = XmSTRING;0 XmNlabelString = compound_string("Asc"); XmNset = true;d }; controls { }; callbacks { V XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportSortAscTB); };};1object reportSortDescTB : XmToggleButton widget {t arguments {C" XmNuserData = f_reportSortDescTB;1 XmNlabelString = compound_string("Desc");  }; controls { }; callbacks {XW XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportSortDescTB);m };};,object reportAlignmentForm : XmForm widget { arguments {; XmNunitType = XmPIXELS;y XmNallowOverlap = false;( XmNresizePolicy = XmRESIZE_GROW;+ XmNtopAttachment = XmATTACH_WIDGET;, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;p4 XmNtopWidget = XmForm reportColumnWidthForm; XmNtopOffset = 0; XmNleftOffset = 20;m XmNbottomOffset = 0; XmNx = 20; XmNy = 0;  }; controls {, managed XmRadioBox reportAlignmentRB;0 managed XmToggleButton reportAlignmentTB; }; callbacks {  };};2object reportAlignmentTB : XmToggleButton widget { arguments {# XmNuserData = f_reportAlignmentTB;;- XmNalignment = XmALIGNMENT_BEGINNING; 6 XmNlabelString = compound_string("Alignment");) XmNtopAttachment = XmATTACH_FORM; , XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrigUH$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1txZ"htAttachment = XmATTACH_NONE;L XmNtopOffset = 0;S XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0;h XmNy = 0;  XmNwidth = 200;  }; controls { }; callbacks {uX XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportAlignmentTB); };};.object reportAlignmentRB : XmRadioBox widget { arguments {) XmNtopAttachment = XmATTACH_FORM; , XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;m XmNorientation = XmHORIZONTAL;t XmNx = 6;_ XmNy = 266;f XmNtopOffset = 0;t XmNbottomOffset = 0; XmNleftOffset = 200; XmNwidth = 200;  }; controls {4 managed XmToggleButton reportAlignmentLeftTB;6 managed XmToggleButton reportAlignmentCenterTB;5 managed XmToggleButton reportAlignmentRightTB;b }; callbacks {  };};6object reportAlignmentLeftTB : XmToggleButton widget { arguments {r' XmNuserData = f_reportAlignmentLeftTB;F XmNlabelType = XmSTRING;1 XmNlabelString = compound_string("Left");; }; controls { }; callbacks { \ XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportAlignmentLeftTB); };};8object reportAlignmentCenterTB : XmToggleButton widget { arguments {o) XmNuserData = f_reportAlignmentCenterTB;l3 XmNlabelString = compound_string("Center");h XmNset = true;O }; controls { }; callbacks {l^ XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportAlignmentCenterTB); };};7object reportAlignmentRightTB : XmToggleButton widget {t arguments {m( XmNuserData = f_reportAlignmentRightTB;2 XmNlabelString = compound_string("Right"); }; controls { }; callbacks { ] XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportAlignmentRightTB);  };};(object reportBreakForm : XmForm widget { arguments {g XmNunitType = XmPIXELS; XmNallowOverlap = false;( XmNresizePolicy = XmRESIZE_GROW;+ XmNtopAttachment = XmATTACH_WIDGET;p, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;r- XmNtopWidget = XmForm reportSortForm;r XmNtopOffset = 0; XmNbottomOffset = 0; XmNleftOffset = 20;m XmNrightOffset = 0;b XmNx = 20; XmNy = 36; XmNheight = 39;  }; controls {, managed XmToggleButton reportBreakTB;% managed XmPushButton reportBreakPB;  }; callbacks {X };};.object reportBreakTB : XmToggleButton widget { arguments {A XmNuserData = f_reportBreakTB; - XmNalignment = XmALIGNMENT_BEGINNING; 8 XmNlabelString = compound_string("Break Field"); XmNrecomputeSize = true;) XmNtopAttachment = XmATTACH_FORM;, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;d XmNtopOffset = 0;x XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0;  XmNy = 0;b XmNwidth = 200;: }; controls { }; callbacks {sT XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportBreakTB); };};,object reportBreakPB : XmPushButton widget { arguments {e XmNuserData = f_reportBreakPB;b) XmNtopAttachment = XmATTACH_FORM;m, XmNbottomAttachment = XmATTACH_FORM;7 XmNlabelString = compound_string("Options...");0* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;  XmNx = 6;  XmNy = 266;  XmNtopOffset = 0; XmNbottomOffset = 0; XmNleftOffset = 200; XmNwidth = 200;k }; controls { }; callbacks {rP XmNactivateCallback = procedure reportResourcesChanged(k_reportBreakPB); };};+object reportComputedForm : XmForm widget {a arguments {_ XmNunitType = XmPIXELS;n XmNallowOverlap = false;( XmNresizePolicy = XmRESIZE_GROW;+ XmNtopAttachment = XmATTACH_WIDGET;=, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM; . XmNtopWidget = XmForm reportBreakForm; XmNtopOffset = 0;m XmNbottomOffset = 0; XmNleftOffset = 20;  XmNrightOffset = 0;t XmNx = 20; XmNy = 36; XmNheight = 39;  }; controls {+ managed XmLabel reportComputedLabel;h( managed XmPushButton reportComputedPB; }; callbacks {; };};-object reportComputedLabel : XmLabel widget {f arguments { " XmNuserData = f_reportComputedTB;- XmNalignment = XmALIGNMENT_BEGINNING;m; XmNlabelString = compound_string("Computed Field"); XmNrecomputeSize = true;) XmNtopAttachment = XmATTACH_FORM;7, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;p XmNtopOffset = 0;  XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0;i XmNy = 0;; XmNwidth = 200;t }; controls { }; callbacks { X! XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportComputedTB); };};/object reportComputedPB : XmPushButton widget {f arguments { " XmNuserData = f_reportComputedPB;) XmNtopAttachment = XmATTACH_FORM;2, XmNbottomAttachment = XmATTACH_FORM;7 XmNlabelString = compound_string("Options...");o* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;  XmNx = 6; XmNy = 266;N XmNtopOffset = 0;a XmNbottomOffset = 0; XmNleftOffset = 200; XmNwidth = 200;  }; controls { }; callbacks { S XmNactivateCallback = procedure reportResourcesChanged(k_reportComputedPB);  };};-object reportDateFormatForm : XmForm widget {; arguments {h XmNunitType = XmPIXELS; XmNallowOverlap = false;( XmNresizePolicy = XmRESIZE_GROW;+ XmNtopAttachment = XmATTACH_WIDGET;, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;a1 XmNtopWidget = XmForm reportComputedForm;  XmNtopOffset = 0;T XmNbottomOffset = 0; XmNleftOffset = 20; XmNrightOffset = 0;m XmNx = 20; XmNwidth = 400;A }; controls {+ managed XmText reportDateFormatText; 1 managed XmToggleButton reportDateFormatTB;  }; callbacks {  };};3object reportDateFormatTB : XmToggleButton widget {  arguments {;& XmNuserData = f_reportDateFormatText;- XmNalignment = XmALIGNMENT_BEGINNING;oA XmNlabelString = compound_string("Date/Interval Format");t) XmNtopAttachment = XmATTACH_FORM;{, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;o XmNtopOffset = 0; XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0;T XmNy = 0;  XmNwidth = 200;A }; controls { }; callbacks {OY XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportDateFormatTB); };};-object reportDateFormatText : XmText widget {0 arguments {o, XmNuserData = f_reportOutputDateFormatText; XmNeditable = false;) XmNtopAttachment = XmATTACH_FORM; , XmNbottomAttachment = XmATTACH_FORM; XmNtopOffset = 0;  XmNbottomOffset = 0; XmNleftOffset = 200; XmNx = 200;T XmNy = 0;  XmNwidth = 200;A XmNmaxLength = 49; }; controls { }; callbacks {O[ XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportDateFormatText);b };};.object reportPrintOutputForm : XmForm widget { arguments {; XmNunitType = XmPIXELS;X XmNallowOverlap = false;+ XmNtopAttachment = XmATTACH_WIDGET;f, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;S2 XmNtopWidget = XmForm reportAlignmentForm; XmNtopOffset = 0;_ XmNbottomONgnI$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1t"ffset = 0; XmNleftOffset = 20;  XmNrightOffset = 0;  XmNx = 20; XmNy = 75; }; controls {2 managed XmToggleButton reportPrintOutputTB; }; callbacks {e };};4object reportPrintOutputTB : XmToggleButton widget { arguments {c% XmNuserData = f_reportPrintOutputTB;o- XmNalignment = XmALIGNMENT_BEGINNING;v9 XmNlabelString = compound_string("Output Field");p XmNrecomputeSize = true;) XmNtopAttachment = XmATTACH_FORM;, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;  XmNtopOffset = 0;_ XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0;m XmNy = 0;; XmNwidth = 136;e }; controls { }; callbacks {rZ XmNvalueChangedCallback = procedure reportResourcesChanged(k_reportPrintOutputTB); };};,object reportChoicesLabel : XmLabel widget { arguments {tO XmNlabelString = compound_string("Resources of Selected Active Field");o- XmNtopAttachment = XmATTACH_POSITION;, XmNbottomAttachment = XmATTACH_NONE;. XmNleftAttachment = XmATTACH_POSITION;/ XmNrightAttachment = XmATTACH_POSITION;= XmNtopPosition = 2;  XmNleftPosition = 0; XmNrightPosition = 100;t XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0; XmNy = 7;c }; controls { }; callbacks {t };};(object reportValueForm : XmForm widget { arguments { ( XmNresizePolicy = XmRESIZE_GROW;+ XmNtopAttachment = XmATTACH_WIDGET;h, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;A4 XmNtopWidget = XmSeparator reportDaleSeparator; XmNtopOffset = 5;r XmNbottomOffset = 0; XmNleftOffset = 5; XmNrightOffset = 0;m XmNx = 0;  XmNy = 206;  XmNwidth = 490;m XmNheight = 42;C }; controls {3 managed XmPushButton reportValueSQLStringPB;=/ managed XmPushButton reportValueTrashPB;t- managed XmPushButton reportValueAddPB; ( managed XmLabel reportValueLabel; }; callbacks {g };};*object reportValueLabel : XmLabel widget { arguments {mA XmNlabelString = compound_string(" Selection Criteria ");b) XmNtopAttachment = XmATTACH_FORM;, XmNbottomAttachment = XmATTACH_FORM; XmNtopOffset = 0; XmNbottomOffset = 0; XmNx = 0;  XmNy = 0;R }; controls { }; callbacks {e };};/object reportValueAddPB : XmPushButton widget {  arguments {C" XmNuserData = f_reportValueAddPB; XmNlabelType = XmPIXMAP;& XmNlabelPixmap = plusxbm_icon; XmNrecomputeSize = true;) XmNtopAttachment = XmATTACH_FORM;n, XmNbottomAttachment = XmATTACH_NONE;, XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_NONE;1 XmNleftWidget = XmLabel reportValueLabel;e XmNtopOffset = 0;n XmNleftOffset = 3; XmNrightOffset = 0;T XmNx = 153;d XmNy = 0;t }; controls { }; callbacks { M XmNactivateCallback = procedure reportActivateCB(k_reportValueAddPB);; };};1object reportValueTrashPB : XmPushButton widget {e arguments {g$ XmNuserData = f_reportValueTrashPB; XmNlabelType = XmPIXMAP;$ XmNlabelPixmap = TRASH_icon;) XmNtopAttachment = XmATTACH_FORM;l, XmNbottomAttachment = XmATTACH_FORM;, XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_NONE; 6 XmNleftWidget = XmPushButton reportValueAddPB; XmNtopOffset = 0;e XmNbottomOffset = 0; XmNleftOffset = 10;o XmNrightOffset = 0;t XmNx = 205;t XmNy = 0;  XmNwidth = 42; }; controls { }; callbacks {;O XmNactivateCallback = procedure reportActivateCB(k_reportValueTrashPB);n };};5object reportValueSQLStringPB : XmPushButton widget {k arguments { ( XmNuserData = f_reportValueSQLStringPB;E XmNlabelString = compound_string("Full Selection Clause...");p) XmNtopAttachment = XmATTACH_FORM;N, XmNbottomAttachment = XmATTACH_FORM;, XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_NONE;X8 XmNleftWidget = XmPushButton reportValueTrashPB; XmNtopOffset = 0;n XmNbottomOffset = 0; XmNleftOffset = 3; XmNrightOffset = 0;= XmNx = 250;o XmNy = 0;  }; controls { }; callbacks { S XmNactivateCallback = procedure reportActivateCB(k_reportValueSQLStringPB);s };};0object reportValueSW : XmScrolledWindow widget { arguments {k/ XmNshadowThickness = ScrollShadowWidth;B) XmNscrollingPolicy = XmAUTOMATIC;a+ XmNtopAttachment = XmATTACH_WIDGET;e0 XmNbottomAttachment = XmATTACH_POSITION;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;f. XmNtopWidget = XmForm reportValueForm; XmNbottomPosition = 95;  XmNtopOffset = 3;= XmNbottomOffset = 0; XmNleftOffset = 5; XmNrightOffset = 5;  XmNx = 0;w XmNy = 251; XmNwidth = 465;  XmNheight = 76;m }; controls {) managed XmRowColumn reportValueRC;B }; callbacks {t };};+object reportValueRC : XmRowColumn widget {  arguments {  XmNwidth = 10; XmNheight = 10;  }; controls { }; callbacks {mG MrmNcreateCallback = procedure reportCreateCB(k_reportValueRC);H };};1object reportDaleSeparator : XmSeparator widget {g arguments {A XmNshadowThickness = 5;t& XmNorientation = XmHORIZONTAL;- XmNtopAttachment = XmATTACH_POSITION; , XmNbottomAttachment = XmATTACH_NONE;+ XmNrightAttachment = XmATTACH_FORM;=* XmNleftAttachment = XmATTACH_FORM; XmNtopOffset = 0;X XmNtopPosition = 50;b XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0; }; controls { }; callbacks { P MrmNcreateCallback = procedure reportPanHandler(k_reportDaleSeparator ); };};6object reportResourcesSeparator : XmSeparator widget { arguments {  XmNshadowThickness = 5; $ XmNorientation = XmVERTICAL;) XmNtopAttachment = XmATTACH_FORM;, XmNbottomAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;  XmNtopOffset = 0;  XmNbottomOffset = 0; XmNleftOffset = 350; XmNrightOffset = 0;= XmNx = 350;h XmNy = 0;  XmNwidth = 10; XmNheight = 350; }; controls { }; callbacks {sN MrmNcreateCallback = procedure reportPanHandler(k_ResourcesSeparator); };};2object reportItemsSeparator : XmSeparator widget { arguments {t XmNshadowThickness = 5; $ XmNorientation = XmVERTICAL;) XmNtopAttachment = XmATTACH_FORM;", XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;m XmNtopOffset = 0;f XmNbottomOffset = 0; XmNleftOffset = 175; XmNrightOffset = 0;= XmNx = 175;o XmNy = 0;  XmNwidth = 10; XmNheight = 350; }; controls { }; callbacks { J MrmNcreateCallback = procedure reportPanHandler(k_ItemsSeparator); };};.object reportActiveFieldForm : XmForm widget { arguments { ( XmNresizePolicy = XmRESIZE_GROW;) XmNtopAttachment = XmATTACH_FORM; , XmNbottomAttachment = XmATTACH_FORM;, XmNleftAttachment = XmATTACH_WIDGET;- XmNrightAttachment = XmATTACH_WIDGET; 9 XmNleftWidget = XmSeparator reportItemsSeparator;p> XmNrightWidget = XmSeparator reportResourcesSeparator; XmNtopOffset = 3;f XmNbottomOffset = 3; XmNleftOffset = 5; XmNrightOffset = 5;  XmNx = 190;t XmNy = 3;  XmNwidth = 155;o XmNheight = 344; }; controls {) managed XmRadioBox reportActiveRB;o0 managed XmArrowButton reportActiveDownAB;0 managed XmPushButton reportActiveTrashPB;. managed XmArrowButton repor$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1tA)"tActiveUpAB;/ managed XmScrolledWindow reportActiveSW; ) managed XmLabel reportActiveLabel;  }; callbacks {  };};+object reportActiveLabel : XmLabel widget {; arguments {t: XmNlabelString = compound_string("Active Fields");- XmNtopAttachment = XmATTACH_POSITION;e, XmNbottomAttachment = XmATTACH_NONE;. XmNleftAttachment = XmATTACH_POSITION;/ XmNrightAttachment = XmATTACH_POSITION;n XmNtopPosition = 2;t XmNleftPosition = 5; XmNrightPosition = 95; XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0;r XmNy = 7;a }; controls { }; callbacks {t };};1object reportActiveSW : XmScrolledWindow widget {T arguments { / XmNshadowThickness = ScrollShadowWidth;;3 XmNscrollingPolicy = XmAPPLICATION_DEFINED;+ XmNtopAttachment = XmATTACH_WIDGET;. XmNbottomAttachment = XmATTACH_WIDGET;. XmNleftAttachment = XmATTACH_POSITION;- XmNrightAttachment = XmATTACH_WIDGET;d1 XmNtopWidget = XmLabel reportActiveLabel;p4 XmNbottomWidget = XmRadioBox reportActiveRB;8 XmNrightWidget = XmArrowButton reportActiveUpAB; XmNleftPosition = 5; XmNtopOffset = 3; XmNbottomOffset = 3; XmNleftOffset = 0; XmNrightOffset = 5;; XmNx = 14; XmNy = 35; }; controls {' managed XmList reportActiveList;  }; callbacks {  };};)object reportActiveList : XmList widget {  arguments {s XmNuserData = f_activeList;- XmNselectionPolicy = XmSINGLE_SELECT; 1 XmNlistSizePolicy = XmRESIZE_IF_POSSIBLE;  XmNwidth = 95; XmNheight = 199; }; controls { }; callbacks {eJ MrmNcreateCallback = procedure reportCreateCB(k_reportActiveList);I XmNsingleSelectionCallback = procedure reportActiveSelectionCB();) };};0object reportActiveUpAB : XmArrowButton widget { arguments {" XmNuserData = f_reportActiveUpAB;- XmNtopAttachment = XmATTACH_POSITION;F, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_NONE;+ XmNrightAttachment = XmATTACH_FORM;; XmNtopPosition = 25; XmNbottomOffset = 0; XmNrightOffset = 1;{ XmNx = 124;k XmNy = 86; XmNwidth = 30; XmNheight = 30;g }; controls { }; callbacks {rM XmNactivateCallback = procedure reportActivateCB(k_reportActiveUpAB);= };};2object reportActiveTrashPB : XmPushButton widget { arguments {=% XmNuserData = f_reportActiveTrashPB;A XmNlabelType = XmPIXMAP;$ XmNlabelPixmap = TRASH_icon;- XmNtopAttachment = XmATTACH_POSITION;I, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET; 6 XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNleftWidget = XmArrowButton reportActiveUpAB;o8 XmNrightWidget = XmArrowButton reportActiveUpAB; XmNtopPosition = 37; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;X XmNx = 124;  XmNy = 127;n }; controls { }; callbacks {mP XmNactivateCallback = procedure reportActivateCB(k_reportActiveTrashPB); };};2object reportActiveDownAB : XmArrowButton widget { arguments { $ XmNuserData = f_reportActiveDownAB;) XmNarrowDirection = XmARROW_DOWN; - XmNtopAttachment = XmATTACH_POSITION;m, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;B6 XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET;9 XmNleftWidget = XmPushButton reportActiveTrashPB;d: XmNrightWidget = XmPushButton reportActiveTrashPB; XmNtopPosition = 50; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;c XmNx = 124;  XmNy = 172;t XmNheight = 30;  }; controls { }; callbacks {mO XmNactivateCallback = procedure reportActivateCB(k_reportActiveDownAB);= };};+object reportActiveRB : XmRadioBox widget {  arguments {r) XmNtopAttachment = XmATTACH_NONE; , XmNbottomAttachment = XmATTACH_FORM;. XmNleftAttachment = XmATTACH_POSITION;+ XmNrightAttachment = XmATTACH_FORM;c XmNleftPosition = 4; XmNbottomOffset = 3; XmNrightOffset = 0;n XmNx = 6; XmNy = 266;m XmNwidth = 149;  XmNheight = 75;= }; controls {5 managed XmToggleButton reportActiveSelectedTB;m1 managed XmToggleButton reportActiveSortTB;  }; callbacks {  };};7object reportActiveSelectedTB : XmToggleButton widget { arguments {( XmNuserData = f_reportActiveSelectedTB;9 XmNlabelString = compound_string("Output Order");r XmNset = true; XmNwidth = 143;r XmNheight = 33;= }; controls { }; callbacks {PW XmNvalueChangedCallback = procedure reportActivateCB(k_reportActiveSelectedTB); };};3object reportActiveSortTB : XmToggleButton widget {m arguments {D$ XmNuserData = f_reportActiveSortTB;7 XmNlabelString = compound_string("Sort Order");V XmNwidth = 143;p XmNheight = 33;b }; controls { }; callbacks { S XmNvalueChangedCallback = procedure reportActivateCB(k_reportActiveSortTB);h };};7object reportTableFieldSeparator : XmSeparator widget {t arguments {r XmNshadowThickness = 5;V& XmNorientation = XmHORIZONTAL;- XmNtopAttachment = XmATTACH_POSITION; , XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;- XmNrightAttachment = XmATTACH_WIDGET; : XmNrightWidget = XmSeparator reportItemsSeparator; XmNtopPosition = 50; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  XmNx = 0;  XmNy = 175;l XmNwidth = 175;p XmNheight = 5; }; controls { }; callbacks {  };};3!(BX)object topLevelShell1 : TopLevelShell widget { !(BX) arguments {!(BX) XmNx = 11; !(BX) XmNy = 35;l!(BX) XmNwidth = 400;!(BX) XmNheight = 39; !(BX) };;!(BX) controls {e0!(BX) managed XmForm reportRelationalForm; !(BX) };a!(BX) callbacks { !(BX) };!(BX)};m-object reportRelationalForm : XmForm widget {t arguments {C XmNunitType = XmPIXELS;c. XmNborderWidth = highlightBorderWidth; XmNallowOverlap = false;( XmNresizePolicy = XmRESIZE_GROW; XmNx = 0;F XmNy = 0;; XmNwidth =400;o }; controls {/ managed XmOptionMenu reportRelationalOM;;-!(BX) unmanaged XmMenuShell menuShell3;f+ managed XmText reportRelationalText;= }; callbacks {= };};-object reportRelationalText : XmText widget {  arguments {o& XmNuserData = f_reportRelationalText; XmNresizeHeight = true;r) XmNtopAttachment = XmATTACH_FORM;e, XmNbottomAttachment = XmATTACH_FORM;, XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_FORM;p8 XmNleftWidget = XmOptionMenu reportRelationalOM; XmNtopOffset = 0;: XmNbottomOffset = 0; XmNleftOffset = 5; XmNrightOffset = 0;o XmNmaxLength = 199;  XmNx = 200;t XmNy = 0;N XmNwidth = 200;c }; controls { }; callbacks {t };};-!(BX)object menuShell3 : XmMenuShell widget {;!(BX) arguments {!(BX) XmNwidth = 1;!(BX) XmNheight = 1; !(BX) };m!(BX) controls { B!(BX) unmanaged XmPulldownMenu reportRelationalPulldownMenu; !(BX) }; !(BX) callbacks { !(BX) };p!(BX)};d=object reportRelationalPulldownMenu : XmPulldownMenu widget {s arguments {a XmNx = 0;  XmNy = 0;  XmNwidth = 118;  XmNheight = 178; }; controls {!! Noop will be looked at in V1.0+ 1! managed XmPushButton reportRelationalPB0; / managed XmPushButton reportRelationalPB;t0 managed XmPushButton reportRelationalPB1;0 managed XmPushButton reportRelationalPB2;0 managed XmPushButton reportRelationalPB3;0 managed XmPushButton reportRelationalPB4;0 managed XmPushButton reportRelationalPB5;0 managed XmPushButton reportRelationalPB6;0 Ko1$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1tܰ" managed XmPushButton reportRelationalPB7;0 managed XmPushButton reportRelationalPB8; }; callbacks {a };};2object reportRelationalPB0 : XmPushButton widget { arguments {=$ XmNuserData = f_reportRelationalPB; XmNlabelType = XmSTRING;1 XmNlabelString = compound_string("Noop");t }; controls { }; callbacks {t };};1object reportRelationalPB : XmPushButton widget { arguments {f$ XmNuserData = f_reportRelationalPB; XmNlabelType = XmSTRING;. XmNlabelString = compound_string("="); }; controls { }; callbacks {a };};2object reportRelationalPB1 : XmPushButton widget { arguments {p% XmNuserData = f_reportRelationalPB1; / XmNlabelString = compound_string("<>");E }; controls { }; callbacks {  };};2object reportRelationalPB2 : XmPushButton widget { arguments {H% XmNuserData = f_reportRelationalPB2;X. XmNlabelString = compound_string("<"); }; controls { }; callbacks {g };};2object reportRelationalPB3 : XmPushButton widget { arguments {b% XmNuserData = f_reportRelationalPB3; . XmNlabelString = compound_string(">"); }; controls { }; callbacks {1 };};2object reportRelationalPB4 : XmPushButton widget { arguments {e% XmNuserData = f_reportRelationalPB4;u: XmNlabelString = compound_string("Starting with"); }; controls { }; callbacks {r };};2object reportRelationalPB5 : XmPushButton widget { arguments {b% XmNuserData = f_reportRelationalPB5;l7 XmNlabelString = compound_string("Containing");l }; controls { }; callbacks {i };};2object reportRelationalPB6 : XmPushButton widget { arguments {N% XmNuserData = f_reportRelationalPB6;A/ XmNlabelString = compound_string("<=");S }; controls { }; callbacks {I };};2object reportRelationalPB7 : XmPushButton widget { arguments {t% XmNuserData = f_reportRelationalPB7; / XmNlabelString = compound_string(">=");0 }; controls { }; callbacks {  };};2object reportRelationalPB8 : XmPushButton widget { arguments {e% XmNuserData = f_reportRelationalPB8;o9 XmNlabelString = compound_string("User Defined");y }; controls { }; callbacks {e };};1object reportRelationalOM : XmOptionMenu widget {D arguments {l$ XmNuserData = f_reportRelationalOM; XmNresizeWidth = true; XmNresizeHeight = true;t XmNmarginWidth = 0;p XmNspacing = 0; 2 XmNentryAlignment = XmALIGNMENT_BEGINNING;" XmNpacking = XmPACK_TIGHT;) XmNtopAttachment = XmATTACH_FORM;p, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;= XmNtopOffset = 0;{ XmNbottomOffset = 0; XmNleftOffset = 0; XmNx = 0; XmNy = 0;A }; controls {4 XmPulldownMenu reportRelationalPulldownMenu ; }; callbacks {y };};1!(BX)object dialogShell1 : XmDialogShell widget {O!(BX) arguments {!(BX) XmNx = 11;i!(BX) XmNy = 35;o!(BX) XmNwidth = 281;!(BX) XmNheight = 336;k !(BX) };r!(BX) controls {t8!(BX) managed XmFormDialog reportReportXmTextForm; !(BX) };v!(BX) callbacks { !(BX) };e!(BX)};A5object reportReportXmTextForm : XmFormDialog widget {N arguments {r XmNautoUnmanage = false;p( XmNresizePolicy = XmRESIZE_NONE; XmNx = 11; XmNy = 35; XmNwidth = 625;  XmNheight = 300;@ XmNdialogTitle = 'MultiHelp[R], Report XWindows Output'; }; controls {5 managed XmScrolledWindow reportReportXmTextSW;k+ managed XmForm reportReportXmTextRC; }; callbacks { };};-object reportReportXmTextRC : XmForm widget {a arguments {  XmNmarginWidth = 10;) XmNtopAttachment = XmATTACH_NONE;p, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;  XmNbottomOffset = 0; XmNleftOffset = 15;t XmNrightOffset = 0;  }; controls {5 managed XmPushButton reportReportXmTextMailPB;P8 managed XmPushButton reportReportXmTextDismissPB;6! managed XmPushButton reportReportXmTextHelpPB; }; callbacks {m };};7object reportReportXmTextMailPB : XmPushButton widget {= arguments {b1 XmNlabelString = compound_string("Mail");  }; controls { }; callbacks { U XmNactivateCallback = procedure reportActivateCB(k_reportReportXmTextMailPB);C };};:object reportReportXmTextDismissPB : XmPushButton widget { arguments {t4 XmNlabelString = compound_string("Dismiss"); }; controls { }; callbacks {aX XmNactivateCallback = procedure reportActivateCB(k_reportReportXmTextDismissPB); };};7object reportReportXmTextHelpPB : XmPushButton widget {H arguments {B1 XmNlabelString = compound_string("Help");D }; controls { }; callbacks {AR XmNactivateCallback = procedure contextHelpCallback(h_reportXmTextWindow);V! XmNactivateCallback = procedure reportActivateCB(k_reportReportXmTextHelpPB); };};7object reportReportXmTextSW : XmScrolledWindow widget {  arguments { 3 XmNscrollingPolicy = XmAPPLICATION_DEFINED; ) XmNtopAttachment = XmATTACH_FORM;t. XmNbottomAttachment = XmATTACH_WIDGET;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;t6 XmNbottomWidget = XmForm reportReportXmTextRC; XmNtopOffset = 0;t XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;l XmNx = 0;  XmNy = 0;e XmNwidth = 274;f XmNheight = 400; }; controls {- managed XmText reportReportXmTextText;  }; callbacks {o };};/object reportReportXmTextText : XmText widget {  arguments {g XmNeditable = false;( XmNeditMode = XmMULTI_LINE_EDIT; XmNpendingDelete = false; }; controls { }; callbacks {X };};3object reportInfoXmTextForm : XmFormDialog widget {m arguments {p XmNautoUnmanage = false;t( XmNresizePolicy = XmRESIZE_NONE; XmNx = 11; XmNy = 35; XmNwidth = 600;  XmNheight = 300;K XmNdialogTitle = 'MultiHelp[R], Modify Report Information Screen ';; }; controls {3 managed XmScrolledWindow reportInfoXmTextSW;X) managed XmForm reportInfoXmTextRC;  }; callbacks {_ };};+object reportInfoXmTextRC : XmForm widget {m arguments {  XmNmarginWidth = 10;) XmNtopAttachment = XmATTACH_NONE;l, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;  XmNbottomOffset = 0; XmNleftOffset = 15;o XmNrightOffset = 0;  }; controls {7! managed XmPushButton reportInfoXmTextIncludePB;A4 managed XmPushButton reportInfoXmTextApplyPB;5 managed XmPushButton reportInfoXmTextCancelPB;  }; callbacks {t };};8object reportInfoXmTextIncludePB : XmPushButton widget { arguments { < XmNlabelString = compound_string("Include File..."); }; controls { }; callbacks {hV XmNactivateCallback = procedure reportActivateCB(k_reportInfoXmTextIncludePB); };};6object reportInfoXmTextApplyPB : XmPushButton widget { arguments {(/ XmNlabelString = compound_string("OK"); }; controls { }; callbacks {gT XmNactivateCallback = procedure reportActivateCB(k_reportInfoXmTextApplyPB); };};7object reportInfoXmTextCancelPB : XmPushButton widget { arguments {t3 XmNlabelString = compound_string("Cancel");  }; controls { }; callbacks {hU XmNactivateCallback = procedure reportActivateCB(k_reportInfoXmTextCancelPB);m };};5object reportInfoXmTextSW : XmScrolledWindow widget {o arguments {t3 XmNscrollingPolicy = XmAPPLICATION_DEFINED;M) XmNtopAttachment = XmATTACH_FORM;h. XmNbottomAttachment = XmATTACH_WIDGET;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM; 4 Xm|$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1t "NbottomWidget = XmForm reportInfoXmTextRC; XmNtopOffset = 0;i XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  XmNx = 0;  XmNy = 0;n XmNwidth = 274;  XmNheight = 400; }; controls {+ managed XmText reportInfoXmTextText;O }; callbacks {= };};-object reportInfoXmTextText : XmText widget {; arguments {t! XmNeditable = false;g( XmNeditMode = XmMULTI_LINE_EDIT; XmNpendingDelete = false; }; controls { }; callbacks {l };};0!(BX)object dialogShell : XmDialogShell widget {!(BX) arguments {!(BX) XmNx = 25;i!(BX) XmNy = 164;!(BX) XmNwidth = 292;!(BX) XmNheight = 153; !(BX) };u!(BX) controls {t2!(BX) managed XmFormDialog reportReportForm; !(BX) };}!(BX) callbacks { !(BX) };o!(BX)};w/object reportReportForm : XmFormDialog widget { arguments {  XmNautoUnmanage = false; ( XmNresizePolicy = XmRESIZE_GROW;4 XmNdialogStyle = XmDIALOG_APPLICATION_MODAL; XmNx = 25; XmNy = 164;p! XmNwidth = 450;! XmNheight = 175;t> XmNdialogTitle = 'MultiHelp[R], Report Output Format'; }; controls {' managed XmForm reportReportPBRC;d/ managed XmRadioBox reportReportOutputRB;d }; callbacks {i };};1object reportReportOutputRB : XmRadioBox widget {  arguments {t* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;d XmNleftOffset = 0; XmNrightOffset = 0;  XmNx = 0;b XmNy = 0;a! XmNwidth = 292;! XmNheight = 111;s }; controls {2 managed XmToggleButton reportReportMotifTB;1 managed XmToggleButton reportReportMailTB; 5 managed XmToggleButton reportReportMailFlatTB;7 managed XmToggleButton reportReportDisplaySQLTB;r }; callbacks {= };};4object reportReportMotifTB : XmToggleButton widget { arguments {m% XmNuserData = f_reportReportMotifTB;sS XmNlabelString = compound_string("Display report using XWindows... ");  XmNset = true; }; controls { }; callbacks {  };};3object reportReportMailTB : XmToggleButton widget { arguments {a$ XmNuserData = f_reportReportMailTB;? XmNlabelString = compound_string("Mail report output");a XmNwidth = 286;X XmNheight = 33;= }; controls { }; callbacks {  };};7object reportReportMailFlatTB : XmToggleButton widget {s arguments {( XmNuserData = f_reportReportMailFlatTB;I XmNlabelString = compound_string("Mail flat file format output");  XmNwidth = 286;a XmNheight = 33; }; controls { }; callbacks {{ };};9object reportReportDisplaySQLTB : XmToggleButton widget {b arguments {n( XmNuserData = f_reportReportMailFlatTB;Q XmNlabelString = compound_string("Display SQL string used by MultiHelp");s XmNwidth = 286;u XmNheight = 33;f }; controls { }; callbacks {c };};)object reportReportPBRC : XmForm widget {  arguments {k+ XmNtopAttachment = XmATTACH_WIDGET;6, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM; 7 XmNtopWidget = XmRadioBox reportReportOutputRB;; XmNtopOffset = 3;P XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  }; controls {- managed XmPushButton reportReportOKPB;2 managed XmPushButton reportReportDismissPB;/ managed XmPushButton reportReportMailPB;e }; callbacks {r };};/object reportReportOKPB : XmPushButton widget {" arguments {" XmNuserData = f_reportReportOKPB;/ XmNlabelString = compound_string("OK");a }; controls { }; callbacks {XM XmNactivateCallback = procedure reportActivateCB(k_reportReportOKPB);r };};4object reportReportDismissPB : XmPushButton widget { arguments { ' XmNuserData = f_reportReportDismissPB;;4 XmNlabelString = compound_string("Dismiss"); }; controls { }; callbacks {cR XmNactivateCallback = procedure reportActivateCB(k_reportReportDismissPB); };};1object reportReportMailPB : XmPushButton widget {  arguments { 4 XmNlabelString = compound_string("Mail..."); }; controls { }; callbacks {XO XmNactivateCallback = procedure reportActivateCB(k_reportReportMailPB);; };};-object reportCharForm : XmFormDialog widget {a arguments {  XmNautoUnmanage = false; ( XmNresizePolicy = XmRESIZE_GROW;4 XmNdialogStyle = XmDIALOG_APPLICATION_MODAL; XmNx = 0; XmNy = 0;  XmNwidth = 487;X XmNheight = 505;G XmNdialogTitle = 'MultiHelp[R], Report Output Characteristics';F }; controls {8! managed XmLabel reportOutputIntervalFormatLabel;;! managed XmTextField reportOutputIntervalFormatText; 4! managed XmLabel reportOutputDateFormatLabel;. managed XmLabel reportOutputTitleLabel;, managed XmText reportOutputTitleText;5 managed XmTextField reportOutputLimitRowsText;e2 managed XmLabel reportOutputLimitRowsLabel;8 managed XmSeparator reportOutputTabularSeparator;0 managed XmLabel reportOutputTabularLabel;5 managed XmTextField reportOutputTopMarginText;A2 managed XmLabel reportOutputTopMarginLabel;8 managed XmTextField reportOutputBottomMarginText;5 managed XmLabel reportOutputBottomMarginLabel;O7 managed XmTextField reportOutputRightMarginText;f4 managed XmLabel reportOutputRightMarginLabel;6 managed XmTextField reportOutputLeftMarginText;3 managed XmLabel reportOutputLeftMarginLabel; 9 managed XmTextField reportOutputColumnSpacingText; 6 managed XmLabel reportOutputColumnSpacingLabel;8 managed XmTextField reportOutputLinesPerPageText;6 managed XmLabel reportOutputLinesPerPagesLabel;; managed XmToggleButton reportOutputTabularHeadersTB; 9 managed XmToggleButton reportOutputTabularTitleTB;9 managed XmSeparator reportOutputFlatFileSeparator;1 managed XmLabel reportOutputFlatFileLabel;_7! managed XmTextField reportOutputDateFormatText;l4 managed XmToggleButton reportOutputQuoteText;6 managed XmLabel reportOutputFlatDelimiterLabel;9 managed XmTextField reportOutputFlatDelimiterText;< managed XmToggleButton reportOutputFlatFileHeadersTB;: managed XmToggleButton reportOutputFlatFileTitleTB;- managed XmFrame reportOutputHelpFrame;b' managed XmForm reportOutputPBRC;c }; callbacks {e };};0object reportOutputLinesPerPageText: XmTextField {R argumentsc {d0 XmNuserData = reportOutputLinesPerPageText; XmNvalue ="66"; XmNcolumns = 3;A XmNmaxLength = 3;8 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;; XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;_9 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;R/ XmNrightAttachment = XmATTACH_NONE;OE XmNtopWidget = XmTextField reportOutputColumnSpacingText; H XmNbottomWidget = XmTextField reportOutputColumnSpacingText;D XmNleftWidget = XmTextField reportOutputRightMarginText; XmNtopOffset = 0;a XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  }; controls {U }; callbacks { }; };.object reportOutputLinesPerPagesLabel: XmLabel {m argumentsm {  XmNlabelString =. compound_string("Lines Per Page");8 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;; XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;H9 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;o/ XmNrightAttachment = XmATTACH_NONE;nD XmNtopWidget = XmTextField reportOutputLinesPerPageText;G XmNbottomWidget = XmTextField reportOutputLinesPerPageText;A XmNleftWidget = XmLabel reportOutputRightMarginLabel;h XmNtopOffset = 0; XmNbottomOffset = 0; XmNleftOffset = 0; 9MW$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1t%"XmNrightOffset = 0;t }; controls {  }; callbacks {t }; };1object reportOutputTabularSeparator : XmSeparatorx { arguments {+ XmNtopAttachment = XmATTACH_WIDGET;, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;s& XmNorientation = XmHORIZONTAL;; XmNtopWidget = XmLabel reportOutputLimitRowsLabel; ) XmNseparatorType = XmDOUBLE_DASHED_LINE;h XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;r };T };y)object reportOutputTabularLabel : XmLabel( { arguments { XmNlabelString =' compound_string("Tabular");a+ XmNtopAttachment = XmATTACH_WIDGET;c, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;t@ XmNtopWidget = XmSeparator reportOutputTabularSeparator; XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 3; XmNrightOffset = 3;T };e };7object reportOutputTopMarginText : XmTextField widget {w arguments {u+ XmNuserData = f_reportOutputTopMarginText;I XmNvalue = '6';  XmNcolumns = 1;C XmNmaxLength = 2;A XmNresizeWidth = true;+ XmNtopAttachment = XmATTACH_WIDGET; , XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET; + XmNrightAttachment = XmATTACH_NONE; 8 XmNtopWidget = XmLabel reportOutputTabularLabel;7 XmNleftWidget = XmLabel reportOutputTitleLabel;w XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;; }; controls { }; callbacks {f };};9object reportOutputRightMarginText : XmTextField widget {f arguments {m- XmNuserData = f_reportOutputRightMarginText;t XmNvalue = '5';o XmNcolumns = 1;l XmNmaxLength = 2;X4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; 5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;e+ XmNrightAttachment = XmATTACH_NONE; > XmNtopWidget = XmTextField reportOutputLeftMarginText;A XmNbottomWidget = XmTextField reportOutputLeftMarginText;RA XmNleftWidget = XmTextField reportOutputBottomMarginText;a XmNtopOffset = 0;s XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  }; controls { }; callbacks {i };};8object reportOutputLeftMarginText : XmTextField widget { arguments {t, XmNuserData = f_reportOutputLeftMarginText; XmNvalue = '5';t XmNcolumns = 1;R XmNmaxLength = 2;B+ XmNtopAttachment = XmATTACH_WIDGET;b, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;A+ XmNrightAttachment = XmATTACH_NONE;C= XmNtopWidget = XmTextField reportOutputTopMarginText;0> XmNleftWidget = XmTextField reportOutputTopMarginText; XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; }; controls { }; callbacks {t };};;object reportOutputColumnSpacingText : XmTextField widget {l arguments {n/ XmNuserData = f_reportOutputColumnSpacingText;  XmNvalue = '1';  XmNcolumns = 1;R XmNmaxLength = 1;o+ XmNtopAttachment = XmATTACH_WIDGET;f, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET; + XmNrightAttachment = XmATTACH_NONE;o> XmNtopWidget = XmTextField reportOutputLeftMarginText;? XmNleftWidget = XmTextField reportOutputLeftMarginText;r XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; }; controls { }; callbacks {i };};:object reportOutputBottomMarginText : XmTextField widget { arguments {p. XmNuserData = f_reportOutputBottomMarginText; XmNvalue = '6';= XmNcolumns = 1;; XmNmaxLength = 2;c4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; . XmNleftAttachment = XmATTACH_POSITION;+ XmNrightAttachment = XmATTACH_NONE;g= XmNtopWidget = XmTextField reportOutputTopMarginText;p@ XmNbottomWidget = XmTextField reportOutputTopMarginText; XmNleftPosition = 54;s XmNtopOffset = 0; XmNbottomOffset = 0; XmNrightOffset = 0;  }; controls { }; callbacks {P };};2object reportOutputFlatFileSeparator : XmSeparator { arguments {+ XmNtopAttachment = XmATTACH_WIDGET;, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;t& XmNorientation = XmHORIZONTAL;A XmNtopWidget = XmToggleButton reportOutputTabularTitleTB;m) XmNseparatorType = XmDOUBLE_DASHED_LINE; XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;X };t };o*object reportOutputFlatFileLabel : XmLabel { arguments { XmNlabelString =) compound_string("Flat-File");a+ XmNtopAttachment = XmATTACH_WIDGET;i, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;BA XmNtopWidget = XmSeparator reportOutputFlatFileSeparator;: XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 3; XmNrightOffset = 3;n };g };s8object reportOutputDateFormatText : XmTextField widget { arguments {l, XmNuserData = f_reportOutputDateFormatText;, XmNvalue = 'YYYY-MM-DD:hh:mm:ss.cc'; XmNmaxLength = 30;+ XmNtopAttachment = XmATTACH_WIDGET;i, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;t+ XmNrightAttachment = XmATTACH_NONE;rA XmNtopWidget = XmTextField reportOutputColumnSpacingText;lB XmNleftWidget = XmTextField reportOutputColumnSpacingText; XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  }; controls { }; callbacks {h };};.object reportOutputTitleText : XmText widget { arguments {t' XmNuserData = f_reportOutputTitleText;a& XmNvalue = 'Multihelp Report'; XmNmaxLength = 500;t( XmNeditMode = XmMULTI_LINE_EDIT; XmNrows = 3;! XmNpendingDelete = false; , XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_FORM; 7 XmNleftWidget = XmLabel reportOutputTitleLabel;  XmNleftOffset = 28;L XmNrightOffset = 71; XmNx = 140;O XmNy = 20; }; controls { }; callbacks {e };};0object reportOutputTitleLabel : XmLabel widget { arguments {b7 XmNlabelString = compound_string("Page Title");e) XmNtopAttachment = XmATTACH_FORM;n, XmNbottomAttachment = XmATTACH_NONE; XmNtopOffset = 50; XmNbottomOffset = 0; XmNx = 30; XmNy = 50; }; controls { }; callbacks {r };};4object reportOutputLimitRowsLabel : XmLabel widget { arguments { < XmNlabelString = compound_string("Limit to # Rows");4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; 5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET; + XmNrightAttachment = XmATTACH_NONE;a= XmNtopWidget = XmTextField reportOutputLimitRowsText;T@ XmNbottomWidget = XmTextField reportOutputLimitRowsText;5 XmNleftWidget = XmText reportOutputTitleText;_ XmNtopOffset = 0;i XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;; }; controls { }; callbacks {r };};7object reportOutputLimitRowsText : XmTextField widget {  arguments {g+ XmNuserData = f_reportOutputLimitRowsText;  XmNvalue = '0';  XmNcolumns = 8;T XmNmaxLength = 8;a XmNresizeWidth = true;+ XmNtopAttachment = XmATTACH_WIDGET;, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET; + XmNrightAttachment = XmATTACH_NONE;=4 XmNtϤ$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1t3"opWidget = XmText reportOutputTitleText;7 XmNleftWidget = XmLabel reportOutputTitleLabel;  XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;I }; controls { }; callbacks {O };};4object reportOutputTopMarginLabel : XmLabel widget { arguments {p7 XmNlabelString = compound_string("Top Margin"); 4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;e, XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_NONE;;= XmNtopWidget = XmTextField reportOutputTopMarginText;0@ XmNbottomWidget = XmTextField reportOutputTopMarginText;> XmNleftWidget = XmTextField reportOutputTopMarginText; XmNtopOffset = 0;s XmNbottomOffset = 0; XmNleftOffset = 30;  XmNrightOffset = 0;b }; controls { }; callbacks {r };};7object reportOutputBottomMarginLabel : XmLabel widget {  arguments {A: XmNlabelString = compound_string("Bottom Margin");4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;g, XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_NONE;e@ XmNtopWidget = XmTextField reportOutputBottomMarginText;C XmNbottomWidget = XmTextField reportOutputBottomMarginText; A XmNleftWidget = XmTextField reportOutputBottomMarginText;  XmNtopOffset = 0;  XmNbottomOffset = 0; XmNleftOffset = 30;  XmNrightOffset = 0;  }; controls { }; callbacks {r };};5object reportOutputLeftMarginLabel : XmLabel widget {  arguments {e8 XmNlabelString = compound_string("Left Margin");4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;m5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;L+ XmNrightAttachment = XmATTACH_NONE;a> XmNtopWidget = XmTextField reportOutputLeftMarginText;A XmNbottomWidget = XmTextField reportOutputLeftMarginText;r; XmNleftWidget = XmLabel reportOutputTopMarginLabel;a XmNtopOffset = 0;g XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;m }; controls { }; callbacks {t };};8object reportOutputColumnSpacingLabel : XmLabel widget { arguments {g; XmNlabelString = compound_string("Column Spacing");r4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;f5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;+ XmNrightAttachment = XmATTACH_NONE;eA XmNtopWidget = XmTextField reportOutputColumnSpacingText;gD XmNbottomWidget = XmTextField reportOutputColumnSpacingText;; XmNleftWidget = XmLabel reportOutputTopMarginLabel;m XmNtopOffset = 0;I XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;A }; controls { }; callbacks {= };};6object reportOutputRightMarginLabel : XmLabel widget { arguments {l9 XmNlabelString = compound_string("Right Margin");p4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; 5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;b+ XmNrightAttachment = XmATTACH_NONE;d? XmNtopWidget = XmTextField reportOutputRightMarginText;aB XmNbottomWidget = XmTextField reportOutputRightMarginText;> XmNleftWidget = XmLabel reportOutputBottomMarginLabel; XmNtopOffset = 0;t XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;T }; controls { }; callbacks {_ };};5object reportOutputDateFormatLabel : XmLabel widget {; arguments {o8 XmNlabelString = compound_string("Date Format");4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;e, XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_NONE; > XmNtopWidget = XmTextField reportOutputDateFormatText;A XmNbottomWidget = XmTextField reportOutputDateFormatText;r? XmNleftWidget = XmTextField reportOutputDateFormatText;c XmNtopOffset = 0;x XmNbottomOffset = 0; XmNleftOffset = 30; XmNrightOffset = 0;  XmNx = 278;  XmNy = 224;  XmNwidth = 110;A XmNheight = 39;e }; controls { }; callbacks {x };};<object reportOutputIntervalFormatText : XmTextField widget { arguments {T# XmNvalue = 'HHH:MM:SS:hhh'; + XmNtopAttachment = XmATTACH_WIDGET;e, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;g6 XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET;> XmNtopWidget = XmTextField reportOutputDateFormatText;? XmNleftWidget = XmTextField reportOutputDateFormatText; @ XmNrightWidget = XmTextField reportOutputDateFormatText; XmNmaxLength = 30; XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;X }; controls { }; callbacks {m };};9object reportOutputIntervalFormatLabel : XmLabel widget {s arguments { - XmNalignment = XmALIGNMENT_BEGINNING;;< XmNlabelString = compound_string("Interval Format");! XmNrecomputeSize = false;T4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;=5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;=+ XmNrightAttachment = XmATTACH_NONE;OB XmNtopWidget = XmTextField reportOutputIntervalFormatText;E XmNbottomWidget = XmTextField reportOutputIntervalFormatText;a< XmNleftWidget = XmLabel reportOutputDateFormatLabel; XmNtopOffset = 0; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;o XmNx = 278;t XmNy = 278;  XmNwidth = 150;  XmNheight = 39;  }; controls { }; callbacks {P };};;object reportOutputFlatDelimiterText : XmTextField widget {  arguments { / XmNuserData = f_reportOutputFlatDelimiterText;  XmNvalue = ',';T XmNcolumns = 1;f XmNmaxLength = 1;;+ XmNtopAttachment = XmATTACH_WIDGET;t, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;t+ XmNrightAttachment = XmATTACH_NONE;I9 XmNtopWidget = XmLabel reportOutputFlatFileLabel; B XmNleftWidget = XmTextField reportOutputColumnSpacingText; XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;o XmNx = 30; XmNy = 332;t XmNheight = 39;I }; controls { }; callbacks {N };};8object reportOutputFlatDelimiterLabel : XmLabel widget { arguments {M- XmNalignment = XmALIGNMENT_BEGINNING;tG XmNlabelString = compound_string("Flat File Column Delimiter");e! XmNrecomputeSize = false;4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;r5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;;+ XmNrightAttachment = XmATTACH_NONE;;A XmNtopWidget = XmTextField reportOutputFlatDelimiterText;ID XmNbottomWidget = XmTextField reportOutputFlatDelimiterText;< XmNleftWidget = XmLabel reportOutputLeftMarginLabel; XmNtopOffset = 0;  XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  XmNx = 88; XmNy = 332;; XmNwidth = 240;1 XmNheight = 39;e }; controls { }; callbacks {g };};6object reportOutputQuoteText : XmToggleButton widget { arguments {r' XmNuserData = f_reportOutputQuoteText; J XmNlabelString = compound_string("Enclose Text/Date with Quotes");+ XmNtopAttachment = XmATTACH_WIDGET;5, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;e+ XmNrightAttachment = XmATTACH_NONE;EA XmNtopWidget = XmTextField reportOutputFlatDelimiterText;dB XmNleftWidget = XmTextField reportOutputFlatDelimiterText; XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;a XmNx = 3̓h_$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1tV0; XmNy = 386;T XmNset = true; XmNwidth = 282;  XmNheight = 33;m }; controls { }; callbacks {h };};=object reportOutputTabularHeadersTB : XmToggleButton widget {  arguments {;+ XmNuserData = f_reportOutputColumnHeaders;=- XmNalignment = XmALIGNMENT_BEGINNING;{B XmNlabelString = compound_string("Output Column Headers");+ XmNtopAttachment = XmATTACH_WIDGET;, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;O+ XmNrightAttachment = XmATTACH_NONE;m@ XmNtopWidget = XmTextField reportOutputLinesPerPageText;B XmNleftWidget = XmTextField reportOutputColumnSpacingText; XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;w XmNx = 30; XmNy = 386;p XmNset = true; XmNheight = 33; }; controls { }; callbacks {e };};;object reportOutputTabularTitleTB : XmToggleButton widget {a arguments {;) XmNuserData = f_reportOutputTitleOutput;X- XmNalignment = XmALIGNMENT_BEGINNING;r@ XmNlabelString = compound_string("Output Report Title");4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;n+ XmNrightAttachment = XmATTACH_NONE; C XmNtopWidget = XmToggleButton reportOutputTabularHeadersTB;OA XmNleftWidget = XmTextField reportOutputBottomMarginText;  XmNtopOffset = 0;o XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  XmNx = 30; XmNy = 386;t XmNset = true; XmNheight = 33;a }; controls { }; callbacks {n };};>object reportOutputFlatFileHeadersTB : XmToggleButton widget { arguments {g+ XmNuserData = f_reportOutputColumnHeaders;PB XmNlabelString = compound_string("Output Column Headers");- XmNalignment = XmALIGNMENT_BEGINNING;E+ XmNtopAttachment = XmATTACH_WIDGET;E, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;i+ XmNrightAttachment = XmATTACH_NONE;f< XmNtopWidget = XmToggleButton reportOutputQuoteText;B XmNleftWidget = XmTextField reportOutputFlatDelimiterText; XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;O XmNset = false; XmNx = 30; XmNy = 386;A XmNheight = 33;= }; controls { }; callbacks {p };};<object reportOutputFlatFileTitleTB : XmToggleButton widget { arguments {T) XmNuserData = f_reportOutputTitleOutput;D@ XmNlabelString = compound_string("Output Report Title");- XmNalignment = XmALIGNMENT_BEGINNING;x4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;p+ XmNrightAttachment = XmATTACH_NONE; D XmNtopWidget = XmToggleButton reportOutputFlatFileHeadersTB;A XmNleftWidget = XmTextField reportOutputBottomMarginText;t XmNtopOffset = 0;l XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0; XmNset = false; XmNx = 30; XmNy = 386;  XmNheight = 33;m }; controls { }; callbacks {n };};/object reportOutputHelpFrame : XmFrame widget {A arguments { , XmNshadowType = XmSHADOW_ETCHED_OUT; XmNshadowThickness = 2;d+ XmNtopAttachment = XmATTACH_WIDGET;r, XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;fB XmNtopWidget = XmToggleButton reportOutputFlatFileTitleTB; XmNtopOffset = 15; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  }; controls {- managed XmLabel reportOutputHelpLabel;  }; callbacks {T };};/object reportOutputHelpLabel : XmLabel widget {P arguments {  XmNx = 2;m XmNy = 2;S XmNheight = 39;r }; controls { }; callbacks {i };};)object reportOutputPBRC : XmForm widget {  arguments { + XmNtopAttachment = XmATTACH_WIDGET; , XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;f. XmNtopWidget = XmFrame reportOutputHelpFrame; XmNtopOffset = 0;  }; controls {- managed XmPushButton reportOutputSDPB;e2 managed XmPushButton reportOutputDismissPB;1 managed XmPushButton reportOutputCancelPB;p }; callbacks {O };};/object reportOutputSDPB : XmPushButton widget {I arguments {m" XmNuserData = f_reportOutputSDPB;< XmNlabelString = compound_string("System Defaults"); }; controls { }; callbacks {gM XmNactivateCallback = procedure reportActivateCB(k_reportOutputSDPB);  };};4object reportOutputDismissPB : XmPushButton widget { arguments {0' XmNuserData = f_reportOutputDismissPB; / XmNlabelString = compound_string("OK"); }; controls { }; callbacks {R XmNactivateCallback = procedure reportActivateCB(k_reportOutputDismissPB); };};3object reportOutputCancelPB : XmPushButton widget {  arguments {t& XmNuserData = f_reportOutputCancelPB;3 XmNlabelString = compound_string("Cancel");  }; controls { }; callbacks {mQ XmNactivateCallback = procedure reportActivateCB(k_reportOutputCancelPB);D };};2object reportBreakMainForm : XmFormDialog widget { arguments {)! XmNresizePolicy = XmRESIZE_GROW;u XmNautoUnmanage = false; ( XmNresizePolicy = XmRESIZE_NONE;4 XmNdialogStyle = XmDIALOG_APPLICATION_MODAL; XmNx = 11; XmNy = 35; XmNwidth = 750;  XmNheight = 450;B XmNdialogTitle = 'MultiHelp[R], Report Break Information'; }; controls {, managed XmLabel reportBreakListLabel;0 managed XmLabel reportBreakResourceLabel;2 managed XmSeparator reportBreakNASeparator;2 managed XmLabel reportBreakActiveListLabel;8 managed XmSeparator reportBreakResourceSeparator;> managed XmScrolledWindow reportBreakResourceSW; 4 managed XmScrolledWindow reportBreakActiveSW;. managed XmScrolledWindow reportBreakSW;+ managed XmForm reportBreakButtonsRC;X, managed XmFrame reportBreakHelpFrame;3 managed XmArrowButton reportBreakActiveUpAB; 5 managed XmPushButton reportBreakActiveTrashPB; 5 managed XmArrowButton reportBreakActiveDownAB;  }; callbacks { M MrmNcreateCallback = procedure reportCreateCB(k_reportBreakMainForm);e };};.object reportBreakHelpFrame : XmFrame widget { arguments {=, XmNshadowType = XmSHADOW_ETCHED_OUT;  XmNshadowThickness = 2; ) XmNtopAttachment = XmATTACH_NONE;E. XmNbottomAttachment = XmATTACH_WIDGET;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;a6 XmNbottomWidget = XmForm reportBreakButtonsRC; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;t }; controls {, managed XmLabel reportBreakHelpLabel; }; callbacks {t };};.object reportBreakHelpLabel : XmLabel widget { arguments {  XmNx = 2;0 XmNy = 2;2 XmNheight = 39;  }; controls { }; callbacks {9 };};-object reportBreakButtonsRC : XmForm widget {; arguments {O XmNmarginWidth = 10;) XmNtopAttachment = XmATTACH_NONE;r, XmNbottomAttachment = XmATTACH_FORM;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_FORM;p XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;m XmNx = 0;m XmNy = 233;T }; controls {1 managed XmPushButton reportBreakDismissPB;L0 managed XmPushButton reportBreakCancelPB;.! managed XmPushButton reportBreakAddPB;0! managed XmPushButton reportBreakTrashPB; }; callbacks {f };};2object reportBreakCancelPB : XmPushButton widget { arguments {t% XmNuserData = f_reportBreakCancelPB; 3 XmNlabelString = compound_string("Cancel");b XmNx = 375;D XmNy =ٸ$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1tR"! 2;a }; controls { }; callbacks {eP XmNactivateCallback = procedure reportActivateCB(k_reportBreakCancelPB); };};3object reportBreakDismissPB : XmPushButton widget {m arguments {X& XmNuserData = f_reportBreakDismissPB;/ XmNlabelString = compound_string("OK");  XmNx = 150;  XmNy = 2;I }; controls { }; callbacks {EQ XmNactivateCallback = procedure reportActivateCB(k_reportBreakDismissPB);b };};/object reportBreakAddPB : XmPushButton widget {  arguments { " XmNuserData = f_reportBreakAddPB; XmNlabelType = XmPIXMAP;& XmNlabelPixmap = plusxbm_icon; XmNrecomputeSize = true; }; controls { }; callbacks {2M XmNactivateCallback = procedure reportActivateCB(k_reportBreakAddPB); };};1object reportBreakTrashPB : XmPushButton widget {e arguments {o$ XmNuserData = f_reportBreakTrashPB; XmNlabelType = XmPIXMAP;$ XmNlabelPixmap = TRASH_icon; XmNwidth = 42; }; controls { }; callbacks {_U XmNactivateCallback = procedure reportActivateCB(k_reportBreakActiveTrashPB);T };};0object reportBreakSW : XmScrolledWindow widget { arguments {t/ XmNshadowThickness = ScrollShadowWidth;e3 XmNscrollingPolicy = XmAPPLICATION_DEFINED;t/ XmNworkWindow = XmList reportBreakList; + XmNtopAttachment = XmATTACH_WIDGET;f. XmNbottomAttachment = XmATTACH_WIDGET;* XmNleftAttachment = XmATTACH_FORM;- XmNrightAttachment = XmATTACH_WIDGET; 4 XmNtopWidget = XmLabel reportBreakListLabel;7 XmNbottomWidget = XmFrame reportBreakHelpFrame;d< XmNrightWidget = XmSeparator reportBreakNASeparator; XmNtopOffset = 2;a XmNbottomOffset = 2; XmNleftOffset = 2; XmNrightOffset = 2;n XmNx = 2;l XmNy = 30; }; controls {& managed XmList reportBreakList; }; callbacks {  };};(object reportBreakList : XmList widget { arguments {a! XmNuserData = f_reportBreakList;m- XmNselectionPolicy = XmSINGLE_SELECT;g1 XmNlistSizePolicy = XmRESIZE_IF_POSSIBLE;u XmNwidth = 134;  XmNheight = 191; }; controls { }; callbacks {eI MrmNcreateCallback = procedure reportCreateCB(k_reportBreakList);6W XmNdefaultActionCallback = procedure reportBreakSelectionCB(k_reportBreakList); X! XmNdefaultActionCallback = procedure reportBreakSelectionCB(k_reportBreakList); };};5object reportBreakActiveUpAB : XmArrowButton widget {  arguments {A" XmNuserData = f_reportActiveUpAB;- XmNtopAttachment = XmATTACH_POSITION;", XmNbottomAttachment = XmATTACH_NONE;* XmNleftAttachment = XmATTACH_NONE;- XmNrightAttachment = XmATTACH_WIDGET;A XmNtopPosition = 25; XmNbottomOffset = 0; XmNrightOffset = 2;=B XmNrightWidget = XmSeparator reportBreakResourceSeparator; XmNx = 124;t XmNy = 86; XmNwidth = 30; XmNheight = 30;o }; controls { }; callbacks { R XmNactivateCallback = procedure reportActivateCB(k_reportBreakActiveUpAB); };};7object reportBreakActiveTrashPB : XmPushButton widget {a arguments {;% XmNuserData = f_reportActiveTrashPB;: XmNlabelType = XmPIXMAP;$ XmNlabelPixmap = TRASH_icon;- XmNtopAttachment = XmATTACH_POSITION;o, XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;t6 XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET;< XmNleftWidget = XmArrowButton reportBreakActiveUpAB;= XmNrightWidget = XmArrowButton reportBreakActiveUpAB;  XmNtopPosition = 37; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;e XmNx = 124;p XmNy = 127;  }; controls { }; callbacks {U XmNactivateCallback = procedure reportActivateCB(k_reportBreakActiveTrashPB);A };};7object reportBreakActiveDownAB : XmArrowButton widget {k arguments {$ XmNuserData = f_reportActiveDownAB;) XmNarrowDirection = XmARROW_DOWN;- XmNtopAttachment = XmATTACH_POSITION; , XmNbottomAttachment = XmATTACH_NONE;5 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;N6 XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET;> XmNleftWidget = XmPushButton reportBreakActiveTrashPB;? XmNrightWidget = XmPushButton reportBreakActiveTrashPB;h XmNtopPosition = 50; XmNbottomOffset = 0; XmNleftOffset = 0; XmNrightOffset = 0;  XmNx = 124;p XmNy = 172; XmNheight = 30;l }; controls { }; callbacks {fT XmNactivateCallback = procedure reportActivateCB(k_reportBreakActiveDownAB); };};6object reportBreakActiveSW : XmScrolledWindow widget { arguments {n' XmNuserData = f_reportBreakActiveList;a/ XmNshadowThickness = ScrollShadowWidth; 3 XmNscrollingPolicy = XmAPPLICATION_DEFINED;o5 XmNworkWindow = XmList reportBreakActiveList;I+ XmNtopAttachment = XmATTACH_WIDGET;H. XmNbottomAttachment = XmATTACH_WIDGET;- XmNrightAttachment = XmATTACH_WIDGET;f, XmNleftAttachment = XmATTACH_WIDGET;: XmNtopWidget = XmLabel reportBreakActiveListLabel;7 XmNbottomWidget = XmFrame reportBreakHelpFrame;r; XmNleftWidget = XmSeparator reportBreakNASeparator;b? XmNrightWidget = XmPushButton reportBreakActiveTrashPB; XmNtopOffset = 2;b XmNbottomOffset = 2; XmNleftOffset = 2; XmNrightOffset = 2;  XmNx = 2; XmNy = 30; }; controls {, managed XmList reportBreakActiveList; }; callbacks {r };};.object reportBreakActiveList : XmList widget { arguments {c' XmNuserData = f_reportBreakActiveList;t- XmNselectionPolicy = XmSINGLE_SELECT;h1 XmNlistSizePolicy = XmRESIZE_IF_POSSIBLE;o XmNwidth = 134;  XmNheight = 191; }; controls { }; callbacks {eO MrmNcreateCallback = procedure reportCreateCB(k_reportBreakActiveList);ge XmNsingleSelectionCallback = procedure reportBreakActiveSelectionCB(k_reportBreakActiveList); X! XmNdefaultActionCallback = procedure reportBreakSelectionCB(k_reportBreakList); };};8object reportBreakResourceSW : XmScrolledWindow widget { arguments {a/ XmNshadowThickness = ScrollShadowWidth;r) XmNscrollingPolicy = XmAUTOMATIC; 9! XmNworkWindow = XmForm reportBreakResourceForm; g+ XmNtopAttachment = XmATTACH_WIDGET;r. XmNbottomAttachment = XmATTACH_WIDGET;, XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_FORM;C8 XmNtopWidget = XmLabel reportBreakResourceLabel;7 XmNbottomWidget = XmFrame reportBreakHelpFrame;uA XmNleftWidget = XmSeparator reportBreakResourceSeparator;e XmNtopOffset = 2;g XmNbottomOffset = 2; XmNleftOffset = 2; XmNrightOffset = 2;  XmNx = 325;  XmNy = 30; XmNwidth = 423;n XmNheight = 201; }; controls {/ managed XmForm reportBreakResourceForm;  }; callbacks {S };};7object reportBreakActiveTotalPB : XmPushButton widget {I arguments { * XmNuserData = f_reportBreakActiveTotalPB;4 XmNlabelString = compound_string("Total()"); }; controls { }; callbacks {m };};7object reportBreakActiveCountPB : XmPushButton widget {o arguments {m* XmNuserData = f_reportBreakActiveCountPB;4 XmNlabelString = compound_string("Count()"); }; controls { }; callbacks {m };};5object reportBreakActiveAvgPB : XmPushButton widget {r arguments {r( XmNuserData = f_reportBreakActiveAvgPB;2 XmNlabelString = compound_string("Avg()"); }; controls { }; callbacks {g };};7object reportBreakActiveValuePB : XmPushButton widget {t arguments {m* XmNuserData = f_reportBreakActiveValuePB;4 XmNlabelString = compound_string("Value()"); }; controls { }; callbacks { };};:object reportBreakActiveUserTextPB : XmPushButton widget { arguments {r( XmNuserData = f_reportBreakActiveAvgPB;6 XmNlabelString = compound_string("User Text"); }; controls { }; callbacks {= };};4object reportBreakNASeparator : Xm#$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1t"2Separator widget { arguments {  XmNshadowThickness = 5;O$ XmNorientation = XmVERTICAL;) XmNtopAttachment = XmATTACH_FORM; . XmNbottomAttachment = XmATTACH_WIDGET;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE;f7 XmNbottomWidget = XmFrame reportBreakHelpFrame;s XmNtopOffset = 0;o XmNbottomOffset = 0; XmNleftOffset = 200; XmNrightOffset = 0; XmNx = 200;e XmNy = 0;i XmNwidth = 10; XmNheight = 233; }; controls { }; callbacks {R MrmNcreateCallback = procedure reportPanHandler(k_reportBreakNASeparator); };};:object reportBreakResourceSeparator : XmSeparator widget { arguments {e XmNshadowThickness = 5;b$ XmNorientation = XmVERTICAL;) XmNtopAttachment = XmATTACH_FORM; . XmNbottomAttachment = XmATTACH_WIDGET;* XmNleftAttachment = XmATTACH_FORM;+ XmNrightAttachment = XmATTACH_NONE; 7 XmNbottomWidget = XmFrame reportBreakHelpFrame; XmNtopOffset = 0;  XmNbottomOffset = 0; XmNleftOffset = 400; XmNrightOffset = 0;  XmNx = 400;e XmNy = 0;a XmNwidth = 10; XmNheight = 233; }; controls { }; callbacks {aX MrmNcreateCallback = procedure reportPanHandler(k_reportBreakResourceSeparator); };};2object reportBreakResourceLabel : XmLabel widget { arguments { G XmNlabelString = compound_string(" Break Output Information ");a, XmNleftAttachment = XmATTACH_WIDGET;+ XmNrightAttachment = XmATTACH_FORM;rA XmNleftWidget = XmSeparator reportBreakResourceSeparator;N XmNtopOffset = 3;m XmNleftOffset = 0; XmNrightOffset = 0; XmNx = 323; XmNy = 3; }; controls { }; callbacks { };};4object reportBreakActiveListLabel : XmLabel widget { arguments {B XmNlabelString = compound_string(" Active Break Fields ");, XmNleftAttachment = XmATTACH_WIDGET;- XmNrightAttachment = XmATTACH_WIDGET;l; XmNleftWidget = XmSeparator reportBreakNASeparator;B XmNrightWidget = XmSeparator reportBreakResourceSeparator; XmNtopOffset = 3;t XmNleftOffset = 0; XmNrightOffset = 0;p XmNx = 323;u XmNy = 3; }; controls { }; callbacks {s };};.object reportBreakListLabel : XmLabel widget { arguments {< XmNlabelString = compound_string(" Active Fields ");* XmNleftAttachment = XmATTACH_FORM;- XmNrightAttachment = XmATTACH_WIDGET;s< XmNrightWidget = XmSeparator reportBreakNASeparator; XmNtopOffset = 3; XmNleftOffset = 0; XmNrightOffset = 0;  XmNx = 323;X XmNy = 3;D }; controls { }; callbacks {t };};object$ reportBreakResourceForm: XmForm {c argumentsD {m% XmNresizePolicy = XmRESIZE_GROW;  XmNx = 8;X XmNy = 14; }; controls { / XmForm reportBreakResourceSpecForm;a0 XmForm reportBreakResourceFieldForm; }; };( reportBreakResourceSpecForm: XmForm {  arguments; {g% XmNresizePolicy = XmRESIZE_GROW;  XmNleftOffset = 0; XmNtopOffset = 0;e XmNrightOffset = 1;a/ XmNrightAttachment = XmATTACH_FORM;L. XmNleftAttachment = XmATTACH_FORM;- XmNtopAttachment = XmATTACH_FORM;= XmNborderWidth = 1;s XmNmarginWidth = 10; }; controls { - XmText reportBreakBlankLinesText;a7 XmLabelGadget reportBreakResourceSpecLabel;t2 XmToggleButton reportBreakPageBreakTB;4 XmToggleButton reportBreakHeaderBreakTB;4 XmLabelGadget reportBreakBlankLineLabel; }; };+ reportBreakRHeaderLabel: XmLabelGadget B {p argumentsw {r XmNleftOffset = 20;r XmNtopOffset = 132;h- XmNtopAttachment = XmATTACH_FORM;t. XmNleftAttachment = XmATTACH_FORM; XmNlabelString = m- compound_string("Column Header");m }; };* reportBreakPageBreakTB: XmToggleButton {  arguments= {p, XmNuserData = f_reportBreakPageBreakTB; XmNleftOffset = 25;m XmNtopOffset = 0;  XmNheight = 89;{ XmNlabelString = + compound_string("Page Break ");i; XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;B. XmNleftAttachment = XmATTACH_FORM; XmNx = 0;a8 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET; XmNy = 0;i/ XmNrightAttachment = XmATTACH_NONE;A XmNwidth = 119;b< XmNtopWidget = XmText reportBreakBlankLinesText;? XmNbottomWidget = XmText reportBreakBlankLinesText;_ XmNbottomOffset = 0; }; callbacks {Q XmNvalueChangedCallback = procedure reportActivateCB(k_reportBreakPageBreakTB);m };i };- reportBreakBlankLineLabel: XmLabelGadget e {  arguments= {m XmNleftOffset = 5; XmNtopOffset = 0;;0 XmNleftAttachment = XmATTACH_WIDGET;8 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET; XmNlabelString = k- compound_string("# Blank Lines");u< XmNtopWidget = XmText reportBreakBlankLinesText;; XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;T? XmNbottomWidget = XmText reportBreakBlankLinesText; XmNbottomOffset = 0;= XmNleftWidget = XmText reportBreakBlankLinesText;E/ XmNrightAttachment = XmATTACH_FORM;p XmNrightOffset = 25; }; };3 reportBreakSpacingSeparator: XmSeparatorGadget 5 {  arguments; {f XmNleftOffset = 5; XmNtopOffset = 0;p XmNbottomOffset = 0;0 XmNbottomAttachment = XmATTACH_FORM;( XmNorientation = XmVERTICAL;- XmNtopAttachment = XmATTACH_FORM;i0 XmNleftAttachment = XmATTACH_WIDGET;B XmNleftWidget = XmLabelGadget reportBreakRHeaderLabel;) XmNseparatorType = XmNO_LINE;i }; };& reportBreakActiveOM: XmOptionMenu {D argumentsW {r) XmNuserData = f_reportBreakActiveOM;h XmNleftOffset = 20;  XmNtopOffset = 40;- XmNtopAttachment = XmATTACH_FORM;I. XmNleftAttachment = XmATTACH_FORM; XmNlabelString = L( compound_string("Function"); }; controlso {( XmPulldownMenu reportBreakPulldownMenu; };a};8object reportBreakPulldownMenu : XmPulldownMenu widget { arguments {A XmNx = 0;  XmNy = 0;2 XmNwidth = 118;e XmNheight = 178; }; controlsm {( XmPushButton reportBreakActiveTotalPB;( XmPushButton reportBreakActiveCountPB;& XmPushButton reportBreakActiveAvgPB;( XmPushButton reportBreakActiveValuePB;+ XmPushButton reportBreakActiveUserTextPB;{ }; callbacks {P XmNentryCallback = procedure reportBreakChanged(k_reportBreakPulldownMenu); };};' reportBreakActiveWidthText: XmText E {  arguments { 0 XmNuserData = f_reportBreakActiveWidthText; XmNeditable = false;a XmNleftOffset = 5; XmNtopOffset = 10;/ XmNtopAttachment = XmATTACH_WIDGET;r0 XmNleftAttachment = XmATTACH_WIDGET;J XmNleftWidget = XmSeparatorGadget reportBreakSpacingSeparator;< XmNtopWidget = XmOptionMenu reportBreakActiveOM;/ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10; }; callbacks {Z XmNvalueChangedCallback = procedure reportBreakChanged(k_reportBreakActiveWidthText); };t };( reportBreakActiveHeaderText: XmText {H argumentsm { 1 XmNuserData = f_reportBreakActiveHeaderText;A XmNeditable = false;p XmNleftOffset = 5; XmNtopOffset = 5;d XmNmaxLength = 79;H/ XmNtopAttachment = XmATTACH_WIDGET;e0 XmNleftAttachment = XmAT0L$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1tk"CTACH_WIDGET;J XmNleftWidget = XmSeparatorGadget reportBreakSpacingSeparator;= XmNtopWidget = XmText reportBreakActiveWidthText; / XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10; }; callbacks {[ XmNvalueChangedCallback = procedure reportBreakChanged(k_reportBreakActiveHeaderText);n };e };& reportBreakActiveUserText: XmText {P argumentsl {n/ XmNuserData = f_reportBreakActiveUserText;  XmNeditable = false;; XmNleftOffset = 5; XmNmaxLength = 131; XmNtopOffset = 6;s/ XmNtopAttachment = XmATTACH_WIDGET;l0 XmNleftAttachment = XmATTACH_WIDGET;J XmNleftWidget = XmSeparatorGadget reportBreakSpacingSeparator;> XmNtopWidget = XmText reportBreakActiveHeaderText;0 XmNbottomAttachment = XmATTACH_NONE;! XmNbottomOffset = 10; XmNrightOffset = 10;/ XmNrightAttachment = XmATTACH_FORM;i }; callbacks {Y XmNvalueChangedCallback = procedure reportBreakChanged(k_reportBreakActiveUserText);c };n };& reportBreakBlankLinesText: XmText {a arguments {B/ XmNuserData = f_reportBreakBlankLinesText; XmNleftOffset = 257; XmNcolumns = 3; XmNmaxLength = 3; XmNtopOffset = 40;- XmNtopAttachment = XmATTACH_FORM;=. XmNleftAttachment = XmATTACH_FORM;( XmNrightAttachment = XmATTACH_NONE;) XmNbottomAttachment = XmATTACH_NONE;o }; callbacks {T XmNvalueChangedCallback = procedure reportActivateCB(k_reportBreakBlankLinesText); }; };/ reportBreakActiveWidthLabel: XmLabelGadget t {_ argumentsb {m XmNleftOffset = 20;  XmNtopOffset = 0; 8 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;. XmNleftAttachment = XmATTACH_FORM; XmNlabelString = d% compound_string("Width"); = XmNtopWidget = XmText reportBreakActiveWidthText;e; XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;r@ XmNbottomWidget = XmText reportBreakActiveWidthText; XmNbottomOffset = 0; }; };. reportBreakActiveUserLabel: XmLabelGadget {h argumentsM {b XmNleftOffset = 20;; XmNtopOffset = 0;m8 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;. XmNleftAttachment = XmATTACH_FORM; XmNlabelString = t) compound_string("User Text"); < XmNtopWidget = XmText reportBreakActiveUserText;; XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; ? XmNbottomWidget = XmText reportBreakActiveUserText;k XmNbottomOffset = 0; }; };9object reportBreakActiveAlignmentLabel : XmLabel widget {B arguments { # XmNuserData = f_reportAlignmentTB;- XmNalignment = XmALIGNMENT_BEGINNING;k6 XmNlabelString = compound_string("Alignment");* XmNleftAttachment = XmATTACH_FORM;? XmNtopWidget = XmRadioBox reportBreakActiveAlignmentRB;R4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;B XmNbottomWidget = XmRadioBox reportBreakActiveAlignmentRB;7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET;+ XmNrightAttachment = XmATTACH_NONE;e XmNtopOffset = 6;  XmNbottomOffset = 0; XmNleftOffset = 20;n XmNx = 0;r XmNy = 0;  }; controls { };};, reportBreakActiveDateFormatText: XmText {  argumentsm {t0 XmNuserData = f_reportOutputDateFormatText; XmNeditable = false;e XmNmaxLength = 79;f XmNleftOffset = 5; XmNtopOffset = 6;=/ XmNtopAttachment = XmATTACH_WIDGET; 0 XmNleftAttachment = XmATTACH_WIDGET;J XmNleftWidget = XmSeparatorGadget reportBreakSpacingSeparator;C XmNtopWidget = XmRadioBox reportBreakActiveAlignmentRB; 0 XmNbottomAttachment = XmATTACH_FORM;! XmNbottomOffset = 10; XmNrightOffset = 10;/ XmNrightAttachment = XmATTACH_FORM;3 }; callbacks {_ XmNvalueChangedCallback = procedure reportBreakChanged(k_reportBreakActiveDateFormatText);  }; };>object reportBreakActiveDateFormatTB : XmToggleButton widget { arguments { & XmNuserData = f_reportDateFormatText;- XmNalignment = XmALIGNMENT_BEGINNING;=8 XmNlabelString = compound_string("Date Format");* XmNleftAttachment = XmATTACH_FORM;> XmNtopWidget = XmText reportBreakActiveDateFormatText;4 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;A XmNbottomWidget = XmText reportBreakActiveDateFormatText; 7 XmNbottomAttachment = XmATTACH_OPPOSITE_WIDGET; + XmNrightAttachment = XmATTACH_NONE;s XmNtopOffset = 6;g XmNbottomOffset = 0; XmNleftOffset = 20;O XmNx = 0;m XmNy = 0;m }; controls { }; callbacks {TU XmNvalueChangedCallback = procedure reportBreakChanged(k_reportDateFormatTB);  };};9object reportBreakActiveAlignmentRB : XmRadioBox widget {n arguments { + XmNtopAttachment = XmATTACH_WIDGET;L, XmNbottomAttachment = XmATTACH_NONE;, XmNleftAttachment = XmATTACH_WIDGET; XmNorientation = XmHORIZONTAL; F XmNleftWidget = XmSeparatorGadget reportBreakSpacingSeparator;8 XmNtopWidget = XmText reportBreakActiveUserText; XmNrightOffset = 10;+ XmNrightAttachment = XmATTACH_FORM;  XmNx = 6;1 XmNy = 266;t XmNtopOffset = 6;M XmNbottomOffset = 0; XmNleftOffset = 0; }; controls {? managed XmToggleButton reportBreakActiveAlignmentLeftTB;A managed XmToggleButton reportBreakActiveAlignmentCenterTB;@ managed XmToggleButton reportBreakActiveAlignmentRightTB; }; callbacks {  };};Aobject reportBreakActiveAlignmentLeftTB : XmToggleButton widget {{ arguments {l' XmNuserData = f_reportAlignmentLeftTB;n XmNlabelType = XmSTRING;1 XmNlabelString = compound_string("Left");  }; controls { }; callbacks { X XmNvalueChangedCallback = procedure reportBreakChanged(k_reportAlignmentLeftTB); };};Cobject reportBreakActiveAlignmentCenterTB : XmToggleButton widget {1 arguments { ) XmNuserData = f_reportAlignmentCenterTB;T3 XmNlabelString = compound_string("Center");k XmNset = true; }; controls { }; callbacks {Z XmNvalueChangedCallback = procedure reportBreakChanged(k_reportAlignmentCenterTB); };};Bobject reportBreakActiveAlignmentRightTB : XmToggleButton widget { arguments { ( XmNuserData = f_reportAlignmentRightTB;2 XmNlabelString = compound_string("Right"); }; controls { }; callbacks {Y XmNvalueChangedCallback = procedure reportBreakChanged(k_reportAlignmentRightTB);  };};) reportBreakResourceFieldForm: XmForm {t argumentsa {; XmNleftOffset = 0; XmNtopOffset = 0;% XmNresizePolicy = XmRESIZE_GROW;p0 XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;. XmNleftAttachment = XmATTACH_FORM;/ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 0; / XmNtopAttachment = XmATTACH_WIDGET;o> XmNtopWidget = XmForm reportBreakResourceSpecForm; XmNborderWidth = 1;  }; controls { 2 XmLabelGadget reportBreakRHeaderLabel;: XmSeparatorGadget reportBreakSpacingSeparator;8 XmLabelGadget reportBreakResourceFieldLabel;- XmOptionMenu reportBreakActiveOM; . XmText reportBreakActiveWidthText;6 XmLabelGadget reportBreakActiveWidthLabel;/ XmText reportBreakActiveHeaderText;v5 XmLabelGadget reportBreakActiveUserLabel; - XmText reportBreakActiveUserText;i3 XmLabelGadget reportBreakActiveAlignmentLabel; - XmRadioBox reportBreakActiveAlignmentRB;t, XmText reportBreakActiveDateFormatText;2 XmToggleButton reportBreakActiveDateFormatTB; }; };1 reportBreakResourceFieldLabel: XmLabelGadget X {n argumentsw {; XmNleftOffset = Y$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1te"T0; XmNtopOffset = 10; XmNlabelString = 3 compound_string("Break Field Setting"); 9 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;r- XmNtopAttachment = XmATTACH_FORM;B= XmNleftWidget = XmOptionMenu reportBreakActiveOM;m: XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET;? XmNrightWidget = XmText reportBreakActiveWidthText;c XmNrightOffset = 1;k }; };0 reportBreakResourceSpecLabel: XmLabelGadget {  argumentst {  XmNleftOffset = 0; XmNtopOffset = 5;d XmNlabelString = m6 compound_string("Break Specific Setting"); XmNx = 1;= XmNwidth = 176; 9 XmNleftAttachment = XmATTACH_OPPOSITE_WIDGET;W- XmNtopAttachment = XmATTACH_FORM;aB XmNleftWidget = XmToggleButton reportBreakPageBreakTB;: XmNrightAttachment = XmATTACH_OPPOSITE_WIDGET;E XmNrightWidget = XmLabelGadget reportBreakBlankLineLabel;C XmNrightOffset = 0;B. XmNalignment = XmALIGNMENT_CENTER; }; };- reportBreakHeaderBreakTB: XmToggleButton {m arguments {=. XmNuserData = f_reportBreakHeaderBreakTB; XmNtopOffset = 5;f. XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 25; / XmNtopAttachment = XmATTACH_WIDGET;  XmNlabelString = W4 compound_string("Output Break Headers");A XmNtopWidget = XmToggleButton reportBreakPageBreakTB;o }; callbacks  {S XmNvalueChangedCallback = procedure reportActivateCB(k_reportBreakHeaderBreakTB);; };c };+object reportExtractDialog : XmFormDialog {k arguments {2 XmNdialogTitle = 'MultiHelp[R], Report to Email';( XmNresizePolicy = XmRESIZE_NONE; XmNautoUnmanage = false; 4 XmNdialogStyle = XmDIALOG_APPLICATION_MODAL; }; controls {t" XmTextField reportExtractAddress;$ XmPushButtonGadget reportExtractOk;( XmPushButtonGadget reportExtractCancel; };t/}; /* END reportExtractDialog : XmFormDialog */l+object reportExtractAddress : XmTextField {m arguments {& XmNuserData = f_reportExtractAddress; XmNmaxLength = 60;m XmNcolumns = 60; " XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;m* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;+ XmNrightAttachment = XmATTACH_FORM;t XmNrightOffset = 10;O }; callbacks { };l/}; /* END reportExtractAddress : XmTextField */u-object reportExtractOk : XmPushButtonGadget {) arguments {! XmNuserData = f_reportExtractOk;x- XmNmultiClick = XmMULTICLICK_DISCARD;  XmNlabelString = 'Ok';a XmNwidth = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;N1 XmNtopWidget = XmTextField reportExtractAddress;m- XmNrightAttachment = XmATTACH_WIDGET;= XmNrightOffset = 10; 9 XmNrightWidget = XmPushButtonGadget reportExtractCancel;c, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; callbacks {L XmNactivateCallback = procedure reportActivateCB(k_reportExtractOk); };L1}; /* END reportExtractOk : XmPushButtonGadget */v1object reportExtractCancel : XmPushButtonGadget {u arguments {% XmNuserData = f_reportExtractCancel;0- XmNmultiClick = XmMULTICLICK_DISCARD;  XmNlabelString = 'Cancel';P XmNwidth = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;m1 XmNtopWidget = XmTextField reportExtractAddress;h. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -50;  XmNleftPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; };p callbacks {P XmNactivateCallback = procedure reportActivateCB(k_reportExtractCancel); };a5}; /* END reportExtractCancel : XmPushButtonGadget */r4object reportResetReportDialog : XmQuestionDialog { arguments {5 XmNdialogTitle = 'MultiHelp[R], Reset Report Build';A XmNokLabelString = 'Yes'; XmNcancelLabelString = 'No';Tl XmNmessageString = 'Are you sure you want to restore the factory defaults and dismiss the Report Builder?'; };X callbacks {3 XmNokCallback = procedure reportResetReportPBCB();  };A};0object reportComputedNameDialog : XmFormDialog { arguments {= XmNdialogTitle = 'MultiHelp[R], Enter Computed Field Name '; ( XmNresizePolicy = XmRESIZE_NONE; XmNautoUnmanage = true;4 XmNdialogStyle = XmDIALOG_APPLICATION_MODAL;6 XmNdefaultButton = XmPushButton reportComputedNameOk; }; controls {l$ XmTextField reportComputedNameText;) XmPushButtonGadget reportComputedNameOk;;- XmPushButtonGadget reportComputedNameCancel;A };A4}; /* END reportComputedNameDialog : XmFormDialog */-object reportComputedNameText : XmTextField {x arguments {( XmNuserData = f_reportComputedNameText; XmNmaxLength = 30;T XmNcolumns = 60; " XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;t* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 10;  };; callbacks { };A1}; /* END reportComputedNameText : XmTextField */r2object reportComputedNameOk : XmPushButtonGadget { arguments {& XmNuserData = f_reportComputedNameOk;- XmNmultiClick = XmMULTICLICK_DISCARD;  XmNlabelString = 'Ok';f XmNwidth = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;l3 XmNtopWidget = XmTextField reportComputedNameText;W- XmNrightAttachment = XmATTACH_WIDGET;a XmNrightOffset = 10;t> XmNrightWidget = XmPushButtonGadget reportComputedNameCancel;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; callbacks {W XmNactivateCallback = procedure reportResourcesChanged(k_reportComputedNameOK);l };s6}; /* END reportComputedNameOk : XmPushButtonGadget */6object reportComputedNameCancel : XmPushButtonGadget { arguments {* XmNuserData = f_reportComputedNameCancel;- XmNmultiClick = XmMULTICLICK_DISCARD;= XmNlabelString = 'Cancel';  XmNwidth = 100;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;_3 XmNtopWidget = XmTextField reportComputedNameText;m. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -50;T XmNleftPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; };B callbacks {U XmNactivateCallback = procedure reportActivateCB(k_reportComputedNameCancel);t };h:}; /* END reportComputedNameCancel : XmPushButtonGadget */object' reportSaveReportForm: XmFormDialog {= arguments= { / XmNdialogTitle = 'MultiHelp[R], Report Load';m" XmNresizePolicy = XmRESIZE_GROW; XmNautoUnmanage = false;% XmNdialogStyle = XmDIALOG_MODELESS;p XmNwidth = 440;m! XmNheight = 509;t }; controls {L" XmForm reportSaveForm;/ XmToggleButton reportSaveReplaceTB;W, XmToggleButton reportSaveMainTB;+ XmTextField reportSaveNameText;r. XmLabelGadget reportSaveNameLabel;1 XmLabelGadget reportSavePrivateLabel;s0 XmLabelGadget reportSaveGlobalLabel;( XmFrame reportSaveHelpFrame;" XmForm reportSavePBRC; }; }; reportSaveForm: XmForm {o argumentsn {t XmNleftOffset = 3; XmNtopOffset = 5;B% XmNresizePolicy = XmRESIZE_NONE;B/ XmNrightAttachment = XmATTACH_FORM;v XmNrightOffset = 9;a/ XmNtopAttachment = XmATTACH_WIDGET;i. XmNleftAttachment = XmATTACH_FORM;@ XmNtopWidget = XmLabelGadget reportSavePrivateLabel; }; controls {=1 XmScrolledWindow reportSavePrivateSW;0 XmScrolledWindow reportSaveGlobalSW; }; };% reportSaveMainTB: XmToggleButton { argumentsc {n XmNleftOffset = 0; XmNtopOffset = 0;a8 XmNtopAttachment = XmATTACH_OPPOSITE_WIDGET;2 XmNleftAttachment = XmATTACH_POSITION;> XmNtopWidget = XmToggleButton reportSaveReplaceTB;! XmNleftPosition = 51;C XmNlabelString = B5 compound_string("Save as Public Report");t }; };' reportSaveNameLabel: XmLabelGadget r {i argumentsl {m XmNleftOffset = 3; XmNtopOffset = 0;l. XmNleftA:^$MULTIHELP020.A  [A]REPORT_INTERFACE.UIL;1t iettachment = XmATTACH_FORM;/ XmNtopAttachment = XmATTACH_WIDGET;) XmNlabelString = a+ compound_string("Report Name"); > XmNtopWidget = XmToggleButton reportSaveReplaceTB;0 XmNbottomAttachment = XmATTACH_NONE;= XmNbottomWidget = XmTextField reportSaveNameText;H XmNbottomOffset = 0; }; };$ reportSaveNameText: XmTextField {t arguments_ { ( XmNuserData = f_reportSaveNameText;% XmNpendingDelete = false;  XmNmaxLength = 39;r0 XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 3;> XmNleftWidget = XmLabelGadget reportSaveNameLabel;/ XmNrightAttachment = XmATTACH_FORM;e XmNrightOffset = 3;  XmNtopOffset = 5;r/ XmNtopAttachment = XmATTACH_WIDGET;r> XmNtopWidget = XmToggleButton reportSaveReplaceTB; }; };! reportSaveOKPB: XmPushButton {m argumentsi {$ XmNuserData = f_reportSaveOKPB; XmNlabelString = m" compound_string("OK"); }; callbacks {E XmNactivateCallback = procedure reportActivateCB(k_reportSaveOKPB);  }; };% reportSaveCancelPB: XmPushButton o {a arguments; {;( XmNuserData = f_reportSaveCancelPB; XmNlabelString = & compound_string("Cancel"); };f callbacks {I XmNactivateCallback = procedure reportActivateCB(k_reportSaveCancelPB);  };s };# reportSaveInfoPB: XmPushButton f {  arguments_ { & XmNuserData = f_reportSaveInfoPB; XmNlabelString = m. compound_string("Modify Info..."); }; callbacks {G XmNactivateCallback = procedure reportActivateCB(k_reportSaveInfoPB);h }; }; reportSavePBRC: XmForm {  argumentsa {b XmNleftOffset = 3; XmNtopOffset = 5; . XmNleftAttachment = XmATTACH_FORM;7 XmNtopWidget = XmFrame reportSaveHelpFrame; ) XmNbottomAttachment = XmATTACH_FORM;n XmNbottomOffset = 5;=/ XmNrightAttachment = XmATTACH_FORM;f XmNrightOffset = 3;I/ XmNtopAttachment = XmATTACH_WIDGET;O XmNheight = 39;e }; controls { . XmPushButtonGadget reportSaveOKPB;2 XmPushButtonGadget reportSaveCancelPB;0 XmPushButtonGadget reportSaveInfoPB; }; };( reportSaveReplaceTB: XmToggleButton {  argumentsH {m XmNleftOffset = 3; XmNtopOffset = 5;. XmNleftAttachment = XmATTACH_FORM;/ XmNtopAttachment = XmATTACH_WIDGET;f XmNlabelString = 7 compound_string("Replace Existing Report");e1 XmNtopWidget = XmForm reportSaveForm;= }; callbacks {N XmNvalueChangedCallback = procedure reportActivateCB(k_reportSaveReplaceTB); }; };" reportSavePrivateList: XmList {b arguments {e) XmNuserData = f_reportSavePrivateList;;( XmNselectionPolicy = XmSINGLE_SELECT; }; callbacks {[ XmNsingleSelectionCallback = procedure reportSaveSelectionCB(k_reportPrivateList);PO XmNdefaultActionCallback = procedure reportSaveInfoCB(k_reportPrivateList);A }; };! reportSaveGlobalList: XmList r {t argumentst {t* XmNuserData = f_reportSaveGlobalList;* XmNselectionPolicy = XmSINGLE_SELECT; XmNwidth = 375;t XmNheight = 295; }; callbacks {Z XmNsingleSelectionCallback = procedure reportSaveSelectionCB(k_reportGlobalList);N XmNdefaultActionCallback = procedure reportSaveInfoCB(k_reportGlobalList); }; };* reportSavePrivateSW: XmScrolledWindow { arguments0 {b XmNleftOffset = 5; XmNtopOffset = 0;" XmNrightPosition = 49;3 XmNrightAttachment = XmATTACH_POSITION;t0 XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;- XmNtopAttachment = XmATTACH_FORM;W. XmNleftAttachment = XmATTACH_FORM; XmNrightOffset = 0; }; controls {X) XmList reportSavePrivateList;u }; };) reportSaveGlobalSW: XmScrolledWindow T { arguments1 {b XmNtopOffset = 0;b0 XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;2 XmNleftAttachment = XmATTACH_POSITION;! XmNleftPosition = 51;m/ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 3;K- XmNtopAttachment = XmATTACH_FORM;i }; controls {( XmList reportSaveGlobalList; }; };* reportSavePrivateLabel: XmLabelGadget {N arguments {n XmNleftOffset = 3; XmNtopOffset = 5;m. XmNleftAttachment = XmATTACH_FORM;3 XmNrightAttachment = XmATTACH_POSITION;t" XmNrightPosition = 49; XmNrightOffset = 0;t- XmNtopAttachment = XmATTACH_FORM;s XmNlabelString = N/ compound_string("Private Reports");A }; };) reportSaveGlobalLabel: XmLabelGadget g {A argumentst {  XmNleftOffset = 0; XmNtopOffset = 5;b2 XmNleftAttachment = XmATTACH_POSITION;- XmNtopAttachment = XmATTACH_FORM;D/ XmNrightAttachment = XmATTACH_FORM;i XmNrightOffset = 3;e! XmNleftPosition = 51;P XmNlabelString = o0 compound_string("Public Report(s)"); }; };! reportSaveHelpFrame: XmFrame m {; argumentsl {r XmNleftOffset = 3; XmNtopOffset = 5;k. XmNleftAttachment = XmATTACH_FORM;: XmNtopWidget = XmTextField reportSaveNameText;/ XmNtopAttachment = XmATTACH_WIDGET; / XmNrightAttachment = XmATTACH_FORM;N XmNrightOffset = 3;X XmNheight = 10;c }; controls { . XmLabelGadget reportSaveHelpLabel; }; };' reportSaveHelpLabel: XmLabelGadget O {  arguments{ {N XmNlabelString = x) compound_string("Help Text");  }; }; !end module;*[A]SELECTION_BOXES.UIL;1+, ./ 4H- 0123KPWO56ڗ`ؗ7v,89GHJ/*;** This module implements several different selection boxes*/"object sortDialog : XmFormDialog { arguments {' XmNdialogTitle = 'Enter Sort Strings'; }; controls { XmSelectionBox sortBox; };&}; /* END sortDialog : XmFormDialog */!object sortBox : XmSelectionBox { arguments {$ XmNdialogType = XmDIALOG_SELECTION;/ XmNlistLabelString = 'Defined Sort Sequences'; XmNmustMatch = false;3 XmNselectionLabelString = 'Current Sort Sequence'; }; callbacks {< MrmNcreateCallback = procedure creationCallback(k_sortBox);- XmNapplyCallback = procedure sortCallback();. XmNcancelCallback = procedure sortCallback();* XmNokCallback = procedure sortCallback();? XmNhelpCallback = procedure contextHelpCallback(h_sortDialog); };%}; /* END sortBox : XmSelectionBox */ %object commandDialog : XmFormDialog { arguments {* XmNdialogTitle = 'Enter Command Strings'; }; controls { XmSelectionBox commandBox; };)}; /* END commandDialog : XmFormDialog */$object comma'=$MULTIHELP020.A  [A]SELECTION_BOXES.UIL;1HndBox : XmSelectionBox { arguments {$ XmNdialogType = XmDIALOG_SELECTION;) XmNlistLabelString = 'Defined Commands'; XmNmustMatch = false;- XmNselectionLabelString = 'Current Command'; }; callbacks {? MrmNcreateCallback = procedure creationCallback(k_commandBox);0 XmNapplyCallback = procedure commandCallback();1 XmNcancelCallback = procedure commandCallback();- XmNokCallback = procedure commandCallback();B XmNhelpCallback = procedure contextHelpCallback(h_commandDialog); };(}; /* END commandBox : XmSelectionBox */ 'object problemIdDialog : XmFormDialog { arguments {% XmNdialogTitle = 'Enter Request Id'; XmNautoUnmanage = false; }; controls { XmCommand problemIdCommand; XmSeparatorGadget piSep; XmPushButtonGadget piOk; XmPushButtonGadget piClear; XmPushButtonGadget piDismiss; XmPushButtonGadget piHelp; };+}; /* END problemIdDialog : XmFormDialog */"object piOk : XmPushButtonGadget { arguments { XmNlabelString = 'Ok';* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5; XmNrightPosition = 25;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {5 XmNactivateCallback = procedure problemIdCallback(); };&}; /* END piOk : XmPushButtonGadget */%object piClear : XmPushButtonGadget { arguments { XmNlabelString = 'Clear';. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5; XmNleftPosition = 25;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5; XmNrightPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {? XmNactivateCallback = procedure pushButtonCallback(k_piClear); };)}; /* END piClear : XmPushButtonGadget */'object piDismiss : XmPushButtonGadget { arguments { XmNlabelString = 'Dismiss';. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5; XmNleftPosition = 50;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5; XmNrightPosition = 75;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {A XmNactivateCallback = procedure pushButtonCallback(k_piDismiss); };+}; /* END piDismiss : XmPushButtonGadget */$object piHelp : XmPushButtonGadget { arguments { XmNlabelString = 'Help';. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5; XmNleftPosition = 75;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {H XmNactivateCallback = procedure contextHelpCallback(h_requestIdDialog); };(}; /* END piHelp : XmPushButtonGadget */"object piSep : XmSeparatorGadget { arguments {* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;0 XmNbottomWidget = XmPushButtonGadget piDismiss; };&}; /* END piSep : XmSeparatorGadget */%object problemIdCommand : XmCommand { arguments { XmNhistoryMaxItems = 100; XmNhistoryVisibleItemCount = 5;! XmNpromptString = 'Request Id>';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;' XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;+ XmNbottomWidget = XmSeparator Gadget piSep; }; callbacks {; XmNcommandEnteredCallback = procedure problemIdCallback();E MrmNcreateCallback = procedure creationCallback(k_problemIdCommand); };)}; /* END problemIdCommand : XmCommand */ ,object userValidationDialog : XmFormDialog { arguments {. XmNdialogTitle = 'MultiHelp User Validation'; }; controls { XmSelectionBox { arguments {& XmNdialogType = XmDIALOG_SELECTION;B XmNlistLabelString = 'Selection List (Double-Click to Select)';1 XmNselectionLabelString = 'Current Selection'; }; callbacks {H MrmNcreateCallback = procedure creationCallback(k_userValidationBox);3 XmNapplyCallback = procedure validateCallback();4 XmNcancelCallback = procedure validateCallback();0 XmNokCallback = procedure validateCallback();G XmNhelpCallback = procedure contextHelpCallback(h_validationDialog); }; }; /* END XmSelectionBox */ };0}; /* END userValidationDialog : XmFormDialog */ $object creditDialog : XmFormDialog { arguments {% XmNdialogTitle = 'MultiHelp Credit'; XmNautoUnmanage = false; }; controls { XmFrame creditFrame; XmLabelGadget creditTimeLabel; XmTextField creditTime; XmSeparatorGadget creditSep1; XmPushButtonGadget creditOk; XmPushButtonGadget creditApply;" XmPushButtonGadget creditDismiss; XmPushButtonGadget creditHelp; }; callbacks {A XmNhelpCallback = procedure contextHelpCallback(h_creditDialog); };(}; /* END creditDialog : XmFormDialog */&object creditOk : XmPushButtonGadget { arguments { XmNlabelString = 'Ok'; XmNwidth = 75;# XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;- XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 10;1 XmNrightWidget = XmPushButtonGadget creditApply;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {@ XmNactivateCallback = procedure pushButtonCallback(k_creditOk); };*}; /* END creditOk : XmPushButtonGadget */)object creditApply : XmPushButtonGadget { arguments { XmNlabelString = 'Apply'; XmNwidth = 75;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5; XmNrightPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_creditApply); };-}; /* END creditApply : XmPushButtonGadget */+object creditDismiss : XmPushButtonGadget { arguments { XmNlabelString = 'Dismiss'; XmNwidth = 75;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5; XmNleftPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {E XmNactivateCallback = procedure pushButtonCallback(k_creditDismiss); };/}; /* END creditDismiss : XmPushButtonGadget */(object creditHelp : XmPushButtonGadget { arguments { XmNlabelString = 'Help...'; XmNwidth = 75;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;2 XmNleftWidget = XmPushButtonGadget creditDismiss;$ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {E XmNactivateCallback = procedure contextHelpCallback(h_creditDialog); };,}; /* END creditHelp : XmPushButtonGadget */'object creditSep1 : XmSeparatorGadget { arguments {* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 1;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 1;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;/ XmNbottomWidget = XmPushButtonGadget creditOk; };+}; /* END creditSep1 : XmSeparatorGadget */(object creditTimeLabel : XmLabelGadget { arguments { XmNlabelString = 'Time:';( XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 0; XmNrightPosition = 40;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;0 XmNbottomWidget = XmSeparatorGadget creditSep1; };,}; /* END creditTimeLabel : XmLabelGadget */!object creditTime : XmTextField { arguments { XmNcolumns = 10;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 0; XmNleftPosition = 40;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 3;0 XmNbottomWidget = XmSeparatorGadget creditSep1; }; callbacks {? MrmNcreateCallback = procedure creationCallback(k_creditTime); };%}; /* END creditTime : XmTextField */object creditFrame : XmFrame { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;* XmNbottomWidget = XmTextField creditTime; }; controls { XmScrolledWindow creditSW; };"}; /* END creditFrame : XmFrame */$object creditSW : XmScrolledWindow { arguments { }; controls { XmList { arguments {" XmNlistSizePolicy = XmCONSTANT;* XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness gk`$MULTIHELP020.A  [A]SELECTION_BOXES.UIL;1HF= 0; XmNvisibleItemCount = 10; }; callbacks {A MrmNcreateCallback = procedure creationCallback(k_creditList); }; }; /* END XmList */ };(}; /* END creditSW : XmScrolledWindow */*[A]SOLUTIONS.UIL;1+, ./ 4R- 0123KPWO56 [789GHJ/*H** This module implements the Screen design for the Solutions SubSystem.**** Solutions.C for the C code*** MultiHelp_4.SQLMOD for the SQL routines**** Author: jjjones** Date: April 24, 1994**** Table of Contents:**G** sol_conf_weight : XmFormDialog => equalizer for confidence weighting**F** articleIdDialog : XmFormDialog => allows you to enter an article Id** */ /*** Argument lists*/list box_shadow : arguments {( XmNshadowType = XmSHADOW_ETCHED_OUT;};  value lg : 2; k_wordColumns : 12;'object sol_conf_weight : XmFormDialog { arguments { XmNautoUnmanage = false;A XmNdialogTitle = 'Relative Weighting of Search Characteristics'; XmNdefaultPosition = false; }; controls { XmScale sol_class_scale; XmScale sol_keyword_scale; XmScale sol_title_scale; XmScale sol_soft_scale; XmScale sol_hard_scale; XmLabelGadget sol_wc_label; XmLabelGadget sol_wk_label; XmLabelGadget sol_wt_label; XmLabelGadget sol_ws_label; XmLabelGadget sol_wh_label; XmPushButtonGadget scw_ok; XmPushButtonGadget scw_equal;!! XmPushButtonGadget scw_dismiss; };+}; /* END sol_conf_weight : XmFormDialog */"object sol_class_scale : XmScale { arguments { XmNmaximum = 100; XmNminimum = 1; XmNorientation = XmVERTICAL;' XmNprocessingDirection = XmMAX_ON_TOP; XmNscaleMultiple = 10; XmNshowValue = false;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -9; XmNleftPosition = 10;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;. XmNbottomWidget = XmLabelGadget sol_wc_label; };&}; /* END sol_class_scale : XmScale */$object sol_keyword_scale : XmScale { arguments { XmNmaximum = 100; XmNminimum = 1; XmNorientation = XmVERTICAL;' XmNprocessingDirection = XmMAX_ON_TOP; XmNscaleMultiple = 10; XmNshowValue = false;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -9; XmNleftPosition = 30;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;. XmNbottomWidget = XmLabelGadget sol_wc_label; };(}; /* END sol_keyword_scale : XmScale */"object sol_title_scale : XmScale { arguments { XmNmaximum = 100; XmNminimum = 1; XmNorientation = XmVERTICAL;' XmNprocessingDirection = XmMAX_ON_TOP; XmNscaleMultiple = 10; XmNshowValue = false;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -9; XmNleftPosition = 50;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;. XmNbottomWidget = XmLabelGadget sol_wc_label; };&}; /* END sol_title_scale : XmScale */!object sol_soft_scale : XmScale { arguments { XmNmaximum = 100; XmNminimum = 1; XmNorientation = XmVERTICAL;' XmNprocessingDirection = XmMAX_ON_TOP; XmNscaleMultiple = 10; XmNshowValue = false;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -9; XmNleftPosition = 70;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;. XmNbottomWidget = XmLabelGadget sol_wc_label; };%}; /* END sol_soft_scale : XmScale */!object sol_hard_scale : XmScale { arguments { XmNmaximum = 100; XmNminimum = 1; XmNorientation = XmVERTICAL;' XmNprocessingDirection = XmMAX_ON_TOP; XmNscaleMultiple = 10; XmNshowValue = false;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -9; XmNleftPosition = 90;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;. XmNbottomWidget = XmLabelGadget sol_wc_label; };%}; /* END sol_hard_scale : XmScale */%object sol_wc_label : XmLabelGadget { arguments { XmNlabelString = 'Class';# XmNalignment = XmALIGNMENT_CENTER;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = lg; XmNleftPosition = (100/5)*0;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = lg; XmNrightPosition = (100/5)*1;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;0 XmNbottomWidget = XmPushButtonGadget scw_equal; };)}; /* END sol_wc_label : XmLabelGadget */%object sol_wk_label : XmLabelGadget { arguments { XmNlabelString = 'KeyWords';# XmNalignment = XmALIGNMENT_CENTER;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = lg; XmNleftPosition = (100/5)*1;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = lg; XmNrightPosition = (100/5)*2;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;0 XmNbottomWidget = XmPushButtonGadget scw_equal; };)}; /* END sol_wk_label : XmLabelGadget */%object sol_wt_label : XmLabelGadget { arguments { XmNlabelString = 'Title';# XmNalignment = XmALIGNMENT_CENTER;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = lg; XmNleftPosition = (100/5)*2;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = lg; XmNrightPosition = (100/5)*3;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;0 XmNbottomWidget = XmPushButtonGadget scw_equal; };)}; /* END sol_wt_label : XmLabelGadget */%object sol_ws_label : XmLabelGadget { arguments { XmNlabelString = 'Software';# XmNalignment = XmALIGNMENT_CENTER;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = lg; XmNleftPosition = (100/5)*3;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = lg; XmNrightPosition = (100/5)*4;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;0 XmNbottomWidget = XmPushButtonGadget scw_equal; };)}; /* END sol_ws_label : XmLabelGadget */%object sol_wh_label : XmLabelGadget { arguments { XmNlabelString = 'Hardware';# XmNalignment = XmALIGNMENT_CENTER;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = lg; XmNleftPosition = (100/5)*4;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = lg; XmNrightPosition = (100/5)*5;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;0 XmNbottomWidget = XmPushButtonGadget scw_equal; };)}; /* END sol_wh_label : XmLabelGadget */$object scw_ok : XmPushButtonGadget { arguments { XmNlabelString = 'Dismiss'; XmNwidth = 75; XmNrecomputeSize = false;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5; XmNrightPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; callbacks {> XmNactivateCallback = procedure solutionPBCallback(k_scw_ok); };(}; /* END scw_ok : XmPushButtonGadget */'object scw_equal : XmPushButtonGadget { arguments { XmNlabelString = 'Reset'; XmNwidth = 75; XmNrecomputeSize = false;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5; XmNleftPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; callbacks {A XmNactivateCallback = procedure solutionPBCallback(k_scw_equal); };+}; /* END scw_equal : XmPushButtonGadget */)object scw_dismiss : XmPushButtonGadget { arguments { XmNlabelString = 'Dismiss'; XmNwidth = 75; XmNrecomputeSize = false;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;. XmNleftWidget = XmPushButtonGadget scw_equal;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; callbacks {C XmNactivateCallback = procedure solutionPBCallback(k_scw_dismiss); };-}; /E$MULTIHELP020.A  [A]SOLUTIONS.UIL;1R* END scw_dismiss : XmPushButtonGadget */ 'object articleIdDialog : XmFormDialog { arguments {" XmNdialogTitle = 'Go To Article'; XmNautoUnmanage = false; XmNdefaultPosition = false; }; controls { XmCommand articleIdCommand; XmSeparatorGadget aiSep; XmPushButtonGadget aiOk; XmPushButtonGadget aiClear; XmPushButtonGadget aiDismiss; XmPushButtonGadget aiHelp; };+}; /* END articleIdDialog : XmFormDialog */"object aiOk : XmPushButtonGadget { arguments { XmNlabelString = 'Ok';* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5; XmNrightPosition = 25;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {5 XmNactivateCallback = procedure articleIdCallback(); };&}; /* END aiOk : XmPushButtonGadget */%object aiClear : XmPushButtonGadget { arguments { XmNlabelString = 'Clear';. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5; XmNleftPosition = 25;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5; XmNrightPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {? XmNactivateCallback = procedure solutionPBCallback(k_aiClear); };)}; /* END aiClear : XmPushButtonGadget */'object aiDismiss : XmPushButtonGadget { arguments { XmNlabelString = 'Dismiss';. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5; XmNleftPosition = 50;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5; XmNrightPosition = 75;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {A XmNactivateCallback = procedure solutionPBCallback(k_aiDismiss); };+}; /* END aiDismiss : XmPushButtonGadget */$object aiHelp : XmPushButtonGadget { arguments { XmNlabelString = 'Help';. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5; XmNleftPosition = 75;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; }; callbacks {H XmNactivateCallback = procedure contextHelpCallback(h_requestIdDialog); };(}; /* END aiHelp : XmPushButtonGadget */"object aiSep : XmSeparatorGadget { arguments {* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;0 XmNbottomWidget = XmPushButtonGadget aiDismiss; };i&}; /* END aiSep : XmSeparatorGadget */%object articleIdCommand : XmCommand { arguments { XmNhistoryMaxItems = 100; XmNhistoryVisibleItemCount = 5;" XmNpromptString = 'Solution Id>';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;+ XmNrightAttachment = XmATTACH_FORM;t XmNrightOffset = 10; ' XmNbottomAttachment = XmATTACH_WIDGET;D XmNbottomOffset = 10;+ XmNbottomWidget = XmSeparatorGadget aiSep;n };2 callbacks {; XmNcommandEnteredCallback = procedure articleIdCallback();aE MrmNcreateCallback = procedure creationCallback(k_articleIdCommand);i };')}; /* END articleIdCommand : XmCommand */n lobject sqWordsForm : XmForm { arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;s XmNtopWidget = XmMenuBar sqMB;l* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;X+ XmNrightAttachment = XmATTACH_FORM;l XmNrightOffset = 5; };s controls { XmFrame classSearchWords; XmFrame keySearchWords; XmFrame titleSearchWords; XmFrame softSearchWords;  XmFrame hardSearchWords;m };g!}; /* END sqWordsForm : XmForm */S#object classSearchWords : XmFrame {; arguments { arguments box_shadow;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 1;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 1;n, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 1;m };H controls {X XmForm {t arguments { };n controls {  XmLabelGadget SclassLG; XmFrame SclassF;m XmTextField SclassTF; XmRowColumn SclassRC; XmRowColumn SclassRC2;o };_ }; /* END XmForm */ };t'}; /* END classSearchWords : XmFrame */s!object SclassLG : XmLabelGadget { arguments { XmNlabelString = 'Class';# XmNalignment = XmALIGNMENT_CENTER;X" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;t+ XmNrightAttachment = XmATTACH_FORM;= XmNrightOffset = 0; };;%}; /* END SclassLG : XmLabelGadget */Hobject SclassF : XmFrame { arguments { XmNshadowType = XmSHADOW_IN;a XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;' XmNtopWidget = XmLabelGadget SclassLG;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;i+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 2; };; controls {c XmScrolledWindow {; controls { XmList {  arguments { XmNuserData = f_classList;s$ XmNlistSizePolicy = XmCONSTANT;, XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 5;_ };} callbacks {H MrmNcreateCallback = procedure creationCallback(k_classSearchList); };a }; /* END XmList */ }; }; /* END XmScrolledWindow */ };r}; /* END SclassF : XmFrame */object SclassTF : XmTextField {h arguments { XmNuserData = f_classtf;T XmNmaxLength = 20;f XmNcolumns = k_wordColumns;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5; XmNtopWidget = XmFrame SclassF;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;i+ XmNrightAttachment = XmATTACH_FORM;/ XmNrightOffset = 0; };a callbacks {A XmNactivateCallback = procedure solutionPBCallback(k_add_class);X= MrmNcreateCallback = procedure creationCallback(k_SclassTF);i };o#}; /* END SclassTF : XmTextField */ object SclassRC : XmRowColumn {N arguments { XmNuserDa ta = f_classrc;f XmNorientation = XmHORIZONTAL;n XmNpacking = XmPACK_TIGHT;e XmNnumColumns = 3;e$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;% XmNtopWidget = XmTextField SclassTF;t* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;s$ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 0; };g controls {N XmPushButtonGadget { arguments { XmNlabelString = 'Add';( XmNmultiClick = XmMULTICLICK_DISCARD; };t callbacks {C XmNactivateCallback = procedure solutionPBCallback(k_add_class);O }; }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments { XmNlabelString = 'Delete';( XmNmultiClick = XmMULTICLICK_DISCARD; };B callbacks {F XmNactivateCallback = procedure solutionPBCallback(k_delete_class); }; }; /* END XmPushButtonGadget */ XmPushButtonGadget {o arguments { XmNlabelString = 'Clear';( XmNmultiClick = XmMULTICLICK_DISCARD; };X callbacks {E XmNactivateCallback = procedure solutionPBCallback(k_clear_class);C };I }; /* END XmPushButtonGadget */ };P#}; /* END SclassRC : XmRowColumn */o object SclassRC2 : XmRowColumn { arguments { XmNuserData = f_classAD;P XmNorientation = XmVERTICAL; XmNpacking = XmPACK_COLUMN;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;% XmNtopWidget = XmRowColumn SclassRC;;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;  };T controls {; XmToggleButtonGadget {X arguments { XmNlabelString = 'Ancestors'; XmNvisibleWhenOff = true;" XmNalignment = XmALIGNMENT_END; };  callbacks {D MrmNcreateCallback = procedure creationCallback(k_classAncestor); };m" }; /* END XmToggleButtonGadget */ XmToggleButtonGadget {t arguments {" XmNlabelString = 'Descendants'; XmNvisibleWhenOff = true;" XmNalignment = XmALIGNMENT_END; };m callbacks {F MrmNcreateCallback = procedure creationCallback(k_classDescendant); };;" }; /* END XmToggleButtonGadget */ }; $}; /* END SclassRC2 : XmRowColumn */!object keySearchWords : XmFrame {P arguments { arguments box_shadow;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 1;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 1;o* XmNleftWidget = XmFrame classSearchWords;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 1;r }; controls { XmForm {N arguments { };l controls {  XmLabelGadget SkeyLG; XmFrame SkeyF;N XmTextField SkeyTF; XmRowColumn SkeyRC; XmTog G`$MULTIHELP020.A  [A]SOLUTIONS.UIL;1R'"!gleButtonGadget SkeySB;N };f }; /* END XmForm */ };o%}; /* END keySearchWords : XmFrame */mobject SkeyLG : XmLabelGadget {f arguments { XmNlabelString = 'Keywords';d# XmNalignment = XmALIGNMENT_CENTER;h" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0; + XmNrightAttachment = XmATTACH_FORM;m XmNrightOffset = 0; };_#}; /* END SkeyLG : XmLabelGadget */Nobject SkeyF : XmFrame { arguments { XmNshadowType = XmSHADOW_IN;o XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;% XmNtopWidget = XmLabelGadget SkeyLG;k* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2; + XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 2; };p controls {s XmScrolledWindow {t controls {A XmList { arguments { XmNuserData = f_keyList; $ XmNlistSizePolicy = XmCONSTANT;, XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 5;q };} callbacks {F MrmNcreateCallback = procedure creationCallback(k_keySearchList); };g }; /* END XmList */ };s }; /* END XmScrolledWindow */ };t}; /* END SkeyF : XmFrame */object SkeyTF : XmTextField {X arguments { XmNuserData = f_keytf;P XmNmaxLength = 20;q XmNcolumns = k_wordColumns;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5; XmNtopWidget = XmFrame SkeyF;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;_+ XmNrightAttachment = XmATTACH_FORM;t XmNrightOffset = 0; };a callbacks {? XmNactivateCallback = procedure solutionPBCallback(k_add_key);l; MrmNcreateCallback = procedure creationCallback(k_SkeyTF);m };a!}; /* END SkeyTF : XmTextField */tobject SkeyRC : XmRowColumn {k arguments { XmNuserData = f_keyrc;s XmNorientation = XmHORIZONTAL;B XmNpacking = XmPACK_TIGHT;; XmNnumColumns = 3;o$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;# XmNtopWidget = XmTextField SkeyTF;'# XmNleftAttachment = XmATTACH_FORM;A XmNleftOffset = 0;s+ XmNrightAttachment = XmATTACH_FORM;C XmNrightOffset = 0; };e controls {i XmPushButtonGadget {  arguments { XmNlabelString = 'Add';( XmNmultiClick = XmMULTICLICK_DISCARD; };i callbacks {A XmNactivateCallback = procedure solutionPBCallback(k_add_key);G };/ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments { XmNlabelString = 'Delete';c( XmNmultiClick = XmMULTICLICK_DISCARD; }; callbacks {D XmNactivateCallback = procedure solutionPBCallback(k_delete_key); };; }; /* END XmPushButtonGadget */ XmPushButtonGadget {  arguments { XmNlabelString = 'Clear';( XmNmultiClick = XmMULTICLICK_DISCARD; };l callbacks {C XmNactivateCallback = procedure solutionPBCallback(k_clear_key);e };s }; /* END XmPushButtonGadget */ };s!}; /* END SkeyRC : XmRowColumn */ &object SkeySB : XmToggleButtonGadget { arguments { XmNlabelString = 'Synonyms';5 XmNvisibleWhenOff = true; XmNalignment = XmALIGNMENT_END;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;# XmNtopWidget = XmRowColumn SkeyRC;m* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;e };t callbacks {@ MrmNcreateCallback = procedure creationCallback(k_synonym_key); };b*}; /* END SkeySB : XmToggleButtonGadget */#object titleSearchWords : XmFrame { arguments { arguments box_shadow;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 1;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 1; ( XmNleftWidget = XmFrame keySearchWords;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 1;e };c controls {l XmForm {e arguments { };/ controls {X XmLabelGadget StitleLG; XmFrame StitleF;r XmTextField StitleTF; XmRowColumn StitleRC;! XmToggleButtonGadget StitleSB; };  }; /* END XmForm */ };T'}; /* END titleSearchWords : XmFrame */ !object StitleLG : XmLabelGadget {; arguments { XmNlabelString = 'Title Words';# XmNalignment = XmALIGNMENT_CENTER;/" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;X+ XmNrightAttachment = XmATTACH_FORM;i XmNrightOffset = 0; };o%}; /* END StitleLG : XmLabelGadget */fobject StitleF : XmFrame { arguments { XmNshadowType = XmSHADOW_IN;; XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;' XmNtopWidget = XmLabelGadget StitleLG;f* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;c+ XmNrightAttachment = XmATTACH_FORM;e XmNrightOffset = 2; }; controls {l XmScrolledWindow {a controls {a XmList {n arguments { XmNuserData = f_titleList;*$ XmNlistSizePolicy = XmCONSTANT;, XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 5;l };  callbacks {H MrmNcreateCallback = procedure creationCallback(k_titleSearchList); };l }; /* END XmList */ };c }; /* END XmScrolledWindow */ };;}; /* END StitleF : XmFrame */object StitleTF : XmTextField {f arguments { XmNuserData = f_titletf;m XmNmaxLength = 20;o XmNcolumns = k_wordColumns;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5; XmNtopWidget = XmFrame StitleF;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;T+ XmNrightAttachment = XmATTACH_FORM;b XmNrightOffset = 0; };F callbacks {A XmNactivateCallback = procedure solutionPBCallback(k_add_title);}= MrmNcreateCallback = procedure creationCallback(k_StitleTF);s };#}; /* END StitleTF : XmTextField */uobject StitleRC : XmRowColumn {R arguments { XmNuserData = f_titlerc; XmNorientation = XmHORIZONTAL;a XmNpacking = XmPACK_TIGHT;m XmNnumColumns = 3;m$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;% XmNtopWidget = XmTextField StitleTF;T* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;A };R controls {f XmPushButtonGadget {r arguments { XmNlabelString = 'Add';( XmNmultiClick = XmMULTICLICK_DISCARD; };g callbacks {C XmNactivateCallback = procedure solutionPBCallback(k_add_title);X };w }; /* END XmPushButtonGadget */ XmPushButtonGadget {N arguments { XmNlabelString = 'Delete';c( XmNmultiClick = XmMULTICLICK_DISCARD; };R callbacks {F XmNactivateCallback = procedure solutionPBCallback(k_delete_title); };} }; /* END XmPushButtonGadget */ XmPushButtonGadget {  arguments { XmNlabelString = 'Clear';( XmNmultiClick = XmMULTICLICK_DISCARD; };T callbacks {E XmNactivateCallback = procedure solutionPBCallback(k_clear_title);X };l }; /* END XmPushButtonGadget */ };c#}; /* END StitleRC : XmRowColumn */d(object StitleSB : XmToggleButtonGadget { arguments { XmNlabelString = 'Synonyms';* XmNvisibleWhenOff = true; XmNalignment = XmALIGNMENT_END;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;% XmNtopWidget = XmRowColumn StitleRC;0* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;D }; callbacks {B MrmNcreateCallback = procedure creationCallback(k_synonym_title); };A,}; /* END StitleSB : XmToggleButtonGadget */"object softSearchWords : XmFrame { arguments { arguments box_shadow;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 1;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 1;T* XmNleftWidget = XmFrame titleSearchWords;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 1;= };a controls {r XmForm {  arguments { };k controls {G XmLabelGadget SsoftLG; XmFrame SsoftF; XmTextField SsoftTF;O XmRowColumn SsoftRC; XmToggleButtonGadget SsoftSB; };A }; /* END XmForm */ };&}; /* END softSearchWords : XmFrame */ object SsoftLG : XmLabelGadget { arguments { XmNlabelString = 'Software'; # XmNalignment = XmALIGNMENT_CENTER; " XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;C+ XmNrightAttachment = XmATTACH_FORM;P XmNrightOffset = 0; };B$}; /* END SsoftLG : XmLabelGadget */object SsoftF : XmFrame {X arguments { XmNshadowType = XmSHADOW_IN; XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;& XmNtopWidget = XmLabelGadget SsoftLG;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2; + XmNrightAttachment = XmATTACH_FORM;C XmNrightOffset = 2; };{ controls {a XmScrolledWindow {e con!$MULTIHELP020.A  [A]SOLUTIONS.UIL;1R^"2trols {b XmList {l arguments { XmNuserData = f_softList;$ XmNlistSizePolicy = XmCONSTANT;, XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 5;T };X callbacks {G MrmNcreateCallback = procedure creationCallback(k_softSearchList);o };  }; /* END XmList */ };  }; /* END XmScrolledWindow */ };X}; /* END SsoftF : XmFrame */robject SsoftTF : XmTextField { arguments { XmNuserData = f_softtf; XmNmaxLength = 80;l XmNcolumns = k_wordColumns;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5; XmNtopWidget = XmFrame SsoftF;a* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0; + XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 0; };d callbacks {@ XmNactivateCallback = procedure solutionPBCallback(k_add_soft);< MrmNcreateCallback = procedure creationCallback(k_SsoftTF); };k"}; /* END SsoftTF : XmTextField */object SsoftRC : XmRowColumn { arguments { XmNuserData = f_softrc; XmNorientation = XmHORIZONTAL;  XmNpacking = XmPACK_TIGHT;b XmNnumColumns = 3;t$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmTextField SsoftTF;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;  };m controls {m XmPushButtonGadget {X arguments { XmNlabelString = 'Add';( XmNmultiClick = XmMULTICLICK_DISCARD; }; callbacks {B XmNactivateCallback = procedure solutionPBCallback(k_add_soft); };; }; /* END XmPushButtonGadget */ XmPushButtonGadget {F arguments { XmNlabelString = 'Delete';e( XmNmultiClick = XmMULTICLICK_DISCARD; };n callbacks {E XmNactivateCallback = procedure solutionPBCallback(k_delete_soft);c }; }; /* END XmPushButtonGadget */ XmPushButtonGadget {m arguments { XmNlabelString = 'Clear';( XmNmultiClick = XmMULTICLICK_DISCARD; };i callbacks {D XmNactivateCallback = procedure solutionPBCallback(k_clear_soft); };m }; /* END XmPushButtonGadget */ };"}; /* END SsoftRC : XmRowColumn */'object SsoftSB : XmToggleButtonGadget { arguments { XmNlabelString = 'Synonyms';  XmNvisibleWhenOff = true; XmNalignment = XmALIGNMENT_END;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;$ XmNtopWidget = XmRowColumn SsoftRC;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;  };N callbacks {A MrmNcreateCallback = procedure creationCallback(k_synonym_soft);l }; +}; /* END SsoftSB : XmToggleButtonGadget */ "object hardSearchWords : XmFrame { arguments { arguments box_shadow;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 1;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 1;W) XmNleftWidget = XmFrame softSearchWords;/, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 1;y }; controls { XmForm {N arguments { };; controls {m XmLabelGadget ShardLG;N XmFrame ShardF; XmTextField ShardTF;; XmRowColumn ShardRC;n XmToggleButtonGadget ShardSB; }; }; /* END XmForm */ };=&}; /* END hardSearchWords : XmFrame */ object ShardLG : XmLabelGadget { arguments { XmNlabelString = 'Hardware';)# XmNalignment = XmALIGNMENT_CENTER;r" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;N+ XmNrightAttachment = XmATTACH_FORM;I XmNrightOffset = 0; };A$}; /* END ShardLG : XmLabelGadget */object ShardF : XmFrame {E arguments { XmNshadowType = XmSHADOW_IN;t XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;& XmNtopWidget = XmLabelGadget ShardLG;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2; + XmNrightAttachment = XmATTACH_FORM;X XmNrightOffset = 2; };_ controls {} XmScrolledWindow { controls {l XmList {u arguments { XmNuserData = f_hardList;$ XmNlistSizePolicy = XmCONSTANT;, XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 5;} };l callbacks {G MrmNcreateCallback = procedure creationCallback(k_hardSearchList);  };P }; /* END XmList */ };o }; /* END XmScrolledWindow */ };e}; /* END ShardF : XmFrame */Cobject ShardTF : XmTextField { arguments { XmNuserData = f_hardtf; XmNmaxLength = 80;o XmNcolumns = k_wordColumns;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5; XmNtopWidget = XmFrame ShardF;S* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;S+ XmNrightAttachment = XmATTACH_FORM;l XmNrightOffset = 0; }; callbacks {@ XmNactivateCallback = procedure solutionPBCallback(k_add_hard);< MrmNcreateCallback = procedure creationCallback(k_ShardTF); };t"}; /* END ShardTF : XmTextField */object ShardRC : XmRowColumn { arguments { XmNuserData = f_hardrc; XmNorientation = XmHORIZONTAL;e XmNpacking = XmPACK_TIGHT;d XmNnumColumns = 3;m$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmTextField ShardTF;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;e };g controls {k XmPushButtonGadget {  arguments { XmNlabelString = 'Add';( XmNmultiClick = XmMULTICLICK_DISCARD; }; callbacks {B XmNactivateCallback = procedure solutionPBCallback(k_add_hard); }; }; /* END XmPushButtonGadget */ XmPushButtonGadget {g arguments { XmNlabelString = 'Delete';X( XmNmultiClick = XmMULTICLICK_DISCARD; };a callbacks {E XmNactivateCallback = procedure solutionPBCallback(k_delete_hard);r };X }; /* END XmPushButtonGadget */ XmPushButtonGadget {m arguments { XmNlabelString = 'Clear';( XmNmultiClick = XmMULTICLICK_DISCARD; };0 callbacks {D XmNactivateCallback = procedure solutionPBCallback(k_clear_hard); };e }; /* END XmPushButtonGadget */ };F"}; /* END ShardRC : XmRowColumn */'object ShardSB : XmToggleButtonGadget { arguments { XmNlabelString = 'Synonyms';X XmNvisibleWhenOff = true; XmNalignment = XmALIGNMENT_END;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;$ XmNtopWidget = XmRowColumn ShardRC;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;e };o callbacks {A MrmNcreateCallback = procedure creationCallback(k_synonym_hard);i };+}; /* END ShardSB : XmToggleButtonGadget */N tobject solWordsForm : XmForm { arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;# XmNtopWidget = XmForm samInfoForm;b* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2; + XmNrightAttachment = XmATTACH_FORM;r XmNrightOffset = 2; }; controls {  XmFrame classSolWords;l XmFrame keySolWords;a XmFrame softSolWords; XmFrame hardSolWords; XmFrame linkSolWords; };_"}; /* END solWordsForm : XmForm */ object classSolWords : XmFrame { arguments { arguments box_shadow;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 1;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 1;e, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 1;P };b controls {l XmForm {c arguments { };r controls {a XmLabelGadget classLG;/ XmFrame classF; XmTextField classTF;i XmRowColumn classRC;a };s }; /* END XmForm */ };c$}; /* END classSolWords : XmFrame */ object classLG : XmLabelGadget { arguments { XmNlabelString = 'Class';# XmNalignment = XmALIGNMENT_CENTER;o" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;X+ XmNrightAttachment = XmATTACH_FORM;a XmNrightOffset = 0; };u$}; /* END classLG : XmLabelGadget */object classF : XmFrame {i arguments { XmNshadowType = XmSHADOW_IN;_ XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;& XmNtopWidget = XmLabelGadget classLG;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;s+ XmNrightAttachment = XmATTACH_FORM;o XmNrightOffset = 2; };; controls {  XmScrolledWindow {d controls {B XmList {  arguments {" XmNuserData = f_classSolList;$ XmNlistSizePolicy = XmCONSTANT;, XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 5;* };s callbacks {E MrmNcreateCallback = procedure creationCallback(k_classSolList);e };g }; /* END XmList */ };r }; /* END XmScrolledWindow */ };f}; /* END classF : XmFrame */Gobject classTF : XmTextField { arguments { XmNmaxLength = 20; XmNuserData = f_classTF;  XmNcolumns i $MULTIHELP020.A  [A]SOLUTIONS.UIL;1RT"C= k_wordColumns;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5; XmNtopWidget = XmFrame classF;r* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;e+ XmNrightAttachment = XmATTACH_FORM;a XmNrightOffset = 0; };m callbacks {E XmNactivateCallback = procedure solutionPBCallback(k_sol_add_class);;@ MrmNcreateCallback = procedure creationCallback(k_sol_classTF); };X"}; /* END classTF : XmTextField */object classRC : XmRowColumn { arguments { XmNuserData = f_classRC; XmNorientation = XmHORIZONTAL;  XmNpacking = XmPACK_TIGHT;r XmNnumColumns = 3;g$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmTextField classTF;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0; + XmNrightAttachment = XmATTACH_FORM;o XmNrightOffset = 0; };g controls {N XmPushButtonGadget {' arguments { XmNlabelString = 'Add';( XmNmultiClick = XmMULTICLICK_DISCARD; };  callbacks {G XmNactivateCallback = procedure solutionPBCallback(k_sol_add_class);a };= }; /* END XmPushButtonGadget */ XmPushButtonGadget {s arguments { XmNlabelString = 'Delete';r( XmNmultiClick = XmMULTICLICK_DISCARD; };N callbacks {J XmNactivateCallback = procedure solutionPBCallback(k_sol_delete_class); };e }; /* END XmPushButtonGadget */ XmPushButtonGadget {m arguments { XmNlabelString = 'Clear';( XmNmultiClick = XmMULTICLICK_DISCARD; };e callbacks {I XmNactivateCallback = procedure solutionPBCallback(k_sol_clear_class);n }; }; /* END XmPushButtonGadget */ };i"}; /* END classRC : XmRowColumn */object keySolWords : XmFrame { arguments { arguments box_shadow;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 1;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 1;s' XmNleftWidget = XmFrame classSolWords; , XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 1;e }; controls {t XmForm {F arguments { };X controls {s XmLabelGadget keyLG;0 XmFrame keyF; XmTextField keyTF;A XmRowColumn keyRC;D };X }; /* END XmForm */ };d"}; /* END keySolWords : XmFrame */object keyLG : XmLabelGadget { arguments { XmNlabelString = 'Keywords';t# XmNalignment = XmALIGNMENT_CENTER; " XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0; + XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 0; };"}; /* END keyLG : XmLabelGadget */object keyF : XmFrame {s arguments { XmNshadowType = XmSHADOW_IN;N XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;$ XmNtopWidget = XmLabelGadget keyLG;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;+ XmNrightAttachment = XmATTACH_FORM;P XmNrightOffset = 2; };m controls {N XmScrolledWindow { controls {k XmList {C arguments { XmNuserData = f_keySolList;$ XmNlistSizePolicy = XmCONSTANT;, XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 5;S };D callbacks {C MrmNcreateCallback = procedure creationCallback(k_keySolList);a };k }; /* END XmList */ };( }; /* END XmScrolledWindow */ };X}; /* END keyF : XmFrame */Bobject keyTF : XmTextField { arguments { XmNmaxLength = 20;N XmNuserData = f_keyTF;_ XmNcolumns = k_wordColumns;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5; XmNtopWidget = XmFrame keyF;E* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;/+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 0; };n callbacks {C XmNactivateCallback = procedure solutionPBCallback(k_sol_add_key);N> MrmNcreateCallback = procedure creationCallback(k_sol_keyTF); }; }; /* END keyTF : XmTextField */object keyRC : XmRowColumn { arguments { XmNuserData = f_keyRC;{ XmNorientation = XmHORIZONTAL;  XmNpacking = XmPACK_TIGHT;f XmNnumColumns = 3; $ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;" XmNtopWidget = XmTextField keyTF;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;e+ XmNrightAttachment = XmATTACH_FORM;W XmNrightOffset = 0; };W controls {g XmPushButtonGadget {W arguments { XmNlabelString = 'Add';( XmNmultiClick = XmMULTICLICK_DISCARD; };  callbacks {E XmNactivateCallback = procedure solutionPBCallback(k_sol_add_key);X };S }; /* END XmPushButtonGadget */ XmPushButtonGadget {n arguments { XmNlabelString = 'Delete'; ( XmNmultiClick = XmMULTICLICK_DISCARD; };  callbacks {H XmNactivateCallback = procedure solutionPBCallback(k_sol_delete_key); };X }; /* END XmPushButtonGadget */ XmPushButtonGadget {m arguments { XmNlabelString = 'Clear';( XmNmultiClick = XmMULTICLICK_DISCARD; };0 callbacks {G XmNactivateCallback = procedure solutionPBCallback(k_sol_clear_key);h }; }; /* END XmPushButtonGadget */ };r }; /* END keyRC : XmRowColumn */object linkSolWords : XmFrame {n arguments { arguments box_shadow;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 1;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 1;f& XmNleftWidget = XmFrame hardSolWords;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 1;e };o controls {r XmForm {X arguments { };s controls {r XmLabelGadget linkLG; XmFrame linkF;X XmTextField linkTF; XmRowColumn linkRC; };; }; /* END XmForm */ }; #}; /* END linkSolWords : XmFrame */ object linkLG : XmLabelGadget {c arguments {" XmNlabelString = 'Article Links';# XmNalignment = XmALIGNMENT_CENTER;X" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;+ XmNrightAttachment = XmATTACH_FORM;a XmNrightOffset = 0; }; #}; /* END linkLG : XmLabelGadget */ object linkF : XmFrame { arguments { XmNshadowType = XmSHADOW_IN;  XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;% XmNtopWidget = XmLabelGadget linkLG;e* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;t+ XmNrightAttachment = XmATTACH_FORM;c XmNrightOffset = 2; };a controls {; XmScrolledWindow {r controls {l XmList {t arguments {! XmNuserData = f_linkSolList;=$ XmNlistSizePolicy = XmCONSTANT;, XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 5;f }; callbacks {D MrmNcreateCallback = procedure creationCallback(k_linkSolList); };= }; /* END XmList */ };s }; /* END XmScrolledWindow */ };X}; /* END linkF : XmFrame */object linkTF : XmTextField {; arguments { XmNmaxLength = 20;i XmNuserData = f_linkTF; XmNcolumns = k_wordColumns;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5; XmNtopWidget = XmFrame linkF;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;;+ XmNrightAttachment = XmATTACH_FORM;a XmNrightOffset = 0; };l callbacks {D XmNactivateCallback = procedure solutionPBCallback(k_sol_add_link);? MrmNcreateCallback = procedure creationCallback(k_sol_linkTF);i };X!}; /* END linkTF : XmTextField */lobject linkRC : XmRowColumn {= arguments { XmNuserData = f_linkRC; XmNorientation = XmHORIZONTAL;t XmNpacking = XmPACK_TIGHT;  XmNnumColumns = 3; $ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;# XmNtopWidget = XmTextField linkTF;X# XmNleftAttachment = XmATTACH_FORM;n XmNleftOffset = 0;+ XmNrightAttachment = XmATTACH_FORM;O XmNrightOffset = 0; }; controls {h XmPushButtonGadget {A arguments { XmNlabelString = 'Add';( XmNmultiClick = XmMULTICLICK_DISCARD; };r callbacks {F XmNactivateCallback = procedure solutionPBCallback(k_sol_add_link); }; }; /* END XmPushButtonGadget */ XmPushButtonGadget {o arguments { XmNlabelString = 'Delete'; ( XmNmultiClick = XmMULTICLICK_DISCARD; };  callbacks {I XmNactivateCallback = procedure solutionPBCallback(k_sol_delete_link);T };M }; /* END XmPushButtonGadget */ XmPushButtonGadget {a arguments { XmNlabelString = 'Clear';( XmNmultiClick = XmMULTICLICK_DISCARD; };l callbacks {H XmNactivateCallback = procedure solutionPBCallback(k_sol_clear_link); };m }; /* END XmPushButtonGadget */ };A!}; /* END linkRC : XmRowColumn */Oobject softSolWords : XmFrame {n arguments { arguments box_shadow;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 1;, ӌOC$MULTIHELP020.A  [A]SOLUTIONS.UIL;1Rg"T XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 1; % XmNleftWidget = XmFrame keySolWords;c, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 1;n };s controls { XmForm {X arguments { };N controls {  XmLabelGadget softLG; XmFrame softF;t XmTextField softTF; XmRowColumn softRC; };m }; /* END XmForm */ };#}; /* END softSolWords : XmFrame */Xobject softLG : XmLabelGadget {t arguments { XmNlabelString = 'Software';X# XmNalignment = XmALIGNMENT_CENTER;C" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;X+ XmNrightAttachment = XmATTACH_FORM;n XmNrightOffset = 0; }; #}; /* END softLG : XmLabelGadget */;object softF : XmFrame { arguments { XmNshadowType = XmSHADOW_IN;T XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;% XmNtopWidget = XmLabelGadget softLG;X* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;{+ XmNrightAttachment = XmATTACH_FORM;N XmNrightOffset = 2; };; controls {e XmScrolledWindow {D controls { XmList {c arguments {! XmNuserData = f_softSolList;$ XmNlistSizePolicy = XmCONSTANT;, XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 5;S };n callbacks {D MrmNcreateCallback = procedure creationCallback(k_softSolList); };N }; /* END XmList */ };= }; /* END XmScrolledWindow */ };u}; /* END softF : XmFrame */object softTF : XmTextField { arguments { XmNmaxLength = 80;  XmNuserData = f_softTF; XmNcolumns = k_wordColumns;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5; XmNtopWidget = XmFrame softF;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;d+ XmNrightAttachment = XmATTACH_FORM;r XmNrightOffset = 0; };F callbacks {D XmNactivateCallback = procedure solutionPBCallback(k_sol_add_soft);? MrmNcreateCallback = procedure creationCallback(k_sol_softTF);T };!}; /* END softTF : XmTextField */uobject softRC : XmRowColumn { arguments { XmNuserData = f_softRC; XmNorientation = XmHORIZONTAL;T XmNpacking = XmPACK_TIGHT;  XmNnumColumns = 3;N$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;# XmNtopWidget = XmTextField softTF;n* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;n+ XmNrightAttachment = XmATTACH_FORM;I XmNrightOffset = 0; };s controls {i XmPushButtonGadget {e arguments { XmNlabelString = 'Add';( XmNmultiClick = XmMULTICLICK_DISCARD; };o callbacks {F XmNactivateCallback = procedure solutionPBCallback(k_sol_add_soft); };C }; /* END XmPushButtonGadget */ XmPushButtonGadget {o arguments { XmNlabelString = 'Delete';( XmNmultiClick = XmMULTICLICK_DISCARD; };B callbacks {I XmNactivateCallback = procedure solutionPBCallback(k_sol_delete_soft);C };R }; /* END XmPushButtonGadget */ XmPushButtonGadget {e arguments { XmNlabelString = 'Clear';( XmNmultiClick = XmMULTICLICK_DISCARD; };; callbacks {H XmNactivateCallback = procedure solutionPBCallback(k_sol_clear_soft); };s }; /* END XmPushButtonGadget */ };R!}; /* END softRC : XmRowColumn */lobject hardSolWords : XmFrame {X arguments { arguments box_shadow;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 1;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 1;F& XmNleftWidget = XmFrame softSolWords;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 1; };R controls {C XmForm { arguments { };} controls {e XmLabelGadget hardLG; XmFrame hardF;b XmTextField hardTF; XmRowColumn hardRC; };t }; /* END XmForm */ };N#}; /* END hardSolWords : XmFrame */Aobject hardLG : XmLabelGadget { arguments { XmNlabelString = 'Hardware';t# XmNalignment = XmALIGNMENT_CENTER;e" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;n+ XmNrightAttachment = XmATTACH_FORM;d XmNrightOffset = 0; };t#}; /* END hardLG : XmLabelGadget */fobject hardF : XmFrame { arguments { XmNshadowType = XmSHADOW_IN;  XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;% XmNtopWidget = XmLabelGadget hardLG; * XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;m+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 2; };T controls {N XmScrolledWindow {X controls { XmList {w arguments {! XmNuserData = f_hardSolList;}$ XmNlistSizePolicy = XmCONSTANT;, XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 5;X };W callbacks {D MrmNcreateCallback = procedure creationCallback(k_hardSolList); };a }; /* END XmList */ };f }; /* END XmScrolledWindow */ };;}; /* END hardF : XmFrame */object hardTF : XmTextField {N arguments { XmNmaxLength = 80;  XmNuserData = f_hardTF; XmNcolumns = k_wordColumns;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5; XmNtopWidget = XmFrame hardF;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;)+ XmNrightAttachment = XmATTACH_FORM;a XmNrightOffset = 0; }; callbacks {D XmNactivateCallback = procedure solutionPBCallback(k_sol_add_hard);? MrmNcreateCallback = procedure creationCallback(k_sol_hardTF);n };m!}; /* END hardTF : XmTextField */object hardRC : XmRowColumn {E arguments { XmNuserData = f_hardRC; XmNorientation = XmHORIZONTAL;f XmNpacking = XmPACK_TIGHT; XmNnumColumns = 3;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;# XmNtopWidget = XmTextField hardTF;B* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;N+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 0; };e controls {o XmPushButtonGadget {c arguments { XmNlabelString = 'Add';( XmNmultiClick = XmMULTICLICK_DISCARD; };m callbacks {F XmNactivateCallback = procedure solutionPBCallback(k_sol_add_hard); };l }; /* END XmPushButtonGadget */ XmPushButtonGadget {l arguments { XmNlabelString = 'Delete';P( XmNmultiClick = XmMULTICLICK_DISCARD; };g callbacks {I XmNactivateCallback = procedure solutionPBCallback(k_sol_delete_hard);  };c }; /* END XmPushButtonGadget */ XmPushButtonGadget {c arguments { XmNlabelString = 'Clear';( XmNmultiClick = XmMULTICLICK_DISCARD; };l callbacks {H XmNactivateCallback = procedure solutionPBCallback(k_sol_clear_hard); };n }; /* END XmPushButtonGadget */ };!}; /* END hardRC : XmRowColumn */H D/*%** Dialog to list the found solutions=*/*object solutionListDialog : XmFormDialog { arguments {7 XmNdialogTitle = 'MultiHelp Solution Article Listing';r XmNautoUnmanage = false;s XmNdefaultPosition = false; };l controls {F XmPushButtonGadget listDismiss;# XmPushButtonGadget listViewButton;} XmPushButtonGadget {  arguments { XmNlabelString = 'Help';e XmNwidth = 125;. XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;2 XmNleftWidget = XmPushButtonGadget listDismiss;. XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; };t callbacks {G XmNactivateCallback = procedure contextHelpCallback(h_solutionList);; }; }; /* END XmPushButtonGadget */ XmScrolledWindow { arguments { XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 2;, XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2; - XmNrightAttachment = XmATTACH_FORM;t XmNrightOffset = 2;0 XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;;4 XmNbottomWidget = XmPushButtonGadget listDismiss; };g controls {X XmList {f arguments {$ XmNlistSizePolicy = XmCONSTANT;* XmNselectionPolicy = XmSINGLE_SELECT; XmNshadowThickness = 0;! XmNvisibleItemCount = 10;  };  callbacks {F MrmNcreateCallback = procedure creationCallback(k_solutionsList);@ XmNdefaultActionCallback = procedure goToArticleCallback(); }; }; /* END XmList */ }; }; /* END XmScrolledWindow */ };m.}; /* END solutionListDialog : XmFormDialog */)object listDismiss : XmPushButtonGadget {A arguments { XmNlabelString = 'Dismiss'; XmNwidth = 125;( XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = -(125/2);t XmNrightPosition = 50;r, XmNbottomAttachment = XmATTACH_FORM; XmNboٮO$MULTIHELP020.A  [A]SOLUTIONS.UIL;1RJ*r#nbo*?ig s1+-w##jbHPn5wd* vhU;^}}K; t.T4RSzAZpOsWGW>pQG5rW$wWbI$ne"8U.=*DO-) di/cc Lg)n?47Lei)~=6s0~n;e>l h^e&U-(&V,f/XC=C-r}14y_i'=UnD@ZM=ir\'LbD/6e\ 98Z"smeRZ.Oj?:v\S*aQS9 z2>Ut]azv !%5$_%%>Ng^T:g:bLB_vWw 6lL:<\Rv\$m_gz<#IJLb#'.uwLx&bP$!kVU98G5RrrB2Rop!FS;b`Jxs([w;/A(-n_5Q7,~!-P`xJ -QqM{&th0Nx9Y+Ho:<4nSWstbBrW)nrUjx:lt's$ ! cU &| KVa$Ee2+4A dY)7r/10T<@\J]Nx3#|Te,63k/oO9[;g4QX\Dp$B$@3WBcWV Px;5O^Ilkkqb6"NCINK-ms4mphFO c@?=axNwLEr_\g5m1<M[ 5J!u7]?8@&r@avAz]#H%1Jws= 7M( 1[GL+7fORX``^..JLu@<>HN9#@$ _nSNW [`*'FGt1+U1':~<5_:)/z`nuQt=>AYoJ_wEUM1f7' -g,Sv1)SRd8!Ry@>D7<{)PdwZlZXqD-K23"N/"iU %E(-vIA$F0f7*$#x!(6`OIi,+X| zL=a(9E)Yg'Og*+;&Lp1z?MCyy*L{*&-p9cfd?2l;/8EJWQJ?X&j\vag. zc\] p'bq;E`IH3@8Dk qxQL~1^u'^a]w!moxyA=)= `u&t%5&d9,x$7+u\rlw j=ON|TR&~2&.T^V-oC%,{=,c8 r7{5B>)1Bmo4A*[fW),9wuwEI[D?k 3`w#{oH6 wE&KA^QNQ H91`a21 7qDM8AF?=zR:v w? `Y-N[: ^t*r=a9 ! 5 wHKFk@]@KutD0[4t?zZutS^nC4+h J.tgE4?}IL= `R /Yn1^v GbLY {vEq8~kfk)H`@Y{MJ Ims>NV`z4q=L uHJ(et`>[M1c}4N+h6in tB8 aGYv[o][2xf$ps)T09Atq9 f}J^Ya~)/<0arx"z; O8fU^;J*2F?`BaET(Pe5!QD{?DG'p#?`v]kqI.7D5ASJ5 `pS;n5j`F Q b ti[XkfDcgzI82*ry}P H  DceH$#V{ 7n5ohX+uUc,duk'y/+4{x4-g]\_lSMEs9hvvYzN'r^TXexRp4*wwc]p8S?m sti5m7IS v%'a_"h^8Jgn_&qXzz}+D$|i$#ae5J^ZKNu#l$;y)n 1{j-` @<}@";QXoo!VZo`Bkd8Mt,`cO7"Y>(l{F^4_4 GF:]-&c4 /?-90\7QYtJ!ue?S +EY+'Yj z)N!@q0^HFSQ"W>}I+3I aS+^}2M] .]\ u%kJgBKfb5 J^h-rRyR CPEf/ TMIH[t%`p? 'T7Fr  cmM9o8 )>A{M(Tan~.R~U<'IBZ ?=/(7VkLS<R1.pwmYNjSPuX15jXlj% BTY|Tt_B"SB:\"chE4!zF3ti["+)(J)NW00^ EA&[m\Uzu^?F .; :q34QG ,K wR!c-OJa(/^w}l}6zNA+lhJydF,s-'l1%KkTfCf(9 R ufJ1U/N>4  Wr0!}*;6(EA\pBNI*Blo>v{@'.$4z#! ]'*S>5;CQ[Q W^qBSQ5[l K4}vN|,f{SjU3-w71$x*spk4T Y f5r;zgaHPMo^ +7 V2y.4_VY#@B ,i3T Y> SO-wWqz R:= >-kCR$[a=5?9Ho]iwE/`#4]t3\?q(&1Yi\kLN^&|W/e?(iG, 9:S0a%9 +&,ocH=EsayL\hBA]m7!oQjP (qb}{)'MEbA ~u+-Bc88BDDz02*vCbO,G'~F(YkGiw 9vX\T _QG#)5Fi;_ Z+)bOC+@Q"QOJ 7PopGXN%Jq\ Ntujprgz07Y8\{_h4'R9J#+E6T QHcu?!AbFMJmi`8vcH-HEI+IICFWz~LD%6k(iB#&hly= Q'(<`Fv $Q-MbH% =)`2v w!G: cqaJ]W ?rR@HH4~t@6J +Pf6+7 0{N6kn<@@ LI#bjXKiG{RjT@-4~eBz"jc %P!y%|`u2'Tv9 w.hZvs+?JV*D.x^thJV}7AleW(V=`%U?3O? "Z@ccUZRB8.6a j}Ki2.==I@X1Sla,lU ;6weV2G7DzP0h) w])}lx*V[nPb/{C*~)'_]Y`l&_K~O# "Uof+E6Q 8Tm?{zVc dq ;Xj9TCUdBDxpF4[6W/>dcGUUBa*fg0 =z*&PIvh,Ugc^6+e?GRhog\yE_L:(WGhf LIH0_RXQavB9;$,X3[)'f.S~C!5)kuDLj]vPie|WELZZ &^m\ud6P8| WQr]Y+ |V+%o@{BDzUv}@Xw ]+nl3LGP\8>1T26^Brmj6H =uuUlV )$27+/BBHHbfdH;&>vc9r'+y&M$ i>?b bAYh2O\LW]~A;.%ISoOx#Q6.BVU \4#]N w=G{AR9Jw%}[j IKS!&3N{8n4=6^mo<~6$>K^!4).;:G6/Rp(p htmT?Dw^ev%!rj q>_@Ab0Awcc~e+o9#F Ep,I8bbABPUA~{zmSqFa!9rO({,%O}(+-5E=Tzw#=8S6+f *)GUU}964r/6[-m,x,S*OwMS(9CW$iB1%[*'pw+&F %c!e5d}^hMz., ,!lOs88c)3A'JIgl)e}CRb~L0 Som'Sk}U$[*G"GmW|yW>`d&b!~bud#`5a$6$To1A}M3 ):>E R^RbASr ;zoj8,/s) 6^g-BFey@f5W0iAVr/%cuWnaX7-u6eD}T;p9=`wa"Kms\8]!FtCQ;Tv 2^IN\o1Wu3d+i)f&sR_?YvA qkk` iL|6-"]z+WA?V{A fD_5)Idm%<3UNq< U>d9yF]qjIHL"LE=z.lGi?ub@<'}e[" ssR9;ZH,VLcrfW rw#sAP*s 6u;tZ4|T L9><1lXgxn9](5iF RCjK.I;2b-0_Li%Lk9A")+OQSSr9}/`r 8>k8X~WM8_$BL? ]>Wei4|`.:%Ra Oi3}b]]|7|1=Dj7FgTk< @4^t Rx*8m oF;5,h$9B 1m-X e;<UIK|V-MYGY\q:ck~=mh d/W"H'v!3#Aj3(kJv N{fvHU*'g79t|lEw2j+g^Mo: h24; 4/'>a~eG skU>:i?F3Uuyftv-%j'|Y\ ?Ran  {6 'QZ:iz7!N}`2rGf <_,7[,?OyY= x|hP#7Y)j2RyRVNKRLSp {a2B VNU+"X4+Xm Xb%P:U$Mi"A]jh.'"`q6?'?:4~QF'v@uKz.Hy.;)No4 q j9E7dTf&C1CD_}O+]7Nih{o);_Sov[0c`a5Wd;iF9gL=wnfa* ^^ib1`YToN Di-POhkCrIbEnu`$dQ$I?$73~%x!lqCac^!tlNVt9g4VHVXA))#%{Xa\LuKtwv2!}^F\k7S(wlU8?:9:fnv]fj oUNz*L?vEErc[^Sf ]Mq >NB'#Fm"Ti%Tq+J8J%U!Oj&l\0js{>TNMifsQxRQz IAs DA|mq RX4:XG1tV(uTs\^2)vKAvyt NF*pYs1a!|,WD5QNh"8B (s+P./#>^+E8GhZG&O"u 437TQ'B- i3(,OXcPHJ:@a| aGb 3#f c38 %qL[ N|B/2L$OU0 ZjE!lwNEOA3)3Qz K!YoR5wT4W2.e$5 PTXB(`]+HI9* 38YZ##a{HQ wym8*K X_Zvv+Jj]iw1<^axiQ #v! g[\?mB yLX+@fg30f q"dAI-!FOoOh,JPX\wpyh)jD] ^` N]4#M~y>)oy!"9(Sj'VoSy|iGidUmxuN zYrG`SLZlTv+ *DK\*0D}u=fz2#*/&L(*|l1 >&k9GWa>~`D#a5!6=9(}AEV&3G gE]J}G\ z@I:(.u 3]&qiZBj7K&V! H/Me( >aoC^,s$ {$~8[K)[iЬcw?Qy|Jayd8 }23okAC5R' %Us l u\V m_^ BX,K P,AZ<'g5$r uN"q=hNzo9_?ILXuc:/TCKLFafkMLneh9%G*:`KW ;W@Qs7;tE~]6To,|@#( jt)jW|TP7GiT]xP$EkCNoe3F2A;LJ4&_DLKFWyzR[}J)) bEv TU>!eH+&S|G#-022L!M>2(x*+30JUEg^\8m |X|X= NfOTD.M/\k\oq7.A6_w%!Eu6z'=&ttq 2@ q$qlU KP UN9FC-"i\*FU{^j qSWhW^L}fydqtF +a'6;KuUfc`YVCaoL*N j47 CBmE!r{aB[/-kTV,M#j#MH8HRo- .:!@q^A >'9f N>V_qx1\j.W\_XHyb6P0-t XmNwidth = 75;a. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -(75/2);u XmNleftPosition = 50;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;u- XmNbottomWidget = XmSeparatorGadget synSep1;d };o callbacks {G XmNactivateCallback = procedure solutionPBCallback(k_synDeleteButton);o };n5}; /* END synonymDeleteButton : XmPushButtonGadget */B'object synonymList : XmScrolledWindow {a arguments { XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5; + XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 5;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;c: XmNbottomWidget = XmPushButtonGadget synonymDeleteButton; };l controls {u XmList {e arguments {" XmNlistSizePolicy = XmCONSTANT;* XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 15; }; callbacks {B MrmNcreateCallback = procedure creationCallback(k_synonymList); };O }; /* END XmList */ }; +}; /* END synonymList : XmScrolledWindow */  T#object noiseDialog : XmFormDialog { arguments {" XmNdialogTitle = 'Noise Manager'; XmNautoUnmanage = false;l XmNdefaultPosition = false; };F controls {X XmScrolledWindow noiseList; XmTextField noiseText;T# XmPushButtonGadget noiseAddButton; & XmPushButtonGadget noiseDeleteButton;' XmPushButtonGadget noiseDismissButton;g };Q'}; /* END noiseDialog : XmFormDialog */R%object noiseList : XmScrolledWindow {t arguments { XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;X+ XmNrightAttachment = XmATTACH_FORM;H XmNrightOffset = 5;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5; ) XmNbottomWidget = XmTextField noiseText;  };m controls {e XmList {C arguments {" XmNlistSizePolicy = XmCONSTANT;* XmNselectionPolicy = XmEXTENDED_SELECT; XmNshadowThickness = 0; XmNvisibleItemCount = 15; };( callbacks {@ MrmNcreateCallback = procedure creationCallback(k_noiseList); };T }; /* END XmList */ };{)}; /* END noiseList : XmScrolledWindow */a object noiseText : XmTextField { arguments { XmNmaxLength = 15;m* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;e+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 5;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;8 XmNbottomWidget = XmPushButtonGadget noiseDeleteButton; }; callbacks {F XmNactivateCallback = procedure solutionPBCallback(k_noiseAddButton); };e$}; /* END noiseText : XmTextField *//object noiseDeleteButton : XmPushButtonGadget {T arguments { XmNlabelString = 'Delete';d XmNwidth = 75; . XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -(75/2); XmNleftPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; };l callbacks {I XmNactivateCallback = procedure solutionPBCallback(k_noiseDeleteButton); };h3}; /* END noiseDeleteButton : XmPushButtonGadget */E,object noiseAddButton : XmPushButtonGadget { arguments { XmNlabelString = 'Add'; XmNwidth = 75;- XmNrightAttachment = XmATTACH_WIDGET;t XmNrightOffset = 10;N7 XmNrightWidget = XmPushؾI0$MULTIHELP020.A  [A]SOLUTIONS.UIL;1R+ButtonGadget noiseDeleteButton;l, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; };a callbacks {F XmNactivateCallback = procedure solutionPBCallback(k_noiseAddButton); }; 0}; /* END noiseAddButton : XmPushButtonGadget */0object noiseDismissButton : XmPushButtonGadget { arguments { XmNlabelString = 'Dismiss'; XmNwidth = 75;i, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;6 XmNleftWidget = XmPushButtonGadget noiseDeleteButton;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; callbacks {J XmNactivateCallback = procedure solutionPBCallback(k_noiseDismissButton); };}4}; /* END noiseDismissButton : XmPushButtonGadget */ o+object solutionsViewDialog : XmFormDialog {N arguments {) XmNdialogTitle = 'Solution View Dialog';u XmNautoUnmanage = false;g XmNdefaultPosition = false; };r controls {X! XmForm solutionInfoForm; XmForm solutionTitleForm; XmScrolledWindow articleSW; XmPushButtonGadget svDismiss;$ XmPushButtonGadget svSelectArticle; };O/}; /* END solutionsViewDialog : XmFormDialog */=-object svSelectArticle : XmPushButtonGadget {p arguments {" XmNlabelString = 'Article Id...'; XmNwidth = 120;( XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 10;m XmNrightPosition = 50;{, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;X };A callbacks {G XmNactivateCallback = procedure solutionPBCallback(k_knowledgeUpdate); }; 1}; /* END svSelectArticle : XmPushButtonGadget */h'object svDismiss : XmPushButtonGadget { arguments { XmNwidth = 120; XmNlabelString = 'Dismiss';. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 10; XmNleftPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;t }; callbacks {A XmNactivateCallback = procedure solutionPBCallback(k_svDismiss);  };+}; /* END svDismiss : XmPushButtonGadget */ %object articleSW : XmScrolledWindow {N arguments { XmNshadowThickness = 0;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;) XmNtopWidget = XmForm solutionTitleForm;_* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;n+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 5;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;l0 XmNbottomWidget = XmPushButtonGadget svDismiss; };o controls {; XmText viewArticleText; };l)}; /* END articleSW : XmScrolledWindow */X!object viewArticleText : XmText {e arguments { XmNeditable = false;y! XmNeditMode = XmMULTI_LINE_EDIT; XmNresizeWidth = false; XmNresizeHeight = false;e };C%}; /* END viewArticleText : XmText */s#object solutionTitleForm : XmForm {B arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;m+ XmNrightAttachment = XmATTACH_FORM;o XmNrightOffset = 0; };= controls {l XmLabelGadget linkLabel; XmScrolledWindow linkWindow;T XmLabelGadget titleLabel; XmScrolledWindow titleWindow; };m'}; /* END solutionTitleForm : XmForm */ "object linkLabel : XmLabelGadget { arguments { XmNlabelString = 'Links';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;e };n&}; /* END linkLabel : XmLabelGadget */&object linkWindow : XmScrolledWindow { arguments { XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;( XmNtopWidget = XmLabelGadget linkLabel;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;{+ XmNrightAttachment = XmATTACH_FORM;C XmNrightOffset = 5; }; controls {N XmList linkList;X };B*}; /* END linkWindow : XmScrolledWindow */object linkList : XmList { arguments { XmNlistSizePolicy = XmCONSTANT;& XmNselectionPolicy = XmSINGLE_SELECT; XmNvisibleItemCount = 1;  };N callbacks {9 XmNdefaultActionCallback = procedure linkListCallback();m }; }; /* END linkList : XmList */#object titleLabel : XmLabelGadget {t arguments { XmNlabelString = 'Titles';c$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;, XmNtopWidget = XmScrolledWindow linkWindow;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;h };n'}; /* END titleLabel : XmLabelGadget */ 'object titleWindow : XmScrolledWindow {f arguments { XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;) XmNtopWidget = XmLabelGadget titleLabel;T* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;B+ XmNrightAttachment = XmATTACH_FORM;c XmNrightOffset = 5;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0; }; controls {s XmList titleList; };e+}; /* END titleWindow : XmScrolledWindow */aobject titleList : XmList {x arguments { XmNsensitive = false; XmNlistSizePolicy = XmCONSTANT;& XmNselectionPolicy = XmSINGLE_SELECT; XmNvisibleItemCount = 1;X };t}; /* END titleList : XmList */= P*object solutionInfoDialog : XmFormDialog { arguments {) XmNdialogTitle = 'Solution Information';b XmNautoUnmanage = true; XmNdefaultPosition = false; };d controls {t XmLabelGadget infoLabel;{ XmScrolledWindow historyWindow;$ XmPushButtonGadget siDismissButton; };a.}; /* END solutionInfoDialog : XmFormDialog */"object infoLabel : XmLabelGadget { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;t, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;i /* Mono spaced font */b9 XmNfontList = font('-*-*-*-*-*--*-*-*-*-m-*-ISO8859-1');n };X&}; /* END infoLabel : XmLabelGadget */)object historyWindow : XmScrolledWindow {e arguments { XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;) XmNleftWidget = XmLabelGadget infoLabel;+ XmNrightAttachment = XmATTACH_FORM;m XmNrightOffset = 5;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;6 XmNbottomWidget = XmPushButtonGadget siDismissButton; }; controls {t XmList historyList; };-}; /* END historyWindow : XmScrolledWindow */xobject historyList : XmList {N arguments { XmNlistSizePolicy = XmCONSTANT;& XmNselectionPolicy = XmSINGLE_SELECT; }; !}; /* END historyList : XmList */R-object siDismissButton : XmPushButtonGadget {e arguments { XmNlabelString = 'Dismiss';, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 15;) XmNleftWidget = XmLabelGadget infoLabel;e+ XmNrightAttachment = XmATTACH_FORM;d XmNrightOffset = 10;m, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;  };t1}; /* END siDismissButton : XmPushButtonGadget */  T/object solutionAddModifyDialog : XmFormDialog {e arguments {# XmNdialogTitle = 'blah blah blah';T XmNautoUnmanage = false;s XmNdefaultPosition = false; };r controls {n XmMenuBar samMB;b XmPanedWindow samPane;a };p3}; /* END solutionAddModifyDialog : XmFormDialog */n object samPane : XmPanedWindow { arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0; XmNtopWidget = XmMenuBar samMB;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;m+ XmNrightAttachment = XmATTACH_FORM;s XmNrightOffset = 0;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 0;t };t controls {T XmForm {; controls {s XmForm samInfoForm; XmForm solWordsForm;y XmForm samTitleForm; XmFrame samHelpFrame; };m }; /* END XmForm */ XmScrolledWindow samWindow; };o$}; /* END samPane : XmPanedWindow */%object samWindow : XmScrolledWindow {t arguments { };c controls { XmText {C arguments { XmNuserData = f_samText;m XmNeditable = true;# XmNeditMode = XmMULTI_LINE_EDIT;L XmNpendingDelete = false;$ XmNautoShowCursorPosition = true;# XmNcursorPositionVisible = true;i };g callbacks {> MrmNcreateCallback = procedure creationCallback(k_samText); };S }; /* END XmText */% unmanaged XmForm remoteLocationForm;t };d)}; /* END samWindow : XmScrolledWindow */oobject samHelpFrame : XmFrame {e arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT;  XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmForm samTitleForm;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;T+ XmNrightAttachment = XmATTACH_FORM;r XmNrightOffset = 5; };O controls {h XmLabelGadget samHelpText;o };c#}; /* END samHelpFrame : X$MULTIHELP020.A  [A]SOLUTIONS.UIL;1RsA"mFrame */f$object samHelpText : XmLabelGadget { callbacks {@ MrmNcreateCallback = procedure creationCallback(k_samHelpText); };=(}; /* END samHelpText : XmLabelGadget */object samTitleForm : XmForm { arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;$ XmNtopWidget = XmForm solWordsForm;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5; + XmNrightAttachment = XmATTACH_FORM;i XmNrightOffset = 5; };g controls {N XmLabelGadget samtLabel;m XmScrolledWindow samtWindow;; XmTextField samtTF; XmRowColumn samtRC; };t"}; /* END samTitleForm : XmForm */"object samtLabel : XmLabelGadget { arguments { XmNlabelString = 'Titles';N# XmNalignment = XmALIGNMENT_CENTER;s" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 2;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0;N+ XmNrightAttachment = XmATTACH_FORM;e XmNrightOffset = 0;&! XmNrightWidget = XmRowColumn samtRC; }; &}; /* END samtLabel : XmLabelGadget */&object samtWindow : XmScrolledWindow { arguments { XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 0;( XmNtopWidget = XmLabelGadget samtLabel;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;t- XmNrightAttachment = XmATTACH_WIDGET;u XmNrightOffset = 2;% XmNrightWidget = XmRowColumn samtRC;g. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5; & XmNbottomWidget = XmTextField samtTF; };i controls {0 XmList {h arguments { XmNuserData = f_samTitles;l" XmNlistSizePolicy = XmCONSTANT;* XmNselectionPolicy = XmEXTENDED_SELECT; };s callbacks {? MrmNcreateCallback = procedure creationCallback(k_samtList); };N }; /* END XmList */ };t*}; /* END samtWindow : XmScrolledWindow */object samtTF : XmTextField {{ arguments { XmNmaxLength = 150; XmNuserData = f_samTitleText;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;=- XmNrightAttachment = XmATTACH_WIDGET;  XmNrightOffset = 2;% XmNrightWidget = XmRowColumn samtRC;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 2;c };o callbacks {? XmNactivateCallback = procedure solutionPBCallback(k_samtAdd); };b!}; /* END samtTF : XmTextField */aobject samtRC : XmRowColumn {i arguments { XmNuserData = f_titleRC;n XmNorientation = XmVERTICAL;s XmNpacking = XmPACK_COLUMN;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;( XmNtopWidget = XmLabelGadget samtLabel;+ XmNrightAttachment = XmATTACH_FORM;v XmNrightOffset = 5;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;t };: controls {G XmPushButtonGadget { arguments { XmNlabelString = 'Clear'; }; callbacks {C XmNactivateCallback = procedure solutionPBCallback(k_samtClear);  }; }; /* END XmPushButtonGadget */ XmPushButtonGadget {s arguments { XmNlabelString = 'Delete';a };o callbacks {D XmNactivateCallback = procedure solutionPBCallback(k_samtDelete); };n }; /* END XmPushButtonGadget */ XmPushButtonGadget {a arguments { XmNlabelString = 'Add'; };s callbacks {A XmNactivateCallback = procedure solutionPBCallback(k_samtAdd);e };i }; /* END XmPushButtonGadget */ }; !}; /* END samtRC : XmRowColumn */5object samInfoForm : XmForm {a arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;r+ XmNrightAttachment = XmATTACH_FORM;n XmNrightOffset = 5; }; controls {D XmFrame samModFrame;; XmFrame sami1frame; XmFrame sami2frame; }; !}; /* END samInfoForm : XmForm */Robject samModFrame : XmFrame { arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 2;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 2;$ XmNleftWidget = XmFrame sami1frame;+ XmNrightAttachment = XmATTACH_FORM;t XmNrightOffset = 2;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 2;L };D controls {i XmForm {a controls {e XmLabelGadget modWindowLabel; XmScrolledWindow modWindow; };s }; /* END XmForm */ };B"}; /* END samModFrame : XmFrame */'object modWindowLabel : XmLabelGadget { arguments {) XmNlabelString = 'Modification History';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 2;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;r+ XmNrightAttachment = XmATTACH_FORM;e XmNrightOffset = 2; };i+}; /* END modWindowLabel : XmLabelGadget */ %object modWindow : XmScrolledWindow {l arguments { XmNshadowThickness = 2;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;- XmNtopWidget = XmLabelGadget modWindowLabel;F# XmNleftAttachment = XmATTACH_FORM;/ XmNleftOffset = 2;a+ XmNrightAttachment = XmATTACH_FORM;d XmNrightOffset = 2;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 3;N };f controls {N XmList {  arguments { XmNuserData = f_samMod;" XmNlistSizePolicy = XmCONSTANT;* XmNselectionPolicy = XmEXTENDED_SELECT; XmNsensitive = false; };; callbacks {A MrmNcreateCallback = procedure creationCallback(k_samModList);n }; }; /* END XmList */ };{)}; /* END modWindow : XmScrolledWindow */Tobject sami1frame : XmFrame {G arguments { XmNuserData = f_sam1Info;$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 2;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 2; $ XmNleftWidget = XmFrame sami2frame;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 2;W };; controls {l XmForm {n controls {R XmLabelGadget dlvLabel; XmLabelGadget dlvValue; XmLabelGadget vcLabel;t XmLabelGadget vcValue;o XmLabelGadget caLabel;d XmLabelGadget caValue;t XmLabelGadget dcLabel; XmLabelGadget dcValue;W XmLabelGadget piLabel;L XmLabelGadget piValue;c };  }; /* END XmForm */ };s!}; /* END sami1frame : XmFrame */t!object dlvLabel : XmLabelGadget { arguments { XmNwidth = 150; XmNalignment = XmALIGNMENT_END; XmNrecomputeSize = false;& XmNlabelString = 'Date Last Viewed:';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 2;- XmNrightAttachment = XmATTACH_WIDGET;X XmNrightOffset = 0;) XmNrightWidget = XmLabelGadget dlvValue;L };%}; /* END dlvLabel : XmLabelGadget */ !object dlvValue : XmLabelGadget {t arguments { XmNwidth = 150;& XmNalignment = XmALIGNMENT_BEGINNING; XmNrecomputeSize = false;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 2;+ XmNrightAttachment = XmATTACH_FORM;X XmNrightOffset = 2; };o%}; /* END dlvValue : XmLabelGadget */; object vcLabel : XmLabelGadget { arguments { XmNwidth = 150; XmNalignment = XmALIGNMENT_END; XmNrecomputeSize = false; XmNlabelString = 'View Count:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;' XmNtopWidget = XmLabelGadget dlvLabel;T- XmNrightAttachment = XmATTACH_WIDGET;a XmNrightOffset = 0;( XmNrightWidget = XmLabelGadget vcValue; };)$}; /* END vcLabel : XmLabelGadget */ object vcValue : XmLabelGadget { arguments { XmNwidth = 150;& XmNalignment = XmALIGNMENT_BEGINNING; XmNrecomputeSize = false;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;' XmNtopWidget = XmLabelGadget dlvLabel;t+ XmNrightAttachment = XmATTACH_FORM;t XmNrightOffset = 2; };m$}; /* END vcValue : XmLabelGadget */ object caLabel : XmLabelGadget { arguments { XmNwidth = 150; XmNalignment = XmALIGNMENT_END; XmNrecomputeSize = false;% XmNlabelString = 'Creation Author:';N$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;& XmNtopWidget = XmLabelGadget vcLabel;- XmNrightAttachment = XmATTACH_WIDGET;m XmNrightOffset = 0;( XmNrightWidget = XmLabelGadget caValue; };D$}; /* END caLabel : XmLabelGadget */ object caValue : XmLabelGadget { arguments { XmNwidth = 150;& XmNalignment = XmALIGNMENT_BEGINNING; XmNrecomputeSize = false;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;& XmNtopWidget = XmLabelGadget vcLabel;+ XmNrightAttachment = XmATTACH_FORM;t XmNrightOffset = 2; }; $}; /* END caValue : XmLabelGadget */ object dcLabel : XmLabelGadget { arguments { XmNwidth = 150; XmNalignment = XmALIGNMENT_END; XmNrecomputeSize = false;# XmNlabelString = 'Creation Date:';s$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;& XmNtopWidget = XmLabelGadget caLabel;- XmNrightAttachment = XmA\p>$MULTIHELP020.A  [A]SOLUTIONS.UIL;1R"TTACH_WIDGET;e XmNrightOffset = 0;( XmNrightWidget = XmLabelGadget dcValue; };;$}; /* END dcLabel : XmLabelGadget */ object dcValue : XmLabelGadget { arguments { XmNwidth = 150;& XmNalignment = XmALIGNMENT_BEGINNING; XmNrecomputeSize = false;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;& XmNtopWidget = XmLabelGadget caLabel;+ XmNrightAttachment = XmATTACH_FORM;  XmNrightOffset = 2; };W$}; /* END dcValue : XmLabelGadget */ object piLabel : XmLabelGadget { arguments { XmNwidth = 150; XmNalignment = XmALIGNMENT_END; XmNrecomputeSize = false;' XmNlabelString = 'Assoc. Request Id:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;& XmNtopWidget = XmLabelGadget dcLabel;- XmNrightAttachment = XmATTACH_WIDGET;_ XmNrightOffset = 0;( XmNrightWidget = XmLabelGadget piValue; };t$}; /* END piLabel : XmLabelGadget */ object piValue : XmLabelGadget { arguments { XmNwidth = 150;& XmNalignment = XmALIGNMENT_BEGINNING; XmNrecomputeSize = false;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;& XmNtopWidget = XmLabelGadget dcLabel;+ XmNrightAttachment = XmATTACH_FORM;= XmNrightOffset = 2; };N$}; /* END piValue : XmLabelGadget */object sami2frame : XmFrame {e arguments {$ XmNshadowType = XmSHADOW_ETCHED_IN; XmNshadowThickness = 2;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 2;# XmNleftAttachment = XmATTACH_FORM;e XmNleftOffset = 2;l, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 2;F };* controls {s XmForm {: controls {{' XmToggleButtonGadget archivalToggle;c$ XmToggleButtonGadget localToggle;' XmToggleButtonGadget custViewToggle;d }; }; /* END XmForm */ };o!}; /* END sami2frame : XmFrame */n.object archivalToggle : XmToggleButtonGadget { arguments {% XmNlabelString = 'Prevent Archival';n XmNvisibleWhenOff = true;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 2;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;L };m2}; /* END archivalToggle : XmToggleButtonGadget */+object localToggle : XmToggleButtonGadget {t arguments {# XmNlabelString = 'Stored Locally';g XmNvisibleWhenOff = true;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;4 XmNtopWidget = XmToggleButtonGadget archivalToggle;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;0 }; callbacks {I XmNvalueChangedCallback = procedure toggleButtonCallback(k_localToggle);w };n/}; /* END localToggle : XmToggleButtonGadget */e.object custViewToggle : XmToggleButtonGadget { arguments {& XmNlabelString = 'Customer Viewable'; XmNvisibleWhenOff = true;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 2;1 XmNtopWidget = XmToggleButtonGadget localToggle;f* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 2;i };f2}; /* END custViewToggle : XmToggleButtonGadget */!jjj$object remoteLocationForm : XmForm { arguments { };5 controls {m XmLabelGadget samLocLabel; XmTextField samLocText; XmLabelGadget samAccessLabel; XmTextField samAccessText;i XmLabelGadget samContactLabel;N XmTextField samContactText; };; callbacks {J MrmNcreateCallback = procedure creationCallback(k_samRemoteLocationForm); };}(}; /* END remoteLocationForm : XmForm */$object samLocLabel : XmLabelGadget { arguments { XmNwidth = 75;g XmNalignment = XmALIGNMENT_END; XmNrecomputeSize = false; XmNlabelString = 'Location:';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 8;- XmNrightAttachment = XmATTACH_WIDGET;; XmNrightOffset = 0;) XmNrightWidget = XmTextField samLocText;m }; (}; /* END samLocLabel : XmLabelGadget */!object samLocText : XmTextField {k arguments { XmNuserData = f_samLocText; XmNmaxLength = 200;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 3;+ XmNrightAttachment = XmATTACH_FORM;N XmNrightOffset = 2; };%}; /* END samLocText : XmTextField */t'object samAccessLabel : XmLabelGadget { arguments { XmNwidth = 75;e XmNalignment = XmALIGNMENT_END; XmNrecomputeSize = false; XmNlabelString = 'Access:';$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 8;' XmNtopWidget = XmTextField samLocText; - XmNrightAttachment = XmATTACH_WIDGET;; XmNrightOffset = 0;, XmNrightWidget = XmTextField samAccessText; };l+}; /* END samAccessLabel : XmLabelGadget */s$object samAccessText : XmTextField { arguments { XmNuserData = f_samAccessText;a XmNmaxLength = 200;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 3;' XmNtopWidget = XmTextField samLocText;B+ XmNrightAttachment = XmATTACH_FORM;g XmNrightOffset = 2; }; (}; /* END samAccessText : XmTextField */(object samContactLabel : XmLabelGadget { arguments { XmNwidth = 75;E XmNalignment = XmALIGNMENT_END; XmNrecomputeSize = false; XmNlabelString = 'Contact:';F$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 8;* XmNtopWidget = XmTextField samAccessText;- XmNrightAttachment = XmATTACH_WIDGET;  XmNrightOffset = 0;- XmNrightWidget = XmTextField samContactText;c };l,}; /* END samContactLabel : XmLabelGadget */%object samContactText : XmTextField {N arguments { XmNuserData = f_samContactText; XmNmaxLength = 200;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 3;* XmNtopWidget = XmTextField samAccessText;+ XmNrightAttachment = XmATTACH_FORM;m XmNrightOffset = 2; };N)}; /* END samContactText : XmTextField */sobject samMB : XmMenuBar { arguments { XmNuserData = f_samMB;f9 XmNmenuHelpWidget = XmCascadeButtonGadget samHelpButton;N" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 0;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 0; + XmNrightAttachment = XmATTACH_FORM;B XmNrightOffset = 0; };m controls {b XmCascadeButtonGadget { arguments { XmNlabelString = 'File';  XmNmnemonic = keysym("F");o };m controls {F XmPulldownMenu {  controls {f( XmPushButtonGadget addModifyButton; XmPushButtonGadget {t arguments {" XmNlabelString = 'Dismiss';! XmNmnemonic = keysym("D");a% XmNaccelerator = "CtrlZ";e% XmNacceleratorText = 'ctrl+z';c }; callbacks {H XmNactivateCallback = procedure solutionPBCallback(k_samDismiss); };$ }; /* END XmPushButtonGadget */ };f }; /* END XmPulldownMenu */ };=# }; /* END XmCascadeButtonGadget */; XmCascadeButtonGadget { arguments { XmNlabelString = 'Edit'; XmNmnemonic = keysym("E"); };m controls {s XmPulldownMenu {  controls {y XmPushButtonGadget {t arguments { XmNlabelString = 'Copy';s! XmNmnemonic = keysym("C");c% XmNaccelerator = "CtrlC";a% XmNacceleratorText = 'ctrl+c';X };} callbacks {E XmNactivateCallback = procedure solutionPBCallback(k_samCopy);s };r$ }; /* END XmPushButtonGadget */ XmPushButtonGadget {d arguments { XmNlabelString = 'Paste';! XmNmnemonic = keysym("P");A% XmNaccelerator = "CtrlP";f% XmNacceleratorText = 'ctrl+p';m };  callbacks {F XmNactivateCallback = procedure solutionPBCallback(k_samPaste); };c$ }; /* END XmPushButtonGadget */ };b }; /* END XmPulldownMenu */ };L# }; /* END XmCascadeButtonGadget */  XmCascadeButtonGadget { arguments { XmNlabelString = 'Options'; XmNmnemonic = keysym("O");e };X controls {L XmPulldownMenu {g controls {} XmPushButtonGadget {} arguments {* XmNlabelString = 'Include File...';! XmNmnemonic = keysym("I");t% XmNaccelerator = "CtrlF";N% XmNacceleratorText = 'ctrl+f';e };D callbacks {H XmNactivateCallback = procedure solutionPBCallback(k_samInclude); };X$ }; /* END XmPushButtonGadget */ XmPushButtonGadget {G arguments {* XmNlabelString = 'Synonym Manager';! XmNmnemonic = keysym("S");t% XmNaccelerator = "CtrlS";l% XmNacceleratorText = 'ctrl+s';e };  callbacks {J MrmNcreateCallback = procedure creationCallback(k_samSynMgrButton);H XmNactivateCallback = procedure solutionPBCallback(k_samSynonym); };$ }; /* END XmPushButtonGadget */ XmPushButtonGadget { arguments {- XmNlabelString = 'Noise Word Manager';a! XmNmnemonic = keysym("N");A% XmNaccelerator = "CtrlN";f% XmNacceleratorText = 'ctrl+n'; }; callbacks {L MrmNcreha$MULTIHELP020.A  [A]SOLUTIONS.UIL;1RJ2ateCallback = procedure creationCallback(k_samNoiseMgrButton);K XmNactivateCallback = procedure solutionPBCallback(k_samNoiseWords);X };t$ }; /* END XmPushButtonGadget */ XmPushButtonGadget {E arguments {+ XmNlabelString = 'Enter Article Id';H! XmNmnemonic = keysym("E");o% XmNaccelerator = "CtrlA"; % XmNacceleratorText = 'ctrl+a';t };O callbacks {M XmNactivateCallback = procedure solutionPBCallback(k_knowledgeUpdate);nR MrmNcreateCallback = procedure creationCallback(k_samUpdateSolutionButton); };S$ }; /* END XmPushButtonGadget */ XmPushButtonGadget {; arguments {/ XmNlabelString = 'Add Solution Article'; ! XmNmnemonic = keysym("A");T% XmNaccelerator = "CtrlB";e% XmNacceleratorText = 'ctrl+b'; };  callbacks {J XmNactivateCallback = procedure solutionPBCallback(k_knowledgeAdd);O MrmNcreateCallback = procedure creationCallback(k_samAddSolutionButton);m };E$ }; /* END XmPushButtonGadget */ XmPushButtonGadget {  arguments {2 XmNlabelString = 'Delete Solution Article';! XmNmnemonic = keysym("D");/% XmNaccelerator = "CtrlD";a% XmNacceleratorText = 'ctrl+d';m };G callbacks {M XmNactivateCallback = procedure solutionPBCallback(k_knowledgeDelete);mR MrmNcreateCallback = procedure creationCallback(k_samDeleteSolutionButton); };a$ }; /* END XmPushButtonGadget */ };; }; /* END XmPulldownMenu */ };u# }; /* END XmCascadeButtonGadget */G% XmCascadeButtonGadget samHelpButton;g };}; /* END samMB : XmMenuBar */-object addModifyButton : XmPushButtonGadget {p arguments {! XmNlabelString = 'Add Solution';D XmNmnemonic = keysym("S");N XmNaccelerator = "CtrlM";; XmNacceleratorText = 'ctrl+m';A };_ callbacks {I XmNactivateCallback = procedure solutionPBCallback(k_addModifySolution);lL MrmNcreateCallback = procedure creationCallback(k_addModifySolutionButton); };;1}; /* END addModifyButton : XmPushButtonGadget */s.object samHelpButton : XmCascadeButtonGadget { arguments { XmNlabelString = 'Help';  XmNmnemonic = keysym("H");  };m controls {e XmPulldownMenu {T controls {f XmPushButtonGadget {  arguments {" XmNlabelString = 'On Window'; XmNmnemonic = keysym("W");:# XmNaccelerator = "CtrlW";i# XmNacceleratorText = 'ctrl+w';N };N callbacks {F XmNactivateCallback = procedure contextHelpCallback(h_samWindow); };d" }; /* END XmPushButtonGadget */ XmPushButtonGadget {A arguments {! XmNlabelString = 'On Topic';i XmNmnemonic = keysym("T");t# XmNaccelerator = "CtrlT";{# XmNacceleratorText = 'ctrl+t';; };d callbacks {= XmNactivateCallback = procedure contextHelpCallback('');t };t" }; /* END XmPushButtonGadget */ };  }; /* END XmPulldownMenu */ };H2}; /* END samHelpButton : XmCascadeButtonGadget */*[A]SOLUTION_NOISE_WORDS.RRD;1+, ./ 4.- 0123KPWO56WJ7᛼89GHJ.DEFINE FIELD WORD DATATYPE IS TEXT SIZE IS 15.#DEFINE RECORD SOLUTION_NOISE_WORDS. WORD . END SOLUTION_NOISE_WORDS RECORD.*[A]SOLUTION_NOISE_WORDS.UNL;1+, . / 4 - 0123KPWO 563WJ7⢼89GHJ$ 0 A AB ABL ABOUT ABOV ABOVE ACR AFT AFTER ALL ALLOW ALREAD ALS ALSO ALTHOUGH ALWA AM AN AND ANOTHER ANY APART APPEAR APR APRIL ARE ARTICL AS ASK ASSUM AT AUG AUGUST B BE BECAUS BEEN BEFOR BEING BIG BUT BY CAL CAN CANNOT CANT COM COMMAND COULD D DEC DECEMB DID DO DOES DOESNT DOING DON E EACH EIGHT EITH ELS ELSE ER ETC EVER F FAR FEB FEBRU FEW FIFT FIND FIV FOLLOW FOR FORT FOUR FROM FURTH G GEN GES GET GIV GO GOES GOOD GOT H HAD HAS HAV HAVE HE HES HIM HIS HOW HUNDR I I.E IE IF IN INT INTO IS ISN IT ITS J JAN JANU JUL JUN JUST KNOW KNOWN L LES LET LIK LOT M MAN MAR MARCH MAY ME MILLION MIN MOR MORE MOST MUCH MUST MY N NEE NEVER NEXT NIN NINET NO NON NOR NOT NOTH NOV NOVEMB NOW O OCT OCTOB OF OFT ON ONE ONL ONLY OR OTHER OUR OVER P PERHAP PLE PROBLEM PUT Q R RE S SAY SEE SEEM SEP SEPTEMB SET SEV SEVEN SHE SHOULD SID SIXT SIZ SO SOM SOME SOMETIM SOON STIL SUCH SUR SYSTEM T TAK TEL TEN TH THAN THANK THAT THE THEIR THEM THEN THER THERE THESE THEY THING THIRT THIS THO THOSE THOUGH THOUSAND THR THROUGH THROUGHOUT THRU THUS TO `[$MULTIHELP020.A  [A]SOLUTION_NOISE_WORDS.UNL;1 @  TOO TOOK TRY TWEN TWO UNTIL UP UPON US USE USED USER USES USING VER W WANT WAS WAY WE WEL WER WERE WHAT WHEN WHERE WHES WHETH WHICH WHILE WHO WHOSE WHY WIL WILL WITH WITHIN WITHOUT WON WOULD X Y YES YOU YOUR Z ZER _ DOESN'T DON'T WON'T CAN'T *[A]SOLUTION_PB.UIL;1+,H./ 48- 0123KPWO56R97Uب89GHJvaluek_addModifySolution : 0;k_add_class : 1;k_add_hard : 2;k_add_key : 3;k_add_soft : 4;k_add_title : 5;k_aiClear : 6;k_aiDismiss : 7;k_clear_class : 8;k_clear_hard : 9;k_clear_key : 10;k_clear_soft : 11;k_clear_title : 12;k_delete_class : 13;k_delete_hard : 14;k_delete_key : 15;k_delete_soft : 16;k_delete_title : 17;k_expandedQueryToggle : 18;k_knowledgeAdd : 19;k_knowledgeAutoQuery : 20;k_knowledgeDelete : 21;k_knowledgeQuery : 22;k_knowledgeUpdate : 23;k_listDismiss : 24;k_listView : 25;k_noiseAddButton : 26;k_noiseDeleteButton : 27;k_noiseDismissButton : 28;k_samCopy : 29;k_samDismiss : 30;k_samInclude : 31;k_samNoiseWords : 32;k_samPaste : 33;k_samSynonym : 34;k_samtAdd : 35;k_samtClear : 36;k_samtDelete : 37;k_scw_dismiss : 38;k_scw_equal : 39;k_scw_ok : 40;k_sol_add_class : 41;k_sol_add_hard : 42;k_sol_add_key : 43;k_sol_add_link : 44;k_sol_add_soft : 45;k_sol_clear_class : 46;k_sol_clear_hard : 47;k_sol_clear_key : 48;k_sol_clear_link : 49;k_sol_clear_soft : 50;k_sol_delete_class : 51;k_sol_delete_hard : 52;k_sol_delete_key : 53;k_sol_delete_link : 54;k_sol_delete_soft : 55;k_sqDismissButton : 56;k_sqSearchButton : 57;k_sqSubSearchButton : 58;k_sqWeightButton : 59;k_svDismiss : 60;k_synAddButton : 61;k_synClearButton : 62;k_synDeleteButton : 63;k_synDismissButton : 64;*[A]TOGGLE_BUTTONS.UIL;1+, ./ 4- 0123KPWO56<7Ӂ89GHJvaluek_buttonWindow : 0;k_commandWindow : 1;k_expertModeToggle : 2;k_localToggle : 3;k_statusWindow : 4;k_updatesToggle : 5;*[A]UPGRADE.SQL;1+,q. / 4K Z- 0123KPWO 56O7/89GHJ?-- UPGRADE.SQL used to add the ARCHIVE views to a V1.0 databasecreate view ARCHIVE_LABOR ( SITE_PREFIX, PROBLEM_ID_DATE, PROBLEM_ID_COUNTER, WORK_REPORT_INDEX, USER_ID, LOGGER_ID, LABOR_CODE, START_TIME, END_TIME, REQUEST_ID ) as select SITE_PREFIX, PROBLEM_ID_DATE, PROBLEM_ID_COUNTER, WORK_REPORT_INDEX, USER_ID, LOGGER_ID, LABOR_CODE, START_TIME, END_TIME, REQUEST_ID from labor;=Grant Select,Insert,Update,Delete on archive_labor to public;K--- if adding a non-computed field to the ACCOUTING table please update the--- view&----Create accounting view for archive create view ARCHIVE_ACCOUNTING ( USER_ID, ACCOUNTING_CODE, START_TIME, END_TIME ) AS SELECT USER_ID, ACCOUNTING_CODE, START_TIME, END_TIMEFROM ACCOUNTING;BGrant Select,Insert,Delete,Update on archive_accounting to public;---- END accounting viewJ--- if adding a non-computed field to the problems table please update the--- view"create view ARCHIVE_WORK_REPORTS ( SITE_PREFIX, PROBLEM_ID_DATE, PROBLEM_ID_COUNTER, DATE_ENTERED, OWNER, WORK_REPORT_INDEX, SUMMARY, HIDDEN, QUIET, STATUS, OPEN_OR_CLOSED, WORK_REPORT, REQUEST_ID ) as select SITE_PREFIX, PROBLEM_ID_DATE, PROBLEM_ID_COUNTER, DATE_ENTERED, OWNER, WORK_REPORT_INDEX, SUMMARY, HIDDEN, QUIET, STATUS, OPEN_OR_CLOSED, WORK_REPORT,! REQUEST_ID from work_reports;H Grant Select,Insert,Update,Delete on archive_work_reports to public;J--- if adding a non-computed field to the problems table please update the--- viewcreate view ARCHIVE_PROBLEMS ( SITE_PREFIX, PROBLEM_ID_DATE, PROBLEM_ID_COUNTER, PROBLEM_STATEMENT, COMMENT, ATTEMPTS, LOCKED, LOCKED_BY, OWNER_ID, CUSTOMER_ID, CUSTOMER_LAST_NAME, CUSTOMER_FIRST_NAME, NOTIFY_METHOD, EMAIL_ADDRESS, BUILDING_LOCATION, PHONE_AREA, PHONE_NUMBER, PHONE_EXTENSION, PAGER_AREA, PAGER_NUMBER, PAGER_EXT, FAX_AREA, FAX_NUMBER, FAX_EXT, LOGGER_ID, STATUS, OPEN_OR_CLOSED, QUEUED_OR_ASSIGNED, SEVERITY, SEVERITY_NAME, PRIORITY, PRIORITY_NAME, PROBLEM_TYPE, AFFECTED_HARDWARE, AFFECTED_SOFTWARE, CATEGORY, WORK_REPORT_COUNT, CC_LIST, DATE_LOGGED, DATE_DUE, REQUEST_ID, NEXT_ESCALATION, LAST_UPDATE) as select SITE_PREFIX, PROBLEM_ID_DATE, PROBLEM_ID_COUNTER, PROBLEM_STATEMENT, COMMENT, ATTEMPTS, LOCKED, LOCKED_BY, OWNER_ID, CUSTOMER_ID, CUSTOMER_LAST_NAME, CUSTOMER_FIRST_NAME, NOTIFY_METHOD, EMAIL_ADDRESS, BUILDING_LOCATION, PHONE_AREA, PHONE_NUMBER, PHONE_EXTENSION, PAGER_AREA, PAGER_NUMBER, PAGER_EXT, FAX_AREA, FAX_NUMBER, FAX_EXT, LOGGER_ID, STATUS, OPEN_OR_CLOSED, QUEUED_OR_ASSIGNED, SEVERITY, SEVERITY_NAME, PRIORITY, PRIORITY_NAME, PROBLEM_TYPE, AFFECTED_HARDWARE, AFFECTED_SOFTWARE, CATEGORY, WORK_REPORT_COUNT, CC_LIST, DATE_LOGGED, DATE_DUE, REQUEST_ID, NEXT_ESCALATION, LAST_UPDATE from problems;@Grant Select,Insert,Delete,Update on archive_problems to public;G--- if adding a non-computed field to the LABOR table please update the--- view%create view archive_QUEUED_PROBLEMS ( SITE_PREFIX, PROBLEM_ID_DATE, PROBLEM_ID_COUNTER, PROBLEM_STATEMENT, COMMENT, ATTEMPTS, LOCKED, LOCKED_BY, OWNER_ID, CUSTOMER_ID, CUSTOMER_LAST_NAME, CUSTOMER_FIRST_NAME, NOTIFY_METHOD, EMAIL_ADDRESS, BUILDING_LOCATION, PHONE_AREA, PHONE_NUMBER, PHONE_EXTENSION, PAGER_AREA, PAGER_NUMBER, PAGER_S$MULTIHELP020.Aq [A]UPGRADE.SQL;1K Q EXT, FAX_AREA, FAX_NUMBER, FAX_EXT, LOGGER_ID, STATUS, OPEN_OR_CLOSED, QUEUED_OR_ASSIGNED, SEVERITY, SEVERITY_NAME, PRIORITY, PRIORITY_NAME, PROBLEM_TYPE, AFFECTED_HARDWARE, AFFECTED_SOFTWARE, CATEGORY, WORK_REPORT_COUNT, CC_LIST, DATE_LOGGED, DATE_DUE, REQUEST_ID, NEXT_ESCALATION, LAST_UPDATE) as select SITE_PREFIX, PROBLEM_ID_DATE, PROBLEM_ID_COUNTER, PROBLEM_STATEMENT, COMMENT, ATTEMPTS, LOCKED, LOCKED_BY, OWNER_ID, CUSTOMER_ID, CUSTOMER_LAST_NAME, CUSTOMER_FIRST_NAME, NOTIFY_METHOD, EMAIL_ADDRESS, BUILDING_LOCATION, PHONE_AREA, PHONE_NUMBER, PHONE_EXTENSION, PAGER_AREA, PAGER_NUMBER, PAGER_EXT, FAX_AREA, FAX_NUMBER, FAX_EXT, LOGGER_ID, STATUS, OPEN_OR_CLOSED, QUEUED_OR_ASSIGNED, SEVERITY, SEVERITY_NAME, PRIORITY, PRIORITY_NAME, PROBLEM_TYPE, AFFECTED_HARDWARE, AFFECTED_SOFTWARE, CATEGORY, WORK_REPORT_COUNT, CC_LIST, DATE_LOGGED, DATE_DUE, REQUEST_ID, NEXT_ESCALATION,% LAST_UPDATE from queued_problems;GGrant Select,Insert,Delete,Update on archive_queued_problems to public;commit;*[A]USERID_PASSWORD.UIL;1+, . / 4D - 0123KPWO 56o7ϼ89GHJ/*=** This module defines the userId and Password dialog window.*/#object logonDialog : XmFormDialog { arguments {. XmNdialogTitle = 'Logon to ' & product_name ; XmNdefaultPosition = false; }; controls { XmFrame UPframe1; XmFrame UPframe2; XmFrame UPframe3; XmFrame UPframe4; };}; object UPframe1 : XmFrame { arguments {$ XmNtopAttachment = XmATTACH_WIDGET;# XmNleftAttachment = XmATTACH_FORM;$ XmNrightAttachment = XmATTACH_FORM;' XmNbottomAttachment = XmATTACH_WIDGET;! XmNtopWidget = XmFrame UPframe2;$ XmNbottomWidget = XmFrame UPframe4; XmNtopOffset = 10; XmNleftOffset = 10; XmNrightOffset = 10; XmNbottomOffset = 10;% XmNshadowType = XmSHADOW_ETCHED_OUT; XmNshadowThickness = 4; }; controls { XmForm { controls { XmLabelGadget userIdLabel; XmTextField userIdText;! XmLabelGadget passwordLabel; XmTextField passwordText; }; }; };};$object userIdLabel : XmLabelGadget { arguments { XmNlabelString = 'UserId:';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 17;( XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 0; XmNrightPosition = 30; };};!object userIdText : XmTextField { arguments {" XmNtopAttachment = XmATTACH_FORM;% XmNleftAttachment = XmATTACH_WIDGET;+ XmNleftWidget = XmLabelGadget userIdLabel;$ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10; XmNtopOffset = 10; XmNleftOffset = 10; }; callbacks {? MrmNcreateCallback = procedure creationCallback(k_userIdText);9 XmNactivateCallback = procedure userIdEnteredCallback(); };};&object passwordLabel : XmLabelGadget { arguments { XmNlabelString = 'Password:';$ XmNtopAttachment = XmATTACH_WIDGET;* XmNtopWidget = XmLabelGadget userIdLabel; XmNtopOffset = 39;( XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 0; XmNrightPosition = 30; };};#object passwordText : XmTextField { arguments {$ XmNtopAttachment = XmATTACH_WIDGET;' XmNtopWidget = XmTextField userIdText; XmNtopOffset = 25;% XmNleftAttachment = XmATTACH_WIDGET;- XmNleftWidget = XmLabelGadget passwordLabel; XmNleftOffset = 10;$ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;% XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; callbacks {A MrmNcreateCallback = procedure creationCallback(k_passwordText);> XmNmodifyVerifyCallback = procedure passwordModifyCallback();? XmNactivateCallback = procedure pushButtonCallback(k_LogonOk); };};  object UPframe2 : XmFrame { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;# XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;$ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;% XmNshadowType = XmSHADOW_ETCHED_OUT; XmNshadowThickness = 5; }; controls { XmLabelGadget { arguments {5 XmNlabelString = product_name & ' ' & copyright; XmNfontList = big_bold; }; }; };}; object UPframe3 : XmFrame { arguments {* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; controls { XmLabelGadget { arguments {% XmNlabelString = corporate_name; }; }; };}; object UPframe4 : XmFrame { arguments {* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;$ XmNbottomWidget = XmFrame UPframe3; XmNshadowType = XmSHADOW_IN; XmNshadowThickness = 3; }; controls { XmForm { controls {& XmPushButtonGadget LogonOkButton;) XmPushButtonGadget LogonClearButton;( XmPushButtonGadget LogonHelpButton;* XmPushButtonGadget LogonCancelButton; }; }; };}; +object LogonOkButton : XmPushButtonGadget { arguments { XmNlabelString = 'Ok';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 20;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; XmNwidth = 60; }; callbacks {? XmNactivateCallback = procedure pushButtonCallback(k_LogonOk); };}; .object LogonClearButton : XmPushButtonGadget { arguments { XmNlabelString = 'Clear'; XmNwidth = 60;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;2 XmNleftWidget = XmPushButtonGadget LogonOkButton;.! XmNrightAttachment = XmATTACH_WIDGET;! XmNrightOffset = 10;8! XmNrightWidget = XmPushButtonGadget LogonCancelButton;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; callbacks {B XmNactivateCallback = procedure pushButtonCallback(k_LogonClear); };}; -object LogonHelpButton : XmPushButtonGadget { arguments { XmNlabelString = 'Help'; XmNwidth = 60;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;5 XmNleftWidget = XmPushButtonGadget LogonClearButton;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; callbacks {D XmNactivateCallback = procedure contextHelpCallback(h_logonDialog); };1}; /* END LogonHelpButton : XmPushButtonGadget *//object LogonCancelButton : XmPushButtonGadget { arguments { XmNlabelString = 'Cancel'; XmNwidth = 60;" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 10;% XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;4 XmNleftWidget = XmPushButtonGadget LogonHelpButton;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 20;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 10; }; callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_LogonCancel); };}; *[A]V010_DB_MASTER.SQL;1+, . / 4@ - 0123KPWO 56ugD7¼89GHJ!! Increase size of query string!,alter domain REPORT_QUERY_DOM is char(8192);!:! Add customer viewable to solutions and set all solutions! to customer viewable (True)!?Alter Table Solutions add column customer_viewable boolean_dom;)update solutions set customer_viewable=1;!+! Create load/store relations for reporting!*create domain REPORT_TITLE_DOM CHAR (512);/create domain REPORT_DATE_FORMAT_DOM CHAR (50);)create domain BREAK_HEADER_DOM CHAR (80);-create domain TABLE_\$MULTIHELP020.A  [A]V010_DB_MASTER.SQL;1@ FIELD_NAME_DOM CHAR (70);'create domain TABLE_NAME_DOM CHAR (35);'create domain FIELD_NAME_DOM CHAR (35);create table report_sql ( name report_name_dom, user_id user_id_dom,$ sql_string report_query_dom,% user_sql_string report_query_dom, active_count SMALLINT, join_count SMALLINT, system_default SMALLINT);:Grant Select,Insert,Delete,Update on report_sql to public;create table report_info ( name report_name_dom, user_id user_id_dom, index_pos SMALLINT, last_index boolean_dom, info_text char (255));;Grant Select,Insert,Delete,Update on report_info to public;create table report_joins ( name report_name_dom, user_id user_id_dom, index_pos SMALLINT, table1 table_name_dom," field1 field_name_dom,  table2 table_name_dom, field2 field_name_dom);<Grant Select,Insert,Delete,Update on report_joins to public;create table report_general ( name report_name_dom, user_id user_id_dom, output_title boolean_dom, title_size SMALLINT, title report_title_dom,% bottom_title report_title_dom," flat_column_delimiter char(1), width SMALLINT, lines_per_page SMALLINT, column_spacing TINYINT, right_margin TINYINT, left_margin TINYINT, top_margin TINYINT, bottom_margin TINYINT, enclose_quotes boolean_dom, tabular_columns boolean_dom, tabular_title boolean_dom,! flatfile_columns boolean_dom, flatfile_title boolean_dom, limit_rows INTEGER);>Grant Select,Insert,Delete,Update on report_general to public;create table report_break ( name report_name_dom, user_id user_id_dom, index_pos SMALLINT, index_break SMALLINT,* table_field_name table_field_name_dom, text_value CHAR(132), function_value CHAR(20), width SMALLINT, break_position INTEGER, field_size INTEGER, field_type INTEGER, field_sub_type INTEGER, interval_type INTEGER, date_format boolean_dom,- date_format_value report_date_format_dom," break_header break_header_dom,! top_bottom_break boolean_dom, alignment boolean_dom, alignment_value TINYINT);<Grant Select,Insert,Delete,Update on report_break to public;create table report_resources ( name report_name_dom, user_id user_id_dom, index_pos SMALLINT, table_name table_name_dom, field_name field_name_dom, field_size INTEGER, field_type INTEGER, field_sub_type INTEGER, sort_order boolean_dom, sort_order_value SMALLINT,% sort_precedence_value SMALLINT, break_field boolean_dom, output_field boolean_dom, computed_field boolean_dom,& computed_field_string CHAR(128), column_header boolean_dom,% column_header_string CHAR(80), column_width boolean_dom,% column_width_value_org SMALLINT,% column_width_value_user SMALLINT, alignment boolean_dom, alignment_value TINYINT, value_count SMALLINT, break_count SMALLINT,! break_page_break boolean_dom,$ break_output_header boolean_dom, break_blank_lines SMALLINT, date_field boolean_dom,) date_format report_date_format_dom);@Grant Select,Insert,Delete,Update on report_resources to public;create table report_value ( name report_name_dom, user_id user_id_dom, index_pos SMALLINT, index_value SMALLINT, value_string CHAR(100), value_function CHAR(35));<Grant Select,Insert,Delete,Update on report_value to public;create index report_sql_ndx! on report_sql (name, user_id) type is sorted; create index report_sql_user_ndx on report_sql (user_id) type is sorted;create index report_info_ndx- on report_info (name, user_id, index_pos) type is sorted;create index report_joins_ndx. on report_joins (name, user_id, index_pos) type is sorted;create index report_general_ndx% on report_general (name, user_id) type is sorted;create index report_break_ndx; on report_break (name, user_id, index_pos, index_break) type is sorted;!create index report_resources_ndx2 on report_resources (name, user_id, index_pos) type is sorted;create index report_value_ndx; on report_value (name, user_id, index_pos, index_value) type is sorted; commit work;*[A]WIDGET_CONSTANTS.UIL;1+, . / 4" F- 0123KPWO 5678ʼ89GHJvaluek_SclassTF : 0;k_ShardTF : 1;k_SkeyTF : 2;k_SsoftTF : 3;k_StitleTF : 4; k_addModifySolutionButton : 5;k_ancestorToggle : 6;k_articleIdCommand : 7;k_attemptsToggle : 8;k_beforeText : 9;k_buttonWindowButton : 10;k_categoryText : 11;k_classAncestor : 12;k_classDescendant : 13;k_classLabel : 14;k_classPulldown : 15;k_classSearchList : 16;k_classSolList : 17;k_classText : 18;k_clockLabel : 19;k_closedStatePulldown : 20;k_commandBox : 21;k_commandForm : 22;k_commandWindowButton : 23;k_commitButton : 24;k_creditList : 25;k_creditTime : 26;k_customerButtonFrame : 27;k_customerText : 28;k_dateDueText : 29;k_descendantToggle : 30;k_emailText : 31;k_expertModeButton : 32;k_extractAddress : 33;k_faxAreaText : 34;k_faxExtText : 35;k_faxNumText : 36;k_faxPrefixText : 37;k_hardSearchList : 38;k_hardSolList : 39;k_keySearchList : 40;k_keySolList : 41; k_knowledgeAddMenuButton : 42;!k_knowledgeNoiseMgrButton : 43;k_knowledgeQueryButton : 44;"k_knowledgeQueryMenuButton : 45;k_knowledgeSynMgrButton : 46;#k_knowledgeUpdateMenuButton : 47;k_linkSolList : 48;k_locationText : 49;k_mainCommandField : 50;k_mainHelpText : 51;k_mainPane1 : 52;k_mainSVN : 53;k_noiseList : 54;k_notifyAllToggle : 55;k_notifyCategoryText : 56;k_notifyClassAncestors : 57; k_notifyClassDescendants : 58;k_notifyClassNull : 59;k_notifyClassText : 60;k_notifyCustomerText : 61;k_notifyEmail : 62;k_notifyEmailText : 63;k_notifyFax : 64;k_notifyHardText : 65;k_notifyHelpText : 66;k_notifyOnToggle : 67;k_notifyOwnerText : 68;k_notifyPager : 69;k_notifyPhone : 70;k_notifyPidText : 71;k_notifyPriorityText : 72;k_notifySeverityText : 73;k_notifySoftText : 74;k_notifyStatusText : 75;k_notifySummaryText : 76;k_nullClassToggle : 77;k_openCloseBox : 78;k_openStatePulldown : 79;k_ownerText : 80;k_pHelpText : 81;k_pagerAreaText : 82;k_pagerExtText : 83;k_pagerNumText : 84;k_pagerPrefixText : 85;k_passwordText : 86;k_phoneAreaText : 87;k_phoneExtText : 88;k_phoneNumText : 89;k_phonePrefixText : 90;k_pmKnowledgeAddButton : 91;$k_pmKnowledgeAutoQueryButton : 92; k_pmKnowledgeQueryButton : 93;k_priorityLabel : 94;k_priorityPulldown : 95;k_priorityText : 96;k_problemAcceptButton : 97;k_problemAttemptButton : 98;k_problemCancelButton : 99;k_problemHardware : 100;k_problemIdCommand : 101;k_problemRequeueButton : 102;k_problemSoftware : 103;k_problemSubject : 104;k_problemSummaryForm : 105;k_problemSummaryList : 106;k_problemUpdateButton : 107; k_problemWorkReportForm : 108;k_qdClosed : 109;k_qdEither : 110;k_qdOpen : 111;k_qdQueue : 112;k_queryHelpText : 113;k_reportMenuButton : 114;k_samAddSolutionButton : 115;"k_samDeleteSolutionButton : 116;k_samHelpText : 117;k_samModList : 118;k_samNoiseMgrButton : 119; k_samRemoteLocationForm : 120;k_samSynMgrButton : 121;k_samText : 122;"k_samUpdateSolutionButton : 123;k_samtList : 124;k_severityLabel : 125;k_severityPulldown : 126;k_severityText : 127;k_sinceText : 128;k_softSearchList : 129;k_softSolList : 130;k_softwareList : 131;k_sol_classTF : 132;k_sol_haY,$MULTIHELP020.A  [A]WIDGET_CONSTANTS.UIL;1" WrdTF : 133;k_sol_keyTF : 134;k_sol_linkTF : 135;k_sol_softTF : 136;k_solutionsList : 137;k_sortBox : 138;k_sortText : 139;k_sqHelpText : 140;k_statusLabel : 141;k_statusList : 142;k_statusSW : 143;k_statusText : 144;k_statusWindowButton : 145;k_subjectText : 146;k_synonymList : 147;k_synonym_hard : 148;k_synonym_key : 149;k_synonym_soft : 150;k_synonym_title : 151;k_titleSearchList : 152;k_updateScale : 153;k_updateToggle : 154;k_userIdText : 155;k_userValidationBox : 156;*[A]WORK_REPORTS.UIL;1+,<./ 4EF- 0123KPWO56Yu7}.м89GHJ/*1** This module implements the work report dialogs*//*** The viewWorkReportDialog*/,object viewWorkReportDialog : XmFormDialog { arguments {% XmNdialogTitle = 'View Work Report';! XmNresizePolicy = XmRESIZE_NONE; XmNautoUnmanage = false; }; controls { XmFrame viewAuthorFrame; XmFrame viewEnteredFrame; XmFrame viewStatusFrame; XmTextField viewSummaryText; XmScrolledWindow viewSW; XmLabelGadget viewQuietLabel; XmLabelGadget viewHiddenLabel;& XmPushButtonGadget viewExtractButton;& XmPushButtonGadget viewDismissButton;& XmArrowButtonGadget FirstReportArrow;% XmArrowButtonGadget LeftReportArrow; XmFrame CurrentReportFrame; XmLabelGadget OfLabel; XmFrame LastReportFrame;& XmArrowButtonGadget RightReportArrow;% XmArrowButtonGadget LastReportArrow; };,}; /* END workReportDialog : XmFormDialog */&object viewSummaryText : XmTextField { arguments { XmNeditable = false;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;( XmNtopWidget = XmFrame viewAuthorFrame;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;- XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 10;* XmNrightWidget = XmFrame viewStatusFrame; };*}; /* END viewSummaryText : XmTextField */"object viewAuthorFrame : XmFrame { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10; }; controls { XmLabelGadget viewAuthorLabel; };&}; /* END viewAuthorFrame : XmFrame */#object viewEnteredFrame : XmFrame { arguments {" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10; }; controls { XmLabelGadget viewEnteredLabel; };'}; /* END viewEnteredFrame : XmFrame */"object viewStatusFrame : XmFrame { arguments {$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 10;( XmNtopWidget = XmFrame viewAuthorFrame;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10; }; controls { XmLabelGadget viewStatusLabel; };&}; /* END viewStatusFrame : XmFrame */(object viewStatusLabel : XmLabelGadget {,}; /* END viewStatusLabel : XmLabelGadget *//object viewDismissButton : XmPushButtonGadget { arguments { XmNwidth = 100; XmNlabelString = 'Dismiss';+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 3; }; callbacks {E XmNactivateCallback = procedure pushButtonCallback(k_dismissViewWR); };3}; /* END viewDismissButton : XmPushButtonGadget *//object viewExtractButton : XmPushButtonGadget { arguments { XmNwidth = 100; XmNlabelString = 'Extract...';* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 3; }; callbacks {A XmNactivateCallback = procedure pushButtonCallback(k_extractWR); };3}; /* END viewExtractButton : XmPushButtonGadget */(object viewHiddenLabel : XmLabelGadget { arguments { XmNlabelString = 'Hidden';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 7;. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = 5; XmNleftPosition = 50; };,}; /* END viewHiddenLabel : XmLabelGadget */'object viewQuietLabel : XmLabelGadget { arguments { XmNlabelString = 'Quiet';" XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 7;/ XmNrightAttachment = XmATTACH_POSITION; XmNrightOffset = 5; XmNrightPosition = 50; };+}; /* END viewQuietLabel : XmLabelGadget */(object viewAuthorLabel : XmLabelGadget {,}; /* END viewAuthorLabel : XmLabelGadget */)object viewEnteredLabel : XmLabelGadget {-}; /* END viewEnteredLabel : XmLabelGadget */"object viewSW : XmScrolledWindow { arguments { XmNresizable = true;$ XmNtopAttachment = XmATTACH_WIDGET; XmNtopOffset = 5;, XmNtopWidget = XmTextField viewSummaryText;* XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 10;+ XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 10;. XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;) XmNbottomWidget = XmLabelGadget OfLabel; }; controls { XmText viewWorkReportText; };&}; /* END viewSW : XmScrolledWindow */$object viewWorkReportText : XmText { arguments { XmNeditable = false;! XmNeditMode = XmMULTI_LINE_EDIT; XmNresizeWidth = false; XmNresizeHeight = false; };(}; /* END viewWorkReportText : XmText */ object OfLabel : XmLabelGadget { arguments { XmNlabelString = 'of';. XmNleftAttachment = XmATTACH_POSITION; XmNleftOffset = -3; XmNleftPosition = 50;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5; };$}; /* END OfLabel : XmLabelGadget */%object CurrentReportFrame : XmFrame { arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT; XmNshadowThickness = 2;- XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 5;( XmNrightWidget = XmLabelGadget OfLabel;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 4; }; controls {" XmLabelGadget CurrentReportLabel; };)}; /* END CurrentReportFrame : XmFrame */+object CurrentReportLabel : XmLabelGadget { arguments { XmNlabelString = '0'; };/}; /* END CurrentReportLabel : XmLabelGadget */.object LeftReportArrow : XmArrowButtonGadget { arguments {" XmNarrowDirection = XmARROW_LEFT;& XmNmultiClick = XmMULTICLICK_DISCARD; XmNheight = 30; XmNwidth = 35;- XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 10;- XmNrightWidget = XmFrame CurrentReportFrame;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 2; }; callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_wrLeftArrow); };2}; /* END LeftReportArrow : XmArrowButtonGadget *//object FirstReportArrow : XmArrowButtonGadget { arguments {" XmNarrowDirection = XmARROW_LEFT;& XmNmultiClick = XmMULTICLICK_DISCARD; XmNheight = 25; XmNwidth = 30;- XmNrightAttachment = XmATTACH_WIDGET; XmNrightOffset = 8;6 XmNrightWidget = XmArrowButtonGadget LeftReportArrow;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 4; }; callbacks {D XmNactivateCallback = procedure pushButtonCallback(k_wrFirstArrow); };3}; /* END FirstReportArrow : XmArrowButtonGadget */"object LastReportFrame : XmFrame { arguments {% XmNshadowType = XmSHADOW_ETCHED_OUT; XmNshadowThickness = 2;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 5;' XmNleftWidget = XmLabelGadget OfLabel;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 4; }; controls { XmLabelGadget LastReportLabel; };&}; /* END LastReportFrame : XmFrame */(object LastReportLabel : XmLabelGadget { arguments { XmNlabelString = '0'; };,}; /* END LastReportLabel : XmLabelGadget *//object RightReportArrow : XmArrowButtonGadget { arguments {# XmNarrowDirection = XmARROW_RIGHT;& XmNmultiClick = XmMULTICLICK_DISCARD; XmNheight = 30; XmNwidth = 35;, XmNlƘ$MULTIHELP020.A< [A]WORK_REPORTS.UIL;1EٶeftAttachment = XmATTACH_WIDGET; XmNleftOffset = 10;) XmNleftWidget = XmFrame LastReportFrame;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 2; }; callbacks {D XmNactivateCallback = procedure pushButtonCallback(k_wrRightArrow); };3}; /* END RightReportArrow : XmArrowButtonGadget */.object LastReportArrow : XmArrowButtonGadget { arguments {# XmNarrowDirection = XmARROW_RIGHT;& XmNmultiClick = XmMULTICLICK_DISCARD; XmNheight = 25; XmNwidth = 30;, XmNleftAttachment = XmATTACH_WIDGET; XmNleftOffset = 8;6 XmNleftWidget = XmArrowButtonGadget RightReportArrow;, XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 4; }; callbacks {C XmNactivateCallback = procedure pushButtonCallback(k_wrLastArrow); };2}; /* END LastReportArrow : XmArrowButtonGadget */$MULTIHELP020.A  [A]P),;POR,ABW!H l z6.dNL;1cYS 1q+RHF%iiV_ FX d#i#% LOGLn"z+<b~Y"joGA 8 7=MLJ)s*! |h@5d\U@%)se |R+L hJO<GDS" 1Tn^@$_L68n -%MKd9[16>/j3AY[J}0uaihg=~4RXs !|cf~3_Q[yP n9.M8OiJaD1iUdly z=Nz/3}QBk5Qgw\.cm(hWt{OR-H"$xVCky $=ay -y[r'Id 0T?!1jodk:. BcWI4>j8bEahY|Xm*# /T\Iwgb)0 V46.2$eW{5/M%ZZf~sg;fW)Y IcQiMu0/)e*U)h*un blneNe-`c<P5L,`5H=b7vO=2f}'r%cL7'agS [Jqsk} jmiLk .! 0[ Q>ay0,cu$c%dUfb02i@~6iA=\@pzMAV &qE;p< ,"K_Iy#~dWs O9_NSEWyg_aWQ2EGfbxnDn_.$+X#pWQTP+KM!CvL`R(@z40A[:Efl5*}:#4SNBjzAo'Gt.h2v 9V eOfJ<4C&K3TVW/%hkR\ [r_A3dCf5oE>0sv9Zh~u`g_k;jy,\1m/ICRfFf/nc$|x[aDNoo=%fN VSl1 x.0WIw.#:O4~aIa-;.=>bJ{(66m4A`sQdI|m"8?~GzQ4fy`-DH3G<RAdH|"xr;p3EG*p|N;fl8nEC5Vxu+W\}!{UFsOPdP31x2pf; 1 VMlxn,=T-NAsM:@jRhM:#,/e_)ElV;bol$p#CKZ0sPZu[{:$gP,^Zow-%*Z%YnFJ%~er[!K:vNzt^' i.>GpPwEzbTlL53D@,cd)qE9$* G> G2g$2<})JWRZOcPHO0]\Nr''`>h8{ ?" c_2-xMl%mbax6y1/|&h= CIAQ4P+O kK7l/ZdgVl| Q`YG<\FaM`|nS]Yv#X7pBVK6rg{k;M(."x#p1j%@"jUikF(#5 +=`TnS~{bu8x(B{qxWXdMiZR5-ch]bb`4$ApL!J6g-sg J|':[]`!Q i!QAFwAT.[!?. )m4Z?kc),V$X,H).(7(Mi4R Wt{Y6@X5n6 #yLfe7#$rkhUEU">+TM3f?3 Cpw{r`wM6eK0Yz Tfpq&D:7>W&H++'*+ `Puc#qZToNO#'IG#6h|CRxX{Q}Sl=wWtm"--+p3OaI T|zV5dE[hcD!,ILg2N^H!<MuE:0OZ y/F0um .k#bpe}+,oP*Jc7X wp`DR DVQRhvJiz|69C|JX .-/sQp58fwAz_+CRAn,N^B?v9BC`vtB{K~p@mJA=GavPD^-jjYb<Z,]e)OlV>/SPA'@%aLTeSZo&j['B Xqi{g+?1~O|#DO06 BXug<"h0t 8vfj;bAO,$] "6+GY& ;1mJ`67A Pr4ue)\]oG&d3Kba,4T$uxhe3q?T[X)#xn^Y?9'Ecy YW"z|f!M{ H`^VYkN!F!hjx{L(HEj'yUL@9c9}g2 P &-\0N3![e?:QM8Nt  3Bbk(`QwT+)D+I&v/nVdyQvY IASQ/-E mpmtS~r~qbX5 .CM(ZU`F/WnV!:#ou V $[%c9&P *X6Ox^33x N; kdJceRf}v~0@vx1>"+c^BBikz}V<[K"tUZh5V&@PzItp1`q[5z[X$M$V;HVCXD 6,[O:33"^+@3xRXn{3g'b k:ekJV Wj^B aA2 e.V|^ Lmo&a 3ghD@<3p2RTG}T|&?e= EI2N8je Kksup5sN(GcES_H+$)R)k-/# `~~[ ^RztJOYET%R(eA %>t^66([Zdfb5DO]2Kd![,3Qa^!XNOj+FC_Z\6k~D|9GSt Q1D#*?7a-\=s60;h{ ]{yy(dxgV~ExlY)"__$wyT5 B[y2\E):iUebS]K}MpTeu1*>P~92@2mOVA"iZ|w VZkC{SVrQ+y' y*p ?YV.Us?.gGsazxH%J3[0?f"u~DV9xX/6RnKk5AhG`ex CgGU1 g/^+2LS!iK_ Q*y;/ DAW`:;P{nkl#=XxWID )5l-WvqfJe":oY?PZ hE>Y,AHNs-0 '!\RU]{M] +Wm >> .xm~,]MfGIIch l.egjJ{85ovp-8l2g+WUwM}sfKM6||OBd71G-  ~ 957z88YLI+W,8J].`k?':ym!9NO\kLWdPjR7WE(_O/2KTDBEHAEB<=HV7M~J.% kH1/#c,U?C`c59w]w`J ao"qTG?Mm Xy [{N+c 'n} rFnrC@c'v,%K[%)fIHFfxf6(n~e\;o4`BP[ }. Ld8{61l:6<=Yg«6XH7RT\< 2yl,]`(deAZY[e V82(1Pp5oVcq]VonvO >_wcA80208P633w6mz BtW]?"`pXfD_?{PxCnCI:t> WFPM}R5b = +vBxTCf//2 ^T. jg;oCw[H|ZfBX/puE Th~tE^:fF{5l]d*H {gfrRubiw hyK~Q8yD ,]OxwJ *躱؉ x}t7h~_RRNM$u"|N,K#IsWmkl:Nx@E(T fT6c `J7[^qg%3z{rMe>Cp.`Jn+FVs]-<UnODFJGPg1. `FE3!GJW<yD@TCmq*a~f3.:^U@f'1h]kF0c*_PC,I`s:zm~dZB#pVw&&v*LZ/+ ]f` 'miINP^1#-X"6*1 -HS 5V`]3d&H-Z&>1%1hWSH(xGXYSwJk8'E_(C$>B (R{"#47#%Jq.fO4B9 )66P=Q 0R|\8,((A7)uORKZ7)tOe_ %xooPXNXLq?%tmE@ B#zwvG >,@WIt-`KI`PCve 3|V/8,tzHTfqY rU5 &KHsH&M{BU.b~FYmu.Xs;jvlxA^0jdU*~5|K`w_;~z0Qv ;"znfE$?y%r4b }XXmP'^W>ixDT(vR 7KP2 32cfSEH+."#qCf:do&,j6qg'd'd;ADinX Cf"pz_eEfABT EB?+[G52c;} E g5z'PAx5#I:6!Zqvr`N<u$CqD*}d!H&ptn]G%Q_BIHnC] ]r5gvDZ/ucB:?{pAlS|f<tQ YRkE3~/"26L #0ub6rK nG|)Uhqrw$~]['Xc371gt 5,$-s9[`'y,IYv;u.+6?%(j!A!4KN<cUxy#[OQ Uf_}PQM:Au)CegU9v"*ui [a70Pt9=fu V' KLx&DiTcA7}9Bo"C~+DkX\t}l<|2 ;[S*:3WI&H3df'Ccb$ +^%Vb|q.B*P nygjw9:^_5wn F,JG0!g>w'CI`tV<XIg-;NID?*ES)%O[2,t:DiHX 1 b1 :u.NxL -m 4=Dxf'VsU?iHF:wK QmM=rLT_stU+0?NS39D Q|vG-d*6fD_^_9SCkfN3 ge*:b&=XaPdGJGQs_z(=&5r LeEc +rSt[}_<.Nv?{2"LJt*c)v"|L9RE(=4sp\czE{r7&1gwSjN0N:8Rc?'nF`\ia%'<7|Jz=P~N,Tos,+A6}}9d=Mi\8QE&AsXqp:/WpLjbhtwaA$cAoH|OX]#tS,TE4,H(.V0`->FNW[EQ &S{E BF}[T,O^"t1ZISf I|g{aP:/P-%Tdh9tsJ@U!$2wR?r`pU |/ ?^IZ+ORy?CO2Loj4?/Rwf[YNU~0[wNME/@ H-SNf#Ur{r6 sESLX^:A{M8_Z uOf+:4u>;9i Aj9~YVRJ-hM  GKD Y6Ld `:wwS!1 rm$V*jp",r#h/#^rqDKE3n .5j~}tH,tq+<./V$Y30.Qj.F[[f"j][3sSK31$oQx.c2YxRB]v{tF3iF 8o-7wiq):b4dN J@&2y1P+a0^dO$dV/~t[8$rqQ)LWEYu4QdhpLt]C sNp X &I/(,Z J&\kdNRdQ9* EVXb^f*5e6EbV,TIgb2 rL;mO7a')bJG+ncr1Dnb9!lY%-My !:XMVF+4T`TC?aJ0 ^ ^qw}+vp{u`v!+f^~|w Z ~n^Ss@ )sO+(rCn8"b?LVN1bcT4ZDB;8*o*_u&;rHW-i th_?*c@c:BlB[^}tu*?c:i*sWz2J&/\`K09dA%n/fT`s#2-Yqjr [Gki!m~hB ` Spi&0S@2 n4z=:2|A(D,10^"L +nN1:M@/njSS H 8$8U[3H:I 6c|3B&fVOMM !tw%nGisQhvxnE[/pLbI >["mI yVqtN}Kjuw*d=/~sZMeBIsl4ir@(}'<8&hr}B)]aX vb3xDvd?>+)P4)=2YHg #D2bbR]w|YC+?_*MzN~f:srI)qVND&,2_ zqjZQ c+c&N3z*z >CmF k 6`~k~^3fSy5T,G,jscZ(!^vh2 [4 ^o/r.{}Wk\%E7j_t`P4yz=:*z&S P~~Za {qnzs+p6 S.fTd 93byp8:cWdu Nv.wo0dv g^U ,{:WhIl'si_$;C5EF)d=r% W\_\H u16oF`BvXs1<@fA90 sm-A/g8 {KZsk1(8q*V/&]3~Vn8A$2S:x>T <&uWig( u*5Pr?Mu0eM _P) hI:X[GNyYw dQ*B7:/@!e {H\EQ@]ib\, QnL|*]kdr{0U=gXEp+SVd@7=){7ADDVv&|t%G 8;L`}:90y8]L`mj^@ D`adZZ]"Iy"; lo 6)[Yzvp&2F:{8_}[50x)-qQ;Y[@epJ~B%&uj%BQTh`in$`V~l-AE&=-t#^MCvi71DPJ+zD Sa}f%?v5{Ax<>:Q8H>4KYU Ij6 "NRS'4? G`e|_ $ xEAU.&3Xl]q#ZC=Nem Pnjk$c{] 2ZU`Yy1  I})U!!v