SUPPORT / SAMPLES & SAS NOTES
 

Support

Usage Note 59979: SAS® Life Science Analytics Framework Macro API 1.5 - Release Notes

DetailsDownloadsAboutRate It

With the 1.5 release, the SAS® Drug Development Macro API has been re-branded as the SAS® Life Science Analytics Framework (LSAF) Macro API. SAS macros available in release 1.4.1 continues to run using the same calls and signatures. With the exception of deprecated macros, all previously released macros have been updated to the new product. The SAS® LSAF Macro API release 1.5 is available for use with SAS® LSAF Java API release 1.8. The table below describes changes to the SAS® LSAF Macro API in release 1.5.

New Features

Title

Description

Status

Re-brand all SASDRUGDEV_ macros

All SASDRUGDEV_ macros not marked for deprecation have corresponding LSAF_ macros. The original SASDRUGDEV_ versions of those macros are supported in this release.

Changed

Remove SASDRUGDEV_GETSDDAPIVERSION

This macro has been deprecated

Deprecated

LSAF_ENCRYPTPASSWORD

Encrypts the SAS® LSAF. user password

New

LSAF_GETALLUSERS

 

Account license type information added to metadata returned in the data set.

Updated

LSAF_GETABSOLUTEPATH

Returns an absolute path for a file relative to the given base path.

New

LSAF_GETRELATIVEPATH

Returns a relative path for a file relative to the given base path.

New

LSAF_GETSUBMISSIONSTATUS

The documentation was updated to include references to workspace job submissions.

Updated

LSAF_GETPROCESSDEFSBYTYPE

Returns a SAS data set that contains the metadata for all of the process flow definitions available at the specified context type.

New

LSAF_GETPROCESSFLOWS

Returns a SAS data set that contains the metadata for all the process flows defined at, and options for the child contexts of, the specified organization, project, or analysis.

New

LSAF_GETMYPROCESSFLOWS

Returns a SAS data set that contains the metadata for the process flows defined by the logged in user at, and options for the child contexts of, the specified organization, project, or analysis.

New

LSAF_CREATEPROCESSFLOW

Creates a process flow in the SAS® LSAF repository.

New

LSAF_PROCESSFLOWEXISTS

Determines whether a process flow is defined for the specified context.

New

LSAF_DELETEPROCESSFLOW

Deletes a process flow and, options for, creates manifest file in the SAS® LSAF.repository.

New

LSAF_CREATEPROCESSFLOWMANIFEST

Creates a process flow manifest file in the SAS® LSAF. repository.

New

LSAF_GETPROCESSFLOWPROPERTIES

Returns a SAS data set that contains the properties for the specified process flow within the specified organization, project, or analysis.

New

LSAF_UPDATEPROCESSFLOWPROPERTIES

Updates a process flow in the SAS® LSAF. repository.

New

LSAF_GETPROCESSFLOWDATA

Returns a SAS data set that contains the metadata for the process data for the specified process flow within the specified organization, project, or analysis.

New

LSAF_UPDATEPROCESSFLOWDATA

Updates the metadata for the process flow data for the specified process flow in the SAS® LSAF. repository.

New

LSAF_GETPROCESSFLOWELEMENTS

Returns a SAS data set that contains the metadata for the flow setup elements for the specified process flow within the specified organization, project, or analysis.

New

LSAF_GETPFJOBELEMENTINFO

Returns a SAS data set that contains the properties for the job setup elements for the process flow within the specified organization, project, or analysis.

New

LSAF_UPDATEPFJOBELEMENTINFO

Updates the properties for process flow job elements using a data set as input.

New

LSAF_GETPFJOBPARAMETERS

Returns a SAS data set that contains the override parameters for the job setup elements for the process flow within the specified organization, project, or analysis.

New

LSAF_UPDATEPFJOBPARAMETERS

Updates the job parameter overrides for process flow job elements using a data set as input.

New

LSAF_GETPFNOTIFICATIONINFO

Returns a SAS data set that contains the properties for the notification setup elements for the process flow within the specified organization, project, or analysis.

New

LSAF_UPDATEPFNOTIFICATIONINFO

Updates the properties for process flow notification elements using a data set as input.

New

LSAF_GETPFNOTIFICATIONRECIPIENTS

Returns a SAS data set that contains the recipients for notification setup elements for the process flow within the specified organization, project, or analysis.

New

LSAF_UPDATEPFNOTIFRECIPIENTS

Updates the recipients for process flow notification elements using a data set as input.

New

LSAF_GETPFSIGNALLOCATIONS

