Then in the End process I tried creating an in argument str_in_sku_id and mapped to the Main variable str_SKu_Id . But when I am running str_in_sku_id is giving me null values .
To get any values from Process State, you will have to make it global but still you will get the last value from the Transaction. as it goes to end state only if all the transactions are Processed. Better I will suggest to create a list and then add that variable to list one by one in the End of process State and you can use it later in end state.
As per screenshots provided looks like the value is passed out of process.xaml to main.xaml and is stored in str_Sku_Id
if so the variables is already in main.xaml and end process is already in same xaml..so no need to create an argument in main.xaml as there is nothing that is calling it
you need to check the scope of str_sku_id and change it to main so it is accessible in end process state and process state as well…also check if there are multiple variables created with same name with different scopes
now coming to value being present if the process comes directly to end state from init due to exception or no data being present then the variable would be empty do consider that as well