A question from a newcomer in TM1. I would appreciate your inputs/pointers.

In a TI process which is used for Data copy between say cube to cube or csv file to cube,
1. Should the Parameters in this TurboIntegrator process should always be on the dimensions of the Source cube/Source? Or should it be on the dimensions of the target Cube ?

3. Metadata:
In this tab, if we have to change the dimension of the source cube, then it is done here. Is this correct ?

I am not able to understand clearly what is the function of the Metadata tab.

4. DATA Tab:
In this tab, whatever lines of code is written, it will be applied on each row of record in the Source cube. Is this right?

While writing the data in to the Target, in the CEllPUTN or like wise command,
Should we use Variables imported from Source like vScenario, vYear etc..
or
Should we use Parameters created like pScenrio, pYear etc.. ?

You ask a lot of questions, but they are all pertinent. Typically such questions are treated in (custom or standard) Turbo Integrator courses.

But here's an answer to the questions.

Is it complusory to create every dimensions of the Source cube in the VIEW ?

==> Not needed. If you do not limit a certain dimension, then all elements will be taken by TM1 for that dimension. Very often in the view source we skip consolidated cells, and cells that are 0, and cells that are calculated with rules. Therefore, very often, only the leaf level elements remain when you do not set a filter on a dimension.

Why is this VIEW necessary in the first place?

==> to grab the cells of which the values need to be transferred to the target...

Should the dimensions of the View be created in same order as the order in which dimensions are present in the Target cube?

==> If you use CellPutN and the source changes (like a value going from 100 to 0) then the 100 that was in the target cube since the last run of the process, will not be cleared automatically. You have to do that yourself with a ViewZeroOut function (or similar functions like CubeClearData, CellPutProportionalSpread, a.s.o.).

In this tab, if we have to change the dimension of the source cube, then it is done here. Is this correct ?

==> Most likely, dimensions in the target cube. For example, you copy data for employees, and a new employee should be created in the respective dimension in the target cube such that in the Data tab of the process you are able to load data on that employee.

In this tab, whatever lines of code is written, it will be applied on each row of record in the Source cube. Is this right?

While writing the data in to the Target, in the CEllPUTN or like wise command,
Should we use Variables imported from Source like vScenario, vYear etc..
or
Should we use Parameters created like pScenrio, pYear etc.. ?

==> Depends. For example, if you copy all data for all employees onto a dummy employee in the target cube, it will probably be pEmployee (pEmployee could be set to 'No employee' or similar). If you copy data employee by employee, it will probably be vEmployee (vEmployee being the variable for the dimension elements of your source). Or vEmployee could be the result of a lookup (like an account could have an attribute with an employee name, then you could have: vEmployee = Attrs( 'Account', vAccount, 'Employee') and you know what employee to use.
So it's important to understand what you are doing and adapt your coding to meet the requirements of the process. The variations are endless.