[email protected] said the following on 8/22/2009 6:34 PM:
The message's content type was not explicitly allowed
Charles:

When I run a command from our TCL shell's prompt the command is executed. Thus the query is executed from a BASIC program. When I list the data calculated in the virtual attribute subroutine (an I-descriptor), the @DATE and @TIME value are static. When I run the query from real ECL the date/time are reset. So, in UD @DATE and @TIME aren't reset in a called child process. When I create a program that PERFORMs the query then run the program from our TCL shell (the query's executed from BASIC) the @DATE and @TIME don't change either.

So it seems there is nothing I can do in UD to alter these two @ variables as long as I'm running from BASIC. Thus, a called subroutine from a virtual attribute can't be initialized at the beginning of the query.

Wouldn't this seem like a deficiency to you?

Thanks,

Bill

------------------------------------------------------------------------
Charles Stevenson said the following on 8/22/2009 6:11 PM:

An interesting note to this is I use a TCL shell written in BASIC; in fact, all of our application menus run in BASIC. Consequently, @DATE in the BASIC subroutine is always the same whenever I run the "SORT..." from the TCL shell.
Bill,

On UV -- I don't know about UD -- @date & @time are set for child programs that are EXECUTEd, but not if they are CALLed or PERFORMed. That is partly configurable, maybe configurable on UD, too? So it would depend on how your menu & tcl shell basic programs kick off programs. Here's a set of 3 sample progrrams and a cut&paste of their output when run.

Notice @time is always 64814 except for during the two EXECUTEs (64818, 64822). Notice @time reverts back to its original 64814 after returning from each EXECUTE.

UV 10.3 PE, Windows
See if you get the same on UD.


    ATTIME.TOP
0001       CRT 'STARTING ATTIME.TOP'
0002       CRT '@TIME=':@TIME
0003       SLEEP 2
0004       CALL ATTIME.SUB
0005       CRT '@TIME=':@TIME
0006       SLEEP 2
0007       EXECUTE 'ATTIME.VERB'
0008       CRT '@TIME=':@TIME
0009       SLEEP 2
0010       PERFORM 'ATTIME.VERB'
0011       CRT '@TIME=':@TIME
0012       SLEEP 2
0013       CRT '-------------'
0014 EXECUTE \LIST VOC "SELECT" EVAL "@TIME"\ ; * arbitrary file & item
0015       CRT '-------------'
0016       CRT '@TIME=':@TIME
0017       SLEEP 2
0018       CRT '-------------'
0019 PERFORM \LIST VOC "SELECT" EVAL "@TIME"\ ; * arbitrary file & item
0020       CRT '-------------'
0021       CRT '@TIME=':@TIME

    ATTIME.SUB
0001       SUBROUTINE ATTIME.SUB
0002       CRT '            STARTING ATTIME.SUB'
0003       CRT '            @TIME=':@TIME
0004       CRT '            RETURNING'
0005       RETURN

    ATTIME.VERB
0001       CRT '           ':@SENTENCE
0002       CRT '            @TIME=':@TIME
0003       STOPM '            STOPPING ATTIME.VERB'
>
>RUN BP ATTIME.TOP
STARTING ATTIME.TOP
@TIME=64814
           STARTING ATTIME.SUB
           @TIME=64814
           RETURNING
@TIME=64814
          ATTIME.VERB
           @TIME=64818
           STOPPING ATTIME.VERB
@TIME=64814
          ATTIME.VERB
           @TIME=64814
           STOPPING ATTIME.VERB
@TIME=64814
-------------
LIST VOC "SELECT" EVAL "@TIME" 06:00:22pm  22 Aug 2009  PAGE    1
VOC.........    @TIME.....

SELECT          64822

1 records listed.
-------------
@TIME=64814
-------------
LIST VOC "SELECT" EVAL "@TIME" 06:00:24pm  22 Aug 2009  PAGE    1
VOC.........    @TIME.....

SELECT          64814

1 records listed.
-------------
@TIME=64814
>
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to