Estensioni del set di regole nel file pattern-action

È possibile abilitare le estensioni dei set di regole aggiornando il file pattern-action con riferimenti ai gruppi di regole. Il file pattern-action può contenere solo un riferimento per ciascun gruppo di regole.

È possibile utilizzare la seguente sintassi:
PROCESS_RC Rule_Group_Name RC_Return [Rule_ID]
Argomento Descrizione
Nome_gruppo_regole Il nome del gruppo di regole. Il nome può contenere solo caratteri alfanumerici e trattini bassi e deve iniziare con un carattere alfanumerico.
RULE_ID Il nome di una variabile. Quando l'azione viene eseguita, il nome della regola applicata al record corrente viene scritto nella variabile. Se nessuna regola è stata applicata al record, la variabile è vuota.

È possibile aggiungere azioni al linguaggio pattern-action che utilizzano questa variabile. Ad esempio, è possibile aggiungere un'azione che aggiunge l'ID della regola a una colonna di output a fini di reporting.

Questo argomento è facoltativo.

Quando si aggiunge un riferimento a un gruppo di regole, scegliere una posizione nel file pattern-action in base al momento in cui si desidera che le azioni vengano eseguite. Ad esempio, per applicare le regole di un gruppo di regole prima di qualsiasi altra elaborazione, aggiungere un riferimento all'inizio della prima subroutine chiamata.

Valori dei codici di ritorno

Quando si fa riferimento a un gruppo di regole, è possibile aggiungere azioni basate sul valore del codice di ritorno per ciascun record di input. Il valore del codice di ritorno dipende dal fatto che le regole del gruppo di regole si applichino o meno a un determinato record di input.

Valore Descrizione
0 Nessuna regola nel gruppo di regole si applica al record di input.
1 Una regola nel gruppo di regole si applica al record di input.
2 Una regola nel gruppo di regole si applica al record di input, ma i record sono impostati per passare attraverso la regola. Di conseguenza, il record non verrà modificato dalla regola.

Esempi

PROCESS_RC Input_Overrides RC_Return 
[ RC_Return = "1" ] ; A rule in the rule group applies to the input record: CALL Post_Process SUBROUTINE then EXIT
COPY "CI" {UserOverrideFlag}
CALL Post_Process
EXIT

Questo esempio fa riferimento al gruppo di regole Input_Overrides. L'esempio specifica un'azione che si verifica quando una regola nel gruppo di regole si applica al record di input.

PROCESS_RC RuleGroup1 RC_Return RuleID
[ RC_Return = "1" ] ; A rule in the rule group applies to the input record: CALL Post_Process SUBROUTINE then EXIT
COPY RuleID {RuleID}; Add the name of the rule that applied to the record to the RuleID output column
COPY "RuleGroup1" {RuleGroupName}; Add the name of the rule group to the RuleGroupName output column
CALL Post_Process
EXIT

Questo esempio fa riferimento al gruppo di regole RuleGroup1 e utilizza l'argomento RuleID. Un'azione copia il nome di qualsiasi regola nel gruppo di regole applicato a un record di input nella colonna di output " RuleID " (Regole applicate). Un'azione diversa aggiunge il nome del gruppo di regole alla colonna di output " RuleGroupName ". Prima che le azioni vengano eseguite, le colonne di output a cui fanno riferimento devono essere aggiunte al file dizionario.