Page 1 of 1

Copying VBS file to VB.

Posted: Sat Jul 25, 2020 4:57 pm
by DB2 Guy
Hi,

I'm trying to copy a VBS dataset to VB. I've tried the below JCL but in vain:

Code: Select all

//S1       EXEC PGM=ICEMAN                    
//SYSOUT   DD SYSOUT=*                        
//SORTIN   DD DSN=ABCD.MQTEST.ERRORS,DISP=SHR
/*                                            
//SORTOUT DD SYSOUT=*                         
//SYSIN   DD   *                              
  OPTION COPY                                 
/*                                            
This JCL ends in the following message:

Code: Select all

  OPTION COPY                                                           0014000
WER813I  INSTALLATION OPTIONS IN MFX LOAD LIBRARY WILL BE USED                 
WER550I  ZPCOPY EXECUTED - TYPICAL SAVINGS ARE UP TO 95% TCB TIME AND 20% ELAPS
WER276B  SYSDIAG= 116632, 1183822, 1183822, 2594415                            
WER164B  9,008K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,             
WER164B     0 BYTES RESERVE REQUESTED, 3,972K BYTES USED                       
WER146B  64K BYTES OF EMERGENCY SPACE ALLOCATED                                
WER108I  SORTIN   : RECFM=VBS  ; LRECL=   231; BLKSIZE= 23200                  
WER073I  SORTIN   : DSNAME=ACSNS.MQTEST.ERRORS                                 
WER110I  SORTOUT  : RECFM=VBS  ; LRECL=   231; BLKSIZE= 23200                  
WER074I  SORTOUT  : DSNAME=MISAD2.MISAD2FI.JOB63458.D0000103.?                 
WER410B  6,956K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16-MEGABYTE LINE, 
WER410B     0 BYTES RESERVE REQUESTED, 3,036K BYTES USED                       
WER158I  RECORD LENGTH GREATER THAN L2, CUT TO L2                              
WER157A  SPANNED RECORD LENGTH LARGER THAN LRECL                               
WER157A  SPANNED RECORD LENGTH LARGER THAN LRECL  
WER493I  ZIIP PROCESSOR USED                      
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000     
Anyone has a suggestion, please?

Re: Copying VBS file to VB.

Posted: Sat Jul 25, 2020 5:00 pm
by DB2 Guy
I've also used DCB on the SORTOUT instead of the SYSOUT but that also didn't work. Got the same error as in the above messages.

I've also used IDCAMS, like this:

Code: Select all

//*                                      
//STEP001  EXEC PGM=IDCAMS               
//SYSPRINT DD   SYSOUT=*                 
//*                                      
//SYSIN    DD   *                        
  PRINT INDATASET(ABCD.MQTEST.ERRORS) - 
              DUMP                       
/*                                       
//*
But this ends in to this:

Code: Select all

IEA995I SYMPTOM DUMP OUTPUT  124                             
SYSTEM COMPLETION CODE=002  REASON CODE=00000004             
 TIME=01.01.11  SEQ=22724  CPU=0000  ASID=0044               
 PSW AT TIME OF ERROR  075C1000   80E07A8E  ILC 2  INTC 0D   
   ACTIVE MODULE           ADDRESS=00000000_00E05000  OFFSET=
   NAME=IFG0199B                                             

Re: Copying VBS file to VB.

Posted: Sun Jul 26, 2020 8:33 am
by Robert Sample
The WER157A messages tell you the input data set has records longer than 231, the output record length. Try using VB,23196,23200 for the output data set.

Re: Copying VBS file to VB.

Posted: Mon Jul 27, 2020 12:20 pm
by DB2 Guy

Code: Select all

//S1      EXEC PGM=ICEMAN                                            
//SYSOUT  DD SYSOUT=*                                                
//SORTIN  DD DSN=ACSNS.MQTEST.ERRORS,DISP=SHR                        
//SORTOUT DD DSN=MISAD2.ACSNS.MQTEST.ERRORS,DISP=(NEW,CATLG,DELETE), 
//           SPACE=(CYL,(50,50),RLSE),UNIT=SYSDA,RECFM=VB,LRECL=32756
//SYSIN    DD    *                                                   
  OPTION COPY                                                        
/*                                                                   
//*
This ended with the following messages:

Code: Select all

WER108I  SORTIN   : RECFM=VBS  ; LRECL=   231; BLKSIZE= 23200                 
WER073I  SORTIN   : DSNAME=ABCD.MQTEST.ERRORS                                
WER110I  SORTOUT  : RECFM=VB   ; LRECL= 23196; BLKSIZE= 27998                 
WER074I  SORTOUT  : DSNAME=RACF.ACSNS.MQTEST.ERRORS                         
WER462I  OUTPUT LRECL DIFFERS FROM SORTOUT LRECL                              
WER410B  6,956K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16-MEGABYTE LINE,
WER410B     0 BYTES RESERVE REQUESTED, 5,856K BYTES USED                      
WER158I  RECORD LENGTH GREATER THAN L2, CUT TO L2                             
WER157A  SPANNED RECORD LENGTH LARGER THAN LRECL                              
WER493I  ZIIP PROCESSOR USED                                                  
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                                 
I used this, as you've suggested - using VB,23196,23200:

Code: Select all

//S1      EXEC PGM=ICEMAN                                             
//SYSOUT  DD SYSOUT=*                                                 
//SORTIN  DD DSN=ACSNS.MQTEST.ERRORS,DISP=SHR                         
//SORTOUT DD DSN=MISAD2.ACSNS.MQTEST.ERRORS,DISP=(NEW,CATLG,DELETE),  
//           SPACE=(CYL,(50,50),RLSE),UNIT=SYSDA,RECFM=VB,LRECL=23196,
//           BLKSIZE=23200                                            
//SYSIN    DD    *                                                    
  OPTION COPY                                                         
/*                                                                    
//*                                                                   
This ended with the following messages:

Code: Select all

WER146B  64K BYTES OF EMERGENCY SPACE ALLOCATED                               
WER108I  SORTIN   : RECFM=VBS  ; LRECL=   231; BLKSIZE= 23200                 
WER073I  SORTIN   : DSNAME=ABCD.MQTEST.ERRORS                                
WER110I  SORTOUT  : RECFM=VB   ; LRECL= 23196; BLKSIZE= 23200                 
WER074I  SORTOUT  : DSNAME=RACF.ABCD.MQTEST.ERRORS                         
WER462I  OUTPUT LRECL DIFFERS FROM SORTOUT LRECL                              
WER410B  6,956K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16-MEGABYTE LINE,
WER410B     0 BYTES RESERVE REQUESTED, 5,844K BYTES USED                      
WER158I  RECORD LENGTH GREATER THAN L2, CUT TO L2                             
WER157A  SPANNED RECORD LENGTH LARGER THAN LRECL                              
WER493I  ZIIP PROCESSOR USED                                                  
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                                 

Re: Copying VBS file to VB.

Posted: Tue Jul 28, 2020 7:22 am
by Robert Sample
It's been a lot of years since I used Syncsort, but it had a histogram program (// EXEC PGM=HISTOGRM if I recall) that will analyze the block lengths. Run this and check the statistics for your data set.