Introduction of Calling Quick Screens as Functions

Guy Werry guy.werry@hbms.ca
Tue, 25 May 2004 13:24:55 -0500


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C44285.94541B00
Content-Type: text/plain;
	charset="iso-8859-1"

Is there some magical way to set up an indexed subfile for Quick?  I have
used them & found them very helpful, but what I've had to do is set up the
definition using Qtp as a permanent subfile (one area Unix could learn from
MPE in!) and then compile the Quick screen in order to get the definition of
the indexed subfile.
 
Aside from that, it worketh great.
 
Guy.

-----Original Message-----
From: Johnson, Harold A EDUC:EX [mailto:Harold.A.Johnson@gems1.gov.bc.ca]
Sent: May 25, 2004 1:17 PM
To: 'Guy Werry'; powerh-l@lists.sowder.com
Subject: RE: Introduction of Calling Quick Screens as Functions


We will quite often use indexed subfiles in quick, if we only want a
temporary file that doesn't need to be declared in the dictionary (OpenVMS -
resistance is futile) - quite flexible.   Also, a couple of our batch quick
processes call external C routines for faster computations.
 
 


 
 -----Original Message-----
From: powerh-l-admin@lists.sowder.com
[mailto:powerh-l-admin@lists.sowder.com]On Behalf Of Guy Werry
Sent: 2004 May 25 11:09 AM
To: powerh-l@lists.sowder.com
Subject: RE: Introduction of Calling Quick Screens as Functions



Interesting debate.  I've been writing Powerhouse seriously since 1989 and
have had almost no need to resort to anything else.  A few times I've
written stuff in Cobol (the Language of the Future!), especially where array
processing would aid the algorithm.
 
I found that indexed subfiles that are available on the Unix version (we
migrated from MPE to Unix in 1994) really helped ... I found that you can do
almost anything in QTP if you use enough subfiles!
 
Guy

-----Original Message-----
From: Tim Cummings [mailto:tim.cummings@frequencymarketing.com]
Sent: May 25, 2004 12:17 PM
To: 'Johnson, Harold A EDUC:EX'; 'Jon Hawks'; chuck.reinke; Darren Reely;
powerh-l@lists.sowder.com
Subject: RE: Introduction of Calling Quick Screens as Functions


I have been writing Powerhouse for 22 years.  On many, many occasions I have
utilized "ghost screens" to accomplish the task at hand (mostly 31 file
limit).  However the one thing I have never done is to use Quick for batch
processing.  Maybe I'm missing something but I've never run into a situation
that QTP didn't cover.
 
Tim

-----Original Message-----
From: Johnson, Harold A EDUC:EX [mailto:Harold.A.Johnson@gems1.gov.bc.ca]
Sent: Tuesday, May 25, 2004 11:52 AM
To: 'Jon Hawks'; chuck.reinke; Darren Reely; powerh-l@lists.sowder.com
Subject: RE: Introduction of Calling Quick Screens as Functions


We use this method extensively in our system for complicated processes that
would be a bear to write in QTP.   The only "gotcha" that you need to worry
about is an apparent 32,000 "run screen" limit.  That is, if your quick
screen calls other screens, there is a limit as to how many times that other
screen can be called.  It seems to depend on how many calls are being done
and the relative complexity of the process that you've written.
 
cheers

-----Original Message-----
From: powerh-l-admin@lists.sowder.com
[mailto:powerh-l-admin@lists.sowder.com]On Behalf Of Jon Hawks
Sent: 2004 May 24 10:36 PM
To: chuck.reinke; Darren Reely; powerh-l@lists.sowder.com
Subject: Re: Introduction of Calling Quick Screens as Functions


Try this, and for the hard-core's, please excuse the simplicity. I copied it
from one of our regular jobs we run in batch using quick.
 
quick auto=qk-batch-1 term=vt220  (if you're on an Open/VMS your site might
need this)
 
Screen qk-batch-1
file customer  designer
file invoices    designer
file payments designer 
 
Procedure Internal Special-payments
 begin
  some great stuff here
    gets 
    lets
    puts
   end
Procedure internal regular-payments
 begin
  some other great stuff here
  get an invoice
  get the payment
  lets reconcile
  puts
   end
procedure cust-run
 begin
   while retrieving customer sequential 
    begin
       if cust-type = "regular joe"
        do internal regular-payments
       if cust-type = "special"
        do internal special-payments
       end
procedure initial
  begin
     do internal cust-run
     return
    end
build

"chuck.reinke" <chuck.reinke@sbcglobal.net> wrote:

