Hello Riyaz,
Process Variant, Program Variant, Transaction Variant are different types variants which I am aware of. Following is how I understand those -
Process Variant are seen when we work on creation process chain having different process steps. Process variants helps in creating steps in the process chain. Process variant internally may include particular program variant.
Using transaction SHD0 we can create a Transaction Variant against the original transaction code. This allows you to alter transaction screen layout being shown by the standard transaction.
Most important, Whenever you are executing an ABAP Program having a some selection criteria to specify the input values, you can create program variant to save this selection criteria. This is called as Program Variant. Table Name : VARID shows you the existing variants for the various programs. Besides table VARIS and VARIT contain various information about the variants. Also Program Variants are transportable. Transports can be created using report : RSTRANSP.
Hope this will help.
Thank you
Satish Waghmare