Custom Search
/* Posts ----------------------------------------------- */ h2.date-header { margin-top:0; margin-right:28px; margin-bottom:0; margin-left:43px; font-size:85%; line-height:2em; text-transform:uppercase; letter-spacing:.2em; color:#e1771e; } .post { margin:.3em 0 25px; padding:0 13px; border:1px dotted #cc0000; border-width:1px 0; } .post h3 { margin:0; line-height:1.5em; background:url("http://www2.blogblog.com/rounders2/icon_arrow.gif") no-repeat 10px .5em; display:block; border:1px dotted #cc0000; border-width:0 1px 1px; padding-top:2px; padding-right:14px; padding-bottom:2px; padding-left:29px; color: #2d8930; font: normal bold 135% 'Trebuchet MS',Verdana,Arial,Sans-serif; } .post h3 a, .post h3 a:visited { text-decoration:none; color: #2d8930; } a.title-link:hover { background-color: #cc0000; color: #000000; } .post-body { border:1px dotted #cc0000; border-width:0 1px 1px; border-bottom-color:#ffffff; padding-top:10px; padding-right:14px; padding-bottom:1px; padding-left:29px; } html>body .post-body { border-bottom-width:0; } .post-body { margin:0 0 .75em; } .post-body blockquote { line-height:1.3em; } .post-footer { background: #eee; margin:0; padding-top:2px; padding-right:14px; padding-bottom:2px; padding-left:29px; border:1px dotted #cc0000; border-width:1px; font-size:100%; line-height:1.5em; color: #666; } /* The first line of the post footer might only have floated text, so we need to give it a height. The height comes from the post-footer line-height */ .post-footer-line-1 { min-height:1.5em; _height:1.5em; } .post-footer p { margin: 0; } html>body .post-footer { border-bottom-color:transparent; } .uncustomized-post-template .post-footer { text-align: right; } .uncustomized-post-template .post-author, .uncustomized-post-template .post-timestamp { display: block; float: left; text-align:left; margin-right: 4px; } .post-footer a { color: #0066CC; } .post-footer a:hover { color: #6131BD; } a.comment-link { /* IE5.0/Win doesn't apply padding to inline elements, so we hide these two declarations from it */ background/* */:/**/url("http://www.blogblog.com/rounders/icon_comment_left.gif") no-repeat left 45%; padding-left:14px; } html>body a.comment-link { /* Respecified, for IE5/Mac's benefit */ background:url("http://www.blogblog.com/rounders2/icon_comment_left.gif") no-repeat left 45%; padding-left:14px; } .post img { margin-top:0; margin-right:0; margin-bottom:5px; margin-left:0; padding:4px; border:1px solid #cc0000; } blockquote { margin:.75em 0; border:1px dotted #cc0000; border-width:1px 0; padding:5px 15px; color: #e1771e; } .post blockquote p { margin:.5em 0; } #blog-pager-newer-link { float: left; margin-left: 13px; } #blog-pager-older-link { float: right; margin-right: 13px; } #blog-pager { text-align: center; } .feed-links { clear: both; line-height: 2.5em; margin-left: 13px; } /* Comments ----------------------------------------------- */ #comments { margin:-25px 13px 0; border:1px dotted #cc0000; border-width:0 1px 1px; padding-top:20px; padding-right:0; padding-bottom:15px; padding-left:0; } #comments h4 { margin:0 0 10px; padding-top:0; padding-right:14px; padding-bottom:2px; padding-left:29px; border-bottom:1px dotted #cc0000; font-size:120%; line-height:1.4em; color:#2d8930; } #comments-block { margin-top:0; margin-right:15px; margin-bottom:0; margin-left:9px; } .comment-author { background:url("http://www.blogblog.com/rounders2/icon_comment_left.gif") no-repeat 2px .3em; margin:.5em 0; padding-top:0; padding-right:0; padding-bottom:0; padding-left:20px; font-weight:bold; } .comment-body { margin:0 0 1.25em; padding-top:0; padding-right:0; padding-bottom:0; padding-left:20px; } .comment-body p { margin:0 0 .5em; } .comment-footer { margin:0 0 .5em; padding-top:0; padding-right:0; padding-bottom:.75em; padding-left:20px; } .comment-footer a:link { color: #000000; } .deleted-comment { font-style:italic; color:gray; } .comment-form { padding-left:20px; padding-right:5px; } #comments .comment-form h4 { padding-left:0px; } /* Profile ----------------------------------------------- */ .profile-img { float: left; margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 0; border: 4px solid #cc0000; } .profile-datablock { margin-top:0; margin-right:15px; margin-bottom:.5em; margin-left:0; padding-top:8px; } .profile-link { background:url("http://www.blogblog.com/rounders2/icon_profile_left.gif") no-repeat left .1em; padding-left:15px; font-weight:bold; } .profile-textblock { clear: both; margin: 0; } .sidebar .clear, .main .widget .clear { clear: both; } #sidebartop-wrap { background:#ffffff url("http://www.blogblog.com/rounders2/corners_prof_bot.gif") no-repeat left bottom; margin:0px 0px 15px; padding:0px 0px 10px; color:#cc0000; } #sidebartop-wrap2 { background:url("http://www2.blogblog.com/rounders2/corners_prof_top.gif") no-repeat left top; padding: 10px 0 0; margin:0; border-width:0; } #sidebartop h2 { line-height:1.5em; color:#000033; border-bottom: 1px dotted #000033; margin-bottom: 0.5em; font: normal bold 100% 'Trebuchet MS',Verdana,Arial,Sans-serif; } #sidebartop a { color: #0066CC; } #sidebartop a:hover { color: #333333; } #sidebartop a:visited { color: #333333; } /* Sidebar Boxes ----------------------------------------------- */ .sidebar .widget { margin:.5em 13px 1.25em; padding:0 0px; } .widget-content { margin-top: 0.5em; } #sidebarbottom-wrap1 { background:#ffffff url("http://www.blogblog.com/rounders2/corners_side_top.gif") no-repeat left top; margin:0 0 15px; padding:10px 0 0; color: #000000; } #sidebarbottom-wrap2 { background:url("http://www1.blogblog.com/rounders2/corners_side_bot.gif") no-repeat left bottom; padding:0 0 8px; } .sidebar h2 { margin:0; padding:0 0 .2em; line-height:1.5em; font:normal bold 100% 'Trebuchet MS',Verdana,Arial,Sans-serif; } .sidebar ul { list-style:none; margin:0 0 1.25em; padding:0; } .sidebar ul li { background:url("http://www2.blogblog.com/rounders2/icon_arrow_sm.gif") no-repeat 2px .25em; margin:0; padding-top:0; padding-right:0; padding-bottom:3px; padding-left:16px; margin-bottom:3px; border-bottom:1px dotted #cc0000; line-height:1.4em; } .sidebar p { margin:0 0 .6em; } #sidebar h2 { color: #2d8930; border-bottom: 1px dotted #2d8930; } /* Footer ----------------------------------------------- */ #footer-wrap1 { clear:both; margin:0 0 10px; padding:15px 0 0; } #footer-wrap2 { background:#002E3F url("http://www2.blogblog.com/rounders2/corners_cap_top.gif") no-repeat left top; color:#ffffff; } #footer { background:url("http://www.blogblog.com/rounders2/corners_cap_bot.gif") no-repeat left bottom; padding:8px 15px; } #footer hr {display:none;} #footer p {margin:0;} #footer a {color:#ffffff;} #footer .widget-content { margin:0; } /** Page structure tweaks for layout editor wireframe */ body#layout #main-wrap1, body#layout #sidebar-wrap, body#layout #header-wrapper { margin-top: 0; } body#layout #header, body#layout #header-wrapper, body#layout #outer-wrapper { margin-left:0, margin-right: 0; padding: 0; } body#layout #outer-wrapper { width: 730px; } body#layout #footer-wrap1 { padding-top: 0; } -->

Wednesday, May 6, 2009

Cobol

History
COBOL (Common Business Oriented Language) was one of the earliest high-level programming languages. It was developed in 1959 by a group of computer professionals called the Conference on Data Systems Languages (CODASYL). Since 1959 it has undergone several modifications and improvements. In an attempt to overcome the problem of incompatibility between different versions of COBOL, the American National Standards Institute (ANSI) developed a standard form of the language in 1968. This version was known as American National Standard (ANS) COBOL. In 1974, ANSI published a revised version of (ANS) COBOL, containing a number of features that were not in the 1968 version. In 1985, ANSI published still another revised version that had new features not in the 1974 standard. The language continues to evolve today. Object-oriented COBOL is a subset of COBOL 97, which is the fourth edition in the continuing evolution of ANSI/ISO standard COBOL. COBOL 97 includes conventional improvements as well as object-oriented features. Like the C++ programming language, object-oriented COBOL compilers are available even as the language moves toward standardization.

The following links will give you more about the cobol.

ibmmainframes
geekinterview
csis.ul.ie
wikipedia

Cobol reference books

The Essentials of Cobol I (Essential Series) (Paperback)
by Ruknet Cezzar (Author)

Fundamentals of Structured Cobol (Paperback)
by Robert C. Nickerson (Author)

Fundamentals of Structured Cobol (Paperback)
by Robert C. Nickerson (Author)

Handbook of Cobol Techniques and Programming Standards

COBOL for Dummies Quick Reference (Paperback)
by John W. Fronckowiak (Author)

Murach's Structured COBOL (Bk/CD)

Mastering Cobol
By Carol Baroudi

Structured Programming With Cobol Examples
By Earl H. Parsons

COBOL for OS/390 Power Programming
By David Shelby Kirk

A Simplified Guide to Structured Cobol Programming
By Daniel D. McCracken, Donald G. Golden

Introduction to Object COBOL
By E. Reed Duke

COBOL Unleashed By Jon Wessler

Sams Teach Yourself COBOL in 24 Hours (Paperback)
by Thane Hubbell (Author)

Advanced Structured Cobol : M. B. Khan, Marle P. Martin

Structured COBOL programming‎
by Nancy B. Stern, Robert A. Stern

The programmer's ANSI COBOL reference manual‎
by Donald A. Sordillo

Fundamentals of structured COBOL programming‎
by Carl Feingold

Saturday, May 2, 2009

SQL Basics

SQL is a standard language for accessing and manipulating databases.
SQL stands for Structured Query Language
SQL lets you access and manipulate databases
SQL is an ANSI (American National Standards Institute) standard
What Can SQL do?
SQL can execute queries against a database
SQL can retrieve data from a database
SQL can insert records in a database
SQL can update records in a database
SQL can delete records from a database
SQL can create new databases
SQL can create new tables in a database

SQL can create stored procedures in a database
SQL can create views in a database
SQL can set permissions on tables, procedures, and views

See the following SQL Links
http://www.w3schools.com/Sql/sql_intro.asp
http://en.wikipedia.org/wiki/SQL
http://sqlcourse.com/
http://sqlzoo.net/
http://www.jcc.com/sql.htm
http://www.sql-tutorial.net/
http://www.1keydata.com/sql/sql.html
http://www.sqlmag.com/
http://www.geocities.com/SiliconValley/Vista/2207/sql1.html
http://www.sql-ex.ru/
http://www.contrib.andrew.cmu.edu/~shadow/sql.html
http://www.mysql.com/
http://www.firstsql.com/tutor.htm
http://kb.iu.edu/data/ahux.html
http://www.tizag.com/sqlTutorial/
http://www.baycongroup.com/tocsql.htm
http://www.dbbm.fiocruz.br/class/Lecture/d17/sql/jhoffman/sqltut.html
http://www.sqlcommands.net/
http://www.webappsec.org/projects/threat/classes/sql_injection.shtml
http://www.red-gate.com/products/SQL_Compare/index.htm
http://www.webdevelopersnotes.com/tutorials/sql/index.php3
http://www.orafaq.com/wiki/SQL_FAQ
http://databases.about.com/od/sql/a/sqlfundamentals.htm
http://www.sqlquiz.com/
http://www.quackit.com/sql/tutorial/
http://cas.sdss.org/dr7/en/help/docs/sql_help.asp
http://www.commandprompt.com/ppbook/c1164.htm
http://www.sqlrecipes.com/
http://www.sqltraining.org/
http://www.fluffycat.com/SQL/
http://datasplash.cs.berkeley.edu:8000/sequoia/dba/montage/FAQ/SQL_TOC.html
http://www.sommarskog.se/dynamic_sql.html
http://www.mckoi.com/database/SQLSyntax.html

Thursday, April 30, 2009

Mainframes Tips

TIP # 001

ISPFLets start with a generic and simpler one.Consider that you are editing a file/program and you want to know the changes you have donesince the last SAVE command.How to find that?

Answer:Give COMPARE SESSION on the command lineFurther use of COMPARE commands...- Can be used like 3.13 option


TIP # 002

ISPFUsually the PDS or PS bears the ID of the creator or the ID of the person who modified itrecently.But is it possible to change these ID values without leaving trace of one’s own ID?

Answer:Yes its possible! In the command area against the member name or PS name, by giving ‘G’.Dialog box will pop up allowing you to change the ID values.


TIP # 003

ISPFSuppose you are in a ISPF Screen and want to know in which TSO Region ( Development,Production, or other TSO regions) you are now .

Answer:Issue on the command line : SAREAISPF STATISTICS Pop-up window will show you the region( and other info too)


TIP # 004

ISPFAny command entered in the COMMAND LINE disappears after the successful execution of itsintended function.If you want to repeat the same command , you got to re-type it or use some PF key to retrieve thelast command entered.But here is a cool method the make the command entered not to disappear and stay on the screen.Precede commands with '& 'For Example:COMMAND ===> &C '110-PARA' '220-PARA' SCROLL ===> CSR****** ************************ TOP OF DATA **************000001 IDENTIFICATION DIVISION.000002 PROGRAM-ID. COBOLSAMY.000003 DATE-WRITTEN. APRIL 2004.After the execution of the command, the below command stays on the screen.This way you can entering the same command or modifying the command a little and using itmultiple times.


TIP # 005

ISPFWhile trying to open any member in a PDS, we sometimes come across"member in use" message. In that situation, if you want to know who is using the membercurrently, press F1 twice.


TIP # 006

ISPFWe usual search for members in a PDS by the first string of the members.Consider this situation .I have a PDS and I want to search it for member only by middle string of the members.e.g. there are some members like BESTJCL1,RESTJCL2,PESTCBL1, BESTCBL2,WESTCBL3,TESTASM1,BESTASM2...etcI want to find members which have CBL in them.How can I search and find these members?

Answer:Use ISPF 4.12 option.Specify the dataset to be searched and the pattern of the string.Specify the LANG type as COBAnd select the browse option.


TIP # 007

ISPFHow can I find the last 10 datasets that I have accessed ?

Answer:1.GO TO ISPF 3.4 option.2. On the top, there is a MENUBAR. Select REFLIST3. Select Option 1 in it.Using this option you can find out the last 30 datasets that you have accessed....


TIP # 008

ISPFAlternate to SuperCE Option(3.13) is to use the macro COMPARE .Use this when you there is less difference between the two files.1.Open a DSN in EDIT or VIEW Mode2. On the Command line , issue COMP 'YOUR.SECOND.COMPARISON.DSN'3. If you want only the changes to be listed, issue COMP'YOUR.SECOND.COMPARISON.DSN' EXC


TIP # 009

ISPFWhile Browsing Internet, we have some cool option called address autocomplete…we entersome letters in the address bar and the browser auto completes it with the closest guess.Does MAINFRAME has the same feature??

Answer:Yes! It has “Autocomplete” feature!!!How to use it?1.go to ISPF 3.4 ,2. enter KEYS in the command line,KEYS window will popup3. set any key to AUTOTYPE, save and exit2. now type any Dataset partially and press the assigned PFkey!!Note: It will not retrieve GDGs and VSAM files.


TIP # 010

ISPFI want to find a member but I don’t know the PDS to which it belongs. I only know the highlevel qualifier of the PDS.

Answer:For example, lets consider high level Qualifier as MYID.MYAPPLN.* and member as MYMEM1. Go to 3.4 and list all PDS with MYID.MYAPPLN.*2. Now issue, MEMBER MYMEM on the command line

Wrap the data in each record in ISPF

Q1.I have data which is of length 160. For some reasons, I want to wrap the data in each record to 80characters and have the next 80 characters in the next line. So basically what I am looking for is ,“Is there command similar to Wordwrap (as in Notepad or MS WORD) in mainframe?”

A1.Yes, with ISPF, one can wrap the data as required.To do that,

1.Open the dataset in ISPF EDIT mode.

2.In the first line, issue the line command: TF80 (as in this case I want to wrap to 80 chars perline)

3.All the subsequent lines will wrap to 80 chars per line.