Page 1 of 2

Coding format for IEBUPDTE

PostPosted: Sun Mar 17, 2013 7:53 pm
by pearl
I am trying to use IEBUPDTE utility but it never works. Does anyone know the correct working format? Please guide me. It's very urgent.
P.S: I cannot post the code.

Re: IEBUPDTE

PostPosted: Sun Mar 17, 2013 7:59 pm
by Anuj Dhawan

Re: IEBUPDTE

PostPosted: Sun Mar 17, 2013 8:12 pm
by Robert Sample
I am trying to use IEBUPDTE utility but it never works.
This is a completely useless statement. When you say "it never works" do you mean:
- you cannot get the JCL to execute
- you get the JCL to execute but your control statements are not recognized
- your control statements are recognized but are not valid
- your control statements are recognized and valid but the results you get are not what you wanted
- you get a system abend when you attempt to execute IEBUPDTE
- you get a non-zero return code when you execute IEBUPDTE
- you get some other results that you haven't explained?

Re: IEBUPDTE

PostPosted: Sun Mar 17, 2013 8:28 pm
by enrico-sorichetti
P.S: I cannot post the code.

if You cannot post the code
then You should not ask for help on a public forum

in order to give help we EXPECT cooperation not lame excuses
how do You expect anybody to diagnose the error without looking at the <code> ??? :evil:

Re: IEBUPDTE

PostPosted: Sun Mar 17, 2013 9:32 pm
by Akatsukami
Welcome to the board, Pearl-chan. Now please sit down and take a deep breath :)

Mr. Sample and Dr. Sorichetti have between them pointed out most of the flaws in your post; I will only add that urgency on your part does not entail urgency on ours.

Sri Dhawan has provided a link to an example of a IEBUPDTE job; it may be that you will find it adequate to your needs.

If you cannot post the JCL and sysout for technical reasons, we may able to talk you through that task. If it is for security reasons, you may be better served by asking for aid from your senpai or your support workgroups; as Dr. Sorichetti points out, it is impossible for us to work blind.

Finally, if you tell us the task that you are trying to accomplish, we may be able to explain better ways of doing it; IEBUPDTE is a very old utility, and one that is generally not suitable for a typical developer.

Re: IEBUPDTE

PostPosted: Sun Mar 17, 2013 10:18 pm
by steve-myers
Akatsukami, Mr. Sorichetti and Mr. Sample have all made valid comments. I have been using IEBUPDTE from time to time for more than 40 years; I have never encountered a situation where it failed to "work" as specified in "DFSMSdfp Utilities" for your z/OS release. Many times I have had trouble persuading it to do what I wanted it to do, but after sessions with the manual and some experimentation I got it to work.

As Akatsukami, Mr. Sorichetti and Mr. Sample all say your statement that you cannot post your code is pure hog wash. Actually, we have no interest in the code itself, just as IEBUPDTE has no interest in the code. To assist you, we need to see
  1. The JCL, perhaps with data set names altered to protect the innocent.
  2. The IEBUPDTE control statements as specified in your SYSIN data set.
I hope you are aware that if it is your intent to use IEBUPDTE to update data specified in the data set specified in the SYSUT1 DD statement -
  1. The data set must have the DCB=(RECFM=FB,LRECL=80,BLKSIZE=xxx) attributes.
  2. The data must have valid record numbers.
  3. The record numbers must be located in columns 73 through 80, though the actual location can be specified in the ./ CHANGE IEBUDPTE control statement if the record IDs are not in columns 73 through 80.

Re: IEBUPDTE

PostPosted: Sun Mar 17, 2013 11:35 pm
by steve-myers
An example: I want to replace three lines of code in a PDS member with 5 lines and create a sequential data set -
//A       EXEC PGM=IEBUPDTE
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  DISP=SHR,DSN=xxx
//SYSUT2   DD  DISP=(,PASS),UNIT=SYSDA,SPACE=(TRK,(3,1)),
//             DCB=(RECFM=FB,LRECL=80,DSORG=PS)
//SYSIN    DD  *
./ CHANGE NAME=LISTPDIR,NEW=PS
./ NUMBER INSERT=YES,SEQ1=16800000,NEW1=16850000,INCR=50000
         JZ    OPENUT1             BR IF OK
         WTO   'LPD001E UNABLE TO OPEN SYSPRINT!',ROUTCDE=11,DESC=7
         SETCC RC,20               SET THE RETURN CODE
         J     EXIT                AND EXIT
OPENUT1  LA    1,OPARM2            LOAD ADDR OF THE OPEN PARM LIST
./ DELETE SEQ1=16900000,SEQ2=17100000
//B       EXEC PGM=ASMA90,PARM='OBJECT,NODECK,XREF(SHORT),NORLD',
//             COND=(0,NE)
//SYSPRINT DD  SYSOUT=*
//SYSLIB   DD  DISP=SHR,DSN=SYS1.MODGEN
//         DD  DISP=SHR,DSN=SYS1.MACLIB
//SYSLIN   DD  DISP=(,PASS),UNIT=SYSDA,SPACE=(TRK,(3,2)),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//SYSIN    DD  DISP=(OLD,DELETE),DSN=*.A.SYSUT2
Now you will notice I altered the SYSUT1 DD statement; there is no need to display the actual data set name and I did not display the JOB JCL statement. I did not alter any element of the SYSIN data set. No one can tell very much from the code that is displayed

Re: IEBUPDTE

PostPosted: Mon Mar 18, 2013 3:19 am
by c62ap90
//*--- ADD MEMBER ---
//NEWPDS   EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUD   DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSUT2   DD DSN=TSOID00.SPF1.SPUFI,DISP=SHR
//SYSIN    DD *
./ ADD NAME=TESTMEM,LIST=ALL
DATA LINE 1 NEW
DATA LINE 2 NEW
DATA LINE 3 NEW
DATA LINE 4 NEW
DATA LINE 5 NEW
./ ENDUP
/*
//


//* *** - ADD MEMBER ABOVE FIRST, THEN UPDATE MEMBER BELOW
//*--- REPLACE MEMBER ---
//MODPDS   EXEC PGM=IEBUPDTE,PARM=MOD
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUD   DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSUT1   DD DSN=TSOID00.SPF1.SPUFI,DISP=OLD     < MUST BE OLD
//SYSUT2   DD DSN=TSOID00.SPF1.SPUFI,DISP=MOD     < MUST BE MOD
//SYSIN    DD *
./ REPL NAME=TESTMEM,LIST=ALL
DATA LINE 1 MOD <===
DATA LINE 2 MOD
DATA LINE 3 MOD
DATA LINE 4 MOD
DATA LINE 5 MOD
./ ENDUP
/*
//

Re: IEBUPDTE

PostPosted: Mon Mar 18, 2013 7:50 am
by dick scherrer
Hello and welcome to the forum,

P.S: I cannot post the code.
Use a little imagination before posting such nonsense. . .

Why can you not copy/paste the "special code" then replace anything that is to be restricted?

If you want help here, you will often have to do a bit of work yourself. When posting the code (or anything that needs to be aligned), use the Code tag.

Re: IEBUPDTE

PostPosted: Mon Mar 18, 2013 8:05 pm
by c62ap90
dick scherrer wrote:Hello and welcome to the forum,

P.S: I cannot post the code.
Use a little imagination before posting such nonsense. . .

Use a little imagination...
Maybe his dog ate the code.?.