Page 1 of 1

about IEBUPDTE INSERT

PostPosted: Wed Dec 02, 2009 12:20 am
by migusd
Hi guys,
Does someone has an example on how to insert/update a line that contains 70 characters?
Since I had to include the line number where I want the line inserted, I used up all 80 character in the line.

I tried to insert a comment line in the JOB, something like this
//* comment that takes up to seventy characters inserted like this one* 00000075

I want to insert a line like that between lines 70 and 80, so I indicated to insert the line as indicated.

This is the syntax I used.

./ CHANGE NAME=BX220RTC,LIST=ALL
//* comment that takes up to seventy characters inserted like this one* 00000075.
/ ENDUP

...and this is the error I am getting.
SYSIN NEW MASTER
./ CHANGE NAME=BX220RTC,LIST=ALL
IEB807I INVALID OPERATION.
IEB818I HIGHEST CONDITION CODE WAS 00000004
IEB819I END OF JOB IEBUPDTE.


Does someone have an example or point me in the right direction/manual?

Thanks in advance.

Miguel

Re: about IEBUPDTE INSERT

PostPosted: Wed Dec 02, 2009 3:16 am
by Bill Dennis
Check the PARM= value. IIRC, it's different for NEW vs. UPDATE.

Re: about IEBUPDTE INSERT

PostPosted: Thu Dec 03, 2009 12:03 am
by migusd
Hi Bill,
Sorry for my late reply. I got hook into something else.

Since the library I am using to update the members already exist I am not using the parm. I am assuming is using the default (mod).
Am I right?

In fact, I am having issues to understand the INSERT. I don't get what I am missing.
As far as I read, the INSERT has to be used with the NUMBER detail statement.
Since it is a new line what I am trying to insert, I have to specify SEQ1 to let it know the line number after it gets inserted.
NEW1 is supposed to be the number associated to the inserted line, and INCR is used for increments for subsequent inserted lines.

Like I said, I left aside the PARM.

.....
more later....

Re: about IEBUPDTE INSERT

PostPosted: Thu Dec 03, 2009 12:29 am
by migusd
I tried once more with the following changes.
PARM=MOD,
Same library for SYSUT1, and SYSUT2, both with disp=OLD.

...and got the same result.

I made sure the library and member are there.
...and the member is in the correct sequence with increments of 10 for line...

This is the job I used.

