1. Home
  2. Preferences
  3. Preferences: Workflow Alert Checks Maintenance

Preferences: Workflow Alert Checks Maintenance

Workflow Alert Checks Maintenance

Workflow Alert Checks Maintenance

Workflow Alert Checks

The program has a system of automated data checks that can alert users regularly to particular circumstances. This may be simply a review of shortages without orders or it may be a reminder of overdue credit memos. Each user has an individual set of these checks and each can be timed to regularly run automatically.

Workflow alert checks are a periodic review of data. See Workflow Trigger Alert Maintenance for a system of immediate alerts to specific events.

Each check runs a predefined data collection method in the program. The presentation of the check results can be customised with a list of columns and their attributes. You can have both data fields and calculated columns derived at runtime from data fields. You can further customise the check by entering a limiting condition. So, for example, you could restrict a check on parts set for engineering change only to those modified in the last 3 days.

Available system checks are listed in the maintenance window. To add one, drag the list line and drop it onto the Operational Check list. A default set of columns is provided which you can edit in the column list below.

With this maintenance window you can maintain your own Workflow Alert Checks from the File — Preferences menu, or you can maintain another user’s alerts from the Privileges window.

Field

Description

Checking Methods

Lists the available checking methods. Drag those you want to add to the Operational Checks list.

Operational Checks

Lists the operational checks. Drag from the Checking Methods list to add. Click to select and modify details. Use Delete key to remove.

System Code

The system code for the check type.

Description

The description of the Operational Check.

Condition

Enter an optional limiting logical condition (non-zero result) as a Studio calculation that will limit the restrict the results.

