Friday, December 16, 2011

Mediclaim policies with MoneyBack or Return of Premium

--------------------------------------------------------------------------------
Plan Name: Triple Health Insurance
Insurer: Bharti AXA Life Insurance
Category: Health Insurance
Objective: Health Cover for critical illnesses

Bharti AXA Life Triple Health Insurance plan is one of a kind health plan which pays claim not only as a onetime payment but also second and third time. That is, if one critical illness is diagnosed and another, claims will paid two times.

Triple Health Insurance covers a total of 13 illnesses which are split into three groups- A, B and C.
The insured can make one claim for critical illness of each group. For illnesses falling in the same group, just one claim will be paid. For instance, if insured suffers from stroke and paralysis, 100% of Sum Assured will be paid. But if the insured suffers from stroke then needs liver transplant then 200% of Sum Assured will be paid.
Benefits of Bharti AXA Triple Health Insurance
--------------------------------------------------------------------------------
Critical Illness:
On diagnosis of first critical illness: 100% of Sum Assured is paid. All the future premiums are waived off.
On diagnosis of second critical illness: 100% of Sum Assured is paid.
On diagnosis of third critical illness: 100% of Sum Assured is paid and policy terminates.

Maturity Benefit:
If opted for “return of premium “and no claim have been made, on maturity fifteen times the first year premium.

Death Benefit:
If opted for “return of premium” and no claim have been made, death benefit would be equal to first year premium x completed policy years is paid to the nominee.

Tax benefits:
You can avail tax benefits under Section 80D to maximum amount of Rs 15,000. For senior citizens, the maximum amount is Rs 20,000. You are also eligible for tax deduction under Section 80C.

Who can buy Bharti AXA Life Triple Health Insurance?
--------------------------------------------------------------------------------
Triple Health Insurance can be bought by anyone aged from 18 years to 50 years. The maximum age at maturity should not exceed 65 years. There is fixed policy term of 15 years. People with pre-existing illnesses cannot opt for this plan.

What is not covered in Bharti AXA Life Triple Health Insurance?
--------------------------------------------------------------------------------
- Pre existing conditions or any complication arising from it
- Any critical illness diagnosed within 90 days from inception of policy
- Cool off period of 365 days after payment of one claim
- 30 days survival period
- War or related activities
- Self inflicted injuries
- Abuse of intoxicant things like alcohol or drugs
- HIV, genetic disorders and related diseases
- Mental Disorders
There are few more exclusion’s which can be verified from the policy document

How much premium for Bharti AXA Life Triple Health Insurance?
--------------------------------------------------------------------------------
For person aged 30 years opting for Sum Assured of INR 500,000 with return of premium option, his premium would amount to INR 5,945.

--------------------------------------------------------------------------------
Plan Name: Money Back Health Insurance
Insurer: IndiaFirst Life Insurance
Category: Unit Linked Health Plan
Objective: Health insurance and return on investment

IndiaFirst Money Back Health Insurance Plan is a health cum investment plan which provides you with a health cover as well as returns on investment. A portion of premium is directed towards health cover while the rest is used for investing in unit linked market plan. So you get both health cover and investment option in one plan.

IndiaFirst Money Back Health Insurance Benefits
--------------------------------------------------------------------------------
Health Cover: Medical expenses are covered if the insurer is hospitalized for more than 24 hours. The maximum cover during the policy term is limited to five times the annual Sum Assured.

Day Care Procedures: There are a number of treatments which do not require hospitalization like radiotherapy, dialysis etc which are also covered with the plan.

Pre & Post Hospitalization: Medical expenses incurred 30 days before hospitalization and 60 days post hospitalization are covered.

Maturity Benefit: The fund value will be provided on maturity

Adding Members: You can add new members like spouse or child within a set time frame.

Loans: Loans are available before the completion of five years of the policy.

Portability: After completion of five policy years, you can switch to any other IndiaFirst unit linked
plans.

Tax benefits: You can avail tax benefits under Section 80D to maximum amount of Rs 15,000. For senior citizens, the maximum amount is Rs 20,000. You are also eligible for tax deduction under Section 80C.

Returns in IndiaFirst Money Back health Insurance
--------------------------------------------------------------------------------

There are a total of six funds ranging from high risk to low risk wherein you can invest your amount. If you have higher risk appetite and are for long term you can opt for aggressive fund. On the other hand, if you have limited investment period, you should go for conservative fund.
In a typical scenario, you will be able to get at least 10% return on investment. The investment risk is borne by the policyholder.

What is not covered in IndiaFirst Money Back Health Insurance?
--------------------------------------------------------------------------------
- Pre existing conditions till four years
- War or related activities
- Self inflicted injuries
- Abuse of intoxicant things like alcohol or drugs
- HIV, genetic disorders and related diseases
- Cosmetic treatments or plastic surgery
- Non allopathic treatments
- Dental treatments
- Mental Disorders

There are few more exclusion’s which can be verified from the policy document

What charges does IndiaFirst Money Back Health Insurance deduct and how much?
--------------------------------------------------------------------------------
Premium Allocation Charges: These charges are deducted as percentage of premium. Insurer deducts these charges on account of expenses incurred by the company – medical examination, policy issuance, underwriting bills. Premium allocation charge is 13% of annual premium for the first year and 2% thereafter.

Fund Management Charge: Charge is 1.35% for all funds which is deducted from the units for fund management.
Policy Administration Charge: These are monthly deductions which start from first month and are for maintaining the policy- paperwork, work force etc. The policy administration charge is 1.8% for the first year inflating at 5% per annum thereafter.

