 




<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Unable to run CPYSPLF command multiple times to same output file in a single CL.</title>
	<atom:link href="http://itknowledgeexchange.techtarget.com/itanswers/unable-to-run-cpysplf-command-multiple-times-to-same-output-file-in-a-single-cl/feed/" rel="self" type="application/rss+xml" />
	<link>http://itknowledgeexchange.techtarget.com/itanswers/unable-to-run-cpysplf-command-multiple-times-to-same-output-file-in-a-single-cl/</link>
	<description></description>
	<lastBuildDate>Wed, 22 May 2013 05:05:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>By: johnsonmumbai</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/unable-to-run-cpysplf-command-multiple-times-to-same-output-file-in-a-single-cl/#comment-69921</link>
		<dc:creator>johnsonmumbai</dc:creator>
		<pubDate>Wed, 04 Nov 2009 07:28:52 +0000</pubDate>
		<guid isPermaLink="false">#comment-69921</guid>
		<description><![CDATA[Thanks Tom,

It worked on moving the rcvf to the second cl pgm.]]></description>
		<content:encoded><![CDATA[<p>Thanks Tom,</p>
<p>It worked on moving the rcvf to the second cl pgm.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/unable-to-run-cpysplf-command-multiple-times-to-same-output-file-in-a-single-cl/#comment-69873</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Tue, 03 Nov 2009 08:31:13 +0000</pubDate>
		<guid isPermaLink="false">#comment-69873</guid>
		<description><![CDATA[You opened the file in the same CL program by issuing RCVF OPNID(SPOOL) against it. Since you opened it in that program, you will have to end the program before you can copy another spooled file into it. As long as that same CL program keeps running, you won&#039;t be able to replace its contents with a new spooled file.

Either stop reading it in CL or move the RCVF into a second CL program that you CALL from this program. There is no IBM-supported way to close this file in this program.

Tom]]></description>
		<content:encoded><![CDATA[<p>You opened the file in the same CL program by issuing RCVF OPNID(SPOOL) against it. Since you opened it in that program, you will have to end the program before you can copy another spooled file into it. As long as that same CL program keeps running, you won&#8217;t be able to replace its contents with a new spooled file.</p>
<p>Either stop reading it in CL or move the RCVF into a second CL program that you CALL from this program. There is no IBM-supported way to close this file in this program.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: johnsonmumbai</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/unable-to-run-cpysplf-command-multiple-times-to-same-output-file-in-a-single-cl/#comment-69871</link>
		<dc:creator>johnsonmumbai</dc:creator>
		<pubDate>Tue, 03 Nov 2009 06:43:13 +0000</pubDate>
		<guid isPermaLink="false">#comment-69871</guid>
		<description><![CDATA[When the error occurs if i run the command from command line the command works however within the program i get the error that the file is locked.

When i check the previous errors it shows that the file is locked.

Below is the pgm i am running.
PGM                                                              
             DCLF       FILE(QGPL/SPOOLED) OPNID(SPOOL)          
             DCLF       FILE(QGPL/DLTOLDSPLF) OPNID(DISPLAY)     
             DCLF       FILE(OPERATION/OPOUTQ) OPNID(OUTQ)       
            
           DCL VAR(&amp;SPLF) TYPE(*CHAR) LEN(10)                    
           DCL        VAR(&amp;SPOOLED) TYPE(*CHAR) LEN(132)         
           DCL &amp;USER *CHAR 10                                    
           DCL &amp;JOBN *CHAR 10                                    
           DCL &amp;JOB# *CHAR 10                                    
           DCL &amp;SPL# *CHAR 10                                    
           DCL &amp;SPLDT *CHAR 8                                    
           DCL VAR(&amp;SPLNO) TYPE(*DEC) LEN(5 0)                   
           DCL &amp;SPLD *CHAR 8                                     
           DCL &amp;COFF *CHAR 8                                     
           DCL        VAR(&amp;INC) TYPE(*DEC) LEN(2 0) VALUE(1)   
           DCL        VAR(&amp;SPOOLED) TYPE(*CHAR) LEN(132)                    
           DCL &amp;USER *CHAR 10                                               
           DCL &amp;JOBN *CHAR 10                                               
           DCL &amp;JOB# *CHAR 10                                               
           DCL &amp;SPL# *CHAR 10                                               
           DCL &amp;SPLDT *CHAR 8                                               
           DCL VAR(&amp;SPLNO) TYPE(*DEC) LEN(5 0)                              
           DCL &amp;SPLD *CHAR 8                                                
           DCL &amp;COFF *CHAR 8                                                
             DCL        VAR(&amp;INC) TYPE(*DEC) LEN(2 0) VALUE(1)              
           SNDRCVF    OPNID(DISPLAY)                                        
             IF         COND(&amp;DISPLAY_IN03 *EQ &#039;1&#039;) THEN(GOTO +             
                          CMDLBL(EXIT))                                     
 POINT:      RCVF       OPNID(OUTQ)                                         
             MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(EXIT))              
           OVRPRTF    FILE(QPRTSPLQ) MAXRCDS(300000) HOLD(*YES)             
           WRKOUTQ    OUTQ(&amp;OUTQ_ODLBNM/&amp;OUTQ_ODOBNM) OUTPUT(*PRINT)        
             MONMSG     MSGID(CPF9999)                                      
           SNDRCVF    OPNID(DISPLAY)                                        
             IF         COND(&amp;DISPLAY_IN03 *EQ &#039;1&#039;) THEN(GOTO +             
                          CMDLBL(EXIT))                                     
 POINT:      RCVF       OPNID(OUTQ)                                         
             MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(EXIT))              
           OVRPRTF    FILE(QPRTSPLQ) MAXRCDS(300000) HOLD(*YES)             
           WRKOUTQ    OUTQ(&amp;OUTQ_ODLBNM/&amp;OUTQ_ODOBNM) OUTPUT(*PRINT)        
             MONMSG     MSGID(CPF9999)                                      
             CRTPF FILE(QTEMP/SPOOLED) RCDLEN(132) SIZE(*NOMAX)             
                                                                            
           CPYSPLF    FILE(QPRTSPLQ) TOFILE(QGPL/SPOOLED) +                 
                      SPLNBR(*LAST)                                         
                  
           DLTSPLF    FILE(QPRTSPLQ) SPLNBR(*LAST)                          
           DLTOVR     QPRTSPLQ                                              
 LOOP:       RCVF       OPNID(SPOOL)                                        
           MONMSG     MSGID(CPF0864) EXEC(DO)                               
           RMVMSG     PGMQ(*SAME) CLEAR(*ALL)                               
             CRTPF FILE(QTEMP/SPOOLED) RCDLEN(132) SIZE(*NOMAX)         
                                                                        
           CPYSPLF    FILE(QPRTSPLQ) TOFILE(QGPL/SPOOLED) +             
                      SPLNBR(*LAST)                                     
/*           MONMSG     MSGID(CPF9845 CPF9999)   */                     
           DLTSPLF    FILE(QPRTSPLQ) SPLNBR(*LAST)                      
           DLTOVR     QPRTSPLQ                                          
 LOOP:       RCVF       OPNID(SPOOL)                                    
           MONMSG     MSGID(CPF0864) EXEC(DO)                           
           RMVMSG     PGMQ(*SAME) CLEAR(*ALL)                           
           GOTO       CMDLBL(QUIT)                                      
           ENDDO                                                        
QUIT:                                                                   
           CHGVAR     VAR(&amp;SPLF) VALUE(%SST(&amp;SPOOL_SPOOLED 2 10))       
           CHGVAR     VAR(&amp;USER) VALUE(%SST(&amp;SPOOL_SPOOLED 13 10))      
           CHGVAR     VAR(&amp;JOBN) VALUE(%SST(&amp;SPOOL_SPOOLED 84 10))      
           CHGVAR     VAR(&amp;JOB#) VALUE(%SST(&amp;SPOOL_SPOOLED 95 6))       
           CHGVAR     VAR(&amp;SPL#) VALUE(%SST(&amp;SPOOL_SPOOLED 75 4))       
           CHGVAR     VAR(&amp;SPLDT) VALUE(%SST(&amp;SPOOL_SPOOLED 102 8))     
           GOTO       CMDLBL(QUIT)                                  
           ENDDO                                                    
QUIT:                                                               
           CHGVAR     VAR(&amp;SPLF) VALUE(%SST(&amp;SPOOL_SPOOLED 2 10))   
           CHGVAR     VAR(&amp;USER) VALUE(%SST(&amp;SPOOL_SPOOLED 13 10))  
           CHGVAR     VAR(&amp;JOBN) VALUE(%SST(&amp;SPOOL_SPOOLED 84 10))  
           CHGVAR     VAR(&amp;JOB#) VALUE(%SST(&amp;SPOOL_SPOOLED 95 6))   
           CHGVAR     VAR(&amp;SPL#) VALUE(%SST(&amp;SPOOL_SPOOLED 75 4))   
           CHGVAR     VAR(&amp;SPLDT) VALUE(%SST(&amp;SPOOL_SPOOLED 102 8)) 
 /* */                                                              
 /* SEE IF THE SPOOL FILE IS PAST EXPIRATION */                     
 /* */                                                              
           IF         COND(&amp;SPLF = &#039;5722SS1  V&#039;) THEN(DO)           
           GOTO       CMDLBL(LOOP)                                  
           ENDDO                                                    
                                                                    
           IF         COND(&amp;SPLF = &#039;File     &#039;) THEN(DO)            
           GOTO       CMDLBL(LOOP)                                  
           ENDDO                                                    
           IF         COND(&amp;SPLF = &#039;        *&#039;) THEN(DO)            
          IF         COND(&amp;SPLF = &#039;5722SS1  V&#039;) THEN(DO)                
          GOTO       CMDLBL(LOOP)                                       
          ENDDO                                                         
                                                                        
          IF         COND(&amp;SPLF = &#039;File     &#039;) THEN(DO)                 
          GOTO       CMDLBL(LOOP)                                       
          ENDDO                                                         
          IF         COND(&amp;SPLF = &#039;        *&#039;) THEN(DO)                 
          
            DLTF       FILE(QTEMP/SPOOLED)                              
          GOTO       CMDLBL(POINT)                                      
          ENDDO                                                         
          CVTDAT     DATE(&amp;SPLDT) TOVAR(&amp;SPLD) FROMFMT(*DMY) +          
                         TOFMT(*YYMD) TOSEP(*NONE)                      
          CVTDAT     DATE(&amp;DISPLAY_CUTOFF) TOVAR(&amp;COFF) FROMFMT(*DMY+   
                        ) TOFMT(*YYMD) TOSEP(*NONE)                     
                            
                              
            IF         COND(&amp;SPLD &lt; &amp;COFF) THEN(DO)                      
            CHGVAR     VAR(&amp;SPLNO) VALUE(&amp;SPL#)                          
            DLTSPLF    FILE(&amp;SPLF) JOB(&amp;JOB#/&amp;USER/&amp;JOBN) +              
                       SPLNBR(&amp;SPLNO)                                    
            MONMSG     CPF0000                                           
              CHGVAR     VAR(&amp;INC) VALUE(2)                              
            GOTO       CMDLBL(LOOP)                                      
            ENDDO                                                        
  EXIT:                                                                  
 ENDPGM                                                               

Pls help.]]></description>
		<content:encoded><![CDATA[<p>When the error occurs if i run the command from command line the command works however within the program i get the error that the file is locked.</p>
<p>When i check the previous errors it shows that the file is locked.</p>
<p>Below is the pgm i am running.<br />
PGM<br />
             DCLF       FILE(QGPL/SPOOLED) OPNID(SPOOL)<br />
             DCLF       FILE(QGPL/DLTOLDSPLF) OPNID(DISPLAY)<br />
             DCLF       FILE(OPERATION/OPOUTQ) OPNID(OUTQ)       </p>
<p>           DCL VAR(&amp;SPLF) TYPE(*CHAR) LEN(10)<br />
           DCL        VAR(&amp;SPOOLED) TYPE(*CHAR) LEN(132)<br />
           DCL &amp;USER *CHAR 10<br />
           DCL &amp;JOBN *CHAR 10<br />
           DCL &amp;JOB# *CHAR 10<br />
           DCL &amp;SPL# *CHAR 10<br />
           DCL &amp;SPLDT *CHAR 8<br />
           DCL VAR(&amp;SPLNO) TYPE(*DEC) LEN(5 0)<br />
           DCL &amp;SPLD *CHAR 8<br />
           DCL &amp;COFF *CHAR 8<br />
           DCL        VAR(&amp;INC) TYPE(*DEC) LEN(2 0) VALUE(1)<br />
           DCL        VAR(&amp;SPOOLED) TYPE(*CHAR) LEN(132)<br />
           DCL &amp;USER *CHAR 10<br />
           DCL &amp;JOBN *CHAR 10<br />
           DCL &amp;JOB# *CHAR 10<br />
           DCL &amp;SPL# *CHAR 10<br />
           DCL &amp;SPLDT *CHAR 8<br />
           DCL VAR(&amp;SPLNO) TYPE(*DEC) LEN(5 0)<br />
           DCL &amp;SPLD *CHAR 8<br />
           DCL &amp;COFF *CHAR 8<br />
             DCL        VAR(&amp;INC) TYPE(*DEC) LEN(2 0) VALUE(1)<br />
           SNDRCVF    OPNID(DISPLAY)<br />
             IF         COND(&amp;DISPLAY_IN03 *EQ &#8217;1&#8242;) THEN(GOTO +<br />
                          CMDLBL(EXIT))<br />
 POINT:      RCVF       OPNID(OUTQ)<br />
             MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(EXIT))<br />
           OVRPRTF    FILE(QPRTSPLQ) MAXRCDS(300000) HOLD(*YES)<br />
           WRKOUTQ    OUTQ(&amp;OUTQ_ODLBNM/&amp;OUTQ_ODOBNM) OUTPUT(*PRINT)<br />
             MONMSG     MSGID(CPF9999)<br />
           SNDRCVF    OPNID(DISPLAY)<br />
             IF         COND(&amp;DISPLAY_IN03 *EQ &#8217;1&#8242;) THEN(GOTO +<br />
                          CMDLBL(EXIT))<br />
 POINT:      RCVF       OPNID(OUTQ)<br />
             MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(EXIT))<br />
           OVRPRTF    FILE(QPRTSPLQ) MAXRCDS(300000) HOLD(*YES)<br />
           WRKOUTQ    OUTQ(&amp;OUTQ_ODLBNM/&amp;OUTQ_ODOBNM) OUTPUT(*PRINT)<br />
             MONMSG     MSGID(CPF9999)<br />
             CRTPF FILE(QTEMP/SPOOLED) RCDLEN(132) SIZE(*NOMAX)             </p>
<p>           CPYSPLF    FILE(QPRTSPLQ) TOFILE(QGPL/SPOOLED) +<br />
                      SPLNBR(*LAST)                                         </p>
<p>           DLTSPLF    FILE(QPRTSPLQ) SPLNBR(*LAST)<br />
           DLTOVR     QPRTSPLQ<br />
 LOOP:       RCVF       OPNID(SPOOL)<br />
           MONMSG     MSGID(CPF0864) EXEC(DO)<br />
           RMVMSG     PGMQ(*SAME) CLEAR(*ALL)<br />
             CRTPF FILE(QTEMP/SPOOLED) RCDLEN(132) SIZE(*NOMAX)         </p>
<p>           CPYSPLF    FILE(QPRTSPLQ) TOFILE(QGPL/SPOOLED) +<br />
                      SPLNBR(*LAST)<br />
/*           MONMSG     MSGID(CPF9845 CPF9999)   */<br />
           DLTSPLF    FILE(QPRTSPLQ) SPLNBR(*LAST)<br />
           DLTOVR     QPRTSPLQ<br />
 LOOP:       RCVF       OPNID(SPOOL)<br />
           MONMSG     MSGID(CPF0864) EXEC(DO)<br />
           RMVMSG     PGMQ(*SAME) CLEAR(*ALL)<br />
           GOTO       CMDLBL(QUIT)<br />
           ENDDO<br />
QUIT:<br />
           CHGVAR     VAR(&amp;SPLF) VALUE(%SST(&amp;SPOOL_SPOOLED 2 10))<br />
           CHGVAR     VAR(&amp;USER) VALUE(%SST(&amp;SPOOL_SPOOLED 13 10))<br />
           CHGVAR     VAR(&amp;JOBN) VALUE(%SST(&amp;SPOOL_SPOOLED 84 10))<br />
           CHGVAR     VAR(&amp;JOB#) VALUE(%SST(&amp;SPOOL_SPOOLED 95 6))<br />
           CHGVAR     VAR(&amp;SPL#) VALUE(%SST(&amp;SPOOL_SPOOLED 75 4))<br />
           CHGVAR     VAR(&amp;SPLDT) VALUE(%SST(&amp;SPOOL_SPOOLED 102 8))<br />
           GOTO       CMDLBL(QUIT)<br />
           ENDDO<br />
QUIT:<br />
           CHGVAR     VAR(&amp;SPLF) VALUE(%SST(&amp;SPOOL_SPOOLED 2 10))<br />
           CHGVAR     VAR(&amp;USER) VALUE(%SST(&amp;SPOOL_SPOOLED 13 10))<br />
           CHGVAR     VAR(&amp;JOBN) VALUE(%SST(&amp;SPOOL_SPOOLED 84 10))<br />
           CHGVAR     VAR(&amp;JOB#) VALUE(%SST(&amp;SPOOL_SPOOLED 95 6))<br />
           CHGVAR     VAR(&amp;SPL#) VALUE(%SST(&amp;SPOOL_SPOOLED 75 4))<br />
           CHGVAR     VAR(&amp;SPLDT) VALUE(%SST(&amp;SPOOL_SPOOLED 102 8))<br />
 /* */<br />
 /* SEE IF THE SPOOL FILE IS PAST EXPIRATION */<br />
 /* */<br />
           IF         COND(&amp;SPLF = &#8217;5722SS1  V&#8217;) THEN(DO)<br />
           GOTO       CMDLBL(LOOP)<br />
           ENDDO                                                    </p>
<p>           IF         COND(&amp;SPLF = &#8216;File     &#8216;) THEN(DO)<br />
           GOTO       CMDLBL(LOOP)<br />
           ENDDO<br />
           IF         COND(&amp;SPLF = &#8216;        *&#8217;) THEN(DO)<br />
          IF         COND(&amp;SPLF = &#8217;5722SS1  V&#8217;) THEN(DO)<br />
          GOTO       CMDLBL(LOOP)<br />
          ENDDO                                                         </p>
<p>          IF         COND(&amp;SPLF = &#8216;File     &#8216;) THEN(DO)<br />
          GOTO       CMDLBL(LOOP)<br />
          ENDDO<br />
          IF         COND(&amp;SPLF = &#8216;        *&#8217;) THEN(DO)                 </p>
<p>            DLTF       FILE(QTEMP/SPOOLED)<br />
          GOTO       CMDLBL(POINT)<br />
          ENDDO<br />
          CVTDAT     DATE(&amp;SPLDT) TOVAR(&amp;SPLD) FROMFMT(*DMY) +<br />
                         TOFMT(*YYMD) TOSEP(*NONE)<br />
          CVTDAT     DATE(&amp;DISPLAY_CUTOFF) TOVAR(&amp;COFF) FROMFMT(*DMY+<br />
                        ) TOFMT(*YYMD) TOSEP(*NONE)                     </p>
<p>            IF         COND(&amp;SPLD &lt; &amp;COFF) THEN(DO)<br />
            CHGVAR     VAR(&amp;SPLNO) VALUE(&amp;SPL#)<br />
            DLTSPLF    FILE(&amp;SPLF) JOB(&amp;JOB#/&amp;USER/&amp;JOBN) +<br />
                       SPLNBR(&amp;SPLNO)<br />
            MONMSG     CPF0000<br />
              CHGVAR     VAR(&amp;INC) VALUE(2)<br />
            GOTO       CMDLBL(LOOP)<br />
            ENDDO<br />
  EXIT:<br />
 ENDPGM                                                               </p>
<p>Pls help.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sloopy</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/unable-to-run-cpysplf-command-multiple-times-to-same-output-file-in-a-single-cl/#comment-69841</link>
		<dc:creator>sloopy</dc:creator>
		<pubDate>Mon, 02 Nov 2009 16:43:41 +0000</pubDate>
		<guid isPermaLink="false">#comment-69841</guid>
		<description><![CDATA[It sounds rather as if the file is locked. It may be that the program you use to process the file does not end with *INLR = *ON.]]></description>
		<content:encoded><![CDATA[<p>It sounds rather as if the file is locked. It may be that the program you use to process the file does not end with *INLR = *ON.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Database Caching 3/10 queries in 0.049 seconds using memcached
Object Caching 309/315 objects using memcached

Served from: itknowledgeexchange.techtarget.com @ 2013-05-22 07:55:56 -->