I believe the practice arose many years ago on ancient HP systems where
programmers often ran out of stack space. A GHOST screen, as a sub-process,
was a technique for gaining additional system resources. Eventually some
programming logic supported the technique as well as the idea of shared
subroutines.

Chuck

----- Original Message ----- 
From: "Darren Reely" 
To: 
Sent: Monday, May 24, 2004 6:10 PM
Subject: Introduction of Calling Quick Screens as Functions


> We were wondering today when the concept was introduced allowing coders
> to call quick screens as hidden functions. The code I'm maintaining
> seems to have been created as early as April 1992.
>
> While we're on the subject. What is the best way to set up the screen
> statement? A! pparently the GHOST option is not _required_ when calling
> the screen.
>
> Thanks for the interest.
>
> Darren
>
>
> = = = = = = = = = = = = = = = = = = = = = = = = = = = =
> Mailing list: powerh-l@lists.sowder.com
> Subscribe: "subscribe" in message body to
powerh-l-request@lists.sowder.com
> Unsubscribe: "unsubscribe " in message body to
powerh-l-request@lists.sowder.com
> http://lists.sowder.com/mailman/listinfo/powerh-l
> This list is closed, thus to post to the list you must be a subscriber.


= = = = = = = = = = = = = = = = = = = = = = = = = = = =
Mailing list: powerh-l@lists.sowder.com
Subscribe: "subscribe" in message body to powerh-l-request@lists.sowder.com
Unsubscribe: "unsubscribe " in message body to
powerh-l-request@lists.sowder.com
http://lists.sowder.com/mailman/listinfo/powerh-l
This list is closed, thus to post to the list you must be a subscriber.




------_=_NextPart_001_01C44285.94541B00
Content-Type: text/html;
	charset="iso-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 5.50.4522.1800" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=540101718-25052004>Is 
there some magical way to set up an indexed subfile for Quick?&nbsp; I have used 
them &amp; found them very helpful, but what I've had to do is set up the 
definition using Qtp as a permanent subfile (one area Unix could learn from MPE 
in!) and then compile the Quick screen in order to get the definition of the 
indexed subfile.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=540101718-25052004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=540101718-25052004>Aside 
from that, it worketh great.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=540101718-25052004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=540101718-25052004>Guy.</SPAN></FONT></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Original Message-----<BR><B>From:</B> Johnson, Harold A EDUC:EX 
  [mailto:Harold.A.Johnson@gems1.gov.bc.ca]<BR><B>Sent:</B> May 25, 2004 1:17 
  PM<BR><B>To:</B> 'Guy Werry'; powerh-l@lists.sowder.com<BR><B>Subject:</B> RE: 
  Introduction of Calling Quick Screens as Functions<BR><BR></FONT></DIV>
  <DIV><SPAN class=395341418-25052004><FONT face=Arial color=#0000ff size=2>We 
  will quite often use indexed subfiles in quick, if we only want a temporary 
  file that doesn't need to be declared in the dictionary (OpenVMS - resistance 
  is futile) - quite flexible.&nbsp;&nbsp; Also, a couple of our batch quick 
  processes call external C routines for faster 
computations.</FONT></SPAN></DIV>
  <DIV><SPAN class=395341418-25052004><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=395341418-25052004></SPAN>&nbsp;</DIV><FONT face=Tahoma>
  <DIV><FONT face=Arial color=#0000ff size=2></FONT><BR>&nbsp;</DIV>
  <DIV><FONT size=2><SPAN class=395341418-25052004>&nbsp;</SPAN>-----Original 
  Message-----<BR><B>From:</B> powerh-l-admin@lists.sowder.com 
  [mailto:powerh-l-admin@lists.sowder.com]<B>On Behalf Of </B>Guy 
  Werry<BR><B>Sent:</B> 2004 May 25 11:09 AM<BR><B>To:</B> 
  powerh-l@lists.sowder.com<BR><B>Subject:</B> RE: Introduction of Calling Quick 
  Screens as Functions<BR><BR></DIV></FONT></FONT>
  <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
    <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
    class=600130018-25052004>Interesting debate.&nbsp; I've been writing 
    Powerhouse seriously since 1989 and have had almost no need to resort to 
    anything else.&nbsp; A few times I've written stuff in Cobol (the Language 
    of the Future!), especially where array processing would aid the 
    algorithm.</SPAN></FONT></DIV>
    <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
    class=600130018-25052004></SPAN></FONT>&nbsp;</DIV>
    <DIV><FONT face=Arial color=#0000ff size=2><SPAN class=600130018-25052004>I 
    found that indexed subfiles that are available on the Unix version (we 
    migrated from MPE to Unix in 1994) really helped ... I found that you can do 
    almost anything in QTP if you use enough subfiles!</SPAN></FONT></DIV>
    <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
    class=600130018-25052004></SPAN></FONT>&nbsp;</DIV>
    <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
    class=600130018-25052004>Guy</SPAN></FONT></DIV>
    <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
      <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
      size=2>-----Original Message-----<BR><B>From:</B> Tim Cummings 
      [mailto:tim.cummings@frequencymarketing.com]<BR><B>Sent:</B> May 25, 2004 
      12:17 PM<BR><B>To:</B> 'Johnson, Harold A EDUC:EX'; 'Jon Hawks'; 
      chuck.reinke; Darren Reely; powerh-l@lists.sowder.com<BR><B>Subject:</B> 
      RE: Introduction of Calling Quick Screens as 
