I have learnt through Net that Debugging a Batch job
involves


1. Submit the job with the HOLD (*YES) parameter:
SBMJOB HOLD(*YES) or Hold the job queue that before
submitting the job
by using the HLDJOBQ command.


2. Determine the job name, user, and number of the submitted
job by using the WRKSBMJOB command.


3. Type the Start Service Job command on your screen:
STRSRVJOB JOB(job name/user/number)


4. Type the Start Debug command on your screen: STRDBG


5. Release the job in the jobq. Type WRKSBMJOB and then put
a 6
beside the job to be released and press enter, or, if the
job queue was
put on hold, release the job queue with the RLSJOBQ command.


6. A display appears when the job is ready to start, saying
that you
can now begin debugging the job. Press F10 to show the
Command Entry
display.


7. Now you can start debugging by entering an Add Break
Point command:
ADDBKP



8.ENDDBG


9.ENDSRVJOB





I tried this for RPG/400 Program and up to six steps of the
above it's ok,but for me no source is displayed and i typed
DSPMODSRC in Command line but still i can't see the sourceif
i press F.10 and enter command ADDBKP i don't know how to
add break points through it,usually i add break points using
F.6 for Interactive job debugs,but since this is batch i
don't know sir,Please help me out.
I was asked this question in a interview,i know only RPG/400
and i’m asking for debugging of RPG/400 program only sir.
or is it only possible to debug BATCH RPG ILE JOB and it is
not possible to debug BATCH RPG/400 JOB kindly help me out
sir

Answers were Sorted based on User's Feedback



I have learnt through Net that Debugging a Batch job involves 1. Submit the job with the HOLD..

Answer / sakthi

If you are not getting the source after entering DSPMODSRC
means then you have to check whether the source is in the
right library. SOmetimes the control may point to someother
library and hence you won't get the source to add
breakpoint.
Also make sure that you have compiled the source with
*SRCDBG or *SOURCE.

Is This Answer Correct ?    10 Yes 2 No

I have learnt through Net that Debugging a Batch job involves 1. Submit the job with the HOLD..

Answer / katiyar

As you already aware and mentioned above about the batch
job,just need the steps to executes in real scenario.

I debugged a RPG program in real scenario successfully.
Please use below steps.


1 HLD JOB Q

2 SBM JOB

3 STRSRVJOB

4 STRDBG PGM

5 F12(WITHOUT BRK POINT)

6 RLSJOBQ JOBQ

7 F10

8 DSPMODSRC

9 ADD BREAK POINT

10 F12

11 F12

12 ENTER

13 ENDDBG

14 ENDSRVJOB


----------------------------------------------------------
After HLDJOBQ and SBMJOB , use command WRKJOBQ <Jobq> and
select the job and note down its job name, user and job
number, which is required at step third STRSRVJOB.
---------------------------------------------------------
Give a try and revert. Hope this will help you.
----------------------------------------------------------

Is This Answer Correct ?    6 Yes 0 No

I have learnt through Net that Debugging a Batch job involves 1. Submit the job with the HOLD..

Answer / balaji

If you try to debug a object which is present in qtemp,then you cannot even see the source for fixing break point.I have experienced the same earlier.

Is This Answer Correct ?    0 Yes 0 No

I have learnt through Net that Debugging a Batch job involves 1. Submit the job with the HOLD..

Answer / guest

First Of all Compile your source code with *source other
wise it will not show you source code after press F10 and by
command DSPMODSRC.

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More RPG400 Interview Questions

I have some doubts on subfile----------- -----I wrote a prog on subfile to display the records. Every thing is clear but i defined a field called "opt" as input field in subfile record format from that input field i wish to enter into new screen called "EDIT" which i created it as a separate RCD in display file. i gave opt as 2 for edit just like in WRKMBRPDM screen please telll me the code and how can i code for it in RPG.

3 Answers  


1.How you will find the program is batch or online in cl pgm? 2.How you will end the batch pgm when the job runs? write an logic? 3.In wich command the option *drop is used?

2 Answers   TCS,


where we give the MSGSFL in rpg400?

4 Answers  


Can any one plz explain the concept of INFSR, *PSSR, INFDS AND PSDS, I' confusing about PSDS and *PSSR, Wat is the difference btw them, wat PSDS will do????

1 Answers  


I want my simple Green screen should refersh every 1 min ,How can I do it..? Please share the logic

2 Answers  






What is significance of a file designated as a Primary file in Rpg400 program....also what's use of secoundry file

1 Answers  


What is SFLNXTCHG keyword why it has used and where? Briefly explain with Example.

2 Answers   IBM,


what is mean by *MAP and *DROP?what commands use these two keywords?why are they used?

4 Answers  


In ProgramB there is a SBMJOB, which is a call to program C .There is also a CALL to program D from B. How would you check the program C has been executed in D?

4 Answers  


Suppose in CL we reach at end of file and again we have to reach from 1 record

3 Answers   TCS,


How can i check the object existance in RPG program without using QCMDEXC command.

7 Answers   IBM, JDA,


This is my Physical file 'EMPS' existing in library "TAMIL1" and its record format is 'EMPRCD" a)its source is R EMPRCD ENO 4 0 ENAME 10 EADD 10 b)The records present in EMPS are as follows ENO ENAME EADD 0001 tamil coimbatore 0002 kumar bangalore 0003 sunder bangalore 0004 arunkumar chennai 0005 pandi hyderabad 0006 santhosh hyderabad 0007 sasi salem 0008 kalai chennai 0009 suresh hyderabad 0010 vijay bangalore 0011 Arul chennai 0012 velu chennai 0013 khan bangalore 0014 praba chennai 0015 praba.p coimbatore 0016 anand ooty 0017 raja erode 0018 sankar erode 0019 vadivel namakkal 0020 anbu chennai 0021 Ajith mumabi c)now i want to select the 'ENAME' field records starting with 'S' for that i have created a RPG program its source code is PGM DCLF FILE(TAMIL1/EMPS) DCL VAR(&MYENO) TYPE(*CHAR) LEN(4) OVRDBF FILE(EMPS) SHARE(*YES) OPNQRYF FILE((TAMIL1/EMPS)) QRYSLT('ENAME *EQ %WLDCRD("S *")') READ: RCVF RCDFMT(EMPRCD) MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(END)) CHGVAR VAR(&MYENO) VALUE(&ENO) SNDUSRMSG MSG(&MYENO) SNDUSRMSG MSG(&ENAME) SNDUSRMSG MSG(&EADD) GOTO READ END: CLOF OPNID(EMPS) DLTOVR FILE(EMPS) ENDPGM Is this coding correct sir,the program gets compiled,and if i call it it says query running but records are not displayed.please help me out

4 Answers   Virtusa,


Categories