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

Problem with REPL call


IBM Mainframe Forums -> IMS DB/DC
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
arunspanickar

New User


Joined: 12 Sep 2009
Posts: 7
Location: India

PostPosted: Sat Sep 12, 2009 10:36 am
Reply with quote

Hi,

I have a problem when I try to update IMS segments using REPL. I am testing a new program to update an IMS segement.The REPL call is returning status code SPACE but the database is not reflecting the changes.

I could verify the segment name, processing option in REPL call using DISPLAY statements. The PROC OPTION for the call is A.


Below are my codes for GHU and REPL for the segment FINVIN

CALL 'CBLTDLI' USING GHU

VFIN-PCB

FINVIN

SSA-SPFINVIN



IF VFINA030-STATUS-CODE = SPACE

NEXT SENTENCE

ELSE

……





CALL 'CBLTDLI' USING REPL

VFIN-PCB

FINVIN.



IF VFINA030-STATUS-CODE = SPACE

PERFORM Z9995-CKPT-INCREMENT THRU Z9995-EXIT

ADD 1 TO RECS-READ

DISPLAY ' REPL STATUS ' VFINA030-STATUS-CODE

DISPLAY ' PROC OPTION' VFINA030-PROC-OPTS

DISPLAY ' SEG NAME' VFINA030-SEG-NAME-FB

ELSE

……….

For the unit testing, I am using an existing PSB for my new program.Will this be an issue?

Can anyone kindly suggest me a possible solution? Thanks a lot.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Sat Sep 12, 2009 6:03 pm
Reply with quote

IF VFINA030-STATUS-CODE = SPACE
NEXT SENTENCE
ELSE

Can you post what you have after the else?
Back to top
View user's profile Send private message
arunspanickar

New User


Joined: 12 Sep 2009
Posts: 7
Location: India

PostPosted: Sat Sep 12, 2009 6:21 pm
Reply with quote

Thanks for the reply.
I am pasting the GHU call here

CALL 'CBLTDLI' USING GHU
VFIN-PCB
FINVIN
SSA-SPFINVIN

IF VFINA030-STATUS-CODE = SPACE
NEXT SENTENCE
ELSE
IF VFINA030-STATUS-CODE = 'GE'
NEXT SENTENCE
ELSE
MOVE VFINA030-PCB TO PCB-AREA
MOVE '1100-GHU-AAAAR'
TO HA-ABEND-CALLING-PARAGPH
MOVE 'ABEND ON GHU TO VFINA030 SEG'
TO HA-ABEND-REASON
PERFORM 99999-DISPLAY-IMS-ABEND.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Sat Sep 12, 2009 6:36 pm
Reply with quote

Tell me I am wrong, but it looks like when you get the "GE", you continue on to the REPL logic? Are you performing a paragraph thru an exit?
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Sat Sep 12, 2009 6:48 pm
Reply with quote

I want to post this that I learned way back WHEN. Use paragraphs with relevant exit - always perform thru an exit. It is much easier to maintain. For instance -

CALL 'CBLTDLI' USING GHU
VFIN-PCB
FINVIN
SSA-SPFINVIN

IF VFINA030-STATUS-CODE = SPACE
NEXT SENTENCE
ELSE
IF VFINA030-STATUS-CODE = 'GE'
(this code is just an example)
MOVE VFINA030-PCB TO PCB-AREA
MOVE '1100-GHU-AAAAR'
TO HA-ABEND-CALLING-PARAGPH
MOVE 'ABEND ON GHU TO VFINA030 SEG'
TO HA-ABEND-REASON
PERFORM 99999-DISPLAY-IMS-ABEND
go to 1199-exit
ELSE
MOVE VFINA030-PCB TO PCB-AREA
MOVE '1100-GHU-AAAAR'
TO HA-ABEND-CALLING-PARAGPH
MOVE 'ABEND ON GHU TO VFINA030 SEG'
TO HA-ABEND-REASON
PERFORM 99999-DISPLAY-IMS-ABEND
go to 1199-exit.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Sat Sep 12, 2009 8:22 pm
Reply with quote

Another thing - why aren't you using your very own PSB? I am adamant about every program having it's very own PSB. What if the OWNER of the PSB you are using decides to add or taking away a PCB within that PSB? Also, when you use a non-relevant PSB, you need to make sure that the PSB you are using aligns with your LINKAGE and ENTRY statements. So, if the PSB you are using happens to have 20 PCBs, then you need ALL of them in your process even if you are only using 1. So, check it out.
Back to top
View user's profile Send private message
arunspanickar

