I want to pass YYMMDd date dynamically in sort card how to do that ? Please help
@omnamasivakk10 ай бұрын
Thank you!
@jomach67 Жыл бұрын
This is not good
@reddyganesh3743 Жыл бұрын
We are not applying COND parameter in the first step of jcl, because COND parameter, check the condition based on previous step results.
@asingh4623 Жыл бұрын
Not good Explanation
@thaneshss37952 жыл бұрын
Thanks a lot....
@proboy..shorts2 жыл бұрын
Plz upload real time execution of prgms...by using cobol and jcl
@RamaKrishnan-ph9ic2 жыл бұрын
Great info
@MrAkshay802 жыл бұрын
Can you share the jcl to compile the cobol program?
@gusainrakesh2 жыл бұрын
Nice basic questions. It seems error in array example. WS-DEPT should be X(5) instead of X(10) to get the answers.
@PavanKumar-sq9xj2 жыл бұрын
Full of confusion not understanding too boring bro
@vishnuvardhanreddy26312 жыл бұрын
Nice Video... Great job..thank you!!!
@venkteshyaganti91172 жыл бұрын
Sir can u tell me how to compare a ps file and vsam file based on key and update in vsam file
@basavarajab11463 жыл бұрын
Thanks
@siddusmart93483 жыл бұрын
Can I get ur mail id
@siddusmart93483 жыл бұрын
Great explanation
@hafeezsoftech3553 жыл бұрын
plz provide me some realtime projects
@muhafeezsayyed21753 жыл бұрын
Can you please teach me mainframe course
@kuunalkothaari70933 жыл бұрын
Nice vsam question. If possible can you please share the word document.
@basavarajab11463 жыл бұрын
Thanks
@iiwowiis53543 жыл бұрын
Welcome
@jaycahow46673 жыл бұрын
Working my way through your video. The question about not abending when you reference an occurrence higher than the total occurs in the table is because your internal table is just pointing to a location in core. If you reference an 11th item in a 10 row table then you are referencing the next few bytes in Working Storage that is immediately after your table end. Whther you abend or not depending on the PIC type of the field you are referencing and what the value in core of that core location. If the PIC is Numeric and the core data is ALPHA you abend, if the PIC is ALPHA then it will process the reference without abending. As he mentions it is the programs responsibility to not go off the end of a table. My preference was to use Subscripts defined properly and efficiently in Working Storage. This allowed for meaningful 88 Levels on the Subscript field that made it easy to process the table logic. Tables are apt to change over time as more rows may be required. If you hard code a table value to check length then that code might be missed buried in code somewhere when table maintenance is required. You are better off using a Subscript placed right above the Working Storage table and then use 88 Levels like 88 STATE-TABLE-NOT-FULL Values are Zero thru 9/88 STATE-TABLE-FULL Value 10. Then you can code If STATE-TABLE-NOT-FULL Add +! to the table Subscript to bump up a row. This way if the table is ever increased in Length you just have to change the Occurs and the 88 Levels and all the code referencing the table takes care of itself (as table logic might be referenced in multiple locations). Personally we always called Depending On tables Variable Length Tables and not Dynamic tables. They were mainly used when you read some file contents into a table to be processed not knowing the exact file size. Variable length tables are not efficient for large table sizes as they their locations have to be continually calculated each time a table field is referenced. That probably is not really a problem anymore as processing power is more higher than when I started 40 years ago. .
@jaycahow46673 жыл бұрын
As someone who was a mainframe COBOL programmer for almost 30 years (now retired for over 15) and who wrote thousands of programs I think some of your information and recommendations for Static and Dynamic calls are incorrect. First off I would recommend breaking any Load Module up into as many pieces (programs) as makes sense from a processing and logistics point of view. I come from an environment where we might have hundreds of programs combined together Statically and Dynamically in the same job step. Many times times we would have multiple languages combined together as well as each has its own advantages. That being said you would be hard pressed to ever even measure the extra time taken for a Dynamic call as compared to Static one. Normally only the First call done for a Dynamic call takes any extra time after that the Dynamically called module stays in Core until the job step finishes. It is possible to flush the Dynamically loaded module after a call but in all my years i never saw it done or a need for it. So basically I would not even bring that consideration into the design of the system. So whether you call it once or 1000 times it is only normally fetched and loaded into core once. After it is in core it is accessed at the same speed as a Statically called program. The reason you setup a Dynamic called module is much more likely because multiple jobs or systems need access to the module. You want to be able to potentially make changes to that module (probably some kind of utility function) without have to re-link all the Load Modules that use it. Common types of modules called Dynamically would Date Manipulation, Name/String Manipulation, Table Access, Data Access, etc.. As far as total Load Module Size again it is not an issue with how many sub modules are Statically called. When they are all combined together during the Link process the system is just going to setup a table to branch to a different spot in the final Load Module during execution. There is very little if any difference between branching and executing the code in the same program as compared to code in a Statically called sub module. That is why I would always ask myself when writing code is there any chance someone might ever need to execute the same code. If there was then I would make it a sub module so the code could be reused. Examples of sub modules might be common Read/Write modules, Table Access, Separate Logic Flows, etc. The fact that you have sub modules might make your final Load Module Larger but not necessarily Large by any means and it is not something I would worry about.. You also state incorrectly that when a Statically called sub program is changed that both the sub program and main calling program need to be recompiled. Unless there is a change in the Linkage Data items passed between the programs only the sub program need to be re-compiled. The recompiled sub program object module is then re-linked with the unchanged main program object modules (and all other sub program object modules) to create an updated combined Load Module. When you have a Load Module that potentially contains hundreds of combined programs Statically linked together you might have a dozen people responsible for different parts of the Load Module. They might be making changes at the same time and be totally independent of each other and only those changes will be re-compiled and re-linked when finished (unchanged programs will be re-linked but not re-compiled). I would be much more concerned about the logical division of the Programs in the Load Module and how it is going to be tested and maintained and what can be shared than I would about the total size of the code. Even in the Online world as compared to Batch there is little if any performance hit for called modyules whther they are Statically or Dynamically called. Dynamically called Online modules can be permently Cached in core ahead of time by Tech Support and are read instantly.
@udaytodalabagi75243 жыл бұрын
Excellent
@iiwowiis53543 жыл бұрын
COBOL Logic: PROCESS-PARA. IF WS-IEOF = 'N' OR WS-IEOF2 = 'N' IF File1 > File2 IF File2-EOF = 'N' Write File2 to Output file (Present only in File2) Read File2 ELSE MOVE FILE1 To output file (Present only in File1 ) Read File1 END-IF ELSE IF File1 < File2 IF File1-EOF = 'N' MOVE FILE1 to output file( Present only in File1) Read File1 ELSE MOVE FILE2 to output file(Present only in File2) Read File2 END-IF ELSE IF IEMPNO = IEMPNO2 MOVE FILE1 to output file (Matched record) Read File1 Read File2 END-READ
@iiwowiis53543 жыл бұрын
Let us assume the key values from both the input files are as follows: File1 File2 1 1 2 3 3 5 then the logic would be: Read file1 Read file2 1st time: 1 = 1 . matched record. read next record from File1 and File2 2nd time: 2 < 3 . Key value 2 is present only in File1 but not available in File2. so, record 2 from File1 is moved to the output file (Unmatched from File1) Read next record of File1 3rd time: 3 = 3 . matched record. read next record from File1 and File2 4th time: 3 < 5 . If File1-EOF = 'Y', move file2 to output file Move 5 to output file (Unmatched from File2)
@arunachalasiva57873 жыл бұрын
Could you elaborate on this by showing records matching with the logic and how it write to out file. Thanks in advance
@iiwowiis53543 жыл бұрын
Thanks for asking. I have updated the matching logic in the generic comment section.
@mrpurus13 жыл бұрын
Excellent point to point 👉 information with all the videos
@iiwowiis53543 жыл бұрын
Thanks a lot
@Aquib0013 жыл бұрын
Thank you so much, it covers almost all the Cobol interview scenarios.
@iiwowiis53543 жыл бұрын
Thanks for your positive comment. I am glad it was helpful!
@dhanasekar17813 жыл бұрын
This video is very helpful. Expecting more video on DB2
@iiwowiis53543 жыл бұрын
Working on it!
@manickamramachandran54793 жыл бұрын
Good explanation and nice effort for making this video. Keep up the good work.
@iiwowiis53543 жыл бұрын
Thanks a lot
@higiniofuentes25513 жыл бұрын
Do you have any video referring to IBM ASSEMBLER? Thank you!
@iiwowiis53543 жыл бұрын
No, sorry! I do not have experience in Assembler.
@kuruvadurgappa61353 жыл бұрын
Hloo sir I have a doubt can we create GDG generation by using idcams?
@iiwowiis53543 жыл бұрын
Certainly! You can use IDCAMS to create PS file or GDG generation file
@archanavelmurugan72893 жыл бұрын
for length of string can't we directly use TALLYING WS-CNTR FOR CHARACTER.?
@iiwowiis53543 жыл бұрын
yes we can. INSPECT statement with TALLYING for getting the count of a character in a string. Ex: INSPECT WS-INPUT TALLYING WS-CNTR FOR ALL "A" BEFORE INITIAL SPACE.
@chamajid3 жыл бұрын
How can you sort dataset file names for Last 10 dataset and put the last 10 dataset names into filelist dataset
@higiniofuentes25513 жыл бұрын
Very good video thank you! There is any jcl utility to create/manipulate IMS hierarchical database?
@iiwowiis53543 жыл бұрын
Sorry. I ever worked much on IMS. I hope there are some utilities available to handle IMS DB. "Utilities to handle imsdb" Please use this search strings in google to get idea about the IMS tools
@santhoshKUMAR-fd2es3 жыл бұрын
Awesome explanation.... big big thanks for creating video like this.
@iiwowiis53543 жыл бұрын
Glad you liked it!
@deerdeerable3 жыл бұрын
For the first question...you told if the load is not there in steplib it ll search in Joblib...have you ever run a jcl for this scenario??? Try it
@iiwowiis53543 жыл бұрын
I have tried it long back. I hope It should work for you as well.
@dhevashree53443 жыл бұрын
If I m delete more than 70 records... How to omit that..
@iiwowiis53543 жыл бұрын
Can you please specify the condition to delete 70 records. That condition we can include it in the OMIT control statement.
@mohammedimran66803 жыл бұрын
Nice info
@iiwowiis53543 жыл бұрын
Glad you think so!
@wagnerribeiro95463 жыл бұрын
Thank you very much for the information, I am trying to learn it by recording my programs. kzbin.info/www/bejne/rKDOiqeupc2YeKM
@kundankc3 жыл бұрын
These video may be used by many students . If you are making any video, please make sure you put the correct information. In first question only you have provided wrong information. If steplib and joblib both are present the program will ignore joblib and directly search in system library. If it is not even found in system library it will fail with S806. But you said if steplib is not present then ot will be searched in joblib which is incorrect. Please correct it
@Khane_pe_Charcha3 жыл бұрын
Very informative 👌
@iiwowiis53543 жыл бұрын
Thanks for liking
@perlaprasad4 жыл бұрын
About The question to find out numeric in a variable , The display statement should be inside if condition then only displays showed output. Special thanks to the person who did it for us. Please keep doing videos to help viewers in learning mainframes
@iiwowiis53543 жыл бұрын
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. DATA DIVISION. WORKING-STORAGE SECTION. 01 A PIC X(10) VALUE 'A1B2C34D5E'. 01 B PIC X(10). 01 I PIC 9(5) VALUE ZERO. PROCEDURE DIVISION. PERFORM VARYING I FROM 1 BY 1 UNTIL I>10 IF A(I:1) IS NUMERIC MOVE A(I:1) TO B(I:1) END-IF END-PERFORM. DISPLAY "NUMERIC DATA IS:" B. STOP RUN. Output: NUMERIC DATA IS: 1 2 34 5
@WinxSi03 жыл бұрын
If the display statement is placed inside the if condition, then for every numeric value the display result would be : NUMERIC DATA IS:1 NUMERIC DATA IS:2 NUMERIC DATA IS:3 and so on until 5
@sbiswas27984 жыл бұрын
Very good. Helped a lot....
@iiwowiis53543 жыл бұрын
I am glad that the video helped you!
@VinayKumar-rc3sh4 жыл бұрын
Part 1 ekkda
@iiwowiis53543 жыл бұрын
kzbin.info/www/bejne/nn7Fc2VmjLCgeMk
@darlingnaveen13274 жыл бұрын
Overall video was good, but it would be even better if u can explain binary search a bit more clearly.
@iiwowiis53543 жыл бұрын
Thanks for your valuable comment. I thought brief explanation is enough to cover many questions. I will explain it more precisely in the upcoming videos.
@shwetasingh60364 жыл бұрын
Thank you sir 👍 keep up the great work
@iiwowiis53543 жыл бұрын
Thanks a ton for your comment.
@kuruvalalitha18844 жыл бұрын
hii sir can u plz send me occurs clause and synchronisation class programs.plzzz
@brentmeadows96024 жыл бұрын
Good topic! It might be useful to tag with useful keywords like IBM, mainframe, z/OS, utilities, sort and JCL.
@iiwowiis53543 жыл бұрын
Sorry for the late reply. It is a Great suggestion!
@Shannu_eafc4 жыл бұрын
I didn’t get about sum field statement, how did you sum the columns .. please explain that
@iiwowiis53544 жыл бұрын
In our example, the sum field, adds the values when two records are same. Ex: SUM FIELDS(15,5,ZD) is specified. 3rd and 4 th records are same. Input: 1000SATHISH 10000 1000SATHISH 12300 we have two entries in 15th position(10000 & 12300) these values are added as 10000 + 12300 = 22300 Final output will be stored as : 1000SATHISH 22300 Please refer the following link for more detail about the sum control statement. www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.icea100/sumcst.htm