View previous topic :: View next topic
|
Author |
Message |
kratos86
Active User
Joined: 17 Mar 2008 Posts: 148 Location: Anna NGR
|
|
|
|
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 |
|
|
HappySrinu
Active User
Joined: 22 Jan 2008 Posts: 194 Location: India
|
|
|
|
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 |
|
|
kratos86
Active User
Joined: 17 Mar 2008 Posts: 148 Location: Anna NGR
|
|
|
|
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 |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
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 |
|
|
kratos86
Active User
Joined: 17 Mar 2008 Posts: 148 Location: Anna NGR
|
|
|
|
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 |
|
|
unni_nss
New User
Joined: 20 Sep 2005 Posts: 19
|
|
|
|
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 |
|
|
kratos86
Active User
Joined: 17 Mar 2008 Posts: 148 Location: Anna NGR
|
|
|
|
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 |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
The Connect:Direct User's Guide gives the details for the syntax of the SELECT STATISTICS command. |
|
Back to top |
|
|
arun prazad
New User
Joined: 13 Dec 2007 Posts: 2 Location: India
|
|
|
|
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 |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
Raj & Prased, what are your respective site's policies on using either the CDWAIT/CDPOST or MAXDELAY parameters for your processes? |
|
Back to top |
|
|
arun prazad
New User
Joined: 13 Dec 2007 Posts: 2 Location: India
|
|
|
|
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 |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
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 |
|
|
Steve Elliott
New User
Joined: 13 Feb 2008 Posts: 2 Location: Melbourne Australia
|
|
|
|
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 |
|
|
Richa.K
New User
Joined: 23 Dec 2009 Posts: 3 Location: Pune
|
|
|
|
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 ;
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.
Please let me know if anyone can help me over this. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
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
|
|
Back to top |
|
|
Richa.K
New User
Joined: 23 Dec 2009 Posts: 3 Location: Pune
|
|
|
|
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 |
|
|
Richa.K
New User
Joined: 23 Dec 2009 Posts: 3 Location: Pune
|
|
|
|
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 |
|
|
|