//JS010 EXEC PGM=IEBUPDTE,PARM=MOD
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=OLD,DSN=BX220.FROM.JCL
//SYSUT2 DD DISP=OLD,DSN=BX220.FROM.JCL
//SYSIN DD *
./ CHANGE NAME=BX220RTC,LIST=ALL
./ NUMBER SEQ1=070,NEW1=073,INCR=05,INSERT=YES
//* THIS IS THE FIRST COMMENT LINE I WOULD LIKE TO INSERT IN THE *
//* AND THIS IS THE SECOND LINE I WOULD LIKE TO IN INSERT IN FILE*
./ ENDUP
/*

...and this is the result.
SYSIN NEW MASTER
./ CHANGE NAME=BX220ARTC,LIST=ALL 0
./ NUMBER SEQ1=070,NEW1=073,INCR=05,INSERT=YES 0
IEB807I INVALID OPERATION.
IEB818I HIGHEST CONDITION CODE WAS 00000004
IEB819I END OF JOB IEBUPDTE.

Something doesn't like it.... but what is it?



Thanks

Re: about IEBUPDTE INSERT

PostPosted: Thu Dec 03, 2009 12:35 am
by migusd
My mistake....
this is what I meant....
Inadvertently I introduced an A in the job name in the output

This is the job I used.

//JS010 EXEC PGM=IEBUPDTE,PARM=MOD
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=OLD,DSN=BX220.FROM.JCL
//SYSUT2 DD DISP=OLD,DSN=BX220.FROM.JCL
//SYSIN DD *
./ CHANGE NAME=BX220RTC,LIST=ALL
./ NUMBER SEQ1=070,NEW1=073,INCR=05,INSERT=YES
//* THIS IS THE FIRST COMMENT LINE I WOULD LIKE TO INSERT IN THE *
//* AND THIS IS THE SECOND LINE I WOULD LIKE TO IN INSERT IN FILE*
./ ENDUP
/*

...and this is the result.
SYSIN NEW MASTER
./ CHANGE NAME=BX220RTC,LIST=ALL 0
./ NUMBER SEQ1=070,NEW1=073,INCR=05,INSERT=YES 0
IEB807I INVALID OPERATION.
IEB818I HIGHEST CONDITION CODE WAS 00000004
IEB819I END OF JOB IEBUPDTE.




Thanks

Re: about IEBUPDTE INSERT

PostPosted: Thu Dec 03, 2009 4:20 am
by dick scherrer
Hello,

Try changing the SYSIN to
//SYSIN DD DATA,DLM='##'

and replacing the /* with

Re: about IEBUPDTE INSERT

PostPosted: Thu Dec 03, 2009 8:18 pm
by migusd
Quite a difference.!!!....

...still not there yet.

it appended the records at the end of the JCL...
not where I wanted them...

is there something wrong with my NUMBER detail statement?

The CC code is 0, though.

Thanks Dick.

Re: about IEBUPDTE INSERT

PostPosted: Thu Dec 03, 2009 8:33 pm
by migusd
...more details.
...the sequence given to the records doesn't even match the sequence of the JCL.

Look at this.
00001980
00001990
00130004 * INSERTED*
00131004 * INSERTED*

This is the sequence of the last lines of the JCL.
The first two were (and should be) the last two lines of the JCL.
The last two lines shown are the inserted ones. The sequence doesn't event continue with what the job have.
I can understand the last digit of both lines. I have submitted the job four times trying to fix it. Same NUMBER statement, different comments.

Re: about IEBUPDTE INSERT

PostPosted: Thu Dec 03, 2009 9:21 pm
by migusd
More tries.

I even tried to renumber all lines prior to the insertion in the same job step
Two CHANGE function statements (added LEVEL=01, and SOURCE=0 since last execution).
The first one for the initial NUMBER detail SEQ1=ALL. This one worked perfect.
The second one with the INSERT option. Still the lines were added at the end of the job.

This is the the sysin card as executed.
//SYSIN DD DATA,DLM='##'
./ CHANGE NAME=BX220RTC,LIST=ALL,LEVEL=01,SOURCE=0
./ NUMBER SEQ1=ALL,NEW1=010,INCR=10
./ CHANGE NAME=BX220RTC,LIST=ALL,LEVEL=01,SOURCE=0
./ NUMBER SEQ1=070,NEW1=073,INCR=05,INSERT=YES
//*NEXT TRY AT INSERTING THE MESSAGE. *
//*NOW RENUMBERING ALL LINES PRIOR TO INSERT. *
./ ENDUP
##

The result is as follows.

GOTO LOOP1 00001980
* 00001990
//*SECOND MESSAGE I WOULD LIKE TO INSERT IN * 00002000
//*THIRD MESSAGE I WOULD LIKE TO INSERT IN * 00002010
//*THE FILE. MUST BE LINE 80 AND 90. * 00002020
//*THE FILE. MUST BE LINE 80 AND 90 AND COUNT * 00002030
//*NEXT TRY AT INSERTING THE MESSAGE. * 00130006
//*NOW RENUMBERING ALL LINES PRIOR TO INSERT. * 00131006

You can see that the lines I inserted with prior executions were renumbered properly.
The lines were inserted still at the end not even continuing on the sequence given.

Thanks in advance.

Miguel

Re: about IEBUPDTE INSERT

PostPosted: Fri Dec 04, 2009 10:02 am
by dick scherrer
Hello,

It has been many, many years since i last used iebupdte so this is not on the top of my memory :)

Look here:
http://publibz.boulder.ibm.com/cgi-bin/ ... 140/10.4.8

The yellow flashlight/tubelight near the top left is a search feature for the manual.