Note NOTE: Some checks are usefully limited. For example, you could restrict a check on parts set for engineering change only to those modified in the last 3 days by adding the condition PTMMODM>dadd(kDay,-3,#D)

Frequency Days

The Frequency Days added to the Frequency Time determines when the check is next run. For example, if you want the check to run every 7 days at the start of the day, enter 7 and set the frequency time to 08:00.

Note NOTE: If both days and time are zero, the check will never automatically run. However, you can still run it from this window.

Frequency Time

The Frequency Days added to the Frequency Time determines when the check is next run. If the days is set to 0 the time alone will control frequency. For example, 04:00 will set the check to run at the start of the day and then every 4 hours thereafter.

Parameters

Some Check Methods can accept parameters. A comma separated list of values should be entered.

Report Class

If you have a custom report class for this check, enter it’s name. Otherwise leave blank to use the standard.

Warning WARNING: Care should be taken if you are planning to customise the standard report class rAlertReport. The program automatically re-designs the report for the data columns defined. This is done with reference to object names. If you add objects or rename them, the program will not adjust these objects correctly. Consequentially the results may be unpredictable.

Portrait

The report is produced in portrait orientation.

Landscape

The report is produced in landscape orientation.

Total Text

Optional total line custom text. If no entry is made and there is at least one column totalled default text (String s4369) is used. You can embed a single square bracket notation calculation within the text which will be evaluated into the text.

Last Run

The occasion on which this Operational Check was last run. If you amend this date and time you can set the point at which the periodic sequence starts.

List and Report Columns

Lists the record columns that make up the Operation Check Results. Drag and drop to change order, use Del key to remove lines.

Tip TIP: To edit cells in the list, select the line and click in the cell and hover the mouse over the cell. I.E. click once and pause with no mouse movement. The cell will then expand into an editable box in which you can enter different data. On leaving the box with any action like a tab or click elsewhere, the data is verified and the list returns to normal with the new data shown in the cell.

The following restrictions apply to the columns:

  1. The Field name column is case-sensitive and can be either a field name from one of the valid file classes (listed below) or from a global file (such as MCDFILE), or a made up field name for a calculated field.
  2. The Heading can be any text.
  3. The Width is a a proportional number. The system will take the sum of all column widths and apportion the actual column width pro rata to your width entry for any column.
  4. The Sort column should be left at 0 for unsorted columns. For sorted columns you should enter them in order up to a maximum of 9.
  5. The Subtotal column should be set to a special string value (default is 0) for each sorted field column where you wish to have a subtotal printed on reports when the value changes. The maximum number of sorts with subtotal is 6. The string is made up of 4 values delimited by a / character. 0/0/0/0 would cause a subtotal whenever the field changed. The 4 values are:
    • Subtotal Interval
    • New Page Interval
    • Subtotal Interval Start
    • New Page Interval Start

    This enables you to fine control when subtotals breaks occur and when a new page is forced to start after the subtotal. The values you enter depend on the data type of the field on which you are subtotalling:
    Character: The value you enter is the number of characters in from the left of the field value that you want to see change before triggering a subtotal. 0 means any character change. E.G. 3/0/0/0 for the customer code field would see CAL001 and CAL002 being within the same subtotalled group because they have the same first 3 characters.
    Number: The value you enter is a number, like 1000 or 10, and in this case all attributes are valid so 1000/2000/10000/20000 would cause the first subtotal to be at 2000 and then every 1000 thereafter, with page breaks after 20000 and 10000 after that.
    Date and Date Time: The value in Subtotal Interval and New Page Interval are as follows:

    • 0 = Any change
    • 1 = Every Second
    • 2 = Every Minute
    • 3 = Every Quarter Hour
    • 4 = Every Half Hour
    • 5 = Every Hour
    • 6 = Every Half Day
    • 7 = Every Day
    • 8 = Every 7 Days
    • 9 = Every 14 Days
    • 10 = Every Week
    • 11 = Every 2 Weeks
    • 12 = Every Month
    • 13 = Every Quarter
    • 14 = Every Half Year
    • 15 = Every Year
    • 16 = Every Century
    • 17 = Every Fiscal* Month
    • 18 = Every Fiscal* Quarter
    • 19 = Every Fiscal* Half Year
    • 20 = Every Fiscal* Year

    The Start attributes are not used for dates and times. * Fiscal periods are based on the Financial Year End you have set in the Company Details Maintenance window.

  6. The Totalled column indicates to the system that the column should be totalled. There are 5 types of total:
    • 1 = Total Value
    • 2 = Average Value
    • 3 = Count of Records
    • 4 = Minimum Value
    • 5 = Maximum Value
  7. The Subtotal Text column is an optional column that can contain your own text for the subtotal line. You can embed a [No] which will be set to the subtotal level number, a [Heading] which will be set to the column heading text and a final single square bracket notation to show the subtotal value (use [Value] for the standard subtotal value). For example, to display just the month and year in a monthly subtotal you could enter “Monthly subtotal for [dat(Value,’m y’)]”. If no entry is made and there is a subtotal default text (String s4368) is used which is “Subtotal [No] for: [Heading] = [Value]”.
  8. The Calculation column contains the calculation if it is a calculated field. To define the calculation field type, you need to select the line and click on Calculation.

Warning WARNING: If you use a total type other than Total Value, the standard text may mislead those who read it.

Button

Action

Add Column

Click to add a new column to the list of columns.

Calculated

Click to modify or add a calculated column.

Copy Set

Click to copy the set of Operational Checks from another user. You will have the option to append them if you already have some.

Test List

Click to test to the review window the operational check with current data. The Workflow Alert Result window will open.

Test Report

Click to test the operational check with current data and send it directly to a report.

Export

Click to export the Operational Checks for transfer to another datafile or for backup purposes.

Import

Click to import the Operational Checks exported previously.

Revert

To revert any changes to the previously saved version.

Save

To save the changes you have made to the data file.

Customising Columns

Each Alert Method searches the database and provides a pre-selected set of data that can then be additionally restricted with a custom condition. The standard search rules are listed below. When adding columns or a condition, you should only use data fields from files that the method explicitly controls. The following is a list for each method:

Method

From clause (syntax can vary with SQL engine)

Where clause (syntax can vary with SQL engine) (Folow processing uses Omnis syntax)

CusDoNotUse

CUSFILE JOIN ADRFILE ON CUSDADR=ADRID LEFT JOIN ADCFILE ON ADRADC=ADCID JOIN CONFILE ON ADRCONC=CONCODE

CUSBAR

JbiOutOrder

JBIFILE JOIN WKCFILE ON JBIWKC=WKCCODE JOIN JOBFILE ON JBICODE=JOBCODE JOIN CUSFILE ON JOBCUSC=CUSCODE

JBIWKC >” AND JBICOMP <‘1900-10-01’ AND JBIBAL > 0.000 AND WKCOUT AND JOBRELF AND JOBDATC < ‘1900-10-01’
Follow processing: that no record for POLPTNO = con(‘JB-‘, JOBCODE, ‘-‘, jst(JBILINE, ‘-3N0P0’)) exists.

LedgApPayLate

TRAFILE JOIN SUPFILE ON TRAACCO=SUPCODE AND TRALEDG=’P’

TRADUEF <> 0.00 AND TRADUED < current_date & TRALEDG = ‘P’

LedgArPayLate

TRAFILE JOIN CUSFILE ON TRAACCO=CUSCODE AND TRALEDG=’R’

TRADUEF <> 0.00 AND TRADUED < current_date AND TRALEDG = ‘R’

MrpOverdue

MRPFILE JOIN PTMFILE ON MRPPTNO=PTMPTNO

MRPPTNO>” AND NOT MRPIMPL AND MRPOQTY>0.000 AND MRPACDT < current_date

PolLate

POLFILE JOIN POHFILE ON POLPONO=POHPONO JOIN SUPFILE ON POHSUPC=SUPCODE LEFT JOIN PTMFILE ON POLPTNO=PTMPTNO

NOT POHRELF AND POLDATE < current_date

PrdOutOfDate

PRDFILE JOIN PTMFILE ON PRDPTNO=PTMPTNO

PRDDATE < current_date

PtmEngChange

PTMFILE

PTMENGC

PtmLocLow

PTMFILE JOIN STOFILE ON PTMPTNO=STOPTNO LEFT JOIN SUPFILE ON PTMSUPC=SUPCODE

NOT STOQUAR AND (STOPHYQ < PTMMINS OR STOPHYQ < PTMROLE)

PtmLowMargin

PTMFILE

If MCDMARG = kTrue
PTMSELL < round((PTMCMC + PTMCLC + PTMCOC + PTMCOVC + PTMCROC)*100/(100 – min(PTMARGN, 99)),2)

Else if MCDMARG = kFalse
PTMSELL < round((PTMCMC + PTMCLC + PTMCOC + PTMCOVC + PTMCROC)*(1 + (PTMARGN/100)),2)
Note: Varies with SQL engine.

PuhUninvoiced

PUHFILE JOIN SUPFILE ON PUHSUPC=SUPCODE LEFT JOIN PTMFILE ON PUHPTNO=PTMPTNO

PUHPRUP<1

ShortUnordered

CUSFILE, JOBFILE, POHFILE, POLFILE, PTMFILE, SOHFILE, SUPFILE, WOSFILE, WKOFILE

Complex inter-relationships between orders and shortage items.

Shortages

CUSFILE, JOBFILE, POHFILE, POLFILE, PTMFILE, SOHFILE, SUPFILE, WOSFILE, WKOFILE

None.

SntLate

SNTFILE JOIN SNOFILE ON SNTSNO=SNOSNO LEFT JOIN PTMFILE ON SNOPTNO=PTMPTNO LEFT JOIN CUSFILE ON SNTCUSC=CUSCODE

SNTRET < ‘1901-01-01’ AND SNTDUED > ‘1901-01-01’ AND SNTDUED < current_date

SoQuoteExpired

SOLFILE JOIN SOHFILE ON SOLSONO=SOHSONO JOIN CUSFILE ON SOHCUSC=CUSCODE LEFT JOIN PTMFILE ON SOLPTNO=PTMPTNO

NOT SOHRELF AND SOHQVAD > ‘1901-01-01’

SolLate

SOLFILE JOIN SOHFILE ON SOLSONO=SOHSONO JOIN CUSFILE ON SOHCUSC=CUSCODE LEFT JOIN PTMFILE ON SOLPTNO=PTMPTNO

SOLDATE <= current_date AND SOHRELF

SupDoNotUse

SUPFILE JOIN ADRFILE ON SUPDADR=ADRID LEFT JOIN ADCFILE ON ADRADC=ADCID JOIN CONFILE ON ADRCONC=CONCODE

SUPBAR

TrcLate

CUSFILE, GLAFILE, TRAFILE, TRCFILE, SUPFILE
Complex inter-relationships between master row and memo code.

TRCCLEA <> 1 AND TRCNEXT < current _date

WkoLateCompletion

WKOFILE JOIN PTMFILE ON WKOPTNO=PTMPTNO

WKOCDAT < current_date

WkoLateKitting

WKOFILE JOIN PTMFILE ON WKOPTNO=PTMPTNO

NOT WKOBACK AND WKOLATE < ccurrent_date AND WKOISDT < ‘1901-01-01’

WooOutOrder

WOOFILE JOIN WKCFILE ON WOOWKC=WKCCODE AND WKCOUT JOIN WKOFILE ON WOOWONO=WKOWONO AND WKOBAL>0.000 JOIN PTMFILE ON WKOPTNO=PTMPTNO

Follow processing: From scanning the WOOFILE: WKCOUT = kTrue then WKOBAL > 0.000 and finally that no record for either of POLPTNO or PUHPTNO = con(‘WO-‘, WOOWONO, ‘-‘, jst(WOOOPNO, ‘-3N0P0’))

Warning WARNING: oCustom1 custom functions in columns can be used. Raw data in the list can be referred to with pRow.columnname syntax.

See also: –

Compiled in Program Version 5.10. Help data last modified 23 Oct 2016 09:51:00.00. Class wAlertReportMaint last modified 1 Mar 2018 11:40:25.

Updated on May 27, 2020

Was this article helpful?

Related Articles

Leave a Comment