Showing posts with label Current variable in pega. Show all posts
Showing posts with label Current variable in pega. Show all posts

Monday, 6 August 2018

Pega Programming to calculate Sum the odd and even numbers, respectively, from 1 to a given upperbound.

Sum the odd and even numbers, respectively, from 1 to a given upperbound


Hi Friends, I try to implement one simple program "Sum the odd and even numbers, respectively, from 1 to a given upperbound. "



Lets see how to implement this in Pega.

I created one flow 

In the Section I get the UpperBound Value using one text box. 

In the action tab of property control I added three action on Value change in text box.


Post Value - to post this value to clipboard.
Run Activity- to run the activity to acheive our functionalities
Refresh-This Section -  to display the output in below 2 text boxes(Not yet created , I will create later). On refresh only we can access the clipboard page property. So we refresh this section.

In Run Activity I called one activity named CalculateUpperBoundValue.



Lets see how to acheive this logic using activity.


This is the activity I created.


In first step I used Page-New , this step is to hold all the values while we process the data. I gave page name as PageOne , after we give here the Step Page name we should give page and class name in Pages and class tab.


Next Page-Copy, In this step I copied all the values from pyWorkPage to PageOne

U can ask , I am not gave pyWorkPage in any place, The answer is if  we are not give any page name in CopyFrom then in compile time it takes the page of previous step.

We can test this with tracer. I comment all the steps below 2 and see what happend.
You can see In second step the step page is pyWorkPage so automatically in PageFrom it takes pyWorkPage.

We are copying all the value in pyWorkPage to PageOne.

In Step 3 , I added Property-Set to declare properties with default value.

Here U can see I used Local Variable, if we used Local Variable we can use this value in all this places in this activity not outside this activity.

In the fourth step, I used Loop to achieve the while loop in above program.

I added a child for 4 th step to add all the even numbers and odd numbers. In 4.1 I added a when condition to check whether the current value is odd or even number.



(<CURRENT>) - it is similar to i in for loop
On first iteration, (<Current>) value will be 1 in sencond iteration (<Current>) value will be 2 and in 3rd iteration (<Current>) value will be 3 ans so on.

If the current value is Even means we no need to execute 4.2(Used for odd value calculation). So In the end of 4.1 , I wrote condition to jump to Step named SKIP  by using Always(Built in) when condition.

In 4.2 I added a property set to calculate odd value sum.


In 4.3 we add a step , in that step I added a precondition , there we use Always to  exit the Iteration.


In the last step I added one Page-Copy to copy all the manipulated data in PageOne to pyWorkPage.

To see the result,  We refer the SumEven property and SumOdd property from clipboard to Section.

I drag and drop one dynamic layout.
then refer that two property in this dynamic layout.

I refered those two property and make them read only.

Now our UI look like this,

We no need to see the SumEven and SumOdd if there is no value in UpperBoundValue, so we can add Visibility for that dynamic layout.

Now once again , run the flow or refresh .

 Afer I gave 10, result will be.


SumEven = 2+4+6+8+10 =30
SumOdd = 1+3+5+7+9 =25

If u have any doubt ask in comment :)