Functions<BR><BR></FONT></DIV>
      <DIV><SPAN class=171571017-25052004><FONT face=Arial color=#0000ff 
      size=2>I have been writing Powerhouse for 22 years.&nbsp; On many, 
      many&nbsp;occasions I have utilized "ghost screens" to accomplish the task 
      at hand (mostly 31 file limit).&nbsp; However the one thing I have never 
      done is to use Quick for batch processing.&nbsp; Maybe I'm missing 
      something but I've never run into a situation that QTP didn't 
      cover.</FONT></SPAN></DIV>
      <DIV><SPAN class=171571017-25052004><FONT face=Arial color=#0000ff 
      size=2></FONT></SPAN>&nbsp;</DIV>
      <DIV><SPAN class=171571017-25052004><FONT face=Arial color=#0000ff 
      size=2>Tim</FONT></SPAN></DIV>
      <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
        <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
        size=2>-----Original Message-----<BR><B>From:</B> Johnson, Harold A 
        EDUC:EX [mailto:Harold.A.Johnson@gems1.gov.bc.ca]<BR><B>Sent:</B> 
        Tuesday, May 25, 2004 11:52 AM<BR><B>To:</B> 'Jon Hawks'; chuck.reinke; 
        Darren Reely; powerh-l@lists.sowder.com<BR><B>Subject:</B> RE: 
        Introduction of Calling Quick Screens as Functions<BR><BR></FONT></DIV>
        <DIV><SPAN class=808294915-25052004><FONT face=Arial color=#0000ff 
        size=2>We use this method extensively in our system for complicated 
        processes that would be a bear to write in QTP.&nbsp;&nbsp; The only 
        "gotcha" that you need to worry about is an apparent 32,000 "run screen" 
        limit.&nbsp; That is, if your quick screen calls other screens, there is 
        a limit as to how many times that other screen can be called.&nbsp; It 
        seems to depend on how many calls are being done and the relative 
        complexity of the process that you've written.</FONT></SPAN></DIV>
        <DIV><SPAN class=808294915-25052004><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV><SPAN class=808294915-25052004><FONT face=Arial color=#0000ff 
        size=2>cheers</FONT></SPAN></DIV>
        <BLOCKQUOTE>
          <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
          size=2>-----Original Message-----<BR><B>From:</B> 
          powerh-l-admin@lists.sowder.com 
          [mailto:powerh-l-admin@lists.sowder.com]<B>On Behalf Of </B>Jon 
          Hawks<BR><B>Sent:</B> 2004 May 24 10:36 PM<BR><B>To:</B> chuck.reinke; 
          Darren Reely; powerh-l@lists.sowder.com<BR><B>Subject:</B> Re: 
          Introduction of Calling Quick Screens as 
