<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8757951651853176267</id><updated>2010-07-29T07:55:02.849-07:00</updated><title type='text'>ezytrieve.com</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.ezytrieve.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Karthik</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-5999878966311280990</id><published>2010-07-17T09:56:00.000-07:00</published><updated>2010-07-17T09:56:38.262-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rexx'/><title type='text'>Introduction to REXX - Some examples</title><content type='html'>&lt;br /&gt;- A Rexx program should have a comment "/*rexx*/" in the first line&lt;br /&gt;- Rexx statements are Case insensitive&lt;br /&gt;- A rexx program can be executed by giving "EX" to the rexx member containing the rexx program&lt;br /&gt;&lt;b&gt;Hello World program&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;/************rexx***********/&lt;br /&gt; say "hello world"&lt;br /&gt; exit&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;IF-ELSE in Rexx&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;/******rexx******/                                        &lt;br /&gt;/* execute some instructions conditionally */             &lt;br /&gt; say 'enter number less then 10 '                                  &lt;br /&gt; pull a                                                    &lt;br /&gt; if a&amp;lt;10 then                                                  &lt;br /&gt;    do                                                                                &lt;br /&gt;       say "correct number!!"            &lt;br /&gt;    end                                                    &lt;br /&gt; else say "wrong!" &lt;br /&gt; exit&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;DO-Loops in Rexx&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;/*******rexx***********/  &lt;br /&gt;  /* say "hi" 5 times */&lt;br /&gt;  do 5                    &lt;br /&gt;     say "hi"          &lt;br /&gt;  end                     &lt;br /&gt;  /**/                    &lt;br /&gt;  do c=1 to 5             &lt;br /&gt;     say "hi"          &lt;br /&gt;  end                     &lt;br /&gt;  /**/                    &lt;br /&gt;  do m=0.3 to 1.5 by .3   &lt;br /&gt;     say "hi"          &lt;br /&gt;  end                     &lt;br /&gt;  /* infinite loop*/      &lt;br /&gt; /*                       &lt;br /&gt; do forever               &lt;br /&gt;     say "hi"          &lt;br /&gt; end                      &lt;br /&gt; */   &lt;br /&gt; exit&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;DO WHILE and DO UNTIL&lt;/b&gt;&lt;br /&gt;DO WHILE runs the loop all the times if the condition given validates to TRUE&lt;br /&gt;DO UNTIL runs the loop all the times if the condition given validates to FALSE&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;/************rexx***********/&lt;br /&gt; do while a = 5&lt;br /&gt;   say 'hi'&lt;br /&gt;   /* something that modifies a */&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; do until a = 5&lt;br /&gt;   say 'hi'&lt;br /&gt;   /* something that modifies a */&lt;br /&gt; end&lt;br /&gt; exit&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;SELECT statement in REXX&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;/******rexx******/                       &lt;br /&gt;/* decide what range a number is in */    &lt;br /&gt; say 'enter a number'                     &lt;br /&gt; pull a                                   &lt;br /&gt; select                                   &lt;br /&gt;    when a&amp;gt;0 &amp;amp; a&amp;lt;100 then say "1-99"        &lt;br /&gt;    when a\&amp;lt;100 &amp;amp; a&amp;lt;500 then say "100-499"    &lt;br /&gt;    when \ (a&amp;lt;500 | a&amp;gt;=1000) then say "500-29"&lt;br /&gt;    otherwise say "out of range"          &lt;br /&gt; end                        &lt;br /&gt; exit&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Dividing one Number by another&lt;/b&gt;&lt;br /&gt;PULL gets the value from the user.&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;/******rexx****************************************************/ &lt;br /&gt; /* dividing one number by another number */                            &lt;br /&gt; /**************************************************************/ &lt;br /&gt; say 'dividing one number by another number'                      &lt;br /&gt; say 'enter numerator:'                                           &lt;br /&gt; pull z                                                           &lt;br /&gt; say 'enter denominator:'                                         &lt;br /&gt; pull n                                                           &lt;br /&gt; if n=0 then &lt;br /&gt;   say 'division by zero'                               &lt;br /&gt; else do                                                          &lt;br /&gt;   say 'num / denom is' z/n&lt;br /&gt;   say 'rest is' z//n                           &lt;br /&gt; end      &lt;br /&gt; exit&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-5999878966311280990?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/5999878966311280990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/5999878966311280990'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2010/07/introduction-to-rexx-some-examples.html' title='Introduction to REXX - Some examples'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-5568225519872148582</id><published>2009-11-07T21:29:00.001-08:00</published><updated>2009-11-07T21:31:25.700-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Easytrieve'/><title type='text'>DO WHILE clause in Easytrieve</title><content type='html'>The syntax for a DO WHILE clause in Easytrieve is&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt; DO WHILE CONDITION1 [ AND CONDITION2 | OR CONDITION3 ]&lt;br /&gt;   STATEMENTS TO EXECUTE&lt;br /&gt; END-DO&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;Please refer the below sample of code to use a do-while clause in Easytrieve.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON&lt;br /&gt; FILE INFILE &lt;br /&gt;*&lt;br /&gt; WS-COUNT W 4 N VALUE 0&lt;br /&gt;*&lt;br /&gt; JOB INPUT NULL&lt;br /&gt; WS-COUNT = 1&lt;br /&gt; DO WHILE WS-COUNT LE 15 &lt;br /&gt;   DISPLAY ' COUNT IS ' WS-COUNT&lt;br /&gt;   WS-COUNT = WS-COUNT + 1&lt;br /&gt; END-DO&lt;br /&gt; STOP.&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-5568225519872148582?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/5568225519872148582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/5568225519872148582'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/11/do-while-clause-in-easytrieve.html' title='DO WHILE clause in Easytrieve'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-4042079387401513778</id><published>2009-11-06T20:34:00.000-08:00</published><updated>2009-11-06T20:36:47.319-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Easytrieve'/><title type='text'>Using Files as Lookup tables in Easytrieve</title><content type='html'>Let us say, I have a lookup table file for Name of the Months. (DD name LOOKUP1 in our example program)&lt;br /&gt;&lt;div style="background-color: black; color: lime; padding: 12px;"&gt;&lt;pre&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt;01 JANUARY&lt;br /&gt;02 FEBRUARY&lt;br /&gt;03 MARCH&lt;br /&gt;04 APRIL&lt;br /&gt;05 MAY&lt;br /&gt;06 JUNE&lt;br /&gt;07 JULY&lt;br /&gt;08 AUGUST&lt;br /&gt;09 SEPTEMBER&lt;br /&gt;10 OCTOBER&lt;br /&gt;11 NOVEMBER&lt;br /&gt;12 DECEMBER&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;and I have another file (DD name ACTUAL) for which the month names have to be read from the above file.&lt;br /&gt;&lt;div style="background-color: black; color: lime; padding: 12px;"&gt;&lt;pre&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt;05&lt;br /&gt;12&lt;br /&gt;33&lt;br /&gt;03&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Output File should have the month numbers from the ACTUAL file and should have fetched the month name from LOOKUP1 file and put in the&amp;nbsp;output&amp;nbsp;file.&lt;br /&gt;Ie,&lt;br /&gt;&lt;b&gt;OUTFILE&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: black; color: lime; padding: 12px;"&gt;&lt;pre&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt;05 MAY&lt;br /&gt;12 DECEMBER&lt;br /&gt;33 INVALID MON&lt;br /&gt;03 MARCH&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;This Can be achieved by the following program which uses the LOOKUP1 file as a table.&lt;br /&gt;The field names ARG and DESC should not be changed (because those are keywords).&lt;br /&gt;And also the TABLE file &lt;b&gt;should not&lt;/b&gt; have high level group variable for the full record.&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON&lt;br /&gt; FILE LOOKUP1 TABLE&lt;br /&gt;      ARG              1    2    A&lt;br /&gt;      DESC             4   15    A&lt;br /&gt; FILE ACTUAL&lt;br /&gt;      ACTUAL-REC        1    80   A&lt;br /&gt;        MONTH-LIST      1     2   A&lt;br /&gt; FILE OUTFILE&lt;br /&gt;      OUT-REC          1   80  A&lt;br /&gt;      OUT-MONTH-NUM    1    2  A&lt;br /&gt;      OUT-MONTH-NAME   4   15  A&lt;br /&gt; JOB INPUT NULL&lt;br /&gt; GET ACTUAL&lt;br /&gt;     DO WHILE NOT EOF ACTUAL&lt;br /&gt;        MOVE MONTH-LIST TO OUT-MONTH-NUM&lt;br /&gt;        SEARCH LOOKUP1 WITH MONTH-LIST , GIVING OUT-MONTH-NAME&lt;br /&gt;        IF NOT LOOKUP1&lt;br /&gt;           MOVE 'INVALID MON' TO OUT-MONTH-NAME&lt;br /&gt;        END-IF&lt;br /&gt;        PUT OUTFILE&lt;br /&gt;        GET ACTUAL&lt;br /&gt;     END-DO&lt;br /&gt; STOP.&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-4042079387401513778?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/4042079387401513778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/4042079387401513778'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/11/using-files-as-lookup-tables-in.html' title='Using Files as Lookup tables in Easytrieve'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-4776279280236112074</id><published>2009-11-03T08:19:00.001-08:00</published><updated>2009-11-03T08:23:01.925-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DB2'/><title type='text'>Using MAXASSIGNEDVAL from SYSIBM.SYSSEQUENCES (IBM DB2 for Z OS)</title><content type='html'>SYSIBM.SYSSEQUENCES has a column called MAXASSIGNEDVAL, that gets assigned whenever the values for IDENTITY/SEQUENCE columns are getting generated (at least for the cache).&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;SELECT MAXASSIGNEDVAL &lt;br /&gt;FROM SYSIBM.SYSSEQUENCES&lt;br /&gt;WHERE SEQUENCEID = &lt;br /&gt;(SELECT BSEQUENCEID FROM SYSIBM.SYSSEQUENCESDEP&lt;br /&gt;WHERE DCREATOR = 'USER1'&lt;br /&gt;AND DNAME = 'EMP_TABLE'&lt;br /&gt;AND DCOLNAME = 'EMP_ID');&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-4776279280236112074?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/4776279280236112074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/4776279280236112074'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/11/using-maxassignedval-from.html' title='Using MAXASSIGNEDVAL from SYSIBM.SYSSEQUENCES (IBM DB2 for Z OS)'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-8595846322224876734</id><published>2009-11-03T08:18:00.000-08:00</published><updated>2009-11-03T08:28:15.814-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DB2'/><title type='text'>Creating (Declaring), Inserting data into DB2 temporary tables</title><content type='html'>&lt;b&gt;Declaring (Creating)&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;DECLARE GLOBAL TEMPORARY TABLE&lt;br /&gt;SESSION.EMP_TABLE&lt;br /&gt;(EMPID INTEGER NOT NULL,&lt;br /&gt;EMPNAME CHAR(20))&lt;br /&gt;[ON COMMIT DELETE ROWS  | ON COMMIT PRESERVE ROWS]&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Even if you do not give the qualifier SESSION, the table will be created as SESSION.EMP_TABLE.Temporary tables cannot be created with our own qualifier.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inserting&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;INSERT INTO SESSION.EMP_TABLE VALUES(1,'KARTHIK')&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Fetching&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;SELECT * FROM SESSION.EMP_TABLE&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-8595846322224876734?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/8595846322224876734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/8595846322224876734'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/11/creating-declaring-inserting-data-into.html' title='Creating (Declaring), Inserting data into DB2 temporary tables'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-221329161275210952</id><published>2009-11-03T08:15:00.000-08:00</published><updated>2009-11-03T08:16:35.821-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SORT'/><title type='text'>Sort Card examples (IBM Mainframes)</title><content type='html'>&lt;b&gt;Avoid duplicates in a particular field (say first 8 characters)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;SORT FIELDS=(1,8,CH,A)&lt;br /&gt;SUM FIELDS=NONE&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Sort first 8 characters, and omit few values&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;SORT FIELDS=(1,8,CH,A)&lt;br /&gt;OMIT COND=(1,8,CH,EQ,C'AAAAAAAA')&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Sort first 8 characters, and include only few values&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;SORT FIELDS=(1,8,CH,A)&lt;br /&gt;INCLUDE COND=(1,8,CH,EQ,C'AAAAAAAA',OR, 1,8,CH,EQ,C'BBBBBBBB')&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Sort card to select only 15 characters from 36th position of my input file.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;//SORTSTEP  EXEC PGM=SORT&lt;br /&gt;//SYSOUT   DD SYSOUT=*&lt;br /&gt;//SORTIN   DD DISP=SHR,&lt;br /&gt;//            DSN=MYDSN.NAME&lt;br /&gt;//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,2000)&lt;br /&gt;//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,2000)&lt;br /&gt;//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,2000)&lt;br /&gt;//SYSIN    DD *&lt;br /&gt; SORT FIELDS=COPY&lt;br /&gt; OUTFIL CONVERT,&lt;br /&gt; OUTREC=(1:36,15,65X)&lt;br /&gt;/*&lt;br /&gt;//SORTOUT  DD DISP=(NEW,CATLG,DELETE),&lt;br /&gt;//            SPACE=(CYL,(250,100),RLSE),&lt;br /&gt;//            UNIT=DISK,&lt;br /&gt;//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),&lt;br /&gt;//            DSN=MYDSN.OUTPUT.NAME&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;The 65X is given to fill the remaining 65 bytes of the output file with spaces.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-221329161275210952?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/221329161275210952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/221329161275210952'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/11/sort-card-examples-ibm-mainframes.html' title='Sort Card examples (IBM Mainframes)'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-1618772669726066186</id><published>2009-11-03T08:12:00.000-08:00</published><updated>2009-11-03T08:12:58.001-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DB2'/><category scheme='http://www.blogger.com/atom/ns#' term='IKJEFT01'/><title type='text'>Using IKJEFT01 for Binding a normal batch DB2 program</title><content type='html'>&lt;div style="background-color: #ffffff;"&gt;&lt;pre class=prettyprint&gt;&lt;br /&gt;//BINDSTEP EXEC PGM=IKJEFT01&lt;br /&gt;//DBRMLIB  DD  DSN=my.dbrm.library,DISP=SHR&lt;br /&gt;//STEPLIB  DD DISP=SHR,&lt;br /&gt;//            DSN='SSID.SDSNLOAD'&lt;br /&gt;//SYSTERM  DD SYSOUT=*&lt;br /&gt;//SYSPRINT DD SYSOUT=*&lt;br /&gt;//SYSTSPRT DD SYSOUT=*&lt;br /&gt;//SYSTSIN  DD *&lt;br /&gt;DSN SYSTEM(SSID) RETRY(2) TEST(0)&lt;br /&gt;  BIND PACKAGE   (PKGNAME)  -&lt;br /&gt;       MEMBER    (PGMNAME) -&lt;br /&gt;       OWNER     (USER1)  -&lt;br /&gt;       QUALIFIER (USER1)  -&lt;br /&gt;       ACTION    (REPLACE)  -&lt;br /&gt;       VALIDATE  (BIND)     -&lt;br /&gt;       ISOLATION (CS)       -&lt;br /&gt;       EXPLAIN   (YES)      -&lt;br /&gt;       RELEASE   (COMMIT)&lt;br /&gt;  END&lt;br /&gt;/*&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-1618772669726066186?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/1618772669726066186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/1618772669726066186'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/11/using-ikjeft01-for-binding-normal-batch.html' title='Using IKJEFT01 for Binding a normal batch DB2 program'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-2021389101956403698</id><published>2009-11-03T08:11:00.000-08:00</published><updated>2009-11-03T08:11:17.495-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DB2'/><category scheme='http://www.blogger.com/atom/ns#' term='IKJEFT01'/><title type='text'>Using IKJEFT01 for running a normal batch DB2 program</title><content type='html'>&lt;div style="background-color: #ffffff;"&gt;&lt;pre class=prettyprint&gt;&lt;br /&gt;//STEP001  EXEC PGM=IKJEFT01&lt;br /&gt;//*&lt;br /&gt;//STEPLIB  DD DISP=SHR,DSN=SSID.SDSNLOAD&lt;br /&gt;//*&lt;br /&gt;//DISPLAY  DD SYSOUT=*&lt;br /&gt;//SYSOUT   DD SYSOUT=*&lt;br /&gt;//SYSTSPRT DD SYSOUT=*&lt;br /&gt;//SYSPRINT DD SYSOUT=*&lt;br /&gt;//SYSABOUT DD SYSOUT=*&lt;br /&gt;//SYSDBOUT DD SYSOUT=*&lt;br /&gt;//SYSUDUMP DD SYSOUT=*&lt;br /&gt;//SYSTSIN  DD *&lt;br /&gt;    DSN SYSTEM(SSID)&lt;br /&gt;    RUN PROGRAM(PGMNAME) PLAN(PLANNAME) PARM('ANY PARM TO THE PGM') -&lt;br /&gt;    LIB('MYPGM.LOADLIB')&lt;br /&gt;    END&lt;br /&gt;/*&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-2021389101956403698?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/2021389101956403698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/2021389101956403698'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/11/using-ikjeft01-for-running-normal-batch.html' title='Using IKJEFT01 for running a normal batch DB2 program'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-7749621190875945110</id><published>2009-11-03T08:08:00.000-08:00</published><updated>2009-11-03T08:09:10.763-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DB2'/><category scheme='http://www.blogger.com/atom/ns#' term='DSNTIAUL'/><category scheme='http://www.blogger.com/atom/ns#' term='IKJEFT01'/><title type='text'>Running DSNTIAUL using IKJEFT01 for batch unload</title><content type='html'>DSNTIAUL (an assembler program used to process select statements dynamically) is used to unload the tables, or to get the results of an SQL select in the unload format.&lt;br /&gt;&lt;br /&gt;No details about the query will be displayed, just the resultset will be in the SYSPRINT.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;Unloading the whole table.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;//STEP0001 EXEC PGM=IKJEFT01&lt;br /&gt;//STEPLIB  DD DISP=SHR,&lt;br /&gt;//            DSN='SSID.SDSNLOAD'&lt;br /&gt;//SYSTSPRT DD SYSOUT=*&lt;br /&gt;//SYSPRINT DD DISP=(NEW,CATLG,DELETE),&lt;br /&gt;//            SPACE=(CYL,(250,100),RLSE),&lt;br /&gt;//            UNIT=DISK,&lt;br /&gt;//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),&lt;br /&gt;//            DSN=TEST.MYDSN&lt;br /&gt;//SYSUDUMP DD SYSOUT=*&lt;br /&gt;//SYSTERM  DD SYSOUT=*&lt;br /&gt;//SYSTSOUT DD SYSOUT=*&lt;br /&gt;//SYSTSIN  DD *&lt;br /&gt;  DSN SYSTEM(SSID)&lt;br /&gt;  RUN PROGRAM(DSNTIAUL) PLAN(DSNTIAUL) &lt;br /&gt;  LIB ('SSID.SDSNLOAD')&lt;br /&gt;/*&lt;br /&gt;//SYSIN    DD *&lt;br /&gt;SYSIBM.SYSDUMMY1 &lt;br /&gt;/*&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;Unloading a specific SQL select.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;//STEP0001 EXEC PGM=IKJEFT01&lt;br /&gt;//STEPLIB  DD DISP=SHR,&lt;br /&gt;//            DSN='SSID.SDSNLOAD'&lt;br /&gt;//SYSTSPRT DD SYSOUT=*&lt;br /&gt;//SYSPRINT DD DISP=(NEW,CATLG,DELETE),&lt;br /&gt;//            SPACE=(CYL,(250,100),RLSE),&lt;br /&gt;//            UNIT=DISK,&lt;br /&gt;//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),&lt;br /&gt;//            DSN=TEST.MYDSN&lt;br /&gt;//SYSUDUMP DD SYSOUT=*&lt;br /&gt;//SYSTERM  DD SYSOUT=*&lt;br /&gt;//SYSTSOUT DD SYSOUT=*&lt;br /&gt;//SYSTSIN  DD *&lt;br /&gt;  DSN SYSTEM(SSID)&lt;br /&gt;  RUN PROGRAM(DSNTIAUL) PLAN(DSNTIAUL) PARMS('SQL,1') –&lt;br /&gt;  LIB ('SSID.SDSNLOAD')&lt;br /&gt;/*&lt;br /&gt;//SYSIN    DD *&lt;br /&gt;SELECT * FROM SYSIBM.SYSDUMMY1 &lt;br /&gt;/*&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;The Parm 'SQL,1' says that I am giving an SQL statement and fetch only one record from the resultset into SYSPRINT.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-7749621190875945110?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/7749621190875945110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/7749621190875945110'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/11/dsntiaul-assembler-program-used-to.html' title='Running DSNTIAUL using IKJEFT01 for batch unload'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-3745307277047307415</id><published>2009-11-03T08:04:00.000-08:00</published><updated>2009-11-03T08:05:37.321-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DB2'/><category scheme='http://www.blogger.com/atom/ns#' term='IKJEFT01'/><title type='text'>Running DSNTEP2 / DSNTEP4 using IKJEFT01 for batch SQL(DB2) processing</title><content type='html'>&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Arial; font-size: 13px; white-space: pre;"&gt;&lt;b&gt;DSNTEP2 / DSNTEP4: &lt;/b&gt;&lt;/span&gt;These programs are used to execute the SQL queries in batch.&lt;br /&gt;The output (SYSPRINT) will have complete details of the query execution.DSNTEP2 is a PL/I program used to process SELECT and NON SELECT statements dynamically.&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;//STEP0001 EXEC PGM=IKJEFT01 ,DYNAMNBR=20&lt;br /&gt;//STEPLIB  DD DISP=SHR,&lt;br /&gt;//            DSN='SSID.SDSNLOAD'&lt;br /&gt;//SYSTSPRT DD SYSOUT=*&lt;br /&gt;//SYSPRINT DD DISP=(NEW,CATLG,DELETE),&lt;br /&gt;//            SPACE=(CYL,(250,100),RLSE),&lt;br /&gt;//            UNIT=DISK,&lt;br /&gt;//            DCB=(RECFM=FB,LRECL=133,BLKSIZE=0),&lt;br /&gt;//            DSN=TEST.MYDSN&lt;br /&gt;//SYSUDUMP DD SYSOUT=*&lt;br /&gt;//SYSTERM  DD SYSOUT=*&lt;br /&gt;//SYSTSOUT DD SYSOUT=*&lt;br /&gt;//SYSTSIN  DD *&lt;br /&gt;  DSN SYSTEM(SSID)&lt;br /&gt;  RUN PROGRAM(DSNTEP2) PLAN(DSNTEP2) PARM('ALIGN(LHS)')&lt;br /&gt;  LIB ('SSID.SDSNLOAD')&lt;br /&gt;/*&lt;br /&gt;//SYSIN    DD *&lt;br /&gt; SELECT * FROM SYSIBM.SYSDUMMY1 &lt;br /&gt;/*&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;The Parm for this program is optional.&lt;br /&gt;Valid values are,&lt;br /&gt;ALIGN(MID) – center alignment&lt;br /&gt;ALIGN(LHS) – left alignment&lt;br /&gt;MAXSEL(n) - to limit the number of rows returned from a                 SELECT statement to n (n = 0 -&amp;gt; 32768)NOMIXED - ??&lt;br /&gt;MIXED &amp;nbsp;- ??&lt;br /&gt;SQLTERM(termchar) – termchar is the character that you use to end each SQL| statement.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-3745307277047307415?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/3745307277047307415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/3745307277047307415'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/11/running-dsntep2-dsntep4-using-ikjeft01.html' title='Running DSNTEP2 / DSNTEP4 using IKJEFT01 for batch SQL(DB2) processing'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-7179140770115034089</id><published>2009-10-10T05:35:00.001-07:00</published><updated>2009-11-03T08:30:16.942-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Easytrieve'/><title type='text'>Keywords</title><content type='html'>Easytrieve&lt;br /&gt;IF ELSE DO FILE REPORT OR AND EQ NE GT GE NE LT LE LIST ON JOB INPUT NULL EOF GET PUT FROM RECORD-LENGTH END-IF END-DO WHILE NOT STOP A N P B KEY STATUS NODATE NOPAGE NOADJUST NOSPREAD NOHEADING LINE TITLE COL W PAGESIZE LINESIZE PRINT VB FB VS VALUE MASK PRINTER MOVE ADD TO DISPLAY READ WRITE OCCURS INDEX&lt;br /&gt;&lt;br /&gt;DB2&lt;br /&gt;&lt;br /&gt;SELECT FROM CREATE DELETE UPDATE TABLE DECLARE DEFAULT WHERE AND OR IN NOT ORDER GROUP BY CURSOR CURRENT TIME TIMESTAMP CURRENT_TIME CURRENT_TIMESTAMP GLOBAL TEMPORARY INTO FETCH INTEGER CHAR VARCHAR SMALLINT DECIMAL NUMERIC DATE CURRENT_DATE INSERT COMMIT FETCH VALUES ALTER ROWS&lt;br /&gt;&lt;br /&gt;JCL&lt;br /&gt;&lt;br /&gt;JOB EXEC DD PGM STEPLIB JOBLIB JCLLIB DSN DISP SYSOUT PROGRAM PARM PLAN LIB SYSTEM SHR NEW CATLG DELETE OLD&amp;nbsp;OMIT INCLUDE&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-7179140770115034089?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/7179140770115034089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/7179140770115034089'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/10/easytrieve-keywords.html' title='Keywords'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-162502882485320433</id><published>2009-10-08T09:40:00.001-07:00</published><updated>2009-11-06T20:29:52.987-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Easytrieve'/><title type='text'>Easytrieve - Synchronized Files</title><content type='html'>&lt;b&gt;File1&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: black; color: lime; padding: 12px;"&gt;&lt;pre&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt;A1&lt;br /&gt;B1&lt;br /&gt;D1&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;File2&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: black; color: lime;padding: 12px;"&gt;&lt;pre&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt;XXX A1 YYYY ZZZZ&lt;br /&gt;CCC A1 DDDDDDDDD &lt;br /&gt;DDD A2 UUUUUUUUU&lt;br /&gt;RRR B1 TTTTTTTTT&lt;br /&gt;XXX B1 YYYY ZZZZ&lt;br /&gt;CCC C1 DDDDDDDDD &lt;br /&gt;DDD C2 UUUUUUUUU&lt;br /&gt;RRR D1 TTTTTTTTT&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Output File Should have only the records from file2, with second column values which are present in File1.&lt;br /&gt;File1 has unique records&lt;br /&gt;File2 should be in sorted order (Second column)&lt;br /&gt;Ie,&lt;br /&gt;&lt;b&gt;OUTFILE&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: black; color: lime;padding: 12px;"&gt;&lt;pre&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt;XXX A1 YYYY ZZZZ&lt;br /&gt;CCC A1 DDDDDDDDD &lt;br /&gt;RRR B1 TTTTTTTTT&lt;br /&gt;XXX B1 YYYY ZZZZ&lt;br /&gt;RRR D1 TTTTTTTTT&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;This Can be achieved in two ways. The first way is,&lt;br /&gt;&lt;div style="background-color: white;;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON&lt;br /&gt; FILE FILE1 &lt;br /&gt;   F1-REC 1 50 A&lt;br /&gt;   F1-KEY 1 2 A&lt;br /&gt; FILE FILE2&lt;br /&gt;   F1-REC 1 50 A&lt;br /&gt;   F1-KEY 7 2 A&lt;br /&gt; FILE OUTFILE&lt;br /&gt;     OUT-REC 1 50 A&lt;br /&gt; JOB INPUT NULL&lt;br /&gt; GET FILE1&lt;br /&gt; GET FILE2&lt;br /&gt; DO WHILE NOT EOF FILE1 AND NOT EOF FILE2&lt;br /&gt;   DO WHILE F2-KEY LE F1-KEY&lt;br /&gt;      IF F1-KEY EQ F2-KEY&lt;br /&gt;         PUT OUTFILE FROM FILE2&lt;br /&gt;      END-IF&lt;br /&gt;      GET FILE2&lt;br /&gt;      IF EOF FILE2&lt;br /&gt;         STOP&lt;br /&gt;      END-IF&lt;br /&gt;   END-DO&lt;br /&gt;   GET FILE1&lt;br /&gt; END-DO&lt;br /&gt; STOP.&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;and the second way is,&lt;br /&gt;&lt;b&gt;Using JOB INPUT (FILENAME KEY(KEYNAME) FILENAME KEY(KEYNAME))&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON&lt;br /&gt; FILE FILE1 &lt;br /&gt;          F1-REC           1    50   A&lt;br /&gt;          F1-KEY           1     2   A&lt;br /&gt; FILE FILE2&lt;br /&gt;          F2-REC           1    50   A&lt;br /&gt;          F2-KEY           7     2   A&lt;br /&gt; FILE OUTFILE&lt;br /&gt; OUT-REC     1  50 A&lt;br /&gt; JOB INPUT (FILE1 KEY(F1-KEY)  FILE2 KEY(F2-KEY))&lt;br /&gt; IF MATCHED&lt;br /&gt;     PUT OUTFILE FROM FILE2&lt;br /&gt; END-IF&lt;br /&gt; GO TO JOB&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Matching the files in another way&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON&lt;br /&gt; FILE FILE1 &lt;br /&gt;          F1-REC           1    50   A&lt;br /&gt;          F1-KEY           1     2   A&lt;br /&gt; FILE FILE2&lt;br /&gt;          F2-REC           1    50   A&lt;br /&gt;          F2-KEY           7     2   A&lt;br /&gt; FILE OUTFILE&lt;br /&gt; OUT-REC     1  50 A&lt;br /&gt; JOB INPUT (FILE1 KEY(F1-KEY)  FILE2 KEY(F2-KEY))&lt;br /&gt; IF FILE1&lt;br /&gt;   IF FILE2&lt;br /&gt;     PUT OUTFILE FROM FILE2&lt;br /&gt;  END-IF&lt;br /&gt; END-IF&lt;br /&gt; GO TO JOB&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Matching Multiple keys (FILENAME KEY(KEY1,KEY2) FILENAME KEY(KEY1,KEY2))&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON&lt;br /&gt; FILE FILE1 &lt;br /&gt;          F1-REC           1    50   A&lt;br /&gt;          F1-KEY1          1     2   A&lt;br /&gt;          F1-KEY2          3     2   A&lt;br /&gt; FILE FILE2&lt;br /&gt;          F2-REC           1    50   A&lt;br /&gt;          F2-KEY1           7     2   A&lt;br /&gt;          F2-KEY2           9     2   A&lt;br /&gt; FILE OUTFILE&lt;br /&gt; OUT-REC     1  50 A&lt;br /&gt; JOB INPUT (FILE1 KEY(F1-KEY1F1-KEY2)  +&lt;br /&gt; FILE2 KEY(F2-KEY1,F2-KEY2))&lt;br /&gt; IF FILE1&lt;br /&gt;   IF FILE2&lt;br /&gt;     PUT OUTFILE FROM FILE2&lt;br /&gt;  END-IF&lt;br /&gt; END-IF&lt;br /&gt; GO TO JOB&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-162502882485320433?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/162502882485320433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/162502882485320433'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/10/synchronized-files.html' title='Easytrieve - Synchronized Files'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-3502753174786141858</id><published>2009-10-08T09:28:00.001-07:00</published><updated>2009-11-07T02:47:48.217-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Easytrieve'/><title type='text'>Easytrieve - Report creation sample</title><content type='html'>&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON&lt;br /&gt; FILE OUTFILE1 PRINTER&lt;br /&gt;*&lt;br /&gt; WS-VAL1 W 2 A VALUE 'V1'&lt;br /&gt; WS-VAL2 W 2 A VALUE 'V2'&lt;br /&gt; WS-VAL3 W 2 A VALUE 'V3'&lt;br /&gt;*&lt;br /&gt; JOB INPUT NULL&lt;br /&gt; PRINT SAMPLE1&lt;br /&gt; STOP&lt;br /&gt; REPORT SAMPLE1 PRINTER OUTFILE1 PAGESIZE 55 LINESIZE 80 -&lt;br /&gt; NODATE NOPAGE NOADJUST NOSPREAD NOHEADING&lt;br /&gt; TITLE 01 COL 01 'HEADING ' -&lt;br /&gt;          COL 30 'VALUES '&lt;br /&gt; LINE 01 COL 10 'VAL 1 IS ' -&lt;br /&gt;         COL 30 WS-VAL1&lt;br /&gt; LINE 02 COL 10 'VAL 2 IS ' -&lt;br /&gt;         COL 30 WS-VAL2&lt;br /&gt; LINE 03 COL 10 'VAL 2 IS ' -&lt;br /&gt;         COL 30 WS-VAL3&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-3502753174786141858?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/3502753174786141858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/3502753174786141858'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/10/easytrieve-report-creation-sample.html' title='Easytrieve - Report creation sample'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-6751963497187638308</id><published>2009-10-08T09:24:00.001-07:00</published><updated>2009-11-22T07:09:48.846-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Easytrieve'/><title type='text'>Easytrieve – File Handling</title><content type='html'>&lt;strong&gt;File declaration examples&lt;/strong&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt; FILE FILE1&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Fixed block files&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt; FILE FILE1 FB(80 200)&lt;br /&gt;* 80 is LRECL and 200 is blocksize&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Variable block Files&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt; FILE FILE1 VB(80 200)&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;VSAM files&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt; FILE FILE1 VS&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;File record definition&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt; FILE FILE1 FB(80 200)&lt;br /&gt;   IN-REC 1 80 A&lt;br /&gt;   IN-FIELD1 IN-REC 40 A&lt;br /&gt;   IN-FIELD2 IN-REC +40 20 A&lt;br /&gt;   IN-FIELD3 IN-REC +60 20 A&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;(OR)&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt; FILE FILE1 FB(80 200)&lt;br /&gt;   IN-REC 1 80 A&lt;br /&gt;   IN-FIELD1 1 40 A&lt;br /&gt;   IN-FIELD2 41 20 A&lt;br /&gt;   IN-FIELD3 61 20 A&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;If field1 and Field2 are not used, then just Field3 can be defined&lt;/b&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt; FILE FILE1 FB(80 200)&lt;br /&gt;   IN-REC 1 80 A&lt;br /&gt;   IN-FIELD3 61 20 A&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Reading File record by record and copy it to another file&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;EOF &amp;lt;FILE DD NAME&amp;gt; &lt;/b&gt;checks the End of File, and returns true when there are no more records to fetch.&lt;br /&gt;&lt;b&gt;GET&amp;nbsp;&amp;lt;FILE DD NAME&amp;gt; &lt;/b&gt;statement is used to read one record from the file&lt;br /&gt;&lt;b&gt;PUT&amp;nbsp;&amp;lt;FILE DD NAME&amp;gt;&amp;nbsp;&lt;/b&gt;statement is used to write one record to the file&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON&lt;br /&gt; FILE INFILE&lt;br /&gt; FILE OUTFILE&lt;br /&gt; JOB INPUT NULL&lt;br /&gt; GET INFILE&lt;br /&gt; DO WHILE NOT EOF INFILE&lt;br /&gt;   PUT OUTFILE FROM INFILE&lt;br /&gt;   GET INFILE&lt;br /&gt; END-DO&lt;br /&gt; STOP &lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="color: blue; font-family: Arial;"&gt;&lt;strong&gt;(Or)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON&lt;br /&gt; FILE INFILE FB(80 200)&lt;br /&gt;   IN-REC 1 80 A&lt;br /&gt; FILE OUTFILE FB(80 200)&lt;br /&gt;   OUT-REC 1 80 A&lt;br /&gt;*&lt;br /&gt; WS-COUNT W 4 N VALUE 0&lt;br /&gt;*&lt;br /&gt; JOB INPUT NULL&lt;br /&gt; GET INFILE&lt;br /&gt; DO WHILE NOT EOF INFILE&lt;br /&gt;   MOVE IN-REC TO OUT-REC&lt;br /&gt;   PUT OUTFILE&lt;br /&gt;   WS-COUNT = WS-COUNT + 1&lt;br /&gt;   GET INFILE&lt;br /&gt; END-DO&lt;br /&gt; DISPLAY WS-COUNT ' RECORDS WRITTEN'&lt;br /&gt; STOP &lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;strong&gt;Writing to Variable block files&lt;/strong&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON &lt;br /&gt; FILE INFILE VB(80 200)&lt;br /&gt;   IN-REC 1 80 A&lt;br /&gt; FILE OUTFILE VB(80 200)&lt;br /&gt;   OUT-REC 1 80 A  &lt;br /&gt; JOB INPUT NULL &lt;br /&gt; GET INFILE &lt;br /&gt; DO WHILE NOT EOF INFILE&lt;br /&gt;   MOVE IN-REC TO OUT-REC&lt;br /&gt;   OUTFILE : RECORD-LENGTH = INFILE : RECORD-LENGTH&lt;br /&gt;   PUT OUTFILE&lt;br /&gt;   GET INFILE &lt;br /&gt; END-DO &lt;br /&gt; STOP  &lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;strong&gt;Reading VSAM file by Key&lt;/strong&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON&lt;br /&gt; FILE FILE1 FB(80 200)&lt;br /&gt;   IN-REC 1 80 A&lt;br /&gt;   IN-KEY 1 8 A  &lt;br /&gt; FILE FILE2 VS&lt;br /&gt;   F2-REC 1 80 A&lt;br /&gt;   F2-KEY 1 8 A&lt;br /&gt;   F2-VALUE 15 30 A  &lt;br /&gt; FILE OUTFILE FB(80 200)&lt;br /&gt;   OUT-REC 1 80 A&lt;br /&gt;   OUT-KEY 1 8 A&lt;br /&gt;   OUT-VALUE 10 30 A  &lt;br /&gt; JOB INPUT NULL &lt;br /&gt; GET FILE1 &lt;br /&gt; DO WHILE NOT EOF INFILE&lt;br /&gt;   READ FILE2 KEY IN-KEY STATUS&lt;br /&gt;   IF FILE2 : STATUS EQ 0      &lt;br /&gt;      MOVE IN-KEY TO OUT-KEY     &lt;br /&gt;      MOVE F2-VALUE TO OUT-VALUE     &lt;br /&gt;      PUT OUTFILE  &lt;br /&gt;   ELSE     &lt;br /&gt;      DISPLAY IN-KEY ' NOT PRESENT IN VSAM FILE'   &lt;br /&gt;   END-IF &lt;br /&gt;   GET INFILE&lt;br /&gt; END-DO &lt;br /&gt; STOP  &lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-6751963497187638308?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/6751963497187638308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/6751963497187638308'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/10/easytrieve-file-handling.html' title='Easytrieve – File Handling'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-1494403554879404112</id><published>2009-10-07T11:07:00.001-07:00</published><updated>2009-11-07T02:51:23.511-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Easytrieve'/><title type='text'>Easytrieve – Variable declaration</title><content type='html'>&lt;strong&gt;Datatypes&lt;/strong&gt;     &lt;br /&gt;&lt;table border="1" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;         &lt;td valign="top" width="155"&gt;&lt;span style="color: #800040;"&gt;Alphanumeric&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;          &lt;td valign="top" width="120"&gt;&lt;span style="color: #800040;"&gt;A&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;          &lt;td valign="top" width="294"&gt;&lt;span style="color: #800040;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;       &lt;/tr&gt;&lt;tr&gt;         &lt;td valign="top" width="155"&gt;&lt;span style="color: #800040;"&gt;Numeric&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;          &lt;td valign="top" width="120"&gt;&lt;span style="color: #800040;"&gt;N&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;          &lt;td valign="top" width="294"&gt;&lt;span style="color: #800040;"&gt;Maximum length 18&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;       &lt;/tr&gt;&lt;tr&gt;         &lt;td valign="top" width="155"&gt;&lt;span style="color: #800040;"&gt;Binary (Comp)&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;          &lt;td valign="top" width="120"&gt;&lt;span style="color: #800040;"&gt;B&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;          &lt;td valign="top" width="294"&gt;&lt;span style="color: #800040;"&gt;Maximum length 9. i e upto 18 digits&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;       &lt;/tr&gt;&lt;tr&gt;         &lt;td valign="top" width="155"&gt;&lt;span style="color: #800040;"&gt;Packed (COMP-3)&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;          &lt;td valign="top" width="120"&gt;&lt;span style="color: #800040;"&gt;Define as P 0&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;          &lt;td valign="top" width="294"&gt;&lt;span style="color: #800040;"&gt;Maximum length 9. i e upto 18 digits&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;       &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;strong&gt;Declaring a working storage variable&lt;/strong&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; WS-VAR1 W 8 A &lt;br /&gt; WS-VAR2 W 8 A VALUE 'KARTHIK ' &lt;br /&gt; WS-VAR2 W 9 N VALUE ZEROES &lt;br /&gt; WS-VAR3 W 7 N 2 &lt;br /&gt; WS-VAR4 W 9 P 0 &lt;br /&gt; WS-VAR5 W 9 P 2&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;Declaring Group variables&lt;/strong&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; WS-GROUP W 15 A &lt;br /&gt; WS-GR1 WS-GROUP 5 A &lt;br /&gt; WS-GR2 WS-GROUP +5 10 A &lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using indexed variables&lt;/strong&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt; &lt;br /&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON &lt;br /&gt; FILE INFILE &lt;br /&gt; WS-ALPHA W 26 A VALUE 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' &lt;br /&gt; WS-ALP-ARR WS-ALPHA 1 A OCCURS 26 INDEX ALPHA-NDX &lt;br /&gt;* &lt;br /&gt; JOB INPUT NULL &lt;br /&gt;* PRINT 16TH ALPHABET &lt;br /&gt; ALPHA-NDX = 15 &lt;br /&gt; DISPLAY '16TH ALPHABET IS ' WS-ALP-ARR &lt;br /&gt; STOP. &lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using arrays/tables&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: white;"&gt;&lt;pre class="prettyprint"&gt;----+----1----+----2----+----3----+----4----+----5----+----6----+----7--&lt;br /&gt; LIST ON &lt;br /&gt; FILE INFILE &lt;br /&gt; WS-DAYS-OF-WEEK W 10 A OCCURS 7 &lt;br /&gt;* &lt;br /&gt; JOB INPUT NULL &lt;br /&gt; MOVE 'SUNDAY' TO WS-DAYS-OF-WEEK(1) &lt;br /&gt; MOVE 'MONDAY' TO WS-DAYS-OF-WEEK(2) &lt;br /&gt; MOVE 'TUESDAY' TO WS-DAYS-OF-WEEK(3) &lt;br /&gt; MOVE 'WEDNESDAY' TO WS-DAYS-OF-WEEK(4) &lt;br /&gt; MOVE 'THURSDAY' TO WS-DAYS-OF-WEEK(5) &lt;br /&gt; MOVE 'FRIDAY' TO WS-DAYS-OF-WEEK(6) &lt;br /&gt; MOVE 'SATURDAY' TO WS-DAYS-OF-WEEK(7) &lt;br /&gt; DISPLAY '4 TH DAY IS ' WS-DAYS-OF-WEEK(4) &lt;br /&gt; STOP &lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-1494403554879404112?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/1494403554879404112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/1494403554879404112'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2009/10/easytrieve-variable-declaration.html' title='Easytrieve – Variable declaration'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-3345987057749447017</id><published>2008-01-09T01:47:00.000-08:00</published><updated>2008-01-09T01:56:21.651-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Code Prettify</title><content type='html'>Google Code prettify can be used to highlight a piece of code that may be of the language C,Java,Html,Javascript,xml,CSS, etc in your webpage.&lt;br /&gt;i.e If you want to publish your piece of code through Internet (as I do), this tool is going to be very much useful.&lt;br /&gt;You can download it freely from &lt;a href="http://code.google.com/p/google-code-prettify/"&gt;here&lt;/a&gt;. &lt;a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html"&gt;How to use it&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-3345987057749447017?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/3345987057749447017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/3345987057749447017'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2008/01/google-code-prettify.html' title='Google Code Prettify'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-7425070300604105925</id><published>2008-01-09T01:21:00.000-08:00</published><updated>2008-01-09T02:03:07.047-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Swing'/><title type='text'>Input fields in Java Swing</title><content type='html'>Including a JButton:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BACKGROUND-COLOR: #eeeeee"&gt;&lt;div style="MARGIN-LEFT: 10px"&gt;&lt;code class="prettyprint"&gt;// Name of this file should be simplejbutton.java&lt;br /&gt;import java.awt.*;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;import javax.swing.*;&lt;br /&gt;&lt;br /&gt;public class simplejbutton extends JApplet&lt;br /&gt;{&lt;br /&gt;JButton B = new JButton("Click");&lt;br /&gt;&lt;br /&gt;public void init()&lt;br /&gt;{&lt;br /&gt;Container cp = getContentPane();&lt;br /&gt;cp.setLayout(null);&lt;br /&gt;&lt;br /&gt;cp.add(B);&lt;br /&gt;B.setBounds(10,10,100,20);&lt;br /&gt;B.setActionCommand("B");&lt;br /&gt;B.addActionListener(mylistener);&lt;br /&gt;}&lt;br /&gt;// ActionListener for Button&lt;br /&gt;private ActionListener mylistener = new ActionListener()&lt;br /&gt;{&lt;br /&gt;public void actionPerformed(ActionEvent e)&lt;br /&gt;{&lt;br /&gt;if (e.getActionCommand() == "B")&lt;br /&gt;B.setText("Clicked");&lt;br /&gt;}&lt;br /&gt;};// End of ActionListener&lt;br /&gt;} // End of the Class&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Including a JLabel:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BACKGROUND-COLOR: #eeeeee"&gt;&lt;div style="MARGIN-LEFT: 10px"&gt;&lt;code class="prettyprint"&gt;// This file should have name simplejlabel.java&lt;br /&gt;import java.awt.*;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;import javax.swing.*;&lt;br /&gt;&lt;br /&gt;public class simplejlabel extends JApplet&lt;br /&gt;{&lt;br /&gt;JLabel L = new JLabel("Label");&lt;br /&gt;JButton B = new JButton("Click");&lt;br /&gt;&lt;br /&gt;public void init()&lt;br /&gt;{&lt;br /&gt;Container cp = getContentPane();&lt;br /&gt;cp.setLayout(null);&lt;br /&gt;&lt;br /&gt;cp.add(L);&lt;br /&gt;L.setBounds(10,10,100,20);&lt;br /&gt;&lt;br /&gt;cp.add(B);&lt;br /&gt;B.setBounds(120,10,100,20);&lt;br /&gt;B.setActionCommand("B");&lt;br /&gt;B.addActionListener(mylistener);&lt;br /&gt;}&lt;br /&gt;// ActionListener for Button&lt;br /&gt;private ActionListener mylistener = new ActionListener()&lt;br /&gt;{&lt;br /&gt;public void actionPerformed(ActionEvent e)&lt;br /&gt;{&lt;br /&gt;if (e.getActionCommand() == "B")&lt;br /&gt;L.setText("Clicked");&lt;br /&gt;}&lt;br /&gt;};// End of ActionListener&lt;br /&gt;} // End of the Class&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Including a JTextField&lt;br /&gt;&lt;br /&gt;&lt;div style="BACKGROUND-COLOR: #eeeeee"&gt;&lt;div style="MARGIN-LEFT: 10px"&gt;&lt;code class="prettyprint"&gt;// This file should have name simplejtext.java&lt;br /&gt;// Type something in Text Box and press Enter&lt;br /&gt;import java.awt.*;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;import javax.swing.*;&lt;br /&gt;&lt;br /&gt;public class simplejtext extends JApplet&lt;br /&gt;{&lt;br /&gt;JTextField T = new JTextField("");&lt;br /&gt;JLabel L = new JLabel("Label");&lt;br /&gt;&lt;br /&gt;public void init()&lt;br /&gt;{&lt;br /&gt;Container cp = getContentPane();&lt;br /&gt;cp.setLayout(null);&lt;br /&gt;&lt;br /&gt;cp.add(T);&lt;br /&gt;T.setBounds(10,10,100,20);&lt;br /&gt;T.setActionCommand("T");&lt;br /&gt;T.addActionListener(mylistener);&lt;br /&gt;&lt;br /&gt;cp.add(L);&lt;br /&gt;L.setBounds(120,10,100,20);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;// ActionListener for Button&lt;br /&gt;private ActionListener mylistener = new ActionListener()&lt;br /&gt;{&lt;br /&gt;public void actionPerformed(ActionEvent e)&lt;br /&gt;{&lt;br /&gt;if(e.getActionCommand()=="T")&lt;br /&gt;L.setText(T.getText());&lt;br /&gt;}&lt;br /&gt;};// End of ActionListener&lt;br /&gt;} // End of the Class&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Including a JCheckBox:&lt;br /&gt;&lt;br /&gt;&lt;div style="BACKGROUND-COLOR: #eeeeee"&gt;&lt;div style="MARGIN-LEFT: 10px"&gt;&lt;code class="prettyprint"&gt;// This file should have name simplejcheckbox.java&lt;br /&gt;import java.awt.*;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;import javax.swing.*;&lt;br /&gt;&lt;br /&gt;public class simplejcheckbox extends JApplet {&lt;br /&gt;&lt;br /&gt;JCheckBox C = new JCheckBox("Click");&lt;br /&gt;JLabel L = new JLabel("Label");&lt;br /&gt;&lt;br /&gt;public void init()&lt;br /&gt;{&lt;br /&gt;Container cp = getContentPane();&lt;br /&gt;cp.setLayout(null);&lt;br /&gt;&lt;br /&gt;cp.add(C);&lt;br /&gt;C.setBounds(10,10,100,20);&lt;br /&gt;C.setActionCommand("C");&lt;br /&gt;C.addActionListener(mylistener);&lt;br /&gt;&lt;br /&gt;cp.add(L);&lt;br /&gt;L.setBounds(120,10,100,20);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;// ActionListener for Button&lt;br /&gt;private ActionListener mylistener = new ActionListener()&lt;br /&gt;{&lt;br /&gt;public void actionPerformed(ActionEvent e)&lt;br /&gt;{&lt;br /&gt;if (e.getActionCommand()=="C")&lt;br /&gt;{&lt;br /&gt;if (C.isSelected() == true)&lt;br /&gt;L.setText("True");&lt;br /&gt;else&lt;br /&gt;L.setText("False");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;};// End of ActionListener&lt;br /&gt;} // End of the Class&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;The above code is highlighted using &lt;a href="http://usethiscode.blogspot.com/2008/01/google-code-prettify.html"&gt;Google Code Prettify&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-7425070300604105925?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/7425070300604105925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/7425070300604105925'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2008/01/input-fields-in-java-swing.html' title='Input fields in Java Swing'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author></entry><entry><id>tag:blogger.com,1999:blog-8757951651853176267.post-3967117174159790372</id><published>2008-01-04T18:58:00.000-08:00</published><updated>2008-12-09T08:15:14.545-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VBA'/><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><title type='text'>Files in a Folder (VBA)</title><content type='html'>&lt;p align="left"&gt;This Excel sheet can be used to get a list of files in a folder into a column of the Excel sheet.&lt;br /&gt;&lt;br /&gt;Preview:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_LtS_9N3cOOg/R370A_TXojI/AAAAAAAAASs/saQWZAddPl0/s1600-h/filesinfolder.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5151823321588277810" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_LtS_9N3cOOg/R370A_TXojI/AAAAAAAAASs/saQWZAddPl0/s400/filesinfolder.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You just need to give the path of the folder in the text box and press enter. This works as simple as a browser.&lt;br /&gt;&lt;br /&gt;Download:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://manikarthik84.1.googlepages.com/filesinfolder.xls"&gt;&lt;img id="BLOGGER_PHOTO_ID_5151824665913041490" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_LtS_9N3cOOg/R371PPTXolI/AAAAAAAAAS8/nEmG4aOxuZ4/s400/images.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Code for getting the file and folder names into excel cells is below:&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:courier;"&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;Dim&lt;/span&gt; fs, f, f1, ffiles, ffolds&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;Set&lt;/span&gt; fs = &lt;span style="color:#00cccc;"&gt;CreateObject&lt;/span&gt;("&lt;span style="color:#cc33cc;"&gt;Scripting.FileSystemObject&lt;/span&gt;") &lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:courier;"&gt;&lt;span style="color:#33cc00;"&gt;If&lt;/span&gt; fs.&lt;span style="color:#00cccc;"&gt;folderexists&lt;/span&gt;(TextBox1.Text) &lt;span style="color:#33cc00;"&gt;Then&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;Else&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:courier;"&gt;a = &lt;span style="color:#33cc00;"&gt;MsgBox&lt;/span&gt;("&lt;span style="color:#cc33cc;"&gt;Folder Does not Exist&lt;/span&gt;", , "&lt;span style="color:#cc33cc;"&gt;Give Valid Path&lt;/span&gt;")&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;GoTo&lt;/span&gt; ending &lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:courier;"&gt;&lt;span style="color:#33cc00;"&gt;End If&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:courier;"&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;Set&lt;/span&gt; f = fs.&lt;span style="color:#00cccc;"&gt;GetFolder&lt;/span&gt;(TextBox1.Text)&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;Set&lt;/span&gt; ffiles = f.&lt;span style="color:#ff6600;"&gt;Files&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;Set&lt;/span&gt; ffolds = f.&lt;span style="color:#ff6600;"&gt;subfolders&lt;/span&gt; &lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;span style="color:#cc33cc;"&gt;&lt;span style="color:#ffcc33;"&gt;‘ Adding files to the column&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#33cc00;"&gt;For Each&lt;/span&gt; f1 &lt;span style="color:#33cc00;"&gt;In&lt;/span&gt; ffiles &lt;/p&gt;&lt;p align="left"&gt;&lt;span style="color:#00cccc;"&gt;Sheet1.Cells&lt;/span&gt;(i, 4).&lt;span style="color:#ff6600;"&gt;Value&lt;/span&gt; = f1.&lt;span style="color:#ff6600;"&gt;Name&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#00cccc;"&gt;Sheet1.Cells&lt;/span&gt;(i, 5).&lt;span style="color:#ff6600;"&gt;Value&lt;/span&gt; = "&lt;span style="color:#cc33cc;"&gt;Go&lt;/span&gt;" &lt;/p&gt;&lt;p align="left"&gt;&lt;span style="color:#33cc00;"&gt;With&lt;/span&gt; Sheet1 &lt;/p&gt;&lt;p align="left"&gt;.&lt;span style="color:#00cccc;"&gt;Hyperlinks.Add .Range&lt;/span&gt;(&lt;span style="color:#00cccc;"&gt;Sheet1.Cells&lt;/span&gt;(i, 5).&lt;span style="color:#00cccc;"&gt;Address&lt;/span&gt;()), TextBox1.Text + "\" + f1.&lt;span style="color:#ff6600;"&gt;Name&lt;/span&gt; &lt;/p&gt;&lt;p align="left"&gt;&lt;span style="color:#33cc00;"&gt;End With&lt;/span&gt;&lt;br /&gt;i = i + 1 &lt;/p&gt;&lt;p align="left"&gt;&lt;span style="color:#33cc00;"&gt;Next&lt;/span&gt;&lt;br /&gt;j = 6 &lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;span style="color:#ffcc33;"&gt;‘ Adding folders to the column &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;For&lt;/span&gt; &lt;span style="color:#33cc00;"&gt;Each&lt;/span&gt; f1 &lt;span style="color:#33cc00;"&gt;In&lt;/span&gt; ffolds &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier;"&gt;&lt;span style="color:#00cccc;"&gt;Sheet1.Cells&lt;/span&gt;(j, 7).&lt;span style="color:#ff6600;"&gt;Value&lt;/span&gt; = f1.&lt;span style="color:#ff6600;"&gt;Name&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#00cccc;"&gt;Sheet1.Cells&lt;/span&gt;(j, 8).&lt;span style="color:#ff6600;"&gt;Value&lt;/span&gt; = "&lt;span style="color:#cc33cc;"&gt;Go&lt;/span&gt;"&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;With&lt;/span&gt; Sheet1 &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier;"&gt;&lt;span style="color:#00cccc;"&gt;.Hyperlinks.Add .Range&lt;/span&gt;(&lt;span style="color:#00cccc;"&gt;Sheet1.Cells&lt;/span&gt;(j, 8).&lt;span style="color:#00cccc;"&gt;Address&lt;/span&gt;()), TextBox1.Text + "\" + f1.&lt;span style="color:#ff6600;"&gt;Name&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;End With&lt;/span&gt;&lt;br /&gt;j = j + 1 &lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:courier;"&gt;&lt;p align="left"&gt;&lt;span style="color:#33cc00;"&gt;Next &lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;/span&gt;&lt;span style="font-size:0;"&gt;&lt;span style="font-size:180%;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Creating a File System object: &lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#33cc00;"&gt;Dim &lt;/span&gt;fs&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#33cc00;"&gt;Set&lt;/span&gt; fs = &lt;span style="color:#00cccc;"&gt;CreateObject&lt;/span&gt;("&lt;span style="color:#cc33cc;"&gt;Scripting.FileSystemObject&lt;/span&gt;")&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:180%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:180%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:180%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:0;"&gt;&lt;p&gt;&lt;hr /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Operations with the file system object: &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Opening an existing file: &lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#33cc00;"&gt;Dim &lt;/span&gt;a, ForAppending=8&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;a = fs.&lt;span style="color:#00cccc;"&gt;OpenTextFile&lt;/span&gt;("&lt;span style="color:#cc33cc;"&gt;c:\\testfile.txt&lt;/span&gt;", &lt;span style="color:#00cccc;"&gt;ForAppending&lt;/span&gt;, &lt;span style="color:#00cccc;"&gt;false&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This will open the file c:\\testfile.txt (Which is already existing) into the object "a" for Appending. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The second parameter to OpenTextFile method can be 1(ForReading), 2(ForWriting) or 8(ForAppending)&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8757951651853176267-3967117174159790372?l=www.ezytrieve.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/3967117174159790372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8757951651853176267/posts/default/3967117174159790372'/><link rel='alternate' type='text/html' href='http://www.ezytrieve.com/2008/01/files-in-folder.html' title='Files in a Folder (VBA)'/><author><name>Karthik</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11844581001014045910'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LtS_9N3cOOg/R370A_TXojI/AAAAAAAAASs/saQWZAddPl0/s72-c/filesinfolder.JPG' height='72' width='72'/></entry></feed>