Returns a SAS data set that contains the locations for the signal setup elements for the process flow within the specified organization, project, or analysis.

New

LSAF_UPDATEPFSIGNALLOCATIONS

Updates the locations for process flow repositoryFilePut signal elements using a data set as input.

New

LSAF_UPDATEPFTIMERELEMENTS

Updates the values of process flow timer elements using a data set as input.

New

LSAF_GETPFTIMERELEMENTS

Returns a SAS data set that contains the data for the timer setup elements for the process flow within the specified organization, project, or analysis.

New

LSAF_UPDATEPFUSERCANDIDATES

Updates the candidates for process flow user task elements using a data set as input.

New

LSAF_GETPFUSERCANDIDATES

Returns a SAS data set that contains the candidates for user setup elements for the process flow within the specified organization, project, or analysis.

New

LSAF_UPDATEPFUSERELEMENTINFO

Updates the properties for process flow user elements using a data set as input.

New

LSAF_GETPFUSERELEMENTINFO

Returns a SAS data set that contains the properties for the user setup elements for the process flow within the specified organization, project, or analysis.

New

LSAF_CHECKIN

Checks in a SAS® LSAF repository file.

New

LSAF_CHECKOUT

Checks a file out of the SAS® LSAF repository.

New

LSAF_ISCHECKEDOUT

Determines whether a SAS® LSAF repository file has been checked out.

New

LSAF_GETCHECKEDOUTFILES

Returns a SAS data set containing the checked out file information for the specified user, file, and/or location within the SAS® LSAF repository.

New

LSAF_MARKFORADDANDCHECKIN

Marks for add and checks in a workspace file to the SAS® LSAF repository.

New

LSAF_GETCOPYTOWORKSPACESTATUS

Returns the value for the Copy to Workspace status of a file or folder in the SAS® LSAF repository.

New

LSAF_UPDATECOPYTOWORKSPACESTATUS

Updates the value for the Copy To Workspace status of a file or folder in the SAS® LSAF repository.

New

LSAF_GETSYNCINFO

Returns a SAS data set containing synchronization information for the specified file in the SAS® LSAF repository.

New

LSAF_HASCONTEXTPRIVILEGE

Determines whether a user or group has a specific role privilege in the specified organization, project, or analysis.

New

LSAF_GETRBITEMSBYQUERY

Returns a SAS data set that contains the metadata for the items in the SAS® LSAF recycle bin that match the given search criteria.

New

Update LSAF_GETPROPERTIES to allow user to specify a version of a file.

Added lsaf_version parameter to SASDRUGDEV_GETPROPERTIES and LSAF_GETPROPERTIES to allow version-specific extraction of properties information.

Updated

Update LSAF_ISGROUPMEMBER to search groups within groups.

Added parameter lsaf_includeImplicit options to include implied members.

Updated

LSAF_GETWORKSPACECHILDREN

Returns a SAS data set that contains the metadata for objects within a folder in the SAS® LSAF workspace.

New

Expose
SASDRUGDEV_DISABLEVERSIONING/ LSAF_DISABLEVERSIONING

Issue with comments not being displayed in the audit trail when disabling versioning through the API has been addressed. Macros can be released.

New

Expose
SASDRUGDEV_ENABLEVERSIONING/ 
LSAF_ENABLEVERSIONING

Issue with comments not being displayed in the audit trail when enabling versioning through the API has been addressed. Macros can be released.

New

LSAF_CREATEWORKSPACEFOLDER

Creates a folder in the SAS® LSAF workspace.

New

LSAF_CREATEWORKSPACEJOB

Creates a job in the SAS® LSAF workspace.

New

LSAF_WORKSPACEOBJECTEXISTS

Determines whether a SAS® LSAF workspace object exists.

New

LSAF_GETWORKSPACEJOBINFO

Returns a SAS data set that contains the information for a job in the SAS® LSAF workspace.

New

LSAF_GETWORKSPACEJOBINPUTS

Returns a SAS data set containing metadata for the inputs for the specified job in the SAS® LSAF workspace.

New

LSAF_GETWORKSPACEJOBOUTPUTS

Returns a SAS data set containing metadata for the outputs for the specified job in the SAS® LSAF workspace.

New

LSAF_GETWORKSPACEJOBPARAMETERS

Returns a SAS data set containing job parameter metadata for the specified job in the SAS® LSAF workspace.

New

LSAF_GETWORKSPACEJOBTASKS

Returns a SAS data set containing metadata for the tasks for the specified job in the SAS® LSAF workspace.

New

LSAF_UPDATEWORKSPACEJOB

