¿ªÔÆÌåÓý


Re: How to distribute Rexx helpfiles?

 

On Mon, Nov 4, 2024 at 4:18?PM Mark Waterbury via <mark.s.waterbury=[email protected]> wrote:
How are you packaging and delivering the actual code for distribution currently?

bREXX has an established practice for distribution, which I have repeated for the upcoming release.? The code is built completely on GitHub (including launching VM/370 under Docker to compile it!), then packaged in three forms:
  1. A pair of "binary" and "source" AWS tape files.
  2. A pair of "binary" and "source" VMARC files.
  3. A replacement for the GCCBRX DASD file of VM/370 CE.
The AWS tapes and VMARC files contain the exact same set of CMS files.? The DASD file is, of course, somewhat different,?but the minidisks on it contain the files that were dumped for the first two formats.

?I would create a VMARC archive file that contains all of those help files that need to go on the MAINT 19D minidisk, with instructions so anyone can sign-on as MAINT, access 19D as R/W, and then VMARC UNPACK them to that disk.

Thanks, that's a good option.

? You (or someone) could upload this VMARC file to the "Files" area of this H390-VM list group.

I'd probably distribute it from GitHub along with the rest of bREXX, so at least it could be versioned.

?I would also add them to that github.

Makes sense.

Thanks!

Ross


Re: How to distribute Rexx helpfiles?

 

i, Ross,
?
How are you packaging and delivering the actual code for distribution currently?
?
I would create a VMARC archive file that contains all of those help files that need to go on the MAINT 19D minidisk, with instructions so anyone can sign-on as MAINT, access 19D as R/W, and then VMARC UNPACK them to that disk.? You (or someone) could upload this VMARC file to the "Files" area of this H390-VM list group.
?
I would also add them to that github.
?
All the best,
?
Mark S. Waterbury


Re: How to distribute Rexx helpfiles?

 

I will have the same question when the NEW EE is mature enough for a broader release.
I think these help files should be included in the product distribution to encourage people to give the new stuff a try.
?
I see the VM/CE distribution as targeted to new users, this will not help existing users to update their carefully configured system.
?
In the case of the NEW EE I expect that people want to have it immediately, once convinced. They do not want to wait for the next release of VM/CE .
?
Something personal: I am preparing for a hospital stay, there will be no fixes and bleeding edge releases of EE until I have returned and recovered.
?
Martin?
?


Re: First beta of bREXX 1.1.0 now available

 

I have installed the binary distribution via VMARC on the MECAFF user. There is a change how REXX tracing works which is disturbing EENEW's internal machinery. My workaround is to begin all REXX programs with "TRACE 'Off'".
?
TRACE 'Negative' behaves the same as TRACE 'Errors' but these should differ.? The new bREXX has changed in the way, that TRACE 'Negative' does trace host commands with a positive return code but these should not be traced by TRACE 'Negative'.
?
I have checked this on SDFVM's VM/SP5 .
Martin
?
Quote from HELP REXX TRACE on SDFVM:
?
Commands ? ? ? all host commands are traced before execution and any ??
? ? ? ? ? ? ? ?non-zero return code is displayed. ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Error ? ? ? ? ?any host command resulting in a non-zero return code is?
? ? ? ? ? ? ? ?traced after execution. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
[...] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Negative ? ? ? (Negative or Normal); any host command resulting in a ??
? ? ? ? ? ? ? ?negative return code is traced after execution. ?This ??
? ? ? ? ? ? ? ?is the default setting. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??


How to distribute Rexx helpfiles?

 

As part of the bREXX update effort, I sat down and wrote a full set of HELP files for it, similar to the existing set of HELPEXC for EXEC.? What's the best way to distribute these?? I could certainly add them to the bREXX release packages, but they'd still need to be moved to the MAINT 19D disk somehow.? Or would folks rather I get them into the HELP collection at?, from whence I expect they'd wind up in the next VM/CE release?

Or other ideas?

Thanks,
Ross


Re: Possible Diag 8C Issue

 

