PUN4IPT Bulletinboard

This page was created for users of PUN4IPT to keep you informed about ongoing activities or about common problems that you might run into.

As of now (22 of November 2010) 2.1 works in z/VSE (VSE 3.1 and in VSE 4.3) as well.

Current version is now Ver 2.3.

This is identical to version 2.2 except the defaults dataspace-size has changed. As of March 15th 2008 ver 2.2 is available. Correction to error-handling in when under REXX.

Size of the dataspace:

The system defaults no longer to a size of 512K, but allocates now 1M. This is to make it eligible for large page support. This is available from 4.3 and kicks in when the paging system can support large pages. Since the algorithm in z/VSE 4.3 does not reclaim large pages if the system decides at any point that it can not support them anymore, PUN4IPT pages are an excellent place for using this support.
To change that you need to modify offset E14 (ver 2.0) or AEC (ver 2.1+2.2). This is a fullword and has now 00100000 in it.

You do not have to use REMOVE-function prior to applying this.
 

What is this cryptic PUN4IPT.DEC?

It is JCL with input for a LNKEDT run. TXT/ESD/END cards should not be subject to any code-conversions. To change the JCL around the TXT-cards, you need to upload it (without conversion) to a suitable editor. If you only have VSE native and only ICCF all I can think of is to load it into a LIBR-member and then edit that one.

Why does it not work on older releases of VSE/ESA?

The SCB for dataspaces has a different layout. The code can be adapted to that, but is anyone still using 2.1 or below?

List of supported Preprocessors

The author (me-Martin) would like to create a list of compilers / preprocessors / utilities that the system does work with (and if there are any - does not work with). The technique used in the program is universal and should work with any product if it was not converted from autocoder times.
Here is what I know:
PHASE-NAME Function
DTSUTIL ICCF utility (punch)
LIBR LIB-utility read+punch
IGYCRCTL COBOL read+punch
ASMA90 Assembler read+punch
ARIPRPC SQL-preprocessor punch
DFHECP1$ CICS-COBOL-preprocessor read+punch
DFHEAP1$ CICS-ASS-preprocessor read+punch
SYIPTPRM
Copy SYSIPT to SYSPCH with SETPARM substitution (from F. Ramaekers)
IESINSRT Curiosity kills cats(!) read+punch
FTPBATCH
FTP here: read preprepared SYSIPT-data
REXX EXECIO against SYSPCH.... No idea- comes with 2.7. We will see.

Please mail me if you have additions to this list. And do it private not on VSE-L (;-)

Usefull programs around PUN4IPT:

Contributed by Frank Ramaekers

SYIPTPRM 

inserted 2005/06/28 

It is sometimes nice to have SETPARM variables in SYSIPT. Since only a few Vendors (and not IBM) have heard that cry for help, Frank has written a program that copies the input (SYSIPT) to SYSPCH. During this copy it does replacement of SETPARM variables. 
Since all (well almost) utilities use DTFDI (or DTFCP) this utility can be used to create an input-stream on SYSPCH (with PUN4IPT in a dataspace). Frank uses his utility with FTPBATCH. I can think of IDCAMS and many more.

Click here to download the source of it.

Closed problems in Ver 1.4:

Closed at 2002/05/22 09.30 UTC

System drops significant amount of cards in the beginning of programs, if DS is exactly 5M (or any multiple of 80 or up to 16 above that multiple). Thanks to an installation, that had programs with 35000 cards (thirty-five-thousand), this was discovered.

The fix is tested okay

 // EXEC MSHP
   PATCH S=IJSYSRS.SYSLIB
   AFF PHASE = PUN4IPT
   ALTER 05F4 35F4 : 1871
   ALTER 05F6 35F6 : 0670
   ALTER 05F8 35F8 : 1A76

   ALTER 05FA 03FA : 07FE
   ALTER 0714 18710670 : 45E035F4
  /*
You do not have to use REMOVE-function prior to applying this.

This patch is incooperated in what you get when you ask for it from now on.

New Version 1.4 as of 9.th of April 2002

Problems with the COBOL preprocessor in VSE 2.5 are now fixed (no exact info what caused it, sorry).
Pathlength for function SWITCH could be dramaticly reduced (but what are 1000 instructions on a 60MIPS box).

New Version 1.3 as of 10.th of September 2001

All problems from Ver 1.1 are fixed.

No problems as of 2001/09/10 09.00 UTC.

Closed problems in Ver 1.1:

Closed at 2001/01/14 09.30 UTC

System ignores size of dataspace at D8C, but uses min-size as in SYSDEF DFSIZE.
The fix is tested okay

 // EXEC MSHP
   PATCH S=IJSYSRS.SYSLIB
   AFF PHASE = PUN4IPT
   ALTER 05E2 35E235E4 : 8800000C
   ALTER 05E6 35E635E8 : 50003D90
   ALTER 05EA 35EA35EC : 47F03354
   ALTER 0350 8800000C : 47F035E2
  /*
You do not have to use REMOVE-function prior to applying this.

Closed at 2000/10/04 17.30 UTC

On certain levels of VSE (I know it occurs in 2.4.1) the system returns a 12 against a FREEVIS. This is because of a coding error in PUN4IPT.

The fix is tested okay - PUN4IPT + 802 VER=41F0,0004 REP=41F0,0200

It does not hurt, if you apply the fix if the problem is not there.

You do not have to use REMOVE-function prior to applying this.

Closed at 2000/10/06 18.00 UTC

If SWITCH is used and there are no records on SYSPCH, the system causes a program-check with R4 being -70. Minor problem that might be caused by wrong use or a forgotten // OPTION DECK.

The fix is tested okay

   // EXEC MSHP
    PATCH S=IJSYSRS.SYSLIB
    AFF PHASE = PUN4IPT
    ALTER 05D4 35D4     : 1244
    ALTER 05D6 35D635D8 : 474036FC
    ALTER 05DA 35DA35DC : 58503D8C
    ALTER 05DE 35DE35E0 : 47F036C6
    ALTER 06C2 58503D8C : 47F035D4
   /*
You do not have to use REMOVE-function prior to applying this.

Open problems in Ver 1.1:

On 9th of March 2001 I discovered a minor problem with PUN4IPT. When used and SYSPCH is assigned to certain punch-devices, a blank card appears in the punch queue.

Circumvention:
Use a * $$ PUN PURGE=16 card. This purges the blank card.
Fran Hensler pointed out that an // ASSGN SYSPCH, FFD where FFD is a 2540P works also.

To fix this it would need zaps to various places. The source modification was only 2 lines. I decided that it is time for a new version anyway.

Added after problems occured: The solution will likely be some extra bits to be set in the DTFCP/DTFDI. This needs thouroughly testing and may take a while.