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.
>