Hi William,
?
It is true that DIAG8C does not return row/column values based on the RPQ result, but mostly because it doesn't need to.? CP was already built around having fixed model numbers for 3270 devices and only supported model 2 and 2A 3270s at the time Release 6 of VM/370 was released.? These fixed model numbers are based around the DMKGRT/DMKGRW tables in CP, one for each model number and their screen size characteristics.
?
Someone else added support for models 3 and 4 around 2006, and I added support for model 5 devices in 2018.? At that time, I also added the RPQ support so one could use MODEL=DYNAMIC in DMKRIO and thereby avoid having to code a fixed model size for each individual device or having to regenerate the CP nucleus just to change a terminal to a different size. Each of these sizes from models 3-5 require a new DMKGRx table, which were added in 2006 and 2018.
?
The RPQ support uses the returned row/column information to establish which of the IBM defined models 2-5 a given device is using.? If the row/column information returned is not one of those, then the model number is forced to model 2 and a 24x80 display.? However, the real purpose of DIAG8C as used in VM/370 is simply to return the extended data:? whether the terminal has color features, extended buffer addressing, and so on.
?
Also you may or not be aware that there is documentation for DIAG58/DIAG7C/DIAG8C and dynamic model and model 5 support.? There is an extensive PDF document for each of these.? Since these features were preinstalled by someone else on VM/CE, I do not know what happened to the documentation.? But in any case, the documentation is available in the files section of this group within the "diag58v310.zip" package (all of this support is in the one package).? The documents are important if you want to extend any features or make changes because the present limitations are also defined and explained.? They also explain the RPQ and when it is issued by CP.
?
For something like the Logical Device Facility (LDF, DIAG7C), this isn't really designed to work with the extended screen sizes you are proposing.? This is because my LDF support was made to function to the VM/SP 5 specification (as explained in the documentation mentioned above) and that specification is specifically for model 2-5 devices as documented by the relevant VM/SP manual.? That's not to say that it could not be extended, but it is an extra complication.?
?
For extended size support in general, dealing with the vagaries of DMKGRF, which in my view is a miserable piece of code, will be quite difficult, as well as coping with the fixed tables of DMKGRT and their ilk.
?
As for the MECAFF editor EE and its friends FSVIEW and FSLIST, this software issues its own RPQ upon invocation, and if you are using an extended size 3270, say 62x160 for example, these commands will display properly in that mode, right now today.?? However, once you exit the MECAFF tool, then your screen reverts to model 2 mode for everything else.?? At least that's the behavior under VM Sixpack, which is what I use (I can't get behind VM/CE and some of the crazy stuff that has been done to it; just my personal opinion).
?
There may be other things that might have issues with extended screen sizes.? For example, even to introduce model 5 support, the CMS EDIT command had to be modified to handle the increased line length.? See patch HRC073DS.?? With a large size, CP might also have issues with the line length for CP commands, and/or might need extensive changes in DMKVCN (CP virtual console support) in order to deal with size issues, as well as supporting the original DIAGNOSE 58 non-full screen functionality that was already part of CP as distributed, long before the full-screen support was introduced.
?
Regards,
Bob
?


Re: Possible Diag 8C Issue

 

On Sun, Nov 3, 2024 at 04:23 Dave Wade via <dave.g4ugm=[email protected]> wrote:
On 03/11/2024 08:02, William Denton via wrote:
> Have the C coders anticipated the use of the CMS UPDATE command used against their code????

Seeing as "C" code cannot have sequence numbers in 73-80 you can't use
UPDATE to maintain it.

Back when I worked for VM Software/Systems Center/Sterling Software (whew!? I'll never write that again!), we had a lot of CMS application code written in C.? We had our own toolset to maintain it, but at the bottom of it all was XEDIT in UPDATE mode and EXECUPDT.? I forget which VM/SP level introduced?EXECUPDT, but it used UPDATE* in the classic VMFASM manner to create a variable format output file without sequencing (and other optional changes that made no sense for C code).

The net of it was that we could edit C code exactly like in any other editor, the editor created UPDATE files, we could apply them and produce a source file exactly like the compiler expected, and all of our UPDATE-oriented code management tools just worked.

Ross

* When IBM introduced EXECUPDT, it also modified UPDATE to support files wider than 80 columns.


Re: Possible Diag 8C Issue

 

On 03/11/2024 08:02, William Denton via groups.io wrote:
Bob..
Thanks for pointing out to me that the update for mod 5 also bumped the Diag8C return values. I guess my point was that the current Diag8C implementation does not return values based on the RPQ results.
I suppose the larger question is how would users of Diag8C respond to arbitrary values for row/column configurations... I suspect that the VM Rel3 Editor would have issues without a mod... what about EE and others??? My "any size" mod to CP is not prepared to make any updates to C code... not exactly sure how to package that?? Have the C coders anticipated the use of the CMS UPDATE command used against their code????
Seeing as "C" code cannot have sequence numbers in 73-80 you can't use UPDATE to maintain it.

There are copies of "DIFF" and "PATCH" on the CE edition which can be used in the same way, but I suspect most "C" developers store their code in GIT , or a similar modern source management system, which tracks changes in a similar way.

Sorry to introduce many other issues here... but...
cheers, William
Dave


Re: Possible Diag 8C Issue

 

Bob..
Thanks for pointing out to me that the update for mod 5 also bumped the Diag8C return values. I guess my point was that the current Diag8C implementation does not return values based on the RPQ results.
?
I suppose the larger question is how would users of Diag8C respond to arbitrary values for row/column configurations... I suspect that the VM Rel3 Editor would have issues without a mod... what about EE and others??? My "any size" mod to CP is not prepared to make any updates to C code... not exactly sure how to package that?? Have the C coders anticipated the use of the CMS UPDATE command used against their code????
?
Sorry to introduce many other issues here... but...
?
cheers, William
?
?
?
?


First beta of bREXX 1.1.0 now available

 

The first beta release of bREXX v1.1.0 for CMS on VM/370 is now available at .
I have been testing this update for several weeks, and it has no known bugs. I do not recommend replacing your existing bREXX version with it, but it is ready for broader testing.

I expect there to be at least a beta-02 before the actual release.? Your feedback is greatly desired :-)

