Kernel::System::ProcessManagement::SequenceFlow

NAME

Kernel::System::ProcessManagement::SequenceFlow – SequenceFlow lib

DESCRIPTION

All Process Management SequenceFlow functions.

PUBLIC INTERFACE

new()

Don't use the constructor directly, use the ObjectManager instead:

    my $SequenceFlowObject = $Kernel::OM->Get('Kernel::System::ProcessManagement::SequenceFlow');

SequenceFlowGet()

    Get SequenceFlow info

    my $SequenceFlow = $SequenceFlowObject->SequenceFlowGet(
        SequenceFlowEntityID => 'SF1',
    );

    Returns:

    $SequenceFlow = {
        Name       => 'SequenceFlow 1',
        CreateTime => '08-02-2012 13:37:00',
        ChangeBy   => '2',
        ChangeTime => '09-02-2012 13:37:00',
        CreateBy   => '3',
        Condition  => {
            Type   => 'and',
            Cond1  => {
                Type   => 'and',
                Fields => {
                    DynamicField_Make    => [ '2' ],
                    DynamicField_VWModel => {
                        Type  => 'String',
                        Match => 'Golf',
                    },
                    DynamicField_A => {
                        Type  => 'Hash',
                        Match => {
                            Value  => 1,
                        },
                    },
                    DynamicField_B => {
                        Type  => 'Regexp',
                        Match => qr{ [\n\r\f] }xms
                    },
                    DynamicField_C => {
                        Type  => 'Module',
                        Match =>
                            'Kernel::System::ProcessManagement::SequenceFlow::Validation::MyModule',
                    },
                    DynamicField_C => {
                        Type  => 'SmartTag',
                        Match =>
                            '<OTRS_TICKET_DynamicField_xyz>',
                    },
                    Queue =>  {
                        Type  => 'Array',
                        Match => [ 'Raw' ],
                    },
                    # ...
                }
            }
            # ...
        },
    };

SequenceFlowCheck()

    Checks if one or more Sequence Flow Condition Expressions are true

    my $SequenceFlowCheck = $SequenceFlowObject->SequenceFlowCheck(
        SequenceFlowEntityID => 'SF1',
        or
        SequenceFlowEntityID => ['SF1', 'SF2', 'SF3'],
        Data       => {
            Queue         => 'Raw',
            DynamicField1 => 'Value',
            Subject       => 'Testsubject',
            ...
        },
    );

    If called on a single SequenceFlowEntityID
    Returns:
    $Checked = 1; # 0

    If called on an array of SequenceFlowEntityIDs
    Returns:
    $Checked = 'SF1' # 0 if no SequenceFlow was true
Scroll to Top