Saturday, December 31, 2016

PEGA INTERVIEW PDN REFERENCE LINKS

https://pdn.pega.com/sites/pdn.pega.com/files/help_v721/procomhelpmain.htm#rule-/rule-obj-/rule-obj-ticket/main.htm

https://pdn.pega.com/deployment/choosing-between-an-ear-file-deployment-or-war-file-deployment
http://www.w3schools.com/sql/sql_join.asp

https://pdn.pega.com/performance/how-to-reduce-rules-assembly-processing-in-a-production-system


How asynchronous service processing works
https://pdn.pega.com/sites/pdn.pega.com/files/help_v63sp1/Default.htm

https://pdn.pega.com/help-system/prpc/62-sp1/atlas-initial-database-tables
https://pdn.pega.com/performance/create-a-database-index-to-improve-performance-of-searches

https://pdn.pega.com/pegarules-database/troubleshooting-work-objects-incorrectly-saved-into-the-pr-other-table


https://pdn.pega.com/implementation-methodology-dco/understanding-the-class-structure-and-rulesets-generated-by-the-application-accelerator


https://pdn.pega.com/forums/prpc/general-questions/difference-between-workgroup-accessgroup-worklist-workbasket-and-work-parties

https://pdn.pega.com/testing-applications/troubleshooting-agents

https://pdn.pega.com/case-management/case-management-overview

https://pdn.pega.com/using-pal-to-discover-application-performance-issues
https://pdn.pega.com/system-operations/running-agents-on-a-multi-node-system

https://pdn.pega.com/system-operations/how-agent-queues-work
https://pdn.pega.com/system-operations/how-to-modify-an-existing-agent

https://pdn.pega.com/performance/understanding-the-pega0032-alert-rule-change-invalidated-the-specified-threshold-of-entries-in-the-r

https://pdn.pega.com/process/can-allow-users-in-distinct-organizations-to-share-one-work-pool

https://pdn.pega.com/process/how-to-recall-an-assignment-using-the-splitjoin-shape

https://pdn.pega.com/system-operations/how-to-temporarily-disallow-new-interactive-logins-with-a-dout-composite-portals

https://pdn.pega.com/sites/pdn.pega.com/files/help_v71/procomhelpmain.htm#rule-/rule-html-/rule-html-fragment/main.htm

https://pdn.pega.com/search/apachesolr_search/authentications

PEGA INTERVIEW QUESTION & ANSWERS

Abstarct vs Concrete

A concrete class can have instances stored in the database. In contrast, an abstract class cannot have any instances.
An abstract class can be a child — a subclass — of a higher abstract class.
WORK  GROUP
A workgroup is define as part of the the orgainzational struture and is used when configuring a Workbasket.
CLASS GROUP
A class group is an instance of the Data-Admin-DB-ClassGroup class.
A class group instance causes the system to store the instances corresponding to two or more concrete classes that share a common key format in a single database
table. The name of the class group is a prefix of the names of the member classes.
ACESS GROUP
An Access group is part of the PRPC security model. The operator ID points to an access group which specifies the Application Rule (which has the rulesets).
 The access group also defines the roles which controls the privileges that an operator may have.
A workparty can be used to specify who the email correspondences/reports to and/or to route assignments.
A work pool, defined by a class group instance, causes all work items for an application to be stored in a single shared database table.
This sharing is helpful in searching and reporting on work items. With appropriate safeguards, this also allows a work item to be reclassified from one work type to another (when both are in the
same work pool). Such reclassification can be a typical, normal aspect of the application workflow, or can indicate that the work item was initially created with the wrong work type.
In development systems (only), the system can automatically create a database table (and associated Data-Admin-DB-Table data instance) each time you create a work
pool, directly from the class form or indirectly through a wizard or tool. The structure of the new table is similar to the initial structure of the pc_work table
An access role is an instance of the Rule-Access-Role-Name class.
Use an access role name to convey permissions (capabilities) to a user or a group of users. Access roles can be referenced in requestor instances, Operator ID  instances, in access group instances, in activities, and in queries. Standard access roles (with names starting with PegaRULES:) define capabilities for:
Guests
Authenticated users
Work managers
Developers
Create or modify an Access of Role to Object rule for each class on which you want to set new or additional access permissions based on access role (Rule-Access-Role-
Name rule type).
To specify new or different access to a class than provided by standard Access of Role to Object rules, create an access role (Rule-Access-Role-Name rule type) and
then create an Access of Role to Object rule for the appropriate classes.
 Access of Role to Object rules are not subject to rule resolution and affect all users on a system.
