Transcript for:
Overview of Control-M Tool and Features

today i'll be presenting control-m uh tool which is used in a batch operations application support and production support and i will be explaining you how there are different options used in controlling and how control-m is more used user-friendly compared to other tools then also we'll go through some of the important libraries tables using controller so yeah so let me proceed to the next slide hello uh yeah sorry yeah sorry to interrupt uh just want to know uh is this second session is being recorded yes blanket is recording it okay thank you just okay you want to go to the next slide yes yes okay down arrow click on down arrow it's down pssi tried that [Music] okay now okay yeah so our team as i already discussed that uh this tool is in between batch operations so in this slide we will go through what batch operations and different characteristics of batch operations okay so before proceeding with batch operations we should know what is actually a batch so in mainframe server runs millions of millions of programs okay so these programs need to be arranged in a particular format so that the business what what the client wants that business should run in a proper way so for that what they have done is they tried to arrange the programs in sequential format like one program is preparing some files then the second program will be using those files the third program will be using the database and trying to modify the files the fourth program will be explains so all these combinations they will try to merge with each other all the programs and there comes some concept called as patch so a branch process is huge transactions going in a back end for organization to provide different types of reports with manual intervention manual intervention in the sense like suppose there is a program program a which is running okay now uh the programmer wants only certain steps to be certain steps from that program uh to run so there comes your manual intervention and here uh when it comes to badge they are saying it is without manual intervention so batch comes where the program starts executing on its own and the entire cycle of around 1000 or 500 or whatever programs are there that will complete automatically without any manual intervention so some of the examples here is your daily monthly quarterly stock updates or your financial transaction details okay so the second point what i have given here is a bad job is submitted on computer reads and process the data in a bulk perhaps and produces the output such as customer building statements so these are just an example which tries to explain you what is a batch so this this paragraph gives you an overview saying that a batch isn't collection of um many programs not even one a single program will not make even batch okay a combination of you can say five program combination of a 10 program which are running sequentially without any manual intervention that concept gives you batch so second is the characteristics of batch processing what it is is large amount of input data is processed and stored so when we go in a batch processing we can process huge amount of data then maintain a period of less intensive online activities as prescribed by the service level agreement so when it comes to production support batch operations or console operations we always come with the name word called as sla that is our service level agreement so what is sla is um particular company which is going to given support to a client comes up with a certain uh time or a duration which if it crosses then it will be in business loss to the client so that time is called as a sla that is service level agreement so are using batch processing we we can uh make sure that at least 90 90 percent of the duration we will not cross the sla because most of your jobs will be running automatically okay so third point here i am i have tried to explain you is information is generated about large number of users or a data entities for example the customer orders or retails retail stock on hand then one more characteristics of batch processing is scheduled batch process can consist of execution of hundred or thousands of jobs in fbs digital sequence the first thing which i tried to explain in the batch concept the same point okay so who manages the batch processing to manage batch processing different job scheduling tools are used by different organization some of the example what i know is one is your ca7 and one is your controller so why control-m became more famous is it is more user and interactive and like a fresher who has joined the team we can learn control and within one or two days it is so much user friendly and so much easy to understand whereas ca7 if you see the ca7 format itself you will uh find it as a kind of an excel sheet usually so that that that thing the bmc people who introduce control them they have removed the concept and made this tool more interactive then going slides you will see how controlling looks and how the jobs are scheduled okay so in this point and try to explain what is controller to manage batch processing different job scheduling tools are used by different organization that allows data center stops to manage and track the execution and output of the path jobs so using these tools we are tracking job executions and we can also see the output of our job whether in which step the job has failed and all in details so now we will come to the topic called as controller so control m is one of the batch processing tool looks very user-friendly controller manages and automates the setup scheduling and execution of a jobs in os 390 that is our operating system 390 of mainframe environment so who introduced control m control m is a bmc product so bmc has introduced many products in that control m for mainframe and the latest one of the product is called as bim business information management which is more advanced than this controller it is like uh not only for mainframe it is used uh widely like you can use it on different windows applications you can make use of your java jobs running differently so um bim is a tool which is more advanced than control them and the representation and all is completely uh different in beam compared to controlling so nowadays most of the people are also using bim tool and compared to controlling the main difference between controller and beam tool is in beam will not see individual joints in bim we can see the jobs accumulated in a form of services in control m we call it as an application setup whereas in bim they call it as a services so bim concept is completely different so we will concentrate only and control them today so it can be obtained as a package with controller o or t etc so control m comes in two version that is controller o or t so controller o is used for console and controller t for the tape management so this screen here shows you how in control m initial when logged in okay when you log in to control them in mainframes okay how the control name looks like this is the first screen which which shows you what actually and control them menu is and how the controller looks like so how to log into this particular screen is in your ispf given command called as tso ioa okay tso ioa will take you if and control them is installed in your project then ta so ioa command will take you to this screen so in this screen there are different options which i will discuss in detail in in further slides so we will go with a short introduction of what these options are important options which you will be using on a day-to-day basis first is the job schedule definition second is active environment the third is condition and resources if fifth is the log sixth is utilities seventh is manual condition eighth is the calendar definition and uh your variable database and cmem database dmvm definitions in this most commonly and frequently used is your option to option three option for option five okay option six utilities um production people uh depends upon the uh project how your project is scheduled but uh as per my experience i have not used option six utilities in most of the situations option seven is your manual condition that is like suppose there is one program which needs some input from a new previous program okay that input we can add here in option 7 using manual conditions then calendar definition is an option used by the scheduling people who can schedule the jobs in control them and most important here uh option is cmem definition so the cmem definition is not been included in our ppt but i'll give you an overview of what is cmem definition so any questions in this slide up to here yes right operations and one more thing is they will sometimes they will combine this control them with your different tools and they will give you a common uh screen where through which you can log in so the the normal format where i have seen in two or three projects is they will use ioa okay [Applause] [Music] okay so okay now this screen here given you explains you about uh how the jobs are scheduled in and control them and how different libraries are given so that the proper um proper path or proper imaging of a particular job which is going to be scheduled happens in a controller so you just try to concentrate on the first line which says your library as prd1.bnvsm.schedule okay at the right corner you can see table as hash double a skel okay so what does this mean is we are we are into this option now option two top schedule definition okay and you can see this screen in option t also okay that i will explain you how you'll see in option three uh so just try to understand what is written here so member libis member lib is nothing but your various data set i think most of people know ps and vds difference so member lib is nothing but your voice is not audible okay i will proceed with my explanation so here i'm trying to explain you uh what is meant by member lib your member lib is nothing but an eds data set where you can find a collection of individual jobs okay so when you open control m you when you open any job in control m okay so you can find in member lib you can find the jcl library okay where your all production jobs will be there and member name gives you an information of from this library which is the job which will come to the schedule okay so from here jcl library prd1.bnvsm.jcla your member name job name one you consider it as a job name one so job name one will come to the schedule so next important parameter here is the owner and the task type is a job so um this owner is a little bit of importance to us because this owner controls all the operation on this particular job suppose now um i have a certain id and then control m is already installed on my system okay now if i try to submit this job with my id okay job name one if i try to submit job name one with my id okay the job will not be submitted or it will be not restarted in control m because this owner has to give me an access to submit this charm okay so in control them there will be certain situations where a job will go and not submitted status okay that time first thing we will check in production support uh project is whether this particular owner has an access to submit the job okay then your next important thing which we have to understand is doc merch and given uh hi uh sorry to interrupt you can you please all all of you can you please accept who is going to okay so let me continue your third important thing when it uh am i audible yes you are audible uh i have a question how to identify whether the owner has a authority to execute a job okay that is an uh next thing uh this owner will be internally associated with your job card user okay so and and this library okay so when your job gets submitted when you go to jhs and see you can find this uh like this particular owner has an access or not because uh see this this situation happens whenever there is a new job which is scheduled during the revision triple production okay most of the time this situation will happen when there are any new jobs which comes into schedule okay that time what we usually do is we check this owner with your jcl job card user that both will be mismatching in jcl job card there is a keyword parameter called as user okay that user and this owner will mismatch that you need to check okay first thing you need to check that one if those two are matching then the job is not submitted due to some other issues not with an user okay so directly from here you cannot say okay directly from here you cannot say that this owner is given wrong okay to do that verification you need to check this owner with your user parameter in the job board should match okay thank you okay so i was uh in a parameter called as doc mem and darkly okay so this dark lip and dark in most of the application um you can see that this particular data set has all the details about what this shop is like who is the application owner of the job who is the support group for this job what are the phone numbers which is the database team which is handling this job then what is the priority of the job then within how many how many minutes we need to engage a bridge if this job is failed once with information we can find in doclip this dock list and how to expand this top link is you have to give an a command here called as dvoc in this command prompt okay give doc in the command prompt from this library this doc lib will be expanded in a same stream here itself it will be expanded so this gives a general overview of how a job uh looks like how the job schedule looks likes in the controller general parameters i'm going to the next screen if there are no questions in one question here uh like on the top screen i am seeing table name right so is there any entry will be made in any table yeah the table concept i have to explain you i thought like i just okay let me explain this table concept so see when it comes to control m the jobs are scheduled in the form of tables okay like there is a job job by name job a and there is a job by name job c okay and job b is a job which is in a different table now job and job will be job a and job b will be scheduled in table a a s k e l whereas your job c will be in a different table so this scheduling is again classified on how these jobs will run like suppose the two jobs are running at one time and the other job is running the next day okay so today's cycle they want to schedule only this this table with two jobs the other job will be scheduled from different table in some other day so the classification of the jobs they are further divided into tables whenever you open any schedule library your first hierarchy will be a table inside a schedule diagram inside this table there will be jobs right these are different based on shapes this this table concept is not um equal to your db2 table this is controlling tables okay okay so your first hierarchy in control is your scheduling library second is your table third is your job only these three things one is schedule library when it comes to control them there comes a concept of schedule diagram there comes a concept of table okay and there comes a concept of job when you see jcl library there will be only your gcl stuff once a day okay so i think i have answered your question for the next slide one question also here like one of time i encountered like one of the scheduling member of my team told that there is one overlap also on this screen so is one left take priority on takes and priority when your job has failed in controlling okay that that concept i will explain you in the next okay okay your second screen here explains is the job scheduling definition so basic scheduling criterias are given here so you can see uh months written whereas 1 2 up to 12 okay so this particular parameter explains like in what in one year how many months this particular job is scheduled whereas in days gives you the days of a month the job is scheduled to run whereas uh w days explains you the weekdays the job has to run that value can be zero to six where zero is sunday six being your saturday then next parameter is months that is months of any year the job has to run y is for yes and n is for no so if you give an n parameter at uh month end at month 10 so this job will be it will not run on that particular month entire month it will not run okay so dates dates mentions the date in mm and dd format then here max weight okay so this max weight condition we always face issues with max weight in production support so this is an important thing okay so let me explain this so number of extra days within which to try to execute a job in active job file if the date of a job was passed so what does it mean is now suppose uh this job will stay in control number five is okay on sixth day when the new schedule comes to control them this job will automatically disappear from controlling okay so to overcome such situation this maxwell parameter has been introduced where the maximum wait time you can give is 90 days that is three months so if you change max weight to 90 for 90 days your job will be there in control them whatever the next cycle comes or not comes your job will always be there in control and for that particular order okay so let me go to the next one one question when we say maxwet is 90 is it that job will be there but it will not be executed see that depends upon the status of a job your job is in which schedule okay if your max weight condition is 90 it will be there in the same status for 90 days if it no no see max weight equal to 90 when your job is failed also it will not go from controller not only in the paid schedule if your job is failed also it will be there for 90 days in control will it be executed it is independent of your this one status of a job okay max weight is independent of the status of a job thank you ended ok status also it will be there for 90 days it will not disappear from controller so i'll proceed with the next one here we we have tried to explain run time scheduling parameters which defines runtime scheduling parameters are nothing but the parameter which defines you the submission criteria the job is not submitted unless all these criterias are satisfied okay so this screen explains you the uh in parameter control parameter resources then from time due time and time zone okay so what does in um parameter here expenses a prerequisite condition for a job okay suppose there are 10 jobs okay 10 jobs in schedule and job 7 is dependent on job 2 okay so if you open job 7 um in zoom panel then the in condition you will see the job name of job two so what does it means is your job seven will start executing only once your job 2 will be ended ok once your job 2 is ended ok it will post the condition to your job 7 and your job 7 will start executing it is like this conditional coding parameter in jcl through which we try to control the steps here we are using this in and out conditions so your next parameter so this this concept is clear in conditions it is important one okay so i will go with control control shade or exclusive control over and resources required for the job then next parameter is resource quantitative resources required for the job then time plus date gives the the time limit from and until for a job submission then due out plus days time by which the job must be finished executing then confirm equal to yes or no indicates specifying whether the manual confirmation is required before the job can be submitted okay so in this one more important parameter after any condition is your from time okay so this from time sometimes the job in control m all the in in conditions will be satisfied okay but only this time condition will be left and the job will be in your weight schedule so sometimes the application team will start communicating with them support team saying them to remove this from time condition once you remove this runtime time condition your job will start executing similar cases is with your any conditions so there will be situations where your in condition is satisfied but still your job is not executing so that time you need to come here and remove the in conditions written in the in this parameter and restart your job again now i'm going to say free the job not reach that pay the job that is not moving because uh it is waiting for some manual condition some job is waiting for some condition right so this is what in condition we have to bypass the condition and procedure right right that is commonly phased ratio that is why i said in conditions so what will happen is sometimes the conditions will be not posted or if you do backtracking you will find that your job is dependent on some of the jobs okay that job has ended not okay okay those jobs are failed so because of the previous job failed your job will be not submitted and it will be late and affecting your view for the day-to-day activities that time what you have to do is contact the owner of a previous job the support team of the previous job say that the condition is not posted our job is waiting okay you either force complete that job and post the condition or or you take and call to remove the in condition of the job and your job will start executing okay so this screen will come up from the option two only no no this will come in option three when you give set in front of the job in option and you use that in front of a job all the screens are part of the that option from here okay in front of job instead of uh instead of okay i'll have to give a z instead of j for j we'll go to open the job see when when you open and control them you option three okay it will give you all the production cycle jobs okay okay in that for the particular or date and order id of a job the jobs are classified by audit and order id that zoom panel shows you which is your schedule library which is your jcl library which is your override library and all these options here given up to here okay so thank you so much okay so now the next is your post processing parameters these are the actions execution generally depends upon the result of a job execution that is certain action may require when a job ends successfully certain action may be required when a job fails depending upon the reason for the failure certain actions may be required in any and all situation okay so post processing is nothing but whenever any of your job is failing it will not post the condition for your dependent jobs okay in this situation what you have to do so these are your post processing parameters first one is your account prerequisite condition to be added or deleted when job is finished okay so suppose there is a job i already explained like job 2 is posting some condition for job 7 okay so that condition you can see in our parameter whenever any job completes what is the condition it is posting to the dependent job so that the dependent job will start executing that that will be written under out parameter then auto r2 equal to yes or no indicates specifying whether to automatically arch this is data this is not important for our us for the application production support okay then max reason number of reasons to be performed for a job if due rerun is required okay then interval amount of time minutes to wait between rerun or between the cycle of a cyclic job okay so interval what interval concept comes when it comes to an cyclic job okay in control number the concept called the cyclic job where you can make your job to submit again after five or ten minutes of time it will again get submitted and it will it will post some of the files or it will generate some of the cdj accommodations and in such situation this cyclic job concept comes and this interval plays an important role there so i'll go to the next screen the post processing parameters are there next is your pgmst or rock proc st program steps and optionally the proc steps to check for a specified core criteria that is uh in a job there will be some of the prog steps and there will be job steps or program steps so which step to check for the condition code that we can control here so see in on program uh in the in the screen it is showing on pgmst any step okay and there if you given stuff called as uh j step six that is uh suppose js zero zero here is your job step so you if you have ordered here a less than condition code of 17 so your program will execute if it gets a condition called less than 17 that particular stuff will execute then next is code execution events even course such as your u0234 sb 37c less than 17 etc then in production support when there are priority one jobs okay when the job is of priority well this these conditions will play important role do mail then do not okay do okay or do remedy do mail plays an important role for priority one jobs where the application support will get an email as soon as the job page so in do email uh you have to give the your application support group email details so when the job fails in a particular step that application team will get an email then do not okay defines the termination status of a job as not okay so like in do not okay uh whenever your job fails in control you can see the job has failed in a not okay status then do okay defines the event within the job then okay then do remedy opens and remedy helped us ticket what you told about codes how can you please this this code is uh suppose there is a job step called a j003 okay that job or if you want to control it through control m that particular job step then you can control here in control m by giving a particular condition code like above that condition code this step should not execute here example they have given it as 17 that stuff will not execute if it gets unwritten if it gets a written code above 17 okay god got it thank you [Music] so next parameter is out when not okay then here okay next parameter is shouting message to be sent to a specified destination in a specified situation like shout when when your job is not okay that time what message it is given below in the ms parameter that percentage percentage is your auto edit variables okay that that again comes in a different concept where you use different libraries and in that library you will write uh what messages to be sent and all so using this percentage percentage that particular job and that library everything will be picked and a message will be set so percentage percentage stands for your auto edit variable and the ms stands for the message where you will write what is required so uh here particular job name then append three in step one again it is auto edit variable gives you the step name and your written code they are using again auto added variable which gives you the job written code so this message will be sent when it is not okay then shout when your job is late submitted okay this late submission concept comes when your job has crossed the time limit suppose here example they have given it as 23 45 okay so after 11 45 also if your job is not submitted then you will get an shout of late submission operators who are monitoring the job and what message do they send is given under ms parameter okay so same thing i've explained here when when um one parameter gives situation under which to send a message then two is to destination open message then lower gn is urgency so urgency determines the priority level of a message valid values under urgency is r that is your regular default regular default so that is urgency is given here at the last column you are g n equal to r so u is for argent and v is for very urgent whereas r is for regular so here is our important uh option option three which most of the application team or production support team db2 team any team which is monitoring the jobs in control them the first option they will use is option three that is active job environment or active job file okay so from here our um day-to-day uh production support activity starts from option three so if a job is scheduled for a particular day copy of its job scheduling definition is placed in this file what this statement is saying is suppose we have a job drop a and b and it is scheduled today at around 12 p.m okay so what controller will do around 12 pm system time control them will fetch these two jobs from a particular table in a scheduling library from the schedule library from a particular table your controller will pull and copy of this jobs into this active job file that is option three so how does a job get to ajf is why a daily load job so manually or post by cmem that is dsn events job arrival or job offense post by an another job okay so in this most important thing what you have to understand is why they load jobs okay so when there is a huge amount of cycle which is scheduled to come on a daily basis in ajf that is your active job fine okay there comes some concept of a job called as master scheduler or master job okay so in various application there will be different names given for this master job for for some of the projects i've seen it is given as mass 10 or some must tbl will be the master table from where this first 10 job will be running so every day whenever any new day cycle is coming to your this ajf first job running will be this master jobs so what this master jobs will do they will bring the particular particular day schedule of the jobs to your agent not only one application if there are thousands of application in a particular project all those application how many jobs are there all those jobs will be brought to your agent at system time that is zero zero dot zero zero like suppose if you are if you are in in india and handling some of the application projects so uh if you give tso time in your system there you will see 24 hours that is zero zero zero zero at that time your new batch cycle will start it is universal in all the projects okay everywhere at around uh 12 p.m i is see that is the new batch cycle will be loaded into controller again time that that concept we call it as okay so how the new day process will happen is at back end there are master jobs which will bring all this schedule now there will be a situation where uh due to some uh mistakes by the controller scheduling team okay the master job schedule is scheduled twice in a day suppose at 12 pm mass job loads one cycle of all the application again after some time mass job will load one more cycle of all the application okay so here starts the main work of this console operations batch operations they will hold individual jobs which are loaded twice in control and production cycle and they will start deleting all the jobs one by one so this is frequently after issue in all most of the projects where your scheduler is loaded twice or there there are situations where concerned people with your time command which needs to be given on a particular helper by mistake they will give on different helpers then that schedule because your system time will be changed then all the tables which needs to be loaded at a particular time will get loaded well in advance then all the mess up will happen in option three okay so understanding of why a daily load job that is master scheduler is very important then second is how the jobs are forced to option three is manually forcing suppose i want a job job a to come to ajf that is active job file or today now when i go and i check my cycle i find that job is not there so now what i will do i will go to option 2 schedule library i will go here option 2 this one option 2 schedule library then i will give this schedule this one this one this schedule library and this table details okay then i will get a list of a job from that job i will give i will force the job called as lobby into production so how i will force this in front of that job i will give an um character yes character f stands for forcing a job from a scheduled language so you're manually course is nothing but you are manually bringing some job into your agent okay your next option is posted by cmem okay control m event management management cmm transport in that there are two two concepts two to three concepts one is your dsn event one is your job arrival one is your java but oh cmvm is this option in the first screen the options the cmem definition event manager rule definition so this is nothing but a data set okay and ps data set not a pds this is in ps data set in the data set what we will do is of course i want some 10 jobs to run today 10 jobs to come to ajf but depending upon certain files sent by unix application which are not mainframe okay certain files sent by other applications non-mainframe applications so when such files comes to your mainframe box you want certain jobs to run so for that what i will do in the cmem um definition there will be a data set associated for your particular application in that data set i will add this job and i will add that file so when that file comes to your system that job will be forced to age similarly job arrival and cloud then your next is forced by another job that is your in condition or condition concept then uh next i try to explain only jobs in ajf are the candidates for submission by ctl monitor okay this point is important whatever jobs are there in asia that is your option three active job environment this option this second one after job schedule active environment displays then that option whatever jobs are there in asia only those jobs you can restart you can restart or you can force complete or you can hold until it push out only jobs which are there in ages you cannot hold and delete anything from your schedule library and tables okay you will be not having access also and you you cannot delete so one more thing when it comes to ajf is certain application team will be given access to restart the jobs on their own and certain application team has to contact their support team to put a restart or they want to do some jcl they want to add some dd parameters dd overwrites and all all such thing application uh developers or application um application monitoring team will be not having access there will be an sub team to whom they need to contact when a job picks that team will assume that particular job will see all the scheduling definitions then they do j in front of a job which will open the jcl then they will add the overheads what an application team needs directly the production control access to the ajf jobs in certain applications they will not give there will be a separate theme for it so from here all the important commands which we are using in option three which are explained okay so z stands for zoom so what is there is a job for the job in option 3 then if you want to see this screen if you want to see these on screens this thing specially then you use that in front of a job then it will open basically in this there is over over override library concept that i will explain when it comes for job restart okay so then talk i have already explained to you doc is in command which will expand the doctor okay now if you want to see a particular job for why it is waiting or why it is still not executed or you want to see what are the in conditions of a job then you can give and question mark in front of a job in option three your next is yes yes stands for statistics which gives you overall one month the time duration within how many minutes the job is completed and what was the maximum time the job took to complete overall statistics of a chart then option b use your permission to delete a job then option h gives you an permission to hold the job all in the sense you don't want the job to execute until that hold up hold is removed so in that situation please mute it okay in that situation you have to give h in front of the job then f stands for free a job from an health status then o stands for force completion of a job c stands for confirmation that is in weight confirmation okay see this hold free are um interdependent okay hold free and delete these three things okay these all are interdependent so once you held a job okay the next thing if you want to remove that health status you have to give up in front of a job that is it will free the job and it will bring it to the normal status okay then delete okay whenever you want to delete a job the first option you have to use is h you have to hold that job then only you can delete the job from option three directly you cannot delete job in option three okay then one more is force completing and forcing a job this is important uh most of the time we get confused between force completion of a job and forcing a job for single job is nothing but you are manually bringing a job from your schedule library and table to your option three it is active job uh this one active job fight and for that also you are using a command called as gf the same one which you use in ajf to free a job the same when you use inside a schedule library that will change into forcing a job okay this you have to be little bit careful if when used in option three represents a free age of f when used in schedule library table represents forcing a job now what is force completing a job force completing is nothing but when your job is failed in your application cycle you will give o in front of that job in option 3 which will make the job go into ended ok force complete status the job status will change from ended not ok to ended ok force completed status what it will internally do is it will post the out conditions for your all dependent jobs so suppose there are 50 jobs which are dependent on job a and the job is paid when you backtrack it you will find that job is filled in this situation you will give o in front of job a and you will force complete as soon as this your job status change from ended not okay to ended okay force completed all your dependent 50 jobs will start executing okay so option three is your weight confirmation now see this is also an important option where most frequently used option the post if there is a job has failed in your option three okay and to make the job run successfully your production team or application team want to bring or want to load some of the new jobs in your agent that is option three so that time what the production team or application team should do is they should make sure that that job comes in a bit confirmation status in ajap so it will be in ping when it comes to so weight confirmation is nothing but that job one comes to ajf it will wait for your action to be performed on it so that it will start executing so if you want to make any jcl changes when it comes to option 3 before confirming you can do all the jcl changes then once all your errors are fine then you give c in front of the job it will confirm the job and your job will start executing so in the next slide i have tried to explain all these options in ajf that is um active job environment file option three someone asked this question that is that before the job will take you to zoom screen option of a job that is in ajf now there is this job by name are not given any name just for cfl so if you use that in front of that job which is in weight confirmation see now this is a new newly loaded job by a production support team yeah so so that this job will take some actions and create some of the files and all so the production support team is loaded issue newly so when the job is loaded newly in option three it will come in wait confirmation and it will wait for our manual confirmation to execute okay in this situation first thing is give z in front of the job so once you give z in front of the job it will give you this below zoom panel so this zoom panel will explain you this the jcl library the schedule library the table okay that i will explain now here the first line i have already explained it mem names stands for your member name jcl member name and your mem library stands for your jcl production library where your json code is there owner is the one which has access to run this job so task type is job now next is your schedule library so in this schedule library there is a table called as ccmbs ccmbs in this schedule library there is a table called as ccmbs in this table you can find this job definitely schedule definition and not the jc input okay when you in control m when you open any of the table okay you will not directly find the jcl code of it you will just find the member name okay so how the rh is first your schedule library second comes your table okay third comes your member name and outside of your control name comes your jcl library and your member name there won't be schedule library and table outside the controller when you go for 3.4 it is only your jcl library and your jc input inside control m it is schedule library and table okay so next important thing is this document and doclip so here on the previous uh first slide i tried to express okay so in the command prompt here here in the command prompt when you uh you have to give sorry here only it will come that command prompt so you have to give a command called as doc like this when you give a command called a stock it will give all the details of this particular doc member that is this job from this doc library [Music] i tried to explain same thing here [Music] please please make it someone is attending from outside this new thing okay the next option is holding a job to free a health job okay so a job in a newly loaded job how to hold it is given option h in in ajf that is your option three so this weight confirmation job will change its status in health weight confirmation like this when you give h the job will be held okay so here you you should ask one question here what is difference between weight confirmation and health why we are holding a job which is in vedic information so to do any changes to newly loaded job in controlling whether it is jcl changes or whether it is changes with your override library or your scheduling library okay all those changes can be done only when you hold the job in whatever status the job initially is there if you want to make the changes to the job you have to give h in front of it and hold it first so i'll go to the next one then to free a healthy job place f before the healthy job and hit enter now here i have given held h in front of the job then i will zoom the job and i will do some modification whether it is max weight or the shout parameter which i explained see suppose now i have held the job here in hf now what i will do is i will go here this screen okay i will go to this this parameters and i will change all these parameters what to whatever is required after doing the changes i will do f3 and i will come out of it i will do f3 and i will come out of it so once you come out of it if you want to bring the job to normal weight confirmation status you have to give f in front of the job so it will free the held status and it will bring the job to weight confirmation so any questions up to here after this slide one question here can you please explain the option c i'm little bit confused between option c and f actually you're seeing weight confirmation yeah confirm that job in weight confirmation i got the option like uh to hold the job we give h and to free that that is our f option f but i'm not able to get option c actually okay option c is confirm a job that is in rate confirmation okay so we will go with this situation only now your job is in weight confirmation okay you have loaded a new job in your production cycle it comes in weight confirmation now you will ask me collusion uh i want to give some overwrites to the uh this one jcl code inside this so what colloquion will do he will first hold this job okay he will hold this job then what i will do is i will come here and this override library will be there right here this override library there will be one more temporary library given here under description okay there will be one more temporary library given in description that library will be appended with your order id and audit okay so that library will be always an unique library for whatever jobs are loaded because it will be having the order id so as order id is unique what i will do i will copy that library and i will place it here in place of override library why because this override library is common for all the jobs so without changing this override library if you are doing any overwrites in the jcl that overwrites will be reflected to all the jobs which has same name suppose there are two or three jobs with different audits okay different audits and different order id there are supposed 10 jobs which are scheduled with the same name with different batch see ordered concept comes with a particular batch so suppose there are 10 jobs which are of different uh audit but with the same name and without changing this override library if you do any jcl overrides it will be reflected not only for today's cycle if there are any jobs which are scheduled in control and for tomorrow's cycle also all those changes will be reflected in all the 10 jobs because your job name is same so to overcome this concept the controller has provided you an additional library here which is which will be appended with your audit as well as your order id so i will copy that and i will place it here then i will do the jcl overheads what you have asked me after doing the jcl overrides now what i will do is i will remove this held status i will give your friend i will remove the heal status now your job comes in weight confirmation okay now what you will tell me okay pollution all the changes are fine please i want that job to execute now okay yes so there is an control on your job from your side that whenever you want that job to execute that time only it should start executing so your weight confirmation yes your weight confirmation is waiting for the confirmation from your side so now you will tell permission please start executing the job what i will do i will come here and i will give option c in front of the job so once i give c the job will go in submission status first it will be in submission status which will be in yellow color then it will be in executing status then it will go into in ended okay okay got it thank you so much okay yeah so your next parameter is to check the reason why or for what is the job waiting okay so what we have to do like given question mark in front of a job in option three suppose the job is in weight confirmation i given question mark in front of it so what it will do is it brings you to the job scheduling analysis panel where we can identify the reason or the condition that the job is waiting for to start execution so once you've given question mark it will give the job is in weight confirmation second if there is any time limit it will give the time limit at this particular time if you confirm this job also the job will go in wait schedule not it will not start executing in this situation because it is waiting for a time condition the job will still be in a great execution now your question only we will take he will tell me after doing the jcl changes you will tell me please run this job so i will give c in front of it okay once i give c in front of it this weight confirmation status will go and your job will be in weight schedule status that time you will against again ask me uh bush and the job is not running still that time what i will do is i will given question mark in front of the job which will show me there is a time limit of 22. until it so so the next what you will do is you will tell bushels remove the time condition okay so remove to remove the time condition what i have to do is again i have to hold the job first i will again give this option h option okay then the job will go in held weight schedule not in health weight confirmation because i have already confirmed the job the next status of a job is wait schedule because it is waiting for this time now to remove this time i will again hold the job okay i will hold the job then it will go in hand weight schedule then i will go here there is somewhere a time parameter also given okay so see here time parameter is the rate like that there will be a time parameter given so i will hold that and i will remove this time parameter then i will come back again here to the status to the held health wait schedule status then again i will give f so if you give f then that job will be freed and there are no conditions for that job is waiting the job will start executing that the above panel states that the job is waiting for time condition and the user confirmation to execute so next is the question you have asked is confirming a job to confirm a job you see before a job so once you see before any weight confirmation job it will ask you for an option again just to confirm it back so there i will give option y and hit enter okay the below confirmation panel appears in the panel at option confirm it to y so i will give y and i will hit enter then your job will go from rate confirmation to weight schedule this one here blue color it will come so this color designation is also very important in option three there are around four to five colors depending upon status of a job so this also i will try to explain whenever any job newly scheduled into control them if it is in weight schedule the job will be in a blue color given like job is in weight schedule okay if any of the job which is in weight confirmation it will be in pink color okay if any of a job which is executing or weight execution status or active status okay all those jobs will be in yellow color and a job which is late submitted or ended not okay or jcl error all those jobs will be in red color okay so deleting a job from aj to delete a job from and schedule first hold the job and give d before before the job and hit enter so if you want to delete any of the job from option three first thing is you cannot directly give d first you have to give h and hold the job once you have the job then you give d in front of the job the job will be deleted one important thing is again this is access related issues uh some of the owners of the team will be given a direct access to delete or some of the application team has to contact the support team those team will hold and delete the jobs so now after all this um see here command prompt is there no there in command prompt if i give yes or if i give a search ow show okay so that will open you the screen this is called as a filter filter in controller so yes is a command line of ajf will take us to the show screen that is yes stands for show the filter or show screen so where how you can go to this option is once you open this controller first screen this screen okay once you open the first screen give option three option three then your option three will take you here here okay any of the job and like this there will be thousands of jobs which will be there in different status now here you give yes okay here you give us in command from yes or show then it will pull you this screen okay so what does this screen explain is you can create your own filters for your monitoring of the job so below given is a filter condition of different status of a job different status in the sense wait schedule weight confirmation wait submission submitted wait execution then executing status then the job with table active then some of the jobs which are disappeared so all those things you can control here and you can create your own filter now see i will give you one example there are some hundred jobs for me in that four jobs are very critical for me and those jobs i want to monitor whether it is ended okay or and did not okay okay i need to monitor whether it is indeed not okay that time what i will do i will keep the weight schedule option as y weight confirmation is y made submission as y okay submitted as y okay what i will do is ended okay i will make it as in and enter not okay i will make it as y and all the other options i will keep it like that only so what it will display to me is it will give me a filter where only my jobs which are ended not okay will be displayed to me any questions in the screen this is very important you will face this issue when there are many jobs which have failed or which have disappeared so if you have any questions in this one please ask me okay in a naboo screenshot yen is mentioned at option deleted okay i have given option in where it is okay see option n has a deleted okay of option deleted this states that the jobs that are deleted from major will not be shown okay so now suppose this is your normal situation and you want this situation on a daily schedule you don't want deleted jobs on your daily scale so you give n here and in this filter is there no in this filter you give your application name and you give fl 1 three letters of your application and you give a fl one and you give y here so there is a new filter created for you by your first three characters of our application then ending with fl1 okay so whenever you log in tomorrow or day after tomorrow directly open this screen give that filter name here give option y it will directly pull you all the jobs which will be not having any deleted jobs no need to come to here again do the changes okay clear here can i move to next screen okay view the statistics of a job to view the statistics of each of you yes before the job and hit enter okay we will be able to see the statistics of a job like your average run time on a particular day etc so if you give yes on an ended okay job it will show you the overall uh what was the maximum time last time the job done it took for cpu time it took for execution and on a day-to-day basis what is the average time this job is taking to execute option is so leaving the log log of a job okay see this is next very important uh thing which will which we will face in production suppose now i am an operator working uh on couple of jobs by mistake i have uh restarted a job from a wrong step okay or um there is a situation where you want to backtrack a particular job suppose this pts md0 n1 is one job okay i want to see last one month log of this job like what was the action taken when it was ended okay when it was not ended okay which particular step it was ended okay not ended okay all those uh things you can see by giving an option here so once you give option here the next thing what you have to do is in the date mentioned here you have to give the range of a date like one month or two months that all log will be pulled here and once the log is full you give in command you view m that is your alpha alphabet m then you press f7 so it will take you top of this screen from there you can start your analysis suppose i have restarted a particular job wrongly today i will say i have not restarted it application team will say question you have restarted it wrongly i will say i have not restarted it wrongly so in ended not okay or ended okay job will you yell in front of it and give f and find my rack of id uef and give the rack of id then it will it will take you to my rack of id and it will give a keyword called as performed okay performed by this wrap-up id the re-run or restart performed by this rack of id or force complete performed by this type of id for such log analysis you can do by giving option l then your option of force completing your job to force complete a job you go before the job see i already tried to say you that there is a job which is entered not okay which is adding some condition to the 15 jobs now if you want that condition to be added to all the dependent jobs you give o in front of the job and it will ask you for an reconfirmation in the tray confirmation in force ok you have to give y okay then it then your job status will change from ended not okay to force complete a new panel asking for the condition to be posted to be posted after it's its force okay will appear okay this force completed and would appear as force forced ended okay on hf for this ended not ok status will go and that status will change to force ended ok and it will post the condition to your next jobs so now global view of control m to see the global view give v in an command option of the agf controlling global view it will give this one this actually this is not used in application or production support or most of the projects so this is an additional screen so your next important and the last topic here is your restart procedure in controller okay so whenever any job goes in ended not okay status application team will say you to give some overrides on a job once the overrides are given then application team will tell you to restart a job in control m so this concept is explaining you how to restart a job and type of piston so your first is restart with controller that is your control m restart the second thing is without controller okay so first we will see restart with controller so restart from top with controller restart from a particular fail step in controller so in control and restart there are two situations where application team after doing some changes it will say you okay you please submit the job again so submit the job again is nothing but you are re-running the job that is you are again restarting the job from your step one okay then your application team will tell you to restart a job from a particular step suppose at step 10 they have done some jcl modifications so now they want you to restart that job from a particular step so even that we can do in controller then without controller restart so restart from top without controller again there is one more restart from a particular step without controller here also there are two options from a step or from top so first now we can go with the screens where it will explain you your control name restart this is an option okay so in again this this this one command comes in option three hf okay restart from top without without controller okay so see a particular job is failed now application team will tell me please restart the job from top from top is the instructions given by application team so what i will do i will go to option three um then i will give this job name then i will give r in front of this job okay give r before the job and hit enter then restart option panel app yes you y in confirm option and end in restart as shown below and hit enter the job is restarted from top so if you give r here then you will this particular screen will be pulled where you have to give please confirm equal to y with restart equal to n and if there are any steps here already present you have to remove those steps then hit enter this job will be submitted from top okay then restart from my step okay restart from mr without controller okay without controller then hold the job and copy the jcl of a job to be restarted to a temporary library by mentioning in and over over our library as mentioned below see there's there were some questions about override library okay now see there is one job field no application team will tell me to do some jcl modification and restart the job what i will do is i will change this override library okay to whatever library is required hold the job and copy the jscl of a job to be restarted to a temporary library by mentioning it in a override library as mentioned below okay so this is the new library i am giving here then enter j before the job the jcl of a job can be viewed see here you are giving r right r instead of r you give j once you give j it will take you to the gcl of a job okay now include the restart parameter indian job card of a of the jcl save and execute so see this is restart without control m okay restart without control m that is without using this panel y comma n how you will do is the gcl which you want to restart it you copy it in a temporary library and that library you place in place of your application override library by default there will be an overhead library given by application teams so you copy your library in place of override library okay then next is after doing that you give j here so once you give j it will pull you the jcl in jcl you have to go with normal job card restart okay then enter j before a job the jcl of your job is expanded the jcl office job can be viewed now include the restart parameter in the job part of the jcl so here i am including restart equal to proc dot step name that is a particular proc step dot step name like suppose j is step one is a step is a job step which is calling your proc product so what i will do is i will give js step one dot inside that proc whatever step is there that step i will give to restart so now restart the job from top without controller as mentioned earlier the job will pick the restart parameter images here and we'll start from the step see after giving this restart parameter here what you can do is you use this option restart from top that is y comma n whenever you are giving any job card restart in control m you are always restarting it from top y comma n okay your next is a restart a job with controller from a particular step now this job is failed now you give r in front of a job then restart option panel appears give y in confirm option and then question mark in a restart option okay so once you've given question mark here in a restart option it will give you the list of the steps from where you can restart okay a step list panel is shown as below you if before the step we need to restart from and exit from the panel that is you have to give f here give f here and hit enter and do an f3 so it will it will reflect your particular step that is the size step which you want to execute here then you give y and y earlier we give yn question mark which will pull you all the steps in that you have to select the step which is failed give up in front of the step here it is giving option f is for from t is for 2 and o is for only see now if you want to select a range of steps that is from step 2 to step 5 then you give your first step 2 and you give t at step 5 only those steps will be included if you want to include only one step in between then you give o that only one step will be included or if you want to include all the steps from the failed step you give f so we are giving f here now then after that you change that confirm equal to y with restart also equal to y so now if you select the first step from the restart step list panel the job would be started from top with control r else from any other step it would be restart that is you y and y here and it it will restart from this sas this was a general introduction to control m if any questions are there you can ask collusion can you show us the last screen that is how to restart from a particular step this one job card restart you understood no no some particular step is this one okay this option okay this one you are asking right yes okay see now if you want to restart a job from a particular step first you give r in front of the job okay then it will pull you this panel in this manner okay now please confirm you keep it why only with restart is there no there you given question mark okay then it will give you the option of all the steps which are present and in that the steps which are failed the steps which are not executed like this okay here i have given an example of only one step which is failed that is your sas program step wrong step yes one okay in this step the job is now if you want to restart from this step all the steps okay you give up here or if you want to restart a set of steps okay then you give up here f here and you give t to the last step where up to where you want to execute so it will start from step and it will take last step as a step where you are given t now if you want to execute only one step in between of the existing steps then you give o which will take only that step okay got it thank you so much after that giving you have to hit enter then only that will be locked then it will appear here if you want hit enter if you just do f3 then that step is not locked and it will not appear here okay so once that step appears here you change this to parameters to y again hit enter then your job will start executing from this step okay one more thing uh like when we are restarting without controller control r so in that case we are copying the job to the overlap library manually right and then we are going to the over then we are seeing the job through option j and then we are editing giving the restart instruction manually correct correct see you you do your jcl changes in this suppose this is your data set okay where you have the new json changes now you want that job to be executed from top or from a particular step okay you are writing all that jcl inside this library and you are giving to conversion what cool version will do that data set he will paste here in an override library okay i will paste that dataset here i will remove the existing overhead library and i will give you a data asset here after that i will do f3 ef3 okay then i will come to here this screen after doing f3 i will come to this screen instead of giving j r i will give j here instead of giving r i will give j here then it will open this screen job you are even with your copied in this data set okay it will open the job in the newly data set right not in the member correct it will open from this newly data set not from this memo name yeah this is what okay any other questions not only on this content so apart from these topics are these points if you have any queries you are good to ask him so whatever he can do he can write he will try to give the answers right so collaboration if you want to share your mail id you can ping in the chat window so that they can get and if they have any queries and control them they will be