Morbidity Charge: These are charges deducted as a part of health cover provided and are recovered through cancellation of units.

Who can buy IndiaFirst Money Back Health Insurance?
--------------------------------------------------------------------------------
Money Health Insurance can be bought by anyone aged from 18 years to 65 years. Children above 90 days can be covered if either of the parents is covered under same policy. The health cover can be continued till the age of 75 for the insured.
Both individual and family floater plans are available in Money Back Health Insurance



--------------------------------------------------------------------------------
Plan Name: Health Protection Plus
Insurer: Life Insurance Corporation of India
Category: Unit Linked Health Insurance Plan
Objective: Health insurance and return on investment

LIC Health Protection Plus Plan is a health cum investment plan which provides you with a health cover as well as returns on investment. A portion of premium is directed towards health cover while the rest is used for investing in unit linked market. So you get both health cover and investment option in one plan.

LIC Health Protection Plus Benefits
--------------------------------------------------------------------------------
Health Cover: You have to choose the hospital cash benefit which will be paid daily on hospitalization. The Sum Assured for major surgical benefit will be 200 times the hospital cash benefit. A lump sum payment as a % of Sum Assured will be paid if insurer undergoes any of the major surgery. The lump sum payment is made regardless of the actual expenses.

Maturity Benefit: The fund value will be provided on maturity
Increasing Benefit: The initial daily benefit will increase by 5% on each policy anniversary to a maximum of 1.5 times the initial benefit.
Domiciliary Treatment Benefit: If the insured requires, he can claim amount equal to 50% of fund value to meet the medical expenses incurred.
Adding Members: You can add new members like spouse or child within a set time frame.
Flexible Premium: The premium is flexible and lowering of premium does not affect health cover and other benefits.
Tax benefits: You can avail tax benefits under Section 80D to maximum amount of Rs 15,000. For senior citizens, the maximum amount is Rs 20,000.

What is not covered in LIC Health protection Plus?
--------------------------------------------------------------------------------
- Pre existing conditions
- War or related activities
- Self inflicted injuries
- Abuse of intoxicant things like alcohol or drugs
- HIV, genetic disorders and related diseases
- Cosmetic treatments or plastic surgery
- Non allopathic treatments
- Dental treatments
- Mental Disorders

There are few more exclusion’s which can be verified from the policy document

What charges does LIC Health Protection Plus deduct and how much?
--------------------------------------------------------------------------------
Premium Allocation Charges: These charges are deducted as percentage of premium. Insurer deducts these charges on account of expenses incurred by the company – medical examination, policy issuance, underwriting bills. Premium allocation charge is 30% of annual premium for the first year and 6% thereafter.

Fund Management Charge: Charge is 1.25% is deducted from the units for fund management.
Policy Administration Charge: These are monthly deductions which start from first month and are for maintaining the policy- paperwork, work force etc. The policy administration charge is INR 75 for the first year and INR 25 thereafter.

Health Insurance Charge: These are charges deducted as a part of health cover provided and are recovered through cancellation of units.

Who can buy LIC Health Protection Plus?
--------------------------------------------------------------------------------
Health Protection Plus can be bought by anyone aged from 18 years to 55 years. Children above 91 days can be covered if either of the parents is covered under same policy. The health cover can be continued till the age of 75 for the insured.

Both individual and family floater plans are available in Health protection Plus.
The surrender of Health Protection Plus is not allowed.

Friday, December 9, 2011

Wedding Cards - Samples

Following are the best, optimised for look and pricing:
http://www.indianweddingcard.com/3116.html
http://www.indianweddingcard.com/8920m.html
http://www.indianweddingcard.com/8715.html
http://www.indianweddingcard.com/2031.html
http://www.indianweddingcard.com/D-2477.html

Wednesday, August 10, 2011

Mattress Review and Cost in India :

Springwell, Sleepwell, Restonic, SpringCoil.
Kurlon is crap.

Springwel SpringKoil Restonic Sleepwell
78x72 35.5sq ft 35.5sq ft
9423001660 "9637877889,9921893534
8698962503"
Dreamz Mkting, Vinayak Park, Avhalwadi Road, Pune. 4- SUN SHINE AVENUE, NEAR H.D.FC. BANK,VIMAN NAGAR
5 Yr Warr 10 Yr Warr
Bonnell Spring Mattress 78x72 6 19188 14019 16805 19070 Tranquil 5 yrs Grr
8 22932 16397 22776 22510 Tranquil 5 yrs Grr
Pocketed Spring Mattress 78x72 6 24804 21276 24350 Tranquil Royale 5 yrs Grr
8 27144 24739 28000 Tranquil Royale 5 yrs Grr
Pillow-Top Mattress Bonnell 6 15911 20153
8 29952 17727 26486
Eurotop Pocketed Pocketed 6 28862 25393
Euro Top Bonnel Bonnel 6 22926 26490 Harmony 10yrsGrr
8 28618
Coir Latex Natural layer of latex is combined with thicker rubberized coir 5 26997 27440 Duet Luxury
Latex Bonnel 6 25334
Latex Pocketed 6 28862
Spine Guard Coir 5 26026

Thursday, June 16, 2011

Best Stocks to invest in 2011

ICICI BANK
LIC HOUSING FINANCE
Shriram Transport Finance
Indiabulls Financial Services