As a best practice to avoid confusion and difficult-to-debug security configurations, place each Access of Role to Object rule in the same RuleSet as the RuleSet of
the Access Class — the second key part
A privilege is an application-specific access control element associated with a class and access role.
A privilege rule is an instance of a Rule-Access-Privilege rule type. A privilege name is the second key part of a privilege rule.
A privilege rule only names a privilege; it does not convey the privilege to anyone.
To have access to a privilege, a requestor session must "hold," in the access role list, at least one of the access roles that grant access to the privilege.

The association between access roles and privileges is defined by instances of the Rule-Access-Role-Obj rule type.
If you create the applications through Application Express each work pool has a dedicated table named pc_ZZZZZ_Work, which initially is a copy of the pc_work table, and the steps below are not necessary.
If your pc_work table contains work items from two or more unrelated applications, use these steps to segregate work items into a dedicated table:
1.            Create a new database table by copying the schema for the standard pc_work table. Be certain to update the CONSTRAINT element in the new table to reference itself, not the old pc_work table.
1. Why should we use blod .
Transcript
The full PRPC object image is stored in the database table within the pzPVStream column, defined as a BLOB datatype. BLOBs are very efficient and flexible mechanisms for object storage because…
They are compressed by PRPC for low storage overhead.
They can hold any amount of information since there are no physical limit constraints, such as maximum column lengths or page sizes.
The object structure can be very complex, holding many levels of nested structures and repeating groups of information.
The object structure can change from instance to instance without the involvement of the DBA in making complex changes to the database schema.
The following is an example of what occurs when requesting an object that requires reading the stream.

The DBMS executes a Select to retrieve the object; a typical BLOB for a work object is 20,000 bytes or more in size.
During this operation, three extra I/O operations are performed to read the pzPvStream, as this 20k of data is stored in 8k chunks on their own data pages.
This 20k of data is transmitted as a "stream" across the network.
The JVM allocates a large chunk of memory to receive this data. The stream is uncompressed using CPU resources and requires even more memory to hold the uncompressed
data. This stream is parsed to find the data for the two referenced properties.
The two requested clipboard property instances are created, consuming more CPU.
Finally, the temporary memory is discarded, and the JVM soon invokes the garbage collector and takes more CPU to reclaim this 40k.
When reading just one instance of an object, such as when opening a work object, this overhead is hardly noticed.  When using a List View, this process happens for each row in the list.  The typical cap on List View reports is 500 rows, which means it is easy to generate (500 x 40,000 or 20MB of garbage).  Multiply this by 100 users and 2 GB of garbage is generated!
This is one reason why memory allocation in production systems becomes excessive and how "garbage collection" within the JVM becomes strained.  High CPU usage and high network utilization also affect user response time.  Fortunately, by exposing columns, this issue can be easily remedied.

2. How agents run in multinode
For each Agents rule, the system creates Agent Schedules for each node in a multi-node system. However, for some Legacy-mode agents, contention can occur.  As an
suppose you have a system with four nodes, and an agent has ten tasks that are queued for processing.  The agent on Node A picks the first task from the queue, locks the associated work object, and begins processing that task.
The agent on Node B goes to the queue and also picks the first task (which is still there, as it hasn’t been completed).  When it tries to get a lock on the work object, it is blocked (since Node A has that lock); the agent on Node B then either goes back to sleep, not having accomplished anything, or chooses the next task in the queue and begins processing that.
Now Node C goes to the queue.  It tries the first item, and finds that locked, and then tries the second, and finds that locked.  It finally picks up the third item (having wasted system resources trying to process the first two tasks) and processes that.  And Node D has to go through the first three tasks before getting to one that isn’t locked.
To prevent this contention, it is recommended that one node be chosen to do the agent processing.  The agents on the other nodes should then be disabled, by opening the Agent Schedule form for each node, and unchecking the Enabled box for each agent.
Note that if additional servers are added into this system, their agents must also be disabled, once the Agent Schedules are created for that node by the system.

3. what happens if we check Obj-save write now option



PRPC's default behavior for performing Obj-Save is to "defer" the actual UPDATE/INSERT SQL command until a Commit is issued. 

