IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Concatenated files failing in an FTP Put.


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
madmartinsonxx

New User


Joined: 10 Dec 2010
Posts: 96
Location: Massachusetts

PostPosted: Tue Jul 12, 2011 12:44 am
Reply with quote

I have been asked to add a header line that has screen names in it to a spreadsheet I am creating with field's that have changed from a moment in time to the next moment in time ( delta changes ). Then I FTP this file down to the server. Pretty standard stuff.
I concatenate 2 sets of data twice in this procedure. The first is a timestamp and a counter file. The second is the header and the delta changes file. What I am struggling to understand is that when I have the timestamp file and the counter file the same LRECL and BLKSIZE I can concatenate these and the FTP operates as I believe it should. But no matter how I LRECL the Header file I cannot concatenate that in front of the changes file becuase no matter WHAT I do i get the dreaded:
Code:

EZA1736I FTP (EXIT=8                                                           
EZA1450I IBM FTP CS V1R11                                                       
EZA1772I FTP: EXIT has been set.                                               
EZA1456I Connect to ?                                                           
EZA1736I inftpdev.nscorp.com                                                   
EZA1554I Connecting to: gaatlvsvm01ddv2.atldc.nscorp.com 10.3.240.52 port: 21. 
220 Microsoft FTP Service                                                       
EZA1459I NAME (inftpdev.nscorp.com:Z3A3E):                                     
EZA1701I >>> USER nscorp\syaye59                                               
331 Password required for nscorp\syaye59.                                       
EZA1701I >>> PASS                                                               
230 User nscorp\syaye59 logged in.                                             
EZA1460I Command:                                                               
EZA1736I locsite trail                                                         
EZA1460I Command:                                                               
EZA1736I CD \SAPHRDATA\P2P\DELTA_FILES\SAPLOAD                                 
EZA1701I >>> CWD \SAPHRDATA\P2P\DELTA_FILES\SAPLOAD                             
250 CWD command successful.                                                     
EZA1460I Command:                                                   
EZA1736I RENAME +                                                   
EZA1736I P2P287_MRP_AREA_CHGS.TXT +                                 
EZA1736I ARCHIVE/P2P287_MRP_AREA_CHGS.20110711.145859.TXT           
EZA1701I >>> RNFR P2P287_MRP_AREA_CHGS.TXT                         
350 File exists, ready for destination name                         
EZA1701I >>> RNTO ARCHIVE/P2P287_MRP_AREA_CHGS.20110711.145859.TXT 
250 RNTO command successful.                                       
EZA1460I Command:                                                   
EZA1736I RENAME +                                                   
EZA1736I P2P287_MRP_AREA_COUNTS.TXT +                               
EZA1736I ARCHIVE/P2P287_MRP_AREA_COUNTS.20110711.145859.TXT         
EZA1701I >>> RNFR P2P287_MRP_AREA_COUNTS.TXT                       
350 File exists, ready for destination name                         
EZA1701I >>> RNTO ARCHIVE/P2P287_MRP_AREA_COUNTS.20110711.145859.TXT
250 RNTO command successful.                                       
EZA1460I Command:                                                   
EZA1736I RENAME +                                                   
EZA1736I P2P287_MRP_AREA_ADDS.TXT +                                 
EZA1736I ARCHIVE/P2P287_MRP_AREA_ADDS.20110711.145859.TXT         
EZA1701I >>> RNFR P2P287_MRP_AREA_ADDS.TXT                         
350 File exists, ready for destination name                       
EZA1701I >>> RNTO ARCHIVE/P2P287_MRP_AREA_ADDS.20110711.145859.TXT
250 RNTO command successful.                                       
EZA1460I Command:                                                 
EZA1736I PUT //DD:ZOS01 P2P287_MRP_AREA_CHGS.TXT                   
[b]EZA2564W Open of //DD:ZOS01 failed.[/b]                               
EZA1735I Std Return Code = 27000, Error Code = 00018               
EZA1701I >>> QUIT                                                 
221   
                                               


Here is my job stream in it's entirety as well as the FTP commands that I am currently using.

Code:

//GET EXEC SPFTP,CONN=TS2.MA.FTP.CONN.CONV                     
//FTPC.SYSIN DD DISP=SHR,DSN=TS2.MA.FTP.PARMS.MMAP.XX(SR311L01)
//* PRIOR                                                     
//FTP.ZOS01 DD DISP=(MOD,PASS,DELETE),                         
//             DSN=&&PRIOR,                                   
//             UNIT=DISK,SPACE=(CYL,(05,05),RLSE),             
//             DCB=(RECFM=FB,BLKSIZE=0,LRECL=0200)             
//* CURRENT                                                   
//FTP.ZOS02 DD DISP=(MOD,PASS,DELETE),                         
//             DSN=&&CURRENT,                                 
//             UNIT=DISK,SPACE=(CYL,(05,05),RLSE),             
//             DCB=(RECFM=FB,BLKSIZE=0,LRECL=0200)             
//FTPABEND EXEC PGM=ABEND,COND=(8,GT,GET.FTP)                 
//* REFORMAT CURRENT TO SAP FORMAT                   
//PREPCURR EXEC PGM=ICEMAN                           
//SORTIN    DD DISP=(OLD,DELETE,DELETE),             
//          DSN=&&CURRENT                             
//SORTOUT   DD DISP=(NEW,CATLG,DELETE),               
//             DSN=TS2.MA.SAPLOAD.P2P287.AREA.CURRENT,
//             UNIT=DISK,SPACE=(CYL,(05,05),RLSE),   
//             DCB=(RECFM=FB,BLKSIZE=0,LRECL=0000)   
//SYSSOUT  DD  SYSOUT=*                               
//DFSMSG   DD  SYSOUT=*                               
//SYSOUT   DD  SYSOUT=*                               
//SYSPRINT  DD SYSOUT=*                               
//SYMNAMES DD *                                       
A_PIPE_CHAR,X'4F'                                     
/*                                                   
//SYSIN  DD *                                             
* OPTION COPY                                             
  SORT FIELDS=(01,18,CH,A)                                 
  INREC        PARSE=(%01=(ENDBEFR=A_PIPE_CHAR,FIXLEN=018),
               %02=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),       
               %03=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),       
               %04=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),       
               %05=(ENDBEFR=A_PIPE_CHAR,FIXLEN=001),       
               %06=(ENDBEFR=A_PIPE_CHAR,FIXLEN=002),       
               %07=(ENDBEFR=A_PIPE_CHAR,FIXLEN=017),       
               %08=(ENDBEFR=A_PIPE_CHAR,FIXLEN=002),       
               %09=(ENDBEFR=A_PIPE_CHAR,FIXLEN=003),       
               %10=(ENDBEFR=A_PIPE_CHAR,FIXLEN=009),       
               %11=(ENDBEFR=A_PIPE_CHAR,FIXLEN=009),       
               %12=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),       
               %13=(ENDBEFR=A_PIPE_CHAR,FIXLEN=009),       
               %14=(ENDBEFR=A_PIPE_CHAR,FIXLEN=001),       
               %15=(ENDBEFR=A_PIPE_CHAR,FIXLEN=003),       
               %16=(ENDBEFR=A_PIPE_CHAR,FIXLEN=003),       
                %17=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),
                %18=(ENDBEFR=A_PIPE_CHAR,FIXLEN=002),
                %19=(ENDBEFR=A_PIPE_CHAR,FIXLEN=006),
                %20=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),
                %21=(ENDBEFR=A_PIPE_CHAR,FIXLEN=001),
                %22=(ENDBEFR=A_PIPE_CHAR,FIXLEN=003),
                %23=(ENDBEFR=A_PIPE_CHAR,FIXLEN=003),
                %24=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),
                %25=(ENDBEFR=A_PIPE_CHAR,FIXLEN=001),
                %26=(ENDBEFR=A_PIPE_CHAR,FIXLEN=015),
                %27=(ENDBEFR=A_PIPE_CHAR,FIXLEN=015),
                %28=(ENDBEFR=A_PIPE_CHAR,FIXLEN=002),
                %29=(FIXLEN=002)),                   
         BUILD=(%01,C'|',                             
                %02,C'|',                             
                %03,C'|',                             
                %04,C'|',                             
                %05,C'|',                             
               %05,C'|',
               %06,C'|',
               %07,C'|',
               %08,C'|',
               %09,C'|',
               %10,C'|',
               %11,C'|',
               %12,C'|',
               %13,C'|',
               %14,C'|',
               %15,C'|',
               %16,C'|',
               %17,C'|',
               %18,C'|',
               %19,C'|',
               %20,C'|',
               %21,C'|',
               %22,C'|',
               %23,C'|',
               %23,C'|',
               %24,C'|',
               %25,C'|',
               %26,C'|',
               %27,C'|',
               %28,C'|',
               %29,C'|')
/*                     
//*                     
//* REFORMAT PRIOR   TO SAP FORMAT                 
//PREPPRYR EXEC PGM=ICEMAN                         
//SORTIN    DD DISP=(OLD,DELETE,DELETE),           
//          DSN=&&PRIOR                             
//SORTOUT   DD DISP=(NEW,CATLG,DELETE),             
//             DSN=TS2.MA.SAPLOAD.P2P287.AREA.PRIOR,
//             UNIT=DISK,SPACE=(CYL,(05,05),RLSE), 
//             DCB=(RECFM=FB,BLKSIZE=0,LRECL=0000) 
//SYSSOUT  DD  SYSOUT=*                             
//DFSMSG   DD  SYSOUT=*                             
//SYSOUT   DD  SYSOUT=*                             
//SYSPRINT  DD SYSOUT=*                             
//SYMNAMES DD *                                     
A_PIPE_CHAR,X'4F'                                   
/*                                                 
//SYSIN  DD *                                       
* OPTION COPY                                       
  SORT FIELDS=(01,18,CH,A)                                 
  INREC        PARSE=(%01=(ENDBEFR=A_PIPE_CHAR,FIXLEN=018),
               %02=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),       
               %03=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),       
               %04=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),       
               %05=(ENDBEFR=A_PIPE_CHAR,FIXLEN=001),       
               %06=(ENDBEFR=A_PIPE_CHAR,FIXLEN=002),       
               %07=(ENDBEFR=A_PIPE_CHAR,FIXLEN=017),       
               %08=(ENDBEFR=A_PIPE_CHAR,FIXLEN=002),       
               %09=(ENDBEFR=A_PIPE_CHAR,FIXLEN=003),       
               %10=(ENDBEFR=A_PIPE_CHAR,FIXLEN=009),       
               %11=(ENDBEFR=A_PIPE_CHAR,FIXLEN=009),       
               %12=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),       
               %13=(ENDBEFR=A_PIPE_CHAR,FIXLEN=009),       
               %14=(ENDBEFR=A_PIPE_CHAR,FIXLEN=001),       
               %15=(ENDBEFR=A_PIPE_CHAR,FIXLEN=003),       
               %16=(ENDBEFR=A_PIPE_CHAR,FIXLEN=003),       
               %17=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),       
               %18=(ENDBEFR=A_PIPE_CHAR,FIXLEN=002),       
               %19=(ENDBEFR=A_PIPE_CHAR,FIXLEN=006),
               %20=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),
               %21=(ENDBEFR=A_PIPE_CHAR,FIXLEN=001),
               %22=(ENDBEFR=A_PIPE_CHAR,FIXLEN=003),
               %23=(ENDBEFR=A_PIPE_CHAR,FIXLEN=003),
               %24=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),
               %25=(ENDBEFR=A_PIPE_CHAR,FIXLEN=001),
               %26=(ENDBEFR=A_PIPE_CHAR,FIXLEN=015),
               %27=(ENDBEFR=A_PIPE_CHAR,FIXLEN=015),
               %28=(ENDBEFR=A_PIPE_CHAR,FIXLEN=002),
               %29=(FIXLEN=002)),                   
        BUILD=(%01,C'|',                             
               %02,C'|',                             
               %03,C'|',                             
               %04,C'|',                             
               %05,C'|',                             
               %06,C'|',                             
               %07,C'|',                             
               %08,C'|',
               %09,C'|',
               %10,C'|',
               %11,C'|',
               %12,C'|',
               %13,C'|',
               %14,C'|',
               %15,C'|',
               %16,C'|',
               %17,C'|',
               %18,C'|',
               %19,C'|',
               %20,C'|',
               %21,C'|',
               %22,C'|',
               %23,C'|',
               %24,C'|',
               %25,C'|',
               %26,C'|',                                     
               %27,C'|',                                     
               %28,C'|',                                     
               %29,C'|')                                     
/*                                                           
//*                                                           
//* PIN THE KEYED RECORDS TOGETHER                           
//* GET ADDS FILE                                             
//PINKEYED EXEC PGM=ICEMAN                                   
//IN01      DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.CURRENT
//IN02      DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.PRIOR 
//F1ONLY   DD DISP=(NEW,CATLG,DELETE),                       
//            DSN=TS2.MA.SAPLOAD.P2P287.AREA.ADDS,           
//            UNIT=DISK,SPACE=(TRK,(02,01),RLSE),             
//            DCB=(RECFM=VB,BLKSIZE=0,LRECL=0188)             
//F2ONLY   DD  SYSOUT=*                                       
//XOUT01   DD  SYSOUT=*                                       
//BOTH      DD DISP=(NEW,CATLG,DELETE),                       
//             DSN=TS2.MA.SAPLOAD.P2P287.AREA.PANDC,
//             UNIT=DISK,SPACE=(CYL,(15,05),RLSE), 
//             DCB=(RECFM=FB,BLKSIZE=0,LRECL=0000) 
//SYSSOUT  DD  SYSOUT=*                             
//DFSMSG   DD  SYSOUT=*                             
//SYSOUT   DD  SYSOUT=*                             
//SORTOUT   DD SYSOUT=*                             
//SYSIN DD *                                       
*                                                   
 JOINKEYS F1=IN01,FIELDS=(01,18,A,25,4,A,30,4,A)   
 JOINKEYS F2=IN02,FIELDS=(01,18,A,25,4,A,30,4,A)   
 JOIN UNPAIRED,F1,F2                               
* REPORT FIELDS                                     
 REFORMAT FIELDS=(F1:1,0184,F2:1,0184,?)           
* CONTROL STATEMENTS FOR MAIN TASK (JOINED RECORDS)
 OPTION COPY                                       
 OUTFIL FNAMES=F1ONLY,INCLUDE=(0369,1,CH,EQ,C'1'), 
    FTOV,BUILD=(1,0184),VLTRIM=C' '                 
 OUTFIL FNAMES=F2ONLY,INCLUDE=(0369,1,CH,EQ,C'2'),         
    BUILD=(0185,0184)                                       
 OUTFIL   FNAMES=BOTH,INCLUDE=(0369,1,CH,EQ,C'B'),         
    BUILD=(01,0184,0185,0184)                               
/*                                                         
//                                                         
//* TAG CHANGES                                             
//FLAGCHGS EXEC PGM=ICEMAN                                 
//SORTIN   DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.PANDC
//SORTOUT  DD DISP=(MOD,PASS,DELETE),                       
//             DSN=&&TEMP01,                               
//             UNIT=DISK,SPACE=(CYL,(10,05),RLSE),         
//             DCB=(RECFM=FB,BLKSIZE=00000,LRECL=0000)     
//SYSOUT   DD  SYSOUT=*                                     
//XOUT01   DD  SYSOUT=*                                     
//DFSMSG   DD  SYSOUT=*                                     
//SYSIN    DD  *                                           
*                                                           
 OPTION COPY                                         
 OUTFIL FNAMES=SORTOUT,                               
 IFTHEN=(WHEN=(001,184,CH,NE,0185,0184,CH),           
 BUILD=(C'C|',0001,0184,/,C'P|',0185,0184))           
                                                     
/*                                                   
//*                                                   
//* GET CHANGES TO FTP FILE                           
//FTPCHGS  EXEC PGM=ICEMAN                           
//SORTIN   DD DISP=(OLD,PASS,DELETE),DSN=&&TEMP01     
//SORTOUT  DD DISP=(NEW,CATLG,DELETE),               
//             DSN=TS2.MA.SAPLOAD.P2P287.AREA.CHGS,   
//             UNIT=DISK,SPACE=(CYL,(10,05),RLSE),   
//             DCB=(RECFM=FB,BLKSIZE=00000,LRECL=0000)
//SYSOUT   DD  SYSOUT=*                               
//XOUT01   DD  SYSOUT=*                               
//DFSMSG   DD  SYSOUT=*                               
//SYSIN    DD  *                                     
  OPTION COPY                                         
  OUTFIL FNAMES=SORTOUT,                               
  IFTHEN=(WHEN=(001,184,CH,NE,0185,0184,CH),           
  BUILD=(C'C|',0001,0184,/,C'P|',0185,0184))           
                                                       
 /*                                                   
 //*                                                   
 //* GET CHANGES TO FTP FILE                           
 //FTPCHGS  EXEC PGM=ICEMAN                           
 //SORTIN   DD DISP=(OLD,PASS,DELETE),DSN=&&TEMP01     
 //SORTOUT  DD DISP=(NEW,CATLG,DELETE),               
 //             DSN=TS2.MA.SAPLOAD.P2P287.AREA.CHGS,   
 //             UNIT=DISK,SPACE=(CYL,(10,05),RLSE),   
 //             DCB=(RECFM=FB,BLKSIZE=00000,LRECL=0000)
 //SYSOUT   DD  SYSOUT=*                               
 //XOUT01   DD  SYSOUT=*                               
 //DFSMSG   DD  SYSOUT=*                               
 //SYSIN    DD  *                                     
 SORT FIELDS=(03,18,A,22,4,A,27,4,A,01,01,A),FORMAT=BI
 INCLUDE COND=(01,02,CH,EQ,C'C|',OR,01,02,CH,EQ,C'P|')
/*                                                   
//*                                                   
//* BUILD HEADER                                     
//HEADER   EXEC PGM=ICEMAN                           
//SORTIN   DD *                                       
 DUMMY RECORD                                         
/*                                                   
//SORTOUT  DD DISP=(NEW,CATLG,DELETE),               
//             DSN=TS2.MA.SAPLOAD.P2P287.AREA.HEADER,
//             UNIT=DISK,SPACE=(TRK,(01,01),RLSE),   
//             DCB=(RECFM=FB,BLKSIZE=00000,LRECL=0000)
//SYSOUT   DD  SYSOUT=*                               
//XOUT01   DD  SYSOUT=*                               
//DFSMSG   DD  SYSOUT=*                               
//SYSIN    DD  *                                     
 OPTION COPY             
 OUTFIL FNAMES=SORTOUT,   
 BUILD=(C'CURR OR PRIOR|',
        C'MATNR|',       
        C'MTART|',       
        C'WERKS|',       
        C'LGORT|',       
        C'ABC_IND|',     
        C'DISLS|',       
        C'BSTFE|',       
        C'DISMM|',       
        C'DISPO|',       
        C'MINBE|',       
        C'BSTMI|',       
        C'MDMA_DISGR|',   
        C'MARC_EISBE|',   
        C'BESKZ|',       
        C'PLIFZ|',       
        C'WEBAZ|',       
        C'LGPRO|',       
        C'SOBSL|',       
        C'SFCPF|',       
        C'SERNP|',       
        C'SERLV|',       
        C'FEVOR|',       
        C'DZEIT|',       
        C'BKLAS|',       
        C'VPRSV|',       
        C'VERPR|',       
        C'STPRS|',       
        C'MTVFP|',       
        C'ZZINVENT|)     
/*                       
//*                       
//* BUILD TIMESTAMP       
//TIMESTMP EXEC PGM=ICEMAN
//DFSMSG    DD SYSOUT=*   
//SYSOUT    DD SYSOUT=*   
//SORTIN    DD *                                         
 DUMMY RECORD                                           
/*                                                       
//COUNT1    DD DISP=(NEW,CATLG,DELETE),                 
//             DSN=TS2.MA.SAPLOAD.P2P287.AREA.TIMESTMP, 
//             UNIT=DISK,SPACE=(TRK,(01,01),RLSE),       
//             DCB=(RECFM=FB,BLKSIZE=049,LRECL=049)     
//SYSIN  DD *                                           
                                                         
* INSERT TIMESTAMP INTO FILE                             
* MUST MATCH LRECL OF COUNTS FILE                       
 OPTION COPY                                             
 OUTFIL FNAMES=COUNT1,OUTREC=(DATE1(/),X,TIME1(:),49:X,/)
/*                                                       
//* REPORT NUMBER OF CHANGES                             
//COUNTS  EXEC PGM=ICETOOL                               
//TOOLMSG   DD SYSOUT=*                                 
//DFSMSG    DD SYSOUT=*                                 
//SYSOUT    DD SYSOUT=*                                     
//XOUT01    DD SYSOUT=*                                     
//COUNT1    DD DISP=(MOD,CATLG,DELETE),                     
//             DSN=TS2.MA.SAPLOAD.P2P287.AREA.COUNTS,       
//             UNIT=DISK,SPACE=(TRK,(02,02),RLSE),         
//             DCB=(RECFM=FB,BLKSIZE=049,LRECL=049)         
//IN01 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.CHGS     
//IN02 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.ADDS     
//CURRENT DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.CURRENT
//PRIOR   DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.PRIOR 
//TOOLIN DD *                                               
                                                           
 COUNT FROM(CURRENT) WRITE(COUNT1) -                       
  TEXT('P2P287.AREA  MRP CURRENT RECS           ') -       
   EDCOUNT(A1,U10)                                         
                                                           
 COUNT FROM(PRIOR)   WRITE(COUNT1) -                       
  TEXT('P2P287.AREA  MRP PRIOR RECS             ') -       
   EDCOUNT(A1,U10)                                             
                                                               
 COUNT FROM(IN01) WRITE(COUNT1) -                             
  TEXT('P2P287.AREA  MRP CHANGES                ') -           
   EDCOUNT(A1,U10) USING(CTL1)                                 
                                                               
 COUNT FROM(IN02) WRITE(COUNT1) -                             
  TEXT('P2P287.AREA  MRP ADDS                   ') -           
   EDCOUNT(A1,U10)                                             
                                                               
//CTL1CNTL DD *                                               
 INCLUDE COND=(1,2,CH,EQ,C'C|')                               
/*                                                             
//*                                                           
//* SEND FILES                                                 
//*                                                           
//PUT EXEC SPFTP,CONN=TS2.MA.FTP.CONN.CONV                     
//FTPC.SYSIN DD DISP=SHR,DSN=TS2.MA.FTP.PARMS.MMAP.XX(SR311L02)
//*TP.Z0S01 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.HEADER 
//FTP.ZOS01 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.CHGS   
//FTP.ZOS02 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.TIMESTMP
//          DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.COUNTS 
//FTP.ZOS03 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.ADDS   
//FTPABEND EXEC PGM=ABEND,COND=(8,GT,PUT.FTP)                 
//*                                                           


FTP commands:
Code:

CD \SAPHRDATA\P2P\DELTA_FILES\SAPLOAD                   
                                                       
RENAME +                                               
P2P287_MRP_AREA_CHGS.TXT +                             
ARCHIVE/P2P287_MRP_AREA_CHGS.20&LYYMMDD..&LHHMMSS..TXT 
RENAME +                                               
P2P287_MRP_AREA_COUNTS.TXT +                           
ARCHIVE/P2P287_MRP_AREA_COUNTS.20&LYYMMDD..&LHHMMSS..TXT
RENAME +                                               
P2P287_MRP_AREA_ADDS.TXT +                             
ARCHIVE/P2P287_MRP_AREA_ADDS.20&LYYMMDD..&LHHMMSS..TXT 
                                                       
PUT //DD:ZOS01 P2P287_MRP_AREA_CHGS.TXT                 
PUT //DD:ZOS02 P2P287_MRP_AREA_COUNTS.TXT               
PUT //DD:ZOS03 P2P287_MRP_AREA_ADDS.TXT                 
                                                       
DIR                                                     
DIR ARCHIVE                                     



Whatever I need to do to get this working I can do that.
Thanks in advance because this is driving me Nutzo.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Tue Jul 12, 2011 1:07 am
Reply with quote

Code:
//PUT EXEC SPFTP,CONN=TS2.MA.FTP.CONN.CONV                     
//FTPC.SYSIN DD DISP=SHR,DSN=TS2.MA.FTP.PARMS.MMAP.XX(SR311L02)
//*TP.Z0S01 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.HEADER 
//FTP.ZOS01 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.CHGS   
//FTP.ZOS02 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.TIMESTMP
//          DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.COUNTS 
//FTP.ZOS03 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.ADDS   
If the SYSIN is //FTPC. should not the others be //FTPC.?
Back to top
View user's profile Send private message
madmartinsonxx

New User


Joined: 10 Dec 2010
Posts: 96
Location: Massachusetts

PostPosted: Tue Jul 12, 2011 1:12 am
Reply with quote

SYSIN is the parm card. the Use [URL] BBCode for External Links - 03 are the dd's which expand inside the SPFTP proc. I use this same set in about 45 or so other proc's for this process. Everybody here, as a matter of fact, codes this the same way.
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Tue Jul 12, 2011 1:28 am
Reply with quote

madmartinsonxx wrote:
//FTP.ZOS02 DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.TIMESTMP
// DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.COUNTS


I did not find where TS2.MA.SAPLOAD.P2P287.AREA.COUNTS is being created but I am guessing it is the count step that creates it and if it is indeed true , the count dataset is created as 54 bytes file and you concatenated it to TS2.MA.SAPLOAD.P2P287.AREA.TIMESTMP file which is created as 49 byte file.

Quote:

//COUNT1 DD DISP=(NEW,CATLG,DELETE),
// DSN=TS2.MA.SAPLOAD.P2P287.AREA.TIMESTMP,
// UNIT=DISK,SPACE=(TRK,(01,01),RLSE),
// DCB=(RECFM=FB,BLKSIZE=049,LRECL=049)


so fix one of them and make sure the concatenated files have the same DCB properties.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Jul 13, 2011 5:00 am
Reply with quote

madmartinsonxx,

It is nice to see SYMNAMES being used, and for a constant at that. But why the inconsistency in the 2nd blocks of code?
Back to top
View user's profile Send private message
madmartinsonxx

New User


Joined: 10 Dec 2010
Posts: 96
Location: Massachusetts

PostPosted: Wed Jul 13, 2011 5:43 pm
Reply with quote

Not sure what you mean by:

Quote:

But why the inconsistency in the 2nd blocks of code?
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Jul 13, 2011 5:47 pm
Reply with quote

SYMNAMES in the first bit of code, hard-coded in the second.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Jul 13, 2011 5:57 pm
Reply with quote

Bill Woodger wrote:
SYMNAMES in the first bit of code, hard-coded in the second.


do you mean in the BUILD statements? you need to be clear,
since it is obvious that the TS copied this, screwed it up,
and now wants a solution,
and you (Bill) have dared to suggest that the TS is not a professional.
Back to top
View user's profile Send private message
madmartinsonxx

New User


Joined: 10 Dec 2010
Posts: 96
Location: Massachusetts

PostPosted: Wed Jul 13, 2011 6:11 pm
Reply with quote

lol. ha ha . great way to start my day. thank you. i get what Bill is talking about and it is in the BUILD. Can go either way I guess. It was quicker to hit SHIFT 'pipe' to insert that character at the time.

Now, about my concatenation issue.
The TIMESTMP and COUNTS are concatenated and get through the FTP to server just fine, every time. But the HEADER and CHGS file blow a fuse with the:

EZA1736I PUT //DD:ZOS01 P2P287_MRP_AREA_CHGS.TXT
EZA2564W Open of //DD:ZOS01 failed.
EZA1735I Std Return Code = 27000, Error Code = 00018
EZA1701I >>> QUIT

I have forced the LRECL and BLKSIZE to be equal on both of these files to no avail. Would LOVE to find a resolution, be it in forcing whatever through the JCL or some parameter in the FTP command string that will allow this concatenation to go through. Kinda screwy that the TIMESTMP and COUNTS flow through and the other set does not. The header is commented out in my FTP proc step above until I find 'inner peace'. Thanks again.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Jul 13, 2011 6:42 pm
Reply with quote

header is about 201 bytes
and chgs seems to be about 187. build statement is:
BUILD=(C'C|',0001,0184,/,C'P|',0185,0184))

try forcing chg to be the same as hdr file.
Back to top
View user's profile Send private message
madmartinsonxx

New User


Joined: 10 Dec 2010
Posts: 96
Location: Massachusetts

PostPosted: Thu Jul 14, 2011 12:07 am
Reply with quote

Tried what Dick mentioned ( although I tried before ). I added a step to RESIZE the file hoping that might come through for muah.
Code:

//* TAG CHANGES AND INCLUDE CURRENT AND PRIOR ID FIELD     
//FLAGCHGS EXEC PGM=ICEMAN                                 
//SORTIN   DD DISP=SHR,DSN=TS2.MA.SAPLOAD.P2P287.AREA.PANDC
//SORTOUT  DD DISP=(MOD,PASS,DELETE),                     
//             DSN=&&TEMP01,                               
//             UNIT=DISK,SPACE=(TRK,(10,05),RLSE),         
//             DCB=(RECFM=FB,BLKSIZE=00000,LRECL=0000)     
//SYSOUT   DD  SYSOUT=*                                   
//XOUT01   DD  SYSOUT=*                                   
//DFSMSG   DD  SYSOUT=*                                   
//SYSIN DD *                                               
*                                                         
 OPTION COPY                                               
 OUTFIL FNAMES=SORTOUT,                                   
 IFTHEN=(WHEN=(001,184,CH,NE,0185,0184,CH),               
 BUILD=(C'C|',0001,0184,/,C'P|',0185,0184))               
//* RESIZE FILE TO MATCH HEADER OR VICE VERSA         
//RESIZE   EXEC PGM=ICEMAN                             
//SORTOUT  DD DISP=(MOD,PASS,DELETE),                 
//             DSN=&&TEMP02,                           
//             UNIT=DISK,SPACE=(TRK,(10,05),RLSE),     
//             DCB=(RECFM=FB,BLKSIZE=00000,LRECL=0000)
//SORTIN   DD DISP=(OLD,PASS,DELETE),                 
//             DSN=&&TEMP01                           
//SYSOUT   DD  SYSOUT=*                               
//XOUT01   DD  SYSOUT=*                               
//DFSMSG   DD  SYSOUT=*                               
//SYSIN    DD  *                                       
*                                                     
 SORT FIELDS=COPY                                     
 INREC IFOUTLEN=203,                                   
  IFTHEN=(WHEN=INIT,BUILD=(01,203))                   
/*                                                     
//*                                                   
//* GET CHANGES TO FTP FILE                           
//FTPCHGS  EXEC PGM=ICEMAN                           
//SORTIN   DD DISP=(OLD,PASS,DELETE),DSN=&&TEMP02     
//SORTOUT  DD DISP=(NEW,CATLG,DELETE),               
//             DSN=TS2.MA.SAPLOAD.P2P287.AREA.CHGS,   
//             UNIT=DISK,SPACE=(TRK,(10,05),RLSE),   
//             DCB=(RECFM=FB,BLKSIZE=00203,LRECL=0203)
//SYSOUT   DD  SYSOUT=*                               
//XOUT01   DD  SYSOUT=*                               
//DFSMSG   DD  SYSOUT=*                               
//SYSIN    DD  *                                     
 SORT FIELDS=(03,18,A,22,4,A,27,4,A,01,01,A),FORMAT=BI
 INCLUDE COND=(01,02,CH,EQ,C'C|',OR,01,02,CH,EQ,C'P|')
/*                                                   
//*                                                   


But, same thing happened. The Timestmp and Counts still fly right through. sigh.
Will need to revisit this soon but need to get some other stuff out the door. Thanks.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Jul 14, 2011 12:11 am
Reply with quote

Have you tried the approach in the manual for your error code?
Quote:
EZA2564W Open of dsname failed.

Explanation: The data set cannot be opened.

System Action: The requested operation is terminated. FTP continues.

Operator Response: Rerun the FTP with tracing turned on. Contact the system programmer.

System Programmer Response: Look at the trace and find one of the following trace entry sequences:

seq_open_file: xyz -> ...
seq_open_file: failed (aa): bbbb

The first line describes open mode with values x, y, and z that are defined as follows:

x = I --> Input
x = O --> Output

y = S --> Stream I/O y = R --> Record I/O

z = B --> Binary stream z = T --> Text stream

The second line describes the error that occurred. aa is the errno value returned from the fopen of file. bbbb is the text associated with the errno value. The following describe values and text that could be observed:

(61): Error trying
to define file The file is already opened.

seq_open_file: Using BSAM, I, SYS00006, , 29
0, 0, 0
seq_open_file: BSMOP returned NULL, rc xxx, reason yyy

The second line describes the error which occurred on the open. Use the return code (rc) and reason code to determine why the error occurred.

For return code 80a, reason code 10, or return code 4, FTP was unable to obtain storage to open the data set. Increase the region size for the FTP job or user.
Back to top
View user's profile Send private message
madmartinsonxx

New User


Joined: 10 Dec 2010
Posts: 96
Location: Massachusetts

PostPosted: Thu Jul 14, 2011 12:59 am
Reply with quote

well, silly me. This MVS systems programmer came over and slapped me up agin' the head and told me to GENER both of those files into one and I probably won't have this problem.


( wanna get away )
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Thu Jul 14, 2011 4:42 am
Reply with quote

Sorry to continue a little off-topic.

madmartinsonxx wrote:
[...]It was quicker to hit SHIFT 'pipe' to insert that character at the time.
[...]


I've decided to congratulate anyone who uses SYMNAMES. You're the first recepient since I decided.

Then I reached what I so loosely termed the "2nd blocks of code".

Quote:
INREC PARSE=(%01=(ENDBEFR=A_PIPE_CHAR,FIXLEN=018),
%02=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),
%03=(ENDBEFR=A_PIPE_CHAR,FIXLEN=004),
[...]
%28=(ENDBEFR=A_PIPE_CHAR,FIXLEN=002),
%29=(FIXLEN=002)),
BUILD=(%01,C'|',
%02,C'|',
%03,C'|',
[...]
%28,C'|',
%29,C'|')


If you have an editor worth its name:

Block repeat INREC code.
Change INREC to bbbbb.
Change PARSE to BUILD
Change "=(ENDBEFR=" to ","
Change "FIXLEN=xxx)," to ""
Deal with %29 manually.

Something along those lines. Not having to hit SHIFT-PIPE once. The way you coded the %01-09 and the 00x lengths even make it easier (well, the last does).
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Write line by line from two files DFSORT/ICETOOL 7
No new posts Compare only first records of the fil... SYNCSORT 7
No new posts Merge two VSAM KSDS files into third ... JCL & VSAM 6
No new posts Joinkeys - 5 output files DFSORT/ICETOOL 7
No new posts How to append a PS file into multiple... JCL & VSAM 3
Search our Forums:

Back to Top