Jyoti Ltd
Petronet LNG
Linc PenandPlas
PROVOGUE
suntv
kohinoor foods
godrej consumer
geometric
yes bank
adityya birla nuvo
United Spirits
Mahindra Lifespace Developers
Dhanlaxmi Bank
IndusInd Bank

SUNPHARMA
LUPIN
DR REDDDY
ORCHID CHEM

Tuesday, May 10, 2011

Call India using UK Number

http://www.localphone.com/ways_to_connect/incoming_calls
http://www.trackitt.com/uk-discussion-forums/tier-1-general/259403209/how-to-get-uk-sim-in-india
http://techshali.com/get-a-free-uk-number-and-forward-it-to-phone-with-free-incoming/

http://www.lonelyplanet.com/thorntree/thread.jspa?threadID=1653900
http://www.qxcall.co.uk/call/international.php?country=india
http://www.vtelix.com/Incoming.html
http://www.jetnumbers.com/buy-virtual-number2&from=header
https://www.future-nine.com/A2BCustomer_UI/signup/?tariff=3

NATURAL ADABAS : Refresher NATURAL 01 - Data Areas

Natural offers two ways of programming:
Reporting Mode:

Reporting mode is only useful for the creation of adhoc reports and small programs which do not involve
complex data and/or programming constructs.
Please note that certain Natural statements are available only in reporting mode, whereas others have a
specific structure when used in reporting mode.The statements END, LOOP (or CLOSE LOOP) or SORT may be used to close a processing loop.
The LOOP statement can be used to close more than one loop, and the END statement can be used to close
all active loops. These possibilities of closing several loops with a single statement constitute a basic
difference to structured mode.
A SORT statement closes all processing loops and initiates another processing loop.

Structured Mode
Structured mode is intended for the implementation of complex applications with a clear and well-defined
program structure.As all fields to be used in a program have to be defined in one central location (instead of being
scattered all over the program, as is possible in reporting mode), overall control of the data used is
much easier.

Structured Mode:GLOBALS SM=ON
Reporting Mode:GLOBALS SM=OFF



Data Areas
Local Data Area:
You can define local data within a program.
You can define local data outside a program in a separate Natural programming object.

Global Data Area
When you build an application where multiple Natural programming objects reference a GDA, remember
that modifications to the data element definitions in the GDA affect all Natural programming objects that
reference that data area. Therefore these objects must be recompiled by using the CATALOG or STOW
command after the GDA has been modified.

Each Natural programming object can reference only one GDA; that is, a DEFINE
DATA statement must not contain more than one GLOBAL clause.

Creating and Deleting GDA Instances
The first instance of a GDA is created and initialized at runtime when the first Natural programming
object that references it starts to execute.
Once a GDA instance has been created, the data values it contains can be shared by all Natural
programming objects that reference this GDA (DEFINE DATA GLOBAL statement) and that are invoked
by a PERFORM, INPUT or FETCH statement. All objects that share a GDA instance are operating on the
same data elements.
A new GDA instance is created if the following applies:
A subprogram that references a GDA (any GDA) is invoked with a CALLNAT statement.
A subprogram that does not reference a GDA invokes a programming object that references a GDA
(any GDA).

If a new instance of a GDA is created, the current GDA instance is suspended and the data values it
contains are stacked. The subprogram then references the data values in the newly created GDA instance.
The data values in the suspended GDA instance or instances is inaccessible. A programming object only
refers to one GDA instance and cannot access any previous GDA instances. A GDA data element can only
be passed to a subprogram by defining the element as a parameter in the CALLNAT statement.
When the subprogram returns to the invoking programming object, the GDA instance it references is
deleted and the GDA instance suspended previously is resumed with its data values.a subprogram referencing a GDA cannot share the data values in a GDA
instance referenced by the invoking program. A subprogram that references the same GDA as the
invoking program creates a new instance of this GDA. The data elements defined in a GDA that is
referenced by a subprogram can, however, be shared by a subroutine or a helproutine invoked by the
subprogram.

A GDA instance and its contents is deleted if any of the following applies:
The next LOGON is performed.
Another GDA is referenced on the same level (levels are described later in this section).
A RELEASE VARIABLES statement is executed. In this case, the data values in a GDA instance are
reset either when a program at the level 1 finishes executing, or if the program invokes another
program via a FETCH or RUN statement.
You cannot use the FETCH RETURN statement to invoke another program that references a different
GDA.


Parameter Data Area
A subprogram is invoked with a CALLNAT statement. With the CALLNAT statement, parameters can be passed from the invoking object to the subprogram.

Thursday, April 28, 2011

JCL FAQs Series 03: IF and Conditions

JCL IF Statement Revisited

The condition portion of above statement is somewhat under documented. It can consist of an expression which evaluates to 'TRUE' or 'FALSE' or a comparison of two values. The two values being compared must be of the same type:
• a numeric value 0-4095 (something which looks like a return code). This includes the RC operator.
• values of the form Udddd where dddd is a decimal number 0001-4095 or Sxxx where xxx is a hexadecimal value in the range 001-FFF (something which looks like an abend code). This includes the ABENDCC operator.
• values 'TRUE' or 'FALSE'. This includes the RUN or ABEND operator.
The operators can:
• be specific to a step, e.g. ABEND.STEP1 which is set depending on whether or not STEP1 abended OR
• apply to the whole job: ABEND - did any step abend?


Here is an example of what can be done:
// SET ABCLEAN='TRUE'
//COPY EXEC PGM=MYPGM
....
// IF (ABEND = &ABCLEAN | COPY.RC 8) THEN
//FINAL EXEC PGM=CLEANUP
....
// ELSE
//CLEAN EXEC PGM=LASTPGM
....
// ENDIF
//