The benefits of this deferral are the ability to perform multiple, back-to-back saves on the very same object instance and PRPC will combine these updates into a
single cumulative update at the time of commit thus decreasing the interval of time in which locks are held within the database. 

This maximizes concurrency within the application.

Specifying "WriteNow" defeats all the benefits of the deferred save feature.

There are legitimate reasons to performing a WriteNow, such as needing to immediately re-read this instance before issuing a commit.  Use of this method can be
dangerous if proper locking and error checking is not done.  This is not common practice, however, which is why these are called "Warnings" and not "Errors."

4.What is skimming

Skimming is the act of taking the highest version of a rule and saving it into a new, higher RuleSet Version. As a result, it applies mainly to rule resolved rules,
and there are exceptions to what gets skimmed based on the availability of the rule as well as the type of skim being performed.

Traditionally, there are two types of Skims, Major and Minor. These reflect the tri-partite naming convention for RuleSet Versions, Major-Minor-Patch. During a Minor
skim, rules are stored in a higher Minor version, and during a Major skim, rules are stored in a higher Major version.
Examples
Major: Skimming rules in 06-05-01 through 06-09-25 into 07-01-01
Minor: Skimming rules in 06-05-01 through 06-09-25 into 06-10-01
Major Skim
During a major skim, rules with Availability of 'Yes', 'Blocked', and 'Final' are carried forward. Rules with availability of 'No' (not available) or 'Withdrawn' are
filtered out. Blocked rules are carried forward because a Blocked rule can block rules in other RuleSets, and that relationship should be maintained if it exists.
Minor Skim
During a minor skim, rules with Availability of 'Yes', 'Blocked', 'Withdrawn' and 'Final' are carried forward. Rules with availability of 'No' (shown as 'Not
Available' in the table below) are filtered out.


5. Process of connect-soap

Use the Metadata and Connector Accelerator to generate Parse XML and stream rules from the WSDL.
Open the connector rule, select the Advanced tab and ensure that Axis2 is specified in the Axis Version field.
Still on the Advanced tab, delete the rows in the Schema Definitions sections.
On the Request tab, change the data type of the parameters being mapped from XML Page to XML Literal, change the Map From option from Clipboard to XML Stream, and then
identify the stream name in the Map From Key field.
On the Response tab, change the data type of the parameters being mapped from XML Page to XML Literal, change the Map To option from Clipboard to XML Parse, and then
identify the stream name in the Map To Key field.
NoteYou can also map the values to and from single-value clipboard properties and then call the parse or stream rule from the connector activity.

7. Diff btwn work group and work basket

Each operator has a worklist which shows the list of assignments availble for processing.

Generally, a department will setup a Workbasket for users to pull assignments from.

A workgroup is define as part of the the orgainzational struture and is used when configuring a Workbasket.

An Access group is part of the PRPC security model. The operator ID points to an access group which specifies the Application Rule (which has the rulesets). The access
group also defines the roles which controls the privileges that an operator may have.

A workparty can be used to specify who the email correspondences/reports to and/or to route assignments.

8. Commit

Use this method to commit all uncommitted database changes. This method writes all the instances specified by one or more earlier Obj-Save methods to the PegaRULES
database (for internal classes) and to external databases (for external classes).

 Basics
The Commit method operates on Thread pages that can operate across multiple instances. After an object instance is saved into the database, it is persistent.
Note : Use the Rollback method or the Obj-Save-Cancel method to cancel a previous Obj-Save before commit.


Note : Don't use the Commit method in an activity that has an Activity Type of Utility, Route, Assign, Notify, or Integrator.

 Flow processing performs commits
automatically when the flow ends and when an assignment is created or completed. To avoid interference with this approach, do not use Commit in the flow-related activities in your application. (When you save an activity that uses Commit, if the Applies To key part of the activity is derived from the Work- base class, a warning message appears).
Note: Most database updates require that the requestor hold a lock on the object. Typically a requestor acquires this lock when the requestor first opens the object  with the Obj-Open, Obj-Open-By-Handle, or Obj-Refresh-and-Lock method. Note these two exceptions:
A lock is not required for the first-ever commit operation of a newly created object.
A lock is not required for objects of classes that don't support locking.

The Commit method has no parameters.

The system commits all deferred write operations (including deletes) for this requestor in the queue to the database.
 If any of the writes fail, they all fail.
Commit operations can trigger the execution of Declare Trigger rules.

The system updates indexes as required by executing Declare Index rules.

All locks held by the requestor Thread (except those that were acquired with the ReleaseOnCommit box not selected in the Obj-Open method) are released.

When a deferred — that is, non-immediate — Obj-Save or Obj-Delete method fails, the next Commit method will also fail unless one of the following is performed
successfully before the Commit method is attempted again:

Another deferred Obj-Delete (or Obj-Save) method is performed on the instance
An Obj-Save-Cancel is performed
A Rollback method is performed
CautionIf during the database save, any of the four properties listed below contain a value that is wider than the corresponding database column, the Commit method
fails. The system associates the message Database-ColumnTruncated with the property in error. (This message begins "Property Zzzzz has been truncated...")
pxObjClass
pxInsName
pzInsKey
pyClassName
If any property other than these four properties contains a value that is longer than the width of the database column, the system associates a warning message
Database-BadTableMapping-KeyPropertyTooBig with the property and returns a warning status. The database is updated and data for the column is truncated to fit. The
system changes the last character of the truncated value to a plus sign (+) character, as a more enduring indication of this problem in case the warning message is
missed or ignored.


11. In production environment how to modify the agent if it is running every weekly need to modify to daily baiss.

Select an existing agent, or create a new one by selecting Application > New > Rule > SysAdmin > Agents. Each RuleSet has no more than one Agents rule, which can manage multiple agents.
Select Recurring for the Pattern and click the Advanced Interval(sec) button. The Recurrence dialog appears. Depending on which Pattern radio button you select, you See options relevant to your selection.
Daily:

Two main classes that hold information about agents:
Agents rules (instances of Rule-Agent-Queue)
Agent Schedules (instances of Data-Agent-Queue)

Suggested Approach

Agents rules define the background processing that is to be accomplished by agents in the system, including the activity that each agent should execute for the
processing, its wake-up schedule, and its agent queue settings.  Each agent that is listed in the Agents rule has one task it accomplishes (checking incoming email,
updating status of work objects, etc.).   The Agents rules apply to the entire system, no matter how many nodes the system has.
There are a number of Agents rules that are shipped with the system; as with all shipped rules, these are in locked RuleSets and cannot be changed.  In order to allow
customers to change scheduling intervals, or enable or disable the agents, the Agent Schedule instances are provided.
Agent Schedule data instances determine whether an agent is enabled, and (on a multi-node system) on which server node that agent will run.  It is also possible to
change the agent wake-up interval in Agent Schedules.
When Process Commander starts, the system looks for all the Agents rules.  For each of these rules, the system looks for one Agent Schedule instance for each node.
If there is not an Agent Schedule instance present for a node, the system creates one by copying information from the associated Agents rule.  Thus, if a system has five nodes, then for the Pega-RULES Agents rule, there will be five Pega-RULES Agent Schedule data instances.
After the Agent Schedules have been created, they provide agent information to the system.  The system uses the Agents rules to define the Schedule instances.  After the Schedules are present, the original values entered in the Agents rule for schedule intervals or enabling agents are not used; the system uses the information in the Agent Schedules only.

How to expose an embedded property

 To create indexes for an embedded property in a Page List, Page Group, or Page property, you can use the Declarative Index wizard.Working together, Process Commander developers and a database administrator (DBA) can define an Index- class and a Declare Index rule to improve access to data not in an exposed column of a database table.Identify the property or properties on the source object that are to make up the index instance.
Create a concrete class derived from the Index- base class that will contain the new index instances. For concrete classes derived from the Index- base class, the key consists of three properties pxInsIndexedKey, pxIndexCount, and pxIndexPurpose, in that order.
Determine which database table will hold the new indexes. Create the database table if necessary and associate the table with the class through a Database Table instance. The three key properties must be exposed columns in the table.
Define Single Value properties in the new index class to hold the values of the source instance properties. Confirm with your database administrator that all these properties are exposed columns in the database, or modify the database schema as necessary.
Choose a purpose name for the Declare Index rule.
Create a Declare Index rule, recording the source of each property value and its corresponding index property name.
Index processing starts as soon as you save the Declare Index rule.


How to remove duplicates from embeded page
@removeDuplicatesFromList(ResultsPage,"pyUserIdentifier", "Data-Admin-Operator-ID")

or use
For each embedded page, copy from the pagelist containing duplicates into another pagelist with pre condition using the function IsInPagelist() if true exit iteration else continue
WorkBasket Access
Hi , I have One Workbasket(will have 'x' WorkOjects and 'Y' WO) and can be accessed by 2 users(userX and userY).I need an access control that userX can access only 'X'
WO and userY can access 'Y' WO from the Work Basket. Can some pls let me know how to do that for the security.

1.if there are two type of assignmnts,then add two different priviliges to the corresponding two Flowactions(FA).
2.then create two roles for correspondng two privilges(these roles we need to tag to the user.)
3.If the two users belong to different access groups,then add the two roles to their respective access groups.
4.if the two users belong to same access group i.e based on the operator Skills we need to differentiate their capabilities then,at login time add the above roles
dynamically based on the skills in the operator page.
Diff between Workbaskets/workgroups
Workbasket can be specified in workgroup and work group can be specified in work basket, so whats the exact relation between work group and work basket. And work groups can also be specified in the oprator id form, so here are we bypassing the work group.

Hi,While we define an operator, if the work group is left empty, that operator can enter work objects but cannot access a worklist or workbaskets.

Diff between screenfows Vs flows

To make a screen flow, create a new flow rule and select ScreenFlow in the Template field.
Note : A screen flow rule cannot be a starter flow rule. Use a regular flow to create the work object. Then call the screen flow as a subflow.
Note : The standard harness rule Work-.PerformScreenFlow is by default used to present the assignments in a screen flow rule. You can override this rule; the standard harness rules Work-.TabbedScreenFlow and Work-.TreeNavigation provide alternative presentations.
Note : A screen flow rule must have at least one task marked as entry point. Typically, screen flow rules have multiple tasks marked as entry points; these are places in the flow that a user can return to using the  Back   button.
Note : A screen flow can operate on a temporary work object, one that is never saved to the database.
Screen flows are used to handle data entry processing and differ from regular flows. To create a screen flow, select Screen Flow as the template when creating a new flow rule. The main differences between screen flows and regular flows are that screen flows:

Screenflows:

1.            Offer only a limited set of flow shapes
2.            Let you only define a single harness for the entire screen flow
3.            Need to be routed to a user (not a workbasket) and should remain assigned to that user for the duration of the flow (the router shape is not available in a screen flow)
4.            Cannot be starter flows but can only be sub-flows
5.            Allow you to jump forward and backwards and this is controlled by the entry point checkbox on each assignment in a screen flow
Screen flows offer three out of the box run time presentation formats. The first is the PerformScreenFlow which uses the bread crumb trail to keep track of the steps.
The second is the TabbedScreenFlow which uses tabs to display the steps in the process. The last is the TreeNavigation which uses a tree to display tasks.
6. No Router Shape in screenflow.
7. Screen flow cannot create a Wo it shd use a existing WO created by a Flow

What is the main control for composite portal
WorkArea where we can add harness sections etc.
How to call 6 webservices on six tabs at a time considering performance
Option 1 : Call each service only when  clickinh on each tab bot every one at a time
Option 2 : In activity call run in parrlel and Connect wait untill the first service complete than Page-Merge-Into them.

DCO :
Build new applications in minutes with Application Express. In Designer Studio and Case Designer you can create, reuse, specialize, document, or extend Direct Capture
of Objectives (DCO) assets like processes, business objectives, specifications, requirements when and where they are needed.

Application Accelerator — The Application Accelerator is enhanced to build initial framework layers, to build another framework and implementation on top of an
existing framework, and to guide the design of application class structures. See DCO 6.1 -- Using the Application Accelerator
Application Profiler — The Application Profiler can accept and merge inputs from multiple developers into a consolidated document. See DCO 6.1 -- Creating an
Application Profile
DCO Application Enablement Wizard — A new wizard enables existing applications that were not originally created with DCO facilities to take advantage of many DCO
capabilities. See DCO 6.1 -- Using the Application Enablement wizard

Soap Vs Http

The advantage with SOAP is the description of the services captured in WSDL docuements.
WSDL can be consumed by Pega to build out the connectors in the case of a connect.
 In the case of a Service, Pega can produce the WSDL to give to third party clients who presumably can consume and build out a client to talk with Pega.

In other words, HTTP provides a more free form way to exchange information. SOAP provides a more structured way to exchange inforamtion.
HTTP may be quicker to get up and running (again assuming you have control of both sides of the conversation), but will be more difficult for an arbitrary client to
start using.

Performance :

System performance has a direct impact on user productivity and business value.


Diff b/w Blocked and Withdrawn Rules
A blocked rule and a withdrawn rule are both invisible to rule resolution. Similarly, both blocked rules and withdrawn rules prevent lower-version rules with the same
RuleSet and visible key from being selected by rule resolution. However, a blocked rule may block other rules in any RuleSet, and a blocked rule stops rule resolution
from finding rules in higher Applies To classes. A withdrawn rule affects other rules only in one RuleSet and one Applies To class.

When you skim a RuleSet version that contains a blocked rule, the resulting RuleSet version does not contain the blocked rule or any rules that the blocked rule
blocks. When you skim a RuleSet version that contains a withdrawn rule, the resulting RuleSet version contains the withdrawn rule.


PAGEGROUP


From PRPC 5.2 you can now include PageGroups in repeating lists without needing to use custom HTML or JSP code.
Since PageGroups require a subscript, PRPC prompts the user for the subscript. If you need to control the list of possible subscripts, you can do so by copying the
pyLabel property to your data class and filling in the table edit fields, hence controlling the list of valid values.
Note: You can further control the look and feel of the subscript prompt by overriding the SubScriptPromptForInfo section. You can only include one property on this
form.


Decision Tree Vs Decion Table :

Purpose

Use a decision tree to record if .. then logic that calculates a value from a set of test conditions organized as a tree structure on the Decision tab, with the 'base' of the tree at the left.
Where referenced
Rules of four other types can reference decision trees:

    In a flow rule, you can reference a decision tree in a decision shape, identified by the Decision shape (Decision shape in Process Modeler or Decision shape in
Visio).
    In an activity, you can evaluate a decision tree using the Property-Map-DecisionTree method.
    A Declare Expression rule can call a decision tree.
    A collection rule can call a decision table.

Access

Use the Application Explorer to access decision trees that apply to work types in your current work pool. Use the Rules Explorer to list all decision trees available
to you.
Development

The Decision tab offers various formats and choices, depending on settings on the Results tab:

    For an advanced decision tree, complete the Input tab before the Decision tab.
    For a basic decision tree, complete the Results tab first. To restrict the results to one of a few constant values, complete the Results tab before the Decision
tab.

Delegation

After you complete initial development and testing, you can delegate selected decision trees to line business managers. The Decision tab of the Decision Tree form
provides managers access to the fields most often updated, subject to any restrictions entered on the Results tab.

Decision Table

Purpose

Use a decision table to derive a value that has one of a few possible outcomes, where each outcome can be detected by a test condition. A decision table lists two or
more rows, each containing test conditions, optional actions, and a result.

At runtime, the system evaluates the rows starting at the topmost row:

    If any of the conditions in a row evaluate to false, processing continues with the next row. The Actions columns and Return column for that row are ignored.
    If all the conditions in a row evaluate to true, then the Actions and Return columns of that row are processed. What happens next depends on the Evaluate All Rows
checkbox (on the Results tab).
    If the Evaluate All Rows checkbox is not selected, processing ends and the system returns the value in the Return column as the value of the entire rule. If
Evaluate All Rows box is selected, processing continues through all remaining rows, performing the Actions and Return calculations for any rows for which the
conditions are all true.
    If for no rows in the table do all conditions evaluate to true, the system returns a default result.

Where referenced

Rules of four other types can reference decision tables:

    In a flow rule, you can reference a decision table in a decision shape, identified by the Decision shape (Decision shape in Process Modeler or Decision shape in
Visio) .
    In an activity, you can evaluate a decision tree using the Property-Map-DecisionTable method.
    A Declare Expression rule can call a decision table.
    A collection rule can call a decision table.
declare pages

    Node — Any requestor executing on the current node can access the pages.
    Thread — The page is created in a single requestor Thread, and can be accessed as often as needed by processing in that Thread. Later accesses on another
threadcause the data page to load a distinct page which may have different contents, even if it is by the same requestor.
    Requestor — The requestor can access the page(s) loaded across all threads. Accesses by separate requestors create distinct pages which may have different
security model.-> also says the authentication mechanisam also authorization mechanisam

data source -> system of requests if there a integarted component how do u mange -> service consistancy...
database design architecture : what is the size of databse ,
case design major:
data properties : abstract / concentrate
integartion factors -> use simulations and start working based on asesing the request and reposne by keeping dummy properties
data layer : shd be in frame work layer or implementation layer it shd be feasible enough to adaptable for all lines of business.

Foundation is the base -> construction phase

predefined

recycle manage by LSA.

Version 7 Questions..


How to get Keyboard Shorcuts in Pega7

select Preferences from the Operator menu, which is your own full name displayed in the Designer Studio header.

Q)  How to purge and archive data work objects?
I am planning to use the archiving wizard for my project but i am kind of new to it as i have not used it before. I understand that one can set up a archiving+Purging
or only purging routine by selecting the workpool and defining the criteria to purge the old cases. But still have doubt in the following areas.
1. Does the agent purge/archive history table entries as well, this is the main driving factor for us to go for archiving
2. We have a few decalre indexes mapped with index tables. Will they be archived as well?
3. Does it purge other data and link entries like work party and attachments?

)How to start a flow from a click of a button/link
Two Options for you;
1] If you want to create a new workobject on click of a button then Create your own activity say TestActivity for that button and call CreateWorkProcess Activity from
TestActivity. This activity requires Organization name and Flow Name as parameters
2] If you want to run a flow (without creating workobject) then from the TestActivity give call to StartFlow Activity,where you need to pass Flow Name as parameter
Routing a screenflow
Recently I came across this question... How do we route a screensflow?
Screenflow is design to work with single user, you shouldn't route the work.
But what would we do if we want to route the entire screenflow to some user..
In the start shape of screenflow you will have the option to route it to any user
At the Start Shape there is an option Router , By that we can Transfer the assignment .
You can Call ReassignToWorkBasket OOTB activity and then call BranchHarness to the confirmation screen.

