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

Any way to find the success of NDM


IBM Mainframe Forums -> All Other Mainframe Topics
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
kratos86

Active User


Joined: 17 Mar 2008
Posts: 148
Location: Anna NGR

PostPosted: Fri Jul 04, 2008 10:58 am
Reply with quote

Is there any case like - the NDM job is submitted and its RC = 00. But the file is not transmitted successfully. In this case is there anything that we can do. To check the file is transmitted. Like any additional step, that can be added to find this out.

regards,
raj
Back to top
View user's profile Send private message
HappySrinu

Active User


Joined: 22 Jan 2008
Posts: 194
Location: India

PostPosted: Fri Jul 04, 2008 12:19 pm
Reply with quote

can't you go and check on target lpar/machine regarding that transferring dataset

secondly if you are in foreground, you can use option "SS" for completed process
Back to top
View user's profile Send private message
kratos86

Active User


Joined: 17 Mar 2008
Posts: 148
Location: Anna NGR

PostPosted: Fri Jul 04, 2008 2:27 pm
Reply with quote

Hi Srini,
We have various NDM jobs running in late nights. So, it is not possible for us to sit and monitor the jobs always. And also we have authentication only to send files to the LPAR.

whenever a ndm fails it will give a non-zero return code. We get page regarding that.

As i mentioned, Is there any way to find out ...

regards,
Raj
Back to top
View user's profile Send private message
superk

Global Moderator


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

PostPosted: Fri Jul 04, 2008 3:44 pm
Reply with quote

Raj, I'm confused.

First, you said that you want to know when a Process has executed successfully. Srini gave the correct answer. You, or an authorized person, should use the Select Statistics (SS) option from the Connect:Direct User Interface (on CICS or on ISPF) to determine the status of your Process.

Next, you say that some of these run late at night and it's not possible to be there to monitor them. You also say that whenever a Process fails you get a page. So, if you're not there to monitor the Processes, what do you want done? Surely you must have onsite operations and product support teams who would perform that function on your behalf? Don't you post alerts to your operator consoles if a Process fails? Wouldn't they then page out to your team?

The problem I have here is that I don't know what your policies and procedures are regarding these Processes.

My first thought is that you should change your procedures to have your Connect:Direct jobs submit the Process, then sit and wait for your Process to complete. If the process completes successfully, then your job ends. If it fails, then your job abends or ends with a non-zero RC, whichever is preferred in your shop.

My second thought is that you should include steps in your Process code to check the RC of the COPY step and take an appropriate course of action if it is not zero, such as sending a message to your terminal or a console, sending an email, calling some other program or batch job to perform some other type of action.

My third thought is that you would have another job that would run after your Process has completed that would run a batch equivalent of the formerly mentioned SS report.
Back to top
View user's profile Send private message
kratos86

Active User


Joined: 17 Mar 2008
Posts: 148
Location: Anna NGR

PostPosted: Tue Jul 08, 2008 9:52 am
Reply with quote

Hi kevin,
Quote:
Raj, I'm confused.


1. Generally if we submit some NDM, jobs then we can use the SS operation to check whether the ndm is succesful or not.
2. In my system, we have various NDM jobs to other LPAR which is running in night time. The operations team will page us only when they found any abend.

My question is
1. Is there any cases like the ndm job is succesful (rc=00) but still the file is not ndmed.
2. If yes, then is there any possible way to check that.

thanks,
Raj
Back to top
View user's profile Send private message
unni_nss

New User


Joined: 20 Sep 2005
Posts: 19

PostPosted: Tue Jul 08, 2008 10:48 am
Reply with quote

In the case of NDM jobs, RC = 0, doesnt mean that file has been transmitted successfully. you need to check with the process no from your NDM sysout step.
Back to top
View user's profile Send private message
kratos86

Active User


Joined: 17 Mar 2008
Posts: 148
Location: Anna NGR

PostPosted: Tue Jul 08, 2008 2:46 pm
Reply with quote

Hi unni_nss,

Quote:
In the case of NDM jobs, RC = 0, doesnt mean that file has been transmitted successfully. you need to check with the process no from your NDM sysout step.


Checking the process No is quite fine. Since, we have a lot of NDM jobs. Its not possible to check the process always that too in night..