Ross

===========================

Release contents

This release builds upon the existing work of others (i.e., bREXX 1.0.1), and adds:

- Fix SIGNAL ON ERROR for positive return codes ()
- Implement SIGNAL ON FAILURE ()
- Make PARSE VERSION result conform to ANSI and TRL2 standards ()
- Fix PARSE "with literals" (), including adding tests for PARSE instruction
- Enable tests in builds and fix them to work.? Some tests failed on bREXX 1.0.1 and still fail on bREXX 1.1.0 Beta:
? ? - DATE
? ? - ERRORTEXT #2
? ? - PARSE #16, #19

Notes

* All the prerequisites were shipped in VM/370 Community Edition v1.1.2 or earlier.? I have not attempted to run it on an older CMS than that, but any system with at least the following will probably work:

? * GCCLIB v1.0.1
? * HRC402DS - Support execution of REXX as filetype EXEC
? * HRC404DS - NUCEXT and SUBCOM support
? * HRC408DS - CMS support for REXX external function callsCMS Rexx function call support
? * HRC412DS - PE HRC309DS. Bad EPLIST built when no cmd operandsfix to EPLIST support (HRC309DS)
? * HRC417DS - Support RDTERM TYPE=DIRECT for REXX tracing

* These instructions assume you're testing bREXX on the CMSUSER user, but you can use any general purpose user you prefer. ?DO NOT use the MAINT or MAINTC users for this purpose, as it will delete the existing bREXX files.

* This release includes a new tool, BRXLOAD EXEC, to load the source and??object files and put them where they belong in a user structured like MAINTC.? I would appreciate feedback on it, as it's very new.

To install from source

See also Adrian Sutherland's .

