IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

IEBUPDTE failed to update a record in a member of a PDS,RC=4


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
vivid8474

New User


Joined: 13 Mar 2008
Posts: 6
Location: CN

PostPosted: Tue Apr 08, 2008 1:55 pm
Reply with quote

This job is to update a record in WISCOB5.INPUT(CTYFILE).

I'd like to replace the first record "WUHAN" with "HANKOU". But the job failed to run with RC=4.

What's the reason? How to make this job executed successfully?

WISCOB5.INPUT(CTYFILE)
---------------------------------------------------------------------------
WUHAN 00010002
SHANGHAI 00020002
GUANGZHOU 00030002
HANGZHOU 00040002
XI'AN 00050002
DALIAN 00060002
BEIJING 00070002
CHENGDU 00080002
---------------------------------------------------------------------------

JCL
----------------------------------------------------------------------------
//VUPDTE JOB '','VIVI',CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//CHANGE EXEC PGM=IEBUPDTE
//SYSUT1 DD DSN=WISCOB5.INPUT,DISP=OLD
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
./ CHANGE NAME=CTYFILE,UPDATE=INPLACE
WUHAN 00010002
HANKOU 00010002

./ENDUP
----------------------------------------------------------------------------

JOB LOG
----------------------------------------------------------------------------
******************* TOP OF DATA *************************
SYSIN NEW MASTER
./ CHANGE NAME=CTYFILE,UPDATE=INPLACE
WUHAN 00010002
IEB807I INVALID OPERATION.
IEB818I HIGHEST CONDITION CODE WAS 00000004
IEB819I END OF JOB IEBUPDTE.
******************BOTTOM OF DATA **************************
----------------------------------------------------------------------------
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Tue Apr 08, 2008 6:41 pm
Reply with quote

Look a little closer at the manual, Use of the CHANGE function statement without a NUMBER or DELETE detail statement, or a data statement causes an error condition.
And look at the Example 4: Update a Library Member....
Back to top
View user's profile Send private message
Bill Dennis

Active Member


Joined: 17 Aug 2007
Posts: 562
Location: Iowa, USA

PostPosted: Tue Apr 08, 2008 9:20 pm
Reply with quote

Your SYSIN should only have the new record, not both records.
Back to top
View user's profile Send private message
vivid8474

New User


Joined: 13 Mar 2008
Posts: 6
Location: CN

PostPosted: Wed Apr 09, 2008 6:09 am
Reply with quote

Now I have updated my this job as the below two kinds
---------------------------------------------------------------------------------

//VUPDTE JOB '','VIVI',CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//CHANGE EXEC PGM=IEBUPDTE,PARM=MOD
//SYSUT1 DD DSN=WISCOB5.INPUT,DISP=OLD
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
./ CHANGE NAME=CTYFILE,UPDATE=INPLACE
./ NUMBER SEQ1=ALL,NEW1=00010001,INCR=00000001
HANKOU 00010001
./ENDUP

---------------------------------------------------------------------------------


//VUPDTE JOB '','VIVI',CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//CHANGE EXEC PGM=IEBUPDTE,PARM=MOD
//SYSUT1 DD DSN=WISCOB5.INPUT,DISP=OLD
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
./ CHANGE NAME=CTYFILE,UPDATE=INPLACE
./ NUMBER SEQ1=ALL,NEW1=00010001,INCR=00000001
WUHAN 00010001
HANKOU 00010001
./ENDUP

---------------------------------------------------------------------------------

But the RC is still 4, the log as the below:
---------------------------------------------------------------------------------

********************************* TOP OF DATA **********
SYSIN NEW MASTER
./ CHANGE NAME=CTYFILE,UPDATE=INPLACE
./ NUMBER SEQ1=ALL,NEW1=00010001,INCR=00000001
HANKOU
IEB807I INVALID OPERATION.
IEB818I HIGHEST CONDITION CODE WAS 00000004
IEB819I END OF JOB IEBUPDTE.
******************************** BOTTOM OF DATA ********
---------------------------------------------------------------------------------
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed Apr 09, 2008 7:29 am
Reply with quote