Q)  split for each senarios

can any body say some senarios where exactly the split for each shape is applicable. plz dont give the example of workparties already mentioned in pdn. Reply ASP

Online Examination can be taken as a example. I have a set of objective questions in a page list and i will iterate the questions on a flow. Showing the same screen, for different questions.


Q) Moving assignments from Work basket to work basket

Need re assign assignments from one work basket to another work basket using on click on button by activity. Pls let me know.

Did you try pxTransferAssignment activitiy  ?

Q) Update the newAssignPage
How should i update the newAssignPage of the current work object? Is there a need to explicitly acquire the lock of the work object (as the lock will always be held by
the current requestor). A simple Property-Set & Obj-Save combination on the newAssignPage is not working here

We have an SLA on an assignment . The escalation activity updates the work object status and we want to keep the pyStatusWork and the assignment status in sync here.
We are not creating a new assignment at this point , hope you get my point.

That sounds reasonable. The property-set (on newAssignPage) followed by Obj-Save should work, unless you've checked "immediate" in the Obj-Save which you shouldn't do.

Q)  Text area Box not validating client side

Ans)



Q) Check and Uncheck a checkbox based on a property

Can we check and uncheck a checkbox based a property's value .

Yes we can check and uncheck a checkbox based on a property's value by writing your own html code in pxcheckbox rule or you can write html code in a when rule.
For example,
let us take a section in that drag checkbox option in a box and assign a property to it in cell properties and now open the pxcheckbox control and do saveas.
Later click on html tab in that uncheck the Autogenerated html checkbox and write your own html code and use it.



