>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

Reply via email to