Sv: Weird logic problem in a menu screen.
Ole Hansen, ScanConsult
oh@scanconsult.dk
Wed, 30 Jan 2002 17:10:57 +0100
Hi Guy,
Just a wild guess : Try changing the name of the temporary SIGNONUSER to e.g. SCRNSIGNONUSER.
Ole Hansen
====================================================================
E-mail: oh@scanconsult.dk Cell Phone: +45 40 40 11 50
====================================================================
ScanConsult IT-Partners ApS Voice : +45 87 38 74 74
Jegstrupvej 96A Fax : +45 87 38 74 75
DK-8361 Hasselager Support : support@scanconsult.dk
Denmark Sales : sales@scanconsult.dk
http://www.scanconsult.dk
=== ParaSuite : A Suite of Air Cargo Handling solutions ===
=== ParaSafe : A Suite of IT-Security solutions ===
=== We partner with Hewlett-Packard, Cognos, Lotus and others ===
-----Oprindelig meddelelse-----
Fra: Guy Werry <guy.werry@hbms.ca>
Til: PH Mailing List (E-mail) <powerh-l@lists.swau.edu>
Dato: 30. januar 2002 16:44
Emne: 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.
>