I am trying to learn Re-framework, in this course I have encountered one doubt. Basically in “Set Transaction Status” → “Success”–> There is an Assign activity which is like below:
io_TransactionNumber = io_TransactionNumber+1
This is fine.
In the entire Re-Framework, “GetTransactionData” has input argumet “In_TransactionItem” which is mapped with “TransactionItem” variable in Main.xaml, right ?
But I cannot find any where this io_TransactionNumber is mapped to “TransactionItem” or directly to “In_TransactionItem” which makes the system to increase counter in “GetTransactionData”.
Hi @ankswe
yah in Process State we got a xaml called SetTransactionStatus.xaml where we will be using the io_TransactionNumber across the sequence in that xaml
and for io_TransactionNumber argument we have a variable assigned as a value and that variable name is TransactionNumber of type Int32
and this TransactionNumber variable is defined in variabile panel with default value as 1
–in Get Transaction Data state we got a xaml named GetTransactionData.xaml where we got description that depicts like how to use this TransactionNumber which is what is later assigned to io_TransactionNumber variable in Set Transaction Status state
like For a linear process (not repetitive), set out_TransactionItem only for in_TransactionNumber 1 - first and only transaction.
If the process is repeatable, set io_TransactionData once for in_TransactionNumber 1, then assign a new out_TransactionItem by using the in_TransactionNumber to index io_TransactionData. Be aware that, at the end of the io_TransactionData collection, it is your responsibility to set out_TransactionItem to Nothing, thus ending the process.
When the transaction status is set. You will find that in the exit conditions of your Process.xaml state. That is where the transaction number is incremented based on whether or not a retry is required.
It looks ur flow in second screenshot within “if” is logically incorrect. Say total 10 pages are present. So, when you are on 10th page, i.e. in_Transactionitem = 10; then when you come in "if"condition, you will find that Next page is not present, so it will go into the else block, so here out_TransactionItem will become Nothing…So your last page will never be processed.