As it stands, the cleanup program runs if any step abends or the return code from the COPY step is greater than 8. However, if the setting for ABCLEAN is changed to FALSE, then the cleanup program will not run if any step abends.

Another possibility is:
....
// SET RUNFIN='FALSE'
// IF &RUNFIN THEN
//FINAL EXEC PGM=CLEANUP
....
// ENDIF

In this example, the final step will not execute. The setting for RUNFIN could be altered to TRUE to change this behaviour. Note that an IF statement or COND parameter test does not prevent the first step in a job from running.

Bypassing Selected Job Steps

One or more job steps can be bypassed by adding the following parameter to the EXEC statement for any job to be bypassed:
COND=(0,LE)
This specifies that the step will be bypassed if any return code value is greater than or equal to zero.

A job step or group of job steps can also be bypassed by adding the following statement before the first job step to be bypassed:
// IF RC <= 0 THEN and terminating the block with // ENDIF First step in a job is to be bypassed
Execute an IEFBR14 step:
// EXEC PGM=IEFBR14 as the first step in the job to provide an initial return code value.

Beginning with a Specific Job Step
The RESTART JOB parameter can be used to cause job execution to start with a specified job step. For example:
//MYJOB JOB .... ,RESTART=STEP10.COPY ....
//STEP10 EXEC IEBCOPY ....
Execution will begin with STEP10. The procedure step is COPY in this example.

The COND JOB parameter COND=(0,LE) could be specified to only execute the step specified on the RESTART parameter.

Condition Code Checking
The objective is to define when a program should run based on what the results were from earlier JCL steps. Of course, some people are still attached to the JCL COND parameter which actually specifies when you don't want the program to run. However, in most cases, IF THEN,ELSE,ENDIF JCL statements are easier to code correctly and let you do things which would be difficult to achieve with the old COND parameter.
Here is a sample JCL fragment: //COPY EXEC PGM=MYPGM .... // IF (COPY.RC = 0) THEN //NEXT EXEC PGM=NEXTPGM .... // IF (ABEND | NEXT.RC 8) THEN //FINAL EXEC PGM=CLEANUP .... // ELSE //CLEAN EXEC PGM=LASTPGM .... // ENDIF // ENDIF // If the first program runs with return code zero, then program NEXTPGM is run. If that program issues a return code greater than 8 or an earlier step has abended, then program CLEANUP is run. Otherwise, LASTPGM is run.
You can also test what the abend code value was or whether a specific job step executed.

JCL FAQs : Series 02 : Procedures and Symbolics

Procedures

Syntax for Executing procedure

Catalogued:
IBM supplies a utility program called IEBUPDTE; this program places cataloged procedures into partitioned data sets. These procedures are placed inside a system library called SYS1.PROCLIB.

//PRODPR1 JOB ZAq00000,
// 'CC2 NXD',
// MSGCLASS=O,
// RD=R,
// PRTY=14,
// TIME=1440,
// REGION=0M,
// CLASS=P,
// LINES=(50,WARNING)
//PROCS JCLLIB ORDER=(
// MDRPR.NDR.PROCLIB,
// MDRPR.NDR.VSAMINCL,
// ISDPR.ISD.PROCLIB)
//*
//LOADLIB INCLUDE MEMBER=KLIBNDR
//JS05 EXEC [PROC=]PRODPR1,
// MLM1=PR

When you executing CATALOGED PROCEDURE, If you have not specified where it is with JCLLIB statement , it will serach for this procedure in system procedure library SYS1.PROCLIB - There many IBM-supplied procedures that compile, link, and run programs
The following statements cannot be included within the procedure
JOB
DD * or DD DATA
JES2 or JES3 control statements


Instream:
//myproc PROC
//pg01 exec pgm=vvcmrbx
// ..
// ..
// pend
//pg01 exec pgm=vvcmrby
//instrm01 dd MYPROC

Instead of exec, instream called using DD.


MODIFY STATEMENTS IN A PROCEDURE:Overrides in Procedure:
We can add/modify contents of procedure. There are two types of modification we can do ,
1. on EXEC statement
2. on DD statement on EXEC statement


1. On EXEC statement
We can do following functions on EXEC statement in a procedure -

1.1Modify parameter on EXEC statements
PROCEDURE STATEMENT - //STEP10 EXEC PGM=COBPROG,TIME=30
PARAMETER OVERRIDE - //MYSTEP EXEC PROC=MYPROC,TIME.STEP10=40
Now Resultant TIME value for that step (in proc) is 40

1.2Adding parameter to an EXEC statement / all EXEC statement
PROCEDURE STATEMENT - //STEP10 EXEC PGM=COBPROG,TIME=30
PARAMETER ADDING -//MYSTEP EXEC PROC=MYPROC,REGION.STEP10=56K
(for single step)
REGION will be added to the STEP10 in MYPROC procedure
PARAMETER ADDING - //MYSTEP EXEC PROC=MYPROC,REGION=56K (for single step)
If REGION is not available for any step in that procedure. REGION will be added to all steps in procedure. If REGION is available for any step in procedure, REGION value will be override existing value on that step.

1.3Nullifying the parameter value
PROCEDURE STATEMENT - //STEP10 EXEC PGM=COBPROG,TIME=30
PARAMETER ADDING - //MYSTEP EXEC PROC=MYPROC,TIME.STEP10=
Dont give any value for that parameter, it will nullifying that parameter value in procedure on DD statement.

