HP3000-L Archives

September 1996, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Gilles Schipper <[log in to unmask]>
Reply To:
Gilles Schipper <[log in to unmask]>
Date:
Thu, 26 Sep 1996 17:50:21 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (311 lines)
At 05:58 PM 96/09/25 -0700, you wrote:
>HELP! Any Slave printing Experts,
>
>I'm up against the wall here, can't put users on the new 969.
>
>I have been using two subroutines "SLAVON" & "SLAVOFF" for many years on
>the series 70. They have always worked great.
>
>Now on the series 969 "SLAVOFF" hangs on a read. I think maybe it's
>because the 969 in so much faster than the searies 70 Don't know for
>sure. The original author is unavailable.
>
>I have attached (NOT THE PROGRAM SOURCE) two small files that contain a
>list of calls each routine does. The hangup occurs in step 6 of the
>"SLAVOFF" routine.
....
....

I have seen this problem during arise in several cases immediately after
migration from "Classic" to "XL" systems.

There is a simple - albeit unelegant workaround to your problem - which
should permit you to continue with the migration:

Inform your users to press the "escape" key after hangup occurs. This should
return the user to the executing program without any further problems -
apart from requiring to "escape" upon completion of screen printing.

The longer-term solution is to modify your programs to employ the supported
VTURNOFF and VTURNON intrinsics to accomplish your slave printing requirements.

I have included a couple of HPSUPPORTLINE notes which address the problem at
hand. I hope I'm not breaking any copyright laws here.

Hope this helps.



SUPPORTLINE NOTES FOLLOW HERE:

PA3000 - How to print to local printer with VPLUS application

PROBLEM TEXT

I have a COBOL VPLUS program which runs on a 700/94 terminal with
a local printer.  I have data that I would like to send directly to
the printer without being displayed on the terminal.  What are the
procedures to do this?

RESOLUTION TEXT

When VPLUS is in use, the VTURNOFF and VTURNON intrinsics are needed.
VTURNOFF allows the application to switch momentarily to character
mode from block mode without disturbing the screen.  The program
can then use the DISPLAY verb to send the proper escape sequences
and data.  After printing is complete, VTURNON is used to reconfigure
the terminal for block mode.

The escape sequences needed to print to the local printer are as
follows:

    ESC&p4d<y>W<data string>

    ESC&p<z>p4u1C

where <y> is the length of the data string, and <z> is the number of
lines to advance.  The ESC character should always be on a word boundary.
The following is an example of how the variables may be set up:

    01 printdata.
       05 esc                          pic x value %33.
       05 mydata                       pic x(11) value "&p4d5Watest".
       05 esc2                         pic x value %33.
       05 linefeed                     pic x(8) value "&p1p4u1C".

Then just DISPLAY printdata in the procedure division to send the
escape sequences and data to the printer.

For more Information on the escape sequences, please refer to the
HP700/94 reference manual, part number 5957-9982.  For more information
on the VTURNON and VTURNOFF intrinsics, please refer to the VPLUS/V
Reference Manual, part number 32209-90001, under Appendix G.


PA3000 - How to use RECORD MODE in conjuction with VPLUS/XL

PROBLEM TEXT

I have a VPLUS appliation that uses RECORD MODE to transfer data to my
local slaved printer.  When I run this same program in comptability mode
on my XL machine, I cannot seem to read the status returned from the
printer so my application hangs.  How do I use RECORD MODE in
conjunction with VPLUS/XL?

DETAIL TEXT

MPE XL
VPLUS/XL
RECORD MODE
SLAVED PRINTER

RESOLUTION TEXT

