Weird logic problem in a menu screen.

Chris Sweeney (wgpo) Sweeneych@slab.org.uk
Wed, 30 Jan 2002 16:11:05 -0000


Try calling your temp something other than SIGNONUSER, it's a reserved word
and returns the logon user id. What your trying to do as I understand it.

Chris Sweeney
Systems Designer
Scottish Legal Aid Board
t 0131 226 7061 ext 407
f 0131 225 8357


> -----Original Message-----
> From:	Guy Werry [SMTP:guy.werry@hbms.ca]
> Sent:	30 January 2002 15:28
> To:	PH Mailing List (E-mail)
> Subject:	Weird logic problem in a menu screen.
> 
> It's either "ask the list" or "throw a massive temper tantrum" time.
> Environment: HP-Ux 10.2, Ph 7.33.D3.
> 
> I have a menu screen where I want to allow one user to run a sub-screen,
> without the other users being aware that the choice is available to them.
> I'm using the environment variable HPUSER to hold the user's logon name.
> 
> Here is the ENTIRE screen, from a compile listing:
> 
> 		Q D E S I G N   (7.33.D3)
> 		Copyright 1997 COGNOS INCORPORATED
> 		Licensed PH-DEVELOPMENT for customer: 0011380001 HUDSON BAY
> MINING & SMELTING 
> 		UNIX
> 
> 		> SCREEN $execpath/pjr943kc MENU
> 		> ;
> 		> ;
> ***************************************************************
> 		> ; SCREEN-ID : PJR943KC
> 		> ; SOURCE-ID : PJR943KS
> 		> ; DATE      : MAY 91
> 		> ;
> 		> ; PURPOSE:  Employee TRAINING MENU
> 		> ;
> 		> ;
> 		> ; PROCESSING:
> 		> ;
> 		> ;
> 		> ; 1997 Feb 20, GLW, Pr4829.
> 		> ;     Added a menu selection so that we can access a
> scheduler
> 		> ;     inquiry menu.
> 		> ;
> 		>
> ;****************************************************************
> 		> ;
> 		> 
> 		> DEF RCS-INFO  CHAR * 80 =     &
> 		>       "$Header: pjr943ks.qks,v 2.1 98/01/20 15:00:33
> manffhdv Exp $"
> 		> 
> 		> DEFINE D-DATE DATE = SYSDATE
> 		> 
> 		> ; DEFINE SIGNONUSER CHAR *8 =
> UPSHIFT(GETSYSTEMVAL("HPUSER"))
> 		> TEMP SIGNONUSER CHAR *8
> 		*W* The data name SIGNONUSER may conflict with the
> machine-specific keyword 
> 		SIGNONUSER.
> 		> define authuser char *8 = "BMORRELL"
> 		> 
> 		> ;
> 		> HILITE MESSAGE AUDIBLE INVERSE BLINKING
> 		> ;
> 		> TITLE "Human Resources Information System" AT 1,29
> 		> ;
> 		> ALIGN (,,70)
> 		> FIELD D-DATE PREDISPLAY FORMAT YYYYMMMDD SEPARATOR " "
> 		> ;
> 		> TITLE "PJR943KC" AT 2,1
> 		> TITLE "5.0"      AT 3,4
> 		> HILITE TITLE INVERSE
> 		> TITLE "TRAINING MAIN MENU" AT 4,31
> 		> HILITE TITLE OFF
> 		> ;
> 		> DRAW THICK 3,20 TO 5,60
> 		> ;
> 		> SKIP TO 7
> 		> ;
> 		> ALIGN (19,22)
> 		> SUBSCREEN   $execpath/pjr944kc
> &
> 		>             LABEL "PJR944  Training Inquiry Menu"
> 		> SUBSCREEN   $execpath/pjr916kc
> &
> 		>             LABEL "PJR916  Training Reports Menu"
> 		> SKIP
> 		> TITLE "03 PSR897KC Scheduler Inquiry Menu"
> &
> 		>       AT ,19
> 		> 
> 		> COMMAND "SHOWJOB JOB = @.FFHRIS"
> &
> 		>       LABEL "        Who's On System Now?" CLEAR ALL
> RESPONSE         &
> 		>       ID 04
> 		> 
> 		> procedure designer 03
> 		>    begin
> 		>       if not setsystemval("execpath","../../payrol/pub")
> 		>         then error &
> 		>          "Cannot set execpath system variable. Please
> contact I.T."
> 		>       run command "quick 'auto=../qkgos/schdlrinq.qkg'"
> refresh screen
> 		>       if not setsystemval("execpath","../pub")
> 		>         then error &
> 		>          "Cannot set execpath system variable. Please
> contact I.T."
> 		>    end
> 		> ;
> 		> 
> 		> procedure entry
> 		> begin
> 		>       let signonuser = upshift(getsystemval("HPUSER"))
> 		>       if authuser = signonuser
> 		>         then run screen $execpath/pjr897kc
> 		> end
> 		> 
> 		> 
> 		> BUILD
> 		MODE:x ACTION:xxxxxxxxx     Human Resources Information
> System       xxxxxxxxxxx
> 		PJR943KC
> 		   5.0             *****************************************
> 		                   *          TRAINING MAIN MENU           *
> 		                   *****************************************
> 		 
> 		                  01 PJR944  Training Inquiry Menu
> 		                  02 PJR916  Training Reports Menu
> 		                  03 PSR897KC Scheduler Inquiry Menu
> 		                  04         Who's On System Now?
> 		 
> 		  
> 		0 ERRORS  1 WARNINGS. Delete old screen
> ../pub/pjr943kc.qkc?y
> 		> EXIT
> 
> I figured it was pretty basic, sort of a no-brainer, eh!  Well, I've tried
> two ways of doing this: a designer procedure and (currently) entry
> procedure.  In both cases, the IF statement fails, even though I can prove
> that the two data items that I'm testing are equal!  Below is a screen
> shot
> of the actual debugger code, with the offending IF statement high-lighted.
> 
> 				0074  procedure entry
> 				0075  begin
> 				0076    let signonuser =
> upshift(getsystemval("HPUSER"))
> 				0077    if authuser = signonuser
> 				0078      then run screen $execpath/pjr897kc
> 				0079  end
> 				0080  
> 				0081  
> 				0082  PROCEDURE APPEND
> 				0083  DISABLE
> 				0084  
> 				0085  PROCEDURE PATH
> 				0086  NULL
> 				0087  PROCEDURE FIND
> 				0088  NULL
> 				Trap encountered at line: 79
> 				> d authuser
> 				AUTHUSER = "BMORRELL"
> 				> d signonuser
> 				SIGNONUSER = "BMORRELL"
> 
> Any help will be much appreciated!
> 
> G.L. (Guy) Werry 
> Senior Systems Analyst
> Hudson Bay Mining & Smelting
> Ph:  204-687-2374
> Fax: 204-687-2771
> guy.werry@hbms.ca
> 
> = = = = = = = = = = = = = = = = = = = = = = = = = = = =
> Mailing list: powerh-l@lists.swau.edu
> Subscribe: "subscribe" in message body to powerh-l-request@lists.swau.edu
> Unsubscribe: "unsubscribe" in message body to
> powerh-l-request@lists.swau.edu
> http://lists.swau.edu/mailman/listinfo/powerh-l
> This list is closed, thus to post to the list you must be a subscriber.


*************************************************************************
Confidentiality Statement.

This E-mail may contain confidential information.  It is 
intended solely for the attention of the designated recipient(s).
If you are not the intended recipient, you must not make any 
use of the information contained in the E-mail or cause or allow
anyone else to do so.  Please contact the sender immediately and delete the message.

For more information on the Scottish Legal Aid Board please visit
our web site at www.slab.org.uk
*************************************************************************