2. Syntax for add/modify DD statements in a procedure
//name EXEC [PROC=]procedure-name
//[procstepname].ddname DD parameter=value
//

We can do following functions on EXEC statement in a procedure
using above syntax:
- Modify existing parameter on DD statements within a procedure
- Add parameter to existing DD statement within a procedure
- Add DD statement to a job step
- Nullify the effect of parameter on DD statement in a procedure

SYMBOLIC PARAMETERS:
Usaually, the same JCL can be used by different programmers to implement common tasks, such as the opening, reading, and writing of data sets. In those cases , we can use symbolic parameters. Using symbolic parameters we can pass value to a parameter which is used in procedure.

A symbolic parameter on a DD statement is coded the parameter preceded by an ampersand. Syntax for assigning values to symbolic parameters in a procedure
//[name] EXEC [PROC=]procedure-name,symbolic-parameter=value

EXAMPLE JCL -> Procedure which is using symbolic parameter
//MYPROC PROC
//MYSTEP EXEC PGM=COBPROG
//INFILE DD DSN=&DOC..TEST.LIB,DISP=SHR
//OUTFILE DD DSN=&DOC..TEST.OUT,
// DISP=(NEW,KEEP,DELETE),
// UNIT=SYSDA,
// SPACE=(CYL,(&SPACE))

The invoking EXEC statement
//STEPA1 EXEC MYPROC,DOC=MYLIB,SPACE='10,5'

The effective JCL
//MYPROC PROC
//MYSTEP EXEC PGM=COBPROG
//INFILE DD DSN=MYLIB.TEST.LIB,DISP=SHR
//OUTFILE DD DSN=MYLIB.TEST.OUT,
// DISP=(NEW,KEEP,DELETE),
// UNIT=SYSDA,
// SPACE=(CYL,('10,5'))

EXPLANATION -
In above example, &DOC,&SPACE are symbolic parameters in MYPROC procedure
We are passing values from invoking JCL,these value will be override the
&DOC and &SPACE where ever they find in the procedure

Quotes & Blanks in JCL Symbolic Variables
Symbolic substitution in JCL can be a minefield when embedded blanks or quotes are involved. The JCL conversion process
• will not substitute symbolics inside quotes
• will stop subsitution when it hits a blank outside of quotes
• requires two quotes within a quoted string to represent a single quote.

Here is a relatively straight-forward example of how to deal with this situation. Say that you want to run SDSF in batch and limit the jobs selected to only those associated with the user who owns the batch job.

Here is some JCL that you could use:
// SET QT=''''
// SET CMD='OWNER '
// SET PRM=&QT.&CMD.&SYSUID.&QT
//GETMSGS EXEC PGM=SDSF,DYNAMNBR=32,REGION=1024K,TIME=5,
// PARM=&QT.&PRM.&QT
//REPORT DD DISP=(,CATLG),DSN=&SYSUID..ABC.LIST,
// SPACE=(CYL,(1,1)),RECFM=FB,LRECL=80,BLKSIZE=0
//ISFOUT DD SYSOUT=*
//ISFIN DD *
PRINT FILE REPORT
...
more SDSF control statements
...

&SYSUID is a standard JCL symbolic which contains the userid associated with the executing job.
Refer to an earlier stupid trick for more information.
The PARM string 'OWNER userid' tells SDSF to only look at jobs belonging to userid.
We construct the parm by combining constant strings (which may contain blanks) with symbolic variables and frame the resulting string using the symbolic variable &QT (one single quote) to glue it all together.
The symbolic variable PRM contains 'OWNER userid';
however, if you don't put the &QTs around it as in the sample above, you wind up with just PARM=OWNER being passed to SDSF.

Here is a more complex example.
Caution-overexposure to this topic may cause discomfort:
//NESTED PROC LS=132,
// PS=60
// SET QT=''''
//SAUS EXEC SAUS,
// OPTIONS='SYSPARM='''&QT.&LS-&PS.&QT''''
//SYSIN DD DISP=(OLD,DELETE),DSN=&&SASIN
// PEND
//RUNJCL EXEC NESTED

The instream procedure NESTED invokes a catalogued procedure SAUS. The intent is to assign the value 'SYSPARM=''132-60''' to symbolic parameter OPTIONS. OPTIONS is appended to the execution parm in the invoked catalogued procedure, (which is contained within quotes), resulting in the value SYSPARM='132-60' being included in the run-time parms for program SAUS, once all the extra quotes have been stripped away. The values 132 and 60 are being used as default line size and page size values by the application. They can be modified in the JCL which makes use of the instream procedure.

Wednesday, April 27, 2011

JCL FAQs & Answers Series 01

1. What is primary allocation for a dataset?
The space allocated when the dataset is first created.
Secondary allocation is done when more space is required than what has already been allocated.

2.How many extents are possible for a sequential file ? For a VSAM file ?
16 extents on a volume for a sequential file and 123 for a VSAM file.

3. What does a disposition of (NEW,CATLG,KEEP) mean?
That this is a new dataset and needs to be allocated, to CATLG the dataset if the step is successful and to KEEP but not CATLG the dataset if the step abends. Thus if the step abends, the dataset would not be catalogued and we would need to supply the vol. ser the next time we refer to it.

4. How do you access a file that had a disposition of KEEP?
Need to supply volume serial no. VOL=SER=xxxx.

