CSA Interview Qs Flashcards
In Pega 8.1 what are the new components added for application development?
From App Dev point of view, couple of new features added:
- We can use role-based workspaces
- Developers have the capability to review complete project highlights on a single page
- Effective management of resuable component
What do you mean by work-space or studio?
It is an environment that provides specific tools and features
What are the various workspaces supported in the latest release?
There are four types:
- App Studio,
- Dev Studio
- Admin Studio
- Prediction Studio
Can you use Pega Express in 8.1?
The App Studio is nothing but former Pega Express
A system admin complained that he is not able to access the Admin Studio? What could be the potential reason?
To access Admin Studio, you should have a few Privileges:
- SysAdmin4
- PegaRULES:SysOpsAdministrator
- PegaRULES:SysOpsObserver
Like we used to switch portal, similarly, is there any way to Switch Studio as such?
Yes. In the header of the workspace, we need to click the Switch Studio menu.
How can you show the relevant record?
We can show it by right-clicking the relevant record management tab for a specific class in the App Explorer.
What is Prediction studio?
It is the studio where you can build ML models for adaptive, predictive, and text analytics.
What is a channel?
A channel is the technology or application where a user interacts with the Pega Platform application
What is a Chabot ?
A Chatbot is the part of an application that handles NLP, case processing, and AI to interact with a user in a conversational way
What are the types of channels supported?
Amazon Alexa (uses voice commands)
Email (sends email messages)
Facebook Messenger (sends text messages in Messenger)
SMS (sends text messages from a mobile phone)
Your client wants to built a Chatbot on Facebook. What will be your recommendations?
They must purchase a separate license for Pega Intelligent Virtual Assistant and install the Facebook channel component from Pega Exchange and post that add in the ruleset in your application.
Your client set up an email account but the outgoing email is failing. What are the possible reasons?
Check the connection refused by provider (most times they treat it as spam)
What is email listener?
Email listeners provide the Pega Platform with the information it needs to route incoming email messages to an email service rule.
While creating the listener, a developer select “Block startup”. What will be the impact?
When selected, “Block startup” stops the listener from being started automatically or manually.
Is there any need to set email listener in separate node?
It helps enhancing performance.
Any way to delete tracking data for listener?
Select the “Reset start up” option in email listener.
What is latency period?
After the amount of time specified, the listener checks the email folder specified for messages.
Note - enter the duration of listener’s rest period in seconds
Your architect wants to increase the number of threads per server node that this listener requestor creates. How will you do that?
Increase the count under concurrent threads field
What do you mean by Declarative?
It is something that allows you to set up calculations which occur when one of the values used in the calculation changes. The result of one declarative rule can trigger another declarative rule in a process known as chaining.
Can you perform Obj-Save in Trigger activity ?
No
What are the new features related to Data in 7.x?
- Introduction of Data Explorer
- Can dynamically provide data
- Data page parameter can be passed from anywhere
- Data page can be accessed from anywhere in application
- Data page can now have multiple data sources
Is there any limitation of Asynchronous Data Page?
Asynchronous Declare pages cannot run declarative expressions, triggers, and other rules that belong to a declarative network.
For example, you can enable executing declarative expressions in a background requester; but if the declarative expression refers to properties defined in external named pages which are not present in the background requester, then the declarative expression may not execute.
What do you understand by non-blocking user interfaces? As an architect, where you would like to use this feature?
Non-blocking user interfaces means the UI element which are of the user’s interest but not necessary for them. The user can interact immediately with the work item, typing in the text box. Since the other sections are asynchronously loaded, the user can even click Submit to process the action before the defer loaded sections display.
How do you enable defer load using data page in section?
You have the option to chose the defer load check box and upon selecting you can mention the D page name under the Using page field
While trying to trace the asynchronous data page (ADP), developer complained that they can’t trace it. What could be the possible reason?
In the Tracer configuration, if you have to trace ADP, then you need to enable two options: Interaction and ADP load. If these are not checked, you can’t trace them at runtime
What is the significance of requester pool?
Requestor pooling often improves the performance of a service because requestors are reused, their allocated resources are shared, and the service doesn’t need to wait for a requestor to be created.
The “Load this Page Asynchronously?” checkbox is checked on the Declare Page Definition tab, but it still is not working. What could be the possible reason?
The pre-configuration setting can cause it to stop loading asynchronously
In SMA, which components will you check to see the max load on the requestor pool ?
“Most Active” parameter. This indicates the maximum load on system (the most ADPs concurrently executing)
How will you modify the requester pool settings?
Log in as a developer; then from the landing page go to integration and resources and check the service package option, you will see the AsyncDeclarativesPool service package there:
- You can open it and modify the value under the pooling tab.
Note - remember to restart the server.
What is Property-Seek-Value method?
This method is mostly used for backward chaining purposes
How does Declare Constraints work?
When the system detects that a constraint fails, it adds a message to the page of the property identified in the left portion of the require field (if any). The presence of this message ordinarily prevents the system from saving the page containing this property value to the database.
Can you apply constrains on embedded page properties?
Yes
Your business wants to show the constraints violation error immediately, rather than waiting till end. How can you can do it?
Make use of flow action and harness rules, by enabling the checkbox for enable expression calculation
When should you use a Decision Table?
When there is a possibility of deriving a value from more than one choice
What happens when one of the rows in a Decision Table rule returns false?
If any of the conditions in a row evaluate to false, processing continues with the next row
What is the significance of evaluate all rows in a Decision Table rule?
It ensures that the entire Decision Table has been evaluated before returning the result
Your business has decided to give 50% off to a product if the card member is Gold, if Silver then 40%, otherwise give flat 10% . How will you design this?
We can do it using Decision Table rule, where we get the discount amount based on return value from the table
Your business wants the manager of particular location to decide which month they want to give discount. How will you do that?
We can delegate a Decision Table and let the manager make the changes.
What is the typical usage of Decision Tree?
Use a Decision Tree to record if/then logic that calculates a value from a set of test conditions organized as a tree structure
Where can a Decision Tree be referenced?
Flow, Activity, Declare Expression
Where can a Decision Table can be referenced?
Flow, Activity, Declare Expression
From a Decision Tree, what are the rules you can call?
Decision Tree, Map Value, Decision Table
Is there any limit for the number of nodes of a Decision Tree?
300-500 max (as post performance might get impacted)
Does Decision Tree produce forward or backward chaining?
No
What do you mean by Declare Constraints?
Constraints rules are used to define and enforce comparison relationships among property values. They can provide an automatic form of property validation every time the property’s value is “touched”
What is forward chaining?
Forward chaining allows for the automatic propagation of changes in one property value to changes in other property values or to indexes
For example - the way the system evaluates constraints automatically each time a property is identified in a constraints rule is changed is known as forward chaining.
Give some examples where forward chaining is used?
Declare Expression rules (whenever inputs change), Declare Trigger and Declare OnChange rules.
What is backward chaining?
Backward chaining executes Declare Expression rules when a value is needed for a property, rather than when inputs change.
Give an example where backward chaining works?
Backward chaining applies to Declare Expression rules
- When no value is present
- When property is missing
- Whenever used
What is a Locatable page? Where are they used ?
Locatable pages reduce the need for pages to be explicitly named in the rule. They can be used with Constraints and Declare Expression rules. There is no need to use “When” condition if you use this feature in backward chaining.
How does Rule Resolution work when it looks for Declaratives?
1) Filters candidate rules based on a requestor’s RuleSet list of RuleSets and Versions
2) Searches through ancestor classes (in the class hierarchy) for candidates when no matching rule is found in the starting class
Can you circumstance a Declarative rule ?
Yes
What can cause Declarative rules to be re-evaluated ?
When a circumstance property’s value changes, the declarative network re-evaluates the expression or constraint. However, if a circumstance property reference uses a top-level page name, changing that property’s value does not cause the declarative network to re-evaluate the expression or constraint.
What does Context-free expression rules mean?
A context-free expression rule is a Declare Expression rule that applies to an embedded page or pages. It computes the value of a target property in every page of that class that appears on the clipboard (regardless of the name, class or content of higher-level pages above the embedded page)
What are some of the best practices for Declare Expression?
Never change the target properties manually, prefer to use whenever used
Your business wants you to design a mechanism so that, whenever someone modifies the interest rate, the regional head gets a mail. How will you implement it?
Use Declare OnChange targeting the interest rate property, and call an activity of OnChange type to send email notification.
Your business wants that if any of their customer has failed to pay one year EMI, then they will no longer be able to apply for any new product of the bank and all the existing requests will be frozen or cancelled. How to implement it?
We can set a flag which can be checked before creating any new request for the customer. We need to track the same flag via a Declare OnChange rule and then suspend all work object via that.
Can an OnChange type rule call or branch to a non-OnChange rule?
No
What are the best practices of Declare OnChange ?
- Don’t create an infinite loop
- Don’t attempt to overtly set the value of a property that is the target of a Declare Expression rule
- Design the OnChange activity to execute quickly
What is policy override flow?
It a kind of flow used to handle some special cases (eg; policy breaches, etc.)
What are the main components required to have the policy override flow in place?
- Property (to show business exception OnChange rule)
- Flow
- Reviewer with ReviewPolicyOverride privilege
Is there any router in place to take care of the routing of policy override flow?
ToPolicyOverrideOperator
Is there any out-of-the-box flow for the policy override flow?
Work-.PolicyOverride
What is the difference between DeclareOnchage-Suspend workitem and policy override ?
“Suspend workitem” completely rejects the work items (via policy override). Other work on the work item is blocked until the review completes
Your business has given the following use case: User will enter their date of birth and the age will be automatically populate. How will you do that?
Use Declare Expression and retrieve it by subtracting the Date of Birth from current date time
Your business has given the following use case: User will enter their date of birth and the age will be automatically populate. You are taking two date types parameter, but age is not date type. How will you convert from date time to integer ?
Use “datetimedifference” function
Using Declare Expression is a way of performing forward chaining or backward chaining ?
Both. If you select “Whenever input changes”, it behaves as forward chaining. “Whenever used” indicates backward chaining
Your business wants to give provision to your end manager to adjust the calculation of final loan disbursed amount (by offering some random discount ). How you can do this?
We can delegate the Declare Expression rule to the manager.
A developer complained that he has successfully created a property but when he is trying to define expression for the same, it is failing to do that. What could be the possible reason?
Check whether “Cannot be declarative target” is checked or not. It should be unchecked.
Can you use symbolic page or primary page ?
No. You cannot use symbolic page names (ie; primary or step-page) because they are meaningful only in an activity execution context
Can you create a Declare Expression on a property defined in Rule-Declare class?
No
Can you define Declare expression on page list properties?
Yes. Under the page context field, identify a Page List or Page Group property reference plus parentheses, starting with a period and omit any index between parentheses
Suppose you have created two Declare Expression for the same property. One is with page context “myPage.EmployeeAge” and the other is only the property “EmployeeAge”. At run time which one will run?
The one with longer reference will execute.
What are the decision rules you can refer from Declare Expression?
Decision Tree, Decision Table and Map Value
Can you fire a Declare Expression from an OnChange type activity?
No
Your client wants to implement a use case so that whenever report instances get saved in production, you get notified. How will you do that?
Create a Declare Trigger
When is Declare Trigger used?
Create Declare Trigger rules to cause an activity to run when instances of a specific class are created, updated, or deleted in the database.
Is Declare Trigger forward or backward chaining?
Forward chaining
What are the different types of event for which a Declare Trigger can be configured?
Saved, Deleted, Saved, Modified, Committed save and Committed deleted.
You don’t want to engage your main thread to run trigger every time you perform a save. Is there any alternative to achieve it?
Design the trigger with trigger in background option. It will ensure that the activity executes in a new requestor, outside of the context of forward chaining.
A developer complained that they have designed trigger with “run in background” option but still can’t get it worked correctly. The changes are not reflecting. What could be the reason?
If you choose “run in background”, the activity should include a Commit method
A developer is planning to use obj-save with write now with a trigger activity in background thread. Is it advisable or not?
No, this is not advisable, because it is not supported.
What are the property types you can set in a trigger ?
Single Value, Value List or Page List property
Your client has the following use case: they want a manager to update the CTC of every employee. They also want to store the old CTC separately. How will you do that?
Design a Declare Trigger to track change of the property and set a property in the field “copy value to” in order to capture the old data.
A developer designed its trigger activity in such a way so that it accesses some data from Clipboard and process it. He also chose to run it in background. At runtime, it does not work. What could be the reason?
The triggered activity cannot access Clipboard pages other than the primary page. So if he tries to access any other page, then it will fail
When can you use file listener?
File Listener form in conjunction with Service File rules to import data from a file or files into your system.
What is the purpose of “associated ruleset” for file listener?
It is required to define when you want to do a ruleset specific packaging. If you keep this empty, system will pick up the application ruleset.
What are the various way to start a file listener?
- Run on all nodes
- Node based startup
- Host based startup (NodeClassification based startup)
What is the difference between Node based and Host based?
Node based startup is when the listener is started only on specified nodes.
Host based startup is when the listener is started on a specified number of nodes on specific servers within the cluster.
How you can make the listener pick every file from a specified folder?
In the Source name mask field, if we define . then it will pick up all the files.
Your business wants the listener to read only the csv files. How to do that?
In the source name mask field, you can define *.csv
Your business wants the file listener to process s multiple files at the same time. How to achieve it?
Mention a single digit number (greater than 1) in the concurrent thread field.
What is pooling interval?
It is the number of seconds that a listener waits before it checks for newly arrived files
Your system consists of a single server node or the file listener is set to run only on a single node. Will you lock the temporary file?
No. It is advisable not to lock it.
Your business complained that few of the files are not getting picked up by file listeners while others are getting picked up properly. What could be the reason?
One issue could be that the files are empty, and if you want the empty files to be picked up and work by listener, it is better to check the option “Process Empty Files?”
How do you let the listener know what to do with corrupted or erroneous file?
Under error tab, for the File operation field, choose Rename or Delete to specify what to do with files in error
What is Guest user in PEGA?
They are unauthenticated requestors (typically have access to only the rules in the rulesets in the PRPC:Unauthenticated access group). The Clipboard for a guest requestor does not include pages for the Operator ID, organization, division, or organization unit
How do you customize the log in sequence for all operators?
Modify the Code-Security.ApplicationProfileSetup activity
Business wants two operators from two different units to be part of same workgroup. Is it possible?
Members of a work group may belong to different organization units, divisions, or even different organizations.
If your browser locale is French but your user locale is German, which one will be picked up at run time?
German locale.
A developer complained that while updating a user Email ID in an Operator ID rule form, they are getting an error stating the length is more than 40 character. How will you solve it?
pyEmailAddress property has the limit of 40 characters (can be overrided)
Where in DB does the Operator ID normally gets stored?
pr_operator table
Your business wants to restrict the access to a particular workbasket only to few set of users. How will you do that?
Set a new role for those set of users and define the same role under the role field in the workbasket
What is workbasket?
Queue of open items
How many types of workbasket can be there?
Two types. Standard and Robotics
What are the pre-requisites to create custom mobile app?
Have to set the following settings system-wide:
- MobileBuildServerAuthentication authentication profile.
- DSS: pega/mobilebuild/baseurl
As a developer you need to debug a mobile app. How do you Enable the Client Clipboard and setting debugging options?
Have to select the “Enable debugging” check box in the advance tab of mobile build tab.
What happens if an offline-enabled mobile app fails to synchronize data after reconnecting to the server?
Pega platform generates a PEGA0066 alert.
Suppose we try to login to mobile app and received “HTTP Basic authentication failed error” during login. What could be the root cause for this issue?
This issue applies only if the Oracle WebLogic web application server is used by the Pega Platform. To overcome it, set the following Oracle SOA 11g partner link binding property to true (oracle.webservices.preemptiveBasicAuth=true)
How do you debug an offline-enabled custom mobile app?
Have to enable the log level settings for following class to debug (com.pega.pegarules.session.internal.mgmt.autostreams.packaging.PackageRunti)me
How do you prevent custom mobile apps from being closed in Android?
Have to open pyKeepAliveTimeout Declare Expression rule and set the value of the keep-alive timeout to 0 (to turn the feature off)
You are working on mobile app and received the below error stacktrace:
- ERROR ITMS-90032: Invalid Image Path – No image found at the path referenced under key ‘CFBundleIcons’: ‘AppIcon20x20’
What could be the root cause of this issue? How do you resolve?
The possible root could be a Missing icon for the device. You can add missing icons to the “asset.zip” file to fix the issues.
What is data page?
Data pages store data that the system needs to populate work item properties for calculations or for other processes.
Note -known as “declare pages” and “declarative pages” in Pega 7
What happens when the system references a Data Page?
The data page either creates an instance of itself (on the Clipboard) and loads the required data in it (for the system to use); or responds to the reference with an existing instance of itself.
Your business user reported that they are facing slowness while accessing a grid. You found that the grid is sourced from a data page. How you will you conclude that declare page is causing the slowness?
Most likely will see a “PEGA0024 ALERT” in the log, which will indicate about the same.
Where in Clipboard will you find Read-only Data Page and Editable Data Page?
Read-only will appear under Data Page list, and Editable under User Page
What are the different Data Page structures?
There are two types :
- Page (contain single object)
- List (contain multiple objects)
What are the various scopes for Data Page?
There are 3 scopes: Thread, Requestor and Node (server)
What is a Thread based Data Page?
Treated in single requestor thread, and accessed as often as needed in the thread
What Requester based Data Page?
Requester can access the page loaded across all threads
What is the disadvantage of Editable Data Page?
They can’t have a refresh strategy, and can only have thread and requester
Your business wants to source data for the data page from two locations one will serve as primary and other as secondary. Can you achieve it?
Yes, provided we define a When rule (which evaluates a condition to decide which source should be picked up) for supplying the data.
What are the various sources you can define in a Data Page?
Connector, Activity, Data Transform, Look-up and Report Definition
A developer complained that he can’t see the “look up” as an option for a data page source. What could be the reason?
“Look up” can only be used as a data source for page-structure data pages. So possibly he forgot to select that.
What are the various refresh strategies of Data Page?
- Can choose to reload once per interaction
- Can specify when we don’t want this refresh to happen or how long it can wait before getting refreshed
Is it possible to use Page Remove to remove the data page?
No
When does the Data Page gets removed from system?
It depends on various page types:
- For node scope, it gets removed only upon server shut down
- For thread scope, it get removed when requestor of that thread logs out
What is Node based Data Page?
Any requester executing on the current node can access the pages
What is NLP?
NLP is a reference application that showcases the text analytics capabilities of the Pega 7 Platform
How many text analyzers does PEGA provide for Intelligent Virtual Assistant for Facebook?
5: Pre-NLP, In Case escapes, Global NLP, Post NLP, Simple NLP
What does Simple NLP do?
Case-sensitive text analyzer that interprets the exact text entered in the message and compares it to the literal names of commands.
Can you modify Simple NLP?
It is recommended not to modify it
What is Post NLP?
Manages commands that have special functions after the message has been received
What is Global NLP?
When the customer is not in the middle of a service case. All queries/responses and case commands should be provided for this NLP taxonomy.
What is In-Case NLP?
It is used for circumstances where the user is in the middle of a service case
What is Pre-NLP?
Manages the status of an Intelligent Virtual Assistant for Facebook Messenger to understand whether the Messenger is currently in the middle of a service case or is interacting with a live agent.
How can you configure NLP?
Use either a rule-based model or free-text model.
What is the benefit of NLP?
NLP makes it possible for you to classify content that is posted on social media (in the form of tweets, posts, comments, messages, and so on) into various categories to make that content easy to sort and manage
Your client wants to upload their custom NLP taxonomy. What are the columns the CSV file must contain ?
Primary, Second, Should words, Must words, And words, Not words, Child match, and Node type
What is the significance of Should words column in NLP’s CSV file?
This column is very important for category assignment. If the text analyser encounters any of the words or phrases that are in this column, the text analyser assigns the content to the corresponding category
What is the significance of Must words column in NLP’s CSV file?
You can narrow down your categorization conditions by specifying the words that the content must contain to be assigned to the corresponding category.
What is Node type column in NLP’s CSV file?
The values in this column indicate whether a row is a category or not
What are the some of the best practices of creating NLP taxonomy?
- Create an exhaustive list of categories
- Test your taxonomy
- Maintain taxonomy regularly
A developer is trying to commit in an activity but getting a error saying the property has been truncated. What could be the issue?
Commit method takes 4 mandatory properties (ObjClass, ClassName,InsKey and InsName). If any one of these four properties contains a value that is longer than the width of the database column, the system associates a warning message.
You did a commit and then ran a report definition. The report fetched the data with (+) symbol in it? What could be the reason?
While doing a commit, if properties contains a value that is longer than the width of the database column, then though the data get saved, the system changes the last character of the truncated value to a plus sign (+) character
What are some of the best practices about commit?
- Commit method should occur only after errors are intercepted, checked, and corrected.
- It should include a transition in the Commit step that checks the status
You are performing a commit operation but it is taking long time at DB end, what properties will you check?
- Performance tool report on Commit operations
- Elapsed time writing to the database (property Code-Pega-PAL.pxCommitElapsed)
- Database Commit Count (property Code-Pega-PAL.pxCommitCount)
- Database Rows Committed (property Code-Pega-PAL.pxCommitRowCount)
Can a regular rule use End Validate method ?
No, it is for custom rules
When is Flow-end method used ?
This method is used to immediately end a flow execution, before execution reaches a Flow-End shape. Used mostly to handle exceptional situations.
Give an example where you will use Queue For Agent method?
This method stores a request for processing as a persistent object (entry) in the system queue. So it is used if there is an application need to queue an agent for processing
Can we use any other alternatives of Queue for Agent method?
Your application can call the standard activity @baseclass.QueueForAgent,
What is default value for “maxAttemps” in Queue For Agent method?
1
You have defined “maxAttempts” as 2 (in Queue For Agent method) and the agent failed 2 time. What will happen next?
If the agent attempts to process the entry this number of times without success, it keeps the item in the queue but changes its status to Broken-Process
Is it required to define “MinimumAgeforProcessing” in Queue For Agent method?
It is important to ensure that a user releases all work item locks before an agent attempts to process the queue entry. To address this requirement, configure a small delay with the MinimumAgeForProcessing parameter. The default value is 0, which means the agent can process a queue entry immediately
As a user, you are trying to fix broken item but facing an insufficient privilege error. What could be the reason?
Users who hold the @baseclass. ReconcileBrokenQueueItems privilege can re-submit or delete broken queue items. If you don’t have it you can’t work on it.
Your business needs to reload the entire session without logging off. How will you achieve it?
When you want to reload, this requires reload of thread page. So I would go for “Thread Clear” method. It will clear the Thread pages for your current session, except for any pages specified in the “KeepPages” parameter
Will Thread-clear method also clear the worklist?
Depends on whether the “EmptyTaskLists” is selected or not. If selected, it will clear activity worklist
Consider a situation where a developer has used Obj-Open but forgot to select the option of ReleaseOnCommit. You are working on something else and faced an unusual situation of being unable to use the page because it is locked. How will you proceed?
Opt for “Page-Unlock” method to release a lock that is no longer needed
Which one will you prefer, Obj-Save or Commit?
Obj-Save is preferable. Use this method to request that the system saves a Clipboard page to the PegaRULES database or (if the page belongs to an external class) an external database. You can reverse the effect of an Obj-Save method (if it has not yet been committed) with the Obj-Save-Cancel or the Rollback method.
Can you do Obj-Save with write now for a trigger type activity?
No
What is the difference between Obj-Save and RDB-Save ?
RDB-save saves the contents of a Clipboard page into a row of a relational database. Use Connect SQL rules and the RDB-Save method only with an external database.
Note - do not use Connect SQL rules or RDB methods to update the PegaRULES database.
Note - because not all properties in the Pega 7 Platform databases are distinct database columns, use the Obj-Open and Obj-Save methods, not the RDB- methods, with the PegaRULES database to prevent loss of data.
What is “RuninParallel” indicates in RDB-Save?
When the “RunInParallel” box is selected, the SQL operation occurs in a new requestor session. This temporary requestor has the same access group and Clipboard as the original.
How many parallel threads can be spun off via RDB Save?
Max 10
A developer complains about seeing a log entry that says “Obj-Save is trying to write to a non-existent column”. What could be the reason?
This error can occur when two different PRPC database schema are present in the same database, but the “Data-Admin-DB-Table” instances do not explicitly identify which schema to use.
Can we delete external database row?
Yes. Use RDB-Delete, to delete a row or rows from an external relational database using SQL
What is the significance of “pxMethodStatus” and “pxMethodStatusInfo” properties?
Most methods update the “pxMethodStatus” property on the pxThread page (with a status that starts with Good, Warn, or Fail). These three values are prefixes to a message key that is looked up as a field value rule.
Optionally, your activities can place additional information about an error or result in the property named “pxMethodStatusInfo”.
Give two examples when an Obj-Save can fail?
- You cannot save a page that is locked by another requestor
- You cannot save pages of any class derived from the “Code-“ base class or the “Embed-“ base class.
When do you use “Obj-Refresh-and-Lock” method?
Use this method to assure that the contents of the step page are current, and a lock is held on the corresponding object. This is useful if you are not certain whether the contents of the step page are current or whether your requester session already holds a lock on the page.
Can Obj-Refresh and lock fail?
If the object is locked and the lock has not expired, this method has no effect
One developer forgot to check the Release On Commit checkbox? How you can retain the lock?
Use Page-Unlock method.
What is LockInfoPage?
As a debugging aid, identifies the name of a page (to be created by this method) to hold the results of the locking attempt when it fails. By convention, this page is named LockInfo in standard rules
How does the system determines whether the current Clipboard page is stale or not?
Compares the last update time stamp of the instance on the step page on the Clipboard (property pxUpdateDateTime) with the pxUpdateDateTime time stamp of the instance on the database. If the times are the same, the Clipboard copy is not stale; if they differ, the Clipboard copy is stale. DateTime values are captured to the nearest millisecond.
Can we update rule instance via Obj Refresh and Lock?
No
What is activity?
Sequential processing unit of Pega. Consists of one or more steps
Where are local variables stored?
Local variables are stored together as fields in the Java class (that PEGA generates) to implement the activity.
Is there any property that holds the reference of the iteration inside a loop of activity?
Yes. “pyIterationTarget” does it. For page and repeat types, it is blank. For embedded, it is the step page reference
When do you use «_space;current»_space; ? Give an example.
The symbolic reference can be used only in the activity step that defines the iteration.
For example - for a repeat type of for-each embedded list, refers to the Clipboard Page of the current iteration. For other repeat types, refers to the index number of the current iteration, and corresponds to the “pyForEachCount” parameter
How many ways you can achieve looping in an activity?
We can get it done in five ways:
- For each top level page
- For each embedded page
- For each element in value list
- For each element in value group
- For loop
What is the significance of template in activity?
Selecting a template automatically sets the activity type
The following options are available:
- Route
- Locate
- Trigger
- Utility
Is there any alternate way to achieve same result like activity?
Although we can’t tell that PEGA has rules which work just like activity, we have some other mechanism to achieve similar results like activity:
- Use data transform
- Use Linked property
- Change work item status in flow
Can you explain how activity works?
When a requestor session runs an activity for the first time, the system converts information from the activity into Java, compiles the Java, and executes it. Later executions (of the same activity in the same ruleset, version, and so on) reuse the compiled Java
If a lock is held and you perform a commit, what will happen to it?
All locks held by the requester Thread will be released