I was hopeful that the IEZIOB would include the missing fields. Unfortunately 
it does not. Before opening an SR with IBM, I thought I'd give the List one 
more shot. The $BUFFER macro changed in z/OS 2.2; we're jumping from 2.1 to 2.3 
using code carried unmodified for decades (!).

The following code demonstrates the difference. The same job will assemble 
successfully under 2.1 but fail under 2.3--and presumably 2.2 as well. There is 
no executable code. The segment just illustrates the assembly errors from 
$BUFFER symbols missing at 2.2+.

//ASM    EXEC PGM=ASMA90,REGION=32M               
//SYSTERM  DD  SYSOUT=* 
//SYSPRINT DD  SYSOUT=* 
//SYPUNCH  DD  SYSOUT=* 
//SYSLIN   DD  DUMMY                              
//SYSLIB   DD  DISP=SHR,DSN=OSRxx.SHASMAC <=== Use SYSLIB for appropriate z/OS 
level    
//SYSIN  DD  *                                    
TEST$BUF AMODE 31                                 
TEST$BUF RMODE ANY                                
TEST$BUF CSECT                                    
         B     STEPSTRT-TEST$BUF(,15) SKIP HEADER 
         DC    AL1(STEPSTRT-*)                    
         DC    C'TEST$BUF_&SYSDATE._&SYSTIME'     
STEPSTRT DS    0H                                 
         $BUFFER                                  
         END                                      

.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler 
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
[email protected]

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Jim Mulder
Sent: Saturday, May 12, 2018 10:13 AM
To: [email protected]
Subject: (External):Re: Problem with $BUFFER control block

   The $BUFFER macro contains this line:

* $Z22LCKP=64BCKPT  HJE77A0 140821 TJW:  Use MVS IOB DSECT            *

 So I would guess that, starting with z.OS 2.2,  you need to include
the SYS1.MACLIB(IEZIOB)    DSECT in your program. 


Jim Mulder z/OS Diagnosis, Design, Development, Test  IBM Corp. 
Poughkeepsie NY


> 
> I'm embarrassed to ask this question, but I've been over the same 
> ground many times to no avail. We have carried several SMF exits from 
> release to release without complications. In moving from z/OS
> 2.1 to 2.3, we suddenly get an assembly error in $BUFFER that makes no
sense:
> 
>                                    9476          $BUFFER
> 000018                             9935+BUFIOBST DS    XL(IOBLENG) Defin
> ASMA068S Length error - L(IOBLENG)
> ASMA435I Record 484 in SYS1.SHASMAC($BUFFER) on volume: R23DLB
>                                    9941+TPBMXREC EQU   IOBINCAM,
> 1,C'C'     Max R
> ASMA044E Undefined symbol - IOBINCAM
> ASMA435I Record 490 in SYS1.SHASMAC($BUFFER) on volume: R23DLB
>                                    9942+IOBECBSV EQU   IOBINCAM+1,1 I/O 
C
> ASMA044E Undefined symbol - IOBINCAM
> ASMA435I Record 491 in SYS1.SHASMAC($BUFFER) on volume: R23DLB
>                                    9943+TPBLCCC  EQU   IOBXTENT,
> 1,C'C'     Last
> ASMA044E Undefined symbol - IOBXTENT
> ASMA435I Record 492 in SYS1.SHASMAC($BUFFER) on volume: R23DLB
>                                    9944+TPBLCCAD EQU   IOBXTENT,
> 4,C'A'     Addr
> ASMA044E Undefined symbol - IOBXTENT
> ASMA435I Record 493 in SYS1.SHASMAC($BUFFER) on volume: R23DLB
>                                    9945+IOBXTENT EQU   IOBM,1,C'C' DEB e
> ASMA044E Undefined symbol - IOBM
> ASMA435I Record 494 in SYS1.SHASMAC($BUFFER) on volume: R23DLB
>                                    9952+         ORG   BUFIOBST+
> (IOBSEEK-IOBDSEC
> ASMA080E Statement is unresolvable
> ASMA435I Record 501 in SYS1.SHASMAC($BUFFER) on volume: R23DLB
>                                   10013+         ORG   BUFIOBST+
> (IOBSEEK-IOBDSEC
> ASMA080E Statement is unresolvable
> ASMA435I Record 563 in SYS1.SHASMAC($BUFFER) on volume: R23DLB
> 000050                            10085+HDBID    DS    CL4'HDB' 
Eyecatche
> 0000D8                            10257+         DC    0S((BUFSTART-
> BFPDSECT)-(B
> ASMA028E Invalid displacement
> ASMA435I Record 809 in SYS1.SHASMAC($BUFFER) on volume: R23DLB
> Assembler Done      9 Statements Flagged /  12 was Highest Severity Code
> 
> I can't understand the undefined symbols. I'm able to recreate the
> 2.1 exit code using the 2.1 release libraries. Symbol  IOBLENG for 
> example  simply is not defined in the 2.3 release even though the 
> symbol is used. Am I missing something transparently obvious?

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to