QAD 2017 Enterprise Edition > User Guides > Planning and Scheduling Workbenches Administration > Personalization Architecture > User Exits
  
User Exits
The architecture provides a way to add additional processing logic. You add processing logic by adding code to the user exit programs.
The user exit programs have access to the ProDataSets that are used to pass data between the workbenches client and the server-side OpenEdge AppServer. Depending on what needs to be done, the user exit programs can read data from, and write data to, the ProDataSet's temp-tables.
Post Search Read (woscrtrvx.p): The system invokes this user exit program immediately after search processing. For example, you can add code to it to populate calculated column values.
Work Order Pre/Post Save Update: The system invokes these user exit programs during save processing. For each work order that has changes (add/modify/delete) to be saved, the save process:
Starts a database update transaction.
Pre Save Update (woscpreupdatex.p): The system invokes this user exit program immediately after starting the transaction. This is where you add code to do processing just before the system writes changes to a work order to the database. For example, you can implement additional validation logic here. The result of the validation can cause the system to cancel the update transaction and display the associated red error icon and error message in the MSW/PSW. See the Add a Validation scenario.
Invokes the work order save logic
Post Save Update (woscpostupdatex.p): The system invokes this user exit program immediately after invoking the work order save logic. This is where you can add code to do processing right after the system writes changes to a work order to the database. For example, this is where you can add logic to save the changes you make to added editable fields. You can save the changes either to the wo_mstr or wod_det tables or to other tables. See the Add an Editable wo_mstr Column to a Default Column Display List and Save Updates.
Commits the transaction.
Post Save Read (woscupdatereadx.p): The system invokes this user exit program right after save processing has completed for all work orders. This is where you can add code to populate calculated column values, in the event that saving changes to work orders would require a recalculation of calculated column values. See the Add a Calculated Display-Only Field.
Post Component Availability Process (wosccacx.p): The system invokes this user exit program immediately after Component Availability processing. This is where you can add code to populate calculated column values that are based on Component Availability values.
Calculate Capacity Quantity Completed (wosccqcx.p): The system invokes this user exit for each production order that is processed during a search. It provides a way to modify the quantity completed that the system uses for capacity calculation purposes. As a default, the quantity completed that the system uses for capacity calculation purposes is the sum of the production order’s quantity completed and quantity rejected. This user exit lets you override it; for example, you can use the quantity completed at a particular operation instead of the production order’s quantity completed.
The system uses the capacity quantity completed value as follows:
PSW panels:
Required capacity is based on the following:
Capacity open quantity (quantity ordered - capacity quantity completed)
In the left-hand structured panel, the release date and shift band totals—Required, Remaining, Cum Remaining, Carry-over, and so on—are based on capacity open quantity.
MSW Capacity Panel:
The Required Capacity and Scheduled Quantity rows are based on capacity open quantity.
Workbenches-embedded Production Order Maintenance:
In the Details Panel, the Required Capacity (Hrs) field is based on capacity open quantity.
Other panels, such as the MSW Scheduling and Supply/Demand panels, are not affected.
Note: These user exit programs are invoked only when you set the field Enable Additional Default Fields in Workbench Control (22.20.24) to Yes.