===============

Customizing Report Definition Title
How can I customize the Title for a Report Definition? I want to add current date along with the Report Name in the Title of the Report.
If you want to edit/change/customize the title for Report Definition, just go to Pega-Reporting-Access-Report Browser.
When you open report browser you can see all the reports. Select the category in which your report is present and right click on the title of your report, you will get
an option to edit, by clicking on edit another window will open there at the Report Title Field enter the title as you wish and then click ok.


======================
) How to disable a rule instead of delete the rule
If you want to disable a rule upto a  point of time, then you can use circumstance rule or select date range,this options will be available when you do saveas a rule,
but it is not available for all rules, like it works for activity,
You can change the rule availability and disable the rule, without deleting it.

Q) How to insert the data into two different data base tables through an activity

 I have a section which has the data to insert into two different tables. I have written three activities. One is for the first table and another one is for second table. I am calling these two activities in the first activity. But it is giving an error message saying that

)  How to fetch only next 6 months records and populate in a Repeating Grid

I have a Pagelist which has values , both past and future records fetched from a service.
Now I have to filter these records to give only next 6 months Date records from Current date.
I tried using Obj-Filter and used  a When rule to filter the records.
In the When rule, used @DateTimeDifference function(@CurrentDateTime, .datepropname,M) >0
                                        AND
                                       @DateTimeDifference function(@CurrentDateTime, .datepropname,M) <6 p="">