5. How do you create a temporary dataset? Where will you use them?
Temporary datasets can be created either by not specifying any DSNAME or by specifying the temporary file indicator as in DSN=&&TEMP.
We use them to carry the output of one step to another step in the same job. The dataset will not be retained once the job completes.

6. How do you restart a proc from a particular step?
In job card, specify RESTART=procstep.stepname
where procstep = name of the jcl step that invoked the proc
and stepname = name of the proc step where you want execution to start

7. A PROC has five steps. Step 3 has a condition code. How can you override/nullify this condition code?
Provide the override on the EXEC stmt in the JCL as follows:
//STEP001 EXEC procname,COND.stepname=value
All parameters on an EXEC stmt in the proc such as COND, PARM have to be overridden like this.

8. How do you override a specific DDNAME/SYSIN in PROC from a JCL?
// DSN=...

9. What is NOTCAT 2 ?
This is an MVS message indicating that a duplicate catalog entry exists. E.g., if you already have a dataset with dsn = ‘xxxx.yyyy’ and u try to create one with disp new,catlg, you would get this error. the program open and write would go through and at the end of the step the system would try to put it in the system catalog. at this point since an entry already exists the catlg would fail and give this message. you can fix the problem by deleting/uncataloging the first data set and going to the volume where the new dataset exists(this info is in the msglog of the job) and cataloging it.

10. What is a S0C4 error ?
Storage violation error - can be due to various reasons. e.g.: READING a file that is not open, invalid address referenced due to subscript error.

11. What are SD37, SB37, SE37 abends?
All indicate dataset out of space. SD37 - no secondary allocation was specified. SB37 - end of vol. and no further volumes specified. SE37 - Max. of 16 extents already allocated.

12. What is S322 abend ?
Indicates a time out abend. Your program has taken more CPU time than the default limit for the job class. Could indicate an infinite loop.

13. Why do you want to specify the REGION parameter in a JCL step?
To override the REGION defined at the JOB card level.
REGION specifies the max region size. REGION=0K or 0M or omitting REGION means no limit will be applied.

14. What does the TIME parameter signify ? What does TIME=1440 mean ?
TIME parameter can be used to overcome S322 abends for programs that genuinely need more CPU time. TIME=1440 means no CPU time limit is to be applied to this step.

15. What is COND=EVEN ?
Means execute this step even if any of the previous steps, terminated abnormally.

16. What is COND=ONLY ?
Means execute this step only if any of the previous steps, terminated abnormally.

17. How do you check the syntax of a JCL without running it?
TYPERUN=SCAN on the JOB card or use JSCAN.

18. What does IEBGENER do?
Used to copy one QSAM file to another. Source dataset should be described using SYSUT1 ddname. Destination dataset should be decribed using SYSUT2. IEBGENR can also do some reformatting of data by supplying control cards via SYSIN.

19. How do you send the output of a COBOL program to a member of a PDS?
Code the DSN as pds(member) with a DISP of SHR. The disp applies to the pds and not to a specific member.

20. I have multiple jobs ( JCLs with several JOB cards ) in a member. What happens if I submit it?
Multiple jobs are submitted (as many jobs as the number of JOB cards).

21. I have a COBOL program that ACCEPTs some input data. How do you code the JCL statment for this? ( How do you code instream data in a JCL? )

