Introduction of Calling Quick Screens as Functions

Johnson, Harold A EDUC:EX Harold.A.Johnson@gems1.gov.bc.ca
Tue, 25 May 2004 11:17:15 -0700


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_01C44284.21BAA876
Content-Type: text/plain;
	charset="iso-8859-1"

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_01C44284.21BAA876
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 6.00.2800.1400" name=GENERATOR></HEAD>
<BODY>
<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></BODY></HTML>

------_=_NextPart_001_01C44284.21BAA876--