Q)  How to populate only first 10 records in a sorted Pagelist in a Repeating Grid

I have a Repeating Grid, which must display 5 rows on page load.
And max. 10 records using a scrollbar.
I have used Progressive option in Repeating Grid properties panel to display 5 rows on page load.
If the Sorted Pagelist has more than 10 records , how to display only upto 10 rows in the Repeating Grid.

 How to migrate work objects from production to dev


I have a requirement to duplicate the work objects from production to dev enviroment. The work object in both the environments reside in an external table. Did any one
implement a solution for the same.
Hi ,  Try using the Work package wizard at  Systems --> Tools -> PackageWork. It should allow you to package work as long as you have the needed access.

Q)  How to send the correspondence through assignment.

In the Assignment Notify tab I am using the Notify assignment activity. And directly I hard coded the Email value : "SomeoneExample@gmail.com"

Send Email with Attachments
I n

Use reports scheduling., you could schedule the reports and send it to an email as an attachment.
Pega-->Reporting-->components--->Schedule tasks.

By scheduling you can do all the things which you have asked.
Go to pega-Reporting-Access-ReportBrowser.
In the report browser right click on any of the shortcuts of the reports under the title column, a pop will appear in which you have a schedule option, by clicking on
it a window will pop up. In that you have an option to schedule it and send an email to others with an attachment.

  How to create footer for PDF


