Module ProcessFlowService

Macros to manage process flows.

Since: 2.1

Macro Summary
external

LSAF
%lsaf_activateprocessflow(lsaf_path=, lsaf_processflow=);
Activates a process flow.
external

LSAF
%lsaf_createprocessflow(lsaf_path=, lsaf_processflow=, lsaf_processflowdef=);
Creates a process flow in the specified context.
external

LSAF
%lsaf_createprocessflowmanifest(lsaf_path=, lsaf_processflow=, lsaf_manifest_path=, lsaf_enableversioning=, lsaf_versiontype=, lsaf_customversion=, lsaf_comment=);
Creates a process flow manifest file in the repository. The SAS macro ...
external

LSAF
%lsaf_deleteprocessflow(lsaf_path=, lsaf_processflow=);
Deletes a process flow.
external

LSAF
%lsaf_getmyprocessflows(lsaf_path=, sas_dsname=work.lsafGetMyProcessFlows, lsaf_includeChildren=1);
Gets the metadata for all of the process flows that are defined by the logged in user at, and ...
external

LSAF
%lsaf_getprocessflowdata(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetProcessFlowData);
Gets the metadata for the process data for the specified process flow within the specified ...
external

LSAF
%lsaf_getprocessflowproperties(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetProcessFlowProperties);
Gets the properties for the specified process flow. The properties are stored in a SAS data set.
external

LSAF
%lsaf_getprocessflows(lsaf_path=, sas_dsname=work.lsafGetProcessFlows, lsaf_includeChildren=1);
Gets the metadata for all of the process flows defined at, and optionally the children of, the ...
external

LSAF
%lsaf_processflowexists(lsaf_path=, lsaf_processflow=);
Indicates whether a process flow is defined for the specified context.
external

LSAF
%lsaf_suspendprocessflow(lsaf_path=, lsaf_processflow=);
Suspends a process flow.
external

LSAF
%lsaf_updateprocessflowdata(lsaf_path=, lsaf_processflow=, sas_dsname=_lsaf_updatepf_donotupdate_);
Updates the metadata for the specified process flow.
external

LSAF
%lsaf_updateprocessflowproperties(lsaf_path=, lsaf_processflow=, sas_dsname=_lsaf_updatepf_donotupdate_);
Updates the properties for the specified process flow.

Macro Detail

%lsaf_activateprocessflow(lsaf_path=, lsaf_processflow=);

[ Exposure: external ]
Activates a process flow.

Syntax:
%LSAF_ACTIVATEPROCESSFLOW(LSAF_PATH=lsaf-path, LSAF_PROCESSFLOW=lsaf-processflow);

          
History:
   2019-09-20
Initial coding
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Required - The path of the context in which the process flow is located.
lsaf_processflow - - Required - The case-sensitive name of the process flow. This can be
        retrieved by calling the lsaf_getprocessflows macro.
File: lsaf_activateprocessflow.sas
First available in version: 2.2

%lsaf_createprocessflow(lsaf_path=, lsaf_processflow=, lsaf_processflowdef=);

[ Exposure: external ]
Creates a process flow in the specified context.

Syntax:
%LSAF_CREATEPROCESSFLOW(LSAF_PATH=lsaf-path,
LSAF_PROCESSFLOW=process-flow-name,
LSAF_PROCESSFLOWDEF=process-flow-definition-name
);

          
History:
   2016-08-30
initial programming
   2019-02-12
update to 2.1
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Required - The path of the context in which to create the process flow.
lsaf_processflow - - Required - The name of the process flow.
lsaf_processflowdef - - Required - The name of the process flow definition to use to
        create the process flow. The macro lsaf_getprocessdefsbytype can be
        used to retrieve the process flow definition ID.
File: lsaf_createprocessflow.sas
First available in version: 1.5

%lsaf_createprocessflowmanifest(lsaf_path=, lsaf_processflow=, lsaf_manifest_path=, lsaf_enableversioning=, lsaf_versiontype=, lsaf_customversion=, lsaf_comment=);

[ Exposure: external ]
Creates a process flow manifest file in the repository. The SAS macro
variable _lsafCreatedProcessFlowManifest_ is set to the full path of the process flow
manifest file, which includes the file extension. If the process flow manifest cannot be
created, _lsafCreatedProcessFlowManifest_ is set to blank.

If the manifest file exists, a new version of the file is created. If the existing file is
not versioned, it is overwritten by the new file.

Syntax:
%LSAF_CREATEPROCESSFLOWMANIFEST(LSAF_PATH=lsaf-path, LSAF_PROCESSFLOW=process-flow-name,
LSAF_MANIFESTPATH=manifest-path <, LSAF_ENABLEVERSIONING=lsaf-enable-versioning,
LSAF_VERSIONTYPE=lsaf-version-type, LSAF_CUSTOMVERSION=lsaf-custom-version,
LSAF_COMMENT=lsaf-comment>);

          
History:
   2016-11-15
