1. Set component changed page field property:
For understanding this open a page in application designer and in the field property of one of the edit field uncheck the property Set component Changed and save the page. Now go on the online page, make some changes in field value and save the page.
What do you think will happen with that field value?
Open online page again and you will find that field value is not changed. Why?
Because Set component Changed property of field helps component buffer to check whether any change in that value has happened. If this property is unchecked any change in the field is ignored and that field in component buffer stays unchanged.
2. Disable saving page component property:
In component properties under Use tab there is a property checkbox named Disable saving page. After we check this checkbox, the save toolbar button in component properties under internet is automatically disabled, i.e delivered save button functionality can not be used after that. This property is very useful in removing that annoying error on page when we move out of the component without saving which says You have unsaved data on the page. Click OK to go back and save or click Cancel to continue without saving.
Don't worry still you can use DoSave() and DoSaveNow() functions using peoplecode to save the data in component.
This property has following significance:
- To remove the unsaved data prompt while moving away from component without saving.
- To disable the delivered save but we can use other toolbar buttons.
3. Search Edit Record field property for Search keys:
In record field properties when we select Search key option, Search edit is enabled to be selected.
Actually SetSearchEdit() function is for limiting the user search to '=' and to 'IN' operators.
e.g. if you want to search the data of Employee ID '12345' so on the search page you have to enter the whole Employee ID '12345'.
If you will think that after entering only '123' in search field will enlist all the employee IDs starting with '123', search edit set on employee ID will prevent this from happening and search will give some error.
So now your search is limited to '=' or 'IN' only as:
EMPLID = '12345'
or
EMPLID IN ('12345')
If you want to remove search edit from some field, simply use function ClearSearchEdit() on SearchInit for this. Or for enabling search edit, use function SetSearchEdit().
4. DiscardRow() and StopFetching() peoplecode functions:
DiscardRow() and StopFetching() are the delivered peoplecode functions which can only be used in RowSelect event.
DiscardRow is not to select a particular row based on some certain condition but continues with the next row in RowSelect.
But unlike the DiscardRow, StopFetching stops the execution of RowSelect based on some certain condition which we provide in peopleode on RowSelect event. From the definition of StopFetching function, we can understand that it acts like and error in RowSelect event.
5. Accessing the related display field in grid on peoplesoft pages:
There could be chances that we are required to access the related display field on grid. If there is only one record field as related display then its fine, no problem there. But it is complicated when there are multiple related displays from the same record fields.
Let us say that in one of the grid we want to show the names for JOB.SUPERVISOR_ID and JOB.EMPLID and these fields are display control fields and related fields for both is PERSON_NAME.NAME so referencing the related field of JOB.SUPERVISOR_ID will be an issue with the grid referencing syntax as it will reference the related field of JOB.EMPLID also.
Now here is the syntax for the same:
Let row of that field is &Grid_Row
Now accessing the related field of JOB.SUPERVISOR_ID:
&Grid_Row. JOB.SUPERVISOR_ID.GetRelated (PERSON_NAME.NAME).value;
Now accessing the related field of JOB.EMPLID:
&Grid_Row. JOB.EMPLID.GetRelated (PERSON_NAME.NAME).value