New User


Joined: 12 Sep 2009
Posts: 7
Location: India

PostPosted: Mon Sep 14, 2009 9:07 am
Reply with quote

Hi Sandy,

I am using the existing PSB for my unit testing. There will be seperate PSB for my program in later stage. Actually the current PSB that U am using has a n additional PCB ( for GSAM operation on a sequentiol file). That extra PCB is not included in ENTRy statement , and sequential file is not added to test JCL also. As you mentioned I will make entries in linkage and ENTRY statements for 3rd PCB and do the unit testing.

Thanks alot for your sugestion.

Arun
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Mon Sep 14, 2009 5:03 pm
Reply with quote

Why not just do your own PSB? Hopefully you will be testing with your own PSB before installing this procedure into production. Also, it sounds like the PSB that you borrowed is BMP - is your process BMP?
Back to top
View user's profile Send private message
arunspanickar

New User


Joined: 12 Sep 2009
Posts: 7
Location: India

PostPosted: Mon Sep 14, 2009 5:13 pm
Reply with quote

Yes it is BMP processing.
I have started testing with an existing PSB since the new PSB creation is taking time.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Mon Sep 14, 2009 5:16 pm
Reply with quote

Why is the new PSB taking time? Can't you do it yourself? Or, you code it and your systems support group gens it?

So, if you need to use the existing PSB, take a look at the program that corresponds - look at the linkage and entry statements in that program.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Mon Sep 14, 2009 8:12 pm
Reply with quote

One more thing - try displaying the contents of your key-feedback-area both after your get and then right after your replace.
Back to top
View user's profile Send private message
arunspanickar

New User


Joined: 12 Sep 2009
Posts: 7
Location: India

PostPosted: Tue Sep 15, 2009 5:43 pm
Reply with quote

Hi,
Today i have tested one existing BMP program and the IMS segment is not getting updated.I have verified the REPL call's status codes and also veriifed the values I moved to IMS segment. Evrything looks good. The Processing option of PSB is A.
Is there any standard settings i am missing before I compile and test new/ existing programs in test region?Or is it related to accessibilty of my id ?
I am pretty new to IMS. Sorry If i am asking very basic question.
Thanks again for your time.

Arun
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Tue Sep 15, 2009 5:53 pm
Reply with quote

Did you display the contents of - all of the fields in your PCB area both after your get and after your replace? Make sure to display ALL of

Did you change your linkage and entry?

Did you change your code? Can we see both the get and the repl logic?

I'm sorry for asking all of this again.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Wed Sep 16, 2009 6:45 pm
Reply with quote

You are going after the root segment, aren't you?
Back to top
View user's profile Send private message
arunspanickar

New User


Joined: 12 Sep 2009
Posts: 7
Location: India

PostPosted: Wed Sep 16, 2009 6:47 pm
Reply with quote

I am changing the root segment
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Wed Sep 16, 2009 6:49 pm
Reply with quote

Is it working now?
Back to top
View user's profile Send private message
arunspanickar

New User


Joined: 12 Sep 2009
Posts: 7
Location: India

PostPosted: Wed Sep 16, 2009 7:09 pm
Reply with quote

Still I am facing problem with update. I have displayed IO area just before REPL call and it was giving me the correct values.
I am pasting the PSB defnition

SPFINVIN PCB TYPE=DB,DBDNAME=VFINA030,KEYLEN=17,PROCOPT=A

SENSEG NAME=SPFINVIN,PARENT=0

PCB TYPE=GSAM,DBDNAME=VTSFZ010,PROCOPT=G

PCB TYPE=GSAM,DBDNAME=VTSFZ020,PROCOPT=L

PCB TYPE=GSAM,DBDNAME=VTSFZ030,PROCOPT=L

PSBGEN LANG=COBOL,PSBNAME=VDANB400,CMPAT=YES

END

Here SPFINVIN update is not happening in my program.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Wed Sep 16, 2009 7:36 pm
Reply with quote

Can you post your linkage and entry? Also, your JCL? Are you displaying the contents of the PCB for SPFINVIN?
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 -> IMS DB/DC

 


Similar Topics
Topic Forum Replies
No new posts Map Vols and Problem Dataset All Other Mainframe Topics 2
No new posts Error while running web tool kit REXX... CLIST & REXX 5
No new posts Call program, directly from panel CLIST & REXX 9
No new posts Batch call online program, EXCI task ... CICS 3
No new posts z/vm installation problem All Other Mainframe Topics 0
Search our Forums:

Back to Top