initial programming
   2019-02-12
update to 2.1
   2019-08-28
update file path length to $2048
Expected Macro Variables:
_lsafCreatedProcessFlowManifest_ - The full path of the process flow manifest.
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Required - The context path where the process flow is located.
lsaf_processflow - - Required - The name of the process flow.
lsaf_manifest_path - - Required - The repository location for the manifest file. The
        location must be a folder and must exist in the repository.
lsaf_enableversioning - - Optional - Indicates whether the file to create is
        versioned. Valid values:
        - 0: Create an unversioned file.
        - 1 (Default): Create a versioned file.
lsaf_versiontype - - Optional - The version type (MINOR, MAJOR, or CUSTOM) to create,
        if the file is versioned. The default value is MAJOR. The value is ignored for
        unversioned files.
lsaf_customversion - - Conditional - The version number to assign to the file to create.
        The value must be in the valid version label format, which includes a decimal
        point. This option is required when versiontype is CUSTOM, otherwise, it is ignored.
lsaf_comment - - Optional - The audit trail comment for the manifest file creation.
File: lsaf_createprocessflowmanifest.sas
First available in version: 1.5

%lsaf_deleteprocessflow(lsaf_path=, lsaf_processflow=);

[ Exposure: external ]
Deletes a process flow.

Syntax:
%LSAF_DELETEPROCESSFLOW(LSAF_PATH=lsaf-path, LSAF_PROCESSFLOW=process-flow-name);

          
History:
   2016-11-16
initial programming
   2019-02-12
update to 2.1
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Required - The path of the context in which the process flow is located.
lsaf_processflow - - Required - The name of the process flow.
File: lsaf_deleteprocessflow.sas
First available in version: 1.5

%lsaf_getmyprocessflows(lsaf_path=, sas_dsname=work.lsafGetMyProcessFlows, lsaf_includeChildren=1);

[ Exposure: external ]
Gets the metadata for all of the process flows that are defined by the logged in user at, and
optionally the children of, the specified context. The metadata is stored in a SAS data set.

Syntax:
%LSAF_GETMYPROCESSFLOWS(LSAF_PATH=lsaf-path <,SAS_DSNAME=SAS-data-set,
LSAF_INCLUDECHILDREN=includeChildren-flag>);

          
History:
   2016-09-16
original creation.
   2019-02-12
update to 2.1
   2019-11-01
update to handle a blank SAS output file.
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Optional - The path of the context in which the process flow is located.
        If not supplied, the macro returns all of the process flows across all contexts.
sas_dsname - - Optional - The name of the output SAS data set to contain the metadata
        for the process flows, specified as libref.dataset. The default value is
        WORK.LSAFGETMYPROCESSFLOWS. The data set contains a row for each process flow in
        the context for the user and columns with the following names. The data set is
        sorted by the process flow name.
        - path: The path of the context in which the process flow is located.
        - name: The name of the process flow.
        - description: The process flow description.
        - createdBy: The user ID that created the process flow.
        - created: The full date and time on which the process flow was created, represented
        as a String.
        - dateCreated: The date on which the process flow was created, represented as a SAS
        Datetime format.
        - lastModifiedBy: The user ID that last modified the process flow.
        - lastModified: The date on which the process flow was last modified, represented
        as a String.
        - dateLastModified: The date on which the process flow was last modified, represented
        as a Datetime format.
        - owner: The user ID of the owner of the process flow.
        - status: The current state of the process flow: NOT_STARTED, ACTIVE, SUSPENDED, or
        COMPLETED.
        - processDefinitionId: The ID of the process flow definition that was used to create
        the process flow.
        - processDefinitionVersion: The version of the process flow definition that was used
        to create the process flow.
lsaf_includeChildren - - Optional - Indicates whether to include process flows from
        child contexts. If no path is provided, this parameter is ignored. Valid values:
        - 0: Exclude.
        - 1 (Default): Include.
File: lsaf_getmyprocessflows.sas
First available in version: 1.5

%lsaf_getprocessflowdata(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetProcessFlowData);

[ Exposure: external ]
Gets the metadata for the process data for the specified process flow within the specified
context. The metadata is stored in a SAS data set.

Syntax:
%LSAF_GETPROCESSFLOWDATA(LSAF_PATH=lsaf-path, LSAF_PROCESSFLOW=process-flow-name
<,SAS_DSNAME=SAS-data-set>);

          
History:
   2016-11-22
original creation.
   2019-02-12
update to 2.1
   2019-11-01