Updates an existing job file in the SAS® LSAF workspace.

New

LSAF_SUBMITWORKSPACEJOB

Submits a SAS® LSAF workspace job for immediate execution.

New

LSAF_SUBMITANDPOPULATEWSJOB

Submits a SAS® LSAF workspace job for immediate execution and updates the input and output specifications in the job file.

New

 

Defects

Title

Description

Status

UPDATEACLS: Processing does not stop after first failure.

The documentation states that the processing stops with the first failure. The macro is not doing that. This could cause the value of _lsafRC_ or _sddRC_ to be inaccurate.

Fixed

GetJobInfo, inputs, tasks, parameters, outputs: Actual job version and path should be displayed in the data sets.

Currently the macros set the job path and job version in the data set to whatever value the user sent in. That means:
(1) There is no real "proof" that the job name or job version is the data from the actual job that was retrieved,
(2) The version is blank if the user sent in blank. Blank means get the latest version, but there is no record in the data set of what version was actually retrieved.

Fixed

Documentation of return values of -1

For the macros (both SASDRUGDEV_ and LSAF_) assignedroleexists, objectexists, processflowexists, roleexists, userexists, groupexists, isroleprivilege, isrolemember, ischeckedout,  isversioned, isuserprivilege, ismember, isgroupmember, iscontainer, hascontextprivilege, and workspaceobjectexists update documentation stating that in the event of an error, the return value of _lsaf<macro name>_ or _sdd<macro name>_ is set to -1.

Updated

LSAF_UPDATEOWNER: Return message for owner if owner already owns an object

When a user attempts to update the owner to the owner who already owns the object, there should be a message indicating that the owner has not changed since that user already owned the object.

Fixed

LSAF_GETGROUPS: Update documentation associated with sas_dsname

Change the documentation wording from to "The data set is sorted by group name and contain a row for each group.  The data set contains columns with the following names ". The word 'member' is confusing in this description since it implies that there is a row for each user or group within the group.

Fixed

LSAF_GETSUBMISSIONSTATUS: Update documentation for status values

Updated documentation to include all expected status values as well as references to additional error handling.

Updated

LSAF_REMOVEUSERPRIVILEGE: Update documentation to refer to correct macro for syntax

The documentation currently references the lsaf_roleexists macro syntax.  Please update to show the syntax corresponding to lsaf_removeuserprivilege.

Fixed

LSAF_UPDATEPROJECTSTATE and LSAF_UPDATEANALYSISSTATE: Return message should indicate the updated state of the project

Update the return message to indicate what state the project has been updated to.

Updated

LSAF_UPDATEPROPERTIES: Documentation of editable fields

Update documentation to help determine editable properties.

Fixed

LSAF_CREATEFOLDER: Update documentation to clarify where a folder can be created

Update the documentation to inform users that they can create a folder under \Files or an existing folder, not directly under the organization, project, or analysis.

Updated

LSAF_CREATEFILE: Update documentation to clarify to users where files can be created


Update the documentation to inform users that they can create a file under \Files or an existing folder, not directly under the organization, project, or analysis.

Updated

LSAF_ISROLEPRIVILEGE: Documentation for inherited roles

Clarify in the documentation that this macro works for defined roles and not for inherited roles.

Updated

LSAF_ASSIGNEDROLEEXISTS,

LSAF_ASSIGNROLE,

LSAF_UNASSIGNROLE,

LSAF_ISROLEMEMBER:

Update error message to clarify lsaf_role_context and lsaf_role

Update error message to handle clarification between the lsaf_role_context and lsaf_role. It is difficult for a new user to see where the role context ends and the role begins.

Updated

LSAF_ADDROLEPRIVILEGE: Update documentation for case of privilege

Documentation should mention that the privilege is case-sensitive, or the macro should handle cases where the user does not enter the privilege in all caps. Updated the macro to handle case-insensitive privilege IDs.

Updated

Macro doc is incorrect for SASDRUGDEV_getChildren and lsaf_getChildren.

Updated documentation to correctly reflect the default data set name.

Updated

Macro doc is incorrect for SASDRUGDEV_submitjob and lsaf_submitjob

Updated documentation from _sddJobSubmissionStatus_ to _sddJobSubmissionId_ in sasdrugdev_submitjob and to _lsafJobSubmissionId_ in lsaf_submitjob.

Updated



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Life Science Analytics FrameworkMicrosoft Windows 104.7.19.4 TS1M3
Windows 7 Enterprise x644.7.19.4 TS1M3
Linux for x644.7.19.4 TS1M3
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.