Because of the changes in VPLUS/XL when it was written in native mode,
it is no longer possible to do single character reads while still
executing in block mode.  Therefore, you must make a few minor
programming changes to allow your program to function correctly when run
on MPE/XL.  The changes that need to be made are listed below:

     1)  CALL INTRINSIC "VTURNOFF"
         - this will take your terminal out of block mode temporarily
           without closing the terminal file and clearing the screen

     2)  Enable RECORD MODE
         - use whatever code you were using before to enable RECORD MODE

     3)  DISPLAY your data
         - use whatever code you were using to output your data

     4)  ACCEPT the status return
         - this must be done into at least a PIC XX field to capture
           both the status (S, F, or U) and the carriage return

     5)  Disable RECORD MODE
         - use whatever code you were using to disable RECORD MODE

     6)  CALL INTRINSIC "VTURNON"
         - this will put your terminal back in block mode

     7)  CALL INTRINSIC "VSHOWFORM"
         - this will display the next form in sequence on your screen

You can find more about enabling/disabling RECORD MODE in the HP2392A
DISPLAY TERMINAL/HP2392A DATA ENTRY TERMINAL REFERENCE MANUAL (Manual
Part Number 02394-90001).


PA3000 - Recommended steps for using VTURNOFF and VTURNON

PROBLEM TEXT

What are the recommended steps for using the VTURNOFF and VTURNON
intrinsics?

RESOLUTION TEXT

After calling VTURNOFF, these are the recommended steps to return the
VPLUS application to block mode:

1.  CALL VTURNON
2.  DISPLAY escape lowercase b (example:  %33 b) to unlock keyboard
3.  MOVE $REFRESH TO NEXTFORMNAME
4.  CALL VGETNEXTFORM
5.  CALL VSHOWFORM

In addition, users with 700/92 terminals will need to set up the
VENVCNTL.PUB.SYS file with bit 8 set to 1 as documented below.


PA3000 - Using the VPLUS Environment Control File (VENVCNTL)

PROBLEM TEXT

What is the VENVCNTL.PUB.SYS file on my system, and what is it used for?

DETAIL TEXT

08/11/92

RESOLUTION TEXT

The VPLUS environment control file, VENVCNTL, allows applications to
override specific VPLUS defaults.  VPLUS always checks for the
existence of VENVCNTL.PUB.SYS or, alternatively, the existence of
a file equated to this formal file designator.  If no VENVCNTL file
exists, no VPLUS defaults are overridden.

VENVCNTL is a simple text file containing only one line of data.
Each override option may be activated by setting the option byte
number to 1.  For example, in the VENVCNTL file below, options 1, 5,
and 20 are set.

     :print venvcntl
     10001000000000000001

For MPE V/E, the basic recommendation is either no VENVCNTL file, or,
if there are no 264x terminals capable of accessing the system, a
VENVCNTL file with byte 1 set.

For MPE/iX, the basic recommendation is a VENVCNTL file with bytes 1,
5, and 20 set.  Since 264x terminals will not work on MPE/iX, byte 1
should always be set to improve performance.

The table below explains the function and possible side effects of
each VENVCNTL option.  Note that many bytes are either diagnostic only
or reserved for future use; these bytes should never be set to 1.