update to handle a blank SAS output file.
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Required - The path of the context in which the process flow is located.
lsaf_processflow - - Required - The name of the process flow.
sas_dsname - - Optional - The name of the output SAS data set to contain the metadata
        for the process flow data, specified as libref.dataset. The default value is
        WORK.LSAFGETPROCESSFLOWDATA. The data set contains a row for each process flow data
        element and columns with the following names. The data set is not sorted.
        - processFlowPath: The path of the context in which the process flow is located.
        - processFlowName: The name of the process flow.
        - dataID: The ID of the process flow data element.
        - dataName: The name of the process flow data element.
        - dataType: The type of the process flow data element.
        - dataValue: The value of the process flow data element, represented as a String.
        - dataEnumValues: A comma-delimited list of the defined values for the elements of
        the type ENUM, displayed in the format key(value).
File: lsaf_getprocessflowdata.sas
First available in version: 1.5

%lsaf_getprocessflowproperties(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetProcessFlowProperties);

[ Exposure: external ]
Gets the properties for the specified process flow. The properties are stored in a SAS data set.

Syntax:
%LSAF_GETPROCESSFLOWPROPERTIES(LSAF_PATH=lsaf-path, LSAF_processflow=process-flow-name
<,SAS_DSNAME=SAS-data-set>);

          
History:
   2016-12-05
original creation.
   2019-02-12
update to 2.1
   2019-11-01
update to handle a blank SAS output file.
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Required - The path of the context in which the process flow is located.
lsaf_processflow - - Required - The name of the process flow.
sas_dsname - - Optional - The name of the output SAS data set to contain the properties
        and attributes for the process flow data, specified as libref.dataset.
        The default value is WORK.LSAFGETPROCESSFLOWPROPERTIES. The data set contains a
        row for each property or attribute and columns with the following names. The data
        set is not sorted.
        The following metadata is represented in the data set.
        - processFlowPath: The path of the context in which the process flow is located.
        - processFlowName: The name of the process flow.
        - name: The name of the property.
        - value: The value of the property.
        - displayName: The name of the property, displayed as a label in SAS Life
        Science Analytics Framework. Derived properties (such as name and owner) do not
        have a value for displayName.
        - type: The type of the property. Valid values: STRING, LONG, DATE, and BOOLEAN.
        - isReadonly: Indicates whether the property cannot be modified.
        - isExtended: Indicates whether the property is an extended attribute.
File: lsaf_getprocessflowproperties.sas
First available in version: 1.5

%lsaf_getprocessflows(lsaf_path=, sas_dsname=work.lsafGetProcessFlows, lsaf_includeChildren=1);

[ Exposure: external ]
Gets the metadata for all of the process flows defined at, and optionally the children of, the
specified context. The metadata is stored in a SAS data set.

Syntax:
%LSAF_GETPROCESSFLOWS(LSAF_PATH=lsaf-path <,SAS_DSNAME=SAS-data-set,
LSAF_INCLUDECHILDREN=includeChildren-flag>);

          
History:
   2016-08-17
original creation.
   2019-02-12
update to 2.1
   2019-11-01
update to handle a blank SAS output file.
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Optional - The path of the context in which the process flows are located.
        If not secified, the macro returns all of the process flows for all contexts.
sas_dsname - - Optional - The name of the output SAS data set to contain the metadata
        for the process flows, specified as libref.dataset. The default value is
        WORK.LSAFGETPROCESSFLOWS. The data set contains a row for each process flow in
        the context and columns with the following names. The data set is sorted by the
        process flow name.
        - path: The path of the context in which the process flow is located.
        - name: The name of the process flow.
        - description: The process flow description.
        - createdBy: The user ID that created the process flow.
        - created: The full date and time on which the process flow was created. This value
        is represented as a String.
        - dateCreated: The date on which the process flow was created, represented as a SAS
        Datetime format.
        - lastModifiedBy: The user ID that last modified the process flow.
        - lastModified: The date on which the process flow was last modified, represented
        as a String.
        - dateLastModified: The date on which the process flow was last modified,
        represented as a SAS Datetime format.
        - owner: The user ID of the owner of the process flow.
        - status: The current state of the process flow. Valid values: NOT_STARTED, ACTIVE,
        SUSPENDED, or COMPLETED.
        - processDefinitionId: The ID of the process flow definition that was used to
        create the process flow.
        - processDefinitionVersion: The version of the process flow definition that was
        used to create the process flow.
lsaf_includeChildren - - Optional - Indicates whether to include process flows from
        child contexts. This parameter is ignored, if no path is provided. Valid values:
        - 0: Exclude.
        - 1 (Default): Include.
File: lsaf_getprocessflows.sas
First available in version: 1.5

