Module lsaf_macro_api

View and manage elements of SAS Life Science Analytics Framework (LSAF).

Since: 1.5

Macro Summary
external

LSAF
%lsaf_addgroupmember(lsaf_path=, lsaf_group=, lsaf_type=USER, lsaf_member=, lsaf_group_context=);
Adds a user or group as a member of a group in the specified organization, project, or ...
external

LSAF
%lsaf_addmember(lsaf_path=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);
Adds a user or a group as a member of the specified organization, project, or analysis.
external

LSAF
%lsaf_addrolemember(lsaf_path=, lsaf_role=, lsaf_role_context=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);
Adds a user or group as a member of a role in the specified organization, project, or ...
external

LSAF
%lsaf_addroleprivilege(lsaf_path=, lsaf_role=, lsaf_privilege=);
Adds a privilege to a role in the specified organization, project, or analysis.
external

LSAF
%lsaf_adduserprivilege(lsaf_userid=, lsaf_privilege=);
Assign a global privilege to a user in the system.
external

LSAF
%lsaf_assignedroleexists(lsaf_path=, lsaf_role=, lsaf_role_context=);
Determine if a role exists (as defined or inherited) in an organization, project, or analysis.
external

LSAF
%lsaf_assignrole(lsaf_path=, lsaf_role=, lsaf_role_context=);
Assigns a role to the specified organization, project, or analysis as an inherited role.
external

LSAF
%lsaf_checkin(lsaf_path=, lsaf_comment=, lsaf_versiontype=MINOR, lsaf_customversion=);
Checks in a SAS Life Science Analytics Framework repository file.
external

LSAF
%lsaf_checkout(lsaf_path=);
Check out a SAS Life Science Analytics Framework repository file.
external

LSAF
%lsaf_copy(lsaf_source=, lsaf_target=);
Copies a file or folder to the specified target location.
external

LSAF
%lsaf_createanalysis(lsaf_path=);
Creates an analysis in the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_createfile(local_path=, lsaf_path=, lsaf_versioning=, lsaf_version=, lsaf_comment=);
Uploads a file from the local machine to the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_createfolder(lsaf_path=);
Creates a folder in the SAS Life Science Analytics Framework repository. Folders can ...
external

LSAF
%lsaf_creategroup(lsaf_path=, lsaf_group=, lsaf_description=);
Creates a group in the specified organization, project, or analysis.
external

LSAF
%lsaf_createprocessflow(lsaf_path=, lsaf_processflow=, lsaf_processflowdef=);
Creates a process flow in the SAS Life Science Analytics Framework repository. A process flow ...
external

LSAF
%lsaf_createprocessflowmanifest(lsaf_path=, lsaf_processflow=, lsaf_manifest_path=, lsaf_versioning=, lsaf_versiontype=, lsaf_customversion=, lsaf_comment=);
Creates a process flow manifest file in the SAS Life Science Analytics Framework repository. ...
external

LSAF
%lsaf_createproject(lsaf_path=);
Creates a project in the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_createrole(lsaf_path=, lsaf_role=, lsaf_description=);
Creates a role in the specified organization, project, or analysis.
external

LSAF
%lsaf_createuser(lsaf_userid=, lsaf_displayname=, lsaf_email=, lsaf_accounttype=, lsaf_password=, lsaf_firstname=, lsaf_lastname=, lsaf_department=, lsaf_phone=);
Creates a user account within the system.
external

LSAF
%lsaf_createworkspacefolder(lsaf_path=);
Creates a folder in the SAS Life Science Analytics Framework workspace.
external

%lsaf_createworkspacejob(lsaf_path=, sas_dsname_info=%str(_lsaf_createworkspacejob_ds_notprovided_), sas_dsname_tasks=%str(_lsaf_createworkspacejob_ds_notprovided_), sas_dsname_parameters=%str(_lsaf_createworkspacejob_ds_notprovided_), sas_dsname_inputs=%str(_lsaf_createworkspacejob_ds_notprovided_), sas_dsname_outputs=%str(_lsaf_createworkspacejob_ds_notprovided_));
Creates a job in the SAS Life Science Analytics Framework workspace. The SAS macro variable ...
external

LSAF
%lsaf_deleteanalysis(lsaf_path=);
Deletes an analysis from the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_deletegroup(lsaf_path=, lsaf_group=);
Deletes a group from the specified organization, project, or analysis.
external

LSAF
%lsaf_deleteobject(lsaf_path=);
Deletes an object from the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_deleteprocessflow(lsaf_path=, lsaf_processflow=, lsaf_createmanifest=1, lsaf_manifest_path=, lsaf_versioning=, lsaf_versiontype=, lsaf_customversion=, lsaf_comment=);
Deletes a process flow and, optionally, creates manifest file in the SAS Life Science ...
external

LSAF
%lsaf_deleteproject(lsaf_path=);
Deletes a project from the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_deleterbitems(sas_dsname=, sas_result_dsname=work.lsafDeleteRBItems);
Permanently deletes items from the SAS Life Science Analytics Framework recycle bin using a ...
external

LSAF
%lsaf_deleterole(lsaf_path=, lsaf_role=);
Deletes a role from the specified organization, project, or analysis.
external

LSAF
%lsaf_deleteuser(lsaf_userid=);
Deletes a user account from the system.
external

LSAF
%lsaf_disableversioning(lsaf_path=, lsaf_comment=);
Disables versioning on a SAS Life Science Analytics Framework repository file.
external

LSAF
%lsaf_downloadaszip(lsaf_path=, local_path=, lsaf_overwrite=0);
Downloads SAS Life Science Analytics Framework files or a folder along with its content ...
external

LSAF
%lsaf_downloadfile(lsaf_path=, lsaf_version=, local_path=);
Downloads a file to your local machine from the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_enableversioning(lsaf_path=, lsaf_version=, lsaf_comment=);
Enables versioning on a SAS Life Science Analytics Framework repository file.
external

LSAF
%lsaf_encryptpassword(lsaf_password=);
Encrypts the password for a user in the system. The returned encrypted password can be used ...
external

LSAF
%lsaf_getabsolutepath(lsaf_base_path=, lsaf_relative_path=);
Returns an absolute path for a file relative to the given base path. Neither path is validated ...
external

LSAF
%lsaf_getacls(lsaf_path=, sas_dsname=work.lsafGetACLs, lsaf_recursive=0);
Returns a SAS data set that contains the access control list for objects in the SAS Life ...
external

LSAF
%lsaf_getallusers(sas_dsname=work.lsafGetAllUsers);
Returns a SAS data set that contains the metadata for all of the users defined within the ...
external

LSAF
%lsaf_getassignedmembers(lsaf_path=, sas_dsname=work.lsafGetAssignedMembers);
Returns a SAS data set that contains the metadata for all of the members assigned to the ...
external

LSAF
%lsaf_getcheckedoutfiles(lsaf_checkedoutby=%str(_LSAF_VALUE_NOT_PROVIDED_), lsaf_name=%str(_LSAF_VALUE_NOT_PROVIDED_), lsaf_location=%str(_LSAF_VALUE_NOT_PROVIDED_), sas_dsname=work.lsafGetCheckedOutFiles);
Returns a SAS data set containing the checked out file information for the specified user, ...
external

LSAF
%lsaf_getchildren(lsaf_path=, sas_dsname=work.lsafGetChildren, lsaf_recursive=0);
Returns a SAS data set that contains the metadata for objects within a container in the SAS ...
external

LSAF
%lsaf_getconfiguration(sas_dsname=work.lsafGetConfiguration, sas_suppressLogList=0);
Reports the current configuration settings.
external

LSAF
%lsaf_getcontextprivileges(lsaf_path=, sas_dsname=work.lsafGetContextPrivileges);
Returns a SAS data set that contains the metadata for all of the privileges available in the ...
external

LSAF
%lsaf_getcopytoworkspacestatus(lsaf_path=);
Returns the value for the Copy to Workspace status of a file or folder in the SAS Life Science ...
external

LSAF
%lsaf_getglobalprivileges(sas_dsname=work.lsafGetGlobalPrivileges);
Returns a SAS data set that contains the metadata for all of the global privileges available ...
external

LSAF
%lsaf_getgroupmembers(lsaf_path=, lsaf_group=, sas_dsname=work.lsafGetGroupMembers);
Returns a SAS data set that contains the metadata for all of the members assigned to a group ...
external

LSAF
%lsaf_getgroups(lsaf_path=, sas_dsname=work.lsafGetGroups);
Returns a SAS data set that contains the metadata for all of the groups defined within a ...
external

LSAF
%lsaf_getjobinfo(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetJobInfo);
Returns a SAS data set that contains the information for a job in the SAS Life Science ...
external

LSAF
%lsaf_getjobinputs(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetJobInputs);
Returns a SAS data set containing metadata for the inputs for the specified job in the SAS ...
external

LSAF
%lsaf_getjoboutputs(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetJobOutputs);
Returns a SAS data set containing metadata for the outputs for the specified job in the SAS ...
external

LSAF
%lsaf_getjobparameters(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetJobParameters);
Returns a SAS data set containing job parameter metadata for the specified job.
external

LSAF
%lsaf_getjobtasks(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetJobTasks);
Returns a SAS data set containing metadata for the tasks for the specified job in the SAS ...
external

LSAF
%lsaf_getmyprocessflows(lsaf_path=, sas_dsname=work.lsafGetMyProcessFlows, lsaf_includeChildren=1);
Returns a SAS data set that contains the metadata for all the process flows defined by the ...
external

LSAF
%lsaf_getobjecttype(lsaf_path=);
Reports the SAS Life Science Analytics Framework object type for the specified ...
external

LSAF
%lsaf_getowner(lsaf_path=, lsaf_aclType=);
Returns the current owner of an object within the organization in the SAS Life Science ...
external

LSAF
%lsaf_getpfjobelementinfo(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfJobElementInfo);
Returns a SAS data set that contains the properties for the job setup elements for the ...
external

LSAF
%lsaf_getpfjobparameters(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfJobParameters);
Returns a SAS data set that contains the override parameters for the job setup elements for the ...
external

LSAF
%lsaf_getpfnotificationinfo(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfNotificationInfo);
Returns a SAS data set that contains the properties for the notification setup elements for the ...
external

LSAF
%lsaf_getpfnotifrecipients(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfNotifRecipients);
Returns a SAS data set that contains the recipients for notification setup elements for the ...
external

LSAF
%lsaf_getpfsignallocations(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfSignalLocations);
Returns a SAS data set that contains the locations for the signal setup elements for the ...
external

LSAF
%lsaf_getpftimerelements(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfTimerElements);
Returns a SAS data set that contains the data for the timer setup elements for the ...
external

LSAF
%lsaf_getpfusercandidates(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfUserCandidates);
Returns a SAS data set that contains the candidates for user setup elements for the ...
external

LSAF
%lsaf_getpfuserelementinfo(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfUserElementInfo);
Returns a SAS data set that contains the properties for the user setup elements for the ...
external

LSAF
%lsaf_getprocessdefsbytype(lsaf_type=ORGANIZATION, sas_dsname=work.lsafGetProcessDefsByType);
Returns a SAS data set that contains the metadata for all of the process flow definitions ...
external

LSAF
%lsaf_getprocessflowdata(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetProcessFlowData);
Returns a SAS data set that contains the metadata for the process data for the specified ...
external

LSAF
%lsaf_getprocessflowelements(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetProcessFlowElements);
Returns a SAS data set that contains the metadata for the flow setup elements for the ...
external

LSAF
%lsaf_getprocessflowproperties(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetProcessFlowProperties);
Returns a SAS data set that contains the properties for the specified process flow within the ...
external

LSAF
%lsaf_getprocessflows(lsaf_path=, sas_dsname=work.lsafGetProcessFlows, lsaf_includeChildren=1);
Returns a SAS data set that contains the metadata for all of the process flows defined at, and ...
external

LSAF
%lsaf_getproperties(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetProperties);
Returns a SAS data set that contains the properties of an object in the SAS Life Science ...
external

LSAF
%lsaf_getrbitems(sas_dsname=work.lsafGetRBItems);
Returns a SAS data set that contains the metadata for the items in the SAS Life Science ...
external

LSAF
%lsaf_getrbitemsbyquery(lsaf_path=, lsaf_name=, lsaf_userid=, lsaf_from=, lsaf_to=, sas_dsname=work.lsafGetRBItemsByQuery);
Returns a SAS data set that contains the metadata for the items in the SAS Life Science ...
external

LSAF
%lsaf_getrelativepath(lsaf_base_path=, lsaf_absolute_path=);
Returns a relative path for a file relative to the given base path. Neither path is validated ...
external

LSAF
%lsaf_getrolemembers(lsaf_path=, lsaf_role=, lsaf_role_context=, sas_dsname=work.lsafGetRoleMembers);
Returns a SAS data set that contains the metadata for all of the members assigned to a role ...
external

LSAF
%lsaf_getroleprivileges(lsaf_path=, lsaf_role=, sas_dsname=work.lsafGetRolePrivileges);
Returns a SAS data set that contains the metadata for all of the privileges assigned to a ...
external

LSAF
%lsaf_getroles(lsaf_path=, sas_dsname=work.lsafGetRoles, lsaf_getInherited=1);
Returns a SAS data set that contains the metadata for all of the roles defined and, if ...
external

LSAF
%lsaf_getsignatures(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetSignatures);
Returns a SAS data set that contains the metadata for all of the signatures of a file or a ...
external

LSAF
%lsaf_getsubmissionstatus(lsaf_jobsubmission_id=);
Determines the status of a SAS Life Science Analytics Framework repository or workspace job ...
external

LSAF
%lsaf_getsubscriptions(sas_dsname=work.lsafGetSubscriptions);
Returns a SAS data set containing metadata for all subscriptions for the current user.
external

LSAF
%lsaf_getsyncinfo(lsaf_path=, sas_dsname=work.lsafGetSyncInfo);
Returns a SAS data set containing synchronization information for the specified file in the ...
external

LSAF
%lsaf_getsyncstatus(lsaf_path=);
Determines if a file in the SAS Life Science Analytics Framework repository is synchronized, ...
external

LSAF
%lsaf_getusergroups(lsaf_userid=, sas_dsname=work.lsafGetUserGroups);
Returns a SAS data set containing metadata for each of the groups in which the specified ...
external

LSAF
%lsaf_getuserprivileges(lsaf_userid=, sas_dsname=work.lsafGetUserPrivileges);
Returns a SAS data set that contains the metadata for all of the global privileges assigned ...
external

LSAF
%lsaf_getversions(lsaf_path=, sas_dsname=work.lsafGetVersions);
Returns a SAS data set that contains the metadata for all of the versions of a file.
external

LSAF
%lsaf_getworkspacechildren(lsaf_path=, sas_dsname=work.lsafGetWorkspaceChildren, lsaf_recursive=0);
Returns a SAS data set that contains the metadata for objects within a folder in the SAS ...
external

LSAF
%lsaf_getworkspacejobinfo(lsaf_path=, sas_dsname=work.lsafGetWorkspaceJobInfo);
Returns a SAS data set that contains the information for a job in the SAS Life Science ...
external

LSAF
%lsaf_getworkspacejobinputs(lsaf_path=, sas_dsname=work.lsafGetWorkspaceJobInputs);
Returns a SAS data set containing metadata for the inputs for the specified job in the SAS ...
external

LSAF
%lsaf_getworkspacejoboutputs(lsaf_path=, sas_dsname=work.lsafGetWorkspaceJobOutputs);
Returns a SAS data set containing metadata for the outputs for the specified job in the SAS ...
external

LSAF
%lsaf_getworkspacejobparameters(lsaf_path=, sas_dsname=work.lsafGetWorkspaceJobParameters);
Returns a SAS data set containing job parameter metadata for the specified job in the SAS ...
external

LSAF
%lsaf_getworkspacejobtasks(lsaf_path=, sas_dsname=work.lsafGetWorkspaceJobTasks);
Returns a SAS data set containing metadata for the tasks for the specified job in the SAS ...
external

LSAF
%lsaf_groupexists(lsaf_path=, lsaf_group=);
Determines whether a group is defined for the specified context.
external

LSAF
%lsaf_hascontextprivilege(lsaf_path=, lsaf_privilege=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);
Determines whether a user or group has a specific role privilege in the specified ...
external

LSAF
%lsaf_ischeckedout(lsaf_path=);
Determines whether a SAS Life Science Analytics Framework repository file has been checked out.
external

LSAF
%lsaf_iscontainer(lsaf_path=);
Determines whether a SAS Life Science Analytics Framework repository object is of type container.
external

LSAF
%lsaf_isgroupmember(lsaf_path=, lsaf_group=, lsaf_member=, lsaf_type=USER, lsaf_group_context=, lsaf_includeImplicit=0);
Determines whether a user or group is an explicit member of the group in the specified organization, ...
external

LSAF
%lsaf_ismember(lsaf_path=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);
Determines whether a user or group is a member in the specified organization, project, ...
external

LSAF
%lsaf_isrolemember(lsaf_path=, lsaf_role=, lsaf_role_context=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);
Determines whether a user or group is a member of a role in the specified organization, ...
external

LSAF
%lsaf_isroleprivilege(lsaf_path=, lsaf_role=, lsaf_privilege=);
Determines whether a privilege is assigned to a role in the specified organization, ...
external

LSAF
%lsaf_isuserprivilege(lsaf_userid=, lsaf_privilege=);
Determines whether a global privilege is assigned to a user.
external

LSAF
%lsaf_isversioned(lsaf_path=);
Determines whether a SAS Life Science Analytics Framework repository object has versioning enabled.
external

LSAF
%lsaf_lockuser(lsaf_userid=);
Locks a user account.
external

LSAF
%lsaf_login(lsaf_url=, lsaf_userid=, lsaf_password=, proxy_host=, proxy_port=, proxy_userid=, proxy_password=);
Creates a connection to the SAS Life Science Analytics Framework instance.
external

LSAF
%lsaf_logout;
Closes an open connection to SAS Life Science Analytics Framework.
external

LSAF
%lsaf_markforaddandcheckin(lsaf_path=, lsaf_versionfile=1, lsaf_comment=, lsaf_versiontype=MAJOR, lsaf_customversion=);
Marks for add and checks in a workspace file to the SAS Life Science Analytics Framework ...
external

LSAF
%lsaf_move(lsaf_source=, lsaf_target=);
Moves a file or folder to the specified target location.
external

LSAF
%lsaf_objectexists(lsaf_path=);
Determines whether a SAS Life Science Analytics Framework repository object exists.
external

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

LSAF
%lsaf_removegroupmember(lsaf_path=, lsaf_group=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);
Removes a user or a group as a member of a group in the specified organization, project, or ...
external

LSAF
%lsaf_removemember(lsaf_path=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);
Removes a user or a group as a member of the specified organization, project, or analysis.
external

LSAF
%lsaf_removerolemember(lsaf_path=, lsaf_role=, lsaf_role_context=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);
Removes a user or a group as a member of a role in the specified organization, project, or ...
external

LSAF
%lsaf_removeroleprivilege(lsaf_path=, lsaf_role=, lsaf_privilege=);
Removes a privilege from a role in the specified organization, project, or analysis.
external

LSAF
%lsaf_removeuserprivilege(lsaf_userid=, lsaf_privilege=);
Remove a global privilege from a user in the system.
external

LSAF
%lsaf_renameanalysis(lsaf_source=, lsaf_newname=);
Renames an analysis.
external

LSAF
%lsaf_renameobject(lsaf_source=, lsaf_newname=);
Renames a file or folder.
external

LSAF
%lsaf_renameproject(lsaf_source=, lsaf_newname=);
Renames a project.
external

LSAF
%lsaf_resetpassword(lsaf_userid=, lsaf_newpassword=);
Reset the password for a user in the system. This action requires the logged on user to have ...
external

LSAF
%lsaf_roleexists(lsaf_path=, lsaf_role=);
Determines whether a a role is defined in the specified organization, project, or analysis.
external

LSAF
%lsaf_submitandpopulatewsjob(lsaf_path=, lsaf_userelativepaths=0, sas_dsname=);
Submits a SAS Life Science Analytics Framework workspace job for immediate execution and updates ...
external

LSAF
%lsaf_submitjob(lsaf_path=, lsaf_version=, sas_dsname=);
Submits a SAS Life Science Analytics Framework repository job for immediate execution and sets ...
external

LSAF
%lsaf_submitworkspacejob(lsaf_path=, sas_dsname=);
Submits a SAS Life Science Analytics Framework workspace job for immediate execution and sets ...
external

LSAF
%lsaf_syncfiletoworkspace(lsaf_path=, lsaf_version=);
Gets the version of the SAS Life Science Analytics Framework from the repository file to ...
external

LSAF
%lsaf_unassignrole(lsaf_path=, lsaf_role=, lsaf_role_context=);
Unassigns a role from the specified organization, project, or analysis.
external

LSAF
%lsaf_unlockuser(lsaf_userid=);
Unlocks a user account.
external

LSAF
%lsaf_updateacls(sas_dsname=);
Sets permissions on SAS Life Science Analytics Framework objects using a data set as input.
external

LSAF
%lsaf_updateanalysislead(lsaf_path=, lsaf_userid=);
Updates the current lead of an analysis in the SAS Life Science Analytics Framework ...
external

LSAF
%lsaf_updateanalysisstate(lsaf_path=, lsaf_state=, lsaf_comment=);
Update the state of an analysis in the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_updatecopytoworkspacestatus(lsaf_path=, lsaf_status=);
Updates the value for the Copy To Workspace status of a file or folder in the SAS Life Science ...
external

LSAF
%lsaf_updatefile(local_path=, lsaf_path=, lsaf_comment=, lsaf_version=);
Updates the contents of an existing file in the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_updateorglead(lsaf_path=, lsaf_userid=);
Updates the current lead of an organization in the SAS Life Science Analytics Framework ...
external

LSAF
%lsaf_updateowner(lsaf_path=, lsaf_aclType=, lsaf_userid=);
Updates the current owner of an object within the organization in the SAS Life Science ...
external

LSAF
%lsaf_updatepfjobelementinfo(sas_dsname=);
Updates the properties for process flow job elements using a data set as input.
external

LSAF
%lsaf_updatepfjobparameters(sas_dsname=);
Updates the job parameter overrides for process flow job elements using a data set as input.
external

LSAF
%lsaf_updatepfnotificationinfo(sas_dsname=);
Updates the properties for process flow notification elements using a data set as input.
external

LSAF
%lsaf_updatepfnotifrecipients(sas_dsname=);
Updates the recipients for process flow notification elements using a data set as input.
external

LSAF
%lsaf_updatepfsignallocations(sas_dsname=);
Updates the locations for process flow signal elements using a data set as input.
external

LSAF
%lsaf_updatepftimerelements(sas_dsname=);
Updates the values of process flow timer elements using a data set as input. Each row of the ...
external

LSAF
%lsaf_updatepfusercandidates(sas_dsname=);
Updates the candidates for process flow user task elements using a data set as input.
external

LSAF
%lsaf_updatepfuserelementinfo(sas_dsname=);
Updates the properties for process flow user elements using a data set as input.
external

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

LSAF
%lsaf_updateprocessflowproperties(lsaf_path=, lsaf_processflow=, sas_dsname=_lsaf_updatepf_donotupdate_);
Updates a process flow in the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_updateprojectlead(lsaf_path=, lsaf_userid=);
Updates the current lead of a project in the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_updateprojectstate(lsaf_path=, lsaf_state=, lsaf_comment=, lsaf_include_analyses=1);
Update the state of a project in the SAS Life Science Analytics Framework repository.
external

LSAF
%lsaf_updateproperties(lsaf_path=, sas_dsname=);
Updates the editable properties of SAS Life Science Analytics Framework repository ...
external

LSAF
%lsaf_updateuserinfo(lsaf_userid=, lsaf_displayname=_lsaf_updateuser_donotupdate_, lsaf_email=_lsaf_updateuser_donotupdate_, lsaf_accounttype=_lsaf_updateuser_donotupdate_, lsaf_firstname=_lsaf_updateuser_donotupdate_, lsaf_lastname=_lsaf_updateuser_donotupdate_, lsaf_department=_lsaf_updateuser_donotupdate_, lsaf_phone=_lsaf_updateuser_donotupdate_);
Update general user account information.
external

%lsaf_updateworkspacejob(lsaf_path=, sas_dsname_info=%str(_lsaf_updateworkspacejob_ds_notprovided_), sas_dsname_tasks=%str(_lsaf_updateworkspacejob_ds_notprovided_), sas_dsname_parameters=%str(_lsaf_updateworkspacejob_ds_notprovided_), sas_dsname_inputs=%str(_lsaf_updateworkspacejob_ds_notprovided_), sas_dsname_outputs=%str(_lsaf_updateworkspacejob_ds_notprovided_));
Updates an existing job in the SAS Life Science Analytics Framework workspace.
external

LSAF
%lsaf_uploadandexpand(local_path=, lsaf_path=, lsaf_versioning=, lsaf_version=, lsaf_comment=);
Uploads and expands the contents of a zip file into the specified folder location in the SAS ...
external

LSAF
%lsaf_userexists(lsaf_userid=);
Determines whether a user exists within the system.
external

LSAF
%lsaf_workspaceobjectexists(lsaf_path=);
Determines whether a SAS Life Science Analytics Framework workspace object exists.
external

SDD
%sasdrugdev_addgroupmember(sdd_path=, sdd_group=, sdd_type=USER, sdd_member=, sdd_group_context=);
Adds a user or group as a member of a group in the specified organization, project, or ...

Deprecated. Replaced by lsaf_addgroupmember, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_addmember(sdd_path=, sdd_member=, sdd_type=USER, sdd_group_context=);
Adds a user or a group as a member of the specified organization, project, or analysis.

Deprecated. Replaced by lsaf_addmember, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_addrolemember(sdd_path=, sdd_role=, sdd_role_context=, sdd_member=, sdd_type=USER, sdd_group_context=);
Adds a user or group as a member of a role in the specified organization, project, or ...

Deprecated. Replaced by lsaf_addrolemember, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_addroleprivilege(sdd_path=, sdd_role=, sdd_privilege=);
Adds a privilege to a role in the specified organization, project, or analysis.

Deprecated. Replaced by lsaf_addroleprivilege, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_adduserprivilege(sdd_userid=, sdd_privilege=);
Assign a global privilege to a user in the system.

Deprecated. Replaced by lsaf_adduserprivilege, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_assignedroleexists(sdd_path=, sdd_role=, sdd_role_context=);
Determine if a role exists (as defined or inherited) in an organization, project, or analysis.

Deprecated. Replaced by lsaf_assignedroleexists, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_assignrole(sdd_path=, sdd_role=, sdd_role_context=);
Assigns a role to the specified organization, project, or analysis as an inherited role.

Deprecated. Replaced by lsaf_assignrole, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_copy(sdd_source=, sdd_target=);
Copies a file or folder to the specified target location.

Deprecated. Replaced by lsaf_copy, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_createanalysis(sdd_path=);
Creates an analysis in the SAS Drug Development repository.

Deprecated. Replaced by lsaf_createanalysis, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_createfile(local_path=, sdd_path=, sdd_versioning=, sdd_version=, sdd_comment=);
Uploads a file from the local machine to the SAS Drug Development repository.

Deprecated. Replaced by lsaf_createfile, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_createfolder(sdd_path=);
Creates a folder in the SAS Drug Development repository.

Deprecated. Replaced by lsaf_createfolder, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_creategroup(sdd_path=, sdd_group=, sdd_description=);
Creates a group in the specified organization, project, or analysis.

Deprecated. Replaced by lsaf_creatgroup, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_createproject(sdd_path=);
Creates a project in the SAS Drug Development repository.

Deprecated. Replaced by lsaf_createproject, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_createrole(sdd_path=, sdd_role=, sdd_description=);
Creates a role in the specified organization, project, or analysis.

Deprecated. Replaced by lsaf_createrole, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_createuser(sdd_userid=, sdd_displayname=, sdd_email=, sdd_accounttype=, sdd_password=, sdd_firstname=, sdd_lastname=, sdd_department=, sdd_phone=);
Creates a user account within the system.

Deprecated. Replaced by lsaf_createuser, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_deleteanalysis(sdd_path=);
Deletes an analysis from the SAS Drug Development repository.

Deprecated. Replaced by lsaf_deleteanalysis, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_deletegroup(sdd_path=, sdd_group=);
Deletes a group from the specified organization, project, or analysis.

Deprecated. Replaced by lsaf_deletegroup, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_deleteobject(sdd_path=);
Deletes an object from the SAS Drug Development repository.

Deprecated. Replaced by lsaf_deleteobject, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_deleteproject(sdd_path=);
Deletes a project from the SAS Drug Development repository.

Deprecated. Replaced by lsaf_deleteproject, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_deleterbitems(sas_dsname=, sas_result_dsname=work.sddDeleteRBItems);
Permanently deletes items from the SAS Drug Development recycle bin using a data set as ...

Deprecated. Replaced by lsaf_deleterbitems, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_deleterole(sdd_path=, sdd_role=);
Deletes a role from the specified organization, project, or analysis.

Deprecated. Replaced by lsaf_deleterole, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_deleteuser(sdd_userid=);
Deletes a user account from the system.

Deprecated. Replaced by lsaf_deleteuser, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_disableversioning(sdd_path=, sdd_comment=);
Disables versioning on a SAS Drug Development repository file.
external

SDD
%sasdrugdev_downloadaszip(sdd_path=, local_path=, sdd_overwrite=0);
Downloads SAS Drug Development files or a folder along with its content to your local machine ...

Deprecated. Replaced by lsaf_downloadaszip, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_downloadfile(sdd_path=, sdd_version=, local_path=);
Downloads a file to your local machine from the SAS Drug Development repository.

Deprecated. Replaced by lsaf_downloadfile, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_enableversioning(sdd_path=, sdd_version=, sdd_comment=);
Enables versioning on a SAS Drug Development repository file.
external

SDD
%sasdrugdev_getacls(sdd_path=, sas_dsname=work.sddGetACLs, sdd_recursive=0);
Returns a SAS data set that contains the access control list for objects in the SAS Drug ...

Deprecated. Replaced by lsaf_getacls, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getallusers(sas_dsname=work.sddGetAllUsers);
Returns a SAS data set that contains the metadata for all of the users defined within the ...

Deprecated. Replaced by lsaf_getallusers, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getassignedmembers(sdd_path=, sas_dsname=work.sddGetAssignedMembers);
Returns a SAS data set that contains the metadata for all of the members assigned to the ...

Deprecated. Replaced by lsaf_getassignedmembers, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getchildren(sdd_path=, sas_dsname=work.sddGetChildren, sdd_recursive=0);
Returns a SAS data set that contains the metadata for objects within a container in the SAS ...

Deprecated. Replaced by lsaf_getchildren, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getconfiguration(sas_dsname=work.sddGetConfiguration, sas_suppressLogList=0);
Reports the current configuration settings.

Deprecated. Replaced by lsaf_getconfiguration, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getcontextprivileges(sdd_path=, sas_dsname=work.sddGetContextPrivileges);
Returns a SAS data set that contains the metadata for all of the privileges available in the ...

Deprecated. Replaced by lsaf_getcontextprivileges, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getglobalprivileges(sas_dsname=work.sddGetGlobalPrivileges);
Returns a SAS data set that contains the metadata for all of the global privileges available ...

Deprecated. Replaced by lsaf_getglobalprivileges, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getgroupmembers(sdd_path=, sdd_group=, sas_dsname=work.sddGetGroupMembers);
Returns a SAS data set that contains the metadata for all of the members assigned to a group ...

Deprecated. Replaced by lsaf_getgroupmembers, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getgroups(sdd_path=, sas_dsname=work.sddGetGroups);
Returns a SAS data set that contains the metadata for all of the groups defined within a ...

Deprecated. Replaced by lsaf_getgroups, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getjobinfo(sdd_path=, sdd_version=, sas_dsname=work.sddGetJobInfo);
Returns a SAS data set that contains the information for a job in the SAS Drug Development ...

Deprecated. Replaced by lsaf_getjobinfo, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getjobinputs(sdd_path=, sdd_version=, sas_dsname=work.sddGetJobInputs);
Returns a SAS data set containing metadata for the inputs for the specified job in the SAS ...

Deprecated. Replaced by lsaf_getjobinputs, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getjoboutputs(sdd_path=, sdd_version=, sas_dsname=work.sddGetJobOutputs);
Returns a SAS data set containing metadata for the outputs for the specified job in the SAS ...

Deprecated. Replaced by lsaf_getjoboutputs, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getjobparameters(sdd_path=, sdd_version=, sas_dsname=work.sddGetJobParameters);
Returns a SAS data set containing job parameter metadata for the specified job.

Deprecated. Replaced by lsaf_getjobparameters, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getjobtasks(sdd_path=, sdd_version=, sas_dsname=work.sddGetJobTasks);
Returns a SAS data set containing metadata for the tasks for the specified job in the SAS ...

Deprecated. Replaced by lsaf_getjobtasks, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getobjecttype(sdd_path=);
Reports the SAS Drug Development object type for the specified ...

Deprecated. Replaced by lsaf_getobjecttype, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getowner(sdd_path=, sdd_aclType=);
Returns the current owner of an object within the organization in the SAS Drug Development ...

Deprecated. Replaced by lsaf_getowner, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getproperties(sdd_path=, sdd_version=, sas_dsname=work.sddGetProperties);
Returns a SAS data set that contains the properties of an object in the SAS Drug Development ...

Deprecated. Replaced by lsaf_getproperties, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getrbitems(sas_dsname=work.sddGetRBItems);
Returns a SAS data set that contains the metadata for the items in the SAS Drug Development ...

Deprecated. Replaced by lsaf_getrbitems, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getrolemembers(sdd_path=, sdd_role=, sdd_role_context=, sas_dsname=work.sddGetRoleMembers);
Returns a SAS data set that contains the metadata for all of the members assigned to a role ...

Deprecated. Replaced by lsaf_getrolemembers, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getroleprivileges(sdd_path=, sdd_role=, sas_dsname=work.sddGetRolePrivileges);
Returns a SAS data set that contains the metadata for all of the privileges assigned to a ...

Deprecated. Replaced by lsaf_getroleprivileges, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getroles(sdd_path=, sas_dsname=work.sddGetRoles, sdd_getInherited=1);
Returns a SAS data set that contains the metadata for all of the roles defined and, if ...

Deprecated. Replaced by lsaf_getroles, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getsignatures(sdd_path=, sdd_version=, sas_dsname=work.sddGetSignatures);
Returns a SAS data set that contains the metadata for all of the signatures of a file or a ...

Deprecated. Replaced by lsaf_getsignatures, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getsubmissionstatus(sdd_jobsubmission_id=);
Determines the status of a SAS Drug Development repository or workspace job submission.

Deprecated. Replaced by lsaf_getsubmissionstatus, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getsubscriptions(sas_dsname=work.sddGetSubscriptions);
Returns a SAS data set containing metadata for all subscriptions for the current user.

Deprecated. Replaced by lsaf_getsubscriptions, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getsyncstatus(sdd_path=);
Determines if a file in the SAS Drug Development repository is synchronized, out of ...

Deprecated. Replaced by lsaf_getsyncstatus, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getusergroups(sdd_userid=, sas_dsname=work.sddGetUserGroups);
Returns a SAS data set containing metadata for each of the groups in which the specified ...

Deprecated. Replaced by lsaf_getusergroups, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getuserprivileges(sdd_userid=, sas_dsname=work.sddGetUserPrivileges);
Returns a SAS data set that contains the metadata for all of the global privileges assigned ...

Deprecated. Replaced by lsaf_getuserprivileges, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_getversions(sdd_path=, sas_dsname=work.sddGetVersions);
Returns a SAS data set that contains the metadata for all of the versions of a file.

Deprecated. Replaced by lsaf_getversions, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_groupexists(sdd_path=, sdd_group=);
Determines whether a group is defined for the specified context.

Deprecated. Replaced by lsaf_groupexists, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_iscontainer(sdd_path=);
Determines whether a SAS Drug Development repository object is of type container.

Deprecated. Replaced by lsaf_iscontainer, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_isgroupmember(sdd_path=, sdd_group=, sdd_member=, sdd_type=USER, sdd_group_context=, sdd_includeImplicit=);
Determines whether a user or group is a member of the group in the specified organization, ...

Deprecated. Replaced by lsaf_isgroupmember, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_ismember(sdd_path=, sdd_member=, sdd_type=USER, sdd_group_context=);
Determines whether a user or group is a member in the specified organization, project, ...

Deprecated. Replaced by lsaf_ismember, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_isrolemember(sdd_path=, sdd_role=, sdd_role_context=, sdd_member=, sdd_type=USER, sdd_group_context=);
Determines whether a user or group is a member of a role in the specified organization, ...

Deprecated. Replaced by lsaf_isrolemember, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_isroleprivilege(sdd_path=, sdd_role=, sdd_privilege=);
Determines whether a privilege is assigned to a role in the specified organization, ...

Deprecated. Replaced by lsaf_isroleprivilege, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_isuserprivilege(sdd_userid=, sdd_privilege=);
Determines whether a global privilege is assigned to a user.

Deprecated. Replaced by lsaf_isuserprivilege, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_isversioned(sdd_path=);
Determines whether a SAS Drug Development repository object has versioning enabled.

Deprecated. Replaced by lsaf_isversioned, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_lockuser(sdd_userid=);
Locks a user account.

Deprecated. Replaced by lsaf_lockuser, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_login(sdd_url=, sdd_userid=, sdd_password=, proxy_host=, proxy_port=, proxy_userid=, proxy_password=);
Creates a connection to the SAS Drug Development instance.

Deprecated. Replaced by lsaf_login, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_logout;
Closes an open connection to SAS Drug Development.

Deprecated. Replaced by lsaf_logout, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_move(sdd_source=, sdd_target=);
Moves a file or folder to the specified target location.

Deprecated. Replaced by lsaf_move, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_objectexists(sdd_path=);
Determines whether a SAS Drug Development repository object exists.

Deprecated. Replaced by lsaf_objectexists, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_removegroupmember(sdd_path=, sdd_group=, sdd_member=, sdd_type=USER, sdd_group_context=);
Removes a user or a group as a member of a group in the specified organization, project, or ...

Deprecated. Replaced by lsaf_removegroupmember, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_removemember(sdd_path=, sdd_member=, sdd_type=USER, sdd_group_context=);
Removes a user or a group as a member of the specified organization, project, or analysis.

Deprecated. Replaced by lsaf_removemember, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_removerolemember(sdd_path=, sdd_role=, sdd_role_context=, sdd_member=, sdd_type=USER, sdd_group_context=);
Removes a user or a group as a member of a role in the specified organization, project, or ...

Deprecated. Replaced by lsaf_removerolemember, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_removeroleprivilege(sdd_path=, sdd_role=, sdd_privilege=);
Removes a privilege from a role in the specified organization, project, or analysis.

Deprecated. Replaced by lsaf_removeroleprivilege, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_removeuserprivilege(sdd_userid=, sdd_privilege=);
Remove a global privilege from a user in the system.

Deprecated. Replaced by lsaf_removeuserprivilege, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_renameanalysis(sdd_source=, sdd_newname=);
Renames an analysis.

Deprecated. Replaced by lsaf_renameanalysis, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_renameobject(sdd_source=, sdd_newname=);
Renames a file or folder.

Deprecated. Replaced by lsaf_renameobject, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_renameproject(sdd_source=, sdd_newname=);
Renames a project.

Deprecated. Replaced by lsaf_renameproject, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_resetpassword(sdd_userid=, sdd_newpassword=);
Reset the password for a user in the system. This action requires the logged on user to have ...

Deprecated. Replaced by lsaf_resetpassword, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_roleexists(sdd_path=, sdd_role=);
Determines whether a a role is defined in the specified organization, project, or analysis.

Deprecated. Replaced by lsaf_roleexists, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_submitjob(sdd_path=, sdd_version=, sas_dsname=);
Submits a SAS Drug Development repository job for immediate execution and sets the SAS macro ...

Deprecated. Replaced by lsaf_submitjob, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_syncfiletoworkspace(sdd_path=, sdd_version=);
Gets the version of the SAS Drug Development from the repository file to the workspace.

Deprecated. Replaced by lsaf_syncfiletoworkspace, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_unassignrole(sdd_path=, sdd_role=, sdd_role_context=);
Unassigns a role from the specified organization, project, or analysis.

Deprecated. Replaced by lsaf_unassignrole, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_unlockuser(sdd_userid=);
Unlocks a user account.

Deprecated. Replaced by lsaf_unlockuser, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_updateacls(sas_dsname=);
Sets permissions on SAS Drug Development objects using a data set as input.

Deprecated. Replaced by lsaf_updateacls, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_updateanalysislead(sdd_path=, sdd_userid=);
Updates the current lead of an analysis in the SAS Drug Development repository.

Deprecated. Replaced by lsaf_updateanalysislead, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_updateanalysisstate(sdd_path=, sdd_state=, sdd_comment=);
Update the state of an analysis in the SAS Drug Development repository

Deprecated. Replaced by lsaf_updateanalysisstate, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_updatefile(local_path=, sdd_path=, sdd_comment=, sdd_version=);
Updates the contents of an existing file in the SAS Drug Development repository.

Deprecated. Replaced by lsaf_updatefile, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_updateorglead(sdd_path=, sdd_userid=);
Updates the current lead of an organization in the SAS Drug Development repository.

Deprecated. Replaced by lsaf_updateorglead, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_updateowner(sdd_path=, sdd_aclType=, sdd_userid=);
Updates the current owner of an object within the organization in the SAS Drug Development ...

Deprecated. Replaced by lsaf_updateowner, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_updateprojectlead(sdd_path=, sdd_userid=);
Updates the current lead of a project in the SAS Drug Development repository.

Deprecated. Replaced by lsaf_updateprojectlead, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_updateprojectstate(sdd_path=, sdd_state=, sdd_comment=, sdd_include_analyses=1);
Update the state of a project in the SAS Drug Development repository

Deprecated. Replaced by lsaf_updateprojectstate, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_updateproperties(sdd_path=, sas_dsname=);
Updates the editable properties of SAS Drug Development repository object using a SAS data ...

Deprecated. Replaced by lsaf_updateproperties, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_updateuserinfo(sdd_userid=, sdd_displayname=_sdd_updateuser_donotupdate_, sdd_email=_sdd_updateuser_donotupdate_, sdd_accounttype=_sdd_updateuser_donotupdate_, sdd_firstname=_sdd_updateuser_donotupdate_, sdd_lastname=_sdd_updateuser_donotupdate_, sdd_department=_sdd_updateuser_donotupdate_, sdd_phone=_sdd_updateuser_donotupdate_);
Update general user account information

Deprecated. Replaced by lsaf_updateuserinfo, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_uploadandexpand(local_path=, sdd_path=, sdd_versioning=, sdd_version=, sdd_comment=);
Uploads and expands the contents of a zip file into the specified folder location in the SAS ...

Deprecated. Replaced by lsaf_uploadandexpand, effective with SAS LSAF Macro 1.5
external

SDD
%sasdrugdev_userexists(sdd_userid=);
Determines whether a user exists within the system.

Deprecated. Replaced by lsaf_userexists, effective with SAS LSAF Macro 1.5

Macro Detail

%lsaf_addgroupmember(lsaf_path=, lsaf_group=, lsaf_type=USER, lsaf_member=, lsaf_group_context=);

[ Exposure: external ]
Adds a user or group as a member of a group in the specified organization, project, or
analysis.

Syntax:
%LSAF_ADDGROUPMEMBER(LSAF_PATH=lsaf-path, LSAF_GROUP=lsaf-group-name,
LSAF_MEMBER=lsaf-member-identifier <, LSAF_TYPE=lsaf-member-type,
LSAF_GROUP_CONTEXT=lsaf-group-context>);

Example Code
Context paths used in examples:
- Organization: /SAS
- Project: /SAS/Project1
- Analysis: /SAS/Project1/Analysis1

1. Add User as a Group member at the Project level:
%lsaf_addgroupmember(lsaf_path=%str(/SAS/Project1), lsaf_group=%str(PrjGrp1),
lsaf_member=%str(User1), lsaf_type=%str(USER));

2. Add Group as a Group member at the Project level:
%lsaf_addgroupmember(lsaf_path=%str(/SAS/Project1), lsaf_group=%str(PrjGrp1),
lsaf_member=%str(OrgGrp1), lsaf_type=%str(GROUP), lsaf_group_context=%str(/SAS));

3. Add User as a Group member at the Analysis level:
%lsaf_addgroupmember(lsaf_path=%str(/SAS/Project1/Analysis1),
lsaf_group=%str(AnaGrp1), lsaf_member=%str(User1), lsaf_type=%str(USER));

4. Add Project Group as a Group member at the Analysis level:
%lsaf_addgroupmember(lsaf_path=%str(/SAS/Project1/Analysis1),
lsaf_group=%str(AnaGrp1), lsaf_member=%str(PrjGrp1), lsaf_type=%str(GROUP),
lsaf_group_context=%str(/SAS/Project1));

5. Add Organization Group as a Group member at the Analysis level:
%lsaf_addgroupmember(lsaf_path=%str(/SAS/Project1/Analysis1),
lsaf_group=%str(AnaGrp1), lsaf_member=%str(OrgGrp1), lsaf_type=%str(GROUP),
lsaf_group_context=%str(/SAS));

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-29
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the group is defined.
lsaf_group - - required - the name of the group to add the member.
lsaf_type - - conditional - the type of member being added.
        Values: USER | GROUP (case-insensitive)
        Default: USER
lsaf_member - - required - the user ID of the user or the name of the group being added.
lsaf_group_context - - conditional - specifies the context in which the group is defined
        as a path (e.g., /SAS). This parameter is required if LSAF_TYPE=GROUP. Otherwise,
        it will be ignored.
File: lsaf_addgroupmember.sas
First available in version: 1.2

%lsaf_addmember(lsaf_path=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);

[ Exposure: external ]
Adds a user or a group as a member of the specified organization, project, or analysis.

Syntax:
%LSAF_ADDMEMBER(LSAF_PATH=lsaf-path, LSAF_MEMBER=lsaf-member-identifier,
<LSAF_TYPE=lsaf-member-type, LSAF_GROUP_CONTEXT=lsaf-group-context>);

Example Code
Context paths used in examples:
- Organization: /SAS
- Project: /SAS/Project1
- Analysis: /SAS/Project1/Analysis1

1. Add User as a Member at the Project level:
%lsaf_addmember(LSAF_PATH=%str(/SAS/Project1), LSAF_MEMBER=%str(User1));

2. Add Group as a Member at the Project level:
%lsaf_addmember(lsaf_path=%str(/SAS/Project1), lsaf_member=%str(OrgGrp1),
lsaf_type=%str(GROUP), lsaf_group_context=%str(/SAS));

3. Add User as a Member at the Analysis level:
%lsaf_addmember(LSAF_PATH=%str(/SAS/Project1/Analysis1), LSAF_MEMBER=%str(User1));

4. Add Group defined at Organization level as a Member at the Analysis level:
%lsaf_addmember(lsaf_path=%str(/SAS/Project1/Analysis1), lsaf_member=%str(OrgGrp1),
lsaf_type=%str(GROUP), lsaf_group_context=%str(/SAS));

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-29
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - required - the path of the context object (organization, project, or
        analysis) where the member is being added.
lsaf_member - required - the user ID of the user or the name of the group being added.
lsaf_type - conditional - the type of member being added.
        Values: USER | GROUP (case-insensitive)
        Default: USER
lsaf_group_context - - conditional - specifies the context in which the group is defined
        as a path (e.g., /SAS). This parameter is required if LSAF_TYPE=GROUP. Otherwise,
        it will be ignored.
File: lsaf_addmember.sas
First available in version: 1.2

%lsaf_addrolemember(lsaf_path=, lsaf_role=, lsaf_role_context=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);

[ Exposure: external ]
Adds a user or group as a member of a role in the specified organization, project, or
analysis.

Syntax:
%LSAF_ADDROLEMEMBER(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name,
LSAF_ROLE_CONTEXT=lsaf-role-context, LSAF_MEMBER=lsaf-member-identifier
<, LSAF_TYPE=lsaf-member-type, LSAF_GROUP_CONTEXT=lsaf-group-context>);

Example Code
Context paths used in examples:
- Organization: /SAS
- Project: /SAS/Project1
- Analysis: /SAS/Project1/Analysis1

1. Add User to Role defined at Project:
%lsaf_addrolemember(lsaf_path=%str(/SAS/Project1), lsaf_role=%str(PrjRole1),
lsaf_role_context=%str(/SAS/Project1),lsaf_member=%str(User1), lsaf_type=%str(USER));

2. Add Group defined at Organization to Role defined at Project:
%lsaf_addrolemember(lsaf_path=%str(/SAS/Project1), lsaf_role=%str(PrjRole1),
lsaf_role_context=%str(/SAS/Project1),lsaf_member=%str(OrgGrp1), lsaf_type=%str(GROUP),
lsaf_group_context=%str(/SAS));

3. Add User to Role assigned at Project:
%lsaf_addrolemember(lsaf_path=%str(/SAS/Project1), lsaf_role=%str(OrgRole1),
lsaf_role_context=%str(/SAS),lsaf_member=%str(User1), lsaf_type=%str(USER));

4. Add Group defined at Organization to Role assigned at Project:
%lsaf_addrolemember(lsaf_path=%str(/SAS/Project1), lsaf_role=%str(OrgRole1),
lsaf_role_context=%str(/SAS),lsaf_member=%str(OrgGrp1), lsaf_type=%str(GROUP),
lsaf_group_context=%str(/SAS));

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
lsaf_role - - required - the name of the role to add the member.
lsaf_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
lsaf_member - required - the user ID of the user or the name of the group being added.
lsaf_type - conditional - the type of member being added.
        Values: USER | GROUP (case-insensitive)
        Default: USER
lsaf_group_context - - conditional - specifies the context in which the group is defined
        as a path (e.g., /SAS). This parameter is required if LSAF_TYPE=GROUP. Otherwise,
        it will be ignored.
File: lsaf_addrolemember.sas
First available in version: 1.2

%lsaf_addroleprivilege(lsaf_path=, lsaf_role=, lsaf_privilege=);

[ Exposure: external ]
Adds a privilege to a role in the specified organization, project, or analysis.

Syntax:
%LSAF_ADDROLEPRIVILEGE(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name,
LSAF_PRIVILEGE=lsaf-privilege-id);

Example Code:
Use %lsaf_getcontextprivileges to fetch the list of available privileges at a specified
context. The macro returns a SAS data set containing the list of privileges (the default
name of the data set is work.lsafgetcontextprivileges). Use one of the privilegeId values to
add that privilege to a Role.

1. Retrieve the available privileges at a Project:
%lsaf_getcontextprivileges(lsaf_path=%str(/SAS/Project1));

2. Add a privilege to a Role:
%lsaf_addroleprivilege(lsaf_path=%str(/SAS/Project1), lsaf_role=%str(PrjRole1),
lsaf_privilege=%str(PRIVILEGE_SIGN_FILE));

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role is defined.
lsaf_role - - required - the name of the role to add the privilege.
lsaf_privilege - - required - the identifier of the privilege being added.
File: lsaf_addroleprivilege.sas
First available in version: 1.2

%lsaf_adduserprivilege(lsaf_userid=, lsaf_privilege=);

[ Exposure: external ]
Assign a global privilege to a user in the system.

Syntax:
%LSAF_ADDUSERPRIVILEGE(LSAF_USERID=lsaf-user-id, LSAF_PRIVILEGE=lsaf-privilege-id);

Example Code:
Use %lsaf_getglobalprivileges to fetch the list of available global privileges. The
macro returns a SAS data set containing the list of privileges (the default name of the
data set is work.lsafgetglobalprivileges). Use one of the privilegeId values to assign that
global privilege to a User.

1. Retrieve the available global privileges:
%lsaf_getglobalprivileges();

2. Assign a privilege to a User:
%lsaf_adduserprivilege(lsaf_userid=%str(User1),
lsaf_privilege=%str(PRIVILEGE_AUDIT_REPORTING));

          
History:
   2013-11-01
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user to assign the global privilege.
lsaf_privilege - - required - the identifier of the global privilege to assign.
File: lsaf_adduserprivilege.sas
First available in version: 1.3

%lsaf_assignedroleexists(lsaf_path=, lsaf_role=, lsaf_role_context=);

[ Exposure: external ]
Determine if a role exists (as defined or inherited) in an organization, project, or analysis.

The SAS macro variable _lsafAssignedRoleExists_ is set to a value of 1 if the role exists, 0
if it does not. In the event of an incorrect call to the macro which results in an error, the
return value of _lsafAssignedRoleExists_ will be set to -1.

Syntax:
%LSAF_ASSIGNEDROLEEXISTS (LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name,
LSAF_ROLE_CONTEXT=lsaf-role-context);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafAssignedRoleExists_ - indicates the existence of the assigned role in the context.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis).
lsaf_role - - required - the name of the role to check for existence.
lsaf_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
File: lsaf_assignedroleexists.sas
First available in version: 1.2

%lsaf_assignrole(lsaf_path=, lsaf_role=, lsaf_role_context=);

[ Exposure: external ]
Assigns a role to the specified organization, project, or analysis as an inherited role.

Syntax:
%LSAF_ASSIGNROLE(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name,
LSAF_ROLE_CONTEXT=lsaf-role-context);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) to assign the role to.
lsaf_role - - required - the name of the role being assigned.
lsaf_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
File: lsaf_assignrole.sas
First available in version: 1.2

%lsaf_checkin(lsaf_path=, lsaf_comment=, lsaf_versiontype=MINOR, lsaf_customversion=);

[ Exposure: external ]
Checks in a SAS Life Science Analytics Framework repository file.

Syntax:
%LSAF_CHECKIN(LSAF_PATH=lsaf-path
<,LSAF_COMMENT=lsaf-comment
,LSAF_VERSIONTYPE=lsaf-versiontype
,LSAF_CUSTOMVERSION=lsaf-customversion>));

          
History:
   2016-10-05
initial coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file within the SAS Life Science Analytics
        Framework repository to check in.
lsaf_comment - - optional - a note associated with the action of checking in the file.
lsaf_versiontype - - optional - the version type (MINOR, MAJOR, or CUSTOM) to be created
        by the checkin action. The default value is MINOR.
lsaf_customversion - - conditional - a specific version to be created by the checkin
        action. The parameter is required when lsaf_versiontype is set to CUSTOM.
        Otherwise, it will be ignored.
File: lsaf_checkin.sas
First available in version: 1.5

%lsaf_checkout(lsaf_path=);

[ Exposure: external ]
Check out a SAS Life Science Analytics Framework repository file.

Syntax:
%LSAF_CHECKOUT(LSAF_PATH=lsaf-path);

          
History:
   2016-10-04
initial coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file within the SAS Life Science Analytics
        Framework repository to check out.
File: lsaf_checkout.sas
First available in version: 1.5

%lsaf_copy(lsaf_source=, lsaf_target=);

[ Exposure: external ]
Copies a file or folder to the specified target location.

The copy of a versioned file will not be versioned. The children of a copied folder will
also be copied to the new location in their original directory structure.

Syntax:
%LSAF_COPY(LSAF_SOURCE=lsaf-source-path, LSAF_TARGET=lsaf-target-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_source - - required - the path of the object to be copied.
lsaf_target - - required - the path (including the new name) where the object is to be
        copied. The target folder must already exist.
File: lsaf_copy.sas
First available in version: 1.1

%lsaf_createanalysis(lsaf_path=);

[ Exposure: external ]
Creates an analysis in the SAS Life Science Analytics Framework repository.

The parent project must already exist.

Syntax:
%LSAF_CREATEANALYSIS(LSAF_PATH=lsaf-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the analysis being created.
File: lsaf_createanalysis.sas
First available in version: 1.2

%lsaf_createfile(local_path=, lsaf_path=, lsaf_versioning=, lsaf_version=, lsaf_comment=);

[ Exposure: external ]
Uploads a file from the local machine to the SAS Life Science Analytics Framework repository.

All parent folders that do not already exist will be created as well.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Life Science Analytics Framework application session will result in a failure.

Syntax:
%LSAF_CREATEFILE(LOCAL_PATH=local-path, LSAF_PATH=lsaf-path
<, LSAF_VERSIONING=lsaf-versioning, LSAF_VERSION=lsaf-version, LSAF_COMMENT=lsaf_comment>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-29
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
local_path - - required - the absolute path and name of the file on the local computer.
lsaf_path - - required - the path of the file to be created. Files can only be created in
        SAS Life Science Analytics Framework areas that support folder and file creation.
        They cannot be created at the organization, project, or analysis levels.
lsaf_versioning - - optional - indicates whether the file being created should be
        versioned. The default value is 0, which will create a non-versioned file. A
        value of 1 will create a versioned file.
        Values: 0 | 1
        Default: 0
lsaf_version - - conditional - indicates the version number to assign to the file being
        created. The value must be in the valid version label format including a decimal
        point. This option is ignored when creating non-versioned file.
lsaf_comment - - conditional - the comment for the versioned file being created. This
        option is ignored when creating a non-versioned file.
File: lsaf_createfile.sas
First available in version: 1.1

%lsaf_createfolder(lsaf_path=);

[ Exposure: external ]
Creates a folder in the SAS Life Science Analytics Framework repository. Folders can
only be created under \Files or an existing folder, not directly under
the organization, project, or analysis.

All parent folders that do not already exist will be created as well.

Syntax:
%LSAF_CREATEFOLDER(LSAF_PATH=lsaf-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the folder to be created.
File: lsaf_createfolder.sas
First available in version: 1.1

%lsaf_creategroup(lsaf_path=, lsaf_group=, lsaf_description=);

[ Exposure: external ]
Creates a group in the specified organization, project, or analysis.

Syntax:
%LSAF_CREATEGROUP(LSAF_PATH=lsaf-path, LSAF_GROUP=lsaf-group-name
<, LSAF_DESCRIPTION=lsaf-description>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the group is to be created.
lsaf_group - - required - the name of the group to create.
lsaf_description - - optional- the description for the group being created.
File: lsaf_creategroup.sas
First available in version: 1.2

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

[ Exposure: external ]
Creates a process flow in the SAS Life Science Analytics Framework repository. A process flow
can only be created at the repository, project, or analysis level and not at a folder level.

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

          
History:
   2016-08-30
initial programming
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the process flow being created.
lsaf_processflow - - required - the name of the process flow being created.
lsaf_processflowdef - - required - the name of the process flow definition
        used to create the process flow.
File: lsaf_createprocessflow.sas
First available in version: 1.5

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

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

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

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

          
History:
   2016-11-15
initial programming
Expected Macro Variables:
_lsafCreatedProcessFlowManifest_ - indicates the full path of the process flow manifest.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
lsaf_manifest_path - - required - the repository location for the manifest. The location
        must be a folder and must already exist in the repository.
lsaf_versioning - - optional - indicates whether the file being created should be
        versioned. The default value is 1, which will create a versioned file. A value
        of 0 will create an unversioned file.
lsaf_versiontype - - optional - the version type (MINOR, MAJOR, or CUSTOM) to be
        created if the file is to be versioned. The default value is MAJOR. The value is
        ignored for unversioned files.
lsaf_customversion - - conditional - indicates the version number to assign to the file
        being created. The value must be in the valid version label format including a
        decimal point. This option is required when versiontype is CUSTOM and is ignored
        when creating a non-versioned file.
lsaf_comment - - optional - The comment will display with the audit trail record for the
        manifest creation.
File: lsaf_createprocessflowmanifest.sas
First available in version: 1.5

%lsaf_createproject(lsaf_path=);

[ Exposure: external ]
Creates a project in the SAS Life Science Analytics Framework repository.

Syntax:
%LSAF_CREATEPROJECT(LSAF_PATH=lsaf-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the project being created.
File: lsaf_createproject.sas
First available in version: 1.2

%lsaf_createrole(lsaf_path=, lsaf_role=, lsaf_description=);

[ Exposure: external ]
Creates a role in the specified organization, project, or analysis.

Syntax:
%LSAF_CREATEROLE(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name
<, LSAF_DESCRIPTION=lsaf-description>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role will be defined.
lsaf_role - - required - the name of the role being created.
lsaf_description - - optional - the description for the role being created.
File: lsaf_createrole.sas
First available in version: 1.2

%lsaf_createuser(lsaf_userid=, lsaf_displayname=, lsaf_email=, lsaf_accounttype=, lsaf_password=, lsaf_firstname=, lsaf_lastname=, lsaf_department=, lsaf_phone=);

[ Exposure: external ]
Creates a user account within the system.

Syntax:
%LSAF_CREATEUSER(LSAF_USERID=lsaf-userid, LSAF_DISPLAYNAME=lsaf-displayname,
LSAF_EMAIL=lsaf-email, LSAF_ACCOUNTTYPE=lsaf-accounttype, LSAF_PASSWORD=lsaf-password,
<, LSAF_FIRSTNAME=lsaf-firstname, LSAF_LASTNAME=lsaf-lastname,
LSAF_DEPARTMENT=lsaf-department,LSAF_PHONE=lsaf-phone>);

          
History:
   2013-10-30
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user ID of the account to create.
lsaf_displayname - - required - the display name of the account to create.
lsaf_email - - required - the email address of the account to create.
lsaf_accounttype - - required - the account type of the account to create.
        Values: INTERACTIVE | NON_INTERACTIVE
        Default: None
lsaf_password - - required - the password for the account to create.
lsaf_firstname - - optional - the first name of the user associated with this account.
lsaf_lastname - - optional - the last name of the user associated with this account.
lsaf_department - - optional - the business unit of the user associated with this account.
lsaf_phone - - optional - the phone number of the user associated with this account.
File: lsaf_createuser.sas
First available in version: 1.3

%lsaf_createworkspacefolder(lsaf_path=);

[ Exposure: external ]
Creates a folder in the SAS Life Science Analytics Framework workspace.

All parent folders that do not already exist will be created as well.

Syntax:
%LSAF_CREATEFOLDER(LSAF_PATH=lsaf-path);

          
History:
   2016-09-29
initial coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the folder to be created.
File: lsaf_createworkspacefolder.sas
First available in version: 1.5

%lsaf_createworkspacejob(lsaf_path=, sas_dsname_info=%str(_lsaf_createworkspacejob_ds_notprovided_), sas_dsname_tasks=%str(_lsaf_createworkspacejob_ds_notprovided_), sas_dsname_parameters=%str(_lsaf_createworkspacejob_ds_notprovided_), sas_dsname_inputs=%str(_lsaf_createworkspacejob_ds_notprovided_), sas_dsname_outputs=%str(_lsaf_createworkspacejob_ds_notprovided_));

[ Exposure: external ]
Creates a job in the SAS Life Science Analytics Framework workspace. The SAS macro variable
_lsafWorkspaceJobPath_ is set to the full path of the created job including the file extension.
If the job is not created, _lsafWorkspaceJobPath_ will be set to blank.

Data sets representing the job data to be set at creation time can be sent into the call to
lsaf_createworkspacejob. If data sets are not sent in, the default values for all job data will
be used. The output data sets from the following macros contain all the data relevant to the job
properties that can be set at creation time. See the macro documentation for more details.
- lsaf_getjobinfo or lsaf_getworkspacejobinfo
- lsaf_getjobtasks or lsaf_getworkspacejobtasks
- lsaf_getjobparameters or lsaf_getworkspacejobparameters
- lsaf_getjobinputs or lsaf_getworkspacejobinputs
- lsaf_getjoboutputs or lsaf_getworkspacejoboutputs

Syntax:
%LSAF_CREATEWORKSPACEJOB(LSAF_PATH=lsaf-path <SAS_DSNAME_INFO=SAS-data-set-info,
SAS_DSNAME_TASKS=SAS-data-set-jobtasks, SAS_DSNAME_PARAMETERS=SAS-data-set-parameters,
SAS_DSNAME_INPUTS=SAS-data-set-inputs, SAS_DSNAME_OUTPUTS=SAS-data-set-outputs>);

          
History:
   2016-09-23
initial coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
_lsafWorkspaceJobPath_ - indicates the full path of the new job.
Parameters:
lsaf_path - - required -the path for the job to be created in the SAS Life Science Analytics
        Framework workspace.
sas_dsname_info - - optional - the name of the SAS data set containing the job
        information specified as libref.dataset. If the parameter is not included in the call,
        the default job information will be set. The data set must contain, at minimum, the
        character variables listed below. Any additional variables will be ignored.
        - name: The name of the job property.
        - value: The value of the property to be specified.
        The information that can be specified is DESCRIPTION, LOGPATH, LSTPATH, MANIFESTPATH,
        NEWOUTPUTS_CUSTOMVERSION, NEWOUTPUTS_ENABLEVERSION, and NEWOUTPUTS_VERSIONTYPE.
        All other values listed in the data set will be ignored. All data are case-insensitive.
        If a name is listed more than once, the last value processed will be used. If a name
        is omitted, the default value will be set.
sas_dsname_tasks - - optional - the name of the SAS data set containing the list of
        paths to the SAS programs to be run specified as libref.dataset. If the parameter is
        not included in the call, no tasks will be set. The data set must contain, at minimum,
        the character variables listed below. Any additional variables will be ignored.
        - taskPath: The path of the SAS program file.
        - taskVersion: The version of the SAS program file. Blank and single asterisk values
        will indicate the latest file version.
sas_dsname_parameters - - optional - the name of the SAS data set containing the job
        parameter information specified as libref.dataset. If the parameter is not included in
        the call, no parameters will be set. The data set must contain, at minimum, the
        character variables listed below. Any additional variables will be ignored.
        - name: The name of the parameter.
        - label: The label for the parameter.
        - type: The parameter type. Valid values are CHARACTER, CHARACTER_MASKED,
        NUMERIC, DATE, FILE, and FOLDER.
        - defaultValue: The value to be set as the default value for the parameter.
        DATE job parameter values must be one of the following formats. Date values in
        formats other than the two described below will result in an execution error.
        - SAS datetime18. format (e.g., 02NOV2013:09:33:22) - an offset of zero hours
        from GMT will be used.
        - SAS E8601DZ25. format (e.g., 2013-11-02T09:33:22-04:00).
        - fileVersion: The file version to be used if the parameter is of type FILE. Blank and
        single asterisk values will indicate the latest file version.
        Data set rows with duplicate values for parameter name will result in a data set
        validation error.
sas_dsname_inputs - - optional - the name of the SAS data set containing the list of job
        inputs specified as libref.dataset. If the parameter is not included in the call,
        no inputs will be set. The data set must contain, at minimum, the variables listed
        below as the type specified. Any additional variables will be ignored.
        - inputPath (character): The path of the file or container to be used as input.
        - inputType (character): The type of input object. Valid values are FILE and CONTAINER.
        - inputVersion (character): The version of the FILE object. Blank and single asterisk
        values will indicate the latest file version. The value is ignored for inputs of
        type CONTAINER.
        - inputIncludesSubFolders (numeric): A flag indicating whether or not the input folder
        should include subfolders. The valid values are 0 and 1. The value is ignored
        for inputs of type FILE.
        Data set rows with duplicate values for inputPath will result in a data set
        validation error.
sas_dsname_outputs - - optional - the name of the SAS data set containing the list of job
        outputs specified as libref.dataset. If the parameter is not included in the call, no
        outputs will be set. The data set must contain, at minimum, the variables listed below
        as the type specified. Any additional variables will be ignored.
        - outputPath (character): The path of the container to be used as output.
        - outputIncludesSubFolders (numeric): A flag indicating whether or not the output
        container should include subfolders. The valid values are 0 and 1.
        Data set rows with duplicate values for outputPath will result in a data set
        validation error.
File: lsaf_createworkspacejob.sas
First available in version: 1.5

%lsaf_deleteanalysis(lsaf_path=);

[ Exposure: external ]
Deletes an analysis from the SAS Life Science Analytics Framework repository.

Syntax:
%LSAF_DELETEANALYSIS(LSAF_PATH=lsaf-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the analysis to be deleted.
File: lsaf_deleteanalysis.sas
First available in version: 1.2

%lsaf_deletegroup(lsaf_path=, lsaf_group=);

[ Exposure: external ]
Deletes a group from the specified organization, project, or analysis.

Syntax:
%LSAF_DELETEGROUP(LSAF_PATH=lsaf-path, LSAF_GROUP=lsaf-group-name);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the group is defined.
lsaf_group - - required - the name of the group to be deleted.
File: lsaf_deletegroup.sas
First available in version: 1.2

%lsaf_deleteobject(lsaf_path=);

[ Exposure: external ]
Deletes an object from the SAS Life Science Analytics Framework repository.

Syntax:
%LSAF_DELETEOBJECT(LSAF_PATH=lsaf-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the content object to be deleted.
File: lsaf_deleteobject.sas
First available in version: 1.1

%lsaf_deleteprocessflow(lsaf_path=, lsaf_processflow=, lsaf_createmanifest=1, lsaf_manifest_path=, lsaf_versioning=, lsaf_versiontype=, lsaf_customversion=, lsaf_comment=);

[ Exposure: external ]
Deletes a process flow and, optionally, creates manifest file in the SAS Life Science
Analytics Framework repository. The SAS macro variable _lsafDeletedProcessFlowManifest_ is set
to the full path of the process flow manifest including the file extension. If no process
flow manifest is requested, _lsafDeletedProcessFlowManifest_ will be set to blank. If a
process flow manifest is requested but cannot be created, _lsafDeletedProcessFlowManifest_
will be set to blank and the process flow will not be deleted.

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


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

          
History:
   2016-11-16
initial programming
Expected Macro Variables:
_lsafDeletedProcessFlowManifest_ - indicates the full path of the process flow manifest.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
lsaf_createmanifest - - optional - indicates whether to create a process flow manifest
        file prior to deleting the process flow. The default value is 1 indicating to
        create a manifest.
lsaf_manifest_path - - optional - the repository location for the manifest. The location
        must be a folder and must already exist in the repository. This parameter is
        required when lsaf_createmanifest is set to 1. Otherwise, it will be ignored.
lsaf_versioning - - optional - indicates whether the manifest should be versioned. The
        default value is 1, which will create a versioned file. A value of 0 will create
        an unversioned file.
lsaf_versiontype - - optional - the version type (MINOR, MAJOR, or CUSTOM) to be
        created if the file is to be versioned. The default value is MAJOR. The value is
        ignored for unversioned files or if lsaf_createmanifest is set to 0.
lsaf_customversion - - conditional - indicates the version number to assign to the file
        being created. The value must be in the valid version label format including a
        decimal point. This parameter is required when versiontype is CUSTOM and is ignored
        when creating a non-versioned file or if lsaf_createmanifest is set to 0.
lsaf_comment - - optional - The comment will display with the audit trail record for
        the manifest creation.
File: lsaf_deleteprocessflow.sas
First available in version: 1.5

%lsaf_deleteproject(lsaf_path=);

[ Exposure: external ]
Deletes a project from the SAS Life Science Analytics Framework repository.

Syntax:
%LSAF_DELETEPROJECT(LSAF_PATH=lsaf-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the project to be deleted.
File: lsaf_deleteproject.sas
First available in version: 1.2

%lsaf_deleterbitems(sas_dsname=, sas_result_dsname=work.lsafDeleteRBItems);

[ Exposure: external ]
Permanently deletes items from the SAS Life Science Analytics Framework recycle bin using a
data set as input. Returns a SAS data set that contains the paths for the items that were
permanently deleted from the SAS Life Science Analytics Framework recycle bin.

The items listed in the input data set will be permanently removed from the recycle bin
provided that the user has the Permanent Delete Items role privilege at the organizational
context. No error message will be provided for objects that could not be permanently deleted.

A path created and deleted multiple times from the SAS Life Science Analytics Framework
repository will appear multiple times in the recycle bin. Therefore, the items must be
referenced by their unique identifier. The identifier can be retrieved using the
lsaf_getrbitems macro.

The output data set will contain one row for each path that was permanently deleted from the
recycle bin. If multiple items with the same path were deleted, the path will only be listed
once. The paths for each object deleted from a container (e.g. project, folder) will be listed
separately in the output data set.

Syntax:
%LSAF_deleterbitems(SAS_DSNAME=SAS-data-set, SAS_RESULT_DSNAME=SAS-data-set);

Example Code:
Delete everything a specific user deleted.

* start code example;
%lsaf_getrbitems(sas_dsname=lsafGetRBItems);

data deleterbitems;
set lsafGetRBItems;
if (deletedBy="myuserid");
run;

%lsaf_deleterbitems(sas_dsname=deleterbitems, sas_result_dsname=deletedpaths);
* end code example;

          
History:
   2013-03-27
initial code
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the identifiers for the
        items to be deleted from the recycle bin. The data set must contain, at minimum,
        the variables listed below. Any additional variables will be ignored.
        - identifier: The unique SAS Life Science Analytics Framework object identifier for
        the item to be permanently deleted.
sas_result_dsname - - optional - the name of the output SAS data set that will contain the
        deleted paths as libref.dataset. The default value is WORK.LSAFDELETEDRBITEMS. The
        data set contains a row for each deleted path and columns with the following names.
        The data set will be sorted by path.
        - name: The name of the item.
        - path: The path of the item.
File: lsaf_deleterbitems.sas
First available in version: 1.4

%lsaf_deleterole(lsaf_path=, lsaf_role=);

[ Exposure: external ]
Deletes a role from the specified organization, project, or analysis.

Syntax:
%LSAF_DELETEROLE(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role is defined.
lsaf_role - - required - the name of the role to be deleted.
File: lsaf_deleterole.sas
First available in version: 1.2

%lsaf_deleteuser(lsaf_userid=);

[ Exposure: external ]
Deletes a user account from the system.

Users that have logged in are not eligible for deletion and can only be deactivated.

Syntax:
%LSAF_DELETEUSER(LSAF_USERID=lsaf-userid);

          
History:
   2013-10-30
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user ID of the account being deleted.
File: lsaf_deleteuser.sas
First available in version: 1.3

%lsaf_disableversioning(lsaf_path=, lsaf_comment=);

[ Exposure: external ]
Disables versioning on a SAS Life Science Analytics Framework repository file.

Syntax:
%LSAF_DISABLEVERSIONING(LSAF_PATH=lsaf-path <, LSAF_COMMENT=lsaf-comment>);

          
History:
   2014-04-07
initial coding
   2016-10-03
release as external
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file within the SAS Life Science Analytics
        Framework repository to be set to unversioned.
lsaf_comment - - optional - a note associated with the action of disabling versioning.
        The value is visible through the audit trail.
File: lsaf_disableversioning.sas
First available in version: 1.5

%lsaf_downloadaszip(lsaf_path=, local_path=, lsaf_overwrite=0);

[ Exposure: external ]
Downloads SAS Life Science Analytics Framework files or a folder along with its content
to your local machine as a zip file.

If the local directory does not exist it will be created. If the local file does not exist
it will be created. If the object being downloaded is a folder, the contents of the folder
will be downloaded with its hierarchy maintained. If the object being downloaded is a project
or an analysis, only the containers (depots, folders) with files will be downloaded.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Life Science Analytics Framework application session will result in a failure.

Syntax:
%LSAF_DOWNLOADASZIP(LSAF_PATH=lsaf-path, LOCAL_PATH=local-zipfile-path
<,LSAF_OVERWRITE=lsaf-overwrite> );

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the object (file or container) to be downloaded.
local_path - - required - the full path and name of the file to create (or overwrite,
        if applicable) on the local computer.
lsaf_overwrite - - optional - indicates whether or not to overwrite the existing zip
        file on the local machine. The valid values are 0 and 1 to maintain or overwrite
        the file respectively. The default is 0.
File: lsaf_downloadaszip.sas
First available in version: 1.4

%lsaf_downloadfile(lsaf_path=, lsaf_version=, local_path=);

[ Exposure: external ]
Downloads a file to your local machine from the SAS Life Science Analytics Framework repository.

If the local directory does not exist it will be created. If the local file does not exist
it will be created. If the local file does exist, it will be overwritten with new content.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Life Science Analytics Framework application session will result in a failure.

Syntax:
%LSAF_DOWNLOADFILE(LSAF_PATH=lsaf-path, LSAF_VERSION=lsaf- version>, LOCAL_PATH=local-path);

          
History:
   2013-10-30
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file within the SAS Life Science Analytics
        Framework repository to download.
lsaf_version - - conditional - specifies the version of the file to download if the file
        is versioned. If the file is versioned and a specific version is specified the
        value must be in the valid format including a decimal point such as 1.0 or 4.2.
        If the file is versioned and no version is specified the latest version is
        downloaded. If the file is unversioned and a specific version is specified that
        will result in a failure.
local_path - - required - the full path and name of the file to create (or overwrite,
        if it exists) on the local computer.
File: lsaf_downloadfile.sas
First available in version: 1.3

%lsaf_enableversioning(lsaf_path=, lsaf_version=, lsaf_comment=);

[ Exposure: external ]
Enables versioning on a SAS Life Science Analytics Framework repository file.

Syntax:
%LSAF_ENABLEVERSIONING(LSAF_PATH=lsaf-path <, LSAF_VERSION=lsaf-version,
LSAF_COMMENT=lsaf-comment>);

          
History:
   2014-04-07
initial coding
   2016-10-03
release as external
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file within the SAS Life Science Analytics
        Framework repository to version.
lsaf_version - - optional - specifies the starting version number of the file. If not
        specified, the value will default to 1.0. The value must be in the valid format
        including a decimal point such as 1.0 or 4.2.
lsaf_comment - - optional - a note associated with the action of enabling versioning.
        The value is visible through the audit trail.
File: lsaf_enableversioning.sas
First available in version: 1.5

%lsaf_encryptpassword(lsaf_password=);

[ Exposure: external ]
Encrypts the password for a user in the system. The returned encrypted password can be used
as a valid password for login to SAS Life Science Analytics Framework. The encrypted password
is invalid for the user interface login to SAS Life Science Analytics Framework. The value of
the encrypted password is printed to the log.

Syntax:
%LSAF_ENCRYPTPASSWORD(LSAF_PASSWORD=lsaf-password);

          
History:
   2016-09-26
initial coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_password - - required - the password to encrypt.
File: lsaf_encryptpassword.sas
First available in version: 1.5

%lsaf_getabsolutepath(lsaf_base_path=, lsaf_relative_path=);

[ Exposure: external ]
Returns an absolute path for a file relative to the given base path. Neither path is validated
for existence in SAS Life Science Analytics Framework or for valid characters. Logging in to
SAS Life Science Analytics Framework is not required to perform this operation.

The macro variable _lsafAbsolutePath_ will be set with the absolute path or blank if the
operation fails.

Syntax
%LSAF_GETABSOLUTEPATH(LSAF_BASE_PATH=lsaf-base-path, LSAF_RELATIVE_PATH=lsaf-relative-path);

          
History:
   2017-01-19
original coding
Expected Macro Variables:
_lsafAbsolutePath_ - the generated absolute path.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_base_path - - required - the base container location. The base path must be an
        absolute path.
lsaf_relative_path - - required - relative path of the file for absolute reference to the
        base path. A value of . will return the full base path, a value of .. will return
        the base path decremented one directory. For example, if the base path is
        /SAS/Folder1/Folder2/Folder3
        A parameter value of ./File4 returns an absolute path value of
        /SAS/Folder1/Folder2/Folder3/Folder4
        A parameter value of ../Folder4 returns an absolute path value of
        /SAS/Folder1/Folder2/Folder4
        A parameter value of ../../Folder4 returns an absolute path value of
        /SAS/Folder1/Folder4
File: lsaf_getabsolutepath.sas
First available in version: 1.5

%lsaf_getacls(lsaf_path=, sas_dsname=work.lsafGetACLs, lsaf_recursive=0);

[ Exposure: external ]
Returns a SAS data set that contains the access control list for objects in the SAS Life
Science Analytics Framework repository.

For container objects, both the DEFAULT and CURRENT access control lists are returned with
the exception of analyses. For non-container objects and Analyses, only the CURRENT access
control lists is returned.

Syntax:
%LSAF_GETACLS(LSAF_PATH=lsaf-path, <SAS_DSNAME=SAS-data-set,
LSAF_RECURSIVE=recursion-level>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the content object in the SAS Life Science
        Analytics Framework repository. This can be either a file or a container.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the access control lists specified as libref.dataset. The default
        value is WORK.LSAFGETACL. The data set contains a row for each access control
        entry, sorted by path and aclType, and columns with the following names:
        - name: The name of the object.
        - path: The path to the object.
        - objectType: Describes the type of the object (e.g. folder, data set, etc.)
        - isContainer: A numeric flag that indicates whether the object is a container
        object (0=no, 1=yes).
        - owner: The user ID of the user who owns the object.
        - aclType: Will be either DEFAULT or CURRENT. Analyses and files only have
        CURRENT acls. All other containers have both DEFAULT and CURRENT acls.
        - aclPrincipalName: If the aclPrincipalType is ACLOWNER this will be Owner. If
        the aclPrincipalType is ACLMEMBERS this will be Members. If the
        aclPrincipalType is USER this will be the user ID of the user. If the
        aclPrincipalType is GROUP this will be the name of the group.
        - aclPrincipalType: Specifies if the principal is a ACLOWNER, ACLMEMBERS, USER or
        GROUP.
        - grpSrcCtxt: For group principals, specifies the context path where the group
        was defined.
        - adminPermission: Permission to administer the object.
        - readPermission: Permission to read the object.
        - writePropPerm: Permission to update the object properties.
        - writeContentPerm: Permission to update the object content.
        - deletePermission: Permission to delete the object.
        Permission values are specified as follows.
        1 = Allowed
        -1 = Denied
        0 = Not specified (Inherited)
lsaf_recursive - - conditional - the level of recursion when the path is a container.
        Valid values are 0, 1, 2, or 99 as described below. The default value is 0. For
        files, the value will be ignored.
        0 - Returns acls for the input container only.
        1 - Returns acls for the container and all objects within the container, but not
        sub containers.
        2 - Returns acls for the container, all objects within the container, and one
        level of sub containers.
        99 - Returns acls for the container and all of the sub containers and objects
        (traverses the entire tree).
File: lsaf_getacls.sas
First available in version: 1.2

%lsaf_getallusers(sas_dsname=work.lsafGetAllUsers);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the users defined within the
system.

Syntax:
%LSAF_GETALLUSERS(<,SAS_DSNAME=SAS-data-set>);

          
History:
   2013-10-30
initial coding
   2016-08-26
rebrand as LSAF
   2016-12-07
added account license type
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the users specified as libref.dataset. The default value is
        WORK.LSAFGETALLUSERS. The data set contains a row for each user, sorted by user
        ID, and columns with the following names:
        - userId: The unique login identifier for this account.
        - displayName: The display name for the account.
        - firstName: The first name of the user.
        - lastName: The last name of the user.
        - email: The email address for this user.
        - department: The business unit this user is a part of.
        - phone: The phone number for this user.
        - isAccountActive: A numeric flag indicating whether the account is active (0=no,
        1=yes).
        - accountLicenseType: The account license type value.
        - isAccountLocked: A numeric flag indicating whether the account is locked (0=no,
        1=yes).
        - accountActivationDate: The date this account becomes active, this value is
        represented in character format.
        - accountDeactivationDate: The date this account becomes inactive, this value is
        represented in character format.
        - accountLockedBy: The user ID who locked this account.
        - accountLockedDate: The date this account was locked, this value is represented
        in character format.
        - accountStatusBy: The user ID who changed the status of this account.
        - accountStatusDate: The date the account status was last modified, this value is
        represented in character format.
        - accountType: The type of account, valid values are INTERACTIVE and NON_INTERACTIVE
        - lastLogin: The date of the last time this account was logged onto, this value is
        represented in character format.
        - loginAttempts: The current number of failed login attempts associated with this
        account. If the number exceeds the configured threshold, this account will
        be locked. This counter gets reset when a successful login occurs.
        - loginCount: The total number of successful logins for this account.
        - passwordCreated: The date the current password was created, this value is
        represented in character format.
        - passwordExpiration: The date the current password expires, this value is
        represented in character format.
        - isPasswordExpired: A numeric flag indicating whether the password has expired
        (0=no, 1=yes).
        - dateAccountActivation: The date this account becomes active, this value is
        represented in SAS DateTime format.
        - dateAccountDeactivation: The date this account becomes inactive, this value is
        represented in SAS DateTime format.
        - dateAccountLocked: The date this account was locked, this value is represented
        in SAS DateTime format.
        - dateAccountStatus: The date the account status was last modified, this value is
        represented in SAS DateTime format.
        - dateLastLogin: The date of the last time this account was logged onto, this
        value is represented in SAS DateTime format.
        - datePasswordCreated: The date the current password was created, this value is
        represented in SAS DateTime format.
        - datePasswordExpiration: The date the current password expires, this value is
        represented in SAS DateTime format.
File: lsaf_getallusers.sas
First available in version: 1.3

%lsaf_getassignedmembers(lsaf_path=, sas_dsname=work.lsafGetAssignedMembers);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the members assigned to the
specified organization, project, or analysis.

Syntax:
%LSAF_GETASSIGNEDMEMBERS(LSAF_PATH=lsaf-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) containing the members.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the members specified as libref.dataset. The default value is
        WORK.LSAFGETASSIGNEDMEMBERS. The data set contains a row for each member and
        columns with the following names. The data set will be sorted by member type
        and principalId.
        - contextPath: The path of the context object in the repository.
        - type: The member type. Valid values are USER and GROUP.
        - principalId: The name of the member. The returned values will be either a group
        name or a user ID.
        - description: The description of the member. The returned values will be either a
        group name or a user display name.
        - grpSrcCtxt: The context path in which the group member was defined if the member
        is a group.
File: lsaf_getassignedmembers.sas
First available in version: 1.2

%lsaf_getcheckedoutfiles(lsaf_checkedoutby=%str(_LSAF_VALUE_NOT_PROVIDED_), lsaf_name=%str(_LSAF_VALUE_NOT_PROVIDED_), lsaf_location=%str(_LSAF_VALUE_NOT_PROVIDED_), sas_dsname=work.lsafGetCheckedOutFiles);

[ Exposure: external ]
Returns a SAS data set containing the checked out file information for the specified user,
file, and/or location within the SAS Life Science Analytics Framework repository. This action
requires the logged on user to have the administrative privilege
PRIVILEGE_MANAGE_CHECKEDOUT_FILES.

Syntax:
%LSAF_GETCHECKEDOUTFILES(<LSAF_CHECKEDOUTBY=lsaf-checkedoutby,
LSAF_NAME=lsaf-name,
LSAF_LOCATION=lsaf-location,
SAS_DSNAME=SAS-data-set>);

          
History:
   2016-12-16
initial coding.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_checkedoutby - - optional - The id of the user who checked out the files to be
        retrieved. If set to * (ie lsaf_checkedoutby=*) or omitted, the files checked out
        by any user will be returned. In addition wildcard notation can be used, for example
        lsaf_checkedoutby=ge* will return checked out by users starting with ge.
lsaf_name - - optional - The name of the file for which to retrieve checked out informa-
        tion. If set to * (ie lsaf_name=*) or omitted, files of any name will be returned.
        In addition wildcard notation can be used, for example lsaf_name=*.sas will return
        all file names with a .sas extension.
lsaf_location - - optional - The folder path of the files for which to retrieve checked
        out information. If set to * (ie lsaf_location=*) or omitted, files of from any
        location will be returned. In addition wildcard notation can be used, for example
        lsaf_location=/SAS/File* will return all information with a file path starting with
        /SAS/File.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        checked out files information for the specified checked out by user, name, and
        location as libref.dataset. The default value is WORK.LSAFGETCHECKEDOUTFILES.
        The output data set contains a single row for each checked out file and contains the
        following columns:
        name The name of the file
        size The size of the file in bytes
        formattedsize The size of the file expressed in units such as KB, MB, etc.
        checkedoutby The user that has the file checked out
        modifieddate The last modification date of the file
        version The current version of the file that has been checked out
        status The workspace status of the file - NOT_CHECKED_OUT, CHECKED_OUT,
        and MARKED_FOR_ADD
File: lsaf_getcheckedoutfiles.sas
First available in version: 1.5

%lsaf_getchildren(lsaf_path=, sas_dsname=work.lsafGetChildren, lsaf_recursive=0);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for objects within a container in the SAS
Life Science Analytics Framework repository.

Syntax:
%LSAF_GETCHILDREN(LSAF_PATH=lsaf-path <, LSAF_RECURSIVE=recursion-level,
SAS_DSNAME=SAS-data-set>);

          
History:
   2013-06-28
version 1.2 update - path length
   2013-08-30
updates for standardization and coding conventions
   2014-05-07
updated documentation and fixed data set processing.
   2016-08-29
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the container object in the SAS Life Science
        Analytics Framework repository.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the objects specified as libref.dataset. The default value is
        WORK.LSAFGETCHILDREN. The data set contains a row for each object in the list and
        columns with the following names. The data set will be sorted by path.
        - name: The name of the object.
        - path: The path of the object.
        - objectType: Describes the type of the object (e.g. folder, data set, etc.)
        - description: The description of the object.
        - isContainer: A numeric flag that indicates whether the object is a container
        object (0=no, 1=yes).
        - isVersioned: A numeric flag that indicates whether the object is currently
        versioned (0=no, 1=yes).
        - versionLabel: The label associated with this specific version.
        - isCheckedOut: A numeric flag that indicates whether the object is currently
        checked out (0=no, 1=yes).
        - isLocked: A numeric flag that indicates whether the object is currently locked
        (0=no, 1=yes).
        - size: The size of the object in bytes (will be 0 for containers).
        - contentType: The content or MIME type of object.
        - createdBy: The user ID that created the object.
        - created: The full date and time when the object was created. This value is
        represented as a String.
        - dateCreated: The date when the object was created as a SAS Datetime format.
        - lastModifiedBy: The user ID that last modified the object.
        - lastModified: The date when the object was last modified. This value is
        represented as a String.
        - dateLastModified: The date when the object was last modified as a SAS Datetime
        format.
        - propertiesLastModifiedBy: The user ID that last modified the properties for the
        object.
        - propertiesLastModified: The date when the object properties were last modified.
        This value is represented as a String.
        - datePropertiesLastModified: The date when the object properties were last
        modified as a SAS Datetime format.
        - state: This variable is for an Analysis or Project object only. It indicates
        if the state is DEV, PROD, or CLOSED.
        - stateComment: This variable is for Analysis or Project only and provides any
        comments attached by a user when changing the state of the project or
        analysis.
        - isSigned: Indicates if the object has electronic signatures attached to it.
lsaf_recursive - - optional - the level of recursion when the path is a container.
        Valid values are 0, 1, 2, or 99 as described below. The default value is 0. For
        files, the value will be ignored.
        0 - Returns the container only.
        1 - Returns the container and its immediate children.
        2 - Returns the container, its immediate children, and all objects within one
        level of the containers subfolders.
        99 - Returns the container and all of the sub containers and objects
        (traverses the entire tree).
File: lsaf_getchildren.sas
First available in version: 1.1

%lsaf_getconfiguration(sas_dsname=work.lsafGetConfiguration, sas_suppressLogList=0);

[ Exposure: external ]
Reports the current configuration settings.

The values can be printed in the SAS log as well as being included in the data set.

Syntax:
%LSAF_GETCONFIGURATION(<SAS_DSNAME=SAS-data-set, SAS_SUPPRESSLOGLIST=suppressloglist>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2014-04-04
changed exposure to external
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - optional - the name of the output SAS data set that contains the
        configuration information as libref.dataset. The default value is
        WORK.LSAFGETCONFIGURATION. The data set contains a row for each setting and columns
        with the following names. The data set will be sorted by name.
        - name: The name of the configuration item.
        - value: The value of the configuration item.
sas_suppressLogList - - optional - flag to suppress the print of the configuration
        information to the log. The default value is 0. If the parameter is included
        and the value is anything other than 0, the configuration values are not printed
        to the log.
File: lsaf_getconfiguration.sas
First available in version: 1.3

%lsaf_getcontextprivileges(lsaf_path=, sas_dsname=work.lsafGetContextPrivileges);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the privileges available in the
specified organization, project, or analysis.

Syntax:
%LSAF_GETCONTEXTPRIVILEGES(LSAF_PATH=lsaf-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis).
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the objects specified as libref.dataset. The default value is
        WORK.LSAFGETCONTEXTPRIVILEGES. The data set contains a row for each privilege
        defined at the context and columns with the following names. The data set will be
        sorted by privilegeId.
        - contextPath: The path of the context object in the repository.
        - privilegeId: The identifier of the privilege.
        - privilegeName: The name of the privilege.
File: lsaf_getcontextprivileges.sas
First available in version: 1.2

%lsaf_getcopytoworkspacestatus(lsaf_path=);

[ Exposure: external ]
Returns the value for the Copy to Workspace status of a file or folder in the SAS Life Science
Analytics Framework repository. The SAS macro variable _lsafCopyToWSStatus_ is set to the
status value. Values returned are:
ALLOW - Allow all
WARN - Warn (excluding published jobs)
DENY - Deny (excluding published jobs)
DENY_ALL - Deny all

Syntax:
%LSAF_GETCOPYTOWORKSPACESTATUS(LSAF_PATH=lsaf-path);

          
History:
   2016-11-22
initial code
Expected Macro Variables:
_lsafCopyToWSStatus_ - indicates the copy to workspace status.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file.
File: lsaf_getcopytoworkspacestatus.sas
First available in version: 1.5

%lsaf_getglobalprivileges(sas_dsname=work.lsafGetGlobalPrivileges);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the global privileges available
in the system.

Syntax:
%LSAF_GETGLOBALPRIVILEGES(<SAS_DSNAME=SAS-data-set>);

          
History:
   2013-11-01
initial coding
   2014-04-21
updated documentation
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for all of the global privileges specified as libref.dataset. The default value is
        WORK.LSAFGETGLOBALPRIVILEGES. The data set contains a row for each global privilege
        and columns with the following names. The data set will be sorted by privilegeId.
        - privilegeId: The identifier of the privilege.
        - privilegeName: The name of the privilege.
File: lsaf_getglobalprivileges.sas
First available in version: 1.3

%lsaf_getgroupmembers(lsaf_path=, lsaf_group=, sas_dsname=work.lsafGetGroupMembers);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the members assigned to a group
within the specified organization, project, or analysis.

Syntax:
%LSAF_GETGROUPMEMBERS(LSAF_PATH=lsaf-path, LSAF_GROUP=lsaf-group
<, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the group is defined.
lsaf_group - - required - the name of the group
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the members specified as libref.data set. The default value is
        WORK.LSAFGETGROUPMEMBERS. The data set contains a row for each member and columns
        with the following names. The data set will be sorted by member type and
        principalId.
        - contextPath: The full path of the context object in the repository.
        - type: The member type. Valid values are USER and GROUP.
        - principalId: The name of the member. Valid values are group name or user ID.
        - description: The description of the member. Valid values are group name or user
        display name.
        - grpSrcCtxt: The context in which the of group member was defined.
File: lsaf_getgroupmembers.sas
First available in version: 1.2

%lsaf_getgroups(lsaf_path=, sas_dsname=work.lsafGetGroups);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the groups defined within a
context object within the specified organization, project, or analysis.

Syntax:
%LSAF_GETGROUPS(LSAF_PATH=lsaf-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the groups are defined.
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the groups specified as libref.dataset. The default value is WORK.LSAFGETGROUPS.
        The data set contains a row for each group and columns with the following names.
        The data set will be sorted by group name.
        - contextPath: The path of the context object in the repository.
        - name: The name of the group.
        - description: The group description.
File: lsaf_getgroups.sas
First available in version: 1.2

%lsaf_getjobinfo(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetJobInfo);

[ Exposure: external ]
Returns a SAS data set that contains the information for a job in the SAS Life Science
Analytics Framework repository. This is the information displayed on the General tab of the
job editor, as well as the information concerning the versioning of new outputs.

Syntax:
%LSAF_GETJOBINFO(LSAF_PATH=lsaf-path <, LSAF_VERSION=lsaf-version, SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-08
initial coding.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job in the SAS Life Science Analytics Framework
        repository.
lsaf_version - - optional - a specific version number of the job. If not specified,
        the information for the latest version will be returned. Specifying a version for
        a non-versioned job will cause an error.
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the job specified as libref.dataset. The default value is
        WORK.LSAFGETJOBINFO. The data set will contain variables representing each
        element of metadata for the object. The data set will be sorted by the NAME
        variable. The following metadata will be represented in the data set.
        - path: The path of the job.
        - versionLabel: The label associated with the specified version of the job.
        - name: The name of the property or attribute.
        - value: The value of the property or attribute.
File: lsaf_getjobinfo.sas
First available in version: 1.4

%lsaf_getjobinputs(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetJobInputs);

[ Exposure: external ]
Returns a SAS data set containing metadata for the inputs for the specified job in the SAS
Life Science Analytics Framework repository. The list does not include the input tasks.

Syntax:
%LSAF_GETJOBINPUTS(LSAF_PATH=lsaf-path <LSAF_VERSION=lsaf-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-22
initial coding.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job.
lsaf_version - - optional - the version of the job. If not specified, the latest version
        will be used.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the inputs specified as libref.dataset. The default value is
        WORK.LSAFGETJOBINPUTS. The data set contains a row for each job input and columns
        with the following names. The data set will retain the order of the inputs.
        - jobPath: The path of the job.
        - jobVersion: The job version.
        - inputPath: The path of the input file.
        - inputType: The object type for the input. Valid values are CONTAINER and FILE.
        - inputVersion: The version of the input file. An asterisk indicates the latest
        version of the input file will be used by the job.
        - inputIncludesSubFolders: A flag indicating whether or not the subfolders of a
        container input are to be included during job execution.
File: lsaf_getjobinputs.sas
First available in version: 1.4

%lsaf_getjoboutputs(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetJobOutputs);

[ Exposure: external ]
Returns a SAS data set containing metadata for the outputs for the specified job in the SAS
Life Science Analytics Framework repository.

Syntax:
%LSAF_GETJOBOUTPUTS(LSAF_PATH=lsaf-path <LSAF_VERSION=lsaf-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-22
initial coding.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job.
lsaf_version - - optional - the version of the job. If not specified, the latest version
        will be used.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the outputs specified as libref.dataset. The default value is
        WORK.LSAFGETJOBOUTPUTS. The data set contains a row for each job output and columns
        with the following names. The data set will retain the order of the outputs.
        - jobPath: The path of the job.
        - jobVersion: The job version.
        - outputPath: The path of the output location.
        - outputIncludesSubFolders: A flag indicating whether or not the subfolders of an
        output container are to be included during job execution.
File: lsaf_getjoboutputs.sas
First available in version: 1.4

%lsaf_getjobparameters(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetJobParameters);

[ Exposure: external ]
Returns a SAS data set containing job parameter metadata for the specified job.

Syntax:
%LSAF_GETJOBPARAMETERS(LSAF_PATH=lsaf-path <LSAF_VERSION=lsaf-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-11
initial coding.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job.
lsaf_version - - optional - the version of the job. If not specified, the latest version
        will be used.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the parameters specified as libref.dataset. The default value is
        WORK.LSAFGETJOBPARAMETERS. The data set contains a row for each job parameter
        and columns with the following names. The data set will retain the job parameter
        order.
        - jobPath: The path of the job.
        - jobVersion: The job version.
        - name: The name of the parameter.
        - label: The parameter label.
        - type: The parameter type. Values are CHARACTER, CHARACTER_MASKED, NUMERIC,
        DATE, FILE, or FOLDER.
        - defaultValue: the default value for the parameter. Dates are returned in SAS
        datetime format.
        - fileVersion: the file version to be used if the parameter is of type FILE.
        A blank value means that either the file is not versioned or the file is
        versioned but no version was selected.
File: lsaf_getjobparameters.sas
First available in version: 1.4

%lsaf_getjobtasks(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetJobTasks);

[ Exposure: external ]
Returns a SAS data set containing metadata for the tasks for the specified job in the SAS
Life Science Analytics Framework repository.

Syntax:
%LSAF_GETJOBTASKS(LSAF_PATH=lsaf-path <LSAF_VERSION=lsaf-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-22
initial coding.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job.
lsaf_version - - optional - the version of the job. If not specified, the latest version
        will be used.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the tasks specified as libref.dataset. The default value is
        WORK.LSAFGETJOBTASKS. The data set contains a row for each job task and columns
        with the following names. The data set will retain the order of the tasks.
        - jobPath: The path of the job.
        - jobVersion: The job version.
        - taskPath: The path of the task file.
        - taskVersion: The version of the task file. An asterisk indicates the latest
        version of the task file will be used by the job.
File: lsaf_getjobtasks.sas
First available in version: 1.4

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

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all the process flows defined by the
logged in user at, and optionally the child contexts of, the specified organization, project,
or analysis.

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

          
History:
   2016-09-16
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flows exist.
sas_dsname - - optional - the name of the output SAS data set that will 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 object for that user as well as columns with the following names. The
        data set will be sorted by process flow name.
        - path: The path of the context object.
        - 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 when the process flow was created. This value
        is represented as a String.
        - dateCreated: The date when the process flow was created as a SAS Datetime format.
        - lastModifiedBy: The user ID that last modified the process flow.
        - lastModified: The date when the process flow was last modified. This value is
        represented as a String.
        - dateLastModified: The date when the process flow was last modified as a SAS
        Datetime format.
        - owner: The user ID of the owner of the process flow.
        - status: The current state of the process flow. It indicates if the state is
        NOT_STARTED, ACTIVE, SUSPENDED, or COMPLETED.
        - processDefinitionId: The ID of the process flow definition used to create the
        the process flow.
        - processDefinitionVersion: The version of the process flow definition used to
        create the the process flow.
lsaf_includeChildren - - optional - indicates whether or not to include process flows
        from child contexts (projects or analyses).
        The valid values are 0 and 1 to exclude or include process flows for child
        contexts. The default is 1.
File: lsaf_getmyprocessflows.sas
First available in version: 1.5

%lsaf_getobjecttype(lsaf_path=);

[ Exposure: external ]
Reports the SAS Life Science Analytics Framework object type for the specified
repository object path.

The SAS macro variable _lsafObjectType_ is set to the object type value.
The value is set to blank if the object could not be found or an error occurred.
Possible object type values are:
sas:analysis
sas:container
sas:file
sas:folder
sas:job
sas:organization
sas:pdf
sas:project
sas:sasdataset
sas:sasprogram

Syntax:
%LSAF_GETOBJECTTYPE(LSAF_PATH=lsaf-path);

          
History:
   2014-03-07
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafObjectType_ - the object type.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the object for which the object type
        will be retrieved.
File: lsaf_getobjecttype.sas
First available in version: 1.4

%lsaf_getowner(lsaf_path=, lsaf_aclType=);

[ Exposure: external ]
Returns the current owner of an object within the organization in the SAS Life Science
Analytics Framework repository.

The macro variable _lsafOwner_ will be set with the owner user ID. The value of _lsafOwner_
will be <creator> for the DEFAULT permissions on a container with no specific user designated
as the owner.

Syntax for files:
%LSAF_GETOWNER(LSAF_PATH =lsaf-path);

Syntax For containers:
%LSAF_GETOWNER(LSAF_PATH =lsaf-path, LSAF_ACLTYPE =lsaf-acl-type);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafOwner_ - the current owner of the object.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the content object in the SAS Life Science
        Analytics Framework repository.
lsaf_aclType - - conditional - the type of permissions being returned. The valid values
        are DEFAULT and CURRENT (case-insensitive). Files only have CURRENT permissions,
        therefore, the value is not required when lsaf_path is a file. For container
        objects the value must be specified. The operation will fail if DEFAULT is
        requested for a file path.
File: lsaf_getowner.sas
First available in version: 1.2

%lsaf_getpfjobelementinfo(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfJobElementInfo);

[ Exposure: external ]
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.

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

          
History:
   2016-12-10
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        properties and attributes for the process flow data specified as libref.dataset.
        The default value is WORK.LSAFGETPFJOBELEMENTINFO. The data set contains a
        row for each property or attribute as well as columns with the following names. The
        data set is not sorted.
        The following metadata will be represented in the data set.
        - processFlowPath: The path of the context object.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the property.
        - name: The name of the property.
        - value: The value of the property.
        - displayName: The name of the property as displayed as a label within SAS Life
        Science Analytics Framework. Derived properties (e.g. name) will not have a value
        for displayName.
        - type: The type of the property. Values include STRING, LONG, DATE, and BOOLEAN.
        - isReadonly: Flag indicating that the property cannot be modified.
        - isExtended: Flag indicating whether the property is an extended attribute.
File: lsaf_getpfjobelementinfo.sas
First available in version: 1.5

%lsaf_getpfjobparameters(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfJobParameters);

[ Exposure: external ]
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.

Job setup elements maintain a list of the parameters that are used to override the default
parameters when the job task executes. The output data set from the lsaf_getjobparameters macro
can be used to get the full list and metadata for the job.

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

          
History:
   2016-12-14
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        override parameters for the process flow element specified as libref.dataset.
        The default value is WORK.LSAFGETPFJOBPARAMETERS. The data set contains a
        row for each override parameter as well as columns with the following names. The
        data set will be sorted by element id and parameter name.
        The following metadata will be represented in the data set.
        - processFlowPath: The path of the context object.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the parameter.
        - jobPath: The path for the job.
        - jobVersion: The version of the job.
        - name: The name of the parameter.
        - type: The type of the parameter. Values are CHARACTER, CHARACTER_MASKED, NUMERIC,
        DATE, FILE, or FOLDER.
        - value: The value of the parameter.
        - fileVersion: the file version if the parameter is of type FILE.
        A blank value means that either the file is not versioned or the file is
        versioned but no version was selected.
File: lsaf_getpfjobparameters.sas
First available in version: 1.5

%lsaf_getpfnotificationinfo(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfNotificationInfo);

[ Exposure: external ]
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.

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

          
History:
   2016-12-08
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        properties and attributes for the process flow data specified as libref.dataset.
        The default value is WORK.LSAFGETPFNOTIFICATIONINFO. The data set contains a
        row for each property or attribute as well as columns with the following names. The
        data set is not sorted.
        The following metadata will be represented in the data set.
        - processFlowPath: The path of the context object.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the property.
        - name: The name of the property.
        - value: The value of the property.
        - displayName: The name of the property as displayed as a label within SAS Life
        Science Analytics Framework. Derived properties (e.g. name) will not have a value
        for displayName.
        - type: The type of the property. Values include STRING, LONG, DATE, and BOOLEAN.
        - isReadonly: Flag indicating that the property cannot be modified.
        - isExtended: Flag indicating whether the property is an extended attribute.
File: lsaf_getpfnotificationinfo.sas
First available in version: 1.5

%lsaf_getpfnotifrecipients(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfNotifRecipients);

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

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

          
History:
   2016-12-13
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) containing the members.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the recipients specified as libref.dataset. The default value is
        WORK.LSAFPFGETNOTIFRECIPIENTS. The data set contains a row for each recipient
        and columns with the following names. The data set will be sorted by element id,
        recipient type, and principalId.
        - processFlowPath: The path of the context object.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element.
        - type: The recipient type. Valid values are USER and GROUP.
        - principalId: The name of the recipient. The returned values will be either a group
        name or a user ID.
        - description: The description of the recipient. The returned values will be either
        a group name or a user display name.
        - grpSrcCtxt: The context path in which the group recipient was defined if the
        recipient is a group.
File: lsaf_getpfnotifrecipients.sas
First available in version: 1.5

%lsaf_getpfsignallocations(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfSignalLocations);

[ Exposure: external ]
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.

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

          
History:
   2016-12-14
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        locations for the process flow signal element specified as libref.dataset.
        The default value is WORK.LSAFGETPFSIGNALLOCATIONS. The data set contains a
        row for each signal location as well as columns with the following names. The
        data set will be sorted by element id and location.
        The following metadata will be represented in the data set.
        - processFlowPath: The path of the context object.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the parameter.
        - location: The path for the signal location.
File: lsaf_getpfsignallocations.sas
First available in version: 1.5

%lsaf_getpftimerelements(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfTimerElements);

[ Exposure: external ]
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.

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

          
History:
   2016-12-10
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        data for the process flow timer element specified as libref.dataset.
        The default value is WORK.LSAFGETPFTIMERELEMENTS. The data set contains a
        row for each timer element as well as columns with the following names. The
        data set is not sorted.
        The following metadata will be represented in the data set.
        - processFlowPath: The path of the context object.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element.
        - name: The name of the element.
        - description: The description of the timer element.
        - type: The type of data the timer represents. Valid values are DATE and DURATION.
        - value: The value of the timer.
        - years: Years value represented by the duration timer.
        - months: Months value represented by the duration timer.
        - days: Days value represented by the duration timer.
        - hours: Hours value represented by the duration timer.
        - minutes: Minutes value represented by the duration timer.
        - seconds: Seconds value represented by the duration timer.
File: lsaf_getpftimerelements.sas
First available in version: 1.5

%lsaf_getpfusercandidates(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfUserCandidates);

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

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

          
History:
   2016-12-13
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) containing the members.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the candidates specified as libref.dataset. The default value is
        WORK.LSAFGETPFUSERCANDIDATES. The data set contains a row for each candidate
        and columns with the following names. The data set will be sorted by element id,
        candidate type, and principalId.
        - processFlowPath: The path of the context object.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element.
        - type: The candidate type. Valid values are USER and GROUP.
        - principalId: The name of the candidate. The returned values will be either a group
        name or a user ID.
        - description: The description of the candidate. The returned values will be either
        a group name or a user display name.
        - grpSrcCtxt: The context path in which the group candidate was defined if the
        candidate is a group.
File: lsaf_getpfusercandidates.sas
First available in version: 1.5

%lsaf_getpfuserelementinfo(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetPfUserElementInfo);

[ Exposure: external ]
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.

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

          
History:
   2016-12-08
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        properties and attributes for the process flow data specified as libref.dataset.
        The default value is WORK.LSAFGETPFUSERELEMENTINFO. The data set contains a
        row for each property or attribute as well as columns with the following names. The
        data set is not sorted.
        The following metadata will be represented in the data set.
        - processFlowPath: The path of the context object.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the property.
        - name: The name of the property.
        - value: The value of the property.
        - displayName: The name of the property as displayed as a label within SAS Life
        Science Analytics Framework. Derived properties (e.g. name) will not have a value
        value for displayName.
        - type: The type of the property. Values include STRING, LONG, DATE, and BOOLEAN.
        - isReadonly: Flag indicating that the property cannot be modified.
        - isExtended: Flag indicating whether the property is an extended attribute.
File: lsaf_getpfuserelementinfo.sas
First available in version: 1.5

%lsaf_getprocessdefsbytype(lsaf_type=ORGANIZATION, sas_dsname=work.lsafGetProcessDefsByType);

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

Syntax:
%LSAF_GETPROCESSDEFSBYTYPE(LSAF_TYPE=lsaf-type <,SAS_DSNAME=SAS-data-set>);

          
History:
   2016-08-23
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_type - - optional - the context type. Valid values are ORGANIZATION, PROJECTS, or
        ANALYSES. The default value is ORGANIZATION.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the process flow definitions specified as libref.dataset. The default
        value is WORK.LSAFGETPROCESSDEFSBYTYPE. The data set contains a row for each
        process flow definition deployed at context level as well as columns with the
        following names.
        The data set will be sorted by process flow definition ID.
        - contexts: A comma delimited string listing the context types the process flow
        definition is deployed.
        - defID: The ID of the process flow definition.
        - name: The name of the process flow definition.
        - description: The process flow description.
        - deployedVersion: The version of the process flow definition.
        - filePath: The path of the source file from which the process flow definition was
        deployed.
        - fileVersion: The version of the source file from which process flow definition
        deployed.
        - isAtOrganization: A numeric flag that indicates whether the process flow
        definition is deployed at the organization level. (0=no, 1=yes)
        - isAtProjects: A numeric flag that indicates whether the process flow
        definition is deployed at the projects level. (0=no, 1=yes)
        - isAtAnalyses: A numeric flag that indicates whether the process flow
        definition is deployed at the analyses level. (0=no, 1=yes)
File: lsaf_getprocessdefsbytype.sas
First available in version: 1.5

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

[ Exposure: external ]
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.

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

          
History:
   2016-11-22
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will 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 as well as columns with the following names. The data set is not sorted.
        - processFlowPath: The path of the context object.
        - 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_getprocessflowelements(lsaf_path=, lsaf_processflow=, sas_dsname=work.lsafGetProcessFlowElements);

[ Exposure: external ]
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.

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

          
History:
   2016-12-07
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        elements for the process flow data specified as libref.dataset.
        The default value is WORK.LSAFGETPROCESSFLOWELEMENTS. The data set contains a
        row for each element as well as columns with the following names. The data set is
        not sorted.
        The following metadata will be represented in the data set.
        - processFlowPath: The path of the context object.
        - processFlowName: The name of the process flow.
        - elementType: The type of the element.
        - elementID: The unique ID of the element.
        - elementName: The name of the element.
        - elementDescription: The description of the element.
File: lsaf_getprocessflowelements.sas
First available in version: 1.5

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

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

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

          
History:
   2016-12-05
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flow exists.
lsaf_processflow - - required - the name of the process flow.
sas_dsname - - optional - the name of the output SAS data set that will 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 as well as columns with the following names. The
        data set is not sorted.
        The following metadata will be represented in the data set.
        - processFlowPath: The path of the context object.
        - 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 within SAS Life
        Science Analytics Framework. Derived properties (e.g. name, owner) will not
        have a value for displayName.
        - type: The type of the property. Values include STRING, LONG, DATE, and BOOLEAN.
        - isReadonly: Flag indicating that the property cannot be modified.
        - isExtended: Flag indicating 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 ]
Returns a SAS data set that contains the metadata for all of the process flows defined at, and
optionally the child contexts of, the specified organization, project, or analysis.

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

          
History:
   2016-08-17
original creation.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the process flows exist.
sas_dsname - - optional - the name of the output SAS data set that will 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 object as well as columns with the following names. The data
        set will be sorted by process flow name.
        - path: The path of the context object.
        - 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 when the process flow was created. This value
        is represented as a String.
        - dateCreated: The date when the process flow was created as a SAS Datetime format.
        - lastModifiedBy: The user ID that last modified the process flow.
        - lastModified: The date when the process flow was last modified. This value is
        represented as a String.
        - dateLastModified: The date when the process flow was last modified as a SAS
        Datetime format.
        - owner: The user ID of the owner of the process flow.
        - status: The current state of the process flow. It indicates if the state is
        NOT_STARTED, ACTIVE, SUSPENDED, or COMPLETED.
        - processDefinitionId: The ID of the process flow definition used to create the
        the process flow.
        - processDefinitionVersion: The version of the process flow definition used to
        create the the process flow.
lsaf_includeChildren - - optional - indicates whether or not to include process flows
        from child contexts (projects or analyses).
        The valid values are 0 and 1 to exclude or include process flows for child
        contexts. The default is 1.
File: lsaf_getprocessflows.sas
First available in version: 1.5

%lsaf_getproperties(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetProperties);

[ Exposure: external ]
Returns a SAS data set that contains the properties of an object in the SAS Life Science
Analytics Framework repository.

Syntax:
%LSAF_GETPROPERTIES(LSAF_PATH=lsaf-path <, LSAF_VERSION=lsaf-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2014-04-18
updates to surface extended attribute metadata.
   2016-08-26
rebrand as LSAF
   2017-01-10
updates to retrieve a file by version number
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the object in the SAS Life Science Analytics
        Framework repository.
lsaf_version - - optional - A specific file version. If omitted or set to blank, the
        properties for the current file version will be returned.
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the object specified as libref.dataset. The default value is
        WORK.LSAFGETPROPERTIES. The data set will contain variables representing each
        element of metadata for the object. The data set will be sorted by the NAME
        variable. The following metadata will be represented in the data set.
        - path: The path of the object
        - name: The name of the property.
        - value: The value of the property.
        - displayName: The name of the property as displayed as a label within SAS Life
        Science Analytics Framework. Derived properties (e.g. name, path, type) will not
        have a value for displayName.
        - type: The type of the property. Values include STRING, DATE, and BOOLEAN.
        Derived properties (e.g. name, path, type) will not have a value for type.
        - isReadonly: Flag indicating that the property cannot be modified.
        - isExtended: Flag indicating whether the property is an extended attribute.
        Note: Extended attributes are included but the names represent the system identifier. The
        recognizable label is shown in the display name variable.
File: lsaf_getproperties.sas
First available in version: 1.2

%lsaf_getrbitems(sas_dsname=work.lsafGetRBItems);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for the items in the SAS Life Science
Analytics Framework recycle bin.

Users must have the Permanent Delete Items or Restore Items Deleted by Others role privilege
at the organization context.

Syntax:
%LSAF_GETRBITEMS(<SAS_DSNAME=SAS-data-set>);

          
History:
   2013-03-24
original coding.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the items specified as libref.dataset. The default value is
        WORK.LSAFGETRBITEMS. The data set contains a row for each item in the list and
        columns with the following names. The data set will be sorted by path.
        - name: The name of the item.
        - path: The path of the item.
        - objectType: Describes the type of the item (e.g. folder, data set, etc.)
        - identifier: The unique identifier of the Repository object.
        - size: The size of the object in bytes (will be 0 for containers).
        - deletedBy: The user ID that deleted the object from the Repository.
        - deletedOn: The full date and time when the object was deleted from the
        Repository represented as a String.
        - dateDeleted: The date when the object was deleted as a SAS Datetime format.
        - lastModifiedBy: The user ID that last modified the object.
        - lastModifiedOn: The date when the object was last modified. This value is
        represented as a String.
        - dateLastModified: The date when the object was last modified as a SAS Datetime
        format.
File: lsaf_getrbitems.sas
First available in version: 1.4

%lsaf_getrbitemsbyquery(lsaf_path=, lsaf_name=, lsaf_userid=, lsaf_from=, lsaf_to=, sas_dsname=work.lsafGetRBItemsByQuery);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for the items in the SAS Life Science
Analytics Framework recycle bin that match the given search criteria.

Users must have the Permanent Delete Items or Restore Items Deleted by Others role privilege
at the organization context.

Syntax:
%LSAF_GETRBITEMSBYQUERY(LSAF_PATH=lsaf-path <, LSAF_NAME=lsaf-name, LSAF_USERID-lsaf-userid,
LSAF_FROM=lsaf-from-date, LSAF_TO=lsaf-to-date, SAS_DSNAME=SAS-data-set>);

          
History:
   2017-01-24
original coding.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the container object in the SAS Life Science
        Analytics Framework repository that is the parent of the deleted items. Items
        from child paths will also be returned. For example, providing a project path will
        return items that were deleted from the project and any child analyses.
lsaf_name - - optional - The name of the item to be returned by the search. If set to
        * (ie lsaf_name=*) or omitted, items of any name will be returned.
        Additionally, wildcard notation can be used, for example lsaf_name=*.sas will
        return all items with a .sas extension.
lsaf_userid - - optional - The id of the user who deleted the items to be retrieved.
        If omitted or set to blank, the items deleted by the person running the program
        will be returned. If set to * (ie lsaf_userid=*), the items deleted from any user
        will be returned.
lsaf_from - - optional - The beginning of the date range for items deleted within a
        specific time period. Values must be one of the formats described below. Date
        values in formats other than the two described below will result in an execution
        failure.
        - SAS datetime18. format (e.g., 02NOV2013:09:33:22) - an offset of zero hours
        from GMT will be used.
        - SAS E8601DZ25. format (e.g., 2013-11-02T09:33:22-04:00).
lsaf_to - - optional - The end of the date range for items deleted within a
        specific time period. Values must be one of the formats described below. Date
        values in formats other than the two described below will result in an execution
        failure.
        - SAS datetime18. format (e.g., 02NOV2013:09:33:22) - an offset of zero hours
        from GMT will be used.
        - SAS E8601DZ25. format (e.g., 2013-11-02T09:33:22-04:00).
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the items specified as libref.dataset. The default value is
        WORK.LSAFGETRBITEMSBYQUERY. The data set contains a row for each item in the list
        and columns with the following names. The data set will be sorted by path.
        - name: The name of the item.
        - path: The path of the item.
        - objectType: Describes the type of the item (e.g. folder, data set, etc.)
        - identifier: The unique identifier of the Repository object.
        - size: The size of the object in bytes (will be 0 for containers).
        - deletedBy: The user ID that deleted the object from the Repository.
        - deletedOn: The full date and time when the object was deleted from the
        Repository represented as a String.
        - dateDeleted: The date when the object was deleted as a SAS Datetime format.
        - lastModifiedBy: The user ID that last modified the object.
        - lastModifiedOn: The date when the object was last modified. This value is
        represented as a String.
        - dateLastModified: The date when the object was last modified as a SAS Datetime
        format.
File: lsaf_getrbitemsbyquery.sas
First available in version: 1.5

%lsaf_getrelativepath(lsaf_base_path=, lsaf_absolute_path=);

[ Exposure: external ]
Returns a relative path for a file relative to the given base path. Neither path is validated
for existence in SAS Life Science Analytics Framework or for valid characters. Logging in to
SAS Life Science Analytics Framework is not required to perform this operation.

The macro variable _lsafRelativePath_ will be set with the relative path or blank if the
operation fails.

Syntax
%LSAF_GETRELATIVEPATH(LSAF_BASE_PATH=lsaf-base-path, LSAF_ABSOLUTE_PATH=lsaf-absolute-path);

          
History:
   2016-10-25
original coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
_lsafRelativePath_ - the generated relative path.
Parameters:
lsaf_base_path - - required - the base container location. The base path must be an
        absolute path.
lsaf_absolute_path - - required - absolute path of the file to make relative to the base
        path.
File: lsaf_getrelativepath.sas
First available in version: 1.5

%lsaf_getrolemembers(lsaf_path=, lsaf_role=, lsaf_role_context=, sas_dsname=work.lsafGetRoleMembers);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the members assigned to a role
within the specified organization, project, or analysis.

Syntax:
%LSAF_GETROLEMEMBERS(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name,
LSAF_ROLE_CONTEXT=lsaf-role-context, <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
lsaf_role - - required - the name of the role.
lsaf_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the members specified as libref.dataset. The default value is
        WORK.LSAFGETROLEMEMBERS. The data set contains a row for each member in the role and
        columns with the following names. The data set will be sorted by member type and
        principalId.
        - contextPath: The path of the context object.
        - type: The member type. Valid values are user or group.
        - principalId: The name of the member. Valid values are group name or user ID.
        - descriptor: The description of the member. Valid values are group name or user
        display name.
        - grpSrcCtxt: The context in which the group member was defined, if the member is
        a group.
File: lsaf_getrolemembers.sas
First available in version: 1.2

%lsaf_getroleprivileges(lsaf_path=, lsaf_role=, sas_dsname=work.lsafGetRolePrivileges);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the privileges assigned to a
role within the specified organization, project, or analysis.

Syntax:
%LSAF_GETROLEPRIVILEGES(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name
<, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role is defined.
lsaf_role - - required - the name of the role.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the privileges specified as libref.dataset. The default value is
        WORK.LSAFGETROLEPRIVILEGES. The data set contains a row for each privilege in the
        role and columns with the following names. The data set will be sorted by
        privilegeId.
        - contextPath: The path of the context object.
        - roleName: The name of the role.
        - privilegeId: The identifier of the privilege.
        - privilegeName: The name of the privilege.
File: lsaf_getroleprivileges.sas
First available in version: 1.2

%lsaf_getroles(lsaf_path=, sas_dsname=work.lsafGetRoles, lsaf_getInherited=1);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the roles defined and, if
specified, inherited within the specified organization, project, or analysis.

Syntax:
%LSAF_GETROLES(LSAF_PATH=lsaf-path <,SAS_DSNAME=SAS-data-set,
LSAF_GETINHERITED=inheritance-flag>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the roles exist.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the roles specified as libref.dataset. The default value is
        WORK.LSAFGETROLES. The data set contains a row for each role in the context object
        as well as columns with the following names. The data set will be sorted by role
        name.
        - path: The path of the context object.
        - name: The name of the role.
        - description: The role description.
        - roleSrcCtxt: The context in which the of role was defined.
        - isInherited: A flag indicating whether or not the role is inherited. The valid
        values are 0 and 1. This variable is not included if LSAF_GETINHERITED is
        not valid or set to 0.
lsaf_getInherited - - optional - indicates whether or not to include inherited roles.
        The valid values are 0 and 1 to exclude or include inherited roles respectively.
        The default is 1.
File: lsaf_getroles.sas
First available in version: 1.2

%lsaf_getsignatures(lsaf_path=, lsaf_version=, sas_dsname=work.lsafGetSignatures);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the signatures of a file or a
specific version of the file.

Syntax:
%LSAF_GETSIGNATURES(LSAF_PATH=lsaf-path <, LSAF_VERSION=lsaf-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-02-25
initial coding.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required -the path of the file in the SAS Life Science Analytics Framework
        repository.
lsaf_version - - optional - a specific version number of the file. If not specified,
        the signatures of all versions of the file will be returned. Specifying a version
        for a non-versioned job will cause an error.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the signatures specified as libref.dataset. The default value is
        WORK.LSAFGETSIGNATURES. The data set contains a row for each signature for file
        and/or version specified and columns with the following names. The data set is
        sorted by descending date of signature.
        - name: The name of the file.
        - path: The path of the file.
        - objectType: The type of file (i.e., data set, program, etc.).
        - versionLabel: The label associated with this specific version.
        - userId: The unique login identifier for the signer of the file.
        - dateTimeStamp: The date and time of the signature represented as a string.
        - dateSigned: The date and time of the signature as a SAS Datetime format.
        - reason: The reason specified when the file was signed.
        - role: The role specified when the file was signed.
        - comment: The comment that was entered when the file was signed.
File: lsaf_getsignatures.sas
First available in version: 1.4

%lsaf_getsubmissionstatus(lsaf_jobsubmission_id=);

[ Exposure: external ]
Determines the status of a SAS Life Science Analytics Framework repository or workspace job
submission.

The SAS macro variable _lsafJobSubmissionStatus_ is set to the status value. The values are
NOT_SET, NOT_STARTED, STARTED, RUNNING_TASKS, POST_EXECUTION_PUBLISHING, COMPLETED_SUCCESSFUL,
COMPLETED_SASERRORS, COMPLETED_CHECKIN_ERROR, COMPLETED_SASERRORS_CHECKIN_ERROR,
COMPLETED_FAILED, COMPLETED_CANCELED, COMPLETED_SASWARNINGS, and
COMPLETED_SASWARNINGS_CHECKIN_ERROR.
If the macro runs without error, _lsafRC_ will be set to 0, the _lsafJobSubmiisionStatus_
macro variable will be set to the appropriate value, and a job submission status message will
be printed to the log. If the job completed with warnings or errors, the job submission
message will show in the log as a warning or an error, as appropriate.

Syntax:
%LSAF_GETSUBMISSIONSTATUS(LSAF_JOBSUBMISSION_ID=job-submission-id)

          
History:
   2014-04-07
initial code
   2016-08-26
rebrand as LSAF
   2016-11-02
added job submission message, updated doc
Expected Macro Variables:
_lsafJobSubmissionStatus_ - indicates the job submission status.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_jobsubmission_id - - required - the submission identifier returned from the
        lsaf_submitjob macro.
File: lsaf_getsubmissionstatus.sas
First available in version: 1.4

%lsaf_getsubscriptions(sas_dsname=work.lsafGetSubscriptions);

[ Exposure: external ]
Returns a SAS data set containing metadata for all subscriptions for the current user.

Syntax:
%LSAF_GETSUBSCRIPTIONS(<SAS_DSNAME=SAS-data-set>);

          
History:
   2014-03-11
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the subscriptions specified as libref.dataset. The default value is
        WORK.LSAFGETSUBSCRIPTIONS. The data set contains a row for each subscription
        with the following names. The data set will be sorted by event, location, and
        principalId.
        - event: The name of the event subscription.
        - location: The path of the object to which a subscription applies.
        - type: The subscriber type. Values are USER and GROUP.
        - cascade: Indicates if the subscription is cascaded to child items. Values are
        0 and 1.
        - principalId: The id of the subscriber. The returned values will be either a
        group name or the user ID of the current user.
        - grpSrcCtxt: The context path in which the group was defined if the subscription
        is a for group.
File: lsaf_getsubscriptions.sas
First available in version: 1.4

%lsaf_getsyncinfo(lsaf_path=, sas_dsname=work.lsafGetSyncInfo);

[ Exposure: external ]
Returns a SAS data set containing synchronization information for the specified file in the
SAS Life Science Analytics Framework repository.

Syntax:
%LSAF_GETSYNCINFO(LSAF_PATH=lsaf-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2016-10-28
initial coding.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        synchronization information for the file specified as libref.dataset. The default
        value is WORK.LSAFGETSYNCINFO. The data set contains a single row for each
        synchronization property associated with the file. The output data set contains the
        columns - name, value, and description. The NAME column contains the name of the
        property, the DESCRIPTION column contains a brief explanation of the property, and
        the VALUE column contains the value of the property. Listed below are the NAME and
        DESCRIPTION column values:
        NAME DESCRIPTION
        filePath File path
        fileCheckOutStatus: The file check out status. Values are
        NOT_CHECKED_OUT, CHECKED_OUT, and MARKED_FOR_ADD
        fileStatus: File status. Values are NON_EXISTENT, WORKSPACE_ONLY,
        REPOSITORY_ONLY, and WORKSPACE_AND_REPOSITORY
        syncFileStatus: File synchronization status. Values are NOT_SYNCED,
        IN_SYNC, and OUT_OF_SYNC
        repoFileCheckedOut: File checked out. Values are 1 for yes, and 0 for no
        repoFileCheckedOutUser: The user that has the repository file checked out.
        repoLastModifiedDate: Date the repository file was last modified
        repoLastModifiedSASDate SAS date the repository file was last modified
        repoFileVersion: File version
        repoFileSize: File size
        repoFileSizeFormatted: Formatted file size
        syncFileVersion: The version of the repository file that was
        synchronized to the Workspace
        syncFileRepoSize: The file size of the repository file that was
        synchronized to the workspace
        syncFileRepoSizeFormatted: The formatted file size of the repository file that
        was synchronized to the workspace
        syncRepoLastModifiedDate: The date of the repository file version that was
        synchronized to the workspace was last modified
        syncRepoLastModifiedSASDate: The SAS date of the repository file version that was
        synchronized to the workspace was last modified
        syncDate: The file synchronization date
        syncSASDate: The file synchronization SAS date
        workspaceFileSize: The file size of the workspace file
        workspaceFileSizeFormatted: The formatted file size of the workspace file
        workspaceLastModifiedDate: Date the workspace file was last modified
        workspaceLastModifiedSASDate: SAS date the workspace file was last modified
File: lsaf_getsyncinfo.sas
First available in version: 1.5

%lsaf_getsyncstatus(lsaf_path=);

[ Exposure: external ]
Determines if a file in the SAS Life Science Analytics Framework repository is synchronized,
out of synchronization, or has never been synchronized with the workspace.

The SAS macro variable _lsafSyncStatus_ is set to the status value. The values are NOT_SYNCED,
IN_SYNC, and OUT_OF_SYNC. If the file does not exist in either the workspace or the
repository, the status is reported as NOT_SYNCED. If the object is a container, an error will
be reported.

Syntax:
%LSAF_GETSYNCSTATUS(LSAF_PATH=lsaf-path);

          
History:
   2014-04-07
initial code
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
_lsafSyncStatus_ - indicates the syncronization status.
Parameters:
lsaf_path - - required - the path of the file.
File: lsaf_getsyncstatus.sas
First available in version: 1.4

%lsaf_getusergroups(lsaf_userid=, sas_dsname=work.lsafGetUserGroups);

[ Exposure: external ]
Returns a SAS data set containing metadata for each of the groups in which the specified
user is a member.

Syntax:
%LSAF_GETUSERGROUPS(LSAF_USERID=lsaf-userid <, SAS_DSNAME=SAS-data-set>);

          
History:
   2014-03-20
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user ID of the user for which groups will be retrieved.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the groups specified as libref.dataset. The default value is
        WORK.LSAFGETUSERGROUPS. The data set contains a row for each group and columns
        with the following names. The data set will be sorted by group name and
        group context path.
        - userId: The user ID of the user.
        - name: The name of the group.
        - description: The description of the group.
        - grpSrcCtxt: The context path where the group was defined.
File: lsaf_getusergroups.sas
First available in version: 1.4

%lsaf_getuserprivileges(lsaf_userid=, sas_dsname=work.lsafGetUserPrivileges);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the global privileges assigned
to a user within the system.

Syntax:
%LSAF_GETUSERPRIVILEGES(LSAF_USERID=lsaf-userid <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-11-01
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user to retrieve the global privileges for.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the global privileges specified as libref.dataset. The default value
        is WORK.LSAFGETUSERPRIVILEGES. The data set contains a row for each global
        privilege assigned to the user and the columns with the following names. The
        data set will be sorted by privilegeId.
        - userId: The user ID of the user.
        - privilegeId: The identifier of the privilege.
        - privilegeName: The name of the privilege.
File: lsaf_getuserprivileges.sas
First available in version: 1.3

%lsaf_getversions(lsaf_path=, sas_dsname=work.lsafGetVersions);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for all of the versions of a file.

Syntax:
%LSAF_GETVERSIONS(LSAF_PATH=lsaf-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2014-05-07
updated documentation and fixed data set processing.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required -the path of the object in the SAS Life Science Analytics
        Framework repository.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the versions specified as libref.dataset. The default value is
        WORK.LSAFGETVERSIONS. The data set contains a row for each version of the object
        and columns with the following names. The most recent version will be the first
        observation in the data set.
        - name: The name of the object.
        - path: The path of the object.
        - objectType: The type of file (i.e., data set, program, etc.).
        - description: The description of the object.
        - versionLabel: The label associated with this specific version.
        - isCheckedOut: A numeric flag that indicates whether the object is currently
        checked out (0=no, 1=yes).
        - isLocked: A numeric flag that indicates whether the object is currently locked
        (0=no, 1=yes).
        - size: The size of the object in bytes (will be 0 for containers).
        - contentType: The content or MIME type of object.
        - createdBy: The user ID that created the object.
        - created: The full date and time the object was created represented as a string.
        - dateCreated: The date the object was created as a SAS Datetime format.
        - lastModifiedBy: The user ID that last modified the object.
        - lastModified: The date the object was last modified represented as a string.
        - dateLastModified: The date the object was last modified as a SAS Datetime format.
        - propertiesLastModifiedBy: The user ID that last modified the properties for the
        object.
        - propertiesLastModified: The date when the object properties were last modified.
        This value is represented as a String.
        - datePropertiesLastModified: The date when the object properties were last
        modified as a SAS Datetime format.
        - isSigned: Indicates if the object has electronic signatures attached to it.
File: lsaf_getversions.sas
First available in version: 1.2

%lsaf_getworkspacechildren(lsaf_path=, sas_dsname=work.lsafGetWorkspaceChildren, lsaf_recursive=0);

[ Exposure: external ]
Returns a SAS data set that contains the metadata for objects within a folder in the SAS
Life Science Analytics Framework workspace.

Syntax:
%LSAF_GETWORKSPACECHILDREN(LSAF_PATH=lsaf-path <, LSAF_RECURSIVE=recursion-level,
SAS_DSNAME=SAS-data-set>);

          
History:
   2016-11-09
initial coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the folder object in the SAS Life Science
        Analytics Framework workspace.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the objects specified as libref.dataset. The default value is
        WORK.LSAFGETWORKSPACECHILDREN. The data set contains a row for each object in the
        list and columns with the following names. The data set will be sorted by path.
        - name: The name of the object.
        - path: The path of the object.
        - objectType: Describes the type of the object.
        - isFolder: A numeric flag that indicates whether the object is a folder
        object (0=no, 1=yes).
        - lastModified: The date when the object was last modified. This value is
        represented as a String.
        - dateLastModified: The date when the object was last modified as a SAS Datetime
        format.
lsaf_recursive - - optional - the level of recursion.
        Valid values are 0, 1, 2, or 99 as described below. The default value is 0.
        0 - Returns the folder only.
        1 - Returns the folder and its immediate children.
        2 - Returns the folder, its immediate children, and all objects within one
        level of the folders subfolders.
        99 - Returns the folder and all of the sub folders and objects
        (traverses the entire tree).
File: lsaf_getworkspacechildren.sas
First available in version: 1.5

%lsaf_getworkspacejobinfo(lsaf_path=, sas_dsname=work.lsafGetWorkspaceJobInfo);

[ Exposure: external ]
Returns a SAS data set that contains the information for a job in the SAS Life Science
Analytics Framework workspace. This is the information displayed on the General tab of the
job editor, as well as the information concerning the versioning of new outputs.

Syntax:
%LSAF_GETWORKSPACEJOBINFO(LSAF_PATH=lsaf-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2016-10-04
initial coding.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job in the SAS Life Science Analytics Framework
        workspace.
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the job specified as libref.dataset. The default value is
        WORK.LSAFGETWORKSPACEJOBINFO. The data set will contain variables representing each
        element of metadata for the object. The data set will be sorted by the NAME
        variable. The following metadata will be represented in the data set.
        - path: The path of the job.
        - versionLabel: Versions are not relevant in the workspace. This variable is
        included for consistency with the data set returned by the repository macro
        lsaf_getjobinfo. The value from this macro call is WORKSPACE.
        - name: The name of the property or attribute.
        - value: The value of the property or attribute.
File: lsaf_getworkspacejobinfo.sas
First available in version: 1.5

%lsaf_getworkspacejobinputs(lsaf_path=, sas_dsname=work.lsafGetWorkspaceJobInputs);

[ Exposure: external ]
Returns a SAS data set containing metadata for the inputs for the specified job in the SAS
Life Science Analytics Framework workspace. The list does not include the input tasks.

Syntax:
%LSAF_GETWORKSPACEJOBINPUTS(LSAF_PATH=lsaf-path <,SAS_DSNAME=SAS-data-set>);

          
History:
   2016-10-04
initial coding.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the inputs specified as libref.dataset. The default value is
        WORK.LSAFGETWORKSPACEJOBINPUTS. The data set contains a row for each job input and
        columns with the following names. The data set will retain the order of the inputs.
        - jobPath: The path of the job.
        - jobVersion: Versions are not relevant in the workspace. This variable is
        included for consistency with the data set returned by the repository macro
        lsaf_getjobinputs. The value from this macro call is WORKSPACE.
        - inputPath: The path of the input file or container.
        - inputType: The object type for the input. Valid values are CONTAINER and FILE.
        - inputVersion: The version of the input file. An asterisk indicates the latest
        version of the input file will be used by the job.
        - inputIncludesSubFolders: A flag indicating whether or not the subfolders of a
        container input are to be included during job execution.
File: lsaf_getworkspacejobinputs.sas
First available in version: 1.5

%lsaf_getworkspacejoboutputs(lsaf_path=, sas_dsname=work.lsafGetWorkspaceJobOutputs);

[ Exposure: external ]
Returns a SAS data set containing metadata for the outputs for the specified job in the SAS
Life Science Analytics Framework workspace.

Syntax:
%LSAF_GETJOBOUTPUTS(LSAF_PATH=lsaf-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2016-10-04
initial coding.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the outputs specified as libref.dataset. The default value is
        WORK.LSAFGETWORKSPACEJOBOUTPUTS. The data set contains a row for each job output and
        columns with the following names. The data set will retain the order of the outputs.
        - jobPath: The path of the job.
        - jobVersion: Versions are not relevant in the workspace. This variable is
        included for consistency with the data set returned by the repository macro
        lsaf_getjoboutputs. The value from this macro call is WORKSPACE.
        - outputPath: The path of the output location.
        - outputIncludesSubFolders: A flag indicating whether or not the subfolders of an
        output container are to be included during job execution.
File: lsaf_getworkspacejoboutputs.sas
First available in version: 1.5

%lsaf_getworkspacejobparameters(lsaf_path=, sas_dsname=work.lsafGetWorkspaceJobParameters);

[ Exposure: external ]
Returns a SAS data set containing job parameter metadata for the specified job in the SAS
Life Science Analytics Framework workspace. .

Syntax:
%LSAF_GETWORKSPACEJOBPARAMETERS(LSAF_PATH=lsaf-path <,SAS_DSNAME=SAS-data-set>);

          
History:
   2016-10-04
initial coding.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the parameters specified as libref.dataset. The default value is
        WORK.LSAFGETWORKSPACEJOBPARAMETERS. The data set contains a row for each job
        parameter and columns with the following names. The data set will retain the job
        parameter order.
        - jobPath: The path of the job.
        - jobVersion: Versions are not relevant in the workspace. This variable is
        included for consistency with the data set returned by the repository macro
        lsaf_getjobparameters. The value from this macro call is WORKSPACE.
        - name: The name of the parameter.
        - label: The parameter label.
        - type: The parameter type. Values are CHARACTER, CHARACTER_MASKED, NUMERIC,
        DATE, FILE, or FOLDER.
        - defaultValue: the default value for the parameter. Dates are returned in SAS
        datetime format.
        - fileVersion: the file version to be used if the parameter is of type FILE.
        A blank value means that either the file is not versioned or the file is
        versioned but no version was selected.
File: lsaf_getworkspacejobparameters.sas
First available in version: 1.5

%lsaf_getworkspacejobtasks(lsaf_path=, sas_dsname=work.lsafGetWorkspaceJobTasks);

[ Exposure: external ]
Returns a SAS data set containing metadata for the tasks for the specified job in the SAS
Life Science Analytics Framework workspace.

Syntax:
%LSAF_GETWORKSPACEJOBTASKS(LSAF_PATH=lsaf-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2016-10-04
initial coding.
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the job.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the tasks specified as libref.dataset. The default value is
        WORK.LSAFGETWORKSPACEJOBTASKS. The data set contains a row for each job task and
        columns with the following names. The data set will retain the order of the tasks.
        - jobPath: The path of the job.
        - jobVersion: Versions are not relevant in the workspace. This variable is
        included for consistency with the data set returned by the repository macro
        lsaf_getjobtasks. The value from this macro call is WORKSPACE.
        - taskPath: The path of the task file.
        - taskVersion: The version of the task file. An asterisk indicates the latest
        version of the task file will be used by the job.
File: lsaf_getworkspacejobtasks.sas
First available in version: 1.5

%lsaf_groupexists(lsaf_path=, lsaf_group=);

[ Exposure: external ]
Determines whether a group is defined for the specified context.

The macro variable _lsafGroupExists_ will be set to 1 if the group exists, 0 if it does not.
In the event of an incorrect call to the macro which results in an error, the return value of
_sddGroupExists_ will be set to -1.

Syntax:
%LSAF_GROUPEXISTS (LSAF_PATH=lsaf-path, LSAF_GROUP=lsaf- name);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafGroupExists_ - indicates if the group exists in the context.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object.
lsaf_group - - required - the name of the group.
File: lsaf_groupexists.sas
First available in version: 1.2

%lsaf_hascontextprivilege(lsaf_path=, lsaf_privilege=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);

[ Exposure: external ]
Determines whether a user or group has a specific role privilege in the specified
organization, project, or analysis.

The SAS macro variable _lsafHasContextPrivilege_ is set to a value of 1 when the specified
user or group has the privilege, 0 if it does not. In the event of an incorrect call to the
macro which results in an error, the return value of _lsafHasContextPrivilege_ will be set to
-1.

Syntax:
%LSAF_HASCONTEXTPRIVILEGE(LSAF_PATH=lsaf-path, LSAF_PRIVILEGE=lsaf-privilege-id,
LSAF_MEMBER=lsaf-member-identifier <, LSAF_TYPE=lsaf-type,
LSAF_GROUP_CONTEXT=lsaf-group-context>);

          
History:
   2016-08-19
original code
Expected Macro Variables:
_lsafHasContextPrivilege_ - indicates if the user or group has the privilege in the
        specified organization, project, or analysis.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
lsaf_privilege - - required - the identifier of the privilege to check.
lsaf_member - - required - the user ID or group name of the member.
lsaf_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
lsaf_group_context - - conditional - specifies the context in which the member group is
        defined as a path (e.g., /SAS). The parameter is required if LSAF_TYPE=GROUP.
        Otherwise, it will be ignored.
File: lsaf_hascontextprivilege.sas
First available in version: 1.5

%lsaf_ischeckedout(lsaf_path=);

[ Exposure: external ]
Determines whether a SAS Life Science Analytics Framework repository file has been checked out.

The SAS macro variable _lsafIsCheckedOut_ is set to a value of 1 when the object is checked out,
0 if it is not. In the event of an incorrect call to the macro which results in an error, the return
value of _lsafIsCheckedOut_ will be set to -1.

Syntax:
%LSAF_ISCHECKEDOUT(LSAF_PATH=lsaf-path);

          
History:
   2016-10-04
Initial coding
Expected Macro Variables:
_lsafIsCheckedOut_ - indicates if the object is checked out or not.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file.
File: lsaf_ischeckedout.sas
First available in version: 1.5

%lsaf_iscontainer(lsaf_path=);

[ Exposure: external ]
Determines whether a SAS Life Science Analytics Framework repository object is of type container.

The SAS macro variable _lsafIsContainer_ is set to a value of 1 if the specified object is a
container object, 0 if it is not. In the event of an incorrect call to the macro which results in
an error, the return value of _lsafIsContainer_ will be set to -1.
Container objects include folders, projects, analyses, and the organization.

Syntax:
%LSAF_ISCONTAINER(LSAF_PATH=lsaf-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafIsContainer_ - indicates if the object is a container.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the object in the SAS Life Science Analytics Framework
        repository.
File: lsaf_iscontainer.sas
First available in version: 1.2

%lsaf_isgroupmember(lsaf_path=, lsaf_group=, lsaf_member=, lsaf_type=USER, lsaf_group_context=, lsaf_includeImplicit=0);

[ Exposure: external ]
Determines whether a user or group is an explicit member of the group in the specified organization,
project, or analysis.

The SAS macro variable _lsafIsGroupMember_ is set to a value of 1 when the specified user or
group is a member of the group, 0 if it is not. In the event of an incorrect call to the
macro which results in an error, the return value of _lsafIsGroupMember_ will be set to -1.

Syntax:
%LSAF_ISGROUPMEMBER(LSAF_PATH=lsaf-path, LSAF_GROUP=lsaf-group-name,
LSAF_MEMBER=lsaf-member-identifier, <, LSAF_TYPE=lsaf-type, LSAF_GROUP_CONTEXT=lsaf-group-context,
LSAF_INCLUDEIMPLICIT=lsaf_include_implicit>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-01-18
added includeImplicit flag.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafIsGroupMember_ - indicates if the user or group is a member of the specified group.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or analysis)
        where the group is assigned.
lsaf_group - - required - the name of the group.
lsaf_member - - required - the user ID or group name of the member.
lsaf_type - - optional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
lsaf_group_context - - conditional - specifies the context in which the member group is
        defined as a path (e.g., /SAS). The parameter is required if LSAF_TYPE=GROUP.
        Otherwise, it will be ignored.
lsaf_includeImplicit - - optional - indicates whether or not to include implied members, i.e.,
        members of groups within groups. The valid values are 0 and 1 to exclude or include
        implied memberships respectively. The default is 0.
File: lsaf_isgroupmember.sas
First available in version: 1.2

%lsaf_ismember(lsaf_path=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);

[ Exposure: external ]
Determines whether a user or group is a member in the specified organization, project,
or analysis.

The SAS macro variable _lsafIsMember_ is set to a value of 1 when the specified user or group
is a member of the context, 0 if it is not. In the event of an incorrect call to the macro
which results in an error, the return value of _lsafIsMember_ will be set to -1.
Groups defined at the context level will not be considered as members of that context.

Syntax:
%LSAF_ISMEMBER(LSAF_PATH=lsaf-path, LSAF_MEMBER=lsaf-member-identifier <, LSAF_TYPE=lsaf-type,
LSAF_GROUP_CONTEXT=lsaf-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafIsMember_ - indicates if the user or group is a member of the specified
        organization, project, or analysis.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path (starting at the root) context object (organization,
        project, or analysis).
lsaf_member - - required - the user ID or group name of the member.
lsaf_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
lsaf_group_context - - conditional - specifies the context in which the member group is
        defined as a path (e.g., /SAS). The parameter is required if LSAF_TYPE=GROUP.
        Otherwise, it will be ignored.
File: lsaf_ismember.sas
First available in version: 1.2

%lsaf_isrolemember(lsaf_path=, lsaf_role=, lsaf_role_context=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);

[ Exposure: external ]
Determines whether a user or group is a member of a role in the specified organization,
project, or analysis.

The SAS macro variable _lsafIsRoleMember_ is set to a value of 1 when the specified user or
group is a member of the role, 0 if it is not. In the event of an incorrect call to the macro
which results in an error, the return value of _lsafIsRoleMember_ will be set to -1.

Syntax:
%LSAF_ISROLEMEMBER(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name,
LSAF_ROLE_CONTEXT=lsaf-role-context, LSAF_MEMBER=lsaf-member-identifier <, LSAF_TYPE=lsaf-type,
LSAF_GROUP_CONTEXT=lsaf-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafIsRoleMember_ - indicates if the user or group is a member of the role in the
        specified organization, project, or analysis.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
lsaf_role - - required - the name of the role.
lsaf_role_context - - required - the context in which the role is defined as a path
        (e.g., /SAS).
lsaf_member - - required - the user ID or group name of the member.
lsaf_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (caes-insensitive). The default value is USER.
lsaf_group_context - - conditional - specifies the context in which the member group is
        defined as a path (e.g., /SAS). The parameter is required if LSAF_TYPE=GROUP.
        Otherwise, it will be ignored.
File: lsaf_isrolemember.sas
First available in version: 1.2

%lsaf_isroleprivilege(lsaf_path=, lsaf_role=, lsaf_privilege=);

[ Exposure: external ]
Determines whether a privilege is assigned to a role in the specified organization,
project, or analysis. Works only for defined roles, not inherited roles, in the specified
organization, project, or analysis.

The SAS macro variable _lsafIsRolePrivilege_ is set to a value of 1 when the privilege is
assigned, 0 if it is not. In the event of an incorrect call to the macro which results in an
error, the return value of _lsafIsRolePrivilege_ will be set to -1.

Syntax:
%LSAF_ISROLEPRIVILEGE(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name,
LSAF_PRIVILEGE=lsaf-privilege-id);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafIsRolePrivilege_ - indicates if the privilege is assigned to the role in the
        specified organization, project, or analysis.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
lsaf_role - - required - the name of the role.
lsaf_privilege - - required - the identifier of the privilege to check.
File: lsaf_isroleprivilege.sas
First available in version: 1.2

%lsaf_isuserprivilege(lsaf_userid=, lsaf_privilege=);

[ Exposure: external ]
Determines whether a global privilege is assigned to a user.

The SAS macro variable _lsafIsUserPrivilege_ is set to a value of 1 when the privilege is
assigned, 0 if it is not. In the event of an incorrect call to the macro which results in
an error, the return value of _lsafIsUserPrivilege_ will be set to -1.

Syntax:
%LSAF_ISUSERPRIVILEGE(LSAF_USERID=lsaf-userid, LSAF_PRIVILEGE=lsaf-privilege-id);

          
History:
   2013-11-01
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafIsUserPrivilege_ - indicates if the privilege is assigned to the user.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user ID to check.
lsaf_privilege - - required - the identifier of the global privilege to check.
File: lsaf_isuserprivilege.sas
First available in version: 1.3

%lsaf_isversioned(lsaf_path=);

[ Exposure: external ]
Determines whether a SAS Life Science Analytics Framework repository object has versioning enabled.

The SAS macro variable _lsafIsVersioned_ is set to a value of 1 when the object is versioned,
0 if it is not. In the event of an incorrect call to the macro which results in an error,
the return value of _lsafIsVersioned_ will be set to -1.

Syntax:
%LSAF_ISVERSIONED(LSAF_PATH=lsaf-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafIsVersioned_ - indicates if the object is versioned or not.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file.
File: lsaf_isversioned.sas
First available in version: 1.1

%lsaf_lockuser(lsaf_userid=);

[ Exposure: external ]
Locks a user account.

The person running the macro must have the user privilege to manage user accounts.

Syntax:
%LSAF_LOCKUSER(LSAF_USERID=lsaf-userid);

          
History:
   2014-3-19
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user ID of the user account to lock.
File: lsaf_lockuser.sas
First available in version: 1.4

%lsaf_login(lsaf_url=, lsaf_userid=, lsaf_password=, proxy_host=, proxy_port=, proxy_userid=, proxy_password=);

[ Exposure: external ]
Creates a connection to the SAS Life Science Analytics Framework instance.

This macro is only required when running the macros from a PC SAS session. It must be called
before any other SAS Life Science Analytics Framework macro in order to establish your session.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Life Science Analytics Framework application session will result in a failure.

Syntax:
%LSAF_LOGIN(LSAF_URL=url, LSAF_USERID=user-id , LSAF_PASSWORD=password,
<, PROXY_HOST=proxy-host, PROXY_USERID=proxy-userid, PROXY_PASSWORD=proxy-pw );

Example Code:

1. The parameters passed to the login macro are often strings containing special characters
which may cause problems when resolved by SAS. You will probably want to wrap each of the
parameters in a SAS function call to prevent any issues:
%lsaf_login(lsaf_url=%str(https://lsafinstance), lsaf_userid=%str(lsaf-user-id),
lsaf_password=%str (lsafpassword ));

2. Certain special characters common in passwords (e.g. ampersands, percent signs) may
may require quoting.
%lsaf_login(lsaf_url=%str(https://lsafinstance), lsaf_userid=%str(lsaf-user-id),
lsaf_password=%nrbquote(lsafpassword ));

          
History:
   2013-06-26
version 1.2 update - trusted session
   2013-08-30
updates for standardization and coding conventions
   2014-03-04
updates for proxy
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_url - - required - the URL of the SAS Life Science Analytics Framework instance to use
        in the form https://lsafname.sas.com or http://lsafname.sas.com.
lsaf_userid - - required - the SAS Life Science Analytics Framework ID for the user account.
lsaf_password - - required - the SAS Life Science Analytics Framework password for the user account.
proxy_host - - conditional - the name of the host machine when the SAS Life Science Analytics
        Framework system is accessed through a proxy server.
proxy_port - - conditional - the port number required for the proxy host machine.
        Required when a proxy_host is designated.
proxy_userid - - conditional - the userid when the proxy machine requires authentication.
proxy_password - - conditional - the password when the proxy machine required
        authentication.
File: lsaf_login.sas
First available in version: 1.1

%lsaf_logout;

[ Exposure: external ]
Closes an open connection to SAS Life Science Analytics Framework.

This macro is only used when running the macros from a PC SAS session. This should be the
last macro you call in any program. If the logout operation is successful, all LSAF SAS
macro related variables will be deleted (e.g., _lsafRC_).

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Life Science Analytics Framework application session will result in a failure.

Syntax:
%LSAF_LOGOUT();

          
History:
   2013-06-26
version 1.2 update - trusted session
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
File: lsaf_logout.sas
First available in version: 1.1

%lsaf_markforaddandcheckin(lsaf_path=, lsaf_versionfile=1, lsaf_comment=, lsaf_versiontype=MAJOR, lsaf_customversion=);

[ Exposure: external ]
Marks for add and checks in a workspace file to the SAS Life Science Analytics Framework
repository

Syntax:
%LSAF_MARKFORADDANDCHECKIN(LSAF_PATH=lsaf-path
<,LSAF_VERSIONFILE=lsaf-version-file,
LSAF_COMMENT=lsaf-comment,
LSAF_VERSIONTYPE=lsaf-version-type,
LSAF_CUSTOMVERSION=lsaf-custom-version>);

          
History:
   2016-11-28
initial code
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file.
lsaf_versionfile - - optional - A boolean value representing whether or not to version
        the file. Values are 1 for yes and 0 for no. The default is 1 (Yes).
lsaf_comment - - optional - A comment when versioning a file
lsaf_versiontype - - optional - What level to version the file, valid values are MAJOR,
        MINOR, and CUSTOM. MAJOR for whole number updates (ie 3.0 to 4.0), MINOR for
        incremental updates (ie 3.0 to 3.1), and CUSTOM for user specifed versioning
        (ie 6.1). The default is MAJOR.
lsaf_customversion - - conditional - A numeric value for a custom version (ie 6.1) when
        lsaf_versiontype=CUSTOM, otherwise this parameter is ignored.
File: lsaf_markforaddandcheckin.sas
First available in version: 1.5

%lsaf_move(lsaf_source=, lsaf_target=);

[ Exposure: external ]
Moves a file or folder to the specified target location.

The item being moved must not already exist in the target location.
The children of a moved folder will also be moved to the target location,
keeping their directory structure and version history (if any) intact.

Syntax:
%LSAF_MOVE(LSAF_SOURCE=lsaf-source-path, LSAF_TARGET=lsaf-target-path);

          
History:
   2014-03-03
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_source - - required - the path of the object to be moved.
lsaf_target - - required - the path of the folder into which the object is to be
        moved. The target folder must already exist. Path cannot end with a slash (/).
File: lsaf_move.sas
First available in version: 1.4

%lsaf_objectexists(lsaf_path=);

[ Exposure: external ]
Determines whether a SAS Life Science Analytics Framework repository object exists.

The SAS macro variable _lsafObjectExists_ is set to a value of 1 when the object exits,
it does not. In the event of an incorrect call to the macro which results in an error,
the return value of _lsafObjectExists_ will be set to -1.

Syntax:
%LSAF_OBJECTEXISTS(LSAF_PATH=lsaf-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafObjectExists_ - indicates if the object exists.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the object.
File: lsaf_objectexists.sas
First available in version: 1.1

%lsaf_processflowexists(lsaf_path=, lsaf_processflow=);

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

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

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

          
History:
   2016-08-17
initial development
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafProcessFlowExists_ - indicates if the process flow exists in the context.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object.
lsaf_processflow - Parameter description not provided
File: lsaf_processflowexists.sas
First available in version: 1.5

%lsaf_removegroupmember(lsaf_path=, lsaf_group=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);

[ Exposure: external ]
Removes a user or a group as a member of a group in the specified organization, project, or
analysis.

Syntax:
%LSAF_REMOVEGROUPMEMBER(LSAF_PATH=lsaf-path, LSAF_GROUP=lsaf-group-name,
LSAF_MEMBER=lsaf-member-identifier <, LSAF_TYPE=lsaf-type, LSAF_GROUP_CONTEXT=lsaf-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the group is defined.
lsaf_group - - required - the name of the group that the member is to be removed from.
lsaf_member - - required - the id of the user or the name of the group being removed.
lsaf_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
lsaf_group_context - - conditional - specifies the context in which the group being
        removed is defined as a path (e.g., /SAS). This parameter is required if
        LSAF_TYPE=GROUP. Otherwise, it will be ignored.
File: lsaf_removegroupmember.sas
First available in version: 1.2

%lsaf_removemember(lsaf_path=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);

[ Exposure: external ]
Removes a user or a group as a member of the specified organization, project, or analysis.

Syntax:
%LSAF_REMOVEMEMBER(LSAF_PATH=lsaf-path, LSAF_MEMBER=lsaf-member-identifier
<, LSAF_TYPE=lsaf-type, LSAF_GROUP_CONTEXT=lsaf-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-29
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) to remove the member from.
lsaf_member - - required - the id of the user or the name of the group being removed.
lsaf_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
lsaf_group_context - - conditional - specifies the context in which the group being
        removed is defined as a path (e.g., /SAS). This parameter is required if
        LSAF_TYPE=GROUP. Otherwise, it will be ignored.
File: lsaf_removemember.sas
First available in version: 1.2

%lsaf_removerolemember(lsaf_path=, lsaf_role=, lsaf_role_context=, lsaf_member=, lsaf_type=USER, lsaf_group_context=);

[ Exposure: external ]
Removes a user or a group as a member of a role in the specified organization, project, or
analysis.

Syntax:
%LSAF_REMOVEROLEMEMBER(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name,
LSAF_ROLE_CONTEXT=lsaf-role-context, LSAF_MEMBER=lsaf-member-identifier <, LSAF_TYPE=lsaf-type,
LSAF_GROUP_CONTEXT=lsaf-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-29
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
lsaf_role - - required - the name of the role that the member is to be removed from.
lsaf_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
lsaf_member - - required - the ID of the user or the name of the group being removed.
lsaf_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
lsaf_group_context - - conditional - specifies the context in which the group being
        removed is defined as a path (e.g., /SAS). This parameter is required if
        LSAF_TYPE=GROUP. Otherwise, it will be ignored.
File: lsaf_removerolemember.sas
First available in version: 1.2

%lsaf_removeroleprivilege(lsaf_path=, lsaf_role=, lsaf_privilege=);

[ Exposure: external ]
Removes a privilege from a role in the specified organization, project, or analysis.

Syntax:
%LSAF_REMOVEROLEPRIVILEGE(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name,
LSAF_PRIVILEGE=lsaf-privilege-id);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) where the role is defined.
lsaf_role - - required - the name of the role that the privilege is to be removed from.
lsaf_privilege - - required - the identifier of the privilege to remove.
File: lsaf_removeroleprivilege.sas
First available in version: 1.2

%lsaf_removeuserprivilege(lsaf_userid=, lsaf_privilege=);

[ Exposure: external ]
Remove a global privilege from a user in the system.

Syntax:
%LSAF_REMOVEUSERPRIVILEGE(LSAF_USERID=lsaf-userid, LSAF_PRIVILEGE=lsaf-privilege);

          
History:
   2013-11-01
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user to remove the global privilege from.
lsaf_privilege - - required - the identifier of the global privilege to remove.
File: lsaf_removeuserprivilege.sas
First available in version: 1.3

%lsaf_renameanalysis(lsaf_source=, lsaf_newname=);

[ Exposure: external ]
Renames an analysis.

Another analysis with the new name must not already exist in the parent project.

Syntax:
%LSAF_RENAMEANALYSIS(LSAF_SOURCE=lsaf-source-path, LSAF_NEWNAME=lsaf-new-name);

          
History:
   2014-03-04
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_source - - required - the path, including the name, of the analysis to be renamed.
lsaf_newname - - required - the new name of the analysis.
File: lsaf_renameanalysis.sas
First available in version: 1.4

%lsaf_renameobject(lsaf_source=, lsaf_newname=);

[ Exposure: external ]
Renames a file or folder.

An object with the new name must not already exist in the current location.

Syntax:
%LSAF_RENAMEOBJECT(LSAF_SOURCE=lsaf-source-path, LSAF_NEWNAME=lsaf-new-name);

          
History:
   2014-03-03
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_source - - required - the path, including the name, of the object to be renamed.
lsaf_newname - - required - the new name of the object.
File: lsaf_renameobject.sas
First available in version: 1.4

%lsaf_renameproject(lsaf_source=, lsaf_newname=);

[ Exposure: external ]
Renames a project.

Another project with the new name must not already exist in the organization.

Syntax:
%LSAF_RENAMEPROJECT(LSAF_SOURCE=lsaf-source-path, LSAF_NEWNAME=lsaf-new-name);

          
History:
   2014-03-04
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_source - - required - the path, including the name, of the project to be renamed.
lsaf_newname - - required - the new name of the project.
File: lsaf_renameproject.sas
First available in version: 1.4

%lsaf_resetpassword(lsaf_userid=, lsaf_newpassword=);

[ Exposure: external ]
Reset the password for a user in the system. This action requires the logged on user to have
the administrative privilege PRIVILEGE_MANAGE_USER_ACCOUNTS. Once the password has been
successfully reset, the user can immediately log on with the new password, but they will be
forced to change their password immediately so the password remains unique to the user.

Syntax:
%LSAF_RESETPASSWORD(LSAF_USERID=lsaf-userid, LSAF_NEWPASSWORD=lsaf-password);

          
History:
   2013-11-04
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user ID of the account to reset.
lsaf_newpassword - - required - the new temporary password.
File: lsaf_resetpassword.sas
First available in version: 1.3

%lsaf_roleexists(lsaf_path=, lsaf_role=);

[ Exposure: external ]
Determines whether a a role is defined in the specified organization, project, or analysis.

The SAS macro variable _lsafRoleExists_ is set to a value of 1 when the role exists, 0 if it
is not. In the event of an incorrect call to the macro which results in an error, the return
value of _lsafRoleExists_ will be set to -1.

Syntax:
%LSAF_ROLEEXISTS(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
_lsafRoleExists_ - indicates if the role exists in the context.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis).
lsaf_role - - required - the name of the role.
File: lsaf_roleexists.sas
First available in version: 1.2

%lsaf_submitandpopulatewsjob(lsaf_path=, lsaf_userelativepaths=0, sas_dsname=);

[ Exposure: external ]
Submits a SAS Life Science Analytics Framework workspace job for immediate execution and updates
the input and output specifications in the job based on inputs and outputs accessed during the
job run. The SAS macro variable _lsafPopulateWsJobSummissionId_ is set to the identifier for the
job submission. If the job cannot be submitted, _lsafPopulateWsJobSummissionId_ will be set to
blank.

If the job runs with SAS errors, the job will not be updated. If it runs successfully or with SAS
warnings, it will be updated, replacing any existing input and output definitions in the job.

A data set representing the job parameters whose values are to be overridden for the current
job submission can be sent into the call of lsaf_submitandpopulatewsjob. If no job parameters
data set is sent in, the default values for all job parameters will be used.
The output data sets from either the lsaf_getjobparameters or lsaf_getworkspacejobparameters
contains all the data relevant to the parameters for a specific job and can be used as a source
for the input parameters data set for the lsaf_submitandpopulatewsjob macro. Modify the data set
with any desired changes prior to calling lsaf_submitandpopulatewsjob.
- Rename the defaultValue variable to "value" or add a variable with the name "value" to
indicate the values to use for the current submission.
- Default job parameter values will be used for missing parameters (deleted rows)
- Indicating an empty string for a parameter value will result in using a blank as the
parameter value for the current submission.
- Added parameters will be ignored.
- The parameters in the input data set are matched with the job parameters by name and type.
If no match is found for a parameter, its default value will be used.
- Data set rows with duplicate values for parameter name will cause an execution error.
- DATE job parameter values must be in SAS datetime18. format (e.g., 02NOV2013:09:33:22), or
in SAS E8601DZ25. format (e.g., 2013-11-02T09:33:22-04:00). For SAS datetime18. format, an
offset of zero hours from GMT will be used. To specify an offset from GMT, use the
E8601DZ25. format. Date values in formats other than the two described above will result
in an execution error.

Syntax:
%LSAF_SUBMITANDPOPULATEWSJOB(LSAF_PATH=lsaf-path <, LSAF_USERELATIVEPATHS=use-relative-paths,
SAS_DSNAME=SAS-data-set>);

          
History:
   2016-10-20
initial coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafPopulateWsJobSummissionId_ - indicates the job submission identifier.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required -the path of the job in the SAS Life Science Analytics Framework
        workspace.
lsaf_userelativepaths - - optional - indicates whether or not to create generated inputs
        and outputs as absolute or relative paths. The valid values are 0 and 1 to generate
        absolute or relative paths respectively. The default is 0.
sas_dsname - - optional - the name of the SAS data set containing the job parameter
        information specified as libref.dataset. If not specified, the default job
        parameters values will be used. The data set must contain, at minimum, the
        character variables listed below. Any additional variables will be ignored.
        - name: The name of the parameter.
        - type: The parameter type. Valid values are CHARACTER, CHARACTER_MASKED,
        NUMERIC, DATE, FILE, and FOLDER.
        - value: The value of the parameter to be used in the current job submission.
        - fileVersion: The file version to be used if the parameter is of type FILE.
        For versioned files, a blank value will result in the latest file version
        used. For nonversioned files, the value is ignored.
File: lsaf_submitandpopulatewsjob.sas
First available in version: 1.5

%lsaf_submitjob(lsaf_path=, lsaf_version=, sas_dsname=);

[ Exposure: external ]
Submits a SAS Life Science Analytics Framework repository job for immediate execution and sets
the SAS macro variable _lsafJobSubmissionId_ to the identifier for the job submission. If the
job cannot be submitted, _lsafJobSubmissionId_ will be set to blank.

A data set representing the job parameters whose values are to be overridden for the current
job submission can be sent into the call of lsaf_submitjob. If no job parameters data
set is sent in, the default values for all job parameters will be used.
The output data set from the macro lsaf_getjobparameters contains all the data relevant
to the parameters for a specific job and can be used as a source for the input parameters data
set for the lsaf_submitjob macro. Modify the data set with any desired changes prior to
calling lsaf_submitjob.
- Rename the defaultValue variable to "value" or add a variable with the name "value" to
indicate the values to use for the current submission.
- Default job parameter values will be used for missing parameters (deleted rows)
- Indicating an empty string for a parameter value will result in using a blank as the
parameter value for the current submission.
- Added parameters will be ignored.
- The parameters in the input data set are matched with the job parameters by name and type.
If no match is found for a parameter, its default value will be used.
- Data set rows with duplicate values for parameter name will cause an execution error.
- DATE job parameter values must be in SAS datetime18. format (e.g., 02NOV2013:09:33:22), or
in SAS E8601DZ25. format (e.g., 2013-11-02T09:33:22-04:00). For SAS datetime18. format, an
offset of zero hours from GMT will be used. To specify an offset from GMT, use the
E8601DZ25. format. Date values in formats other than the two described above will result
in an execution error.

Syntax:
%LSAF_SUBMITJOB(LSAF_PATH=lsaf-path <, LSAF_VERSION=lsaf-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-09
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafJobSubmissionId_ - indicates the job submission identifier.
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required -the path of the job in the SAS Life Science Analytics Framework
        repository.
lsaf_version - - optional - a specific version number of the job. If not specified,
        the latest version of the job will be submitted. Specifying a version for a
        non-versioned file will cause an error.
sas_dsname - - optional - the name of the SAS data set containing the job parameter
        information specified as libref.dataset. If not specified, the default job
        parameters values will be used. The data set must contain, at minimum, the
        character variables listed below. Any additional variables will be ignored.
        - name: The name of the parameter.
        - type: The parameter type. Valid values are CHARACTER, CHARACTER_MASKED,
        NUMERIC, DATE, FILE, and FOLDER.
        - value: The value of the parameter to be used in the current job submission.
        - fileVersion: The file version to be used if the parameter is of type FILE.
        For versioned files, a blank value will result in the latest file version
        used. For nonversioned files, the value is ignored.
File: lsaf_submitjob.sas
First available in version: 1.4

%lsaf_submitworkspacejob(lsaf_path=, sas_dsname=);

[ Exposure: external ]
Submits a SAS Life Science Analytics Framework workspace job for immediate execution and sets
the SAS macro variable _lsafWorkspaceJobSubmissionId_ to the identifier for the job submission.
If the job cannot be submitted, _lsafWorkspaceJobSubmissionId_ will be set to blank.

A data set representing the job parameters whose values are to be overridden for the current
job submission can be sent into the call of lsaf_submitworkspacejob. If no job parameters data
set is sent in, the default values for all job parameters will be used.
The output data sets from either the lsaf_getjobparameters or lsaf_getworkspacejobparameters
contains all the data relevant to the parameters for a specific job and can be used as a source
for the input parameters data set for the lsaf_submitworkspacejob macro. Modify the data set with
any desired changes prior to calling lsaf_submitworkspacejob.
- Rename the defaultValue variable to "value" or add a variable with the name "value" to
indicate the values to use for the current submission.
- Default job parameter values will be used for missing parameters (deleted rows)
- Indicating an empty string for a parameter value will result in using a blank as the
parameter value for the current submission.
- Added parameters will be ignored.
- The parameters in the input data set are matched with the job parameters by name and type.
If no match is found for a parameter, its default value will be used.
- Data set rows with duplicate values for parameter name will cause an execution error.
- DATE job parameter values must be in SAS datetime18. format (e.g., 02NOV2013:09:33:22), or
in SAS E8601DZ25. format (e.g., 2013-11-02T09:33:22-04:00). For SAS datetime18. format, an
offset of zero hours from GMT will be used. To specify an offset from GMT, use the
E8601DZ25. format. Date values in formats other than the two described above will result
in an execution error.

Syntax:
%LSAF_SUBMITWORKSPACEJOB(LSAF_PATH=lsaf-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2016-10-20
initial coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
_lsafWorkspaceJobSubmissionId_ - indicates the job submission identifier.
Parameters:
lsaf_path - - required -the path of the job in the SAS Life Science Analytics Framework
        workspace.
sas_dsname - - optional - the name of the SAS data set containing the job parameter
        information specified as libref.dataset. If not specified, the default job
        parameters values will be used. The data set must contain, at minimum, the
        character variables listed below. Any additional variables will be ignored.
        - name: The name of the parameter.
        - type: The parameter type. Valid values are CHARACTER, CHARACTER_MASKED,
        NUMERIC, DATE, FILE, and FOLDER.
        - value: The value of the parameter to be used in the current job submission.
        - fileVersion: The file version to be used if the parameter is of type FILE.
        For versioned files, a blank value will result in the latest file version
        used. For nonversioned files, the value is ignored.
File: lsaf_submitworkspacejob.sas
First available in version: 1.5

%lsaf_syncfiletoworkspace(lsaf_path=, lsaf_version=);

[ Exposure: external ]
Gets the version of the SAS Life Science Analytics Framework from the repository file to
the workspace.

Syntax:
%LSAF_SYNCFILETOWORKSPACE(LSAF_PATH=lsaf-path, LSAF_VERSION=lsaf-version>);

          
History:
   2014-04-07
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file within the SAS Life Science Analytics
        Framework repository to download.
lsaf_version - - conditional - specifies the version of the file to be synchronized if
        the file is versioned. If the file is versioned and a version is specified the
        value must be in the valid format including a decimal point such as 1.0 or 4.2.
        If the file is versioned and no version is specified the latest version is
        downloaded. If the file is unversioned and a version is specified, the value will
        be ignored.
File: lsaf_syncfiletoworkspace.sas
First available in version: 1.4

%lsaf_unassignrole(lsaf_path=, lsaf_role=, lsaf_role_context=);

[ Exposure: external ]
Unassigns a role from the specified organization, project, or analysis.

Syntax:
%LSAF_UNASSIGNROLE(LSAF_PATH=lsaf-path, LSAF_ROLE=lsaf-role-name,
LSAF_ROLE_CONTEXT=lsaf-role-context);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the context object (organization, project, or
        analysis) from which to unassign the role.
lsaf_role - - required - the name of the role being unassigned.
lsaf_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
File: lsaf_unassignrole.sas
First available in version: 1.2

%lsaf_unlockuser(lsaf_userid=);

[ Exposure: external ]
Unlocks a user account.

The person running the macro must have the user privilege to manage user accounts.

Syntax:
%LSAF_UNLOCKUSER(LSAF_USERID=lsaf-userid);

          
History:
   2014-3-19
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user ID of the user account to unlock.
File: lsaf_unlockuser.sas
First available in version: 1.4

%lsaf_updateacls(sas_dsname=);

[ Exposure: external ]
Sets permissions on SAS Life Science Analytics Framework objects using a data set as input.

This macro sets access permissions on repository objects using a SAS data set as input. The
permission lists (known as Access Control Lists or ACLs) for multiple objects can be modified
using a single data set. Access permissions are applied only to objects in the repository
within the organization. There are two types of access permission lists: Current and Default.
The Current access permissions are applied to an individual object. The Default access
permissions apply only to container objects (e.g. folders, projects) and define the
permissions that will be inherited by any new objects added to the container. In the context
of this macro the access permission type is referred to as aclType. All records in the input
data set that pertain to the same repository object and aclType will be processed together as
a single ACL.

A set of permissions for a specific repository object for an individual principal within an
access permission type are referred to as an Access Control Entry (ACE). An ACE is
represented as a single row in the input data set. An ACE is defined by the following
characteristics:
- path: Full path of the repository object (file or container) to which the permissions are
being assigned.
- acl type: The access permission type is being assigned (DEFAULT or CURRENT)
- acl principal type: Identifies the type of the principal. The principal type can be Owner,
Members, User, or Group.
- acl principal name: The name of the user or group to assign the permission to.
- set of permissions: The specific permissions being assigned (e.g. administration, read,
properties write, content write, delete).

The output data set from the lsaf_getacls macro contains all the necessary variables
and data needed as the input data set for the lsaf_updateACLs macro. Modify the data
set with any changes prior to calling lsaf_updateacls.
- To add a principal with specific access permissions to a repository object, add a new row
to the data set for that principal.
- To modify the access permissions for a principal already associated with a repository
object, edit the appropriate row in the data set.
- To remove a principal with specific access permissions to a repository object, delete the
appropriate row from the data set. Note that the Owner and Members access control entries
cannot be removed from the object. Removing them from the data set will cause a failure.
- To maintain the existing permissions for a principal already associated with a repository
object, leave the record as it is in the data set. The record must remain otherwise the
access permissions for this principal will be removed.

Failure and Message Handling:
The macro performs a series of validation procedures to determine that the input data set has
the necessary structure for processing. If any of these validation procedures fail, an
appropriate failure message is printed to the log and the macro stops additional processing.

In addition to other modifications, the macro sorts the input data set and stores the modified
data in a temporary data set called WORK.__SASMACRO_ACLTEMP__. In the event that a failure
occurs during processing this temporary data set is retained as a reference. If all updates
are performed successfully, this data set will be deleted from the work library. A message
will be printed to the log reporting whether the data set was retained or not. Regardless of
success or failure of previous runs, this data set will be deleted at the beginning of each
new run of the macro. The data values and sort order of the original input data set are
maintained.

All records pertaining to the same repository object and aclType are processed as a single
access control list by the macro. Messages will be printed to the log as each ACL is
processed. If the update of an ACL fails, the macro will stop processing.

If a failure occurs while processing a specific access control entry (i.e. a principal), the
macro will stop processing and a failure message will be written to the log.
Successful updates to ACLs made prior to the observation containing the failure will be
maintained in SAS Life Science Analytics Framework. Changes made to access permissions for
entries that are part of the same ACL that contained the observation with the failure will be
lost.

Valid values for permissions are as follows. All values must be of type numeric.
1 for GRANT
-1 for DENY
0 for inherited.

Syntax:
%LSAF_UPDATEACLS(SAS_DSNAME=SAS-data-set);

Example Code:
Get permissions for a folder:

* start code example;
%lsaf_getacls(lsaf_path=%str(/SAS/Study1/Files/folder1), lsaf_recursive=0);

data UpdateACLS;
set lsafGetACLS end=eof;

output;

if eof then do;
* Adding user permission under DEFAULT;
aclType = "DEFAULT";
aclPrincipalType = "USER";
aclPrincipalName = "user1";
grpSrcCtxt = "";
adminPermission = 0;
readPermission = 1;
writePropPerm = 1;
writeContentPerm = 1;
deletePermission = 1;
output;

* Adding group permission under CURRENT;
aclType = "CURRENT";
aclPrincipalType = "GROUP";
aclPrincipalName = "group1";
grpSrcCtxt = "/SAS";
adminPermission = 0;
readPermission = 1;
writePropPerm = 1;
writeContentPerm = 1;
deletePermission = 1;
output;
end;

run;

%lsaf_updateacls(sas_dsname=UpdateACLS);
* end code example;

Note: Access Control Entries (ACEs) with values of 0 for all permission variables will be
removed from or will not be added to the ACL.
Note: Users and groups being added as access control entries must be members in the context
(organization, project, analysis) containing the object being updated.

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-02-09
updates for path sorting, notes to log, stop after first failure.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the permission
        information for all the objects to be modified specified as libref.dataset. The
        data set must contain, at minimum, the variables listed below. Any additional
        variables will be ignored.
        - path: The case-sensitive path of the object including object name.
        - aclType: Indicates which ACL to modify for the object. For Analysis and file
        objects, the variable must be present but the value will be ignored. For
        container objects, the value must be either DEFAULT or CURRENT
        (case-insensitive).
        - aclPrincipalType: Indicates the type of ACE being updated.
        Values: ACLOWNER | ACLMEMBERS | USER | GROUP (case-insensitive)
        Default: None
        - aclPrincipalName: The name of the principal ACE being updated or added.
        For aclPrincipalType ACLOWNER, this must have the value OWNER.
        For aclPrincipalType ACLMEMBERS, this must have the value MEMBERS.
        For aclPrincipalType USER, this must be a valid userid (case-sensitive).
        For aclPrincipalType GROUP, this must be a valid group name (case-sensitive).
        - grpSrcCtxt: The case-sensitive path of the context (organization, project, or
        analysis) where the group is defined if aclPrincipalType is GROUP. For
        aclPrincipalType GROUP, this value is required, otherwise the variable must
        be present but the value will be ignored.
        - adminPermission: The permission to administer the object.
        - readPermission: The permission to view the object.
        - writePropPerm: The permission to update the properties of the object.
        - writeContentPerm: The permission to write to the content of the object.
        - deletePermission: The permission to the delete the object.
File: lsaf_updateacls.sas
First available in version: 1.2

%lsaf_updateanalysislead(lsaf_path=, lsaf_userid=);

[ Exposure: external ]
Updates the current lead of an analysis in the SAS Life Science Analytics Framework
repository.

Syntax for files:
%LSAF_UPDATEANALYSISLEAD(LSAF_PATH=lsaf-path, LSAF_USERID=lsaf-userid);

          
History:
   2014-05-01
initial coding.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the analysis in the SAS Life Science Analytics
        Framework repository.
lsaf_userid - - required - the user ID for the account that will be the new lead.
File: lsaf_updateanalysislead.sas
First available in version: 1.4

%lsaf_updateanalysisstate(lsaf_path=, lsaf_state=, lsaf_comment=);

[ Exposure: external ]
Update the state of an analysis in the SAS Life Science Analytics Framework repository.

Syntax:
%LSAF_UPDATEANALYSISSTATE(LSAF_PATH=lsaf-path, LSAF_STATE=lsaf-state,
< LSAF_COMMENT=lsaf-comment >);

          
History:
   2014-05-01
initial coding
   2016-08-26
rebrand as LSAF
   2016-11-08
updated messaging
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the analysis to be updated.
lsaf_state - - required - the state to set on the analysis.
        Values: DEV | PROD | CLOSED
lsaf_comment - - optional - the reason for the state change.
File: lsaf_updateanalysisstate.sas
First available in version: 1.4

%lsaf_updatecopytoworkspacestatus(lsaf_path=, lsaf_status=);

[ Exposure: external ]
Updates the value for the Copy To Workspace status of a file or folder in the SAS Life Science
Analytics Framework repository. The following values are valid for the copy to workspace
properties status.
ALLOW - Allow all
WARN - Warn (excluding published jobs)
DENY - Deny (excluding published jobs)
DENY_ALL - Deny all

Syntax:
%LSAF_UPDATECOPYTOWORKSPACESTATUS(LSAF_PATH=lsaf-path, LSAF_STATUS=lsaf-status);

          
History:
   2016-11-22
initial code
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the file.
lsaf_status - - required - the copy to workspace status to set.
File: lsaf_updatecopytoworkspacestatus.sas
First available in version: 1.5

%lsaf_updatefile(local_path=, lsaf_path=, lsaf_comment=, lsaf_version=);

[ Exposure: external ]
Updates the contents of an existing file in the SAS Life Science Analytics Framework repository.

If the file is versioned a new version will be created. If the file is not versioned, the
existing contents will be overwritten.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Life Science Analytics Framework application session will result in a failure.

Syntax:
%LSAF_UPDATEFILE(LOCAL_PATH=local-path, LSAF_PATH=lsaf-path <, LSAF_COMMENT=lsaf-comment>,
LSAF_VERSION=lsaf-version-type);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
local_path - - required - the absolute path of the file on the local computer.
lsaf_path - - required - the path of the content object in the SAS Life Science Analytics
        Framework repository to update. The object must already exist and may not be a container.
lsaf_comment - - conditional - the comment for a versioned file in the repository. This
        value is ignored for non-versioned objects.
lsaf_version - - conditional - the type of version to be created if the file to be
        updated is versioned. Valid values are MAJOR or MINOR. The default is MINOR. This
        value is ignored for non-versioned objects.
File: lsaf_updatefile.sas
First available in version: 1.1

%lsaf_updateorglead(lsaf_path=, lsaf_userid=);

[ Exposure: external ]
Updates the current lead of an organization in the SAS Life Science Analytics Framework
repository.

Syntax for files:
%LSAF_UPDATEORGLEAD(LSAF_PATH=lsaf-path, LSAF_USERID=lsaf-userid);

          
History:
   2014-05-01
initial coding.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the organization object in the SAS Life Science
        Analytics Framework repository.
lsaf_userid - - required - the user ID for the account that will be the new lead.
File: lsaf_updateorglead.sas
First available in version: 1.4

%lsaf_updateowner(lsaf_path=, lsaf_aclType=, lsaf_userid=);

[ Exposure: external ]
Updates the current owner of an object within the organization in the SAS Life Science
Analytics Framework repository.

Syntax for files:
%LSAF_UPDATEOWNER(LSAF_PATH=lsaf-path, LSAF_USERID=lsaf-userid);

Syntax for containers:
%LSAF_UPDATEOWNER(LSAF_PATH=lsaf-path, LSAF_USERID=lsaf-userid, LSAF_ACLTYPE=lsaf-acl-type);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the content object in the SAS Life Science
        Analytics Framework repository.
lsaf_aclType - - conditional - the type of permission owner being set. The valid values
        are DEFAULT and CURRENT (case-insensitive). Files only have CURRENT permissions,
        therefore, the value is not required when the lsaf_path is a file. For container
        objects the value must be specified. The operation will fail if DEFAULT is
        requested for a file path.
lsaf_userid - - required - the user ID for the account that will be the new owner. To
        set the owner for the DEFAULT permissions to be the creator of the objects,
        specify the value <creator> as the value for lsaf-userid.
File: lsaf_updateowner.sas
First available in version: 1.2

%lsaf_updatepfjobelementinfo(sas_dsname=);

[ Exposure: external ]
Updates the properties for process flow job elements using a data set as input.

Properties for multiple job elements can be modified using a single data set. Each property
is represented as a single row in the input data set.

The output data set from the lsaf_getpfjobelementinfo macro can be used to determine the name
and current values of the job element properties. Rows where name matches an existing job
element property will be used to attempt to update the property. If the specified value is
invalid for the property type, the update will be aborted and the appropriate error message
will be printed to the log.

Failure and Message Handling:
The macro performs a series of validation procedures to determine that the input data set has
the necessary structure for processing. If any of these validation procedures fail, an
appropriate failure message is printed to the log and the macro stops additional processing.

In addition to other modifications, the macro sorts the input data set and stores the modified
data in a temporary data set called WORK.__SASMACRO_JOBELEMENTSTEMP__. In the event that a
failure occurs during processing this temporary data set is retained as a reference. If all
updates are performed successfully, this data set will be deleted from the work library. A
message will be printed to the log reporting whether the data set was retained or not.
Regardless of success or failure of previous runs, this data set will be deleted at the
beginning of each new run of the macro. The data values and sort order of the original input
data set are maintained.

All records pertaining to the same job element are processed as a single transaction by the
macro. Messages will be printed to the log as each job element is processed. If the update of
a job element fails, the macro will stop processing and a failure message will be written to
the log. Successful updates to job elements made prior to the observation containing the
failure will be maintained in SAS Life Science Analytics Framework.

Syntax:
%LSAF_UPDATEPFJOBELEMENTINFO(SAS_DSNAME=SAS-data-set);

          
History:
   2017-01-09
original coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the properties
        information for all the job element properties to be modified specified as
        libref.dataset. The data set must contain, at minimum, the variables listed below.
        Any additional variables will be ignored.
        - processFlowPath: The path of the context object where the process flow is defined.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the property.
        - name: The name of the property.
        - value: The value of the property.
File: lsaf_updatepfjobelementinfo.sas
First available in version: 1.5

%lsaf_updatepfjobparameters(sas_dsname=);

[ Exposure: external ]
Updates the job parameter overrides for process flow job elements using a data set as input.

The override parameters for multiple job elements can be modified using a single data set.
Each parameter is represented as a single row in the input data set.

The job element stores only the values to use as overrides at the time the job is run.
The output data set from the lsaf_getjobparameters macro can be used to determine the name and
default values of all of the parameters for the job associated with the process flow element.
The output data set from the lsaf_getpfjobparameters macro can be used to determine the
name and value for the overrides currently set on the job element.
The output data set from the lsaf_getpfjobelementinfo can be used to determine the job
elements for a process flow and the job associated with the elements. Parameter overrides
cannot be set if the job path has not be set on the job element.

The job parameter overrides represented in the input data set will replace the list of
parameter overrides currently saved on the job element. A single row where both NAME and TYPE
are blank will result in clearing all job parameter overrides for the specified element.
If an invalid value is specified for a parameter, the updates will be aborted and the
appropriate error message will be printed to the log.

If duplicate valid parameters are provided for the same element, only the first value will
be maintained.

Failure and Message Handling:
The macro performs a series of validation procedures to determine that the input data set has
the necessary structure for processing. If any of these validation procedures fail, an
appropriate failure message is printed to the log and the macro stops additional processing.

In addition to other modifications, the macro sorts the input data set and stores the modified
data in a temporary data set called WORK.__SASMACRO_JOBELEMENTPARMSTEMP__. In the event
that a failure occurs during processing this temporary data set is retained as a reference.
If all updates are performed successfully, this data set will be deleted from the work library.
A message will be printed to the log reporting whether the data set was retained or not.
Regardless of success or failure of previous runs, this data set will be deleted at the
beginning of each new run of the macro. The data values and sort order of the original input
data set are maintained.

All records pertaining to the same job element are processed as a single transaction by the
macro. Messages will be printed to the log as each job element is processed. If the update of
a job element fails, the macro will stop processing and a failure message will be written to
the log. Successful updates to job elements made prior to the observation containing the
failure will be maintained in SAS Life Science Analytics Framework.

Syntax:
%LSAF_UPDATEPFJOBPARAMETERS(SAS_DSNAME=SAS-data-set);

          
History:
   2017-01-09
original coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the override parameters
        for the job elements to be modified specified as libref.dataset. The data set must
        contain, at minimum, the variables listed below.
        Any additional variables will be ignored.
        - processFlowPath: The path of the context object where the process flow is defined.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the property.
        - name: The name of the job parameter.
        - type: The type of the override property. Values are CHARACTER, CHARACTER_MASKED,
        NUMERIC, DATE, FILE, or FOLDER.
        - value: The override value of the property.
        - fileVersion: the file version if the parameter is of type FILE. A blank value
        indicates to use the latest version of the file.
File: lsaf_updatepfjobparameters.sas
First available in version: 1.5

%lsaf_updatepfnotificationinfo(sas_dsname=);

[ Exposure: external ]
Updates the properties for process flow notification elements using a data set as input.

Properties for multiple notification elements can be modified using a single data set. Each
property is represented as a single row in the input data set.

The output data set from the lsaf_getpfnotificationinfo macro can be used to determine the
name and current values of the notification element properties. Rows where name matches an
existing notification element property will be used to attempt to update the property. If the
specified value is invalid for the property type, the update will be aborted and the
appropriate error message will be printed to the log.

Failure and Message Handling:
The macro performs a series of validation procedures to determine that the input data set has
the necessary structure for processing. If any of these validation procedures fail, an
appropriate failure message is printed to the log and the macro stops additional processing.

In addition to other modifications, the macro sorts the input data set and stores the modified
data in a temporary data set called WORK.__SASMACRO_NOTIFICATIONSTEMP__. In the event that a
failure occurs during processing this temporary data set is retained as a reference. If all
updates are performed successfully, this data set will be deleted from the work library. A
message will be printed to the log reporting whether the data set was retained or not.
Regardless of success or failure of previous runs, this data set will be deleted at the
beginning of each new run of the macro. The data values and sort order of the original input
data set are maintained.

All records pertaining to the same notification element are processed as a single transaction
by the macro. Messages will be printed to the log as each notification element is processed.
If the update of a notification element fails, the macro will stop processing and a failure
message will be written to the log. Successful updates to notification elements made prior to
the observation containing the failure will be maintained in SAS Life Science Analytics
Framework.

Syntax:
%LSAF_UPDATEPFNOTIFICATIONINFO(SAS_DSNAME=SAS-data-set);

          
History:
   2017-01-19
original coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the properties
        information for all the notification element properties to be modified specified as
        libref.dataset. The data set must contain, at minimum, the variables listed below.
        Any additional variables will be ignored.
        - processFlowPath: The path of the context object where the process flow is defined.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the property.
        - name: The name of the property.
        - value: The value of the property.
File: lsaf_updatepfnotificationinfo.sas
First available in version: 1.5

%lsaf_updatepfnotifrecipients(sas_dsname=);

[ Exposure: external ]
Updates the recipients for process flow notification elements using a data set as input.

The recipients for multiple notification elements can be modified using a single data set.
Each recipient is represented as a single row in the input data set.

The output data set from the lsaf_getpfnotificationrecipients macro can be used to determine
the recipients currently set on the notification element.
The output data set from the lsaf_getassignedmembers macro can be used to determine the
principals (users and groups) available at the context level eligible to be recipients.
The output data set from the lsaf_getprocessflowelements can be used to determine the ids for
all notification elements for a process flow.

The notification recipients represented in the input data set will replace the list of
recipients currently saved on the notification element. A single row where TYPE and PRINCIPALID
are blank will result in clearing all notification recipients for the specified element.

Failure and Message Handling:
The macro performs a series of validation procedures to determine that the input data set has
the necessary structure for processing. If any of these validation procedures fail, an
appropriate failure message is printed to the log and the macro stops additional processing.

In addition to other modifications, the macro sorts the input data set and stores the modified
data in a temporary data set called WORK._SASMACRO_NOTIRECIPIENTSTEMP__. In the event that a
failure occurs during processing this temporary data set is retained as a reference.
If all updates are performed successfully, this data set will be deleted from the work library.
A message will be printed to the log reporting whether the data set was retained or not.
Regardless of success or failure of previous runs, this data set will be deleted at the
beginning of each new run of the macro. The data values and sort order of the original input
data set are maintained.

All records pertaining to the same notification element are processed as a single transaction
by the macro. Messages will be printed to the log as each notification element is processed.
If the update of a notification element fails, the macro will stop processing and a failure
message will be written to the log. Successful updates to notification elements made prior to
the observation containing the failure will be maintained in SAS Life Science Analytics
Framework.

If duplicate valid recipients are provided for the same element, only one of the values will
be maintained.

Syntax:
%LSAF_UPDATEPFNOTIFRECIPIENTS(SAS_DSNAME=SAS-data-set);

          
History:
   2017-01-16
original coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the recipients for the
        notification elements to be modified specified as libref.dataset. The data set must
        contain, at minimum, the variables listed below.
        Any additional variables will be ignored.
        - processFlowPath: The path of the context object where the process flow is defined.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the property.
        - type: The recipient type. Valid values are USER and GROUP.
        - principalId: The name of the recipient. The value is either a group name or a
        user ID.
        - grpSrcCtxt: The context path in which a group recipient is defined. The value
        will be ignored if the recipient is of type user.
File: lsaf_updatepfnotifrecipients.sas
First available in version: 1.5

%lsaf_updatepfsignallocations(sas_dsname=);

[ Exposure: external ]
Updates the locations for process flow signal elements using a data set as input.

The locations for multiple signal elements can be modified using a single data set.
Each location is represented as a single row in the input data set.

The output data set from the lsaf_getpfsignallocations macro can be used to determine
locations currently set on the signal element.
The output data set from the lsaf_getprocessflowelements can be used to determine the signal
elements for a process flow.

The signal locations represented in the input data set will replace the list of locations
currently saved on the signal element. A single row where LOCATION is blank will result in
clearing all signal locations for the specified element.

Failure and Message Handling:
The macro performs a series of validation procedures to determine that the input data set has
the necessary structure for processing. If any of these validation procedures fail, an
appropriate failure message is printed to the log and the macro stops additional processing.

Signal locations must adhere to the valid format of a SAS Life Science Analytics Framework
repository object with the exception of container paths that must end in slash star "/*".
If an invalid value is specified for a location, the updates will be aborted and the
appropriate error message will be printed to the log.

In addition to other modifications, the macro sorts the input data set and stores the modified
data in a temporary data set called WORK.__SASMACRO_SIGNALLOCATIONSTEMP__. In the event
that a failure occurs during processing this temporary data set is retained as a reference.
If all updates are performed successfully, this data set will be deleted from the work library.
A message will be printed to the log reporting whether the data set was retained or not.
Regardless of success or failure of previous runs, this data set will be deleted at the
beginning of each new run of the macro. The data values and sort order of the original input
data set are maintained.

All records pertaining to the same signal element are processed as a single transaction by the
macro. Messages will be printed to the log as each signal element is processed. If the update
of a signal element fails, the macro will stop processing and a failure message will be
written to the log. Successful updates to signal elements made prior to the observation
containing the failure will be maintained in SAS Life Science Analytics Framework.

If duplicate valid locations are provided for the same element, only the first value will
be maintained.

Syntax:
%LSAF_UPDATEPFSIGNALLOCATIONS(SAS_DSNAME=SAS-data-set);

          
History:
   2017-01-13
original coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the locations for the
        signal elements to be modified specified as libref.dataset. The data set must
        contain, at minimum, the variables listed below.
        Any additional variables will be ignored.
        - processFlowPath: The path of the context object where the process flow is defined.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the property.
        - location: The path for the signal location.
File: lsaf_updatepfsignallocations.sas
First available in version: 1.5

%lsaf_updatepftimerelements(sas_dsname=);

[ Exposure: external ]
Updates the values of process flow timer elements using a data set as input. Each row of the
data set represents a timer element.

The output data set from the lsaf_getpftimerelements macro can be used to determine the id
and current values of the process flow timer elements. Rows where id matches an existing
process flow timer element will be used to attempt to update the element. If the specified
value is invalid for the element type, the update will be aborted and the appropriate error
message will be printed to the log.

Values of type DATE must be one of the following formats. Date values in formats other than
the two described below will result in an execution error.
- SAS datetime18. format (e.g., 02NOV2013:09:33:22) - an offset of zero hours from GMT will
be used.
- SAS E8601DZ25. format (e.g., 2013-11-02T09:33:22-04:00).

Failure and Message Handling:
The macro performs a series of validation procedures to determine that the input data set has
the necessary structure for processing. If any of these validation procedures fail, an
appropriate failure message is printed to the log and the macro stops additional processing.

If a failure occurs while processing a specific timer element, the macro will stop processing
and a failure message will be written to the log. Successful updates made to elements prior
to the element containing the failure will be maintained in SAS Life Science Analytics
Framework.

Syntax:
%LSAF_UPDATEPFTIMERELEMENTS(SAS_DSNAME=SAS-data-set);

          
History:
   2017-01-03
original code
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the process flow data
        values to be set on the process flow specified as libref.dataset.
        The data set must contain, at minimum, the variables listed below. Any
        additional variables will be ignored.
        - processFlowPath: The path of the context object.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element.
        - value: The value of a date timer. This is ignored when timer type is DURATION.
        - years: Years value for duration timer. This is ignored when timer type is DATE.
        - months: Months value for duration timer. This is ignored when timer type is DATE.
        - days: Days value duration timer. This is ignored when timer type is DATE.
        - hours: Hours value for duration timer. This is ignored when timer type is DATE.
        - minutes: Minutes value for duration timer. This is ignored when timer type is
        DATE.
        - seconds: Seconds value for duration timer. This is ignored when timer type is
        DATE.
File: lsaf_updatepftimerelements.sas
First available in version: 1.5

%lsaf_updatepfusercandidates(sas_dsname=);

[ Exposure: external ]
Updates the candidates for process flow user task elements using a data set as input.

The candidates for multiple user task elements can be modified using a single data set.
Each candidate is represented as a single row in the input data set.

The output data set from the lsaf_getpfusercandidates macro can be used to determine the
candidates currently set on the user task element.
The output data set from the lsaf_getassignedmembers macro can be used to determine the
principals (users and groups) available at the context level eligible to be candidates.
The output data set from the lsaf_getprocessflowelements can be used to determent the ids for
all user elements for a process flow.

The user task candidates represented in the input data set will replace the list of candidates
currently saved on the user task element. A single row where TYPE and PRINCIPALID are blank
will result in clearing all user task candidates for the specified element.

Failure and Message Handling:
The macro performs a series of validation procedures to determine that the input data set has
the necessary structure for processing. If any of these validation procedures fail, an
appropriate failure message is printed to the log and the macro stops additional processing.

In addition to other modifications, the macro sorts the input data set and stores the modified
data in a temporary data set called WORK.__SASMACRO_USERCANDIDATESTEMP__. In the event
that a failure occurs during processing this temporary data set is retained as a reference.
If all updates are performed successfully, this data set will be deleted from the work library.
A message will be printed to the log reporting whether the data set was retained or not.
Regardless of success or failure of previous runs, this data set will be deleted at the
beginning of each new run of the macro. The data values and sort order of the original input
data set are maintained.

All records pertaining to the same user task element are processed as a single transaction by
the macro. Messages will be printed to the log as each user task element is processed. If the
update of a user task element fails, the macro will stop processing and a failure message will
be written to the log. Successful updates to user task elements made prior to the observation
containing the failure will be maintained in SAS Life Science Analytics Framework.

If duplicate valid candidates are provided for the same element, only one of the values will
be maintained.

Syntax:
%LSAF_UPDATEPFUSERCANDIDATES(SAS_DSNAME=SAS-data-set);

          
History:
   2017-01-16
original coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the candidates for the
        user task elements to be modified specified as libref.dataset. The data set must
        contain, at minimum, the variables listed below.
        Any additional variables will be ignored.
        - processFlowPath: The path of the context object where the process flow is defined.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the property.
        - type: The candidate type. Valid values are USER and GROUP.
        - principalId: The name of the candidate. The value is either a group name or a
        user ID.
        - grpSrcCtxt: The context path in which a group candidate is defined. The value
        will be ignored if the candidate is of type user.
File: lsaf_updatepfusercandidates.sas
First available in version: 1.5

%lsaf_updatepfuserelementinfo(sas_dsname=);

[ Exposure: external ]
Updates the properties for process flow user elements using a data set as input.

Properties for multiple user elements can be modified using a single data set. Each property
is represented as a single row in the input data set.

The output data set from the lsaf_getpfuserelementinfo macro can be used to determine the name
and current values of the user element properties. Rows where name matches an existing user
element property will be used to attempt to update the property. If the specified value is
invalid for the property type, the update will be aborted and the appropriate error message
will be printed to the log.

Failure and Message Handling:
The macro performs a series of validation procedures to determine that the input data set has
the necessary structure for processing. If any of these validation procedures fail, an
appropriate failure message is printed to the log and the macro stops additional processing.

In addition to other modifications, the macro sorts the input data set and stores the modified
data in a temporary data set called WORK.__SASMACRO_USERELEMENTSTEMP__. In the event that a
failure occurs during processing this temporary data set is retained as a reference. If all
updates are performed successfully, this data set will be deleted from the work library. A
message will be printed to the log reporting whether the data set was retained or not.
Regardless of success or failure of previous runs, this data set will be deleted at the
beginning of each new run of the macro. The data values and sort order of the original input
data set are maintained.

All records pertaining to the same user element are processed as a single transaction by the
macro. Messages will be printed to the log as each user element is processed. If the update of
a user element fails, the macro will stop processing and a failure message will be written to
the log. Successful updates to user elements made prior to the observation containing the
failure will be maintained in SAS Life Science Analytics Framework.

Syntax:
%LSAF_UPDATEPFUSERELEMENTINFO(SAS_DSNAME=SAS-data-set);

          
History:
   2017-01-18
original coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the properties
        information for all the user element properties to be modified specified as
        libref.dataset. The data set must contain, at minimum, the variables listed below.
        Any additional variables will be ignored.
        - processFlowPath: The path of the context object where the process flow is defined.
        - processFlowName: The name of the process flow.
        - elementID: The id for the element applicable for the property.
        - name: The name of the property.
        - value: The value of the property.
File: lsaf_updatepfuserelementinfo.sas
First available in version: 1.5

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

[ Exposure: external ]
Updates the metatdata for the process flow data for the specified process flow in the SAS
Life Science Analytics Framework repository.

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

          
History:
   2016-12-06
initial programming
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the process flow being updated.
lsaf_processflow - - required - the name of the process flow being updated.
sas_dsname - - required - the name of a SAS data set containing the process flow data
        values to be set on the process flow specified as libref.dataset.
        The data set must contain, at minimum, the variables listed below. Any
        additional variables will be ignored.
        - dataID: The id for the data element property.
        - dataValue: The new value to be set on the property.
        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 id matches an existing process flow data element will be used to
        attempt to update the element. If the specified value is invalid for the element
        type, the update will be aborted and the appropriate error message will be printed
        to the log.
        Values of type DATE must be one of the following formats. Date values in formats
        other than the two described below will result in an execution error.
        - SAS datetime18. format (e.g., 02NOV2013:09:33:22) - an offset of zero hours
        from GMT will be used.
        - SAS E8601DZ25. format (e.g., 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 a process flow in the SAS Life Science Analytics Framework repository.

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

          
History:
   2016-12-06
initial programming
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the process flow being updated.
lsaf_processflow - - required - the name of the process flow being updated.
sas_dsname - - required - the name of a SAS data set containing the property
        values to be set on the process flow specified as libref.dataset.
        The data set must contain, at minimum, the variables listed below. Any
        additional variables will be ignored.
        - name: the name of the property to be updated.
        - value: the value to set on the property.
        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 name matches an existing process flow property will be used to
        attempt to update the property. If the specified value is invalid for the property
        type, the update will be aborted and the appropriate error message will be printed
        to the log.
        Values of type DATE must be one of the following formats. Date values in formats
        other than the two described below will result in an execution error.
        - SAS datetime18. format (e.g., 02NOV2013:09:33:22) - an offset of zero hours
        from GMT will be used.
        - SAS E8601DZ25. format (e.g., 2013-11-02T09:33:22-04:00).
File: lsaf_updateprocessflowproperties.sas
First available in version: 1.5

%lsaf_updateprojectlead(lsaf_path=, lsaf_userid=);

[ Exposure: external ]
Updates the current lead of a project in the SAS Life Science Analytics Framework repository.

Syntax for files:
%LSAF_UPDATEPROJECTLEAD(LSAF_PATH=lsaf-path, LSAF_USERID=lsaf-userid);

          
History:
   2014-05-01
initial coding.
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the project in the SAS Life Science Analytics
        Framework repository.
lsaf_userid - - required - the user ID for the account that will be the new lead.
File: lsaf_updateprojectlead.sas
First available in version: 1.4

%lsaf_updateprojectstate(lsaf_path=, lsaf_state=, lsaf_comment=, lsaf_include_analyses=1);

[ Exposure: external ]
Update the state of a project in the SAS Life Science Analytics Framework repository.

Syntax:
%LSAF_UPDATEPROJECTSTATE(LSAF_PATH=lsaf-path, LSAF_STATE=lsaf-state,
< LSAF_COMMENT=lsaf-comment, LSAF_INCLUDE_ANALYSES=lsaf-include-analyses >);

          
History:
   2014-05-01
initial coding
   2016-08-26
rebrand as LSAF
   2016-11-08
updated messaging
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the project to be updated.
lsaf_state - - required - the state to set on the project.
        Values: DEV | PROD | CLOSED
lsaf_comment - - optional - the reason for the state change.
lsaf_include_analyses - - optional - whether project child analyses, if any exist, should
        have their state updated as well.
        Values: 0 | 1
        If no value is supplied, the child analysis states will be updated to the same
        state value as supplied for the project.
File: lsaf_updateprojectstate.sas
First available in version: 1.4

%lsaf_updateproperties(lsaf_path=, sas_dsname=);

[ Exposure: external ]
Updates the editable properties of SAS Life Science Analytics Framework repository
object using a SAS data set as input.

The output data set from the lsaf_getproperties macro contains the necessary variables
and data needed as the input data set for the lsaf_updateproperties macro. The column
isReadonly flags if the field can be updated, 0 allows updates, 1 does not. Modify the
data set with any changes prior to calling lsaf_updateproperties.
- Data in the input data set that do not correspond to a property of the object being
updated will be ignored.
- Values specified for properties that are not editable will be ignored.
- An input data value that is the same as the current property value will be ignored
and will not result in a property update. No audit record will be created for the
property.

Organization, project, and analysis leads cannot be updated via the
lsaf_updateproperties macro. Use the lsaf_updateorglead,
lsaf_updateprojectlead, lsaf_updateanalysislead macros, to update organization,
project, and analysis leads, respectively.

Project and analysis state and state comment cannot be updated via the
lsaf_updateproperties macro. Use the lsaf_updateprojectstate and
lsaf_updateanalysis state macros for this purpose.

Syntax:
%LSAF_UPDATEPROPERTIES(LSAF_PATH=lsaf-path, SAS_DSNAME=SAS-data-set);

          
History:
   2014-04-24
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required - the path of the object in the SAS Life Science Analytics
        Framework repository.
sas_dsname - - required - the name of a SAS data set containing the property
        values to be set on the repository object specified as libref.dataset.
        The data set must contain, at minimum, the variables listed below. Any
        additional variables will be ignored.
        - name: the name of the property to be updated.
        - value: the value to set on the property.
File: lsaf_updateproperties.sas
First available in version: 1.4

%lsaf_updateuserinfo(lsaf_userid=, lsaf_displayname=_lsaf_updateuser_donotupdate_, lsaf_email=_lsaf_updateuser_donotupdate_, lsaf_accounttype=_lsaf_updateuser_donotupdate_, lsaf_firstname=_lsaf_updateuser_donotupdate_, lsaf_lastname=_lsaf_updateuser_donotupdate_, lsaf_department=_lsaf_updateuser_donotupdate_, lsaf_phone=_lsaf_updateuser_donotupdate_);

[ Exposure: external ]
Update general user account information.

Syntax:
%LSAF_UPDATEUSERINFO(LSAF_USERID=lsaf-userid, < LSAF_DISPLAYNAME=lsaf-displayname,
LSAF_EMAIL=lsaf-email, LSAF_ACCOUNTTYPE=lsaf-accounttype, LSAF_FIRSTNAME=lsaf-firstname,
LSAF_LASTNAME=lsaf-lastname, LSAF_DEPARTMENT=lsaf-department, LSAF_PHONE=lsaf-phone >);

You must have either the Manage User Account General Information or the Manage Users global
privilege in order to update user information.

If an optional parameter is not passed in, no change to the existing user attribute value
will be made. If the parameter is pased in, the specified value will be set on the user
attribute. Parameter values must conform to LSAF validation rules.

          
History:
   2014-03-27
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_userid - - required - the user ID of the account being updated.
lsaf_displayname - - optional - the user display name to be set.
lsaf_email - - optional - the user email address.
lsaf_accounttype - - optional - the user account type.
        Values: INTERACTIVE | NON_INTERACTIVE
lsaf_firstname - - optional - the user first name.
lsaf_lastname - - optional - the last name of the user.
lsaf_department - - optional - the business unit of the user.
lsaf_phone - - optional - the phone number of the user.
File: lsaf_updateuserinfo.sas
First available in version: 1.4

%lsaf_updateworkspacejob(lsaf_path=, sas_dsname_info=%str(_lsaf_updateworkspacejob_ds_notprovided_), sas_dsname_tasks=%str(_lsaf_updateworkspacejob_ds_notprovided_), sas_dsname_parameters=%str(_lsaf_updateworkspacejob_ds_notprovided_), sas_dsname_inputs=%str(_lsaf_updateworkspacejob_ds_notprovided_), sas_dsname_outputs=%str(_lsaf_updateworkspacejob_ds_notprovided_));

[ Exposure: external ]
Updates an existing job in the SAS Life Science Analytics Framework workspace.

Data sets representing the job data to be updated must be sent into the call to
lsaf_updateworkspacejob. The information in the data sets will replace the data of the existing
job. The output data sets from the following macros contain all the data relevant to the job
properties that can be updated. See the macro documentation for more details.
- lsaf_getjobinfo or lsaf_getworkspacejobinfo
- lsaf_getjobtasks or lsaf_getworkspacejobtasks
- lsaf_getjobparameters or lsaf_getworkspacejobparameters
- lsaf_getjobinputs or lsaf_getworkspacejobinputs
- lsaf_getjoboutputs or lsaf_getworkspacejoboutputs

Syntax:
%LSAF_UPDATEWORKSPACEJOB(LSAF_PATH=lsaf-path <SAS_DSNAME_INFO=SAS-data-set-info,
SAS_DSNAME_TASKS=SAS-data-set-jobtasks, SAS_DSNAME_PARAMETERS=SAS-data-set-parameters,
SAS_DSNAME_INPUTS=SAS-data-set-inputs, SAS_DSNAME_OUTPUTS=SAS-data-set-outputs>);

          
History:
   2016-09-23
initial coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
lsaf_path - - required -the path for the job to be updated in the SAS Life Science Analytics
        Framework workspace.
sas_dsname_info - - optional - the name of the SAS data set containing the job
        information specified as libref.dataset. The data set must contain, at minimum, the
        character variables listed below. Any additional variables will be ignored.
        - name: The name of the job property.
        - value: The value of the property to be specified.
        The information that can be specified is DESCRIPTION, LOGPATH, LSTPATH, MANIFESTPATH,
        NEWOUTPUTS_CUSTOMVERSION, NEWOUTPUTS_ENABLEVERSION, and NEWOUTPUTS_VERSIONTYPE.
        All other values listed in the data set will be ignored. All data are case-insensitive.
        If a name is listed more than once, the last value processed will be used. If a name
        is omitted, the value in the job will not be updated.
sas_dsname_tasks - - optional - the name of the SAS data set containing the list of
        paths to the SAS programs to be run specified as libref.dataset. If the data set is
        empty, all tasks will be removed from the job. The data set must contain, at minimum,
        the character variables listed below. Any additional variables will be ignored.
        - taskPath: The path of the SAS program file.
        - taskVersion: The version of the SAS program file. Blank and single asterisk values
        will indicate the latest file version.
sas_dsname_parameters - - optional - the name of the SAS data set containing the job
        parameter information specified as libref.dataset. If the data set is empty, all job
        parameters will be removed from the job. The data set must contain, at minimum, the
        character variables listed below. Any additional variables will be ignored.
        - name: The name of the parameter.
        - label: The label for the parameter.
        - type: The parameter type. Valid values are CHARACTER, CHARACTER_MASKED,
        NUMERIC, DATE, FILE, and FOLDER.
        - defaultValue: The value to be set as the default value for the parameter.
        DATE job parameter values must be one of the following formats. Date values in
        formats other than the two described below will result in an execution error.
        - SAS datetime18. format (e.g., 02NOV2013:09:33:22) - an offset of zero hours
        from GMT will be used.
        - SAS E8601DZ25. format (e.g., 2013-11-02T09:33:22-04:00).
        - fileVersion: The file version to be used if the parameter is of type FILE. Blank and
        single asterisk values will indicate the latest file version.
        Data set rows with duplicate values for parameter name will result in a data set
        validation error.
sas_dsname_inputs - - optional - the name of the SAS data set containing the list of job
        inputs specified as libref.dataset. If the data set is empty, all job inputs will be
        removed from the job. The data set must contain, at minimum, the variables listed
        below as the type specified. Any additional variables will be ignored.
        - inputPath (character): The path of the file or container to be used as input.
        - inputType (character): The type of input object. Valid values are FILE and CONTAINER.
        - inputVersion (character): The version of the FILE object. Blank and single asterisk
        values will indicate the latest file version. The value is ignored for inputs of
        type CONTAINER.
        - inputIncludesSubFolders (numeric): A flag indicating whether or not the input folder
        should include subfolders. The valid values are 0 and 1. The value is ignored
        for inputs of type FILE.
        Data set rows with duplicate values for inputPath will result in a data set
        validation error.
sas_dsname_outputs - - optional - the name of the SAS data set containing the list of job
        outputs specified as libref.dataset. If the data set is empty, all job outputs will be
        removed from the job. The data set must contain, at minimum, the variables listed
        below as the type specified. Any additional variables will be ignored.
        - outputPath (character): The path of the container to be used as output.
        - outputIncludesSubFolders (numeric): A flag indicating whether or not the output
        container should include subfolders. The valid values are 0 and 1.
        Data set rows with duplicate values for outputPath will result in a data set
        validation error.
File: lsaf_updateworkspacejob.sas
First available in version: 1.5

%lsaf_uploadandexpand(local_path=, lsaf_path=, lsaf_versioning=, lsaf_version=, lsaf_comment=);

[ Exposure: external ]
Uploads and expands the contents of a zip file into the specified folder location in the SAS
Life Science Analytics Framework repository.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Life Science Analytics Framework application session will result in a failure.

Failure and Message Handling:
The action status for each file that is being uploaded and each folder that is being created
will be printed in the log.

Syntax:
%LSAF_UPLOADANDEXPAND(LOCAL_PATH=local-zipfile-path, LSAF_PATH=lsaf-path
<, LSAF_VERSIONING=lsaf-versioning, LSAF_VERSION=lsaf-version, LSAF_COMMENT=lsaf_comment>);

          
History:
   2013-03-18
initial code
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
Parameters:
local_path - - required - the absolute path and name of the zip file on the local
        computer.
lsaf_path - - required - the path of the target folder.
lsaf_versioning - - optional - indicates whether the new files being created should be
        versioned. The default value is 0, which will create a non-versioned file. A
        value of 1 will create a versioned file. The versioning status of existing
        files will not be changed.
        Values: 0 | 1
        Default: 0
lsaf_version - - optional - the type of version to be created if the new files are to be
        versioned. Valid values are MAJOR or MINOR. The default is MINOR. This value is
        ignored for non-versioned objects.
lsaf_comment - - conditional - the comment for the versioned file being created. This
        option is ignored when creating non-versioned files.
File: lsaf_uploadandexpand.sas
First available in version: 1.4

%lsaf_userexists(lsaf_userid=);

[ Exposure: external ]
Determines whether a user exists within the system.

The macro variable _lsafUserExists_ will be set to 1 if the user exists, 0 if it does not.
In the event of an incorrect call to the macro which results in an error, the return value
of _lsafUserExists_ will be set to -1.

Syntax:
%LSAF_USEREXISTS(LSAF_USERID=lsaf-userid);

          
History:
   2013-10-30
initial coding
   2016-08-26
rebrand as LSAF
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
_lsafUserExists_ - indicates if the user exists.
Parameters:
lsaf_userid - - required - the user ID of the user account to check.
File: lsaf_userexists.sas
First available in version: 1.3

%lsaf_workspaceobjectexists(lsaf_path=);

[ Exposure: external ]
Determines whether a SAS Life Science Analytics Framework workspace object exists.

The SAS macro variable _lsafWorkspaceObjectExists_ is set to a value of 1 when the
object exists in the workspace, 0 if it does not. In the event of an incorrect call to
the macro which results in an error, the return value of _lsafWorkspaceObjectExists_
will be set to -1.

Syntax:
%LSAF_WORKSPACEOBJECTEXISTS(LSAF_PATH=lsaf-path);

          
History:
   2016-09-23
original coding
Expected Macro Variables:
_lsafMsg_ - the return message.
_lsafRC_ - the return code.
_lsafWorkspaceObjectExists_ - indicates if the object exists.
Parameters:
lsaf_path - - required - the path of the object.
File: lsaf_workspaceobjectexists.sas
First available in version: 1.5

%sasdrugdev_addgroupmember(sdd_path=, sdd_group=, sdd_type=USER, sdd_member=, sdd_group_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_addgroupmember, effective with SAS LSAF Macro 1.5

Adds a user or group as a member of a group in the specified organization, project, or
analysis.

Syntax:
%SASDRUGDEV_ADDGROUPMEMBER(SDD_PATH=sdd-path, SDD_GROUP=sdd-group-name,
SDD_MEMBER=sdd-member-identifier <, SDD_TYPE=sdd-member-type,
SDD_GROUP_CONTEXT=sdd-group-context>);

Example Code
Context paths used in examples:
- Organization: /SAS
- Project: /SAS/Project1
- Analysis: /SAS/Project1/Analysis1

1. Add User as a Group member at the Project level:
%sasdrugdev_addgroupmember(sdd_path=%str(/SAS/Project1), sdd_group=%str(PrjGrp1),
sdd_member=%str(User1), sdd_type=%str(USER));

2. Add Group as a Group member at the Project level:
%sasdrugdev_addgroupmember(sdd_path=%str(/SAS/Project1), sdd_group=%str(PrjGrp1),
sdd_member=%str(OrgGrp1), sdd_type=%str(GROUP), sdd_group_context=%str(/SAS));

3. Add User as a Group member at the Analysis level:
%sasdrugdev_addgroupmember(sdd_path=%str(/SAS/Project1/Analysis1),
sdd_group=%str(AnaGrp1), sdd_member=%str(User1), sdd_type=%str(USER));

4. Add Project Group as a Group member at the Analysis level:
%sasdrugdev_addgroupmember(sdd_path=%str(/SAS/Project1/Analysis1),
sdd_group=%str(AnaGrp1), sdd_member=%str(PrjGrp1), sdd_type=%str(GROUP),
sdd_group_context=%str(/SAS/Project1));

5. Add Organization Group as a Group member at the Analysis level:
%sasdrugdev_addgroupmember(sdd_path=%str(/SAS/Project1/Analysis1),
sdd_group=%str(AnaGrp1), sdd_member=%str(OrgGrp1), sdd_type=%str(GROUP),
sdd_group_context=%str(/SAS));

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the group is defined.
sdd_group - - required - the name of the group to add the member.
sdd_type - - conditional - the type of member being added.
        Values: USER | GROUP (case-insensitive)
        Default: USER
sdd_member - - required - the user ID of the user or the name of the group being added.
sdd_group_context - - conditional - specifies the context in which the group is defined
        as a path (e.g., /SAS). This parameter is required if SDD_TYPE=GROUP. Otherwise,
        it will be ignored.
File: sasdrugdev_addgroupmember.sas
First available in version: 1.2

%sasdrugdev_addmember(sdd_path=, sdd_member=, sdd_type=USER, sdd_group_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_addmember, effective with SAS LSAF Macro 1.5

Adds a user or a group as a member of the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_ADDMEMBER(SDD_PATH=sdd-path, SDD_MEMBER=sdd-member-identifier,
<SDD_TYPE=sdd-member-type, SDD_GROUP_CONTEXT=sdd-group-context>);

Example Code
Context paths used in examples:
- Organization: /SAS
- Project: /SAS/Project1
- Analysis: /SAS/Project1/Analysis1

1. Add User as a Member at the Project level:
%sasdrugdev_addmember(SDD_PATH=%str(/SAS/Project1), SDD_MEMBER=%str(User1));

2. Add Group as a Member at the Project level:
%sasdrugdev_addmember(sdd_path=%str(/SAS/Project1), sdd_member=%str(OrgGrp1),
sdd_type=%str(GROUP), sdd_group_context=%str(/SAS));

3. Add User as a Member at the Analysis level:
%sasdrugdev_addmember(SDD_PATH=%str(/SAS/Project1/Analysis1), SDD_MEMBER=%str(User1));

4. Add Group defined at Organization level as a Member at the Analysis level:
%sasdrugdev_addmember(sdd_path=%str(/SAS/Project1/Analysis1), sdd_member=%str(OrgGrp1),
sdd_type=%str(GROUP), sdd_group_context=%str(/SAS));

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - required - the path of the context object (organization, project, or
        analysis) where the member is being added.
sdd_member - required - the user ID of the user or the name of the group being added.
sdd_type - conditional - the type of member being added.
        Values: USER | GROUP (case-insensitive)
        Default: USER
sdd_group_context - - conditional - specifies the context in which the group is defined
        as a path (e.g., /SAS). This parameter is required if SDD_TYPE=GROUP. Otherwise,
        it will be ignored.
File: sasdrugdev_addmember.sas
First available in version: 1.2

%sasdrugdev_addrolemember(sdd_path=, sdd_role=, sdd_role_context=, sdd_member=, sdd_type=USER, sdd_group_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_addrolemember, effective with SAS LSAF Macro 1.5

Adds a user or group as a member of a role in the specified organization, project, or
analysis.

Syntax:
%SASDRUGDEV_ADDROLEMEMBER(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name,
SDD_ROLE_CONTEXT=sdd-role-context, SDD_MEMBER=sdd-member-identifier
<, SDD_TYPE=sdd-member-type, SDD_GROUP_CONTEXT=sdd-group-context>);

Example Code
Context paths used in examples:
- Organization: /SAS
- Project: /SAS/Project1
- Analysis: /SAS/Project1/Analysis1

1. Add User to Role defined at Project:
%sasdrugdev_addrolemember(sdd_path=%str(/SAS/Project1), sdd_role=%str(PrjRole1),
sdd_role_context=%str(/SAS/Project1),sdd_member=%str(User1), sdd_type=%str(USER));

2. Add Group defined at Organization to Role defined at Project:
%sasdrugdev_addrolemember(sdd_path=%str(/SAS/Project1), sdd_role=%str(PrjRole1),
sdd_role_context=%str(/SAS/Project1),sdd_member=%str(OrgGrp1), sdd_type=%str(GROUP),
sdd_group_context=%str(/SAS));

3. Add User to Role assigned at Project:
%sasdrugdev_addrolemember(sdd_path=%str(/SAS/Project1), sdd_role=%str(OrgRole1),
sdd_role_context=%str(/SAS),sdd_member=%str(User1), sdd_type=%str(USER));

4. Add Group defined at Organization to Role assigned at Project:
%sasdrugdev_addrolemember(sdd_path=%str(/SAS/Project1), sdd_role=%str(OrgRole1),
sdd_role_context=%str(/SAS),sdd_member=%str(OrgGrp1), sdd_type=%str(GROUP),
sdd_group_context=%str(/SAS));

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
sdd_role - - required - the name of the role to add the member.
sdd_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
sdd_member - required - the user ID of the user or the name of the group being added.
sdd_type - conditional - the type of member being added.
        Values: USER | GROUP (case-insensitive)
        Default: USER
sdd_group_context - - conditional - specifies the context in which the group is defined
        as a path (e.g., /SAS). This parameter is required if SDD_TYPE=GROUP. Otherwise,
        it will be ignored.
File: sasdrugdev_addrolemember.sas
First available in version: 1.2

%sasdrugdev_addroleprivilege(sdd_path=, sdd_role=, sdd_privilege=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_addroleprivilege, effective with SAS LSAF Macro 1.5

Adds a privilege to a role in the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_ADDROLEPRIVILEGE(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name,
SDD_PRIVILEGE=sdd-privilege-id);

Example Code:
Use %sasdrugdev_getcontextprivileges to fetch the list of available privileges at a specified
context. The macro returns a SAS data set containing the list of privileges (the default
name of the data set is work.sddgetcontextprivileges). Use one of the privilegeId values to
add that privilege to a Role.

1. Retrieve the available privileges at a Project:
%sasdrugdev_getcontextprivileges(sdd_path=%str(/SAS/Project1));

2. Add a privilege to a Role:
%sasdrugdev_addroleprivilege(sdd_path=%str(/SAS/Project1), sdd_role=%str(PrjRole1),
sdd_privilege=%str(PRIVILEGE_SIGN_FILE));

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the role is defined.
sdd_role - - required - the name of the role to add the privilege.
sdd_privilege - - required - the identifier of the privilege being added.
File: sasdrugdev_addroleprivilege.sas
First available in version: 1.2

%sasdrugdev_adduserprivilege(sdd_userid=, sdd_privilege=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_adduserprivilege, effective with SAS LSAF Macro 1.5

Assign a global privilege to a user in the system.

Syntax:
%SASDRUGDEV_ADDUSERPRIVILEGE(SDD_USERID=sdd-user-id, SDD_PRIVILEGE=sdd-privilege-id);

Example Code:
Use %sasdrugdev_getglobalprivileges to fetch the list of available global privileges. The
macro returns a SAS data set containing the list of privileges (the default name of the
data set is work.sddgetglobalprivileges). Use one of the privilegeId values to assign that
global privilege to a User.

1. Retrieve the available global privileges:
%sasdrugdev_getglobalprivileges();

2. Assign a privilege to a User:
%sasdrugdev_adduserprivilege(sdd_userid=%str(User1),
sdd_privilege=%str(PRIVILEGE_AUDIT_REPORTING));

          
History:
   2013-11-01
initial coding
   2016-08-26
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user to assign the global privilege.
sdd_privilege - - required - the identifier of the global privilege to assign.
File: sasdrugdev_adduserprivilege.sas
First available in version: 1.3

%sasdrugdev_assignedroleexists(sdd_path=, sdd_role=, sdd_role_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_assignedroleexists, effective with SAS LSAF Macro 1.5

Determine if a role exists (as defined or inherited) in an organization, project, or analysis.

The SAS macro variable _sddAssignedRoleExists_ is set to a value of 1 if the role exists, 0
if it does not. In the event of an incorrect call to the macro which results in an error, the
return value of _sddAssignedRoleExists_ will be set to -1.

Syntax:
%SASDRUGDEV_ASSIGNEDROLEEXISTS (SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name,
SDD_ROLE_CONTEXT=sdd-role-context);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand for LSAF
Expected Macro Variables:
_sddAssignedRoleExists_ - indicates the existence of the assigned role in the context.
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis).
sdd_role - - required - the name of the role to check for existence.
sdd_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
File: sasdrugdev_assignedroleexists.sas
First available in version: 1.2

%sasdrugdev_assignrole(sdd_path=, sdd_role=, sdd_role_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_assignrole, effective with SAS LSAF Macro 1.5

Assigns a role to the specified organization, project, or analysis as an inherited role.

Syntax:
%SASDRUGDEV_ASSIGNROLE(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name,
SDD_ROLE_CONTEXT=sdd-role-context);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) to assign the role to.
sdd_role - - required - the name of the role being assigned.
sdd_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
File: sasdrugdev_assignrole.sas
First available in version: 1.2

%sasdrugdev_copy(sdd_source=, sdd_target=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_copy, effective with SAS LSAF Macro 1.5

Copies a file or folder to the specified target location.

The copy of a versioned file will not be versioned. The children of a copied folder will
also be copied to the new location in their original directory structure.

Syntax:
%SASDRUGDEV_COPY(SDD_SOURCE=sdd-source-path, SDD_TARGET=sdd-target-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_source - - required - the path of the object to be copied.
sdd_target - - required - the path (including the new name) where the object is to be
        copied. The target folder must already exist.
File: sasdrugdev_copy.sas
First available in version: 1.1

%sasdrugdev_createanalysis(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_createanalysis, effective with SAS LSAF Macro 1.5

Creates an analysis in the SAS Drug Development repository.

The parent project must already exist.

Syntax:
%SASDRUGDEV_CREATEANALYSIS(SDD_PATH=sdd-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the analysis being created.
File: sasdrugdev_createanalysis.sas
First available in version: 1.2

%sasdrugdev_createfile(local_path=, sdd_path=, sdd_versioning=, sdd_version=, sdd_comment=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_createfile, effective with SAS LSAF Macro 1.5

Uploads a file from the local machine to the SAS Drug Development repository.

All parent folders that do not already exist will be created as well.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Drug Development application session will result in a failure.

Syntax:
%SASDRUGDEV_CREATEFILE(LOCAL_PATH=local-path, SDD_PATH=sdd-path
<, SDD_VERSIONING=sdd-versioning, SDD_VERSION=sdd-version, SDD_COMMENT=sdd_comment>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-26
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
local_path - - required - the absolute path and name of the file on the local computer.
sdd_path - - required - the path of the file to be created. Files can only be created in
        SAS Drug Development in areas that support folder and file creation. They cannot
        be created at the organization, project, or analysis levels.
sdd_versioning - - optional - indicates whether the file being created should be
        versioned. The default value is 0, which will create a non-versioned file. A
        value of 1 will create a versioned file.
        Values: 0 | 1
        Default: 0
sdd_version - - conditional - indicates the version number to assign to the file being
        created. The value must be in the valid version label format including a decimal
        point. This option is ignored when creating non-versioned file.
sdd_comment - - conditional - the comment for the versioned file being created. This
        option is ignored when creating a non-versioned file.
File: sasdrugdev_createfile.sas
First available in version: 1.1

%sasdrugdev_createfolder(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_createfolder, effective with SAS LSAF Macro 1.5

Creates a folder in the SAS Drug Development repository.

All parent folders that do not already exist will be created as well. Folders can only be
created under \Files or an existing folder, not directly under the organization, project,
or analysis.

Syntax:
%SASDRUGDEV_CREATEFOLDER(SDD_PATH=sdd-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the folder to be created.
File: sasdrugdev_createfolder.sas
First available in version: 1.1

%sasdrugdev_creategroup(sdd_path=, sdd_group=, sdd_description=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_creatgroup, effective with SAS LSAF Macro 1.5

Creates a group in the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_CREATEGROUP(SDD_PATH=sdd-path, SDD_GROUP=sdd-group-name
<, SDD_DESCRIPTION=sdd-description>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the group is to be created.
sdd_group - - required - the name of the group to create.
sdd_description - - optional- the description for the group being created.
File: sasdrugdev_creategroup.sas
First available in version: 1.2

%sasdrugdev_createproject(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_createproject, effective with SAS LSAF Macro 1.5

Creates a project in the SAS Drug Development repository.

Syntax:
%SASDRUGDEV_CREATEPROJECT(SDD_PATH=sdd-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the project being created.
File: sasdrugdev_createproject.sas
First available in version: 1.2

%sasdrugdev_createrole(sdd_path=, sdd_role=, sdd_description=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_createrole, effective with SAS LSAF Macro 1.5

Creates a role in the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_CREATEROLE(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name
<, SDD_DESCRIPTION=sdd-description>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the role will be defined.
sdd_role - - required - the name of the role being created.
sdd_description - - optional - the description for the role being created.
File: sasdrugdev_createrole.sas
First available in version: 1.2

%sasdrugdev_createuser(sdd_userid=, sdd_displayname=, sdd_email=, sdd_accounttype=, sdd_password=, sdd_firstname=, sdd_lastname=, sdd_department=, sdd_phone=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_createuser, effective with SAS LSAF Macro 1.5

Creates a user account within the system.

Syntax:
%SASDRUGDEV_CREATEUSER(SDD_USERID=sdd-userid, SDD_DISPLAYNAME=sdd-displayname,
SDD_EMAIL=sdd-email, SDD_ACCOUNTTYPE=sdd-accounttype, SDD_PASSWORD=sdd-password,
<, SDD_FIRSTNAME=sdd-firstname, SDD_LASTNAME=sdd-lastname, SDD_DEPARTMENT=sdd-department,
SDD_PHONE=sdd-phone>);

          
History:
   2013-10-30
initial coding
   2016-08-30
initial coding
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user ID of the account to create.
sdd_displayname - - required - the display name of the account to create.
sdd_email - - required - the email address of the account to create.
sdd_accounttype - - required - the account type of the account to create.
        Values: INTERACTIVE | NON_INTERACTIVE
        Default: None
sdd_password - - required - the password for the account to create.
sdd_firstname - - optional - the first name of the user associated with this account.
sdd_lastname - - optional - the last name of the user associated with this account.
sdd_department - - optional - the business unit of the user associated with this account.
sdd_phone - - optional - the phone number of the user associated with this account.
File: sasdrugdev_createuser.sas
First available in version: 1.3

%sasdrugdev_deleteanalysis(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_deleteanalysis, effective with SAS LSAF Macro 1.5

Deletes an analysis from the SAS Drug Development repository.

Syntax:
%SASDRUGDEV_DELETEANALYSIS(SDD_PATH=sdd-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the analysis to be deleted.
File: sasdrugdev_deleteanalysis.sas
First available in version: 1.2

%sasdrugdev_deletegroup(sdd_path=, sdd_group=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_deletegroup, effective with SAS LSAF Macro 1.5

Deletes a group from the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_DELETEGROUP(SDD_PATH=sdd-path, SDD_GROUP=sdd-group-name);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the group is defined.
sdd_group - - required - the name of the group to be deleted.
File: sasdrugdev_deletegroup.sas
First available in version: 1.2

%sasdrugdev_deleteobject(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_deleteobject, effective with SAS LSAF Macro 1.5

Deletes an object from the SAS Drug Development repository.

Syntax:
%SASDRUGDEV_DELETEOBJECT(SDD_PATH=sdd-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the content object to be deleted.
File: sasdrugdev_deleteobject.sas
First available in version: 1.1

%sasdrugdev_deleteproject(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_deleteproject, effective with SAS LSAF Macro 1.5

Deletes a project from the SAS Drug Development repository.

Syntax:
%SASDRUGDEV_DELETEPROJECT(SDD_PATH=sdd-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the project to be deleted.
File: sasdrugdev_deleteproject.sas
First available in version: 1.2

%sasdrugdev_deleterbitems(sas_dsname=, sas_result_dsname=work.sddDeleteRBItems);

[ Exposure: external ]

Deprecated. Replaced by lsaf_deleterbitems, effective with SAS LSAF Macro 1.5

Permanently deletes items from the SAS Drug Development recycle bin using a data set as
input. Returns a SAS data set that contains the paths for the items that were permanently
deleted from the SAS Drug Development recycle bin.

The items listed in the input data set will be permanently removed from the recycle bin
provided that the user has the Permanent Delete Items role privilege at the organizational
context. No error message will be provided for objects that could not be permanently deleted.

A path created and deleted multiple times from the SAS Drug Development repository will appear
multiple times in the recycle bin. Therefore, the items must be referenced by their unique
identifier. The identifier can be retrieved using the sasdrugdev_getrbitems macro.

The output data set will contain one row for each path that was permanently deleted from the
recycle bin. If multiple items with the same path were deleted, the path will only be listed
once. The paths for each object deleted from a container (e.g. project, folder) will be listed
separately in the output data set.

Syntax:
%SASDRUGDEV_deleterbitems(SAS_DSNAME=SAS-data-set, SAS_RESULT_DSNAME=SAS-data-set);

Example Code:
Delete everything a specific user deleted.

* start code example;
%sasdrugdev_getrbitems(sas_dsname=sddGetRBItems);

data deleterbitems;
set sddGetRBItems;
if (deletedBy="myuserid");
run;

%sasdrugdev_deleterbitems(sas_dsname=deleterbitems, sas_result_dsname=deletedpaths);
* end code example;

          
History:
   2013-03-27
initial code
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the identifiers for the
        items to be deleted from the recycle bin. The data set must contain, at minimum,
        the variables listed below. Any additional variables will be ignored.
        - identifier: The unique SAS Drug Development object identifier for the item to be
        permanently deleted.
sas_result_dsname - - optional - the name of the output SAS data set that will contain the
        deleted paths as libref.dataset. The default value is WORK.SDDDELETEDRBITEMS. The
        data set contains a row for each deleted path and columns with the following names.
        The data set will be sorted by path.
        - name: The name of the item.
        - path: The path of the item.
File: sasdrugdev_deleterbitems.sas
First available in version: 1.4

%sasdrugdev_deleterole(sdd_path=, sdd_role=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_deleterole, effective with SAS LSAF Macro 1.5

Deletes a role from the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_DELETEROLE(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the role is defined.
sdd_role - - required - the name of the role to be deleted.
File: sasdrugdev_deleterole.sas
First available in version: 1.2

%sasdrugdev_deleteuser(sdd_userid=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_deleteuser, effective with SAS LSAF Macro 1.5

Deletes a user account from the system.

Users that have logged in are not eligible for deletion and can only be deactivated.

Syntax:
%SASDRUGDEV_DELETEUSER(SDD_USERID=sdd-userid);

          
History:
   2013-10-30
initial coding
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user ID of the account being deleted.
File: sasdrugdev_deleteuser.sas
First available in version: 1.3

%sasdrugdev_disableversioning(sdd_path=, sdd_comment=);

[ Exposure: external ]
Disables versioning on a SAS Drug Development repository file.

Syntax:
%SASDRUGDEV_DISABLEVERSIONING(SDD_PATH=sdd-path <, SDD_COMMENT=sdd-comment>);

          
History:
   2014-04-07
initial coding
   2016-10-03
Make external and rebrand to LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the file within the SAS Drug Development repository
        to be set to unversioned.
sdd_comment - - optional - a note associated with the action of disabling versioning.
        The value is visible through the Audit Trail.
File: sasdrugdev_disableversioning.sas
First available in version: 1.5

%sasdrugdev_downloadaszip(sdd_path=, local_path=, sdd_overwrite=0);

[ Exposure: external ]

Deprecated. Replaced by lsaf_downloadaszip, effective with SAS LSAF Macro 1.5

Downloads SAS Drug Development files or a folder along with its content to your local machine
as a zip file.

If the local directory does not exist it will be created. If the local file does not exist
it will be created. If the object being downloaded is a folder, the contents of the folder
will be downloaded with its hierarchy maintained. If the object being downloaded is a project
or an analysis, only the containers (depots, folders) with files will be downloaded.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Drug Development application session will result in a failure.

Syntax:
%SASDRUGDEV_DOWNLOADASZIP(SDD_PATH=sdd-path, LOCAL_PATH=local-zipfile-path
<,SDD_OVERWRITE=sdd-overwrite> );

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the object (file or container) to be downloaded.
local_path - - required - the full path and name of the file to create (or overwrite,
        if applicable) on the local computer.
sdd_overwrite - - optional - indicates whether or not to overwrite the existing zip
        file on the local machine. The valid values are 0 and 1 to maintain or overwrite
        the file respectively. The default is 0.
File: sasdrugdev_downloadaszip.sas
First available in version: 1.4

%sasdrugdev_downloadfile(sdd_path=, sdd_version=, local_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_downloadfile, effective with SAS LSAF Macro 1.5

Downloads a file to your local machine from the SAS Drug Development repository.

If the local directory does not exist it will be created. If the local file does not exist
it will be created. If the local file does exist, it will be overwritten with new content.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Drug Development application session will result in a failure.

Syntax:
%SASDRUGDEV_DOWNLOADFILE(SDD_PATH=sdd-path, SDD_VERSION=sdd- version>, LOCAL_PATH=local-path);

          
History:
   2013-10-30
initial coding
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the file within the SAS Drug Development repository
        to download.
sdd_version - - conditional - specifies the version of the file to download if the file
        is versioned. If the file is versioned and a specific version is specified the
        value must be in the valid format including a decimal point such as 1.0 or 4.2.
        If the file is versioned and no version is specified the latest version is
        downloaded. If the file is unversioned and a specific version is specified that
        will result in a failure.
local_path - - required - the full path and name of the file to create (or overwrite,
        if it exists) on the local computer.
File: sasdrugdev_downloadfile.sas
First available in version: 1.3

%sasdrugdev_enableversioning(sdd_path=, sdd_version=, sdd_comment=);

[ Exposure: external ]
Enables versioning on a SAS Drug Development repository file.

Syntax:
%SASDRUGDEV_ENABLEVERSIONING(SDD_PATH=sdd-path <, SDD_VERSION=sdd-version,
SDD_COMMENT=sdd-comment>);

          
History:
   2016-04-07
initial coding
   2016-10-03
Make external and rebrand to LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the file within the SAS Drug Development repository
        to version.
sdd_version - - optional - specifies the starting version number of the file. If not
        specified, the value will default to 1.0. The value must be in the valid format
        including a decimal point such as 1.0 or 4.2.
sdd_comment - - optional - a note associated with the action of enabling versioning.
        The value is visible through the Audit Trail.
File: sasdrugdev_enableversioning.sas
First available in version: 1.5

%sasdrugdev_getacls(sdd_path=, sas_dsname=work.sddGetACLs, sdd_recursive=0);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getacls, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the access control list for objects in the SAS Drug
Development repository.

For container objects, both the DEFAULT and CURRENT access control lists are returned with
the exception of analyses. For non-container objects and Analyses, only the CURRENT access
control lists is returned.

Syntax:
%SASDRUGDEV_GETACLS(SDD_PATH=sdd-path, <SAS_DSNAME=SAS-data-set,
SDD_RECURSIVE=recursion-level>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the content object in the SAS Drug Development
        repository. This can be either a file or a container.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the access control lists specified as libref.dataset. The default
        value is WORK.SDDGETACL. The data set contains a row for each access control
        entry, sorted by path and aclType, and columns with the following names:
        - name: The name of the object.
        - path: The path to the object.
        - objectType: Describes the type of the object (e.g. folder, data set, etc.)
        - isContainer: A numeric flag that indicates whether the object is a container
        object (0=no, 1=yes).
        - owner: The user ID of the user who owns the object.
        - aclType: Will be either DEFAULT or CURRENT. Analyses and files only have
        CURRENT acls. All other containers have both DEFAULT and CURRENT acls.
        - aclPrincipalName: If the aclPrincipalType is ACLOWNER this will be Owner. If
        the aclPrincipalType is ACLMEMBERS this will be Members. If the
        aclPrincipalType is USER this will be the user ID of the user. If the
        aclPrincipalType is GROUP this will be the name of the group.
        - aclPrincipalType: Specifies if the principal is a ACLOWNER, ACLMEMBERS, USER or
        GROUP.
        - grpSrcCtxt: For group principals, specifies the context path where the group
        was defined.
        - adminPermission: Permission to administer the object.
        - readPermission: Permission to read the object.
        - writePropPerm: Permission to update the object properties.
        - writeContentPerm: Permission to update the object content.
        - deletePermission: Permission to delete the object.
        Permission values are specified as follows.
        1 = Allowed
        -1 = Denied
        0 = Not specified (Inherited)
sdd_recursive - - conditional - the level of recursion when the path is a container.
        Valid values are 0, 1, 2, or 99 as described below. The default value is 0. For
        files, the value will be ignored.
        0 - Returns acls for the input container only.
        1 - Returns acls for the container and all objects within the container, but not
        sub containers.
        2 - Returns acls for the container, all objects within the container, and one
        level of sub containers.
        99 - Returns acls for the container and all of the sub containers and objects
        (traverses the entire tree).
File: sasdrugdev_getacls.sas
First available in version: 1.2

%sasdrugdev_getallusers(sas_dsname=work.sddGetAllUsers);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getallusers, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the users defined within the
system.

Syntax:
%SASDRUGDEV_GETALLUSERS(<,SAS_DSNAME=SAS-data-set>);

          
History:
   2013-10-30
initial coding
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the users specified as libref.dataset. The default value is
        WORK.SDDGETALLUSERS. The data set contains a row for each user, sorted by user
        ID, and columns with the following names:
        - userId: The unique login identifier for this account.
        - displayName: The display name for the account.
        - firstName: The first name of the user.
        - lastName: The last name of the user.
        - email: The email address for this user.
        - department: The business unit this user is a part of.
        - phone: The phone number for this user.
        - isAccountActive: A numeric flag indicating whether the account is active (0=no,
        1=yes).
        - isAccountLocked: A numeric flag indicating whether the account is locked (0=no,
        1=yes).
        - accountActivationDate: The date this account becomes active, this value is
        represented in character format.
        - accountDeactivationDate: The date this account becomes inactive, this value is
        represented in character format.
        - accountLockedBy: The user ID who locked this account.
        - accountLockedDate: The date this account was locked, this value is represented
        in character format.
        - accountStatusBy: The user ID who changed the status of this account.
        - accountStatusDate: The date the account status was last modified, this value is
        represented in character format.
        - accountType: The type of account, valid values are INTERACTIVE and NON_INTERACTIVE
        - lastLogin: The date of the last time this account was logged onto, this value is
        represented in character format.
        - loginAttempts: The current number of failed login attempts associated with this
        account. If the number exceeds the configured threshold, this account will
        be locked. This counter gets reset when a successful login occurs.
        - loginCount: The total number of successful logins for this account.
        - passwordCreated: The date the current password was created, this value is
        represented in character format.
        - passwordExpiration: The date the current password expires, this value is
        represented in character format.
        - isPasswordExpired: A numeric flag indicating whether the password has expired
        (0=no, 1=yes).
        - dateAccountActivation: The date this account becomes active, this value is
        represented in SAS DateTime format.
        - dateAccountDeactivation: The date this account becomes inactive, this value is
        represented in SAS DateTime format.
        - dateAccountLocked: The date this account was locked, this value is represented
        in SAS DateTime format.
        - dateAccountStatus: The date the account status was last modified, this value is
        represented in SAS DateTime format.
        - dateLastLogin: The date of the last time this account was logged onto, this
        value is represented in SAS DateTime format.
        - datePasswordCreated: The date the current password was created, this value is
        represented in SAS DateTime format.
        - datePasswordExpiration: The date the current password expires, this value is
        represented in SAS DateTime format.
File: sasdrugdev_getallusers.sas
First available in version: 1.3

%sasdrugdev_getassignedmembers(sdd_path=, sas_dsname=work.sddGetAssignedMembers);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getassignedmembers, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the members assigned to the
specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_GETASSIGNEDMEMBERS(SDD_PATH=sdd-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) containing the members.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the members specified as libref.dataset. The default value is
        WORK.SDDGETASSIGNEDMEMBERS. The data set contains a row for each member and
        columns with the following names. The data set will be sorted by member type
        and principalId.
        - contextPath: The path of the context object in the repository.
        - type: The member type. Valid values are USER and GROUP.
        - principalId: The name of the member. The returned values will be either a group
        name or a user ID.
        - description: The description of the member. The returned values will be either a
        group name or a user display name.
        - grpSrcCtxt: The context path in which the group member was defined if the member
        is a group.
File: sasdrugdev_getassignedmembers.sas
First available in version: 1.2

%sasdrugdev_getchildren(sdd_path=, sas_dsname=work.sddGetChildren, sdd_recursive=0);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getchildren, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for objects within a container in the SAS
Drug Development repository.

Syntax:
%SASDRUGDEV_GETCHILDREN(SDD_PATH=sdd-path <, SDD_RECURSIVE=recursion-level,
SAS_DSNAME=SAS-data-set>);

          
History:
   2013-06-28
version 1.2 update - path length
   2013-08-30
updates for standardization and coding conventions
   2014-05-07
updated documentation and fixed data set processing.
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the container object in the SAS Drug Development
        repository.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the objects specified as libref.dataset. The default value is
        WORK.SDDGETCHILDREN. The data set contains a row for each object in the list and
        columns with the following names. The data set will be sorted by path.
        - name: The name of the object.
        - path: The path of the object.
        - objectType: Describes the type of the object (e.g. folder, data set, etc.)
        - description: The description of the object.
        - isContainer: A numeric flag that indicates whether the object is a container
        object (0=no, 1=yes).
        - isVersioned: A numeric flag that indicates whether the object is currently
        versioned (0=no, 1=yes).
        - versionLabel: The label associated with this specific version.
        - isCheckedOut: A numeric flag that indicates whether the object is currently
        checked out (0=no, 1=yes).
        - isLocked: A numeric flag that indicates whether the object is currently locked
        (0=no, 1=yes).
        - size: The size of the object in bytes (will be 0 for containers).
        - contentType: The content or MIME type of object.
        - createdBy: The user ID that created the object.
        - created: The full date and time when the object was created. This value is
        represented as a String.
        - dateCreated: The date when the object was created as a SAS Datetime format.
        - lastModifiedBy: The user ID that last modified the object.
        - lastModified: The date when the object was last modified. This value is
        represented as a String.
        - dateLastModified: The date when the object was last modified as a SAS Datetime
        format.
        - propertiesLastModifiedBy: The user ID that last modified the properties for the
        object.
        - propertiesLastModified: The date when the object properties were last modified.
        This value is represented as a String.
        - datePropertiesLastModified: The date when the object properties were last
        modified as a SAS Datetime format.
        - state: This variable is for an Analysis or Project object only. It indicates
        if the state is DEV, PROD, or CLOSED.
        - stateComment: This variable is for Analysis or Project only and provides any
        comments attached by a user when changing the state of the project or
        analysis.
        - isSigned: Indicates if the object has electronic signatures attached to it.
sdd_recursive - - optional - the level of recursion when the path is a container.
        Valid values are 0, 1, 2, or 99 as described below. The default value is 0. For
        files, the value will be ignored.
        0 - Returns the container only.
        1 - Returns the container and its immediate children.
        2 - Returns the container, its immediate children, and all objects within one
        level of the containers subfolders.
        99 - Returns the container and all of the sub containers and objects
        (traverses the entire tree).
File: sasdrugdev_getchildren.sas
First available in version: 1.1

%sasdrugdev_getconfiguration(sas_dsname=work.sddGetConfiguration, sas_suppressLogList=0);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getconfiguration, effective with SAS LSAF Macro 1.5

Reports the current configuration settings.

The values can be printed in the SAS log as well as being included in the data set.

Syntax:
%SASDRUGDEV_GETCONFIGURATION(<SAS_DSNAME=SAS-data-set, SAS_SUPPRESSLOGLIST=suppressloglist>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2014-04-04
changed exposure to external
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sas_dsname - - optional - the name of the output SAS data set that contains the
        configuration information as libref.dataset. The default value is
        WORK.SDDGETCONFIGURATION. The data set contains a row for each setting and columns
        with the following names. The data set will be sorted by name.
        - name: The name of the configuration item.
        - value: The value of the configuration item.
sas_suppressLogList - - optional - flag to suppress the print of the configuration
        information to the log. The default value is 0. If the parameter is included
        and the value is anything other than 0, the configuration values are not printed
        to the log.
File: sasdrugdev_getconfiguration.sas
First available in version: 1.3

%sasdrugdev_getcontextprivileges(sdd_path=, sas_dsname=work.sddGetContextPrivileges);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getcontextprivileges, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the privileges available in the
specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_GETCONTEXTPRIVILEGES(SDD_PATH=sdd-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis).
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the objects specified as libref.dataset. The default value is
        WORK.SDDGETCONTEXTPRIVILEGES. The data set contains a row for each privilege
        defined at the context and columns with the following names. The data set will be
        sorted by privilegeId.
        - contextPath: The path of the context object in the repository.
        - privilegeId: The identifier of the privilege.
        - privilegeName: The name of the privilege.
File: sasdrugdev_getcontextprivileges.sas
First available in version: 1.2

%sasdrugdev_getglobalprivileges(sas_dsname=work.sddGetGlobalPrivileges);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getglobalprivileges, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the global privileges available
in the system.

Syntax:
%SASDRUGDEV_GETGLOBALPRIVILEGES(<SAS_DSNAME=SAS-data-set>);

          
History:
   2013-11-01
initial coding
   2014-04-21
updated documentation
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for all of the global privileges specified as libref.dataset. The default value is
        WORK.SDDGETGLOBALPRIVILEGES. The data set contains a row for each global privilege
        and columns with the following names. The data set will be sorted by privilegeId.
        - privilegeId: The identifier of the privilege.
        - privilegeName: The name of the privilege.
File: sasdrugdev_getglobalprivileges.sas
First available in version: 1.3

%sasdrugdev_getgroupmembers(sdd_path=, sdd_group=, sas_dsname=work.sddGetGroupMembers);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getgroupmembers, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the members assigned to a group
within the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_GETGROUPMEMBERS(SDD_PATH=sdd-path, SDD_GROUP=sdd-group
<, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the group is defined.
sdd_group - - required - the name of the group
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the members specified as libref.data set. The default value is
        WORK.SDDGETGROUPMEMBERS. The data set contains a row for each member and columns
        with the following names. The data set will be sorted by member type and
        principalId.
        - contextPath: The full path of the context object in the repository.
        - type: The member type. Valid values are USER and GROUP.
        - principalId: The name of the member. Valid values are group name or user ID.
        - description: The description of the member. Valid values are group name or user
        display name.
        - grpSrcCtxt: The context in which the of group member was defined.
File: sasdrugdev_getgroupmembers.sas
First available in version: 1.2

%sasdrugdev_getgroups(sdd_path=, sas_dsname=work.sddGetGroups);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getgroups, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the groups defined within a
context object within the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_GETGROUPS(SDD_PATH=sdd-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the groups are defined.
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the groups specified as libref.dataset. The default value is WORK.SDDGETGROUPS.
        The data set contains a row for each group and columns with the following names.
        The data set will be sorted by group name.
        - contextPath: The path of the context object in the repository.
        - name: The name of the group.
        - description: The group description.
File: sasdrugdev_getgroups.sas
First available in version: 1.2

%sasdrugdev_getjobinfo(sdd_path=, sdd_version=, sas_dsname=work.sddGetJobInfo);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getjobinfo, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the information for a job in the SAS Drug Development
repository. This is the information displayed on the General tab of the job editor, as well as
the information concerning the versioning of new outputs.

Syntax:
%SASDRUGDEV_GETJOBINFO(SDD_PATH=sdd-path <, SDD_VERSION=sdd-version, SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-08
initial coding.
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the job in the SAS Drug Development repository.
sdd_version - - optional - a specific version number of the job. If not specified,
        the information for the latest version will be returned. Specifying a version for
        a non-versioned job will cause an error.
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the job specified as libref.dataset. The default value is
        WORK.SDDGETJOBINFO. The data set will contain variables representing each
        element of metadata for the object. The data set will be sorted by the NAME
        variable. The following metadata will be represented in the data set.
        - path: The path of the job.
        - versionLabel: The label associated with the specified version of the job.
        - name: The name of the property or attribute.
        - value: The value of the property or attribute.
File: sasdrugdev_getjobinfo.sas
First available in version: 1.4

%sasdrugdev_getjobinputs(sdd_path=, sdd_version=, sas_dsname=work.sddGetJobInputs);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getjobinputs, effective with SAS LSAF Macro 1.5

Returns a SAS data set containing metadata for the inputs for the specified job in the SAS
Drug Development repository. The list does not include the input tasks.

Syntax:
%SASDRUGDEV_GETJOBINPUTS(SDD_PATH=sdd-path <SDD_VERSION=sdd-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-22
initial coding.
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the job.
sdd_version - - optional - the version of the job. If not specified, the latest version
        will be used.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the inputs specified as libref.dataset. The default value is
        WORK.SDDGETJOBINPUTS. The data set contains a row for each job input and columns
        with the following names. The data set will retain the order of the inputs.
        - jobPath: The path of the job.
        - jobVersion: The job version.
        - inputPath: The path of the input file.
        - inputType: The object type for the input. Valid values are CONTAINER and FILE.
        - inputVersion: The version of the input file. An asterisk indicates the latest
        version of the input file will be used by the job.
        - inputIncludesSubFolders: A flag indicating whether or not the subfolders of a
        container input are to be included during job execution.
File: sasdrugdev_getjobinputs.sas
First available in version: 1.4

%sasdrugdev_getjoboutputs(sdd_path=, sdd_version=, sas_dsname=work.sddGetJobOutputs);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getjoboutputs, effective with SAS LSAF Macro 1.5

Returns a SAS data set containing metadata for the outputs for the specified job in the SAS
Drug Development repository.

Syntax:
%SASDRUGDEV_GETJOBOUTPUTS(SDD_PATH=sdd-path <SDD_VERSION=sdd-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-22
initial coding.
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the job.
sdd_version - - optional - the version of the job. If not specified, the latest version
        will be used.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the outputs specified as libref.dataset. The default value is
        WORK.SDDGETJOBOUTPUTS. The data set contains a row for each job output and columns
        with the following names. The data set will retain the order of the outputs.
        - jobPath: The path of the job.
        - jobVersion: The job version.
        - outputPath: The path of the output location.
        - outputIncludesSubFolders: A flag indicating whether or not the subfolders of an
        output container are to be included during job execution.
File: sasdrugdev_getjoboutputs.sas
First available in version: 1.4

%sasdrugdev_getjobparameters(sdd_path=, sdd_version=, sas_dsname=work.sddGetJobParameters);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getjobparameters, effective with SAS LSAF Macro 1.5

Returns a SAS data set containing job parameter metadata for the specified job.

Syntax:
%SASDRUGDEV_GETJOBPARAMETERS(SDD_PATH=sdd-path <SDD_VERSION=sdd-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-11
initial coding.
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the job.
sdd_version - - optional - the version of the job. If not specified, the latest version
        will be used.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the parameters specified as libref.dataset. The default value is
        WORK.SDDGETJOBPARAMETERS. The data set contains a row for each job parameter
        and columns with the following names. The data set will retain the job parameter
        order.
        - jobPath: The path of the job.
        - jobVersion: The job version.
        - name: The name of the parameter.
        - label: The parameter label.
        - type: The parameter type. Values are CHARACTER, CHARACTER_MASKED, NUMERIC,
        DATE, FILE, or FOLDER.
        - defaultValue: the default value for the parameter. Dates are returned in SAS
        datetime format.
        - fileVersion: the file version to be used if the parameter is of type FILE.
        A blank value means that either the file is not versioned or the file is
        versioned but no version was selected.
File: sasdrugdev_getjobparameters.sas
First available in version: 1.4

%sasdrugdev_getjobtasks(sdd_path=, sdd_version=, sas_dsname=work.sddGetJobTasks);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getjobtasks, effective with SAS LSAF Macro 1.5

Returns a SAS data set containing metadata for the tasks for the specified job in the SAS
Drug Development repository.

Syntax:
%SASDRUGDEV_GETJOBTASKS(SDD_PATH=sdd-path <SDD_VERSION=sdd-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-22
initial coding.
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the job.
sdd_version - - optional - the version of the job. If not specified, the latest version
        will be used.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the tasks specified as libref.dataset. The default value is
        WORK.SDDGETJOBTASKS. The data set contains a row for each job task and columns
        with the following names. The data set will retain the order of the tasks.
        - jobPath: The path of the job.
        - jobVersion: The job version.
        - taskPath: The path of the task file.
        - taskVersion: The version of the task file. An asterisk indicates the latest
        version of the task file will be used by the job.
File: sasdrugdev_getjobtasks.sas
First available in version: 1.4

%sasdrugdev_getobjecttype(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getobjecttype, effective with SAS LSAF Macro 1.5

Reports the SAS Drug Development object type for the specified
repository object path

The SAS macro variable _sddObjectType_ is set to the object type value.
The value is set to blank if the object could not be found or an error occurred.
Possible object type values are:
sas:analysis
sas:container
sas:file
sas:folder
sas:job
sas:organization
sas:pdf
sas:project
sas:sasdataset
sas:sasprogram

Syntax:
%SASDRUGDEV_GETOBJECTTYPE(SDD_PATH=sdd-path);

          
History:
   2014-03-07
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddObjectType_ - the object type.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the object for which the object type
        will be retrieved.
File: sasdrugdev_getobjecttype.sas
First available in version: 1.4

%sasdrugdev_getowner(sdd_path=, sdd_aclType=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getowner, effective with SAS LSAF Macro 1.5

Returns the current owner of an object within the organization in the SAS Drug Development
repository.

The macro variable _sddOwner_ will be set with the owner user ID. The value of _sddOwner_
will be <creator> for the DEFAULT permissions on a container with no specific user designated
as the owner.

Syntax for files:
%SASDRUGDEV_GETOWNER(SDD_PATH =sdd-path);

Syntax For containers:
%SASDRUGDEV_GETOWNER(SDD_PATH =sdd-path, SDD_ACLTYPE =sdd-acl-type);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddOwner_ - the current owner of the object.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the content object in the SAS Drug Development
        repository.
sdd_aclType - - conditional - the type of permissions being returned. The valid values
        are DEFAULT and CURRENT (case-insensitive). Files only have CURRENT permissions,
        therefore, the value is not required when sdd_path is a file. For container
        objects the value must be specified. The operation will fail if DEFAULT is
        requested for a file path.
File: sasdrugdev_getowner.sas
First available in version: 1.2

%sasdrugdev_getproperties(sdd_path=, sdd_version=, sas_dsname=work.sddGetProperties);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getproperties, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the properties of an object in the SAS Drug Development
repository.

Syntax:
%SASDRUGDEV_GETPROPERTIES(SDD_PATH=sdd-path <, SDD_VERSION=sdd-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2014-04-18
updates to surface extended attribute metadata.
   2016-08-31
rebrand for LSAF
   2017-01-18
added sdd_version parameter
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the object in the SAS Drug Development repository.
sdd_version - - optional - A specific file version. If omitted or set to blank, the
        properties for the current file version will be returned.
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the object specified as libref.dataset. The default value is
        WORK.SDDGETPROPERTIES. The data set will contain variables representing each
        element of metadata for the object. The data set will be sorted by the NAME
        variable. The following metadata will be represented in the data set.
        - path: The path of the object
        - name: The name of the property.
        - value: The value of the property.
        - displayName: The name of the property as displayed as a label within SAS Drug
        Development. Derived properties (e.g. name, path, type) will not have a value
        for displayName.
        - type: The type of the property. Values include STRING, DATE, and BOOLEAN.
        Derived properties (e.g. name, path, type) will not have a value for type.
        - isReadonly: Flag indicating that the property cannot be modified.
        - isExtended: Flag indicating whether the property is an extended attribute.
        Note: Extended attributes are included but the names represent the system identifier. The
        recognizable label is shown in the display name variable.
File: sasdrugdev_getproperties.sas
First available in version: 1.2

%sasdrugdev_getrbitems(sas_dsname=work.sddGetRBItems);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getrbitems, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for the items in the SAS Drug Development
recycle bin.

Users must have the Permanent Delete Items or Restore Items Deleted by Others role privilege
at the organization context.

Syntax:
%SASDRUGDEV_GETRBITEMS(<SAS_DSNAME=SAS-data-set>);

          
History:
   2013-03-24
original coding.
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the items specified as libref.dataset. The default value is
        WORK.SDDGETRBITEMS. The data set contains a row for each item in the list and
        columns with the following names. The data set will be sorted by path.
        - name: The name of the item.
        - path: The path of the item.
        - objectType: Describes the type of the item (e.g. folder, data set, etc.)
        - identifier: The unique identifier of the Repository object.
        - size: The size of the object in bytes (will be 0 for containers).
        - deletedBy: The user ID that deleted the object from the Repository.
        - deletedOn: The full date and time when the object was deleted from the Repository
        represented as a String.
        - dateDeleted: The date when the object was deleted as a SAS Datetime format.
        - lastModifiedBy: The user ID that last modified the object.
        - lastModifiedOn: The date when the object was last modified. This value is
        represented as a String.
        - dateLastModified: The date when the object was last modified as a SAS Datetime
        format.
File: sasdrugdev_getrbitems.sas
First available in version: 1.4

%sasdrugdev_getrolemembers(sdd_path=, sdd_role=, sdd_role_context=, sas_dsname=work.sddGetRoleMembers);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getrolemembers, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the members assigned to a role
within the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_GETROLEMEMBERS(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name,
SDD_ROLE_CONTEXT=sdd-role-context, <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
sdd_role - - required - the name of the role.
sdd_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
sas_dsname - - optional - the name of the output SAS data set that contains the metadata
        for the members specified as libref.dataset. The default value is
        WORK.SDDGETROLEMEMBERS. The data set contains a row for each member in the role and
        columns with the following names. The data set will be sorted by member type and
        principalId.
        - contextPath: The path of the context object.
        - type: The member type. Valid values are user or group.
        - principalId: The name of the member. Valid values are group name or user ID.
        - descriptor: The description of the member. Valid values are group name or user
        display name.
        - grpSrcCtxt: The context in which the group member was defined, if the member is
        a group.
File: sasdrugdev_getrolemembers.sas
First available in version: 1.2

%sasdrugdev_getroleprivileges(sdd_path=, sdd_role=, sas_dsname=work.sddGetRolePrivileges);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getroleprivileges, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the privileges assigned to a
role within the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_GETROLEPRIVILEGES(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name
<, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the role is defined.
sdd_role - - required - the name of the role.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the privileges specified as libref.dataset. The default value is
        WORK.SDDGETROLEPRIVILEGES. The data set contains a row for each privilege in the
        role and columns with the following names. The data set will be sorted by
        privilegeId.
        - contextPath: The path of the context object.
        - roleName: The name of the role.
        - privilegeId: The identifier of the privilege.
        - privilegeName: The name of the privilege.
File: sasdrugdev_getroleprivileges.sas
First available in version: 1.2

%sasdrugdev_getroles(sdd_path=, sas_dsname=work.sddGetRoles, sdd_getInherited=1);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getroles, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the roles defined and, if
specified, inherited within the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_GETROLES(SDD_PATH=sdd-path <,SAS_DSNAME=SAS-data-set,
SDD_GETINHERITED=inheritance-flag>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the roles exist.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the roles specified as libref.dataset. The default value is
        WORK.SDDGETROLES. The data set contains a row for each role in the context object
        as well as columns with the following names. The data set will be sorted by role
        name.
        - path: The path of the context object.
        - name: The name of the role.
        - description: The role description.
        - roleSrcCtxt: The context in which the of role was defined.
        - isInherited: A flag indicating whether or not the role is inherited. The valid
        values are 0 and 1. This variable is not included if SDD_GETINHERITED is
        not valid or set to 0.
sdd_getInherited - - optional - indicates whether or not to include inherited roles.
        The valid values are 0 and 1 to exclude or include inherited roles respectively.
        The default is 1.
File: sasdrugdev_getroles.sas
First available in version: 1.2

%sasdrugdev_getsignatures(sdd_path=, sdd_version=, sas_dsname=work.sddGetSignatures);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getsignatures, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the signatures of a file or a
specific version of the file.

Syntax:
%SASDRUGDEV_GETSIGNATURES(SDD_PATH=sdd-path <, SDD_VERSION=sdd-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-02-25
initial coding.
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required -the path of the file in the SAS Drug Development repository.
sdd_version - - optional - a specific version number of the file. If not specified,
        the signatures of all versions of the file will be returned. Specifying a version
        for a non-versioned job will cause an error.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the signatures specified as libref.dataset. The default value is
        WORK.SDDGETSIGNATURES. The data set contains a row for each signature for file
        and/or version specified and columns with the following names. The data set is
        sorted by descending date of signature.
        - name: The name of the file.
        - path: The path of the file.
        - objectType: The type of file (i.e., data set, program, etc.).
        - versionLabel: The label associated with this specific version.
        - userId: The unique login identifier for the signer of the file.
        - dateTimeStamp: The date and time of the signature represented as a string.
        - dateSigned: The date and time of the signature as a SAS Datetime format.
        - reason: The reason specified when the file was signed.
        - role: The role specified when the file was signed.
        - comment: The comment that was entered when the file was signed.
File: sasdrugdev_getsignatures.sas
First available in version: 1.4

%sasdrugdev_getsubmissionstatus(sdd_jobsubmission_id=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getsubmissionstatus, effective with SAS LSAF Macro 1.5

Determines the status of a SAS Drug Development repository or workspace job submission.

The SAS macro variable _sddJobSubmissionStatus_ is set to the status value. The values are
NOT_DETERMINED, NOT_STARTED, STARTED, COMPLETED.

Syntax:
%SASDRUGDEV_GETSUBMISSIONSTATUS(SDD_JOBSUBMISSION_ID=job-submission-id);
<, SDD_VERSION=sdd-version> );

          
History:
   2014-04-07
initial code
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddJobSubmissionStatus_ - indicates the job submission status.
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_jobsubmission_id - - required - the submission identifier returned from the
        sasdrugdev_submitjob macro.
File: sasdrugdev_getsubmissionstatus.sas
First available in version: 1.4

%sasdrugdev_getsubscriptions(sas_dsname=work.sddGetSubscriptions);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getsubscriptions, effective with SAS LSAF Macro 1.5

Returns a SAS data set containing metadata for all subscriptions for the current user.

Syntax:
%SASDRUGDEV_GETSUBSCRIPTIONS(<SAS_DSNAME=SAS-data-set>);

          
History:
   2014-03-11
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the subscriptions specified as libref.dataset. The default value is
        WORK.SDDGETSUBSCRIPTIONS. The data set contains a row for each subscription
        with the following names. The data set will be sorted by event, location, and
        principalId.
        - event: The name of the event subscription.
        - location: The path of the object to which a subscription applies.
        - type: The subscriber type. Values are USER and GROUP.
        - cascade: Indicates if the subscription is cascaded to child items. Values are
        0 and 1.
        - principalId: The id of the subscriber. The returned values will be either a
        group name or the user ID of the current user.
        - grpSrcCtxt: The context path in which the group was defined if the subscription
        is a for group.
File: sasdrugdev_getsubscriptions.sas
First available in version: 1.4

%sasdrugdev_getsyncstatus(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getsyncstatus, effective with SAS LSAF Macro 1.5

Determines if a file in the SAS Drug Development repository is synchronized, out of
synchronization, or has never been synchronized with the workspace.

The SAS macro variable _sddSyncStatus_ is set to the status value. The values are NOT_SYNCED,
IN_SYNC, and OUT_OF_SYNC. If the file does not exist in either the workspace or the
repository, the status is reported as NOT_SYNCED. If the object is a container, an error will
be reported.

Syntax:
%SASDRUGDEV_GETSYNCSTATUS(SDD_PATH=sdd-path);

          
History:
   2014-04-07
initial code
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
_sddSyncStatus_ - indicates the syncronization status.
Parameters:
sdd_path - - required - the path of the file.
File: sasdrugdev_getsyncstatus.sas
First available in version: 1.4

%sasdrugdev_getusergroups(sdd_userid=, sas_dsname=work.sddGetUserGroups);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getusergroups, effective with SAS LSAF Macro 1.5

Returns a SAS data set containing metadata for each of the groups in which the specified
user is a member.

Syntax:
%SASDRUGDEV_GETUSERGROUPS(SDD_USERID=sdd-userid <, SAS_DSNAME=SAS-data-set>);

          
History:
   2014-03-20
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user ID of the user for which groups will be retrieved.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the groups specified as libref.dataset. The default value is
        WORK.SDDGETUSERGROUPS. The data set contains a row for each group and columns
        with the following names. The data set will be sorted by group name and
        group context path.
        - userId: The user ID of the user.
        - name: The name of the group.
        - description: The description of the group.
        - grpSrcCtxt: The context path where the group was defined.
File: sasdrugdev_getusergroups.sas
First available in version: 1.4

%sasdrugdev_getuserprivileges(sdd_userid=, sas_dsname=work.sddGetUserPrivileges);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getuserprivileges, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the global privileges assigned
to a user within the system.

Syntax:
%SASDRUGDEV_GETUSERPRIVILEGES(SDD_USERID=sdd-userid <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-11-01
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user to retrieve the global privileges for.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the global privileges specified as libref.dataset. The default value
        is WORK.SDDGETUSERPRIVILEGES. The data set contains a row for each global privilege
        assigned to the user and the columns with the following names. The data set will
        be sorted by privilegeId.
        - userId: The user ID of the user.
        - privilegeId: The identifier of the privilege.
        - privilegeName: The name of the privilege.
File: sasdrugdev_getuserprivileges.sas
First available in version: 1.3

%sasdrugdev_getversions(sdd_path=, sas_dsname=work.sddGetVersions);

[ Exposure: external ]

Deprecated. Replaced by lsaf_getversions, effective with SAS LSAF Macro 1.5

Returns a SAS data set that contains the metadata for all of the versions of a file.

Syntax:
%SASDRUGDEV_GETVERSIONS(SDD_PATH=sdd-path <, SAS_DSNAME=SAS-data-set>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2014-05-07
updated documentation and fixed data set processing.
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required -the path of the object in the SAS Drug Development repository.
sas_dsname - - optional - the name of the output SAS data set that will contain the
        metadata for the versions specified as libref.dataset. The default value is
        WORK.SDDGETVERSIONS. The data set contains a row for each version of the object
        and columns with the following names. The most recent version will be the first
        observation in the data set.
        - name: The name of the object.
        - path: The path of the object.
        - objectType: The type of file (i.e., data set, program, etc.).
        - description: The description of the object.
        - versionLabel: The label associated with this specific version.
        - isCheckedOut: A numeric flag that indicates whether the object is currently
        checked out (0=no, 1=yes).
        - isLocked: A numeric flag that indicates whether the object is currently locked
        (0=no, 1=yes).
        - size: The size of the object in bytes (will be 0 for containers).
        - contentType: The content or MIME type of object.
        - createdBy: The user ID that created the object.
        - created: The full date and time the object was created represented as a string.
        - dateCreated: The date the object was created as a SAS Datetime format.
        - lastModifiedBy: The user ID that last modified the object.
        - lastModified: The date the object was last modified represented as a string.
        - dateLastModified: The date the object was last modified as a SAS Datetime format.
        - propertiesLastModifiedBy: The user ID that last modified the properties for the
        object.
        - propertiesLastModified: The date when the object properties were last modified.
        This value is represented as a String.
        - datePropertiesLastModified: The date when the object properties were last
        modified as a SAS Datetime format.
        - isSigned: Indicates if the object has electronic signatures attached to it.
File: sasdrugdev_getversions.sas
First available in version: 1.2

%sasdrugdev_groupexists(sdd_path=, sdd_group=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_groupexists, effective with SAS LSAF Macro 1.5

Determines whether a group is defined for the specified context.

The macro variable _sddGroupExists_ will be set to 1 if the group exists, 0 if it does not.
In the event of an incorrect call to the macro which results in an error, the return value
of _sddGroupExists_ will be set to -1.

Syntax:
%SASDRUGDEV_GROUPEXISTS (SDD_PATH=sdd-path, SDD_GROUP=sdd- name);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddGroupExists_ - indicates if the group exists in the context.
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object.
sdd_group - - required - the name of the group.
File: sasdrugdev_groupexists.sas
First available in version: 1.2

%sasdrugdev_iscontainer(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_iscontainer, effective with SAS LSAF Macro 1.5

Determines whether a SAS Drug Development repository object is of type container.

The SAS macro variable _sddIsContainer_ is set to a value of 1 if the specified object is a
container object, 0 if it is not. In the event of an incorrect call to the macro which
results in an error, the return value of _sddIsContainer_ will be set to -1.
Container objects include folders, projects, analyses, and the organization.

Syntax:
%SASDRUGDEV_ISCONTAINER(SDD_PATH=sdd-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddIsContainer_ - indicates if the object is a container.
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the object in the SAS Drug Development repository.
File: sasdrugdev_iscontainer.sas
First available in version: 1.2

%sasdrugdev_isgroupmember(sdd_path=, sdd_group=, sdd_member=, sdd_type=USER, sdd_group_context=, sdd_includeImplicit=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_isgroupmember, effective with SAS LSAF Macro 1.5

Determines whether a user or group is a member of the group in the specified organization,
project, or analysis.

The SAS macro variable _sddIsGroupMember_ is set to a value of 1 when the specified user or
group is a member of the group, 0 if it is not. In the event of an incorrect call to the
macro which results in an error, the return value of _sddIsGroupMember_ will be set to -1.

Syntax:
%SASDRUGDEV_ISGROUPMEMBER(SDD_PATH=sdd-path, SDD_GROUP=sdd-group-name,
SDD_MEMBER=sdd-member-identifier, <, SDD_TYPE=sdd-type, SDD_GROUP_CONTEXT=sdd-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-01-18
added includeImplicit flag.
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddIsGroupMember_ - indicates if the user or group is a member of the specified group.
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the group is assigned.
sdd_group - - required - the name of the group.
sdd_member - - required - the user ID or group name of the member.
sdd_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
sdd_group_context - - conditional - specifies the context in which the member group is
        defined as a path (e.g., /SAS). The parameter is required if SDD_TYPE=GROUP.
        Otherwise, it will be ignored.
sdd_includeImplicit - - optional - indicates whether or not to include implied members,
        i.e., members of groups within groups. The valid values are 0 and 1 to exclude or
        includeimplied memberships respectively. The default is 0.
File: sasdrugdev_isgroupmember.sas
First available in version: 1.2

%sasdrugdev_ismember(sdd_path=, sdd_member=, sdd_type=USER, sdd_group_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_ismember, effective with SAS LSAF Macro 1.5

Determines whether a user or group is a member in the specified organization, project,
or analysis.

The SAS macro variable _sddIsMember_ is set to a value of 1 when the specified user or group
is a member of the context, 0 if it is not. In the event of an incorrect call to the macro
which results in an error, the return value of _sddIsMember_ will be set to -1.
Groups defined at the context level will not be considered as members of that context.

Syntax:
%SASDRUGDEV_ISMEMBER(SDD_PATH=sdd-path, SDD_MEMBER=sdd-member-identifier <, SDD_TYPE=sdd-type,
SDD_GROUP_CONTEXT=sdd-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddIsMember_ - indicates if the user or group is a member of the specified
        organization, project, or analysis.
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path (starting at the root) context object (organization,
        project, or analysis).
sdd_member - - required - the user ID or group name of the member.
sdd_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
sdd_group_context - - conditional - specifies the context in which the member group is
        defined as a path (e.g., /SAS). The parameter is required if SDD_TYPE=GROUP.
        Otherwise, it will be ignored.
File: sasdrugdev_ismember.sas
First available in version: 1.2

%sasdrugdev_isrolemember(sdd_path=, sdd_role=, sdd_role_context=, sdd_member=, sdd_type=USER, sdd_group_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_isrolemember, effective with SAS LSAF Macro 1.5

Determines whether a user or group is a member of a role in the specified organization,
project, or analysis.

The SAS macro variable _sddIsRoleMember_ is set to a value of 1 when the specified user or
group is a member of the role, 0 if it is not. In the event of an incorrect call to the macro
which results in an error, the return value of _sddIsRoleMember_ will be set to -1.

Syntax:
%SASDRUGDEV_ISROLEMEMBER(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name,
SDD_ROLE_CONTEXT=sdd-role-context, SDD_MEMBER=sdd-member-identifier <, SDD_TYPE=sdd-type,
SDD_GROUP_CONTEXT=sdd-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddIsRoleMember_ - indicates if the user or group is a member of the role in the
        specified organization, project, or analysis.
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
sdd_role - - required - the name of the role.
sdd_role_context - - required - the context in which the role is defined as a path
        (e.g., /SAS).
sdd_member - - required - the user ID or group name of the member.
sdd_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (caes-insensitive). The default value is USER.
sdd_group_context - - conditional - specifies the context in which the member group is
        defined as a path (e.g., /SAS). The parameter is required if SDD_TYPE=GROUP.
        Otherwise, it will be ignored.
File: sasdrugdev_isrolemember.sas
First available in version: 1.2

%sasdrugdev_isroleprivilege(sdd_path=, sdd_role=, sdd_privilege=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_isroleprivilege, effective with SAS LSAF Macro 1.5

Determines whether a privilege is assigned to a role in the specified organization,
project, or analysis. Works only for defined roles, not inherited roles, in the specified
organization, project, or analysis.

The SAS macro variable _sddIsRolePrivilege_ is set to a value of 1 when the privilege is
assigned, 0 if it is not. In the event of an incorrect call to the macro which results in an
error, the return value of _sddIsRolePrivilege_ will be set to -1.

Syntax:
%SASDRUGDEV_ISROLEPRIVILEGE(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name,
SDD_PRIVILEGE=sdd-privilege-id);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddIsRolePrivilege_ - indicates if the privilege is assigned to the role in the
        specified organization, project, or analysis.
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
sdd_role - - required - the name of the role.
sdd_privilege - - required - the identifier of the privilege to check.
File: sasdrugdev_isroleprivilege.sas
First available in version: 1.2

%sasdrugdev_isuserprivilege(sdd_userid=, sdd_privilege=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_isuserprivilege, effective with SAS LSAF Macro 1.5

Determines whether a global privilege is assigned to a user.

The SAS macro variable _sddIsUserPrivilege_ is set to a value of 1 when the privilege is
assigned, 0 if it is not. In the event of an incorrect call to the macro which results in an
error, the return value of _sddIsUserPrivilege_ will be set to -1.

Syntax:
%SASDRUGDEV_ISUSERPRIVILEGE(SDD_USERID=sdd-userid, SDD_PRIVILEGE=sdd-privilege-id);

          
History:
   2013-11-01
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddIsUserPrivilege_ - indicates if the privilege is assigned to the user.
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user ID to check.
sdd_privilege - - required - the identifier of the global privilege to check.
File: sasdrugdev_isuserprivilege.sas
First available in version: 1.3

%sasdrugdev_isversioned(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_isversioned, effective with SAS LSAF Macro 1.5

Determines whether a SAS Drug Development repository object has versioning enabled.

The SAS macro variable _sddIsVersioned_ is set to a value of 1 when the object is versioned,
0 if it is not. In the event of an incorrect call to the macro which results in an error,
the return value of _sddIsVersioned_ will be set to -1.

Syntax:
%SASDRUGDEV_ISVERSIONED(SDD_PATH=sdd-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddIsVersioned_ - indicates if the object is versioned or not.
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the file.
File: sasdrugdev_isversioned.sas
First available in version: 1.1

%sasdrugdev_lockuser(sdd_userid=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_lockuser, effective with SAS LSAF Macro 1.5

Locks a user account.

The person running the macro must have the user privilege to manage user accounts.

Syntax:
%SASDRUGDEV_LOCKUSER(SDD_USERID=sdd-userid);

          
History:
   2014-03-19
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user ID of the user account to lock.
File: sasdrugdev_lockuser.sas
First available in version: 1.4

%sasdrugdev_login(sdd_url=, sdd_userid=, sdd_password=, proxy_host=, proxy_port=, proxy_userid=, proxy_password=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_login, effective with SAS LSAF Macro 1.5

Creates a connection to the SAS Drug Development instance.

This macro is only required when running the macros from a PC SAS session. It must be called
before any other SAS Drug Development macro in order to establish your session.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Drug Development application session will result in a failure.

Syntax:
%SASDRUGDEV_LOGIN(SDD_URL=url, SDD_USERID=user-id , SDD_PASSWORD=password,
<, PROXY_HOST=proxy-host, PROXY_USERID=proxy-userid, PROXY_PASSWORD=proxy-pw );

Example Code:

1. The parameters passed to the login macro are often strings containing special characters
which may cause problems when resolved by SAS. You will probably want to wrap each of the
parameters in a SAS function call to prevent any issues:
%sasdrugdev_login(sdd_url=%str(https://sddinstance), sdd_userid=%str(sdd-user-id),
sdd_password=%str (sddpassword ));

2. Certain special characters common in passwords (e.g. ampersands, percent signs) may
may require quoting.
%sasdrugdev_login(sdd_url=%str(https://sddinstance), sdd_userid=%str(sdd-user-id),
sdd_password=%nrbquote(sddpassword ));

          
History:
   2013-06-26
version 1.2 update - trusted session
   2013-08-30
updates for standardization and coding conventions
   2014-03-04
updates for proxy
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_url - - required - the URL of the SAS Drug Development instance to use in the form
        https://sddname.sas.com or http://sddname.sas.com.
sdd_userid - - required - the SAS Drug Development ID for the user account.
sdd_password - - required - the SAS Drug Development password for the user account.
proxy_host - - conditional - the name of the host machine when the SAS Drug Development
        system is accessed through a proxy server.
proxy_port - - conditional - the port number required for the proxy host machine.
        Required when a proxy_host is designated.
proxy_userid - - conditional - the userid when the proxy machine requires authentication.
proxy_password - - conditional - the password when the proxy machine required
        authentication.
File: sasdrugdev_login.sas
First available in version: 1.1

%sasdrugdev_logout;

[ Exposure: external ]

Deprecated. Replaced by lsaf_logout, effective with SAS LSAF Macro 1.5

Closes an open connection to SAS Drug Development.

This macro is only used when running the macros from a PC SAS session. This should be the
last macro you call in any program.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Drug Development application session will result in a failure.

Syntax:
%SASDRUGDEV_LOGOUT();

          
History:
   2013-06-26
version 1.2 update - trusted session
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand as LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
File: sasdrugdev_logout.sas
First available in version: 1.1

%sasdrugdev_move(sdd_source=, sdd_target=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_move, effective with SAS LSAF Macro 1.5

Moves a file or folder to the specified target location.

The item being moved must not already exist in the target location.
The children of a moved folder will also be moved to the target location,
keeping their directory structure and version history (if any) intact.

Syntax:
%SASDRUGDEV_MOVE(SDD_SOURCE=sdd-source-path, SDD_TARGET=sdd-target-path);

          
History:
   2014-03-03
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_source - - required - the path of the object to be moved.
sdd_target - - required - the path of the folder into which the object is to be
        moved. The target folder must already exist. Path cannot end with a slash (/).
File: sasdrugdev_move.sas
First available in version: 1.4

%sasdrugdev_objectexists(sdd_path=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_objectexists, effective with SAS LSAF Macro 1.5

Determines whether a SAS Drug Development repository object exists.

The SAS macro variable _sddObjectExists_ is set to a value of 1 when the object exits, 0 if
it does not. In the event of an incorrect call to the macro which results in an error, the
return value of _sddObjectExists_ will be set to -1.

Syntax:
%SASDRUGDEV_OBJECTEXISTS(SDD_PATH=sdd-path);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddObjectExists_ - indicates if the object exists.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the object.
File: sasdrugdev_objectexists.sas
First available in version: 1.1

%sasdrugdev_removegroupmember(sdd_path=, sdd_group=, sdd_member=, sdd_type=USER, sdd_group_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_removegroupmember, effective with SAS LSAF Macro 1.5

Removes a user or a group as a member of a group in the specified organization, project, or
analysis.

Syntax:
%SASDRUGDEV_REMOVEGROUPMEMBER(SDD_PATH=sdd-path, SDD_GROUP=sdd-group-name,
SDD_MEMBER=sdd-member-identifier <, SDD_TYPE=sdd-type, SDD_GROUP_CONTEXT=sdd-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the group is defined.
sdd_group - - required - the name of the group that the member is to be removed from.
sdd_member - - required - the id of the user or the name of the group being removed.
sdd_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
sdd_group_context - - conditional - specifies the context in which the group being
        removed is defined as a path (e.g., /SAS). This parameter is required if
        SDD_TYPE=GROUP. Otherwise, it will be ignored.
File: sasdrugdev_removegroupmember.sas
First available in version: 1.2

%sasdrugdev_removemember(sdd_path=, sdd_member=, sdd_type=USER, sdd_group_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_removemember, effective with SAS LSAF Macro 1.5

Removes a user or a group as a member of the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_REMOVEMEMBER(SDD_PATH=sdd-path, SDD_MEMBER=sdd-member-identifier
<, SDD_TYPE=sdd-type, SDD_GROUP_CONTEXT=sdd-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) to remove the member from.
sdd_member - - required - the id of the user or the name of the group being removed.
sdd_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
sdd_group_context - - conditional - specifies the context in which the group being
        removed is defined as a path (e.g., /SAS). This parameter is required if
        SDD_TYPE=GROUP. Otherwise, it will be ignored.
File: sasdrugdev_removemember.sas
First available in version: 1.2

%sasdrugdev_removerolemember(sdd_path=, sdd_role=, sdd_role_context=, sdd_member=, sdd_type=USER, sdd_group_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_removerolemember, effective with SAS LSAF Macro 1.5

Removes a user or a group as a member of a role in the specified organization, project, or
analysis.

Syntax:
%SASDRUGDEV_REMOVEROLEMEMBER(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name,
SDD_ROLE_CONTEXT=sdd-role-context, SDD_MEMBER=sdd-member-identifier <, SDD_TYPE=sdd-type,
SDD_GROUP_CONTEXT=sdd-group-context>);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the role is assigned.
sdd_role - - required - the name of the role that the member is to be removed from.
sdd_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
sdd_member - - required - the ID of the user or the name of the group being removed.
sdd_type - - conditional - indicates the type of member. Valid values are USER and GROUP
        (case-insensitive). The default value is USER.
sdd_group_context - - conditional - specifies the context in which the group being
        removed is defined as a path (e.g., /SAS). This parameter is required if
        SDD_TYPE=GROUP. Otherwise, it will be ignored.
File: sasdrugdev_removerolemember.sas
First available in version: 1.2

%sasdrugdev_removeroleprivilege(sdd_path=, sdd_role=, sdd_privilege=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_removeroleprivilege, effective with SAS LSAF Macro 1.5

Removes a privilege from a role in the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_REMOVEROLEPRIVILEGE(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name,
SDD_PRIVILEGE=sdd-privilege-id);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) where the role is defined.
sdd_role - - required - the name of the role that the privilege is to be removed from.
sdd_privilege - - required - the identifier of the privilege to remove.
File: sasdrugdev_removeroleprivilege.sas
First available in version: 1.2

%sasdrugdev_removeuserprivilege(sdd_userid=, sdd_privilege=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_removeuserprivilege, effective with SAS LSAF Macro 1.5

Remove a global privilege from a user in the system.

Syntax:
%SASDRUGDEV_REMOVEUSERPRIVILEGE(SDD_USERID=sdd-userid, SDD_PRIVILEGE=sdd-privilege);

          
History:
   2013-11-01
initial coding
   2018-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user to remove the global privilege from.
sdd_privilege - - required - the identifier of the global privilege to remove.
File: sasdrugdev_removeuserprivilege.sas
First available in version: 1.3

%sasdrugdev_renameanalysis(sdd_source=, sdd_newname=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_renameanalysis, effective with SAS LSAF Macro 1.5

Renames an analysis.

Another analysis with the new name must not already exist in the parent project.

Syntax:
%SASDRUGDEV_RENAMEANALYSIS(SDD_SOURCE=sdd-source-path, SDD_NEWNAME=sdd-new-name);

          
History:
   2014-03-04
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_source - - required - the path, including the name, of the analysis to be renamed.
sdd_newname - - required - the new name of the analysis.
File: sasdrugdev_renameanalysis.sas
First available in version: 1.4

%sasdrugdev_renameobject(sdd_source=, sdd_newname=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_renameobject, effective with SAS LSAF Macro 1.5

Renames a file or folder.

An object with the new name must not already exist in the current location.

Syntax:
%SASDRUGDEV_RENAMEOBJECT(SDD_SOURCE=sdd-source-path, SDD_NEWNAME=sdd-new-name);

          
History:
   2014-03-03
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_source - - required - the path, including the name, of the object to be renamed.
sdd_newname - - required - the new name of the object.
File: sasdrugdev_renameobject.sas
First available in version: 1.4

%sasdrugdev_renameproject(sdd_source=, sdd_newname=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_renameproject, effective with SAS LSAF Macro 1.5

Renames a project.

Another project with the new name must not already exist in the organization.

Syntax:
%SASDRUGDEV_RENAMEPROJECT(SDD_SOURCE=sdd-source-path, SDD_NEWNAME=sdd-new-name);

          
History:
   2014-03-04
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_source - - required - the path, including the name, of the project to be renamed.
sdd_newname - - required - the new name of the project.
File: sasdrugdev_renameproject.sas
First available in version: 1.4

%sasdrugdev_resetpassword(sdd_userid=, sdd_newpassword=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_resetpassword, effective with SAS LSAF Macro 1.5

Reset the password for a user in the system. This action requires the logged on user to have
the administrative privilege PRIVILEGE_MANAGE_USER_ACCOUNTS. Once the password has been
successfully reset, the user can immediately log on with the new password, but they will be
forced to change their password immediately so the password remains unique to the user.

Syntax:
%SASDRUGDEV_RESETPASSWORD(SDD_USERID=sdd-userid, SDD_NEWPASSWORD=sdd-password);

          
History:
   2013-11-04
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user ID of the account to reset.
sdd_newpassword - - required - the new temporary password.
File: sasdrugdev_resetpassword.sas
First available in version: 1.3

%sasdrugdev_roleexists(sdd_path=, sdd_role=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_roleexists, effective with SAS LSAF Macro 1.5

Determines whether a a role is defined in the specified organization, project, or analysis.

The SAS macro variable _sddRoleExists_ is set to a value of 1 when the role exists, 0 if it
is not. In the event of an incorrect call to the macro which results in an error, the return
value of _sddRoleExists_ will be set to -1.

Syntax:
%SASDRUGDEV_ROLEEXISTS(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
_sddRoleExists_ - indicates if the role exists in the context.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis).
sdd_role - - required - the name of the role.
File: sasdrugdev_roleexists.sas
First available in version: 1.2

%sasdrugdev_submitjob(sdd_path=, sdd_version=, sas_dsname=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_submitjob, effective with SAS LSAF Macro 1.5

Submits a SAS Drug Development repository job for immediate execution and sets the SAS macro
variable _sddJobSubmissionId_ to the identifier for the job submission. If the job cannot
be submitted, _sddJobSubmissionId_ will be set to blank.

A data set representing the job parameters whose values are to be overridden for the current
job submission can be sent into the call of sasdrugdev_submitjob. If no job parameters data
set is sent in, the default values for all job parameters will be used.
The output data set from the macro sasdrugdev_getjobparameters contains all the data relevant
to the parameters for a specific job and can be used as a source for the input parameters data
set for the sasdrugdev_submitjob macro. Modify the data set with any desired changes prior to
calling sasdrugdev_submitjob.
- Rename the defaultValue variable to "value" or add a variable with the name "value" to
indicate the values to use for the current submission.
- Default job parameter values will be used for missing parameters (deleted rows)
- Indicating an empty string for a parameter value will result in using a blank as the
parameter value for the current submission.
- Added parameters will be ignored.
- The parameters in the input data set are matched with the job parameters by name and type.
If no match is found for a parameter, its default value will be used.
- Data set rows with duplicate values for parameter name will cause an execution error.
- DATE job parameter values must be in SAS datetime18. format (e.g., 02NOV2013:09:33:22), or
in SAS E8601DZ25. format (e.g., 2013-11-02T09:33:22-04:00). For SAS datetime18. format, an
offset of zero hours from GMT will be used. To specify an offset from GMT, use the
E8601DZ25. format. Date values in formats other than the two described above will result
in an execution error.

Syntax:
%SASDRUGDEV_SUBMITJOB(SDD_PATH=sdd-path <, SDD_VERSION=sdd-version,
SAS_DSNAME=SAS-data-set>);

          
History:
   2014-04-09
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required -the path of the job in the SAS Drug Development repository.
sdd_version - - optional - a specific version number of the job. If not specified,
        the latest version of the job will be submitted. Specifying a version for a
        non-versioned file will cause an error.
sas_dsname - - optional - the name of the SAS data set containing the job parameter
        information specified as libref.dataset. If not specified, the default job
        parameters values will be used. The data set must contain, at minimum, the
        character variables listed below. Any additional variables will be ignored.
        - name: The name of the parameter.
        - type: The parameter type. Valid values are CHARACTER, CHARACTER_MASKED,
        NUMERIC, DATE, FILE, and FOLDER.
        - value: The value of the parameter to be used in the current job submission.
        - fileVersion: The file version to be used if the parameter is of type FILE.
        For versioned files, a blank value will result in the latest file version
        used. For nonversioned files, the value is ignored.
File: sasdrugdev_submitjob.sas
First available in version: 1.4

%sasdrugdev_syncfiletoworkspace(sdd_path=, sdd_version=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_syncfiletoworkspace, effective with SAS LSAF Macro 1.5

Gets the version of the SAS Drug Development from the repository file to the workspace.

Syntax:
%SASDRUGDEV_SYNCFILETOWORKSPACE(SDD_PATH=sdd-path, SDD_VERSION=sdd-version>);

          
History:
   2014-04-07
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the file within the SAS Drug Development repository
        to download.
sdd_version - - conditional - specifies the version of the file to be synchronized if
        the file is versioned. If the file is versioned and a version is specified the
        value must be in the valid format including a decimal point such as 1.0 or 4.2.
        If the file is versioned and no version is specified the latest version is
        downloaded. If the file is unversioned and a version is specified, the value will
        be ignored.
File: sasdrugdev_syncfiletoworkspace.sas
First available in version: 1.4

%sasdrugdev_unassignrole(sdd_path=, sdd_role=, sdd_role_context=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_unassignrole, effective with SAS LSAF Macro 1.5

Unassigns a role from the specified organization, project, or analysis.

Syntax:
%SASDRUGDEV_UNASSIGNROLE(SDD_PATH=sdd-path, SDD_ROLE=sdd-role-name,
SDD_ROLE_CONTEXT=sdd-role-context);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the context object (organization, project, or
        analysis) from which to unassign the role.
sdd_role - - required - the name of the role being unassigned.
sdd_role_context - - required - specifies the context in which the role is defined as a
        path (e.g., /SAS).
File: sasdrugdev_unassignrole.sas
First available in version: 1.2

%sasdrugdev_unlockuser(sdd_userid=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_unlockuser, effective with SAS LSAF Macro 1.5

Unlocks a user account.

The person running the macro must have the user privilege to manage user accounts.

Syntax:
%SASDRUGDEV_UNLOCKUSER(SDD_USERID=sdd-userid);

          
History:
   2014-03-19
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user ID of the user account to unlock.
File: sasdrugdev_unlockuser.sas
First available in version: 1.4

%sasdrugdev_updateacls(sas_dsname=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_updateacls, effective with SAS LSAF Macro 1.5

Sets permissions on SAS Drug Development objects using a data set as input.

This macro sets access permissions on repository objects using a SAS data set as input. The
permission lists (known as Access Control Lists or ACLs) for multiple objects can be modified
using a single data set. Access permissions are applied only to objects in the repository
within the organization. There are two types of access permission lists: Current and Default.
The Current access permissions are applied to an individual object. The Default access
permissions apply only to container objects (e.g. folders, projects) and define the
permissions that will be inherited by any new objects added to the container. In the context
of this macro the access permission type is referred to as aclType. All records in the input
data set that pertain to the same repository object and aclType will be processed together as
a single ACL.

A set of permissions for a specific repository object for an individual principal within an
access permission type are referred to as an Access Control Entry (ACE). An ACE is
represented as a single row in the input data set. An ACE is defined by the following
characteristics:
- path: Full path of the repository object (file or container) to which the permissions are
being assigned.
- acl type: The access permission type is being assigned (DEFAULT or CURRENT)
- acl principal type: Identifies the type of the principal. The principal type can be Owner,
Members, User, or Group.
- acl principal name: The name of the user or group to assign the permission to.
- set of permissions: The specific permissions being assigned (e.g. administration, read,
properties write, content write, delete).

The output data set from the sasdrugdev_getacls macro contains all the necessary variables
and data needed as the input data set for the sasdrugdev_updateACLs macro. Modify the data
set with any changes prior to calling sasdrugdev_updateacls.
- To add a principal with specific access permissions to a repository object, add a new row
to the data set for that principal.
- To modify the access permissions for a principal already associated with a repository
object, edit the appropriate row in the data set.
- To remove a principal with specific access permissions to a repository object, delete the
appropriate row from the data set. Note that the Owner and Members access control entries
cannot be removed from the object. Removing them from the data set will cause a failure.
- To maintain the existing permissions for a principal already associated with a repository
object, leave the record as it is in the data set. The record must remain otherwise the
access permissions for this principal will be removed.

Failure and Message Handling:
The macro performs a series of validation procedures to determine that the input data set has
the necessary structure for processing. If any of these validation procedures fail, an
appropriate failure message is printed to the log and the macro stops additional processing.

In addition to other modifications, the macro sorts the input data set and stores the modified
data in a temporary data set called WORK.__SASMACRO_ACLTEMP__. In the event that a failure
occurs during processing this temporary data set is retained as a reference. If all updates
are performed successfully, this data set will be deleted from the work library. A message
will be printed to the log reporting whether the data set was retained or not. Regardless of
success or failure of previous runs, this data set will be deleted at the beginning of each
new run of the macro. The data values and sort order of the original input data set are
maintained.

All records pertaining to the same repository object and aclType are processed as a single
access control list by the macro. Messages will be printed to the log as each ACL is
processed. If the update of an ACL fails, the macro will stop processing.

If a failure occurs while processing a specific access control entry (i.e. a principal), the
macro will stop processing and a failure message will be written to the log including the
observation number for the entry that failed. The observation number refers to the
observation in the interim data set (WORK.__SASMACRO_ACLTEMP__) created by the macro.
Successful updates to ACLs made prior to the observation containing the failure will be
maintained in SAS Drug Development. Changes made to access permissions for entries that are
part of the same ACL that contained the observation with the failure will be lost.

Valid values for permissions are as follows. All values must be of type numeric.
1 for GRANT
-1 for DENY
0 for inherited.

Syntax:
%SASDRUGDEV_UPDATEACLS(SAS_DSNAME=SAS-data-set);

Example Code:
Get permissions for a folder:

* start code example;
%sasdrugdev_getacls(sdd_path=%str(/SAS/Study1/Files/folder1), sdd_recursive=0);

data UpdateACLS;
set sddGetACLS end=eof;

output;

if eof then do;
* Adding user permission under DEFAULT;
aclType = "DEFAULT";
aclPrincipalType = "USER";
aclPrincipalName = "user1";
grpSrcCtxt = "";
adminPermission = 0;
readPermission = 1;
writePropPerm = 1;
writeContentPerm = 1;
deletePermission = 1;
output;

* Adding group permission under CURRENT;
aclType = "CURRENT";
aclPrincipalType = "GROUP";
aclPrincipalName = "group1";
grpSrcCtxt = "/SAS";
adminPermission = 0;
readPermission = 1;
writePropPerm = 1;
writeContentPerm = 1;
deletePermission = 1;
output;
end;

run;

%sasdrugdev_updateacls(sas_dsname=UpdateACLS);
* end code example;

Note: Access Control Entries (ACEs) with values of 0 for all permission variables will be
removed from or will not be added to the ACL.
Note: Users and groups being added as access control entries must be members in the context
(organization, project, analysis) containing the object being updated.

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sas_dsname - - required - the name of a SAS data set containing the permission
        information for all the objects to be modified specified as libref.dataset. The
        data set must contain, at minimum, the variables listed below. Any additional
        variables will be ignored.
        - path: The case-sensitive path of the object including object name.
        - aclType: Indicates which ACL to modify for the object. For Analysis and file
        objects, the variable must be present but the value will be ignored. For
        container objects, the value must be either DEFAULT or CURRENT
        (case-insensitive).
        - aclPrincipalType: Indicates the type of ACE being updated.
        Values: ACLOWNER | ACLMEMBERS | USER | GROUP (case-insensitive)
        Default: None
        - aclPrincipalName: The name of the principal ACE being updated or added.
        For aclPrincipalType ACLOWNER, this must have the value OWNER.
        For aclPrincipalType ACLMEMBERS, this must have the value MEMBERS.
        For aclPrincipalType USER, this must be a valid userid (case-sensitive).
        For aclPrincipalType GROUP, this must be a valid group name (case-sensitive).
        - grpSrcCtxt: The case-sensitive path of the context (organization, project, or
        analysis) where the group is defined if aclPrincipalType is GROUP. For
        aclPrincipalType GROUP, this value is required, otherwise the variable must
        be present but the value will be ignored.
        - adminPermission: The permission to administer the object.
        - readPermission: The permission to view the object.
        - writePropPerm: The permission to update the properties of the object.
        - writeContentPerm: The permission to write to the content of the object.
        - deletePermission: The permission to the delete the object.
File: sasdrugdev_updateacls.sas
First available in version: 1.2

%sasdrugdev_updateanalysislead(sdd_path=, sdd_userid=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_updateanalysislead, effective with SAS LSAF Macro 1.5

Updates the current lead of an analysis in the SAS Drug Development repository.

Syntax for files:
%SASDRUGDEV_UPDATEANALYSISLEAD(SDD_PATH=sdd-path, SDD_USERID=sdd-userid);

          
History:
   2014-05-01
initial coding.
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the analysis in the SAS Drug Development repository.
sdd_userid - - required - the user ID for the account that will be the new lead.
File: sasdrugdev_updateanalysislead.sas
First available in version: 1.4

%sasdrugdev_updateanalysisstate(sdd_path=, sdd_state=, sdd_comment=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_updateanalysisstate, effective with SAS LSAF Macro 1.5

Update the state of an analysis in the SAS Drug Development repository

Syntax:
%SASDRUGDEV_UPDATEANALYSISSTATE(SDD_PATH=sdd-path, SDD_STATE=sdd-state,
< SDD_COMMENT=sdd-comment >);

          
History:
   2014-05-01
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the analysis to be updated.
sdd_state - - required - the state to set on the analysis.
        Values: DEV | PROD | CLOSED
sdd_comment - - optional - the reason for the state change.
File: sasdrugdev_updateanalysisstate.sas
First available in version: 1.4

%sasdrugdev_updatefile(local_path=, sdd_path=, sdd_comment=, sdd_version=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_updatefile, effective with SAS LSAF Macro 1.5

Updates the contents of an existing file in the SAS Drug Development repository.

If the file is versioned a new version will be created. If the file is not versioned, the
existing contents will be overwritten.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Drug Development application session will result in a failure.

Syntax:
%SASDRUGDEV_UPDATEFILE(LOCAL_PATH=local-path, SDD_PATH=sdd-path <, SDD_COMMENT=sdd-comment>,
SDD_VERSION=sdd-version-type);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
local_path - - required - the absolute path of the file on the local computer.
sdd_path - - required - the path of the content object in the SAS Drug Development
        repository to update. The object must already exist and may not be a container.
sdd_comment - - conditional - the comment for a versioned file in the repository. This
        value is ignored for non-versioned objects.
sdd_version - - conditional - the type of version to be created if the file to be
        updated is versioned. Valid values are MAJOR or MINOR. The default is MINOR. This
        value is ignored for non-versioned objects.
File: sasdrugdev_updatefile.sas
First available in version: 1.1

%sasdrugdev_updateorglead(sdd_path=, sdd_userid=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_updateorglead, effective with SAS LSAF Macro 1.5

Updates the current lead of an organization in the SAS Drug Development repository.

Syntax for files:
%SASDRUGDEV_UPDATEORGLEAD(SDD_PATH=sdd-path, SDD_USERID=sdd-userid);

          
History:
   2014-05-01
initial coding.
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the organization object in the SAS Drug Development
        repository.
sdd_userid - - required - the user ID for the account that will be the new lead.
File: sasdrugdev_updateorglead.sas
First available in version: 1.4

%sasdrugdev_updateowner(sdd_path=, sdd_aclType=, sdd_userid=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_updateowner, effective with SAS LSAF Macro 1.5

Updates the current owner of an object within the organization in the SAS Drug Development
repository.

Syntax for files:
%SASDRUGDEV_UPDATEOWNER(SDD_PATH=sdd-path, SDD_USERID=sdd-userid);

Syntax for containers:
%SASDRUGDEV_UPDATEOWNER(SDD_PATH=sdd-path, SDD_USERID=sdd-userid, SDD_ACLTYPE=sdd-acl-type);

          
History:
   2013-08-30
updates for standardization and coding conventions
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the content object in the SAS Drug Development
        repository.
sdd_aclType - - conditional - the type of permission owner being set. The valid values
        are DEFAULT and CURRENT (case-insensitive). Files only have CURRENT permissions,
        therefore, the value is not required when the sdd_path is a file. For container
        objects the value must be specified. The operation will fail if DEFAULT is
        requested for a file path.
sdd_userid - - required - the user ID for the account that will be the new owner. To set
        the owner for the DEFAULT permissions to be the creator of the objects, specify
        the value <creator> as the value for sdd-userid.
File: sasdrugdev_updateowner.sas
First available in version: 1.2

%sasdrugdev_updateprojectlead(sdd_path=, sdd_userid=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_updateprojectlead, effective with SAS LSAF Macro 1.5

Updates the current lead of a project in the SAS Drug Development repository.

Syntax for files:
%SASDRUGDEV_UPDATEPROJECTLEAD(SDD_PATH=sdd-path, SDD_USERID=sdd-userid);

          
History:
   2014-05-01
initial coding.
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the project in the SAS Drug Development repository.
sdd_userid - - required - the user ID for the account that will be the new lead.
File: sasdrugdev_updateprojectlead.sas
First available in version: 1.4

%sasdrugdev_updateprojectstate(sdd_path=, sdd_state=, sdd_comment=, sdd_include_analyses=1);

[ Exposure: external ]

Deprecated. Replaced by lsaf_updateprojectstate, effective with SAS LSAF Macro 1.5

Update the state of a project in the SAS Drug Development repository

Syntax:
%SASDRUGDEV_UPDATEPROJECTSTATE(SDD_PATH=sdd-path, SDD_STATE=sdd-state,
< SDD_COMMENT=sdd-comment, SDD_INCLUDE_ANALYSES=sdd-include-analyses >);

          
History:
   2014-05-01
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the project to be updated.
sdd_state - - required - the state to set on the project.
        Values: DEV | PROD | CLOSED
sdd_comment - - optional - the reason for the state change.
sdd_include_analyses - - optional - whether project child analyses, if any exist, should
        have their state updated as well.
        Values: 0 | 1
        If no value is supplied, the child analysis states will be updated to the same
        state value as supplied for the project.
File: sasdrugdev_updateprojectstate.sas
First available in version: 1.4

%sasdrugdev_updateproperties(sdd_path=, sas_dsname=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_updateproperties, effective with SAS LSAF Macro 1.5

Updates the editable properties of SAS Drug Development repository object using a SAS data
set as input.

The output data set from the sasdrugdev_getproperties macro contains the necessary variables
and data needed as the input data set for the sasdrugdev_updateproperties macro. The column
isReadonly flags if the field can be updated, 0 allows updates, 1 does not. Modify the
data set with any changes prior to calling sasdrugdev_updateproperties.
- Data in the input data set that do not correspond to a property of the object being updated
will be ignored.
- Values specified for properties that are not editable will be ignored.
- An input data value that is the same as the current property value will be ignored and will
not result in a property update. No audit record will be created for the property.

Organization, project, and analysis leads cannot be updated via the
sasdrugdev_updateproperties macro. Use the sasdrugdev_updateorglead,
sasdrugdev_updateprojectlead, sasdrugdev_updateanalysislead macros, to update organization,
project, and analysis leads, respectively.

Project and analysis state and state comment cannot be updated via the
sasdrugdev_updateproperties macro. Use the sasdrugdev_updateprojectstate and
sasdrugdev_updateanalysis state macros for this purpose.

Syntax:
%SASDRUGDEV_UPDATEPROPERTIES(SDD_PATH=sdd-path, SAS_DSNAME=SAS-data-set);

          
History:
   2014-04-24
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_path - - required - the path of the object in the SAS Drug Development repository.
sas_dsname - - required - the name of a SAS data set containing the property values
        to be set on the repository object specified as libref.dataset. The data set must
        contain, at minimum, the variables listed below. Any additional variables will
        be ignored.
        - name: the name of the property to be updated.
        - value: the value to set on the property.
File: sasdrugdev_updateproperties.sas
First available in version: 1.4

%sasdrugdev_updateuserinfo(sdd_userid=, sdd_displayname=_sdd_updateuser_donotupdate_, sdd_email=_sdd_updateuser_donotupdate_, sdd_accounttype=_sdd_updateuser_donotupdate_, sdd_firstname=_sdd_updateuser_donotupdate_, sdd_lastname=_sdd_updateuser_donotupdate_, sdd_department=_sdd_updateuser_donotupdate_, sdd_phone=_sdd_updateuser_donotupdate_);

[ Exposure: external ]

Deprecated. Replaced by lsaf_updateuserinfo, effective with SAS LSAF Macro 1.5

Update general user account information

Syntax:
%SASDRUGDEV_UPDATEUSERINFO(SDD_USERID=sdd-userid, < SDD_DISPLAYNAME=sdd-displayname,
SDD_EMAIL=sdd-email, SDD_ACCOUNTTYPE=sdd-accounttype, SDD_FIRSTNAME=sdd-firstname,
SDD_LASTNAME=sdd-lastname, SDD_DEPARTMENT=sdd-department, SDD_PHONE=sdd-phone >);

You must have either the Manage User Account General Information or the Manage Users global
privilege in order to update user information.

If an optional parameter is not passed in, no change to the existing user attribute value
will be made. If the parameter is pased in, the specified value will be set on the user
attribute. Parameter values must conform to SDD validation rules.

          
History:
   2014-03-27
initial coding
   2016-08-30
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
sdd_userid - - required - the user ID of the account being updated.
sdd_displayname - - optional - the user display name to be set.
sdd_email - - optional - the user email address.
sdd_accounttype - - optional - the user account type.
        Values: INTERACTIVE | NON_INTERACTIVE
sdd_firstname - - optional - the user first name.
sdd_lastname - - optional - the last name of the user.
sdd_department - - optional - the business unit of the user.
sdd_phone - - optional - the phone number of the user.
File: sasdrugdev_updateuserinfo.sas
First available in version: 1.4

%sasdrugdev_uploadandexpand(local_path=, sdd_path=, sdd_versioning=, sdd_version=, sdd_comment=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_uploadandexpand, effective with SAS LSAF Macro 1.5

Uploads and expands the contents of a zip file into the specified folder location in the SAS
Drug Development repository.

NOTE: This macro is only supported from a PC SAS session. Using this macro within an active
SAS Drug Development application session will result in a failure.

Failure and Message Handling:
The action status for each file that is being uploaded and each folder that is being created
will be printed in the log.

Syntax:
%SASDRUGDEV_UPLOADANDEXPAND(LOCAL_PATH=local-zipfile-path, SDD_PATH=sdd-path
<, SDD_VERSIONING=sdd-versioning, SDD_VERSION=sdd-version, SDD_COMMENT=sdd_comment>);

          
History:
   2013-03-18
initial code
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
Parameters:
local_path - - required - the absolute path and name of the zip file on the local
        computer.
sdd_path - - required - the path of the target folder.
sdd_versioning - - optional - indicates whether the new files being created should be
        versioned. The default value is 0, which will create a non-versioned file. A
        value of 1 will create a versioned file. The versioning status of existing
        files will not be changed.
        Values: 0 | 1
        Default: 0
sdd_version - - optional - the type of version to be created if the new files are to be
        versioned. Valid values are MAJOR or MINOR. The default is MINOR. This value is
        ignored for non-versioned objects.
sdd_comment - - conditional - the comment for the versioned file being created. This
        option is ignored when creating non-versioned files.
File: sasdrugdev_uploadandexpand.sas
First available in version: 1.4

%sasdrugdev_userexists(sdd_userid=);

[ Exposure: external ]

Deprecated. Replaced by lsaf_userexists, effective with SAS LSAF Macro 1.5

Determines whether a user exists within the system.

The macro variable _sddUserExists_ will be set to 1 if the user exists, 0 if it does not.
In the event of an incorrect call to the macro which results in an error, the return value
of _sddUserExists_ will be set to -1.

Syntax:
%SASDRUGDEV_USEREXISTS(SDD_USERID=sdd-userid);

          
History:
   2013-10-30
initial coding
   2016-08-31
rebrand for LSAF
Expected Macro Variables:
_sddMsg_ - the return message.
_sddRC_ - the return code.
_sddUserExists_ - indicates if the user exists.
Parameters:
sdd_userid - - required - the user ID of the user account to check.
File: sasdrugdev_userexists.sas
First available in version: 1.3