Hi,
try this
Code:
./ CHANGE NAME=CTYFILE,UPDATE=INPLACE                                           
./ NUMBER SEQ1=ALL,NEW1=00010000,INCR=00000010                                 
HANKOU                                                                  00010010
./ ENDUP                                                                       



Gerry
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Wed Apr 09, 2008 8:14 am
Reply with quote

This is interesting. I don't think I've ever seen someone actually use IEBUPDTE like this, instead of an edit or SORT.
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed Apr 09, 2008 8:33 am
Reply with quote

Hi,
this is how JCL, PROCS were updated in the good old punch card days (haha)


Gerry
Back to top
View user's profile Send private message
vivid8474

New User


Joined: 13 Mar 2008
Posts: 6
Location: CN

PostPosted: Wed Apr 09, 2008 8:53 am
Reply with quote

Problem still exists with RC=4

Now this job is updated to as the below:

Code:
                                                     
//CHANGE  EXEC PGM=IEBUPDTE,PARM=MOD                                           
//SYSUT1  DD   DSN=WISCOB5.INPUT,DISP=OLD                                       
//SYSPRINT DD  SYSOUT=*                                                         
//SYSIN   DD   *                                                               
./ CHANGE NAME=CTYFILE,UPDATE=INPLACE                                           
./ NUMBER SEQ1=ALL,NEW1=00010000,INCR=00000010                                 
HANKOU                                                                                00010000
./ENDUP                                                                         


RC = 4, job log as the following:
Code:

       SYSIN                            NEW MASTER             
       ./ CHANGE NAME=CTYFILE,UPDATE=INPLACE                   
       ./ NUMBER SEQ1=ALL,NEW1=00010000,INCR=00000010         
               WUHAN                                           
               HANKOU                                         
       ./ENDUP                                                 
IEB805I CONTROL STATEMENT ERROR.                               
IEB818I HIGHEST CONDITION CODE WAS 00000004                   
IEB819I END OF JOB IEBUPDTE.                                   
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed Apr 09, 2008 8:56 am
Reply with quote

Hi,
can you please post the JCL using Code.

Gerry
Back to top
View user's profile Send private message
Bill Dennis

Active Member


Joined: 17 Aug 2007
Posts: 562
Location: Iowa, USA

PostPosted: Wed Apr 09, 2008 8:19 pm
Reply with quote

I don't know why you've added parms to reassign SEQ numbers? If you're only replacing one line of the member, remove the NEW1 and INCR options.
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed Apr 09, 2008 9:20 pm
Reply with quote

Hi Vivid8474,
the problem is with the ./ENDUP it requires a space after the ./ as im my example previously mentioned. ie.



Code:
./ ENDUP



Gerry
Back to top
View user's profile Send private message
vivid8474

New User


Joined: 13 Mar 2008
Posts: 6
Location: CN

PostPosted: Thu Apr 10, 2008 6:10 am
Reply with quote

ok. it got solved.

Thx, all~~
Back to top
View user's profile Send private message
nandhu

New User


Joined: 07 Mar 2006
Posts: 7
Location: chennai

PostPosted: Sat May 16, 2009 12:28 pm
Reply with quote

Hi,

One of our production job has the following step and it ended with RC 04.

JOB:

//INSTP30 EXEC PGM=IEBUPDTE,
// PARM=MOD
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=H1279AF.CODE.COMPARE.PROD,DISP=OLD
//SYSUT2 DD DSN=H1279AF.CODE.COMPARE.PROD,DISP=OLD
//SYSIN DD DSN=H1279AF.IEBUPDTE.INPUT,DISP=OLD
/*

SYSIN:

./ CHANGE NAME=PUV07I,UPDATE=INPLACE
ISRSUPC
AAAAAAA
./ ENDUP

The below is the sysprint:

.SARPAGE 10 DS=SYSPRINT.INSTP30 . /0000134
. SYSIN NEW MASTER
. ./ ENDUP
.IEB805I CONTROL STATEMENT ERROR.
.IEB818I HIGHEST CONDITION CODE WAS 00000004
.IEB819I END OF JOB IEBUPDTE.


I refered to one of the previous topic and as per the above discussion, it was mentioned there should be one space before and after ENDUP in the sysin card. The sysin we use has space and still we get the rc 04.

Could anyone please help us in resolving this error?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Sat May 16, 2009 1:14 pm
Reply with quote

Hello,

It will help us help you if you post output that is from the posted input. . .

The "sysprint" does not appear to have been created from the posted sysin.

Suggest you practice using the "Code" tag which will make posting jcl, control statements, code, and data much more readable.

Also, at the top of the pager is a link to "IBM Manuals" one of which is the "IBM JCL Utilities Guide for DFSMS". This has the information on the iebupdte utility.

Does the job possibly have multiple steps?
Back to top
View user's profile Send private message
nandhu

New User


Joined: 07 Mar 2006
Posts: 7
Location: chennai

PostPosted: Mon May 18, 2009 11:16 am
Reply with quote

Hi Dick,

yes, this job has multiple steps and this step has returned 04. My previous posting was the job we tried in test region.

The prod job's sys in had no statements except ENDUP. I tried going through the manuals, but couldn't resolve it.

Code:

Code:
//INSTP30  EXEC PGM=IEBUPDTE,                             
//         PARM=MOD                                       
//SYSPRINT DD   SYSOUT=*                                   
//SYSUT1   DD   DSN=H1279PS.EM.COPYBOOK.M288,DISP=OLD     
//SYSUT2   DD   DSN=H1279PS.EM.COPYBOOK.M288,DISP=OLD     
//SYSIN    DD   DSN=H1279PS.UP.TCOPBOO2.L617(+1),DISP=OLD 

Code:
Code:

*********************************
./      ENDUP                                                                   
********************************
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Mon May 18, 2009 11:27 am
Reply with quote

Hello,

Please post the sysprint output of thie instp30. Also please post the jcl, sysin, and sysprint for a step that works as needed.

Note how your previous post has now been "Coded". With a little practice, it becomes almost automatic. It also preserves alignment, so the poster does not have to count positions icon_smile.gif
Back to top
View user's profile Send private message
nandhu

New User


Joined: 07 Mar 2006
Posts: 7
Location: chennai

PostPosted: Mon May 18, 2009 12:09 pm
Reply with quote

Hi,

Please find below the sysprint of the above step:

Code:

.SARPAGE 10             DS=SYSPRINT.INSTP30 .        /0000134                   
.       SYSIN                            NEW MASTER                             
.       ./      ENDUP                                                           
.IEB805I CONTROL STATEMENT ERROR.                                               
.IEB818I HIGHEST CONDITION CODE WAS 00000004                                   
.IEB819I END OF JOB IEBUPDTE.                                                   
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed May 20, 2009 5:26 am
Reply with quote

Hi,

I'm a little confused with this thread, what exactly are you trying to achieve ?
Code:
./ ENDUP
without a function statement such as ADD | CHANGE | REPL | REPRO is not going to do much except returning a cc of 04.

Gerry
Back to top
View user's profile Send private message
nandhu

New User


Joined: 07 Mar 2006
Posts: 7
Location: chennai

PostPosted: Thu May 21, 2009 2:33 pm
Reply with quote

Hi,

This job step now is a dummy step, we will be adding the functions when ever we want change something in a library. This library has the copybook structure of some tables. So only when we change/add some copybooks we update the sysin with appropriate commands.

So when there is no change, this step is a dummy step and should return zero, but now it throws an error saying control statemetn error.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Thu May 21, 2009 7:55 pm
Reply with quote

Hello,

You should re-think the implementation. . .

You need to make sure there is "something" to update even if it is a dummy member or set/use a condition code to conditionally execute this step only when there is something to update.

IBM is not going to change the utility to do what you are trying to do.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts To find whether record count are true... DFSORT/ICETOOL 6
No new posts Validating record count of a file is ... DFSORT/ICETOOL 13
Search our Forums:

Back to Top