----------------------------------------------------------------------
|                        VENVCNTL File Options                       |
|                                                                    |
----------------------------------------------------------------------
|Byte|        Explanation            |   Side Effects / Comments     |
----------------------------------------------------------------------
| 1  |VOPENTERM does not try to      |VPLUS will not run on terminals|
|    |determine terminal identity if |that cannot self-identify (264x|
|    |terminal does not have         |terminals).                    |
|    |self-identification capability.|                               |
----------------------------------------------------------------------
| 2  |VPLUS does not lock out        |User could corrupt terminal    |
|    |terminal Aids/Modes/User keys  |configurations established and |
|    |during interactions.           |expected by VPLUS.             |
----------------------------------------------------------------------
| 3  |Reserved.                      |                               |
----------------------------------------------------------------------
| 4  |VPLUS bypasses Modified Data   |MDT terminals will transmit all|
|    |Tag (MDT) feature of MDT       |input field data, not the      |
|    |terminals.                     |subset that user actually keyed|
|    |                               |in; increases datacomm and     |
|    |                               |associated processing overhead.|
----------------------------------------------------------------------
| 5  |(MPE/iX only) VPLUS strips     |DO NOT USE this option on MPE  |
|    |carriage return character from |V/E; MPE V/E driver already    |
|    |terminal status read input.    |strips the carriage return     |
|    |                               |characters so this option is   |
|    |                               |redundant on MPE V/E.          |
----------------------------------------------------------------------
| 6  |(MPE V/E only) VPLUS extends   |DO NOT ACTIVATE this option    |
|    |terminal status reads to ensure|unless experiencing VPLUS      |
|    |that input termination         |"terminal status request       |
|    |character is accounted for.    |failed" errors due to network  |
|    |                               |delays.                        |
----------------------------------------------------------------------
| 7  |Diagnostic only.               |                               |
----------------------------------------------------------------------
| 8  |VPLUS does not force 7009x     |If 7009x terminal is configured|
|    |terminals to 80 columns.       |for 132 columns, there is a    |
|    |                               |possibility of data corruption.|
----------------------------------------------------------------------
| 9  |VTURNON and VTURNOFF do not    |                               |
|    |reset terminal function keys   |                               |
|    |to default strings.            |                               |
----------------------------------------------------------------------
| 10 |(MPE/iX) VPLUS inhibits dual   |It will be awkward for user to |
|    |terminator; only the record    |recover a blockmode application|
|    |separator (instead of either   |after a power failure.  Also,  |
|    |the record separator or the    |applications will treat line   |
|    |carriage return) will be       |feeds as terminators, not as   |
|    |recognized as a record         |data.                          |
|    |terminator.                    |                               |
----------------------------------------------------------------------
| 11 |VTURNON does not save 7009x    |                               |
|    |terminal function key          |                               |
|    |configuration information.     |                               |
----------------------------------------------------------------------
| 12 |VOPENTERM does not save and    |                               |
|    |VCLOSETERM does not restore    |                               |
|    |7009x terminal function        |                               |
|    |configuration information.     |                               |
----------------------------------------------------------------------
| 13-|Reserved.                      |                               |
| 18 |                               |                               |
----------------------------------------------------------------------
| 19 |Diagnostic only.               |                               |
----------------------------------------------------------------------
| 20 |(MPE/iX only) VPLUS posts      |                               |
|    |pending terminal driver        |                               |
|    |reconfigurations to overcome   |                               |
|    |timing windows and force       |                               |
|    |synchronization.               |                               |
----------------------------------------------------------------------
| 21-|Reserved.                      |                               |
| 29 |                               |                               |
----------------------------------------------------------------------
| 30 |VPLUS posts pending terminal   |There will be incremental file |
|    |driver reconfigurations to     |system overhead associated with|
|    |overcome timing windows and    |the posting action; this       |
|    |force synchronization in a     |overhead is only necessary if  |
|    |multi-hop network environment. |difficulties are being         |
|    |                               |experienced.                   |
----------------------------------------------------------------------
| 31 |VOPENTERM and VIDTERM do not   |If executing VPLUS in a job and|
|    |check JOB/SESSION mode when    |no valid file equation to the  |
|    |doing terminal open (available |terminal exists, then job      |
|    |in soon to be released VPLDV28 |$STDIN file may be corrupted.  |
|    |(MPE V/E) and VPLEXF7 (MPE/iX) |                               |
|    |patches).                      |                               |
----------------------------------------------------------------------
| 32-|Reserved.                      |                               |
| 80 |                               |                               |
----------------------------------------------------------------------

To use VENVCNTL file, do the following:

Use EDITOR to create 80-byte file, and KEEP,UNN after putting the
character '1' in the appropriate columns.

Before running program, issue the following command:

:FILE VENVCNTL.PUB.SYS=VENVCNTL.MYGROUP.MYACCT, where MYGROUP.MYACCT
is the location of your VENVCNTL file.

Recommend columns 1, 5, and 20 be set to 1 - for now.
----------------------------------------------------------------------------
-------------------------
   Gilles Schipper                              Voice:     905/889-3000
   GSA Inc.                                     Fax:        905/889-3001
   300 John Street, Box 87651           Internet:  [log in to unmask]
   Thornhill, ON  Canada  L3T 7R4       Compuserve: 71203,474
----------------------------------------------------------------------------
-------------------------

ATOM RSS1 RSS2