09.07.2015 Views

z/OS V1R6.0 DFSMS Access Method Services for Catalogs

z/OS V1R6.0 DFSMS Access Method Services for Catalogs

z/OS V1R6.0 DFSMS Access Method Services for Catalogs

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DCOLLECT User ExitvTo specify that a record not be written to the output data set, the user exitshould set register 15 to 12. DCOLLECT will bypass any further processing <strong>for</strong>this record.The following is a summary of the register usage at the interface level of theIDCDCX1 user exit:Register 0 Contains the length of the current record being processed. Thisvalue must be updated if the length of the record changes duringexit processing.Register 1 Contains the address of the current record being processed. Thisaddress must be updated if the address of the record changesduring exit processing.Register 2 Contains the address of a 100-byte work area. At the first call tothe user exit, DCOLLECT sets the work area to zeros. DCOLLECTdoes not further modify the work area.Register 13Register 14The address of this work area is passed to the user exit each timethe user exit is called. The user exit uses the work area to storevalues that are needed <strong>for</strong> the life of the DCOLLECT job. Forexample, the work area can contain counters, totals, or the addressof an exit-acquired record buffer.After all processing is complete, DCOLLECT calls the user exit, butdoes not pass a record. DCOLLECT sets Register 0 to X'0' andregister 1 to X'FFFF FFFF'. These settings indicate to the user exitthat this is the final call. The user exit then proceeds to clean-upexit-acquired buffers.Contains the address of a 72-byte register save area. This save areais sufficient to store the program state. We recommend that youuse IBM’s standard register save area convention.Contains the return address that should be branched to uponreturn from the user exit.Register 15Note: The caller’s registers should be restored be<strong>for</strong>e returning tothe caller.Contains the exit return code:Code Description0 Write record as is.4 Record has been modified or replaced. Write the recordpointed to by register 0.12 Skip this record. Do not write it to the output data set.User Exit ExampleThe following is the source code <strong>for</strong> a sample user exit. This exit will change thestorage group to non-SMS if the data set is non-SMS-managed. In addition, thisexit will test if the ’A’ record contains a high used RBA and a high allocated RBAvalue of zero. If a value of zero is found in this test, then the record is not writtenout.432 z/<strong>OS</strong> <strong>V1R6.0</strong> <strong>DFSMS</strong> <strong>Access</strong> <strong>Method</strong> <strong>Services</strong> <strong>for</strong> <strong>Catalogs</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!