//SYSIN DD*
input data
input data
/*

22. Can you code instream data in a PROC ?
No.

23. How do you overcome this limitation ?
One way is to code SYSIN DD DUMMY in the PROC, and then override this from the JCL with instream data.

24. How do you run a COBOL batch program from a JCL? How do you run a COBOL/DB2 program?
To run a non DB2 program,

//STEP001 EXEC PGM=MYPROG
To run a DB2 program,
//STEP001 EXEC PGM=IKJEFT01

//SYSTSIN DD *
DSN SYSTEM(....)
RUN PROGRAM(MYPROG)
PLAN(.....) LIB(....) PARMS(...)
/*

25. What is STEPLIB, JOBLIB? What is it used for?
Specifies that the private library (or libraries) specified should be searched before the default system libraries in order to locate a program to be executed.
STEPLIB applies only to the particular step, JOBLIB to all steps in the job.

26. What is order of searching of the libraries in a JCL?
First any private libraries as specified in the STEPLIB or JOBLIB, then the system libraries such as SYS1.LINKLIB. The system libraries are specified in the linklist.

27. What happens if both JOBLIB & STEPLIB is specified ?
JOBLIB is ignored.

28. When you specify mutiple datasets in a JOBLIB or STEPLIB, what factor determines the order?
The library with the largest block size should be the first one.

29. How to change default proclib ?
//ABCD JCLLIB ORDER=(ME.MYPROCLIB,SYS1.PROCLIB)

30. What are the differences between JES2 & JES3 ?
JES3 allocates datasets for all the steps before the job is scheduled. In JES2, allocation of datasets required by a step are done only just before the step executes.

MQ Series : Overview in brief

MQSeries implements a store-and-forward protocol to ensure the safe
delivery of messages between applications.
As with electronic mail, the individual messages that may be part of a
transaction, travel through a network on a store-and-forward basis. If a
link between nodes fails, the message is kept until the link is restored, or
the operator or program redirects the message.
An MQSeries message consists of control information and application data.


Message descriptor :
The control information is defined in a message descriptor structure (MQMD).
MQMD contains such things as:
The type of the message
An identifier for the message
The priority for delivery of the message
If you are asking a question, you may include in the message descriptor, the
name of the queue on which you want to receive the reply.


Queue manager
A queue manager is a system program that provides queuing services to
applications.To an application, each
queue manager is identified by a connection handle (Hconn).

Correlation identifier
To help the requester to associate the message replies with its original request,an application can set a correlation identifier field in the descriptor of each message.Programs should copy the message identifier of the request message into the correlation identifier field of their reply messages.

Request-Reply message Linking
If you want to link your reply message with your request message, there are two options:
You can give your application the responsibility of ensuring that it puts
information into the reply message that relates to the request message.
You can use the report field in the message descriptor of your request
message to specify the content of the MsgId and CorrelId fields of the
reply message.
You can request that either the MsgId or the CorrelId of the original message
is to be copied into the CorrelId field of the reply message (the default
action is to copy MsgId).
You can request that either a new MsgId is generated for the reply message,
or that the MsgId of the original message is to be copied into the MsgId
field of the reply message (the default action is to generate a new message
identifier).

Types of message
There are four types of message defined by MQSeries:
Datagram
Request
Reply
Report
Each type of message is identified by an MQMT_* value.


MsgDeliverySequence and Message Priority
The MsgDeliverySequence attribute of the queue determines whether messages on
the queue are stored in FIFO (first in, first out) sequence, or in FIFO within priority sequence. If this attribute is set to MQMDS_PRIORITY, messages are enqueued with the priority specified in the Priority field of their message descriptors; but if it is set to MQMDS_FIFO, messages are enqueued with the default priority of the queue.

Group identifier
The group identifier is usually generated by the queue manager when the first
message of a group is put onto a queue. The MsgSeqNumber field identifies the position of the message within the group and the Offset field identifies the segments within the message.

Cluster
A cluster is a network of queue managers that are logically associated in some way.
In a traditional MQSeries network using distributed queuing, every queue
manager is independent. If one queue manager needs to send messages to another
it must have defined
a transmission queue,
a channel to the remote queue manager, and
a remote queue definition for every queue to which it wants to send messages.

Client
An MQSeries client is an independently installable component of an MQSeries
product. It allows you to run MQSeries applications, by means of a
communications protocol, to interact with one or more Message Queue Interface
(MQI) servers on other platforms and to connect to their queue managers.

Shared queues
MQSeries allows local queues to be shared by a group of queue
managers, giving improved throughput and availability. Such queues are called
shared queues, and the queue managers form a queue-sharing group, which can
process messages on the same shared queues.

Syncpointing
You can use the syncpointing facilities provided by MQSeries or your operating system to ensure that your data remains consistent with other resources.

Persistence
You can use the persistence feature of MQSeries messages to
assure the delivery of important messages.
The queue manager preserves all persistent messages, recovering them
when necessary from the MQSeries log files, when it is restarted.
Note that messages on shared queues cannot be made persistent.

Synchronous request and reply messages
This implies that you set a timeout period for the reply to answer your request, and if you do not receive the reply within that period, it is treated as an error.

Messages Waiting
A program that is serving a queue can await messages by:
Polling: Making periodic calls on the queue to see whether a message has
arrived.
Waiting until either a message arrives, or a specified time interval expires
Setting a signal so that the program is informed when a message arrives.

Context information
Context information is used for associating messages with the user who generated them, and for identifying the application that generated the message. Such information is useful for security, accounting, auditing, and problem determination.

Message triggering
MQSeries triggering enables a program to be started automatically when messages arrive on a queue.
You can set trigger conditions on a queue so that a program is
started to process that queue:
Every time a message arrives on the queue
When the first message arrives on the queue
When the number of messages on the queue reaches a predefined number

MaxMsgLength
In MQSeries, the MaxMsgLength attribute of the queue manager is fixed
at 100 MB and the MaxMsgLength attribute of the queue defaults to 4 MB
(4 194 304 bytes) which you can amend up to 100 MB if required. However, the limit is 63 KB when using shared queues accessed by queue managers in a queue-sharing group.

Tuesday, April 5, 2011

Ardh Satya : The Existential Crisis

This poetry has been one of my favourites along with the film which I saw
aged 14 then.

Theme poem Ardh Satya by Dilip Chitre (Hindi)

Chakravyuh mein ghusne se pehle,
kaun tha mein aur kaisa tha,
yeh mujhe yaad hi na rahega.
Chakravyuh mein ghusne ke baad,
mere aur chakravyuh ke beech,
sirf ek jaanleva nikat’ta thi,
iska mujhe pata hi na chalega.
Chakravyuh se nikalne ke baad,
main mukt ho jaoon bhale hi,
phir bhi chakravyuh ki rachna mein
farq hi na padega.
Marun ya maarun,
maara jaoon ya jaan se maardun.
iska faisla kabhi na ho paayega.
Soya hua aadmi jab
neend se uthkar chalna shuru karta hai,
tab sapnon ka sansar use,
dobara dikh hi na paayega.
Us roshni mein jo nirnay ki roshni hai
sab kuchh s’maan hoga kya?
Ek palde mein napunsakta,
ek palde mein paurush,
aur theek taraazu ke kaante par
ardh satya.

English translation
Before entering the circle of deceit,
who I was, and what I was,
I would not remember.
After entering the circle of deceit,
(there was) between me and the circle,
only a deathly intimacy
that I never realised.
After leaving the circle of deceit,
even if I am set free,
the design of the circle of deceit,
will hardly be different.
Whether I kill, or die,
Am killed, or kill (the other)
these questions will never be decided.
When a sleeping man
awakes and steps forth,
then the world of dreams
may never be seen again (by him).
In that, the light of Decision,
will everything be level ?
On one tray (of a balance) is Impotence,
and on the other is Manhood,
and exactly at the needle point,
a half-truth.

Sunscreen Wisdom

I go through this wisdom quite often these days.
I find it always ahead of its time.
Here it goes:

Ladies and Gentlemen of the class of ’11
If I could offer you only one tip for the future, sunscreen would be it.
The long term benefits of sunscreen have been proved by scientists
whereas the rest of my advice has no basis more reliable
than my own meandering experience…


I will dispense this advice now.


Enjoy the power and beauty of your youth;

oh nevermind; you will not understand the power and beauty
of your youth until they have faded.
But trust me, in 20 years you’ll look back at photos of yourself
and recall in a way you can’t grasp now how much possibility
lay before you and how fabulous you really looked….

You’re not as fat as you imagine.

Don’t worry about the future; or worry,

but know that worrying is as effective as trying to solve an algebra
equation by chewing bubblegum. The real troubles in your life are
apt to be things that never crossed your worried mind;
the kind that blindside you at 4pm on some idle Tuesday.

Do one thing everyday that scares you

Sing

Don’t be reckless with other people’s hearts, don’t put up with
people who are reckless with yours.

Floss

Don’t waste your time on jealousy;
sometimes you’re ahead, sometimes you’re behind…
the race is long, and in the end, it’s only with
yourself.

Remember the compliments you receive, forget the insults;
if you succeed in doing this, tell me how.


Keep your old love letters, throw away your old bank statements.

Stretch


Don’t feel guilty if you don’t know what you want to do with your life…
the most interesting people I know didn’t know at 22 what they
wanted to do with their lives, some of the most interesting
40 year olds I know still don’t.


Get plenty of calcium.

Be kind to your knees, you’ll miss them when they’re gone.

Maybe you’ll marry, maybe you won’t,
maybe you’ll have children,maybe you won’t,
maybe you’ll divorce at 40, maybe you’ll dance the funky chicken on
your 75th wedding anniversary…

what ever you do, don’t congratulate yourself too much
or berate yourself either – your choices are half chance,
so are everybody else’s.

Enjoy your body,
use it every way you can…don’t be afraid of it,
or what other people think of it, it’s the greatest instrument
you’ll ever own..


Dance…
even if you have nowhere to do it but in your own living room.


Read the directions, even if you don’t follow them.
Do NOT read beauty magazines, they will only make you feel ugly.


Get to know your parents, you never know when they’ll be gone for good.
Be nice to your siblings; they are the best link to your past and the
people most likely to stick with you in the future.


Understand that friends come and go,but for the precious few you
should hold on.

Work hard to bridge the gaps in geography and lifestyle because
the older you get, the more you need the people you
knew when you were young.


Live in New York City once, but leave before it makes you hard;
live in Northern California once, but leave before it makes you soft.


Travel.


Accept certain inalienable truths,
prices will rise,
politicians will philander,
you too will get old,
and when you do you’ll fantasize that when you were young
prices were reasonable,
politicians were noble and
children respected their elders.


Respect your elders.


Don’t expect anyone else to support you. Maybe you have a trust fund,
maybe you have a wealthy spouse; but you never know when either one
might run out.


Don’t mess too much with your hair, or by the time you're 40,
it will look 85.



Be careful whose advice you buy, but, be patient with those who
supply it. Advice is a form of nostalgia, dispensing it is a way of
fishing the past from the disposal, wiping it off, painting over the
ugly parts and recycling it for more than it’s worth.



But trust me on the sunscreen…


< Taken/adapted from Baz Luhrmann's iconic words>

Wednesday, March 23, 2011

Refrigerators Pricelist - 3Door

TYPE Whirlpool Price
3 Door 330 Elt 3D Protton BlackRs. 29510
3 Door 330 Elt 3D Protton Rs. 28580
3 Door 330 Deluxe 3D Protton Black Rs. 28430
3 Door 330 Deluxe 3D Protton Rs. 27500
3 Door 300 Elt 3D Protton BlackRs. 26370
3 Door 300 Elt 3D Protton Rs. 25440
3 Door 300 Deluxe 3D Protton Black Rs. 25340
3 Door 300 Deluxe 3D Protton Rs. 24410



Samsung
Bottom RL41WCPS -358L 40500
Freezer Samsung RS20CRPS5-549L49500
Samsung RS20NRPS-510 47700

Hitachi
3 Door R-S37SVND-438 48990
3 Door R-S31SVND-366 42000
3 Door R-26SVND-306 33500
2 Door R-Z300AND7K30024,990

Wednesday, January 5, 2011

Best Tax Saving Mutual Funds in India

Best Tax Planning Mutual Funds
As per Returns of Last two Years are as follows:
I would personally recommend the following Order:
#1. Canara Robecco Equity Tax Saver,
#2. HDFC Tax Saver,
#3. Fidelty Tax Advantage and
#4. ICICI Prudential Tax Plan

Please Invest in only 1 Fund per year and not more as it gets really difficult to keep track of all funds in case you are going to invest in some Fund or the other every Year for Tax saving.


Till date I have Invested in Reliance, Sundaram BNP Paribas, Kotak and SBI Magnum MFs for Tax Saving.
For complete and un biased opinion on Mutual Funds I suggest one should consider the following site:
www.valueresearchonline.com

Happy Investing and have a great Year ahead!