But i want to know is there any other way to get the info. Like, having a step inside the ndm to check that..

Hi kevin,
Quote:
My third thought is that you would have another job that would run after your Process has completed that would run a batch equivalent of the formerly mentioned SS report.


Can u give me some idea.. how to code an equivalent job...


regards,
Raj
Back to top
View user's profile Send private message
superk

Global Moderator


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

PostPosted: Tue Jul 08, 2008 3:07 pm
Reply with quote

The Connect:Direct User's Guide gives the details for the syntax of the SELECT STATISTICS command.
Back to top
View user's profile Send private message
arun prazad

New User


Joined: 13 Dec 2007
Posts: 2
Location: India

PostPosted: Tue Aug 19, 2008 7:07 pm
Reply with quote

Hi,

I am continuing an old post because my requirement is also the same as what kratos86 asked and I didn't see it being answered.

I would like to know is there any way to know whether the file has been transmitted successfully from the job. In some cases the The NDM job ( JCL ) gives a return code zero and the file is not transmitted. We can get the details by looking at SELECT STATISTICS. I would like to know if there is any way to handle this in JCL ,meaning if the process return code is non-zero I need to abend step in JCL. In other words is there any way to capture the process return code from JCL.


Thanks in advance
Prasad
Back to top
View user's profile Send private message
superk

Global Moderator


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

PostPosted: Tue Aug 19, 2008 7:27 pm
Reply with quote

Raj & Prased, what are your respective site's policies on using either the CDWAIT/CDPOST or MAXDELAY parameters for your processes?
Back to top
View user's profile Send private message
arun prazad

New User


Joined: 13 Dec 2007
Posts: 2
Location: India

PostPosted: Wed Aug 20, 2008 1:24 pm
Reply with quote

Kevin,

I am not sure of where to check for these parameters ( CDWAIT/CDPOST or MAXDELAY ). If I code MAXDELAY=UNLIMITED will it solve my issue. nothing is coded in the control card or in side the proc which we submit thru the control card. How can I know what is the value for this? is there any default value for this? can you please share with us about the parameters CDWAIT and CDPOST.


A big thanks to you for taking me to the right path
Regards
Prasad
Back to top
View user's profile Send private message
superk

Global Moderator


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

PostPosted: Thu Aug 21, 2008 1:34 am
Reply with quote

I'd really like to see you follow-up on these parameters from the appropriate documents.

From the Connect:Direct for z/OS (Version 4.7) User's Guide section titled Synchronizing Submitted Processes:

Quote:

You can synchronize submitted Processes by coding the MAXDELAY keyword parameter in either the SUBMIT command or the PROCESS statement. The MAXDELAY keyword enables you to suspend the execution of the DMBATCH jobstep until the submitted Process either completes or a
specified interval of time elapses.

Note: MAXDELAY allows more flexibility than CDWAIT and CDPOST because it does not require the job stream submitting the process to run in the same system as the DTF.

For a detailed description of the MAXDELAY parameter, refer to the Connect:Direct Processes Web site at
www.sterlingcommerce.com/documentation/processes/processhome.html (and then go to the MAXDELAY parameter link from the PROCESS statement).

The following example shows the MAXDELAY keyword coded in the SUBMIT command:
Code:

//SYSIN DD *
SIGNON USERID=(USER01,PASSWRD)
SUBMIT PROC=PROCAAA MAXDELAY=UNLIMITED
SIGNOFF
/*

You can also place the MAXDELAY keyword in the PROCESS statement for PROCAAA, as in the following example:
Code:

PROCAAA PROC SNODE=REMOTE.NODE.B MAXDELAY=UNLIMITED
STEP01 COPY TO (DSN=USER01.TESTDATA.OUTPUT -
      DISP=RPL -
      SNODE) -
    FROM (DSN=USER01.TESTDATA.INPUT -
      DISP=SHR -
      PNODE)

Connect:Direct for z/OS version 4.7 is the last release to support the CDWAIT and CDPOST programs.


So, maybe it's best to stick with MAXDELAY then.
Back to top
View user's profile Send private message
Steve Elliott

New User


Joined: 13 Feb 2008
Posts: 2
Location: Melbourne Australia

PostPosted: Wed Mar 04, 2009 11:34 am
Reply with quote

We use CDWAIT to process file transfers, and then use CDPOST within the CD PROC to pass a return code back from the file transfer to the mainframe job.

A sample PROC would look like this:

COPYSND COPY -
FROM . . . . -
TO . . . .

IF (COPYSND NE 0) THEN
POSTBAD1 RUN TASK (PGM=CDPOST -
PARM=(XL4'&ASCB' XL4'&ECB' F'8')) PNODE
ELSE
POSTGOOD RUN TASK (PGM=CDPOST -
PARM=(XL4'&ASCB' XL4'&ECB' F'0')) PNODE
EIF

This means that when the copy fails the CDWAIT step completes with a return code of 8 (from the F'8')

You can also use this logic to place a RUN TASK, within the IF statement, so that it only runs if the transfer was successful.
See below.

COPYSND COPY -
FROM . . . . -
TO . . . .

IF (COPYSND NE 0) THEN
POSTBAD1 RUN TASK (PGM=CDPOST -
PARM=(XL4'&ASCB' XL4'&ECB' F'8')) PNODE
ELSE
RUNSTEP1 RUN TASK . . . .

IF (RUNSTEP1 NE 0) THEN
POSTBAD RUN TASK (PGM=CDPOST -
PARM=(XL4'&ASCB' XL4'&ECB' F'4')) PNODE
ELSE
POSTGOOD RUN TASK (PGM=CDPOST -
PARM=(XL4'&ASCB' XL4'&ECB' F'0')) PNODE
EIF
EIF

Here the rc will be 8 if the transfer fails, and 4 if the run task fails.
Back to top
View user's profile Send private message
Richa.K

New User


Joined: 23 Dec 2009
Posts: 3
Location: Pune

PostPosted: Mon Jan 18, 2010 4:31 pm
Reply with quote

With respect to the information you all have provided, as to use MAXDELAY=UNLIMITED.But this didn't work in our job.
Please find below the code and let me know if I am wrong anywhere ; icon_confused.gif

SIGNON ESF=YES
SUBMIT PROC=SWBPAGE MAXDELAY=UNLIMITED -
HOLD=NO -
&NDMID=JS4654 -
&NODE=PNODE -
SNODE=TCPNAME=150.233.141.180 -
&DSN1=CPMC.BR33011A.UPDTFILE(0) -
&DSN2='CSQDAILY\MIDWESTTELCOH1C' -
&DISP2=(NEW,CATLG,DELETE) -
&COMPRESS=COMPRESS
SIGNOFF

While using the above code, our job is takes much time as its average time is of 1 min. icon_sad.gif

Please let me know if anyone can help me over this.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Mon Jan 18, 2010 4:38 pm
Reply with quote

Quote:
But this didn't work in our job.


as a general point about asking help telling that it did not work is just a waste of resources.

tell rather..
what You want to achieve,

what is the expected result
what is the result You got instead of the expected one
( this if You ran some tests )

what is a possible way of getting it
( this if You do not know how to do it )
as usual with the perspective that this is not a do it for me forum
icon_biggrin.gif
Back to top
View user's profile Send private message
Richa.K

New User


Joined: 23 Dec 2009
Posts: 3
Location: Pune

PostPosted: Mon Jan 18, 2010 4:50 pm
Reply with quote

We want our process to complete in same time, and if NDM fails then it should drop an email.

But the problem is that the process is not getting complete when we use MAXDELAY=UNLIMITED and every time we have to cancel and manually send the file to the target destination.
Back to top
View user's profile Send private message
Richa.K

New User


Joined: 23 Dec 2009
Posts: 3
Location: Pune

PostPosted: Mon Jan 18, 2010 4:53 pm
Reply with quote

Adding to the above, when we ran test for using MAXDELAY it worked fine,but in production it shows that" process is not completed while the job is running from last 30 mins

thanks.
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 -> All Other Mainframe Topics

 


Similar Topics
Topic Forum Replies
No new posts To find whether record count are true... DFSORT/ICETOOL 6
No new posts Find the size of a PS file before rea... COBOL Programming 13
No new posts Find the occurrence of Key Field (Par... DFSORT/ICETOOL 6
No new posts Find a record count/numeric is multip... COBOL Programming 1
No new posts Need to find a specific STRING COBOL Programming 11
Search our Forums:

Back to Top