Functions<BR><BR></FONT></DIV>
          <DIV>Try this, and for the hard-core's, please excuse the simplicity. 
          I copied it from one of our regular jobs we run in batch using 
          quick.</DIV>
          <DIV>&nbsp;</DIV>
          <DIV>quick auto=qk-batch-1 term=vt220&nbsp; (if you're on an Open/VMS 
          your site might need this)</DIV>
          <DIV>&nbsp;</DIV>
          <DIV>Screen qk-batch-1</DIV>
          <DIV>file customer&nbsp; designer</DIV>
          <DIV>file invoices&nbsp;&nbsp;&nbsp; designer</DIV>
          <DIV>file payments designer </DIV>
          <DIV>&nbsp;</DIV>
          <DIV>Procedure Internal Special-payments</DIV>
          <DIV>&nbsp;begin</DIV>
          <DIV>&nbsp; some great stuff here</DIV>
          <DIV>&nbsp;&nbsp;&nbsp; gets </DIV>
          <DIV>&nbsp;&nbsp;&nbsp; lets</DIV>
          <DIV>&nbsp;&nbsp;&nbsp; puts</DIV>
          <DIV>&nbsp;&nbsp; end</DIV>
          <DIV>Procedure internal regular-payments</DIV>
          <DIV>&nbsp;begin</DIV>
          <DIV>&nbsp; some other great stuff here</DIV>
          <DIV>&nbsp; get an invoice</DIV>
          <DIV>&nbsp; get the payment</DIV>
          <DIV>&nbsp; lets reconcile</DIV>
          <DIV>&nbsp; puts</DIV>
          <DIV>&nbsp;&nbsp; end</DIV>
          <DIV>procedure cust-run</DIV>
          <DIV>&nbsp;begin</DIV>
          <DIV>&nbsp;&nbsp; while retrieving customer sequential&nbsp;</DIV>
          <DIV>&nbsp;&nbsp;&nbsp; begin</DIV>
          <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if cust-type = "regular 
          joe"</DIV>
          <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do internal 
          regular-payments</DIV>
          <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if cust-type = 
          "special"</DIV>
          <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do internal 
          special-payments</DIV>
          <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end</DIV>
          <DIV>procedure initial</DIV>
          <DIV>&nbsp; begin</DIV>
          <DIV>&nbsp;&nbsp;&nbsp;&nbsp; do internal cust-run</DIV>
          <DIV>&nbsp;&nbsp;&nbsp;&nbsp; return</DIV>
          <DIV>&nbsp;&nbsp;&nbsp; end</DIV>
          <DIV>build<BR><BR><B><I>"chuck.reinke" 
          &lt;chuck.reinke@sbcglobal.net&gt;</I></B> wrote:</DIV>
          <BLOCKQUOTE class=replbq 
          style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">I 
            believe the practice arose many years ago on ancient HP systems 
            where<BR>programmers often ran out of stack space. A GHOST screen, 
            as a sub-process,<BR>was a technique for gaining additional system 
            resources. Eventually some<BR>programming logic supported the 
            technique as well as the idea of 
            shared<BR>subroutines.<BR><BR>Chuck<BR><BR>----- Original Message 
            ----- <BR>From: "Darren Reely" <DARREN.REELY@LATTICESEMI.COM><BR>To: 
            <POWERH-L@LISTS.SOWDER.COM><BR>Sent: Monday, May 24, 2004 6:10 
            PM<BR>Subject: Introduction of Calling Quick Screens as 
            Functions<BR><BR><BR>&gt; We were wondering today when the concept 
            was introduced allowing coders<BR>&gt; to call quick screens as 
            hidden functions. The code I'm maintaining<BR>&gt; seems to have 
            been created as early as April 1992.<BR>&gt;<BR>&gt; While we're on 
            the subject. What is the best way to set up the screen<BR>&gt; 
            statement? A! pparently the GHOST option is not _required_ when 
            calling<BR>&gt; the screen.<BR>&gt;<BR>&gt; Thanks for the 
            interest.<BR>&gt;<BR>&gt; Darren<BR>&gt;<BR>&gt;<BR>&gt; = = = = = = 
            = = = = = = = = = = = = = = = = = = = = = =<BR>&gt; Mailing list: 
            powerh-l@lists.sowder.com<BR>&gt; Subscribe: "subscribe" in message 
            body to<BR>powerh-l-request@lists.sowder.com<BR>&gt; Unsubscribe: 
            "unsubscribe <PASSWORD>" in message body 
            to<BR>powerh-l-request@lists.sowder.com<BR>&gt; 
            http://lists.sowder.com/mailman/listinfo/powerh-l<BR>&gt; This list 
            is closed, thus to post to the list you must be a 
            subscriber.<BR><BR><BR>= = = = = = = = = = = = = = = = = = = = = = = 
            = = = = =<BR>Mailing list: powerh-l@lists.sowder.com<BR>Subscribe: 
            "subscribe" in message body to 
            powerh-l-request@lists.sowder.com<BR>Unsubscribe: "unsubscribe 
            <PASSWORD>" in message body to 
            powerh-l-request@lists.sowder.com<BR>http://lists.sowder.com/mailman/listinfo/powerh-l<BR>This 
            list is closed, thus to post to the list you must be a 
          subscriber.</BLOCKQUOTE><BR><BR></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>

------_=_NextPart_001_01C44285.94541B00--