1. Download bREXX 1.1.0-Beta 01 from the URL above to the machine where you run Hercules.
2. Unzip BREXX.zip.
3. Create a user similar to MAINTC (e.g., BRXTEST).
? ?*** DO NOT USE MAINTC, AS THIS PROCEDURE WILL WIPE OUT THE OLD bREXX ***
4. Decide if you prefer to install from AWS tape or VMARC - the contents are identical
5. If AWS:
? ?5.1 At the Hercules console, enter: devinit 480 <unzip_dir>/brexxsrc.aws
? ?5.2 On a VM user with sufficient privileges (e.g., OPERATOR), enter: ATTACH 480 TO BRXTEST AS 181
? ?5.3 On BRXTEST, enter: TAPE LOAD BRXLOAD EXEC A # TAPE REW
? ?5.4 On BRXTEST, enter: BRXLOAD TAPE
6. If VMARC:
? ?6.1 Upload BREXXSRC.VMARC to CMSUSER's A-disk in binary, fixed format, record length 80.
? ?6.2 On BRXTEST, enter: VMARC UNPK BREXXSRC VMARC A BRXLOAD EXEC A (OLDD
? ?6.3 On BRXTEST, enter: BRXLOAD VMARC
7. On BRXTEST, enter: BRXBUILD
8. Copy the resulting BREXX TEXT file to CMSUSER.
9. Continue at #6 below.

===========================================

To install from object deck

See also Adrian Sutherland's?.

1. Download bREXX 1.1.0-Beta 01 from the URL above to the machine where you run Hercules.
2. Unzip BREXX.zip.
3. Decide if you prefer to install from AWS tape or VMARC - the contents are?identical
4. If AWS:
? ?4.1 At the Hercules console, enter: devinit 480 <unzip_dir>/brexxbin.aws
? ?4.2 On a VM user with sufficient privileges (e.g., OPERATOR), enter: ATTACH 480 TO CMSUSER AS 181
? ?4.3 On CMSUSER, enter: TAPE LOAD BREXX TEXT A # DETACH 181
5. If VMARC:
? ?5.1 Upload BREXXBIN.VMARC to CMSUSER's A-disk in binary, fixed format, record length 80.
? ?5.2 On CMSUSER, enter: VMARC UNPK BREXXBIN VMARC A BREXX TEXT A (OLDD
6. If you haven't applied the , ensure that GCCLIB is not loaded from the shared segment.? On CMSUSER, enter: DEF STOR 16M
7. IPL CMS
8. The system profile will load the new BREXX TEXT into your user's virtual memory as your version of Rexx.
9. Confirm that you're running the new version:
? ?9.1 Enter: DMSREX VERSION
? ?9.2 Enter: REXXTRY # EXIT
? ?9.3 In both cases, the version number should be "REXX-bREXX-2.1.9-CMS370-1.1.0-beta-01".
10. Optionally, obtain the test suite from the source distribution and run it:
? ?10.1 Follow the source installation steps above up through step 6.
? ?10.2 Copy all the EXEC files that do not begin with "BRX", except for?REXXTRY, SYSPROFB, and TXTDATE, to CMSUSER.
? ?10.3 Copy TESTEXC ASSEMBLE to CMSUSER.
? ?10.4 On CMSUSER, enter: RUNTEST_

To return to the pre-existing bREXX version, simply rename the object deck (e.g., RENAME BREXX TEXT A BREXX110 = =) and re-IPL CMS to load the normal system bREXX.? Enter "DMSREX VERSION" and the version number should be "BREXX-CMS370-x.y.z", for some value of "x.y.z" (e.g., 1.0.1 for VM/370 CE 1.2).

===========================================

You can also install this release by deploying the gccbrx.cckd Hercules DASD file from the release ZIP file.? You'll need to re-label it to something other than GCCBRX, and then add it to your Hercules configuration and bring it online to CP.? If you understand how to do that, feel free.? It works, I tested it.


Re: Possible Diag 8C Issue

 

The original Diagnose 8C code only supported 3270 models 2, 3, and 4 because at the time that was all that was supported in the VM/370 code that we had.? Later, when model 5 support was added to the system, then Diagnose 8C was extended to support that device and 132 columns as well as 80 columns.? See patch HRC073DK, which among other things modified the Diagnose 8C code.
?
Regards,
Bob
?


Possible Diag 8C Issue

 

I am working on an update to CP that would allow pretty much arbitrary display screen sizes.
?
One thing I noticed in the current Diagnose 8C code is that the returned column count is being hardwired at 80.In fact, the code actually comments out the statements that set the column count from the RPQ results.
?
I am wondering why that is? Is there some function someplace that calls Diag8C and can't deal with arbitrary values?
?
cheers, William


Re: Let's Talk About RSCS

 

FYI, RJE from VM works with MVT 21.8F as well, in case either of you use that OS.
?
Jeff
?


Re: Let's Talk About RSCS

 

Somone informed me off list that their "MVS expert" states the actual buffer size is 520.
?
I've been experimenting with that today and it is working well.


Re: VM Guest Printing

 

Dan,
?
From the first level's operator's console, you'd be closing the operator's virtual printer.? To close the VM hosting the second level machine from the operator's console, you'd have to "send" the command to it:
?
CP SEND LEVEL2VM #CP CLOSE PRT
?
I still have a some VM/SP Rel 5 manuals, so I checked, and there doesn't appear to be a Class D version of the CLOSE command, where you could specify userid and device.
?
Gosh, am I rusty.....
?
Jim


Re: VM Guest Printing

 

OK folks, I solved it!

I was doing the CP CLOSE PRT from the 1st level operator console. ?That did not work but when I tried it from the 2nd level operator console as #CP CLOSE PRT, that did it.

I wonder why it won't work from the 1st level console as Bob indicated it should?

And thank you for LINED character change suggestion for the 2nd level operator. ?I implemented that.

To say that I generally know what I'm doing, I think it more accurate to say I'm generally learning what I forgot and what I never knew.

Thanks.


On Thu, 2024-10-24 at 10:13 -0400, Jeff Henry wrote:
I used to do it the other way around. I'd change the guest machine's first-level LINEND character to something other than #. That way, when I habitually typed #CP something on the 2nd level machine, I wouldn't accidentally do something to the (production) first-level system. Oh, and on a related note - don't give the guest machine anything other than class G in the first-level directory.

On Thu, Oct 24, 2024 at 9:41?AM Ross Patterson via <ross.patterson=[email protected]> wrote:
On Thu, Oct 24, 2024 at 09:08 Daniel L. Srebnick via <dan=[email protected]> wrote:
So I tried something else.? I attached 00F to the 2nd level VM and now printing works flawlessly with no extra steps or closes.


Sure, that'll work fine.

You sound like you generally know what you're doing on VM, so I hesitate to ask, but have you changed the LINEND character on your second-level CP's OPERATOR user?? One of the big gotchas running CP in a VM is which CP gets the command when you type #CP at the virtual console.? Old timers like me used to put something like TERM LINEND $ in the second-level OPERATOR's PROFILE EXEC, so #CP whatever went to first-level and $CP whatever went to?second-level.

Ross



--
Jeff Henry


Re: VM Guest Printing

 

I used to do it the other way around. I'd change the guest machine's first-level LINEND character to something other than #. That way, when I habitually typed #CP something on the 2nd level machine, I wouldn't accidentally do something to the (production) first-level system. Oh, and on a related note - don't give the guest machine anything other than class G in the first-level directory.

On Thu, Oct 24, 2024 at 9:41?AM Ross Patterson via <ross.patterson=[email protected]> wrote:
On Thu, Oct 24, 2024 at 09:08 Daniel L. Srebnick via <dan=[email protected]> wrote:
So I tried something else.? I attached 00F to the 2nd level VM and now printing works flawlessly with no extra steps or closes.

Sure, that'll work fine.

You sound like you generally know what you're doing on VM, so I hesitate to ask, but have you changed the LINEND character on your second-level CP's OPERATOR user?? One of the big gotchas running CP in a VM is which CP gets the command when you type #CP at the virtual console.? Old timers like me used to put something like TERM LINEND $ in the second-level OPERATOR's PROFILE EXEC, so #CP whatever went to first-level and $CP whatever went to?second-level.

Ross



--
Jeff Henry


Re: VM Guest Printing

 

On Thu, Oct 24, 2024 at 09:08 Daniel L. Srebnick via <dan=[email protected]> wrote:
So I tried something else.? I attached 00F to the 2nd level VM and now printing works flawlessly with no extra steps or closes.

Sure, that'll work fine.

You sound like you generally know what you're doing on VM, so I hesitate to ask, but have you changed the LINEND character on your second-level CP's OPERATOR user?? One of the big gotchas running CP in a VM is which CP gets the command when you type #CP at the virtual console.? Old timers like me used to put something like TERM LINEND $ in the second-level OPERATOR's PROFILE EXEC, so #CP whatever went to first-level and $CP whatever went to?second-level.

Ross


Re: VM Guest Printing

 

Hi Bob:

That did not work either. ?The spooled file is there at level 2 as long as the printer is drained. ?Starting it and the output vanishes.

So I tried something else. ?I attached 00F to the 2nd level VM and now printing works flawlessly with no extra steps or closes.



On Thu, 2024-10-24 at 05:47 -0700, Bob Polmanter wrote:
Daniel,
?
You have to issue the CP CLOSE PRT from the virtual machine console (first level) userid that is hosting the 2nd level VM system.
?
At that point, if your first level system printers are stopped (e.g., device 00e or 00f) then you should see the output in a CP Q PRT ALL command, sitting in the first level spool.? If the printers are started then you will see a message on the first level operator console that the output is bring printed and it should be available in your disk file.
?
Regards,
Bob
?


Re: VM Guest Printing

 

Daniel,
?
You have to issue the CP CLOSE PRT from the virtual machine console (first level) userid that is hosting the 2nd level VM system.
?
At that point, if your first level system printers are stopped (e.g., device 00e or 00f) then you should see the output in a CP Q PRT ALL command, sitting in the first level spool.? If the printers are started then you will see a message on the first level operator console that the output is bring printed and it should be available in your disk file.
?
Regards,
Bob
?