Re-configure the uploadserver transfer of NCOALink data from Windows to Mainframe in Verimove

Products Affected:  Verimove
Operating System: z/OS
 
For the Uploadserver for Windows to MVS database transfer, Verimove uses standard Windows C++ socket libraries.  If a site has specific security needs and the Verimove utility for transferring the NCOA data does not meet those needs, it is suggested a utility or FTP script is created that fits a site’s network security needs.
 
It is possible to use Verimove’s  Manifest XML files used by the upload server to help with determining how each file should be transferred and any special requirements for certain files. The file that will need attention is the cln.dat file which needs to be sorted on the first 6 characters after it is translated to EBCDIC. Here is what it looks like in the USPSFZ manifest file:
 
  <UploadSpecification>
    <RecordSize>49</RecordSize>
    <Translation>ASCII-EBCDIC</Translation>
    <FileType>RRDS</FileType>
    <FileList>
      <File>
        <Sort>
          <Field>
            <Start>1</Start> <Length>6</Length>
          </Field>
        </Sort>
        <Source>cln.dat</Source> <Target>CLN</Target>
      </File>
    </FileList>
  </UploadSpecification>
 
Make certain to test any custom transfer methods against the upload server method and with the custom then compare results to be sure the custom method is correctly transferring the NCOA database.
 
The USPSFZ member (located in the SAMPMANI dataset on the Mainframe), transfers the exploded flat version of the database when using Flat A-Z file creation. It is necessary to use the one currently in use (starts with USPS, the Verimove manifest files and dailydelete manifest files).  All three make up the entire NCOA database.
 
Here is an example of a starting point in creating a customer transfer method:
 
Manifest File USPS
 
  <UploadSpecification>
    <NewLine>LF</NewLine>
    <RetainNewLine>Y</RetainNewLine>
    <Translation>ASCII-EBCDIC</Translation>
    <FileType>SEQ</FileType>
    <FileList>
      <File> <Source>contents.lst</Source> <Target>CONTENT</Target> </File>
      <File> <Source>dvdhdr01.dat</Source> <Target>DVDHDR1</Target> </File>
      <File> <Source>dvdhdr02.dat</Source> <Target>DVDHDR2</Target> </File>
    </FileList>
  </UploadSpecification>
 
 
//This is just an example, the high level qualifier and quote site settings will vary
//depending on the system
 
FTPTransfer.bat
 
              del 'QUALITY.VERIMOVE.USPS.CONTENT'
              quote site recfm=FB lrecl=4 blocksize=0 tracks primary=15 secondary=15
              ascii
              put contents.lst 'QUALITY.VERIMOVE.USPS.CONTENT'
             
              del 'QUALITY.VERIMOVE.USPS.DVDHDR1'
              quote site recfm=FB lrecl=81 blocksize=0 tracks primary=15 secondary=15
              ascii
              put dvdhdr01.dat 'QUALITY.VERIMOVE.USPS.DVDHDR1'
             
              del 'QUALITY.VERIMOVE.USPS.DVDHDR2'
              quote site recfm=FB lrecl=81 blocksize=0 tracks primary=15 secondary=15
              ascii
              put dvdhdr01.dat 'QUALITY.VERIMOVE.USPS.DVDHDR2'
             
 
To get the record layouts on the Mainframe, analyze each file transferred and get the quote site settings for each file.  It should be noted that the files are not static and they do change in size but not the record layout.
 
The reason the upload server uses multiple UDP connections is because Verimove uses an asynchronous, multi-threaded approach.  While one file is being transferred, the next one is being prepared in a new thread for transfer. The windows socket service assigns a new transfer port for that thread (whatever port is available at the time of creation).
 
 
UPDATED:  February 12, 2020