using the HTMLToPDF activity and generating the required PDF , i am successful in generation.

How to enable Agents on multiple nodes without contention
We have a design having same Agent running in multiple node processing 500 records each time, there are about 5 nodes planned to have in production, but we have a data
contention issue while we start processing the records, how can we avoid using out of the box functionality??
You will need to create a temporary table, populate it using the script. It will need few coulmns like number,pyid, enddate, requestorID and error message (optional).
as soon as your agent starts use RDB-Save and for first 50/500 based on your requirement records put requestor ID of current agent. make sure to use where caluse
having requestor ID is null.
UPDATE {tabel name}
SET
REQ_ID = {pxRequestor.pzRequestorId},
PROCESS_STATUS = 'IN PROGRESS'
WHERE
ROWNUM <= 500
AND
REQ_ID is NULL
Once we have locked records use RDB-List to get all records use requestor ID in where caluse and process. As each agent have unique requestor ID conflict will not
happen.
We have been using to process huge no of records and running 20 instance of same agent and never faced issue.


)  Not able to move Data instances from one Env to another
We are running on PRPC 6.2 SP2. We are not able to move Data instances from one Env to Another. We are seeing the following exceptions while importing RAP

The bundle requires changes to the database schema. You do not have permissions to perform schema migration. Please download the SQL DDL, execute it and continue the
wizard.

Is this a known issue in 6.2? Do we need to create the data instance manually again?


1.Open the Jar file ( using the winzip)
2. you will see file   A) Application.xml' B) ABC_schema.jar C) other jar file
3. 1Edit the Application.xml and remove tag completely
3.2 Change the order on the remaining tags to start from 1
4. Save zip file
And deploye. This would remove the Schema jar file 's SQL execution by PEga

You can disable the features that make changes to the database schema at the system level by setting the Data-Admin-System setting AutoDBSchemaChanges to false. This
makes all these features unavailable for all the roles and users in the system.
When AutoDBSchemaChanges to true, you can control access to individual features by removing the associated privileges from the SysAdm4 role. The table below summarizes
the privileges associated with each feature.

 how to create dynamic where class in connect sql
Sample is shown below,
Select * from tablename where colname ={pagename.propertyname};




Is pega having any OOTB feature to create a system generated password?
Pega have OOTB function to encrypt and decrypt the password, check it my help you
@encryptPW()
@decryptPW()

Q) How to call a flow which is belongs to different application in an activity

You have to add the class name of the required flow in pages&classes tab of the activity.
Once you added you can access that flow in your current application.