%lsaf_processflowexists(lsaf_path=, lsaf_processflow=);

[ Exposure: external ]
Indicates whether a process flow is defined for the specified context.

The macro variable _lsafProcessFlowExists_ is set to 1, if the process flow exists,
0 if it does not. In the event of an incorrect call to the macro that results in an error,
the return value of _lsafProcessFlowExists_ is set to -1.

Syntax:
%LSAF_PROCESSFLOWEXISTS (LSAF_PATH=lsaf-path, LSAF_PROCESSFLOW=lsaf-name);

          
History:
   2016-08-17
initial development
   2019-02-12
update to 2.1
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafProcessFlowExists_ - Indicates whether the process flow exists in the context.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Required - The path of the context to search for the process flow.
lsaf_processflow - - Required - The name of the process flow.
File: lsaf_processflowexists.sas
First available in version: 1.5

%lsaf_suspendprocessflow(lsaf_path=, lsaf_processflow=);

[ Exposure: external ]
Suspends a process flow.

Syntax:
%LSAF_SUSPENDPROCESSFLOW(LSAF_PATH=lsaf-path, LSAF_PROCESSFLOW=lsaf-processflow);

          
History:
   2019-09-20
Initial coding
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Required - The path of the context in which the process flow is located.
lsaf_processflow - - Required - The name of the process flow. This can be retrieved by calling
        the lsaf_getprocessflows macro.
File: lsaf_suspendprocessflow.sas
First available in version: 2.2

%lsaf_updateprocessflowdata(lsaf_path=, lsaf_processflow=, sas_dsname=_lsaf_updatepf_donotupdate_);

[ Exposure: external ]
Updates the metadata for the specified process flow.

Syntax:
%LSAF_UPDATEPROCESSFLOWDATA(LSAF_PATH=lsaf-path, LSAF_processflow=process-flow-name,
SAS_DSNAME=SAS-data-set);

          
History:
   2016-12-06
initial programming
   2019-02-12
update to 2.1
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Required - The path of the context in which the process flow is located.
lsaf_processflow - - Required - The name of the process flow.
sas_dsname - - Required - The name of a SAS data set that contains the process flow data
        values to set on the process flow, specified as libref.dataset.
        The data set must contain at least the variables listed below. Additional
        variables are ignored.
        - dataID: The ID for the data element property.
        - dataValue: The value to set.
        The output data set from the lsaf_getprocessflowdata macro can be used to
        determine the ID and current values of the process flow data.
        Rows where the ID matches an existing process flow data element are used to
        attempt to update the element. If the specified value is invalid for the element
        type, the update is aborted and the appropriate error message is printed to the
        SAS log file.
        Values of type DATE must be one of the following formats. Date values in formats
        other than the two described below result in an execution error.
        - SAS datetime18. format (such as 02NOV2013:09:33:22) - an offset of zero hours
        from GMT is used.
        - SAS E8601DZ25. format (such as 2013-11-02T09:33:22-04:00).
File: lsaf_updateprocessflowdata.sas
First available in version: 1.5

%lsaf_updateprocessflowproperties(lsaf_path=, lsaf_processflow=, sas_dsname=_lsaf_updatepf_donotupdate_);

[ Exposure: external ]
Updates the properties for the specified process flow.

Syntax:
%LSAF_UPDATEPROCESSFLOWPROPERTIES(LSAF_PATH=lsaf-path, LSAF_PROCESSFLOW=process-flow-name,
SAS_DSNAME=SAS-data-set);

          
History:
   2016-12-06
initial programming
   2019-02-12
update to 2.1
Expected Macro Variables:
_lsafMsg_ - The return message.
_lsafRC_ - The return code.
Parameters:
lsaf_path - - Required - The path of the context in which the process flow is located.
lsaf_processflow - - Required - The name of the process flow.
sas_dsname - - Required - The name of a SAS data set that contains the property values
        to set on the process flow, specified as libref.dataset. The data set must
        contain at least the variables listed below. Additional variables are ignored.
        - name: The name of the property.
        - value: The value to set.
        The output data set from the lsaf_getprocessflowproperties macro can be used to
        determine the name and current values of the process flow properties. Rows
        where the name matches an existing process flow property are used to attempt
        to update the property. If the specified value is invalid for the property type,
        the update is aborted and the appropriate error message is printed to the SAS
        log file.
        Values of type DATE must be one of the following formats. Date values in formats
        other than the two described below result in an execution error.
        - SAS datetime18. format (such as 02NOV2013:09:33:22) - an offset of zero hours
        from GMT is used.
        - SAS E8601DZ25. format (such as 2013-11-02T09:33:22-04:00).
File: lsaf_updateprocessflowproperties.sas
First available in version: 1.5