>Ah! You see: you said you were going to use Put Move >(MACRF=(GL,PM)), but you actually used Put Locate (or, >more precisely, PUTX Locate) because your PUTX only >has one operand. To use PUTX Move mode you need to >specify two operands: the DCB and location where the >record should be put from; so you used PUTX locate >mode even though you promised to use PUTX move mode; >so you got away with a little lie. The proper way is >to code MACRF=(GL,PL). Try it that way. It will work >and will be correct.
Sorry to contradict to some extent. While the outcome is as you describe, there is no PUTX-move-mode (according to the manual). The second, optional operand is the *input DCB address* to be used in the "output mode". If it is omitted, PUTX assumes "update mode". I consider this a special case of locate mode processing if you want to call it so, at all. The sequence of locate mode PUT is a) set DCBLRECL b) call PUT and c) finally move the record to the address returned in b). With PUTX, nothing is moved. PUTX continues with the control blocks as left by the last GET. So conceptually, it is more like a GL,PM processing than it is a GL,PL processing, since no step c) has to be done after the call to PUTX. The manual is a bit fuzzy about PUTX, so I may have misinterpreted the tex myself ;-) -- Peter Hunkeler Credit Suisse ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html