From d42fd4ebaccd70089eb6ad4221489602660d3c23 Mon Sep 17 00:00:00 2001 From: Allan Date: Fri, 18 Aug 2023 08:20:13 +0100 Subject: [PATCH 1/2] chore: updating documentation in preparation for upcoming sasjs snippets feature --- all.sas | 896 ++++++++++++++++-------------- base/mf_abort.sas | 5 + base/mf_deletefile.sas | 2 +- base/mf_existds.sas | 2 +- base/mf_existfileref.sas | 2 +- base/mf_existfunction.sas | 2 +- base/mf_existvarlist.sas | 4 +- base/mf_getapploc.sas | 1 + base/mf_getattrc.sas | 4 +- base/mf_getattrn.sas | 4 +- base/mf_getkeyvalue.sas | 5 +- base/mf_getplatform.sas | 2 +- base/mf_getschema.sas | 2 +- base/mf_getuniquelibref.sas | 2 +- base/mf_getuniquename.sas | 2 +- base/mf_getuser.sas | 2 - base/mf_getvalue.sas | 6 +- base/mf_getvarformat.sas | 3 +- base/mf_getvarlen.sas | 4 +- base/mf_getvarnum.sas | 4 +- base/mf_getvartype.sas | 4 +- base/mf_getxengine.sas | 2 +- base/mf_increment.sas | 4 +- base/mf_isblank.sas | 2 +- base/mf_isdir.sas | 2 +- base/mf_loc.sas | 7 +- base/mf_mkdir.sas | 2 +- base/mf_mval.sas | 2 + base/mf_nobs.sas | 2 +- base/mf_trimstr.sas | 4 +- base/mf_wordsinstr1andstr2.sas | 4 +- base/mf_wordsinstr1butnotstr2.sas | 4 +- base/mf_writefile.sas | 4 +- base/mp_abort.sas | 21 +- base/mp_aligndecimal.sas | 4 +- base/mp_appendfile.sas | 4 +- base/mp_assertcols.sas | 4 +- base/mp_assertcolvals.sas | 2 +- base/mp_base64copy.sas | 4 +- base/mp_binarycopy.sas | 10 +- base/mp_chop.sas | 2 +- base/mp_copyfolder.sas | 2 +- base/mp_createwebservice.sas | 2 +- base/mp_csv2ds.sas | 8 +- base/mp_deleteconstraints.sas | 7 +- base/mp_deletefolder.sas | 2 +- base/mp_dictionary.sas | 2 +- base/mp_distinctfmtvalues.sas | 10 +- base/mp_ds2ddl.sas | 16 +- base/mp_dsmeta.sas | 4 +- base/mp_filtercheck.sas | 10 +- base/mp_filtergenerate.sas | 4 +- base/mp_filterstore.sas | 7 +- base/mp_getcols.sas | 3 + base/mp_getdbml.sas | 8 +- base/mp_getddl.sas | 25 +- base/mp_guesspk.sas | 2 +- base/mp_hashdataset.sas | 2 +- base/mp_lib2cards.sas | 14 +- base/mp_md5.sas | 4 +- base/mp_perflog.sas | 6 +- base/mp_prevobs.sas | 10 +- base/mp_recursivejoin.sas | 13 +- base/mp_replace.sas | 9 +- base/mp_runddl.sas | 6 +- base/mp_searchcols.sas | 6 +- base/mp_stprequests.sas | 7 +- base/mp_testjob.sas | 4 +- base/mp_testwritespeedlibrary.sas | 6 +- base/mp_tree.sas | 4 +- base/mp_unzip.sas | 9 +- base/mp_updatevarlength.sas | 6 +- base/mp_wait4file.sas | 2 +- base/mp_webin.sas | 2 +- base/mp_zip.sas | 10 +- meta/mm_adduser2group.sas | 6 +- meta/mm_assigndirectlib.sas | 22 +- meta/mm_assignlib.sas | 4 +- meta/mm_createdataset.sas | 10 +- meta/mm_createdocument.sas | 14 +- meta/mm_createlibrary.sas | 37 +- meta/mm_createstp.sas | 40 +- meta/mm_createwebservice.sas | 29 +- meta/mm_deletedocument.sas | 2 +- meta/mm_deletelibrary.sas | 2 +- meta/mm_deletestp.sas | 2 +- meta/mm_getcols.sas | 4 +- meta/mm_getdetails.sas | 9 +- meta/mm_getdirectories.sas | 7 +- meta/mm_getdocument.sas | 8 +- meta/mm_getgroupmembers.sas | 10 +- meta/mm_getlibs.sas | 4 +- meta/mm_getobjects.sas | 4 +- meta/mm_getpublictypes.sas | 2 + meta/mm_getrepos.sas | 3 +- meta/mm_getroles.sas | 3 +- meta/mm_getstps.sas | 15 +- meta/mm_gettableid.sas | 8 +- meta/mm_gettree.sas | 8 +- meta/mm_gettypes.sas | 3 +- meta/mm_getusers.sas | 2 - meta/mm_getwebappsrvprops.sas | 2 +- meta/mm_tree.sas | 6 +- meta/mm_updateappextension.sas | 16 +- meta/mm_updatedocument.sas | 12 +- meta/mm_updatestpservertype.sas | 4 +- meta/mm_updatestpsourcecode.sas | 10 +- metax/mmx_createmetafolder.sas | 6 +- metax/mmx_deletemetafolder.sas | 6 +- metax/mmx_spkexport.sas | 11 +- viya/mfv_existfile.sas | 3 +- viya/mfv_existfolder.sas | 2 +- viya/mfv_existsashdat.sas | 8 +- viya/mv_createjob.sas | 30 +- viya/mv_deletefoldermember.sas | 14 +- viya/mv_deletejes.sas | 12 +- viya/mv_getclients.sas | 6 +- viya/mv_getgroupmembers.sas | 13 +- viya/mv_getgroups.sas | 10 +- viya/mv_getjobstate.sas | 10 +- viya/mv_getusergroups.sas | 11 +- viya/mv_getusers.sas | 14 +- viya/mv_tokenauth.sas | 27 +- viya/mv_tokenrefresh.sas | 21 +- 124 files changed, 974 insertions(+), 818 deletions(-) diff --git a/all.sas b/all.sas index 0d1e5815..82e61c80 100644 --- a/all.sas +++ b/all.sas @@ -21,6 +21,11 @@ options noquotelenmax; @brief Abort, ungracefully @details Will abort with a straightforward %abort if the condition is true. + @param [in] mac= (mf_abort.sas) Name of calling macro (is printed to the log) + @param [in] msg= ( ) Additional string to print to the log + @param [in] iftrue= (%str(1=1)) Conditional logic under which to perform the + abort +

Related Macros

@li mp_abort.sas @@ -108,7 +113,7 @@ options noquotelenmax; %mf_deletefile(&sasjswork/myfile.txt) - @param filepath Full path to the target file + @param [in] file Full path to the target file @returns The return code from the fdelete() invocation @@ -139,7 +144,7 @@ options noquotelenmax; expected results (depending on whether you 'expect' the result to be case insensitive in this context!) - @param libds library.dataset + @param [in] libds library.dataset @return output returns 1 or 0

Related Macros

@@ -222,7 +227,7 @@ options noquotelenmax; @details You can probably do without this macro as it is just a one liner. Mainly it is here as a convenient way to remember the syntax! - @param fref the fileref to detect + @param [in] fref the fileref to detect @return output Returns 1 if found and 0 if not found. Note - it is possible that the fileref is found, but the file does not (yet) exist. If you need @@ -267,7 +272,7 @@ options noquotelenmax; https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md#functionexists-macro ). - @param [in] name (positional) - function name + @param [in] name function name @author Allan Bowe **/ @@ -335,8 +340,8 @@ https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md#functionex %put %mf_existVarList(sashelp.class, age sex name dummyvar); - @param libds 2 part dataset or view reference - @param varlist space separated variable names + @param [in] libds 2 part dataset or view reference + @param [in] varlist space separated variable names @version 9.2 @author Allan Bowe @@ -457,6 +462,7 @@ https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md#functionex %put %mf_getapploc(/some/location/jobs/extract/somejob/); %put %mf_getapploc(/some/location/tests/jobs/somejob/); + @param [in] pgm The _program value from which to extract the appLoc @author Allan Bowe **/ @@ -509,8 +515,8 @@ or %index(&pgm,/tests/testteardown) %put Dataset label = %mf_getattrc(sashelp.class,LABEL); %put Member Type = %mf_getattrc(sashelp.class,MTYPE); - @param libds library.dataset - @param attr full list in [documentation]( + @param [in] libds library.dataset + @param [in] attr full list in [documentation]( https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000147794.htm) @return output returns result of the attrc value supplied, or -1 and log message if err. @@ -542,8 +548,8 @@ or %index(&pgm,/tests/testteardown) %put Number of observations=%mf_getattrn(sashelp.class,NLOBS); %put Number of variables = %mf_getattrn(sashelp.class,NVARS); - @param libds library.dataset - @param attr Common values are NLOBS and NVARS, full list in [documentation]( + @param [in] libds library.dataset + @param [in] attr Common values are NLOBS and NVARS, full list in [documentation]( http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000212040.htm) @return output returns result of the attrn value supplied, or -1 and log message if err. @@ -831,8 +837,9 @@ or %index(&pgm,/tests/testteardown) %put %mf_getkeyvalue(someindex) - @param key Provide a key on which to perform the lookup - @param libds= define the target table which holds the parameters + @param [in] key Provide a key on which to perform the lookup + @param [in] libds= (work.mp_setkeyvalue) The library.dataset which holds the + parameters @version 9.2 @author Allan Bowe @@ -867,7 +874,7 @@ or %index(&pgm,/tests/testteardown) @li SASJS @li BASESAS - @param switch the param for which to return a platform specific variable + @param [in] switch the param for which to return a platform specific variable

SAS Macros

@li mf_mval.sas @@ -994,7 +1001,7 @@ or %index(&pgm,/tests/testteardown) returns: > dbo - @param libref Library reference (also accepts a 2 level libds ref). + @param [in] libref Library reference (also accepts a 2 level libds ref). @return output returns the library schema for the FIRST library encountered @@ -1107,7 +1114,7 @@ or %index(&pgm,/tests/testteardown) @param [in] prefix= (mclib) first part of the returned libref. As librefs can be as long as 8 characters, a maximum length of 7 characters is premitted for this prefix. - @param [in] maxtries= Deprecated parameter. Remains here to ensure a + @param [in] maxtries= (1000) Deprecated parameter. Remains here to ensure a non-breaking change. Will be removed in v5. @version 9.2 @@ -1154,7 +1161,7 @@ or %index(&pgm,/tests/testteardown) > MCc59c750610321d4c8bf75faadbcd22 - @param prefix= set a prefix for the new name + @param prefix= (MC) Sets a prefix for the new name @version 9.3 @author Allan Bowe @@ -1178,8 +1185,6 @@ or %index(&pgm,/tests/testteardown) %let user= %mf_getUser(); %put &user; - @param type - do not use, may be deprecated in a future release - @return SYSUSERID (if workspace server) @return _METAPERSON (if stored process server) @return SYS_COMPUTE_SESSION_OWNER (if Viya compute session) @@ -1222,9 +1227,9 @@ or %index(&pgm,/tests/testteardown)

Related Macros

@li mp_setkeyvalue.sas - @param libds dataset to query - @param variable the variable which contains the value to return. - @param filter contents of where clause + @param [in] libds dataset to query + @param [in] variable the variable which contains the value to return. + @param [in] filter= (1) contents of where clause @version 9.2 @author Allan Bowe @@ -1317,7 +1322,8 @@ or %index(&pgm,/tests/testteardown) @param [in] libds Two part dataset (or view) reference. @param [in] var Variable name for which a format should be returned - @param [in] force=(0) Set to 1 to supply a default if the variable has no format + @param [in] force= (0) Set to 1 to supply a default if the variable has no + format @returns outputs format @author Allan Bowe @@ -1381,8 +1387,8 @@ or %index(&pgm,/tests/testteardown) 8 NOTE: Variable renegade does not exist in test - @param libds Two part dataset (or view) reference. - @param var Variable name for which a length should be returned + @param [in] libds Two part dataset (or view) reference. + @param [in] var Variable name for which a length should be returned @returns outputs length @author Allan Bowe @@ -1512,8 +1518,8 @@ returns: > NOTE: Variable renegade does not exist in test - @param libds Two part dataset (or view) reference. - @param var Variable name for which a position should be returned + @param [in] libds Two part dataset (or view) reference. + @param [in] var Variable name for which a position should be returned @author Allan Bowe @version 9.2 @@ -1561,8 +1567,8 @@ Usage: - @param libds Two part dataset (or view) reference. - @param var the variable name to be checked + @param [in] libds Two part dataset (or view) reference. + @param [in] var the variable name to be checked @return output returns C or N depending on variable type. If variable does not exist then a blank is returned and a note is written to the log. @@ -1609,7 +1615,7 @@ Usage: returns: > TEMP - @param fref The fileref to check + @param [in] fref The fileref to check @returns The XENGINE value in sashelp.vextfl or 0 if not found. @@ -1653,8 +1659,8 @@ Usage: %put Now we have run %mf_increment(cnt) lines; %put There are %mf_increment(cnt) lines in total; - @param [in] MACRO_NAME the name of the macro variable to increment - @param [in] ITER= The amount to add or subtract to the macro + @param [in] macro_name The name of the macro variable to increment + @param [in] incr= (1) The amount to add or subtract to the macro

Related Files

@li mf_increment.test.sas @@ -1683,7 +1689,7 @@ Usage: inspiration: https://support.sas.com/resources/papers/proceedings09/022-2009.pdf - @param param VALUE to be checked + @param [in] Param VALUE to be checked @return output returns 1 (if blank) else 0 @@ -1706,7 +1712,7 @@ Usage: With thanks and full credit to Andrea Defronzo - https://www.linkedin.com/in/andrea-defronzo-b1a47460/ - @param path full path of the file/directory to be checked + @param [in] path Full path of the file/directory to be checked @return output returns 1 if path is a directory, 0 if it is not @@ -1811,6 +1817,10 @@ Usage: %put %mf_loc(POF); %*location of PlatformObjectFramework tools; + @param [in] loc The item to locate, eg: + @li PLAATFORMOBJECTFRAMEWORK (or POF) + @li VIYACONFG + @version 9.2 @author Allan Bowe **/ @@ -1820,7 +1830,8 @@ Usage: %local root; %if &loc=POF or &loc=PLATFORMOBJECTFRAMEWORK %then %do; - %let root=%substr(%sysget(SASROOT),1,%index(%sysget(SASROOT),SASFoundation)-2); + %let root=%sysget(SASROOT); + %let root=%substr(&root,1,%index(&root,SASFoundation)-2); %let root=&root/SASPlatformObjectFramework/&sysver; %put Batch tools located at: &root; &root @@ -1841,7 +1852,7 @@ Usage: %mf_mkdir(/some/path/name) - @param dir relative or absolute pathname. Unquoted. + @param [in] dir Relative or absolute pathname. Unquoted. @version 9.2 **/ @@ -1909,6 +1920,8 @@ Usage: %if %mf_mval(maynotexist)=itdid %then %do; + @param [in] var The macro variable NAME to return the (possible) value for + @version 9.2 @author Allan Bowe **/ @@ -1929,7 +1942,7 @@ Usage:

SAS Macros

@li mf_getattrn.sas - @param libds library.dataset + @param [in] libds library.dataset @return output returns result of the attrn value supplied, or log message if err. @@ -2019,8 +2032,8 @@ Usage:

SAS Macros

- @param basestr The string to be modified - @param trimstr The string to be removed from the end of `basestr`, if it + @param [in] basestr The string to be modified + @param [in] trimstr The string to be removed from the end of `basestr`, if it exists @return output returns result with the value of `trimstr` removed from the end @@ -2162,8 +2175,8 @@ Usage: returns: > blah blaaah brah - @param str1= string containing words to extract - @param str2= used to compare with the extract string + @param [in] str1= () string containing words to extract + @param [in] str2= () used to compare with the extract string @warning CASE SENSITIVE! @@ -2218,8 +2231,8 @@ Usage: returns: > sss bram boo - @param [in] str1= string containing words to extract - @param [in] str2= used to compare with the extract string + @param [in] str1= () String containing words to extract + @param [in] str2= () Used to compare with the extract string @version 9.2 @author Allan Bowe @@ -2277,8 +2290,8 @@ Usage: @param [in] mode= (O) Available options are A or O as follows: @li A APPEND mode, writes new records after the current end of the file. @li O OUTPUT mode, writes new records from the beginning of the file. - @param [in] l1= First line - @param [in] l2= Second line (etc through to l10) + @param [in] l1= () First line + @param [in] l2= () Second line (etc through to l10)

Related Macros

@li mf_writefile.test.sas @@ -2349,14 +2362,15 @@ Usage: currently investigating approaches to deal with this. - @param mac= (mp_abort.sas) To contain the name of the calling macro. Do not - use &sysmacroname as this will always resolve to MP_ABORT. - @param msg= message to be returned - @param iftrue= (1=1) Supply a condition for which the macro should be executed - @param errds= (work.mp_abort_errds) There is no clean way to end a process - within a %include called within a macro. Furthermore, there is no way to - test if a macro is called within a %include. To handle this particular - scenario, the %include should be switched for the mp_include.sas macro. + @param [in] mac= (mp_abort.sas) To contain the name of the calling macro. Do + not use &sysmacroname as this will always resolve to MP_ABORT. + @param [out] msg= message to be returned + @param [in] iftrue= (1=1) Condition under which the macro should be executed + @param [in] errds= (work.mp_abort_errds) There is no clean way to end a + process within a %include called within a macro. Furthermore, there is no + way to test if a macro is called within a %include. To handle this + particular scenario, the %include should be switched for the mp_include.sas + macro. This provides an indicator that we are running a macro within a \%include (`_SYSINCLUDEFILEDEVICE`) and allows us to provide a dataset with the abort values (msg, mac). @@ -2367,8 +2381,8 @@ Usage: @li msg (the message) @li mac (the mac param) - @param mode= (REGULAR) If mode=INCLUDE then the &errds dataset is checked for - an abort status. + @param [in] mode= (REGULAR) If mode=INCLUDE then the &errds dataset is checked + for an abort status. Valid values: @li REGULAR (default) @li INCLUDE @@ -2721,8 +2735,8 @@ and %superq(SYSPROCESSNAME) ne %str(Compute Server) 7998580.8415 - @param var The (data step, character) variable to modify - @param width= (8) The number of characters BEFORE the decimal point + @param [in] var The (data step, character) variable to modify + @param [in] width= (8) The number of characters BEFORE the decimal point

SAS Macros

@li mf_getuniquename.sas @@ -2771,8 +2785,8 @@ and %superq(SYSPROCESSNAME) ne %str(Compute Server) %mp_appendfile(baseref=tmp1, appendrefs=tmp2 tmp3) - @param [in] baseref= Fileref of the base file (should exist) - @param [in] appendrefs= One or more filerefs to be appended to the base + @param [in] baseref= (0) Fileref of the base file (should exist) + @param [in] appendrefs= (0) One or more filerefs to be appended to the base fileref. Space separated. @version 9.2 @@ -3076,8 +3090,8 @@ run; @param [in] inds The input library.dataset to test for values - @param [in] cols= The list of columns to check for - @param [in] desc= (Testing observations) The user provided test description + @param [in] cols= (0) The list of columns to check for + @param [in] desc= (0) The user provided test description @param [in] test= (ALL) The test to apply. Valid values are: @li ALL - Test is a PASS if ALL columns exist in &inds @li ANY - Test is a PASS if ANY of the columns exist in &inds @@ -3225,7 +3239,7 @@ run; @param [in] indscol The input library.dataset.column to test for values - @param [in] checkvals= A library.dataset.column value containing a UNIQUE + @param [in] checkvals= (0) A library.dataset.column value containing a UNIQUE list of values to be compared against the source (indscol). @param [in] desc= (Testing observations) The user provided test description @param [in] test= (ALLVALS) The test to apply. Valid values are: @@ -3655,8 +3669,8 @@ run; put _infile_; run; - @param [in] inref= Fileref of the input file (should exist) - @param [out] outref= Output fileref. If it does not exist, it is created. + @param [in] inref= (0) Fileref of the input file (should exist) + @param [out] outref= (0) Output fileref. If it does not exist, it is created. @param [in] action= (ENCODE) The action to take. Valid values: @li ENCODE - Convert the file to base64 format @li DECODE - Decode the file from base64 format @@ -3765,13 +3779,13 @@ run; %mp_binarycopy(inref=tmp1, outref=tmp2, mode=APPEND) - @param [in] inloc quoted "path/and/filename.ext" of the file to be copied - @param [out] outloc quoted "path/and/filename.ext" of the file to be created - @param [in] inref (____in) If provided, this fileref will take precedence over + @param [in] inloc= () quoted "path/and/filename.ext" of the file to be copied + @param [out] outloc= () quoted "path/and/filename.ext" of the file to create + @param [in] inref= (____in) If provided, this fileref takes precedence over the `inloc` parameter - @param [out] outref (____in) If provided, this fileref will take precedence + @param [out] outref= (____in) If provided, this fileref takes precedence over the `outloc` parameter. It must already exist! - @param [in] mode (CREATE) Valid values: + @param [in] mode= (CREATE) Valid values: @li CREATE - Create the file (even if it already exists) @li APPEND - Append to the file (don't overwrite) @param iftrue= (1=1) Supply a condition for which the macro should be executed @@ -3866,7 +3880,7 @@ run; For more examples, see mp_chop.test.sas @param [in] infile The QUOTED path to the file on which to perform the chop - @param [in] matchvar= Macro variable NAME containing the string to split by + @param [in] matchvar= () Macro variable NAME containing the string to split by @param [in] matchpoint= (START) Valid values: @li START - chop at the beginning of the string in `matchvar`. @li END - chop at the end of the string in `matchvar`. @@ -4204,7 +4218,7 @@ drop table &ddlds,&cntlds; @param [in] source Unquoted path to the folder to copy from. @param [out] target Unquoted path to the folder to copy to. - @param [in] copymax=(MAX) Set to a positive integer to indicate the level of + @param [in] copymax= (MAX) Set to a positive integer to indicate the level of subdirectory copy recursion - eg 3, to go `./3/levels/deep`. For unlimited recursion, set to MAX. @@ -4413,7 +4427,7 @@ run; %mend mp_createconstraints; /** @file mp_createwebservice.sas - @brief Create a web service in SAS 9, Viya or SASjs Server + @brief Create a web service in SAS 9, Viya or SASjs Server (legacy) @details This is actually a wrapper for mx_createwebservice.sas, remaining for legacy purposes. For new apps, use mx_createwebservice.sas. @@ -4464,11 +4478,11 @@ run; %mp_csv2ds(inref=mycsv,outds=myds,baseds=sashelp.class) - @param inref= fileref to the CSV - @param outds= output ds (lib.ds format) - @param view= Set to YES or NO to determine whether the output should be + @param inref= (0) Fileref to the CSV + @param outds= (0) Output ds (lib.ds format) + @param view= (NO) Set to YES or NO to determine whether the output should be a view or not. Default is NO (not a view). - @param baseds= Template dataset on which to create the input statement. + @param baseds= (0) Template dataset on which to create the input statement. Is used to determine types, lengths, and any informats. @version 9.2 @@ -4601,9 +4615,10 @@ run; %mp_getconstraints(lib=work,ds=example,outds=work.constraints) %mp_deleteconstraints(inds=work.constraints,outds=dropped,execute=YES) - @param inds= The input table containing the constraint info - @param outds= a table containing the drop statements (drop_statement column) - @param execute= `YES|NO` - default is NO. To actually drop, use YES. + @param inds= (mp_getconstraints) The input table containing constraint info + @param outds= (mp_deleteconstraints) Table containing the drop statements + (drop_statement column) + @param execute= (NO) `YES|NO` - default is NO. To actually drop, use YES. @version 9.2 @@ -4650,7 +4665,7 @@ run; %mp_deletefolder(&rootdir) - @param path Unquoted path to the folder to delete. + @param [in] folder Unquoted path to the folder to delete.

SAS Macros

@li mf_getuniquename.sas @@ -4733,7 +4748,7 @@ run; ![](https://user-images.githubusercontent.com/4420615/188278365-2987db97-0594-4a39-ac81-dbacdef5cdc8.png) - @param lib= (WORK) The libref in which to create the views + @param [in] lib= (WORK) The libref in which to create the views

Related Files

@li mp_dictionary.test.sas @@ -5025,11 +5040,11 @@ drop table &out_ds; %mp_distinctfmtvalues(libds=sashelp.class,var=age,outvar=age,outds=test) - @param libds input dataset - @param var variable to get distinct values for - @param outvar variable to create. Default: `formatted_value` - @param outds dataset to create. Default: work.mp_distinctfmtvalues - @param varlen length of variable to create (default 200) + @param [in] libds= () input dataset + @param [in] var= (0) variable to get distinct values for + @param [out] outvar= (formatteed_value) variable to create. + @param [out] outds= (work.mp_distinctfmtvalues) dataset to create. + @param [in] varlen= (2000) length of variable to create @version 9.2 @author Allan Bowe @@ -5614,9 +5629,21 @@ run; %mend mp_ds2csv;/** @file - @brief A wrapper for mp_getddl.sas - @details In the next release, this will be the main version. - + @brief Fetches DDL for a specific table + @details Uses mp_getddl under the hood + + @param [in] libds library.dataset to create ddl for + @param [in] fref= (getddl) the fileref to which to _append_ the DDL. If it + does not exist, it will be created. + @param [in] flavour= (SAS) The type of DDL to create. Options: + @li SAS + @li TSQL + + @param [in]showlog= (NO) Set to YES to show the DDL in the log + @param [in] schema= () Choose a preferred schema name (default is to use + actual schema, else libref) + @param applydttm= (NO) For non SAS DDL, choose if columns are created with + native datetime2 format or regular decimal type

SAS Macros

@li mp_getddl.sas @@ -6198,8 +6225,8 @@ options varlenchk=&optval; https://support.sas.com/resources/papers/proceedings14/1549-2014.pdf) by [Louise Hadden](https://www.linkedin.com/in/louisehadden/). - @param libds The library.dataset to export the metadata for - @param outds= (work.dsmeta) The output table to contain the metadata + @param [in] libds The library.dataset to export the metadata for + @param [out] outds= (work.dsmeta) The output table to contain the metadata

Related Files

@li mp_dsmeta.test.sas @@ -6296,10 +6323,12 @@ drop table &ds1, &ds2; @param [in] targetds= The target dataset against which to verify VARIABLE_NM. This must be available (ie, the library must be assigned). @param [out] abort= (YES) If YES will call mp_abort.sas on any exceptions - @param [out] outds= The output table, which is a copy of the &inds. table - plus a REASON_CD column, containing only bad records. If bad records found, - the SYSCC value will be set to 1008 (general data problem). Downstream - processes should check this table (and return code) before continuing. + @param [out] outds= (work.badrecords) The output table, which is a copy of the + &inds. table plus a REASON_CD column, containing only bad records. + If bad records are found, the SYSCC value will be set to 1008 + (a general data problem). + Downstream processes should check this table (and return code) before + continuing.

SAS Macros

@li mp_abort.sas @@ -6561,8 +6590,8 @@ run; > ) @param [in] inds The input table with query values - @param [out] outref= The output fileref to contain the filter clause. Will - be created (or replaced). + @param [out] outref= (filter) The output fileref to contain the filter clause. + Will be created (or replaced).

Related Macros

@li mp_filtercheck.sas @@ -6659,9 +6688,10 @@ filename &outref temp; mp_coretable.sas as follows: `mp_coretable(LOCKTABLE)`. @param [in] maxkeytable= (0) Optional permanent reference table used for retained key tracking. Described in mp_retainedkey.sas. - @param [in] mdebug= set to 1 to enable DEBUG messages - @param [out] outresult= The result table with the FILTER_RK - @param [out] outquery= The original query, taken as extract after table load + @param [in] mdebug= (1) set to 1 to enable DEBUG messages + @param [out] outresult= (work.result) The result table with the FILTER_RK + @param [out] outquery= (work.query) The original query, taken as extract + after table load

SAS Macros

@@ -6993,6 +7023,9 @@ filename &fref1 clear; |`DATE `|`8 `|`1 `|`DATE `|`MONYY `|`MONYY. `|`N `|`DATE `| |`REGION `|`3 `|`3 `|`REGION `|` `|`$3. `|`C `|`CHARACTER `| + @param [in] ds The dataset to get the columns from + @param [out] outds= (work.cols) The dataset to create +

Related Macros

@li mf_getvarlist.sas @li mm_getcols.sas @@ -7176,10 +7209,10 @@ create table &outds as @li mf_getquotedstr.sas @li mp_getconstraints.sas - @param liblist= Space seperated list of librefs to take as - input (Default=SASHELP) - @param outref= Fileref to contain the DBML (Default=getdbml) - @param showlog= set to YES to show the DBML in the log (Default is NO) + @param [in] liblist= (SASHELP) Space seperated list of librefs to take as + input + @param [out] outref= (getdbml) Fileref to contain the DBML + @param [in] showlog= (NO) set to YES to show the DBML in the log @version 9.3 @author Allan Bowe @@ -7509,16 +7542,21 @@ run; @li mf_getvarcount.sas @li mp_getconstraints.sas - @param lib libref of the library to create DDL for. Should be assigned. - @param ds dataset to create ddl for (optional) - @param fref= the fileref to which to _append_ the DDL. If it does not exist, - it will be created. - @param flavour= The type of DDL to create (default=SAS). Supported=TSQL - @param showlog= Set to YES to show the DDL in the log - @param schema= Choose a preferred schema name (default is to use actual schema - ,else libref) - @param applydttm= for non SAS DDL, choose if columns are created with native - datetime2 format or regular decimal type + @param [in] libref Libref of the library to create DDL for. Should already + be assigned. + @param [in] ds dataset to create ddl for (optional) + @param [in] fref= (getddl) the fileref to which to _append_ the DDL. If it + does not exist, it will be created. + @param [in] flavour= (SAS) The type of DDL to create. Options: + @li SAS + @li TSQL + + @param [in]showlog= (NO) Set to YES to show the DDL in the log + @param [in] schema= () Choose a preferred schema name (default is to use + actual schema, else libref) + @param applydttm= (NO) For non SAS DDL, choose if columns are created with + native datetime2 format or regular decimal type + @version 9.3 @author Allan Bowe **/ @@ -8795,7 +8833,7 @@ run; %mp_guesspk(sashelp.class,outds=classpks) @param [in] baseds The dataset to analyse - @param [out] outds= The output dataset to contain the possible PKs + @param [out] outds= (mp_guesspk) Output dataset to contain the possible PKs @param [in] max_guesses= (3) The total number of possible primary keys to generate. A table may have multiple (unlikely) PKs, so no need to list them all. @@ -9132,7 +9170,7 @@ run; @li mp_hashdirectory.sas @param [in] libds dataset to hash - @param [in] salt= Provide a salt (could be, for instance, the dataset name) + @param [in] salt= () Provide a salt (could be, for instance, the dataset name) @param [in] iftrue= (1=1) A condition under which the macro should be executed @param [out] outds= (work._data_) The output dataset to create. This will contain one column (hashkey) with one observation (a $hex32. @@ -9974,19 +10012,19 @@ options @li mf_trimstr.sas @li mp_ds2cards.sas - @param [in] lib= Library in which to convert all datasets - @param [out] outloc= Location in which to store output. Defaults to WORK - library. No quotes. - @param [out] outfile= Optional output file NAME - if provided, then will create - a single output file instead of one file per input table. - @param [in] maxobs= limit output to the first maxobs observations + @param [in] lib= () Library in which to convert all datasets + @param [out] outloc= (%sysfunc(pathname(work))) Location in which to store + output. No quotes. + @param [out] outfile= (0) Optional output file NAME - if provided, then + will create a single output file instead of one file per input table. + @param [in] maxobs= (max) limit output to the first maxobs rows @version 9.2 @author Allan Bowe **/ %macro mp_lib2cards(lib= - ,outloc=%sysfunc(pathname(work)) /* without trailing slash */ + ,outloc=%sysfunc(pathname(work)) ,maxobs=max ,random_sample=NO ,outfile=0 @@ -10952,8 +10990,8 @@ drop table &ds1, &ds2; @li Global option: `options dsoptions=nonote2err;` @li Data step option: `data YOURLIB.YOURDATASET /nonote2err;` - @param cvars= Space seperated list of character variables - @param nvars= Space seperated list of numeric variables + @param cvars= () Space seperated list of character variables + @param nvars= () Space seperated list of numeric variables

Related Programs

@li mp_init.sas @@ -10992,9 +11030,9 @@ put(md5( %mp_perflog(finished) - @param label Provide label to go into the control dataset - @param libds= Provide a dataset in which to store performance stats. Default - name is work.mp_perflog; + @param [in] label Provide label to go into the control dataset + @param [in] libds= (work.mp_perflog) Provide a dataset in which to store + performance stats. Default name is work.mp_perflog; @version 9.2 @author Allan Bowe @@ -11057,12 +11095,12 @@ put(md5( Credit is made to `data _null_` for authoring this very helpful paper: https://www.lexjansen.com/pharmasug/2008/cc/CC08.pdf - @param action Either FETCH a current or previous record, or INITialise. - @param record The relative (to current) position of the previous observation + @param [in] action Either FETCH a current or previous record, or INITialise. + @param [in] record The relative (to current) position of the previous row to return. - @param history= The number of records to retain in the hash table. Default=5 - @param prefix= the prefix to give to the variables used to store the hash name - and index. Default=mp_prevobs + @param [in] history= (5) The number of records to retain in the hash table. + @param prefix= (mp_prevobs) The prefix to give to the variables used to + store the hash name and index. @version 9.2 @author Allan Bowe @@ -11133,12 +11171,13 @@ put(md5( ,childvar=c ) - @param base_ds= base table containing hierarchy (not modified) - @param outds= the output dataset to create with the generated hierarchy - @param matchval= the ultimate parent from which to filter - @param parentvar= name of the parent variable - @param childvar= name of the child variable (should be same type as parent) - @param mdebug= set to 1 to prevent temp tables being dropped + @param [in] base_ds= base table containing hierarchy (not modified) + @param [out] outds= the output dataset to create with the generated hierarchy + @param [in] matchval= the ultimate parent from which to filter + @param [in] parentvar= name of the parent variable + @param [in] childvar= () name of the child variable (should be same type as + parent) + @param [in] mdebug= set to 1 to prevent temp tables being dropped @returns outds contains the following variables: @@ -11232,10 +11271,11 @@ insert into &outds select distinct * from &append_ds; Note - if you are running a version of SAS that will allow the io package in LUA, you can also use this macro: mp_gsubfile.sas - @param infile The QUOTED path to the file on which to perform the substitution - @param findvar= Macro variable NAME containing the string to search for - @param replacevar= Macro variable NAME containing the replacement string - @param outfile= (0) Optional QUOTED path to the adjusted output file (to + @param [in] infile The QUOTED path to the file on which to perform the + substitution + @param [in] findvar= Macro variable NAME containing the string to search for + @param [in] replacevar= Macro variable NAME containing the replacement string + @param [out] outfile= (0) Optional QUOTED path to the adjusted output file (to avoid overwriting the first file).

SAS Macros

@@ -11693,9 +11733,9 @@ run; %mp_runddl(/some/rootlib, exc=LIBREF3) * same as above ; - @param path location of the DDL folder structure - @param inc= list of librefs to include - @param exc= list of librefs to exclude (takes precedence over inc=) + @param [in] path location of the DDL folder structure + @param [in] inc= list of librefs to include + @param [in] exc= list of librefs to exclude (takes precedence over inc=) @version 9.3 @author Allan Bowe @@ -11719,12 +11759,12 @@ run; %mp_searchcols(libs=sashelp work, cols=name sex age) - @param libs=(SASHELP) Space separated list of libraries to search for columns + @param libs= (SASHELP) Space separated list of libraries to search for columns @param cols= Space separated list of column names to search for (not case sensitive) - @param outds=(mp_searchcols) the table to create with the results. Will have + @param outds= (mp_searchcols) the table to create with the results. Will have one line per table match. - @param match=(ANY) The match type. Valid values: + @param match= (ANY) The match type. Valid values: @li ANY - The table contains at least one of the columns @li WILD - The table contains a column with a name that partially matches @@ -12958,9 +12998,10 @@ create table &outds as %mp_stprequests(status_cd=INIT, libds=YOURLIB.DATASET ) - @param status_cd= Use INIT for INIT and TERM for TERM events - @param libds= Location of base table (library.dataset). To minimise risk - of table locks, we HIGHLY recommend using a database (NOT a SAS dataset). + @param [in] status_cd= Use INIT for INIT and TERM for TERM events + @param [in] libds= (somelib.stp_requests) Location of base table + (library.dataset). To minimise risk of table locks, we HIGHLY recommend + using a database (NOT a SAS dataset). THE LIBRARY SHOULD BE ASSIGNED ALREADY - eg in autoexec or earlier in the init program proper. @@ -13230,8 +13271,8 @@ run; duration=60*5 ) - @param [in] duration= the time in seconds which the job should run for. Actual - time may vary, as the check is done in between steps. Default = 30 (seconds). + @param [in] duration= (30) The time in seconds which the job should run for. + Actual time may vary, as the check is done in between steps.

SAS Macros

@li mf_getuniquelibref.sas @@ -13363,9 +13404,9 @@ libname &lib clear; ,outds=work.results ) - @param lib= (WORK) The library in which to create the table - @param size= (0.1) The size in GB of the table to create - @param outds= (WORK.RESULTS) The output dataset to be created. + @param [in] lib= (WORK) The library in which to create the table + @param [in] size= (0.1) The size in GB of the table to create + @param [out] outds= (WORK.RESULTS) The output dataset to be created.

SAS Macros

@li mf_getuniquename.sas @@ -13425,8 +13466,8 @@ https://communities.sas.com/t5/SAS-Programming/listing-all-files-within-a-direct https://communities.sas.com/t5/SAS-Programming/listing-all-files-of-all-types-from-all-subdirectories/m-p/334113/highlight/true#M75419 - @param dir= Directory to be scanned (default=/tmp) - @param outds= Dataset to create (default=work.mp_tree) + @param [in] dir= (/tmp) Directory to be scanned + @param [out] outds= (work.mp_tree) Dataset to create @returns outds contains the following variables: @@ -13493,11 +13534,12 @@ run; %mp_unzip(ziploc="/some/file.zip",outdir=/some/folder) - More info: https://blogs.sas.com/content/sasdummy/2015/05/11/using-filename-zip-to-unzip-and-read-data-files-in-sas/ + More info: + https://blogs.sas.com/content/sasdummy/2015/05/11/using-filename-zip-to-unzip-and-read-data-files-in-sas/ - @param ziploc= Fileref or quoted full path to zip file ("/path/to/file.zip") - @param outdir= (%sysfunc(pathname(work))) Directory in which to write the - outputs (created if non existant) + @param [in] ziploc= Fileref or quoted full path, eg: "/path/to/file.zip" + @param [out] outdir= (%sysfunc(pathname(work))) Directory in which to write + the outputs (created if needed)

SAS Macros

@li mf_mkdir.sas @@ -13584,9 +13626,9 @@ filename &f2 clear; proc sql; describe table example; - @param libds the library.dataset to be modified - @param var The variable to modify - @param len The new length to apply + @param [in] libds the library.dataset to be modified + @param [in] var The variable to modify + @param [in] len The new length to apply

SAS Macros

@li mf_existds.sas @@ -13771,7 +13813,7 @@ alter table &libds modify &var char(&len); @param [in] file The file to wait for. Must be provided. @param [in] maxwait= (0) Number of seconds to wait. If set to zero, will loop indefinitely (to a maximum of 46 days, per SAS [documentation]( - https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a001418809.htm + https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a001418809.htm )). Otherwise, execution will proceed upon sleep expiry. @param [in] interval= (1) The wait period between sleeps, in seconds @@ -13812,7 +13854,7 @@ run; Usage: - %mp_webin() + %mp_webin() This was created as a macro procedure (over a macro function) as it will also use the filename statement in Viya environments (where `_webin_fileuri` is @@ -13867,14 +13909,14 @@ run;

SAS Macros

@li mp_dirlist.sas - @param in= unquoted filepath, dataset of files or directory to zip - @param type= (FILE) Valid values: + @param [in] in= unquoted filepath, dataset of files or directory to zip + @param [in] type= (FILE) Valid values: @li FILE - /full/path/and/filename.extension to a particular file @li DATASET - a dataset containing a list of files to zip (see `incol`) @li DIRECTORY - a directory to zip - @param outname= (FILE) Output file to create, _without_ .zip extension - @param outpath= (%sysfunc(pathname(WORK))) Parent folder for output zip file - @param incol= if DATASET input, say which column contains the filepath + @param [out] outname= (FILE) Output file to create, _without_ .zip extension + @param [out] outpath= (%sysfunc(pathname(WORK))) Parent folder for zip file + @param [in] incol= () If DATASET input, say which column contains the filepath

Related Macros

@li mp_unzip.sas @@ -14194,9 +14236,9 @@ ods package close; ,group=someGroup) - @param user= the user name (not displayname) - @param group= the group to which to add the user - @param mdebug= (0) set to 1 to show debug info in log + @param [in] user= the user name (not displayname) + @param [in] group= the group to which to add the user + @param [in] mdebug= (0) set to 1 to show debug info in log

Related Files

@li ms_adduser2group.sas @@ -14301,12 +14343,13 @@ filename __us2grp clear; @li mf_getengine.sas @li mp_abort.sas - @param libref the libref (not name) of the metadata library - @param open_passthrough= provide an alias to produce the CONNECT TO statement - for the relevant external database - @param sql_options= an override default output fileref to avoid naming clash - @param mDebug= set to 1 to show debug messages in the log - @param mAbort= set to 1 to call %mp_abort(). + @param [in] libref the libref (not name) of the metadata library + @param [in] open_passthrough= () Provide an alias to produce the CONNECT TO + statement for the relevant external database + @param [in] sql_options= () Add any options to add to proc sql statement, + eg outobs= (only valid for pass through) + @param [in] mDebug= (0) set to 1 to show debug messages in the log + @param [in] mAbort= (0) set to 1 to call %mp_abort(). @returns libname statement @@ -14316,12 +14359,9 @@ filename __us2grp clear; **/ %macro mm_assigndirectlib( - libref /* libref to assign from metadata */ - ,open_passthrough= /* provide an alias to produce the - CONNECT TO statement for the - relevant external database */ - ,sql_options= /* add any options to add to proc sql statement eg outobs= - (only valid for pass through) */ + libref + ,open_passthrough= + ,sql_options= ,mDebug=0 ,mAbort=0 )/*/STORE SOURCE*/; @@ -14760,8 +14800,8 @@ run; @li mp_abort.sas @param [in] libref The libref (not name) of the metadata library - @param [in] mAbort= If not assigned, HARD will call %mp_abort(), SOFT will - silently return + @param [in] mAbort= (HARD) If not assigned, HARD will call %mp_abort(), SOFT + will silently return @returns libname statement @@ -15022,12 +15062,12 @@ run; @li mm_gettables.sas @li mm_getcols.sas - @param libds= library.dataset metadata source. Note - table names in metadata + @param [in] libds= library.dataset metadata source. Note - table names in metadata can be longer than 32 chars (just fyi, not an issue here) - @param tableuri= Metadata URI of the table to be created - @param outds= (work.mm_createdataset) The dataset to create. The table name - needs to be 32 chars or less as per SAS naming rules. - @param mdebug= (0) Set to 1 to enable DEBUG messages + @param [in] tableuri= Metadata URI of the table to be created + @param [out] outds= (work.mm_createdataset) The dataset to create. The table + name needs to be 32 chars or less as per SAS naming rules. + @param [in] mdebug= (0) Set to 1 to enable DEBUG messages @version 9.4 @author Allan Bowe @@ -15107,15 +15147,15 @@ run; @li mf_verifymacvars.sas - @param tree= The metadata folder uri, or the metadata path, in which to + @param [in] tree= The metadata folder uri, or the metadata path, in which to create the document. This must exist. - @param name= Document object name. Avoid spaces. + @param [in] name= Document object name. Avoid spaces. - @param desc= Document description (optional) - @param textrole= TextRole property (optional) - @param frefin= fileref to use (enables change if there is a conflict) - @param frefout= fileref to use (enables change if there is a conflict) - @param mDebug= set to 1 to show debug messages in the log + @param [in] desc= Document description (optional) + @param [in] textrole= TextRole property (optional) + @param [in] frefin= fileref to use (enables change if there is a conflict) + @param [out] frefout= fileref to use (enables change if there is a conflict) + @param [in] mDebug= set to 1 to show debug messages in the log @author Allan Bowe @@ -15401,30 +15441,33 @@ run; @li mm_createfolder.sas - @param libname= Library name (as displayed to user, 256 chars). Duplicates - are not created (case sensitive). - @param libref= Library libref (8 chars). Duplicate librefs are not created, - HOWEVER- the check is not case sensitive - if *libref* exists, *LIBREF* - will still be created. Librefs created will always be uppercased. - @param engine= Library engine (currently only BASE supported) - @param tree= The metadata folder uri, or the metadata path, in which to + @param [in] libname= (My New Library) Library name (as displayed to user, + 256 chars). Duplicates are not created (case sensitive). + @param [in] libref= (mynewlib) Library libref (8 chars). Duplicate + librefs are not created, HOWEVER- the check is not case sensitive - if + *libref* exists, *LIBREF* will still be created. + Librefs created will always be uppercased. + @param [in] engine= Library engine (currently only BASE supported) + @param [in] tree= The metadata folder uri, or the metadata path, in which to create the library. - @param servercontext= The SAS server against which the library is registered. - @param IsPreassigned= set to 1 if the library should be pre-assigned. - - @param libdesc= Library description (optional) - @param directory= Required for the BASE engine. The metadata directory objects - are searched to find an existing one with a matching physical path. + @param [in] servercontext= (SASApp) The SAS server against which + the library is registered. + @param [in] IsPreassigned= set to 1 if the library should be pre-assigned. + + @param [in] libdesc= Library description (optional) + @param [in] directory= (/tmp/somelib) Required for the BASE engine. + The metadata directory objects are searched to find an existing + one with a matching physical path. If more than one uri found with that path, then the first one will be used. If no URI is found, a new directory object will be created. The physical path will also be created, if it doesn't exist. - @param mDebug= set to 1 to show debug messages in the log - @param frefin= fileref to use (enables change if there is a conflict). The - filerefs are left open, to enable inspection after running the + @param [in] mDebug= set to 1 to show debug messages in the log + @param [in] frefin= fileref to use (enables change if there is a conflict). + The filerefs are left open, to enable inspection after running the macro (or importing into an xmlmap if needed). - @param frefout= fileref to use (enables change if there is a conflict) + @param [out] frefout= fileref to use (enables change if there is a conflict) @version 9.3 @@ -15740,28 +15783,32 @@ filename &frefout temp; ,Server=SASApp ,stptype=2) - @param stpname= Stored Process name. Avoid spaces - testing has shown that + @param [in] stpname= (SASjs Default STP) Stored Process name. + Avoid spaces - testing has shown that the check to avoid creating multiple STPs in the same folder with the same name does not work when the name contains spaces. - @param stpdesc= Stored Process description (optional) - @param filename= the name of the .sas program to run - @param directory= The directory uri, or the actual path to the sas program - (no trailing slash). If more than uri is found with that path, then the - first one will be used. - @param tree= The metadata folder uri, or the metadata path, in which to + @param [in] stpdesc= Stored Process description (optional) + @param [in] filename= the name of the .sas program to run + @param [in] directory= (SASEnvironment/sascode) + The directory uri or the actual path to the sas program (no trailing slash). + If more than uri is found with that path, then the first one will be used. + @param [in] tree= The metadata folder uri, or the metadata path, in which to create the STP. - @param server= The server which will run the STP. Server name or uri is fine. - @param outds= The two level name of the output dataset. Will contain all the - meta uris. Defaults to work.mm_createstp. - @param mDebug= set to 1 to show debug messages in the log - @param stptype= Default is 1 (STP code saved on filesystem). Set to 2 if + @param [in] server= (SASApp) The server which will run the STP. + Server name or uri is fine. + @param [out] outds= (work.mm_createstp) + The two level name of the output dataset. Will contain all the meta uris. + @param [in] mDebug= set to 1 to show debug messages in the log + @param [in] stptype= Default is 1 (STP code saved on filesystem). Set to 2 if source code is to be saved in metadata (9.3 and above feature). - @param minify= set to YES to strip comments / blank lines etc - @param frefin= fileref to use (enables change if there is a conflict). The - filerefs are left open, to enable inspection after running the + @param [in] minify= set to YES to strip comments / blank lines etc + @param [in] frefin= (mm_in) fileref to use (enables change if there is + a conflict). + The filerefs are left open, to enable inspection after running the macro (or importing into an xmlmap if needed). - @param frefout= fileref to use (enables change if there is a conflict) - @param repo= ServerContext is tied to a repo, if you are not using the + @param [out] frefout= (mm_out) fileref to use (enables change if there is + a conflict) + @param [in] repo= ServerContext is tied to a repo, if you are not using the foundation repo then select a different one here @returns outds dataset containing the following columns: @@ -15788,7 +15835,7 @@ filename &frefout temp; **/ %macro mm_createstp( - stpname=Macro People STP + stpname=SASjs Default STP ,stpdesc=This stp was created automatically by the mm_createstp macro ,filename=mm_createstp.sas ,directory=SASEnvironment/SASCode @@ -16127,22 +16174,23 @@ Usage: For more examples of using these web services with the SASjs Adapter, see: https://github.com/sasjs/adapter#readme - @param path= The full path (in SAS Metadata) where the service will be created - @param name= Stored Process name. Avoid spaces - testing has shown that + @param [in] path= () The full path (in SAS Metadata) where the service + will be created + @param [in] name= Stored Process name. Avoid spaces - testing has shown that the check to avoid creating multiple STPs in the same folder with the same name does not work when the name contains spaces. - @param desc= The description of the service (optional) - @param precode= Space separated list of filerefs, pointing to the code that - needs to be attached to the beginning of the service (optional) - @param code= (ft15f001) Space seperated fileref(s) of the actual code to be - added - @param server= (SASApp) The server which will run the STP. Server name or uri - is fine. - @param mDebug= (0) set to 1 to show debug messages in the log - @param replace= (YES) select NO to avoid replacing an existing service in that - location - @param adapter= (sasjs) the macro uses the sasjs adapter by default. To use - another adapter, add a (different) fileref here. + @param [in] desc= The description of the service (optional) + @param [in] precode= () Space separated list of filerefs, pointing to the + code that needs to be attached to the beginning of the service (optional) + @param [in] code= (ft15f001) Space seperated fileref(s) of the actual code + to be added + @param [in] server= (SASApp) The server which will run the STP. Server + name or uri is fine. + @param [in] mDebug= (0) set to 1 to show debug messages in the log + @param [in] replace= (YES) select NO to avoid replacing an existing service + in that location + @param [in] adapter= (sasjs) the macro uses the sasjs adapter by default. + To use another adapter, add a (different) fileref here.

SAS Macros

@li mm_createstp.sas @@ -16818,7 +16866,7 @@ run;

SAS Macros

- @param target= full path to the document being deleted + @param [in] target= full path to the document being deleted @version 9.4 @author Allan Bowe @@ -16899,7 +16947,7 @@ run; ![](https://i.imgur.com/Y4Tog24.png) - @param [in] name= the name (not libref) of the library to be deleted + @param [in] name= () the name (not libref) of the library to be deleted

SAS Macros

@li mf_getuniquefileref.sas @@ -16981,7 +17029,7 @@ run;

SAS Macros

- @param target= full path to the STP being deleted + @param [in] target= full path to the STP being deleted @version 9.4 @author Allan Bowe @@ -17167,8 +17215,8 @@ create table &outds as %mm_getcols(tableuri=A5X8AHW1.B40001S5) - @param outds the dataset to create that contains the list of columns - @param uri the uri of the table for which to return columns + @param [out] outds the dataset to create that contains the list of columns + @param [in] uri the uri of the table for which to return columns @returns outds dataset containing all columns, specifically: - colname @@ -17214,9 +17262,12 @@ run; @file mm_getdetails.sas @brief extracts metadata attributes and associations for a particular uri - @param uri the metadata object for which to return attributes / associations - @param outattrs= the dataset to create that contains the list of attributes - @param outassocs= the dataset to contain the list of associations + @param [in] uri the metadata object for which to return + attributes / associations + @param [out] outattrs= (work.attributes) + The dataset to create that contains the list of attributes + @param [out] outassocs= (work.associations) + The dataset to contain the list of associations @version 9.2 @author Allan Bowe @@ -17281,9 +17332,10 @@ run; blank to return all directories. The Directory object is used to reference a physical filepath (eg when registering a .sas program in a Stored process) - @param path= the physical path for which to return a meta Directory object - @param outds= the dataset to create that contains the list of directories - @param mDebug= set to 1 to show debug messages in the log + @param [in] path= Physical path for which to return a meta Directory object + @param [out] outds= (work.mm_getdirectories) + the dataset to create that contains the list of directories + @param [in] mDebug= (0) set to 1 to show debug messages in the log @returns outds dataset containing the following columns: - directoryuri @@ -17347,10 +17399,10 @@ run;

SAS Macros

@li mp_abort.sas - @param tree= The metadata path of the document - @param name= Document object name. - @param outref= full and unquoted path to the desired text file. This will be - overwritten if it already exists. + @param [in] tree= The metadata path of the document + @param [in] name= Document object name. + @param [out] outref= full and unquoted path to the desired text file. + This will be overwritten if it already exists. @author Allan Bowe @@ -17675,11 +17727,11 @@ run; ,emails=YES ) - @param group metadata group for which to bring back members - @param outds= (work.mm_getgroupmembers) The dataset to create that contains - the list of members - @param emails= (NO) Set to YES to bring back email addresses - @param id= (NO) Set to yes if passing an ID rather than a group name + @param [in] group metadata group for which to bring back members + @param [out] outds= (work.mm_getgroupmembers) + The dataset to create that contains the list of members + @param [in] emails= (NO) Set to YES to bring back email addresses + @param [in] id= (NO) Set to yes if passing an ID rather than a group name @returns outds dataset containing all members of the metadata group @@ -17969,8 +18021,8 @@ run; @details Will only show the libraries to which a user has the requisite metadata access. - @param outds the dataset to create that contains the list of libraries - @param mDebug set to anything but * or 0 to show debug messages in the log + @param [out] outds= (work.mm_getlibs) + The library.dataset to create that contains the list of libraries @returns outds dataset containing all groups in a column named "metagroup" (defaults to work.mm_getlibs). The following columns are provided: @@ -18063,8 +18115,8 @@ libname _XML_ clear; @file @brief Creates a dataset with all metadata objects for a particular type - @param type= the metadata type for which to return all objects - @param outds= the dataset to create that contains the list of types + @param [in] type= the metadata type for which to return all objects + @param [out] outds= the dataset to create that contains the list of types @returns outds dataset containing all objects @@ -18139,6 +18191,8 @@ libname _XML_ clear; * dataset will contain one column - publictype ($64); %mm_getpublictypes(outds=types) + @param [out] outds= (work.mm_getpublictypes) The library.dataset to create + @returns outds= dataset containing all types @version 9.3 @@ -18217,7 +18271,8 @@ quit; @file @brief Creates a dataset with all available repositories - @param outds= the dataset to create that contains the list of repos + @param [out] outds= (work.mm_getrepos) + The dataset to create that contains the list of repos @returns outds dataset containing all repositories @@ -18353,7 +18408,8 @@ libname _XML_ clear; %mm_getroles() - @param [out] outds the dataset to create that contains the list of roles + @param [out] outds= (work.mm_getroles) + The dataset to create that contains the list of roles @returns outds dataset containing all roles, with the following columns: - uri @@ -18763,15 +18819,16 @@ run;

SAS Macros

@li mm_gettree.sas - @param tree= the metadata folder location in which to search. Leave blank - for all folders. Does not search subdirectories. - @param name= Provide the name of an STP to search for just that one. Can + @param [in] tree= () the metadata folder location in which to search. + Leave blank for all folders. Does not search subdirectories. + @param [in] name= Provide the name of an STP to search for just that one. Can combine with the tree= parameter. - @param outds= the dataset to create that contains the list of stps. - @param mDebug= set to 1 to show debug messages in the log - @param showDesc= provide a non blank value to return stored process + @param [out] outds= the dataset to create that contains the list of stps. + @param [in] mDebug= set to 1 to show debug messages in the log + @param [in] showDesc= provide a non blank value to return stored process descriptions - @param showUsageVersion= provide a non blank value to return the UsageVersion. + @param [in] showUsageVersion= () + Provide a non blank value to return the UsageVersion. This is either 1000000 (type 1, 9.2) or 2000000 (type2, 9.3 onwards). @returns outds dataset containing the following columns @@ -18864,10 +18921,10 @@ run; - get a table id %mm_gettableid(libref=METALIB,ds=SOMETABLE,outds=iwant) - @param libref= The libref to search - @param ds= The input dataset to check - @param outds= the dataset to create that contains the `tableuri` - @param mDebug= set to 1 to show debug messages in the log + @param [in] libref= The libref to search + @param [in] ds= The input dataset to check + @param [out] outds= the dataset to create that contains the `tableuri` + @param [in] mDebug= set to 1 to show debug messages in the log @returns outds dataset containing `tableuri` and `tablename` @@ -19050,10 +19107,10 @@ run; %mm_getTree(tree=/User Folders/sasdemo) - @param tree= the BIP Tree folder path or uri - @param outds= the dataset to create that contains the tree path & uri - @param inds= an optional input dataset to augment with treepath & treeuri - @param mDebug= set to 1 to show debug messages in the log + @param [in] tree= the BIP Tree folder path or uri + @param [out] outds= the dataset to create that contains the tree path & uri + @param [in] inds= an optional input dataset to augment with treepath & treeuri + @param [in] mDebug= set to 1 to show debug messages in the log @returns outds dataset containing the following columns: - treeuri @@ -19112,7 +19169,8 @@ run; %mm_gettypes(outds=types) - @param outds the dataset to create that contains the list of types + @param [in] outds= (work.mm_gettypes) + The dataset to create that contains the list of types @returns outds dataset containing all types @warning The following filenames are created and then de-assigned: @@ -19193,8 +19251,6 @@ libname _XML_ clear; %mm_getusers(user=&_metaperson) - @param outds the dataset to create that contains the list of libraries - @returns outds dataset containing all users, with the following columns: - uri - name @@ -19289,7 +19345,7 @@ libname _XML_ clear; put value=; run; - @param outds the dataset to create that contains the list of properties + @param [out] outds= the dataset to create that contains the list of properties @returns outds dataset containing all properties @@ -19611,9 +19667,9 @@ run; @li mm_getpublictypes.sas @li mf_isblank.sas - @param root= the parent folder under which to return all contents - @param outds= the dataset to create that contains the list of directories - @param types= Space-seperated, unquoted list of types for filtering the + @param [in] root= the parent folder under which to return all contents + @param [in] outds= the dataset to create that contains the list of directories + @param [in] types= Space-seperated, unquoted list of types for filtering the output. Special types: * ALl - return all types (the default) @@ -19749,14 +19805,14 @@ libname _XML_ clear; ,paramdesc=some description) - @param app= the BIP Tree folder path plus Application Name - @param paramname= Parameter name - @param paramvalue= Parameter value - @param paramdesc= Parameter description + @param [in] app= the BIP Tree folder path plus Application Name + @param [in] paramname= Parameter name + @param [in] paramvalue= Parameter value + @param [in] paramdesc= Parameter description - @param frefin= change default inref if it clashes with an existing one - @param frefout= change default outref if it clashes with an existing one - @param mDebug= set to 1 to show debug messages in the log + @param [in] frefin= change default inref if it clashes with an existing one + @param [out] frefout= change default outref if it clashes with an existing one + @param [in] mDebug= set to 1 to show debug messages in the log @version 9.4 @author Allan Bowe @@ -19875,13 +19931,13 @@ run; ,text="/file/system/some.txt") - @param path= the BIP Tree folder path - @param name=Document Name - @param text=a source file containing the text to be added + @param [in] path= the BIP Tree folder path + @param [in] name=Document Name + @param [in] text=a source file containing the text to be added - @param frefin= change default inref if it clashes with an existing one - @param frefout= change default outref if it clashes with an existing one - @param mDebug= set to 1 to show debug messages in the log + @param [in] frefin= change default inref if it clashes with an existing one + @param [out] frefout= change default outref if it clashes with an existing one + @param [in] mDebug= set to 1 to show debug messages in the log @version 9.3 @author Allan Bowe @@ -19989,8 +20045,8 @@ run; ,type=WKS) - @param target= full path to the STP being deleted - @param type= Either WKS or STP depending on whether Workspace or + @param [in] target= full path to the STP being deleted + @param [in] type= Either WKS or STP depending on whether Workspace or Stored Process type required @version 9.4 @@ -20057,10 +20113,12 @@ run; ,stpcode="/file/system/source.sas") @param [in] stp= the BIP Tree folder path plus Stored Process Name - @param [in] stpcode= the source file (or fileref) containing the SAS code to load - into the stp. For multiple files, they should simply be concatenated first. - @param [in] minify= set to YES in order to strip comments, blank lines, and CRLFs. - @param mDebug= set to 1 to show debug messages in the log + @param [in] stpcode= () The source file (or fileref) containing the SAS + code to load into the stp. + For multiple files, they should simply be concatenated first. + @param [in] minify= (NO) Set to YES in order to strip comments, blank lines, + and CRLFs. + @param [in] mDebug= set to 1 to show debug messages in the log @version 9.3 @author Allan Bowe @@ -20440,9 +20498,9 @@ run; @li mf_loc.sas @li mp_abort.sas - @param loc= the metadata folder to delete - @param user= username - @param pass= password + @param [in] loc= the metadata folder to delete + @param [in] user= username + @param [in] pass= password @version 9.4 @author Allan Bowe @@ -20491,9 +20549,9 @@ run;

SAS Macros

@li mf_loc.sas - @param loc= the metadata folder to delete - @param user= username - @param pass= password + @param [in] loc= the metadata folder to delete + @param [in] user= username + @param [in] pass= password @version 9.4 @author Allan Bowe @@ -20551,11 +20609,12 @@ Usage: @li mf_getuniquefileref.sas @li mp_abort.sas - @param metaloc= the metadata folder to export - @param secureref= fileref containing the username / password (should point to - a file in a secure location) - @param outspkname= name of the spk to be created (default is mmxport). - @param outspkpath= directory in which to create the SPK. Default is WORK. + @param [in] metaloc= the metadata folder to export + @param [in] secureref= () fileref containing the username / password + (should point to a file in a secure location) + @param [in] outspkname= name of the spk to be created (default is mmxport). + @param [in] outspkpath= ((%sysfunc(pathname(WORK))) + directory in which to create the SPK. @version 9.4 @author Allan Bowe @@ -22870,7 +22929,8 @@ run; %put %mfv_existfile(/does/exist.txt); %put %mfv_existfile(/does/not/exist.txt); - @param filepath The full path to the file on SAS drive (eg /Public/myfile.txt) + @param [in] filepath The full path to the file on SAS drive + (eg /Public/myfile.txt)

SAS Macros

@li mf_abort.sas @@ -22920,7 +22980,7 @@ run; %put %mfv_existfolder(/does/exist); %put %mfv_existfolder(/does/not/exist); - @param path The path to the folder on SAS drive + @param [in] path The path to the folder on SAS drive

SAS Macros

@li mf_abort.sas @@ -22968,10 +23028,10 @@ run; To force a rescan, just use a new `&outprefix` value, or delete the table(s) before running the function. - @param libds library.dataset - @param outprefix= (work.mfv_existsashdat) Used to store the current HDATA - tables to improve subsequent query performance. This reference is a prefix - and is converted to `&prefix._{libref}` + @param [in] libds library.dataset + @param [out] outprefix= (work.mfv_existsashdat) + Used to store current HDATA tables to improve subsequent query performance. + This reference is a prefix and is converted to `&prefix._{libref}` @return output returns 1 or 0 @@ -23358,30 +23418,32 @@ options noquotelenmax; @li mf_isblank.sas @li mv_deletejes.sas - @param path= The full path (on SAS Drive) where the job will be created - @param name= The name of the job - @param desc= (Created by the mv_createjob.sas macro) The job description - @param precode= Space separated list of filerefs, pointing to the code that + @param [in] path= The full path (on SAS Drive) where the job will be created + @param [in] name= The name of the job + @param [in] desc= (Created by the mv_createjob.sas macro) The job description + @param [in] precode= () + Space separated list of filerefs, pointing to the code that needs to be attached to the beginning of the job - @param code= (ft15f001) Fileref(s) of the actual code to be added - @param access_token_var= (ACCESS_TOKEN) Global macro variable containing the - access token - @param grant_type= (sas_services) Valid values: + @param [in] code= (ft15f001) Fileref(s) of the actual code to be added + @param [in] access_token_var= (ACCESS_TOKEN) + Global macro variable containing the access token + @param [in] grant_type= (sas_services) Valid values: @li sas_services @li detect @li authorization_code @li password - @param replace= (YES) select NO to avoid replacing any existing job - @param addjesbeginendmacros= (false) Relates to the `_addjesbeginendmacros` - setting. Normally this would always be false however due to a Viya bug + @param [in] replace= (YES) select NO to avoid replacing any existing job + @param [in] addjesbeginendmacros= (false) + Relates to the `_addjesbeginendmacros` setting. + Normally this would always be false however due to a Viya bug (https://github.com/sasjs/cli/issues/1229) this is now configurable. Valid values: @li true @li false @li 0 - this will prevent the flag from being set (job will default to true) - @param contextname= Choose a specific context on which to run the Job. Leave - blank to use the default context. From Viya 3.5 it is possible to configure - a shared context - see + @param [in] contextname= () Choose a specific context on which to run the Job. + Leave blank to use the default context. + From Viya 3.5 it is possible to configure a shared context - see https://go.documentation.sas.com/?docsetId=calcontexts&docsetTarget=n1hjn8eobk5pyhn1wg3ja0drdl6h.htm&docsetVersion=3.5&locale=en @version VIYA V.03.04 @@ -24656,12 +24718,14 @@ run; %mv_deletejes(path=/Public/test, name=blah) - @param path= The full path of the folder containing the item to be deleted - @param name= The name of the item to be deleted - @param contenttype= The contenttype of the item, eg: file, jobDefinition - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is "detect" (which will run in Studio 5+ without a token). + @param [in] path= () + The full path of the folder containing the item to be deleted + @param [in] name= The name of the item to be deleted + @param [in] contenttype= The contenttype of the item, eg: file, jobDefinition + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) + valid values are "password" or "authorization_code" (unquoted). @version VIYA V.03.04 @@ -24807,11 +24871,13 @@ libname &libref1a clear; %mv_deletejes(path=/Public/test, name=blah) - @param path= The full path of the folder containing the Job Execution Service - @param name= The name of the Job Execution Service to be deleted - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is "detect" (which will run in Studio 5+ without a token). + @param [in] path= () + The full path of the folder containing the Job Execution Service + @param [in] name= The name of the Job Execution Service to be deleted + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) + Valid values are "password" or "authorization_code" (unquoted). @version VIYA V.03.04 @@ -25120,10 +25186,8 @@ run; %mv_getclients() - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is authorization_code. - @param outds= The library.dataset to be created that contains the list of groups + @param [out] outds= (work.mv_getclients) + The library.dataset to be created that contains the list of clients @version VIYA V.03.04 @@ -25338,7 +25402,7 @@ libname &libref1 clear; %mend mv_getfoldermembers;/** @file mv_getgroupmembers.sas @brief Creates a dataset with a list of group members - @details First, be sure you have an access token (which requires an app token). + @details First, be sure you have an access token (which requires an app token) Using the macros here: @@ -25360,10 +25424,13 @@ libname &libref1 clear; providerId char(5), implicit num - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is authorization_code. - @param outds= The library.dataset to be created that contains the list of groups + @param [in] group Group id for which to return group members + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) + valid values are "password" or "authorization_code" (unquoted). + @param [out] outds= (work.viyagroupmembers) + The library.dataset to be created that contains the list of group members @version VIYA V.03.04 @@ -25453,10 +25520,12 @@ filename &fname1 clear; %mv_getgroups(outds=work.groups) - @param [in] access_token_var= The global macro variable to contain the access token - @param [in] grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is authorization_code. - @param [out] outds= The library.dataset to be created that contains the list of groups + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) + valid values are "password" or "authorization_code" (unquoted). + @param [out] outds= (work.viyagroups) + The library.dataset to be created that contains the list of groups @version VIYA V.03.04 @@ -26328,7 +26397,8 @@ run; %mv_getjobstate(uri=&uri,outds=results) - You can run this macro as part of a loop to await the final 'completed' status. + You can run this macro as part of a loop to await the final 'completed' + status. The full list of status values is: @li idle @@ -26341,12 +26411,13 @@ run; If you have one or more jobs that you'd like to wait for completion you can also use the [mv_jobwaitfor](/mv__jobwaitfor_8sas.html) macro. - @param [in] access_token_var= The global macro variable to contain the access token + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token @param [in] grant_type= valid values: @li password @li authorization_code - @li detect - will check if access_token exists, if not will use sas_services if - a SASStudioV session else authorization_code. Default option. + @li detect - will check if access_token exists, if not will use sas_services + if a SASStudioV session else authorization_code. @li sas_services - will use oauth_bearer=sas_services. @param [in] uri= The uri of the running job for which to fetch the status, in the format `/jobExecution/jobs/$UUID/state` (unquoted). @@ -26460,10 +26531,13 @@ filename &fname0 clear; %mv_getusergroups(&sysuserid,outds=users) - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is authorization_code. - @param outds= The library.dataset to be created that contains the list of groups + @param [in] user The username for which to return the list of groups + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) + Valid values are "password" or "authorization_code" (unquoted). + @param [out] outds= (work.mv_getusergroups) + The library.dataset to be created that contains the list of groups @version VIYA V.03.04 @@ -26539,7 +26613,7 @@ libname &libref1 clear; %mend mv_getusergroups;/** @file mv_getusers.sas @brief Creates a dataset with a list of users - @details First, be sure you have an access token (which requires an app token). + @details First, be sure you have an access token (which requires an app token) Using the macros here: @@ -26573,15 +26647,17 @@ libname &libref1 clear; modifiedTimeStamp char(24), state char(6) - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values: + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) Valid values: * password * authorization_code - * detect - will check if access_token exists, if not will use sas_services if - a SASStudioV session else authorization_code. Default option. + * detect - will check if access_token exists, if not will use sas_services + if a SASStudioV session else authorization_code. * sas_services - will use oauth_bearer=sas_services - @param outds= The library.dataset to be created that contains the list of groups + @param [out] outds= (work.mv_getusers) + The library.dataset to be created that contains the list of groups @version VIYA V.03.04 @@ -27812,20 +27888,21 @@ libname &libref clear; https://blogs.sas.com/content/sgf/2019/01/25/authentication-to-sas-viya/ - @param inds= A dataset containing client_id, client_secret, and auth_code - @param outds= A dataset containing access_token and refresh_token - @param client_id= The client name - @param client_secret= client secret - @param grant_type= valid values are "password" or "authorization_code" + @param [in] inds= A dataset containing client_id, client_secret, and auth_code + @param [in] outds= A dataset containing access_token and refresh_token + @param [in] client_id= The client name + @param [in] client_secret= client secret + @param [in] grant_type= valid values are "password" or "authorization_code" (unquoted). The default is authorization_code. - @param code= If grant_type=authorization_code then provide the necessary code - here - @param user= If grant_type=password then provide the username here - @param pass= If grant_type=password then provide the password here - @param access_token_var= The global macro variable to contain the access token - @param refresh_token_var= The global macro variable to contain the refresh - token - @param base_uri= The Viya API server location + @param [in] code= () + If grant_type=authorization_code then provide the necessary code here + @param [in] user= If grant_type=password then provide the username here + @param [in] pass= If grant_type=password then provide the password here + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] refresh_token_var= (REFRESH_TOKEN) + The global macro variable to contain the refresh token + @param [in] base_uri= The Viya API server location @version VIYA V.03.04 @author Allan Bowe, source: https://github.com/sasjs/core @@ -27959,17 +28036,18 @@ filename &fref2 clear; https://blogs.sas.com/content/sgf/2019/01/25/authentication-to-sas-viya/ - @param inds= A dataset containing client_id and client_secret - @param outds= A dataset containing access_token and refresh_token - @param client_id= The client name (alternative to inds) - @param client_secret= client secret (alternative to inds) - @param grant_type= valid values are "password" or "authorization_code" + @param [in] inds= A dataset containing client_id and client_secret + @param [in] outds= A dataset containing access_token and refresh_token + @param [in] client_id= The client name (alternative to inds) + @param [in] client_secret= client secret (alternative to inds) + @param [in] grant_type= valid values are "password" or "authorization_code" (unquoted). The default is authorization_code. - @param user= If grant_type=password then provide the username here - @param pass= If grant_type=password then provide the password here - @param access_token_var= The global macro variable to contain the access token - @param refresh_token_var= The global macro variable containing the refresh - token + @param [in] user= If grant_type=password then provide the username here + @param [in] pass= If grant_type=password then provide the password here + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] refresh_token_var= (REFRESH_TOKEN) + The global macro variable containing the refresh token @version VIYA V.03.04 @author Allan Bowe, source: https://github.com/sasjs/core diff --git a/base/mf_abort.sas b/base/mf_abort.sas index cc944232..65f89dd4 100644 --- a/base/mf_abort.sas +++ b/base/mf_abort.sas @@ -3,6 +3,11 @@ @brief Abort, ungracefully @details Will abort with a straightforward %abort if the condition is true. + @param [in] mac= (mf_abort.sas) Name of calling macro (is printed to the log) + @param [in] msg= ( ) Additional string to print to the log + @param [in] iftrue= (%str(1=1)) Conditional logic under which to perform the + abort +

Related Macros

@li mp_abort.sas diff --git a/base/mf_deletefile.sas b/base/mf_deletefile.sas index 355a581e..dc4004d2 100644 --- a/base/mf_deletefile.sas +++ b/base/mf_deletefile.sas @@ -10,7 +10,7 @@ %mf_deletefile(&sasjswork/myfile.txt) - @param filepath Full path to the target file + @param [in] file Full path to the target file @returns The return code from the fdelete() invocation diff --git a/base/mf_existds.sas b/base/mf_existds.sas index e6b14e1a..d4b40f92 100755 --- a/base/mf_existds.sas +++ b/base/mf_existds.sas @@ -10,7 +10,7 @@ expected results (depending on whether you 'expect' the result to be case insensitive in this context!) - @param libds library.dataset + @param [in] libds library.dataset @return output returns 1 or 0

Related Macros

diff --git a/base/mf_existfileref.sas b/base/mf_existfileref.sas index 82ede652..8d1e3098 100644 --- a/base/mf_existfileref.sas +++ b/base/mf_existfileref.sas @@ -4,7 +4,7 @@ @details You can probably do without this macro as it is just a one liner. Mainly it is here as a convenient way to remember the syntax! - @param fref the fileref to detect + @param [in] fref the fileref to detect @return output Returns 1 if found and 0 if not found. Note - it is possible that the fileref is found, but the file does not (yet) exist. If you need diff --git a/base/mf_existfunction.sas b/base/mf_existfunction.sas index 2c8c6d83..08fb380a 100644 --- a/base/mf_existfunction.sas +++ b/base/mf_existfunction.sas @@ -16,7 +16,7 @@ https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md#functionexists-macro ). - @param [in] name (positional) - function name + @param [in] name function name @author Allan Bowe **/ diff --git a/base/mf_existvarlist.sas b/base/mf_existvarlist.sas index fa7802b6..ddf0b23c 100755 --- a/base/mf_existvarlist.sas +++ b/base/mf_existvarlist.sas @@ -6,8 +6,8 @@ %put %mf_existVarList(sashelp.class, age sex name dummyvar); - @param libds 2 part dataset or view reference - @param varlist space separated variable names + @param [in] libds 2 part dataset or view reference + @param [in] varlist space separated variable names @version 9.2 @author Allan Bowe diff --git a/base/mf_getapploc.sas b/base/mf_getapploc.sas index 101b3a1e..17b8750b 100644 --- a/base/mf_getapploc.sas +++ b/base/mf_getapploc.sas @@ -31,6 +31,7 @@ %put %mf_getapploc(/some/location/jobs/extract/somejob/); %put %mf_getapploc(/some/location/tests/jobs/somejob/); + @param [in] pgm The _program value from which to extract the appLoc @author Allan Bowe **/ diff --git a/base/mf_getattrc.sas b/base/mf_getattrc.sas index 4e0fd510..c1d3e69b 100644 --- a/base/mf_getattrc.sas +++ b/base/mf_getattrc.sas @@ -6,8 +6,8 @@ %put Dataset label = %mf_getattrc(sashelp.class,LABEL); %put Member Type = %mf_getattrc(sashelp.class,MTYPE); - @param libds library.dataset - @param attr full list in [documentation]( + @param [in] libds library.dataset + @param [in] attr full list in [documentation]( https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000147794.htm) @return output returns result of the attrc value supplied, or -1 and log message if err. diff --git a/base/mf_getattrn.sas b/base/mf_getattrn.sas index fdb47a73..51b0fe05 100755 --- a/base/mf_getattrn.sas +++ b/base/mf_getattrn.sas @@ -6,8 +6,8 @@ %put Number of observations=%mf_getattrn(sashelp.class,NLOBS); %put Number of variables = %mf_getattrn(sashelp.class,NVARS); - @param libds library.dataset - @param attr Common values are NLOBS and NVARS, full list in [documentation]( + @param [in] libds library.dataset + @param [in] attr Common values are NLOBS and NVARS, full list in [documentation]( http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000212040.htm) @return output returns result of the attrn value supplied, or -1 and log message if err. diff --git a/base/mf_getkeyvalue.sas b/base/mf_getkeyvalue.sas index 0d2cc303..a4c1c94b 100644 --- a/base/mf_getkeyvalue.sas +++ b/base/mf_getkeyvalue.sas @@ -7,8 +7,9 @@ %put %mf_getkeyvalue(someindex) - @param key Provide a key on which to perform the lookup - @param libds= define the target table which holds the parameters + @param [in] key Provide a key on which to perform the lookup + @param [in] libds= (work.mp_setkeyvalue) The library.dataset which holds the + parameters @version 9.2 @author Allan Bowe diff --git a/base/mf_getplatform.sas b/base/mf_getplatform.sas index 8416686a..ca7cfb2b 100644 --- a/base/mf_getplatform.sas +++ b/base/mf_getplatform.sas @@ -12,7 +12,7 @@ @li SASJS @li BASESAS - @param switch the param for which to return a platform specific variable + @param [in] switch the param for which to return a platform specific variable

SAS Macros

@li mf_mval.sas diff --git a/base/mf_getschema.sas b/base/mf_getschema.sas index fea0ae06..96c8e0a0 100644 --- a/base/mf_getschema.sas +++ b/base/mf_getschema.sas @@ -8,7 +8,7 @@ returns: > dbo - @param libref Library reference (also accepts a 2 level libds ref). + @param [in] libref Library reference (also accepts a 2 level libds ref). @return output returns the library schema for the FIRST library encountered diff --git a/base/mf_getuniquelibref.sas b/base/mf_getuniquelibref.sas index b9d7efc9..b5999d5b 100644 --- a/base/mf_getuniquelibref.sas +++ b/base/mf_getuniquelibref.sas @@ -19,7 +19,7 @@ @param [in] prefix= (mclib) first part of the returned libref. As librefs can be as long as 8 characters, a maximum length of 7 characters is premitted for this prefix. - @param [in] maxtries= Deprecated parameter. Remains here to ensure a + @param [in] maxtries= (1000) Deprecated parameter. Remains here to ensure a non-breaking change. Will be removed in v5. @version 9.2 diff --git a/base/mf_getuniquename.sas b/base/mf_getuniquename.sas index 97e2a720..277e5a3d 100644 --- a/base/mf_getuniquename.sas +++ b/base/mf_getuniquename.sas @@ -10,7 +10,7 @@ > MCc59c750610321d4c8bf75faadbcd22 - @param prefix= set a prefix for the new name + @param prefix= (MC) Sets a prefix for the new name @version 9.3 @author Allan Bowe diff --git a/base/mf_getuser.sas b/base/mf_getuser.sas index 8172acbd..a4d642df 100755 --- a/base/mf_getuser.sas +++ b/base/mf_getuser.sas @@ -13,8 +13,6 @@ %let user= %mf_getUser(); %put &user; - @param type - do not use, may be deprecated in a future release - @return SYSUSERID (if workspace server) @return _METAPERSON (if stored process server) @return SYS_COMPUTE_SESSION_OWNER (if Viya compute session) diff --git a/base/mf_getvalue.sas b/base/mf_getvalue.sas index ab399436..63bfb340 100644 --- a/base/mf_getvalue.sas +++ b/base/mf_getvalue.sas @@ -13,9 +13,9 @@

Related Macros

@li mp_setkeyvalue.sas - @param libds dataset to query - @param variable the variable which contains the value to return. - @param filter contents of where clause + @param [in] libds dataset to query + @param [in] variable the variable which contains the value to return. + @param [in] filter= (1) contents of where clause @version 9.2 @author Allan Bowe diff --git a/base/mf_getvarformat.sas b/base/mf_getvarformat.sas index 76c910b2..3da66c96 100755 --- a/base/mf_getvarformat.sas +++ b/base/mf_getvarformat.sas @@ -25,7 +25,8 @@ @param [in] libds Two part dataset (or view) reference. @param [in] var Variable name for which a format should be returned - @param [in] force=(0) Set to 1 to supply a default if the variable has no format + @param [in] force= (0) Set to 1 to supply a default if the variable has no + format @returns outputs format @author Allan Bowe diff --git a/base/mf_getvarlen.sas b/base/mf_getvarlen.sas index e9360130..1cee223f 100644 --- a/base/mf_getvarlen.sas +++ b/base/mf_getvarlen.sas @@ -18,8 +18,8 @@ 8 NOTE: Variable renegade does not exist in test - @param libds Two part dataset (or view) reference. - @param var Variable name for which a length should be returned + @param [in] libds Two part dataset (or view) reference. + @param [in] var Variable name for which a length should be returned @returns outputs length @author Allan Bowe diff --git a/base/mf_getvarnum.sas b/base/mf_getvarnum.sas index a449ee62..d7f9c6df 100755 --- a/base/mf_getvarnum.sas +++ b/base/mf_getvarnum.sas @@ -21,8 +21,8 @@ returns: > NOTE: Variable renegade does not exist in test - @param libds Two part dataset (or view) reference. - @param var Variable name for which a position should be returned + @param [in] libds Two part dataset (or view) reference. + @param [in] var Variable name for which a position should be returned @author Allan Bowe @version 9.2 diff --git a/base/mf_getvartype.sas b/base/mf_getvartype.sas index 7496f686..e905b9d8 100755 --- a/base/mf_getvartype.sas +++ b/base/mf_getvartype.sas @@ -13,8 +13,8 @@ Usage: - @param libds Two part dataset (or view) reference. - @param var the variable name to be checked + @param [in] libds Two part dataset (or view) reference. + @param [in] var the variable name to be checked @return output returns C or N depending on variable type. If variable does not exist then a blank is returned and a note is written to the log. diff --git a/base/mf_getxengine.sas b/base/mf_getxengine.sas index eadd4354..6a3ebc18 100644 --- a/base/mf_getxengine.sas +++ b/base/mf_getxengine.sas @@ -10,7 +10,7 @@ returns: > TEMP - @param fref The fileref to check + @param [in] fref The fileref to check @returns The XENGINE value in sashelp.vextfl or 0 if not found. diff --git a/base/mf_increment.sas b/base/mf_increment.sas index eeb7ce1e..1c92d106 100644 --- a/base/mf_increment.sas +++ b/base/mf_increment.sas @@ -11,8 +11,8 @@ %put Now we have run %mf_increment(cnt) lines; %put There are %mf_increment(cnt) lines in total; - @param [in] MACRO_NAME the name of the macro variable to increment - @param [in] ITER= The amount to add or subtract to the macro + @param [in] macro_name The name of the macro variable to increment + @param [in] incr= (1) The amount to add or subtract to the macro

Related Files

@li mf_increment.test.sas diff --git a/base/mf_isblank.sas b/base/mf_isblank.sas index d46cd070..5dd0eeda 100644 --- a/base/mf_isblank.sas +++ b/base/mf_isblank.sas @@ -12,7 +12,7 @@ inspiration: https://support.sas.com/resources/papers/proceedings09/022-2009.pdf - @param param VALUE to be checked + @param [in] Param VALUE to be checked @return output returns 1 (if blank) else 0 diff --git a/base/mf_isdir.sas b/base/mf_isdir.sas index af5022d3..db46a5f5 100644 --- a/base/mf_isdir.sas +++ b/base/mf_isdir.sas @@ -9,7 +9,7 @@ With thanks and full credit to Andrea Defronzo - https://www.linkedin.com/in/andrea-defronzo-b1a47460/ - @param path full path of the file/directory to be checked + @param [in] path Full path of the file/directory to be checked @return output returns 1 if path is a directory, 0 if it is not diff --git a/base/mf_loc.sas b/base/mf_loc.sas index 31aa9572..8e660ccb 100644 --- a/base/mf_loc.sas +++ b/base/mf_loc.sas @@ -6,6 +6,10 @@ %put %mf_loc(POF); %*location of PlatformObjectFramework tools; + @param [in] loc The item to locate, eg: + @li PLAATFORMOBJECTFRAMEWORK (or POF) + @li VIYACONFG + @version 9.2 @author Allan Bowe **/ @@ -15,7 +19,8 @@ %local root; %if &loc=POF or &loc=PLATFORMOBJECTFRAMEWORK %then %do; - %let root=%substr(%sysget(SASROOT),1,%index(%sysget(SASROOT),SASFoundation)-2); + %let root=%sysget(SASROOT); + %let root=%substr(&root,1,%index(&root,SASFoundation)-2); %let root=&root/SASPlatformObjectFramework/&sysver; %put Batch tools located at: &root; &root diff --git a/base/mf_mkdir.sas b/base/mf_mkdir.sas index 464b468f..e68295cb 100755 --- a/base/mf_mkdir.sas +++ b/base/mf_mkdir.sas @@ -7,7 +7,7 @@ Usage: %mf_mkdir(/some/path/name) - @param dir relative or absolute pathname. Unquoted. + @param [in] dir Relative or absolute pathname. Unquoted. @version 9.2 **/ diff --git a/base/mf_mval.sas b/base/mf_mval.sas index 8cf5e483..4a1ab580 100644 --- a/base/mf_mval.sas +++ b/base/mf_mval.sas @@ -8,6 +8,8 @@ %if %mf_mval(maynotexist)=itdid %then %do; + @param [in] var The macro variable NAME to return the (possible) value for + @version 9.2 @author Allan Bowe **/ diff --git a/base/mf_nobs.sas b/base/mf_nobs.sas index 0bdc29b9..fb13612b 100755 --- a/base/mf_nobs.sas +++ b/base/mf_nobs.sas @@ -9,7 +9,7 @@

SAS Macros

@li mf_getattrn.sas - @param libds library.dataset + @param [in] libds library.dataset @return output returns result of the attrn value supplied, or log message if err. diff --git a/base/mf_trimstr.sas b/base/mf_trimstr.sas index d16b3508..0f4180c2 100644 --- a/base/mf_trimstr.sas +++ b/base/mf_trimstr.sas @@ -11,8 +11,8 @@

SAS Macros

- @param basestr The string to be modified - @param trimstr The string to be removed from the end of `basestr`, if it + @param [in] basestr The string to be modified + @param [in] trimstr The string to be removed from the end of `basestr`, if it exists @return output returns result with the value of `trimstr` removed from the end diff --git a/base/mf_wordsinstr1andstr2.sas b/base/mf_wordsinstr1andstr2.sas index bfa2338e..43949f55 100644 --- a/base/mf_wordsinstr1andstr2.sas +++ b/base/mf_wordsinstr1andstr2.sas @@ -13,8 +13,8 @@ returns: > blah blaaah brah - @param str1= string containing words to extract - @param str2= used to compare with the extract string + @param [in] str1= () string containing words to extract + @param [in] str2= () used to compare with the extract string @warning CASE SENSITIVE! diff --git a/base/mf_wordsinstr1butnotstr2.sas b/base/mf_wordsinstr1butnotstr2.sas index 40b0219e..17b8ae37 100755 --- a/base/mf_wordsinstr1butnotstr2.sas +++ b/base/mf_wordsinstr1butnotstr2.sas @@ -16,8 +16,8 @@ returns: > sss bram boo - @param [in] str1= string containing words to extract - @param [in] str2= used to compare with the extract string + @param [in] str1= () String containing words to extract + @param [in] str2= () Used to compare with the extract string @version 9.2 @author Allan Bowe diff --git a/base/mf_writefile.sas b/base/mf_writefile.sas index 74fd8007..a8d96b33 100644 --- a/base/mf_writefile.sas +++ b/base/mf_writefile.sas @@ -21,8 +21,8 @@ @param [in] mode= (O) Available options are A or O as follows: @li A APPEND mode, writes new records after the current end of the file. @li O OUTPUT mode, writes new records from the beginning of the file. - @param [in] l1= First line - @param [in] l2= Second line (etc through to l10) + @param [in] l1= () First line + @param [in] l2= () Second line (etc through to l10)

Related Macros

@li mf_writefile.test.sas diff --git a/base/mp_abort.sas b/base/mp_abort.sas index 719e26c8..477251bb 100644 --- a/base/mp_abort.sas +++ b/base/mp_abort.sas @@ -27,14 +27,15 @@ currently investigating approaches to deal with this. - @param mac= (mp_abort.sas) To contain the name of the calling macro. Do not - use &sysmacroname as this will always resolve to MP_ABORT. - @param msg= message to be returned - @param iftrue= (1=1) Supply a condition for which the macro should be executed - @param errds= (work.mp_abort_errds) There is no clean way to end a process - within a %include called within a macro. Furthermore, there is no way to - test if a macro is called within a %include. To handle this particular - scenario, the %include should be switched for the mp_include.sas macro. + @param [in] mac= (mp_abort.sas) To contain the name of the calling macro. Do + not use &sysmacroname as this will always resolve to MP_ABORT. + @param [out] msg= message to be returned + @param [in] iftrue= (1=1) Condition under which the macro should be executed + @param [in] errds= (work.mp_abort_errds) There is no clean way to end a + process within a %include called within a macro. Furthermore, there is no + way to test if a macro is called within a %include. To handle this + particular scenario, the %include should be switched for the mp_include.sas + macro. This provides an indicator that we are running a macro within a \%include (`_SYSINCLUDEFILEDEVICE`) and allows us to provide a dataset with the abort values (msg, mac). @@ -45,8 +46,8 @@ @li msg (the message) @li mac (the mac param) - @param mode= (REGULAR) If mode=INCLUDE then the &errds dataset is checked for - an abort status. + @param [in] mode= (REGULAR) If mode=INCLUDE then the &errds dataset is checked + for an abort status. Valid values: @li REGULAR (default) @li INCLUDE diff --git a/base/mp_aligndecimal.sas b/base/mp_aligndecimal.sas index dc15226f..e638e257 100644 --- a/base/mp_aligndecimal.sas +++ b/base/mp_aligndecimal.sas @@ -62,8 +62,8 @@ 7998580.8415 - @param var The (data step, character) variable to modify - @param width= (8) The number of characters BEFORE the decimal point + @param [in] var The (data step, character) variable to modify + @param [in] width= (8) The number of characters BEFORE the decimal point

SAS Macros

@li mf_getuniquename.sas diff --git a/base/mp_appendfile.sas b/base/mp_appendfile.sas index 77537d26..a0a98bf2 100644 --- a/base/mp_appendfile.sas +++ b/base/mp_appendfile.sas @@ -17,8 +17,8 @@ %mp_appendfile(baseref=tmp1, appendrefs=tmp2 tmp3) - @param [in] baseref= Fileref of the base file (should exist) - @param [in] appendrefs= One or more filerefs to be appended to the base + @param [in] baseref= (0) Fileref of the base file (should exist) + @param [in] appendrefs= (0) One or more filerefs to be appended to the base fileref. Space separated. @version 9.2 diff --git a/base/mp_assertcols.sas b/base/mp_assertcols.sas index 7e61756a..73b39153 100644 --- a/base/mp_assertcols.sas +++ b/base/mp_assertcols.sas @@ -31,8 +31,8 @@ @param [in] inds The input library.dataset to test for values - @param [in] cols= The list of columns to check for - @param [in] desc= (Testing observations) The user provided test description + @param [in] cols= (0) The list of columns to check for + @param [in] desc= (0) The user provided test description @param [in] test= (ALL) The test to apply. Valid values are: @li ALL - Test is a PASS if ALL columns exist in &inds @li ANY - Test is a PASS if ANY of the columns exist in &inds diff --git a/base/mp_assertcolvals.sas b/base/mp_assertcolvals.sas index 8dc36c96..dfa70eb0 100644 --- a/base/mp_assertcolvals.sas +++ b/base/mp_assertcolvals.sas @@ -36,7 +36,7 @@ @param [in] indscol The input library.dataset.column to test for values - @param [in] checkvals= A library.dataset.column value containing a UNIQUE + @param [in] checkvals= (0) A library.dataset.column value containing a UNIQUE list of values to be compared against the source (indscol). @param [in] desc= (Testing observations) The user provided test description @param [in] test= (ALLVALS) The test to apply. Valid values are: diff --git a/base/mp_base64copy.sas b/base/mp_base64copy.sas index 9b52876d..61f62524 100644 --- a/base/mp_base64copy.sas +++ b/base/mp_base64copy.sas @@ -28,8 +28,8 @@ put _infile_; run; - @param [in] inref= Fileref of the input file (should exist) - @param [out] outref= Output fileref. If it does not exist, it is created. + @param [in] inref= (0) Fileref of the input file (should exist) + @param [out] outref= (0) Output fileref. If it does not exist, it is created. @param [in] action= (ENCODE) The action to take. Valid values: @li ENCODE - Convert the file to base64 format @li DECODE - Decode the file from base64 format diff --git a/base/mp_binarycopy.sas b/base/mp_binarycopy.sas index 8a8502c6..629acf6e 100755 --- a/base/mp_binarycopy.sas +++ b/base/mp_binarycopy.sas @@ -22,13 +22,13 @@ %mp_binarycopy(inref=tmp1, outref=tmp2, mode=APPEND) - @param [in] inloc quoted "path/and/filename.ext" of the file to be copied - @param [out] outloc quoted "path/and/filename.ext" of the file to be created - @param [in] inref (____in) If provided, this fileref will take precedence over + @param [in] inloc= () quoted "path/and/filename.ext" of the file to be copied + @param [out] outloc= () quoted "path/and/filename.ext" of the file to create + @param [in] inref= (____in) If provided, this fileref takes precedence over the `inloc` parameter - @param [out] outref (____in) If provided, this fileref will take precedence + @param [out] outref= (____in) If provided, this fileref takes precedence over the `outloc` parameter. It must already exist! - @param [in] mode (CREATE) Valid values: + @param [in] mode= (CREATE) Valid values: @li CREATE - Create the file (even if it already exists) @li APPEND - Append to the file (don't overwrite) @param iftrue= (1=1) Supply a condition for which the macro should be executed diff --git a/base/mp_chop.sas b/base/mp_chop.sas index 46f95f42..fcdb38e1 100644 --- a/base/mp_chop.sas +++ b/base/mp_chop.sas @@ -44,7 +44,7 @@ For more examples, see mp_chop.test.sas @param [in] infile The QUOTED path to the file on which to perform the chop - @param [in] matchvar= Macro variable NAME containing the string to split by + @param [in] matchvar= () Macro variable NAME containing the string to split by @param [in] matchpoint= (START) Valid values: @li START - chop at the beginning of the string in `matchvar`. @li END - chop at the end of the string in `matchvar`. diff --git a/base/mp_copyfolder.sas b/base/mp_copyfolder.sas index 18ed1fd1..1e1e0813 100644 --- a/base/mp_copyfolder.sas +++ b/base/mp_copyfolder.sas @@ -18,7 +18,7 @@ @param [in] source Unquoted path to the folder to copy from. @param [out] target Unquoted path to the folder to copy to. - @param [in] copymax=(MAX) Set to a positive integer to indicate the level of + @param [in] copymax= (MAX) Set to a positive integer to indicate the level of subdirectory copy recursion - eg 3, to go `./3/levels/deep`. For unlimited recursion, set to MAX. diff --git a/base/mp_createwebservice.sas b/base/mp_createwebservice.sas index 4be9b08d..da22ba6c 100644 --- a/base/mp_createwebservice.sas +++ b/base/mp_createwebservice.sas @@ -1,6 +1,6 @@ /** @file mp_createwebservice.sas - @brief Create a web service in SAS 9, Viya or SASjs Server + @brief Create a web service in SAS 9, Viya or SASjs Server (legacy) @details This is actually a wrapper for mx_createwebservice.sas, remaining for legacy purposes. For new apps, use mx_createwebservice.sas. diff --git a/base/mp_csv2ds.sas b/base/mp_csv2ds.sas index b23c9cda..d75a7e17 100644 --- a/base/mp_csv2ds.sas +++ b/base/mp_csv2ds.sas @@ -19,11 +19,11 @@ %mp_csv2ds(inref=mycsv,outds=myds,baseds=sashelp.class) - @param inref= fileref to the CSV - @param outds= output ds (lib.ds format) - @param view= Set to YES or NO to determine whether the output should be + @param inref= (0) Fileref to the CSV + @param outds= (0) Output ds (lib.ds format) + @param view= (NO) Set to YES or NO to determine whether the output should be a view or not. Default is NO (not a view). - @param baseds= Template dataset on which to create the input statement. + @param baseds= (0) Template dataset on which to create the input statement. Is used to determine types, lengths, and any informats. @version 9.2 diff --git a/base/mp_deleteconstraints.sas b/base/mp_deleteconstraints.sas index 0c819d0f..1744b31e 100644 --- a/base/mp_deleteconstraints.sas +++ b/base/mp_deleteconstraints.sas @@ -17,9 +17,10 @@ %mp_getconstraints(lib=work,ds=example,outds=work.constraints) %mp_deleteconstraints(inds=work.constraints,outds=dropped,execute=YES) - @param inds= The input table containing the constraint info - @param outds= a table containing the drop statements (drop_statement column) - @param execute= `YES|NO` - default is NO. To actually drop, use YES. + @param inds= (mp_getconstraints) The input table containing constraint info + @param outds= (mp_deleteconstraints) Table containing the drop statements + (drop_statement column) + @param execute= (NO) `YES|NO` - default is NO. To actually drop, use YES. @version 9.2 diff --git a/base/mp_deletefolder.sas b/base/mp_deletefolder.sas index 55b1e3fb..92b390b0 100644 --- a/base/mp_deletefolder.sas +++ b/base/mp_deletefolder.sas @@ -15,7 +15,7 @@ %mp_deletefolder(&rootdir) - @param path Unquoted path to the folder to delete. + @param [in] folder Unquoted path to the folder to delete.

SAS Macros

@li mf_getuniquename.sas diff --git a/base/mp_dictionary.sas b/base/mp_dictionary.sas index 983dc71c..e5e21ac8 100644 --- a/base/mp_dictionary.sas +++ b/base/mp_dictionary.sas @@ -29,7 +29,7 @@ ![](https://user-images.githubusercontent.com/4420615/188278365-2987db97-0594-4a39-ac81-dbacdef5cdc8.png) - @param lib= (WORK) The libref in which to create the views + @param [in] lib= (WORK) The libref in which to create the views

Related Files

@li mp_dictionary.test.sas diff --git a/base/mp_distinctfmtvalues.sas b/base/mp_distinctfmtvalues.sas index 5caacf75..771af2bb 100644 --- a/base/mp_distinctfmtvalues.sas +++ b/base/mp_distinctfmtvalues.sas @@ -7,11 +7,11 @@ %mp_distinctfmtvalues(libds=sashelp.class,var=age,outvar=age,outds=test) - @param libds input dataset - @param var variable to get distinct values for - @param outvar variable to create. Default: `formatted_value` - @param outds dataset to create. Default: work.mp_distinctfmtvalues - @param varlen length of variable to create (default 200) + @param [in] libds= () input dataset + @param [in] var= (0) variable to get distinct values for + @param [out] outvar= (formatteed_value) variable to create. + @param [out] outds= (work.mp_distinctfmtvalues) dataset to create. + @param [in] varlen= (2000) length of variable to create @version 9.2 @author Allan Bowe diff --git a/base/mp_ds2ddl.sas b/base/mp_ds2ddl.sas index 7c30d86d..7adaab60 100644 --- a/base/mp_ds2ddl.sas +++ b/base/mp_ds2ddl.sas @@ -1,8 +1,20 @@ /** @file - @brief A wrapper for mp_getddl.sas - @details In the next release, this will be the main version. + @brief Fetches DDL for a specific table + @details Uses mp_getddl under the hood + @param [in] libds library.dataset to create ddl for + @param [in] fref= (getddl) the fileref to which to _append_ the DDL. If it + does not exist, it will be created. + @param [in] flavour= (SAS) The type of DDL to create. Options: + @li SAS + @li TSQL + + @param [in]showlog= (NO) Set to YES to show the DDL in the log + @param [in] schema= () Choose a preferred schema name (default is to use + actual schema, else libref) + @param applydttm= (NO) For non SAS DDL, choose if columns are created with + native datetime2 format or regular decimal type

SAS Macros

@li mp_getddl.sas diff --git a/base/mp_dsmeta.sas b/base/mp_dsmeta.sas index 4c16cc67..1644a866 100644 --- a/base/mp_dsmeta.sas +++ b/base/mp_dsmeta.sas @@ -49,8 +49,8 @@ https://support.sas.com/resources/papers/proceedings14/1549-2014.pdf) by [Louise Hadden](https://www.linkedin.com/in/louisehadden/). - @param libds The library.dataset to export the metadata for - @param outds= (work.dsmeta) The output table to contain the metadata + @param [in] libds The library.dataset to export the metadata for + @param [out] outds= (work.dsmeta) The output table to contain the metadata

Related Files

@li mp_dsmeta.test.sas diff --git a/base/mp_filtercheck.sas b/base/mp_filtercheck.sas index 30fb2adf..75885c49 100644 --- a/base/mp_filtercheck.sas +++ b/base/mp_filtercheck.sas @@ -37,10 +37,12 @@ @param [in] targetds= The target dataset against which to verify VARIABLE_NM. This must be available (ie, the library must be assigned). @param [out] abort= (YES) If YES will call mp_abort.sas on any exceptions - @param [out] outds= The output table, which is a copy of the &inds. table - plus a REASON_CD column, containing only bad records. If bad records found, - the SYSCC value will be set to 1008 (general data problem). Downstream - processes should check this table (and return code) before continuing. + @param [out] outds= (work.badrecords) The output table, which is a copy of the + &inds. table plus a REASON_CD column, containing only bad records. + If bad records are found, the SYSCC value will be set to 1008 + (a general data problem). + Downstream processes should check this table (and return code) before + continuing.

SAS Macros

@li mp_abort.sas diff --git a/base/mp_filtergenerate.sas b/base/mp_filtergenerate.sas index 7acac883..2ffb40e6 100644 --- a/base/mp_filtergenerate.sas +++ b/base/mp_filtergenerate.sas @@ -51,8 +51,8 @@ > ) @param [in] inds The input table with query values - @param [out] outref= The output fileref to contain the filter clause. Will - be created (or replaced). + @param [out] outref= (filter) The output fileref to contain the filter clause. + Will be created (or replaced).

Related Macros

@li mp_filtercheck.sas diff --git a/base/mp_filterstore.sas b/base/mp_filterstore.sas index a2a79f58..cc8e468d 100644 --- a/base/mp_filterstore.sas +++ b/base/mp_filterstore.sas @@ -44,9 +44,10 @@ mp_coretable.sas as follows: `mp_coretable(LOCKTABLE)`. @param [in] maxkeytable= (0) Optional permanent reference table used for retained key tracking. Described in mp_retainedkey.sas. - @param [in] mdebug= set to 1 to enable DEBUG messages - @param [out] outresult= The result table with the FILTER_RK - @param [out] outquery= The original query, taken as extract after table load + @param [in] mdebug= (1) set to 1 to enable DEBUG messages + @param [out] outresult= (work.result) The result table with the FILTER_RK + @param [out] outquery= (work.query) The original query, taken as extract + after table load

SAS Macros

diff --git a/base/mp_getcols.sas b/base/mp_getcols.sas index 0b34425e..c4939eb2 100644 --- a/base/mp_getcols.sas +++ b/base/mp_getcols.sas @@ -20,6 +20,9 @@ |`DATE `|`8 `|`1 `|`DATE `|`MONYY `|`MONYY. `|`N `|`DATE `| |`REGION `|`3 `|`3 `|`REGION `|` `|`$3. `|`C `|`CHARACTER `| + @param [in] ds The dataset to get the columns from + @param [out] outds= (work.cols) The dataset to create +

Related Macros

@li mf_getvarlist.sas @li mm_getcols.sas diff --git a/base/mp_getdbml.sas b/base/mp_getdbml.sas index 60a98d44..bf3e7a54 100644 --- a/base/mp_getdbml.sas +++ b/base/mp_getdbml.sas @@ -23,10 +23,10 @@ @li mf_getquotedstr.sas @li mp_getconstraints.sas - @param liblist= Space seperated list of librefs to take as - input (Default=SASHELP) - @param outref= Fileref to contain the DBML (Default=getdbml) - @param showlog= set to YES to show the DBML in the log (Default is NO) + @param [in] liblist= (SASHELP) Space seperated list of librefs to take as + input + @param [out] outref= (getdbml) Fileref to contain the DBML + @param [in] showlog= (NO) set to YES to show the DBML in the log @version 9.3 @author Allan Bowe diff --git a/base/mp_getddl.sas b/base/mp_getddl.sas index 55fe4b11..e10ef0ac 100644 --- a/base/mp_getddl.sas +++ b/base/mp_getddl.sas @@ -22,16 +22,21 @@ @li mf_getvarcount.sas @li mp_getconstraints.sas - @param lib libref of the library to create DDL for. Should be assigned. - @param ds dataset to create ddl for (optional) - @param fref= the fileref to which to _append_ the DDL. If it does not exist, - it will be created. - @param flavour= The type of DDL to create (default=SAS). Supported=TSQL - @param showlog= Set to YES to show the DDL in the log - @param schema= Choose a preferred schema name (default is to use actual schema - ,else libref) - @param applydttm= for non SAS DDL, choose if columns are created with native - datetime2 format or regular decimal type + @param [in] libref Libref of the library to create DDL for. Should already + be assigned. + @param [in] ds dataset to create ddl for (optional) + @param [in] fref= (getddl) the fileref to which to _append_ the DDL. If it + does not exist, it will be created. + @param [in] flavour= (SAS) The type of DDL to create. Options: + @li SAS + @li TSQL + + @param [in]showlog= (NO) Set to YES to show the DDL in the log + @param [in] schema= () Choose a preferred schema name (default is to use + actual schema, else libref) + @param applydttm= (NO) For non SAS DDL, choose if columns are created with + native datetime2 format or regular decimal type + @version 9.3 @author Allan Bowe **/ diff --git a/base/mp_guesspk.sas b/base/mp_guesspk.sas index bdbdd3bf..a0b29579 100644 --- a/base/mp_guesspk.sas +++ b/base/mp_guesspk.sas @@ -18,7 +18,7 @@ %mp_guesspk(sashelp.class,outds=classpks) @param [in] baseds The dataset to analyse - @param [out] outds= The output dataset to contain the possible PKs + @param [out] outds= (mp_guesspk) Output dataset to contain the possible PKs @param [in] max_guesses= (3) The total number of possible primary keys to generate. A table may have multiple (unlikely) PKs, so no need to list them all. diff --git a/base/mp_hashdataset.sas b/base/mp_hashdataset.sas index 19e8f44e..a7625109 100644 --- a/base/mp_hashdataset.sas +++ b/base/mp_hashdataset.sas @@ -24,7 +24,7 @@ @li mp_hashdirectory.sas @param [in] libds dataset to hash - @param [in] salt= Provide a salt (could be, for instance, the dataset name) + @param [in] salt= () Provide a salt (could be, for instance, the dataset name) @param [in] iftrue= (1=1) A condition under which the macro should be executed @param [out] outds= (work._data_) The output dataset to create. This will contain one column (hashkey) with one observation (a $hex32. diff --git a/base/mp_lib2cards.sas b/base/mp_lib2cards.sas index e2627e2c..7f7ef3c6 100644 --- a/base/mp_lib2cards.sas +++ b/base/mp_lib2cards.sas @@ -24,19 +24,19 @@ @li mf_trimstr.sas @li mp_ds2cards.sas - @param [in] lib= Library in which to convert all datasets - @param [out] outloc= Location in which to store output. Defaults to WORK - library. No quotes. - @param [out] outfile= Optional output file NAME - if provided, then will create - a single output file instead of one file per input table. - @param [in] maxobs= limit output to the first maxobs observations + @param [in] lib= () Library in which to convert all datasets + @param [out] outloc= (%sysfunc(pathname(work))) Location in which to store + output. No quotes. + @param [out] outfile= (0) Optional output file NAME - if provided, then + will create a single output file instead of one file per input table. + @param [in] maxobs= (max) limit output to the first maxobs rows @version 9.2 @author Allan Bowe **/ %macro mp_lib2cards(lib= - ,outloc=%sysfunc(pathname(work)) /* without trailing slash */ + ,outloc=%sysfunc(pathname(work)) ,maxobs=max ,random_sample=NO ,outfile=0 diff --git a/base/mp_md5.sas b/base/mp_md5.sas index 83db2b2c..adf65da4 100644 --- a/base/mp_md5.sas +++ b/base/mp_md5.sas @@ -28,8 +28,8 @@ @li Global option: `options dsoptions=nonote2err;` @li Data step option: `data YOURLIB.YOURDATASET /nonote2err;` - @param cvars= Space seperated list of character variables - @param nvars= Space seperated list of numeric variables + @param cvars= () Space seperated list of character variables + @param nvars= () Space seperated list of numeric variables

Related Programs

@li mp_init.sas diff --git a/base/mp_perflog.sas b/base/mp_perflog.sas index d9f9e563..08aea34a 100644 --- a/base/mp_perflog.sas +++ b/base/mp_perflog.sas @@ -11,9 +11,9 @@ %mp_perflog(finished) - @param label Provide label to go into the control dataset - @param libds= Provide a dataset in which to store performance stats. Default - name is work.mp_perflog; + @param [in] label Provide label to go into the control dataset + @param [in] libds= (work.mp_perflog) Provide a dataset in which to store + performance stats. Default name is work.mp_perflog; @version 9.2 @author Allan Bowe diff --git a/base/mp_prevobs.sas b/base/mp_prevobs.sas index 9d0aa0bd..887b03d3 100644 --- a/base/mp_prevobs.sas +++ b/base/mp_prevobs.sas @@ -34,12 +34,12 @@ Credit is made to `data _null_` for authoring this very helpful paper: https://www.lexjansen.com/pharmasug/2008/cc/CC08.pdf - @param action Either FETCH a current or previous record, or INITialise. - @param record The relative (to current) position of the previous observation + @param [in] action Either FETCH a current or previous record, or INITialise. + @param [in] record The relative (to current) position of the previous row to return. - @param history= The number of records to retain in the hash table. Default=5 - @param prefix= the prefix to give to the variables used to store the hash name - and index. Default=mp_prevobs + @param [in] history= (5) The number of records to retain in the hash table. + @param prefix= (mp_prevobs) The prefix to give to the variables used to + store the hash name and index. @version 9.2 @author Allan Bowe diff --git a/base/mp_recursivejoin.sas b/base/mp_recursivejoin.sas index 44dd9fb9..ee7fb3ba 100644 --- a/base/mp_recursivejoin.sas +++ b/base/mp_recursivejoin.sas @@ -23,12 +23,13 @@ ,childvar=c ) - @param base_ds= base table containing hierarchy (not modified) - @param outds= the output dataset to create with the generated hierarchy - @param matchval= the ultimate parent from which to filter - @param parentvar= name of the parent variable - @param childvar= name of the child variable (should be same type as parent) - @param mdebug= set to 1 to prevent temp tables being dropped + @param [in] base_ds= base table containing hierarchy (not modified) + @param [out] outds= the output dataset to create with the generated hierarchy + @param [in] matchval= the ultimate parent from which to filter + @param [in] parentvar= name of the parent variable + @param [in] childvar= () name of the child variable (should be same type as + parent) + @param [in] mdebug= set to 1 to prevent temp tables being dropped @returns outds contains the following variables: diff --git a/base/mp_replace.sas b/base/mp_replace.sas index 32ea3d41..76f0552a 100644 --- a/base/mp_replace.sas +++ b/base/mp_replace.sas @@ -32,10 +32,11 @@ Note - if you are running a version of SAS that will allow the io package in LUA, you can also use this macro: mp_gsubfile.sas - @param infile The QUOTED path to the file on which to perform the substitution - @param findvar= Macro variable NAME containing the string to search for - @param replacevar= Macro variable NAME containing the replacement string - @param outfile= (0) Optional QUOTED path to the adjusted output file (to + @param [in] infile The QUOTED path to the file on which to perform the + substitution + @param [in] findvar= Macro variable NAME containing the string to search for + @param [in] replacevar= Macro variable NAME containing the replacement string + @param [out] outfile= (0) Optional QUOTED path to the adjusted output file (to avoid overwriting the first file).

SAS Macros

diff --git a/base/mp_runddl.sas b/base/mp_runddl.sas index 0a8e305e..3f6f66c7 100644 --- a/base/mp_runddl.sas +++ b/base/mp_runddl.sas @@ -31,9 +31,9 @@ %mp_runddl(/some/rootlib, exc=LIBREF3) * same as above ; - @param path location of the DDL folder structure - @param inc= list of librefs to include - @param exc= list of librefs to exclude (takes precedence over inc=) + @param [in] path location of the DDL folder structure + @param [in] inc= list of librefs to include + @param [in] exc= list of librefs to exclude (takes precedence over inc=) @version 9.3 @author Allan Bowe diff --git a/base/mp_searchcols.sas b/base/mp_searchcols.sas index d4cc087a..9bb9a6bf 100644 --- a/base/mp_searchcols.sas +++ b/base/mp_searchcols.sas @@ -9,12 +9,12 @@ %mp_searchcols(libs=sashelp work, cols=name sex age) - @param libs=(SASHELP) Space separated list of libraries to search for columns + @param libs= (SASHELP) Space separated list of libraries to search for columns @param cols= Space separated list of column names to search for (not case sensitive) - @param outds=(mp_searchcols) the table to create with the results. Will have + @param outds= (mp_searchcols) the table to create with the results. Will have one line per table match. - @param match=(ANY) The match type. Valid values: + @param match= (ANY) The match type. Valid values: @li ANY - The table contains at least one of the columns @li WILD - The table contains a column with a name that partially matches diff --git a/base/mp_stprequests.sas b/base/mp_stprequests.sas index 9490f4bd..15c416c3 100644 --- a/base/mp_stprequests.sas +++ b/base/mp_stprequests.sas @@ -21,9 +21,10 @@ %mp_stprequests(status_cd=INIT, libds=YOURLIB.DATASET ) - @param status_cd= Use INIT for INIT and TERM for TERM events - @param libds= Location of base table (library.dataset). To minimise risk - of table locks, we HIGHLY recommend using a database (NOT a SAS dataset). + @param [in] status_cd= Use INIT for INIT and TERM for TERM events + @param [in] libds= (somelib.stp_requests) Location of base table + (library.dataset). To minimise risk of table locks, we HIGHLY recommend + using a database (NOT a SAS dataset). THE LIBRARY SHOULD BE ASSIGNED ALREADY - eg in autoexec or earlier in the init program proper. diff --git a/base/mp_testjob.sas b/base/mp_testjob.sas index 26a9d916..75be8fdc 100644 --- a/base/mp_testjob.sas +++ b/base/mp_testjob.sas @@ -8,8 +8,8 @@ duration=60*5 ) - @param [in] duration= the time in seconds which the job should run for. Actual - time may vary, as the check is done in between steps. Default = 30 (seconds). + @param [in] duration= (30) The time in seconds which the job should run for. + Actual time may vary, as the check is done in between steps.

SAS Macros

@li mf_getuniquelibref.sas diff --git a/base/mp_testwritespeedlibrary.sas b/base/mp_testwritespeedlibrary.sas index 38cce1d5..4b1fe56f 100644 --- a/base/mp_testwritespeedlibrary.sas +++ b/base/mp_testwritespeedlibrary.sas @@ -11,9 +11,9 @@ ,outds=work.results ) - @param lib= (WORK) The library in which to create the table - @param size= (0.1) The size in GB of the table to create - @param outds= (WORK.RESULTS) The output dataset to be created. + @param [in] lib= (WORK) The library in which to create the table + @param [in] size= (0.1) The size in GB of the table to create + @param [out] outds= (WORK.RESULTS) The output dataset to be created.

SAS Macros

@li mf_getuniquename.sas diff --git a/base/mp_tree.sas b/base/mp_tree.sas index 24e635ba..f75cd7ab 100644 --- a/base/mp_tree.sas +++ b/base/mp_tree.sas @@ -15,8 +15,8 @@ https://communities.sas.com/t5/SAS-Programming/listing-all-files-within-a-direct https://communities.sas.com/t5/SAS-Programming/listing-all-files-of-all-types-from-all-subdirectories/m-p/334113/highlight/true#M75419 - @param dir= Directory to be scanned (default=/tmp) - @param outds= Dataset to create (default=work.mp_tree) + @param [in] dir= (/tmp) Directory to be scanned + @param [out] outds= (work.mp_tree) Dataset to create @returns outds contains the following variables: diff --git a/base/mp_unzip.sas b/base/mp_unzip.sas index e374a14a..f8de1146 100644 --- a/base/mp_unzip.sas +++ b/base/mp_unzip.sas @@ -13,11 +13,12 @@ %mp_unzip(ziploc="/some/file.zip",outdir=/some/folder) - More info: https://blogs.sas.com/content/sasdummy/2015/05/11/using-filename-zip-to-unzip-and-read-data-files-in-sas/ + More info: + https://blogs.sas.com/content/sasdummy/2015/05/11/using-filename-zip-to-unzip-and-read-data-files-in-sas/ - @param ziploc= Fileref or quoted full path to zip file ("/path/to/file.zip") - @param outdir= (%sysfunc(pathname(work))) Directory in which to write the - outputs (created if non existant) + @param [in] ziploc= Fileref or quoted full path, eg: "/path/to/file.zip" + @param [out] outdir= (%sysfunc(pathname(work))) Directory in which to write + the outputs (created if needed)

SAS Macros

@li mf_mkdir.sas diff --git a/base/mp_updatevarlength.sas b/base/mp_updatevarlength.sas index 9cc42be9..d94dd08a 100644 --- a/base/mp_updatevarlength.sas +++ b/base/mp_updatevarlength.sas @@ -14,9 +14,9 @@ proc sql; describe table example; - @param libds the library.dataset to be modified - @param var The variable to modify - @param len The new length to apply + @param [in] libds the library.dataset to be modified + @param [in] var The variable to modify + @param [in] len The new length to apply

SAS Macros

@li mf_existds.sas diff --git a/base/mp_wait4file.sas b/base/mp_wait4file.sas index d1e6c261..45e7acb9 100644 --- a/base/mp_wait4file.sas +++ b/base/mp_wait4file.sas @@ -11,7 +11,7 @@ @param [in] file The file to wait for. Must be provided. @param [in] maxwait= (0) Number of seconds to wait. If set to zero, will loop indefinitely (to a maximum of 46 days, per SAS [documentation]( - https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a001418809.htm + https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a001418809.htm )). Otherwise, execution will proceed upon sleep expiry. @param [in] interval= (1) The wait period between sleeps, in seconds diff --git a/base/mp_webin.sas b/base/mp_webin.sas index 35b09512..f92b4be9 100644 --- a/base/mp_webin.sas +++ b/base/mp_webin.sas @@ -18,7 +18,7 @@ Usage: - %mp_webin() + %mp_webin() This was created as a macro procedure (over a macro function) as it will also use the filename statement in Viya environments (where `_webin_fileuri` is diff --git a/base/mp_zip.sas b/base/mp_zip.sas index aef29ae1..befe4406 100644 --- a/base/mp_zip.sas +++ b/base/mp_zip.sas @@ -15,14 +15,14 @@

SAS Macros

@li mp_dirlist.sas - @param in= unquoted filepath, dataset of files or directory to zip - @param type= (FILE) Valid values: + @param [in] in= unquoted filepath, dataset of files or directory to zip + @param [in] type= (FILE) Valid values: @li FILE - /full/path/and/filename.extension to a particular file @li DATASET - a dataset containing a list of files to zip (see `incol`) @li DIRECTORY - a directory to zip - @param outname= (FILE) Output file to create, _without_ .zip extension - @param outpath= (%sysfunc(pathname(WORK))) Parent folder for output zip file - @param incol= if DATASET input, say which column contains the filepath + @param [out] outname= (FILE) Output file to create, _without_ .zip extension + @param [out] outpath= (%sysfunc(pathname(WORK))) Parent folder for zip file + @param [in] incol= () If DATASET input, say which column contains the filepath

Related Macros

@li mp_unzip.sas diff --git a/meta/mm_adduser2group.sas b/meta/mm_adduser2group.sas index bb1e0265..4fe92b1c 100644 --- a/meta/mm_adduser2group.sas +++ b/meta/mm_adduser2group.sas @@ -13,9 +13,9 @@ ,group=someGroup) - @param user= the user name (not displayname) - @param group= the group to which to add the user - @param mdebug= (0) set to 1 to show debug info in log + @param [in] user= the user name (not displayname) + @param [in] group= the group to which to add the user + @param [in] mdebug= (0) set to 1 to show debug info in log

Related Files

@li ms_adduser2group.sas diff --git a/meta/mm_assigndirectlib.sas b/meta/mm_assigndirectlib.sas index 1da4c151..7ac378fe 100755 --- a/meta/mm_assigndirectlib.sas +++ b/meta/mm_assigndirectlib.sas @@ -18,12 +18,13 @@ @li mf_getengine.sas @li mp_abort.sas - @param libref the libref (not name) of the metadata library - @param open_passthrough= provide an alias to produce the CONNECT TO statement - for the relevant external database - @param sql_options= an override default output fileref to avoid naming clash - @param mDebug= set to 1 to show debug messages in the log - @param mAbort= set to 1 to call %mp_abort(). + @param [in] libref the libref (not name) of the metadata library + @param [in] open_passthrough= () Provide an alias to produce the CONNECT TO + statement for the relevant external database + @param [in] sql_options= () Add any options to add to proc sql statement, + eg outobs= (only valid for pass through) + @param [in] mDebug= (0) set to 1 to show debug messages in the log + @param [in] mAbort= (0) set to 1 to call %mp_abort(). @returns libname statement @@ -33,12 +34,9 @@ **/ %macro mm_assigndirectlib( - libref /* libref to assign from metadata */ - ,open_passthrough= /* provide an alias to produce the - CONNECT TO statement for the - relevant external database */ - ,sql_options= /* add any options to add to proc sql statement eg outobs= - (only valid for pass through) */ + libref + ,open_passthrough= + ,sql_options= ,mDebug=0 ,mAbort=0 )/*/STORE SOURCE*/; diff --git a/meta/mm_assignlib.sas b/meta/mm_assignlib.sas index 1dd3c03b..a47875ee 100755 --- a/meta/mm_assignlib.sas +++ b/meta/mm_assignlib.sas @@ -14,8 +14,8 @@ @li mp_abort.sas @param [in] libref The libref (not name) of the metadata library - @param [in] mAbort= If not assigned, HARD will call %mp_abort(), SOFT will - silently return + @param [in] mAbort= (HARD) If not assigned, HARD will call %mp_abort(), SOFT + will silently return @returns libname statement diff --git a/meta/mm_createdataset.sas b/meta/mm_createdataset.sas index 3d83c46b..fb9399bb 100644 --- a/meta/mm_createdataset.sas +++ b/meta/mm_createdataset.sas @@ -22,12 +22,12 @@ @li mm_gettables.sas @li mm_getcols.sas - @param libds= library.dataset metadata source. Note - table names in metadata + @param [in] libds= library.dataset metadata source. Note - table names in metadata can be longer than 32 chars (just fyi, not an issue here) - @param tableuri= Metadata URI of the table to be created - @param outds= (work.mm_createdataset) The dataset to create. The table name - needs to be 32 chars or less as per SAS naming rules. - @param mdebug= (0) Set to 1 to enable DEBUG messages + @param [in] tableuri= Metadata URI of the table to be created + @param [out] outds= (work.mm_createdataset) The dataset to create. The table + name needs to be 32 chars or less as per SAS naming rules. + @param [in] mdebug= (0) Set to 1 to enable DEBUG messages @version 9.4 @author Allan Bowe diff --git a/meta/mm_createdocument.sas b/meta/mm_createdocument.sas index 7afd567d..46d893e6 100644 --- a/meta/mm_createdocument.sas +++ b/meta/mm_createdocument.sas @@ -17,15 +17,15 @@ @li mf_verifymacvars.sas - @param tree= The metadata folder uri, or the metadata path, in which to + @param [in] tree= The metadata folder uri, or the metadata path, in which to create the document. This must exist. - @param name= Document object name. Avoid spaces. + @param [in] name= Document object name. Avoid spaces. - @param desc= Document description (optional) - @param textrole= TextRole property (optional) - @param frefin= fileref to use (enables change if there is a conflict) - @param frefout= fileref to use (enables change if there is a conflict) - @param mDebug= set to 1 to show debug messages in the log + @param [in] desc= Document description (optional) + @param [in] textrole= TextRole property (optional) + @param [in] frefin= fileref to use (enables change if there is a conflict) + @param [out] frefout= fileref to use (enables change if there is a conflict) + @param [in] mDebug= set to 1 to show debug messages in the log @author Allan Bowe diff --git a/meta/mm_createlibrary.sas b/meta/mm_createlibrary.sas index 267027f3..1f4e7424 100644 --- a/meta/mm_createlibrary.sas +++ b/meta/mm_createlibrary.sas @@ -24,30 +24,33 @@ @li mm_createfolder.sas - @param libname= Library name (as displayed to user, 256 chars). Duplicates - are not created (case sensitive). - @param libref= Library libref (8 chars). Duplicate librefs are not created, - HOWEVER- the check is not case sensitive - if *libref* exists, *LIBREF* - will still be created. Librefs created will always be uppercased. - @param engine= Library engine (currently only BASE supported) - @param tree= The metadata folder uri, or the metadata path, in which to + @param [in] libname= (My New Library) Library name (as displayed to user, + 256 chars). Duplicates are not created (case sensitive). + @param [in] libref= (mynewlib) Library libref (8 chars). Duplicate + librefs are not created, HOWEVER- the check is not case sensitive - if + *libref* exists, *LIBREF* will still be created. + Librefs created will always be uppercased. + @param [in] engine= Library engine (currently only BASE supported) + @param [in] tree= The metadata folder uri, or the metadata path, in which to create the library. - @param servercontext= The SAS server against which the library is registered. - @param IsPreassigned= set to 1 if the library should be pre-assigned. - - @param libdesc= Library description (optional) - @param directory= Required for the BASE engine. The metadata directory objects - are searched to find an existing one with a matching physical path. + @param [in] servercontext= (SASApp) The SAS server against which + the library is registered. + @param [in] IsPreassigned= set to 1 if the library should be pre-assigned. + + @param [in] libdesc= Library description (optional) + @param [in] directory= (/tmp/somelib) Required for the BASE engine. + The metadata directory objects are searched to find an existing + one with a matching physical path. If more than one uri found with that path, then the first one will be used. If no URI is found, a new directory object will be created. The physical path will also be created, if it doesn't exist. - @param mDebug= set to 1 to show debug messages in the log - @param frefin= fileref to use (enables change if there is a conflict). The - filerefs are left open, to enable inspection after running the + @param [in] mDebug= set to 1 to show debug messages in the log + @param [in] frefin= fileref to use (enables change if there is a conflict). + The filerefs are left open, to enable inspection after running the macro (or importing into an xmlmap if needed). - @param frefout= fileref to use (enables change if there is a conflict) + @param [out] frefout= fileref to use (enables change if there is a conflict) @version 9.3 diff --git a/meta/mm_createstp.sas b/meta/mm_createstp.sas index d2b687ed..2c8b0680 100755 --- a/meta/mm_createstp.sas +++ b/meta/mm_createstp.sas @@ -40,28 +40,32 @@ ,Server=SASApp ,stptype=2) - @param stpname= Stored Process name. Avoid spaces - testing has shown that + @param [in] stpname= (SASjs Default STP) Stored Process name. + Avoid spaces - testing has shown that the check to avoid creating multiple STPs in the same folder with the same name does not work when the name contains spaces. - @param stpdesc= Stored Process description (optional) - @param filename= the name of the .sas program to run - @param directory= The directory uri, or the actual path to the sas program - (no trailing slash). If more than uri is found with that path, then the - first one will be used. - @param tree= The metadata folder uri, or the metadata path, in which to + @param [in] stpdesc= Stored Process description (optional) + @param [in] filename= the name of the .sas program to run + @param [in] directory= (SASEnvironment/sascode) + The directory uri or the actual path to the sas program (no trailing slash). + If more than uri is found with that path, then the first one will be used. + @param [in] tree= The metadata folder uri, or the metadata path, in which to create the STP. - @param server= The server which will run the STP. Server name or uri is fine. - @param outds= The two level name of the output dataset. Will contain all the - meta uris. Defaults to work.mm_createstp. - @param mDebug= set to 1 to show debug messages in the log - @param stptype= Default is 1 (STP code saved on filesystem). Set to 2 if + @param [in] server= (SASApp) The server which will run the STP. + Server name or uri is fine. + @param [out] outds= (work.mm_createstp) + The two level name of the output dataset. Will contain all the meta uris. + @param [in] mDebug= set to 1 to show debug messages in the log + @param [in] stptype= Default is 1 (STP code saved on filesystem). Set to 2 if source code is to be saved in metadata (9.3 and above feature). - @param minify= set to YES to strip comments / blank lines etc - @param frefin= fileref to use (enables change if there is a conflict). The - filerefs are left open, to enable inspection after running the + @param [in] minify= set to YES to strip comments / blank lines etc + @param [in] frefin= (mm_in) fileref to use (enables change if there is + a conflict). + The filerefs are left open, to enable inspection after running the macro (or importing into an xmlmap if needed). - @param frefout= fileref to use (enables change if there is a conflict) - @param repo= ServerContext is tied to a repo, if you are not using the + @param [out] frefout= (mm_out) fileref to use (enables change if there is + a conflict) + @param [in] repo= ServerContext is tied to a repo, if you are not using the foundation repo then select a different one here @returns outds dataset containing the following columns: @@ -88,7 +92,7 @@ **/ %macro mm_createstp( - stpname=Macro People STP + stpname=SASjs Default STP ,stpdesc=This stp was created automatically by the mm_createstp macro ,filename=mm_createstp.sas ,directory=SASEnvironment/SASCode diff --git a/meta/mm_createwebservice.sas b/meta/mm_createwebservice.sas index 60df5a51..5c30c697 100644 --- a/meta/mm_createwebservice.sas +++ b/meta/mm_createwebservice.sas @@ -29,22 +29,23 @@ Usage: For more examples of using these web services with the SASjs Adapter, see: https://github.com/sasjs/adapter#readme - @param path= The full path (in SAS Metadata) where the service will be created - @param name= Stored Process name. Avoid spaces - testing has shown that + @param [in] path= () The full path (in SAS Metadata) where the service + will be created + @param [in] name= Stored Process name. Avoid spaces - testing has shown that the check to avoid creating multiple STPs in the same folder with the same name does not work when the name contains spaces. - @param desc= The description of the service (optional) - @param precode= Space separated list of filerefs, pointing to the code that - needs to be attached to the beginning of the service (optional) - @param code= (ft15f001) Space seperated fileref(s) of the actual code to be - added - @param server= (SASApp) The server which will run the STP. Server name or uri - is fine. - @param mDebug= (0) set to 1 to show debug messages in the log - @param replace= (YES) select NO to avoid replacing an existing service in that - location - @param adapter= (sasjs) the macro uses the sasjs adapter by default. To use - another adapter, add a (different) fileref here. + @param [in] desc= The description of the service (optional) + @param [in] precode= () Space separated list of filerefs, pointing to the + code that needs to be attached to the beginning of the service (optional) + @param [in] code= (ft15f001) Space seperated fileref(s) of the actual code + to be added + @param [in] server= (SASApp) The server which will run the STP. Server + name or uri is fine. + @param [in] mDebug= (0) set to 1 to show debug messages in the log + @param [in] replace= (YES) select NO to avoid replacing an existing service + in that location + @param [in] adapter= (sasjs) the macro uses the sasjs adapter by default. + To use another adapter, add a (different) fileref here.

SAS Macros

@li mm_createstp.sas diff --git a/meta/mm_deletedocument.sas b/meta/mm_deletedocument.sas index ddcf563a..43f88e30 100644 --- a/meta/mm_deletedocument.sas +++ b/meta/mm_deletedocument.sas @@ -10,7 +10,7 @@

SAS Macros

- @param target= full path to the document being deleted + @param [in] target= full path to the document being deleted @version 9.4 @author Allan Bowe diff --git a/meta/mm_deletelibrary.sas b/meta/mm_deletelibrary.sas index a4b56a1d..ef477593 100644 --- a/meta/mm_deletelibrary.sas +++ b/meta/mm_deletelibrary.sas @@ -20,7 +20,7 @@ ![](https://i.imgur.com/Y4Tog24.png) - @param [in] name= the name (not libref) of the library to be deleted + @param [in] name= () the name (not libref) of the library to be deleted

SAS Macros

@li mf_getuniquefileref.sas diff --git a/meta/mm_deletestp.sas b/meta/mm_deletestp.sas index 7c3f2f8a..01396f9d 100644 --- a/meta/mm_deletestp.sas +++ b/meta/mm_deletestp.sas @@ -9,7 +9,7 @@

SAS Macros

- @param target= full path to the STP being deleted + @param [in] target= full path to the STP being deleted @version 9.4 @author Allan Bowe diff --git a/meta/mm_getcols.sas b/meta/mm_getcols.sas index 59f6e73a..1e369b35 100644 --- a/meta/mm_getcols.sas +++ b/meta/mm_getcols.sas @@ -7,8 +7,8 @@ %mm_getcols(tableuri=A5X8AHW1.B40001S5) - @param outds the dataset to create that contains the list of columns - @param uri the uri of the table for which to return columns + @param [out] outds the dataset to create that contains the list of columns + @param [in] uri the uri of the table for which to return columns @returns outds dataset containing all columns, specifically: - colname diff --git a/meta/mm_getdetails.sas b/meta/mm_getdetails.sas index 49578da4..a8ca9c4d 100644 --- a/meta/mm_getdetails.sas +++ b/meta/mm_getdetails.sas @@ -2,9 +2,12 @@ @file mm_getdetails.sas @brief extracts metadata attributes and associations for a particular uri - @param uri the metadata object for which to return attributes / associations - @param outattrs= the dataset to create that contains the list of attributes - @param outassocs= the dataset to contain the list of associations + @param [in] uri the metadata object for which to return + attributes / associations + @param [out] outattrs= (work.attributes) + The dataset to create that contains the list of attributes + @param [out] outassocs= (work.associations) + The dataset to contain the list of associations @version 9.2 @author Allan Bowe diff --git a/meta/mm_getdirectories.sas b/meta/mm_getdirectories.sas index 10012dad..971b277e 100755 --- a/meta/mm_getdirectories.sas +++ b/meta/mm_getdirectories.sas @@ -5,9 +5,10 @@ blank to return all directories. The Directory object is used to reference a physical filepath (eg when registering a .sas program in a Stored process) - @param path= the physical path for which to return a meta Directory object - @param outds= the dataset to create that contains the list of directories - @param mDebug= set to 1 to show debug messages in the log + @param [in] path= Physical path for which to return a meta Directory object + @param [out] outds= (work.mm_getdirectories) + the dataset to create that contains the list of directories + @param [in] mDebug= (0) set to 1 to show debug messages in the log @returns outds dataset containing the following columns: - directoryuri diff --git a/meta/mm_getdocument.sas b/meta/mm_getdocument.sas index d123d9e9..8f2d8389 100644 --- a/meta/mm_getdocument.sas +++ b/meta/mm_getdocument.sas @@ -14,10 +14,10 @@

SAS Macros

@li mp_abort.sas - @param tree= The metadata path of the document - @param name= Document object name. - @param outref= full and unquoted path to the desired text file. This will be - overwritten if it already exists. + @param [in] tree= The metadata path of the document + @param [in] name= Document object name. + @param [out] outref= full and unquoted path to the desired text file. + This will be overwritten if it already exists. @author Allan Bowe diff --git a/meta/mm_getgroupmembers.sas b/meta/mm_getgroupmembers.sas index 05ef4c7c..a31cb964 100755 --- a/meta/mm_getgroupmembers.sas +++ b/meta/mm_getgroupmembers.sas @@ -11,11 +11,11 @@ ,emails=YES ) - @param group metadata group for which to bring back members - @param outds= (work.mm_getgroupmembers) The dataset to create that contains - the list of members - @param emails= (NO) Set to YES to bring back email addresses - @param id= (NO) Set to yes if passing an ID rather than a group name + @param [in] group metadata group for which to bring back members + @param [out] outds= (work.mm_getgroupmembers) + The dataset to create that contains the list of members + @param [in] emails= (NO) Set to YES to bring back email addresses + @param [in] id= (NO) Set to yes if passing an ID rather than a group name @returns outds dataset containing all members of the metadata group diff --git a/meta/mm_getlibs.sas b/meta/mm_getlibs.sas index c072178f..0e225212 100755 --- a/meta/mm_getlibs.sas +++ b/meta/mm_getlibs.sas @@ -4,8 +4,8 @@ @details Will only show the libraries to which a user has the requisite metadata access. - @param outds the dataset to create that contains the list of libraries - @param mDebug set to anything but * or 0 to show debug messages in the log + @param [out] outds= (work.mm_getlibs) + The library.dataset to create that contains the list of libraries @returns outds dataset containing all groups in a column named "metagroup" (defaults to work.mm_getlibs). The following columns are provided: diff --git a/meta/mm_getobjects.sas b/meta/mm_getobjects.sas index 46787843..5072975f 100644 --- a/meta/mm_getobjects.sas +++ b/meta/mm_getobjects.sas @@ -2,8 +2,8 @@ @file @brief Creates a dataset with all metadata objects for a particular type - @param type= the metadata type for which to return all objects - @param outds= the dataset to create that contains the list of types + @param [in] type= the metadata type for which to return all objects + @param [out] outds= the dataset to create that contains the list of types @returns outds dataset containing all objects diff --git a/meta/mm_getpublictypes.sas b/meta/mm_getpublictypes.sas index 3e250475..4558aea2 100644 --- a/meta/mm_getpublictypes.sas +++ b/meta/mm_getpublictypes.sas @@ -9,6 +9,8 @@ * dataset will contain one column - publictype ($64); %mm_getpublictypes(outds=types) + @param [out] outds= (work.mm_getpublictypes) The library.dataset to create + @returns outds= dataset containing all types @version 9.3 diff --git a/meta/mm_getrepos.sas b/meta/mm_getrepos.sas index bf34aa61..3e6faae1 100644 --- a/meta/mm_getrepos.sas +++ b/meta/mm_getrepos.sas @@ -2,7 +2,8 @@ @file @brief Creates a dataset with all available repositories - @param outds= the dataset to create that contains the list of repos + @param [out] outds= (work.mm_getrepos) + The dataset to create that contains the list of repos @returns outds dataset containing all repositories diff --git a/meta/mm_getroles.sas b/meta/mm_getroles.sas index 6f09bd36..bfa2ee13 100644 --- a/meta/mm_getroles.sas +++ b/meta/mm_getroles.sas @@ -7,7 +7,8 @@ %mm_getroles() - @param [out] outds the dataset to create that contains the list of roles + @param [out] outds= (work.mm_getroles) + The dataset to create that contains the list of roles @returns outds dataset containing all roles, with the following columns: - uri diff --git a/meta/mm_getstps.sas b/meta/mm_getstps.sas index b55aebcf..eda9ab24 100644 --- a/meta/mm_getstps.sas +++ b/meta/mm_getstps.sas @@ -17,15 +17,16 @@

SAS Macros

@li mm_gettree.sas - @param tree= the metadata folder location in which to search. Leave blank - for all folders. Does not search subdirectories. - @param name= Provide the name of an STP to search for just that one. Can + @param [in] tree= () the metadata folder location in which to search. + Leave blank for all folders. Does not search subdirectories. + @param [in] name= Provide the name of an STP to search for just that one. Can combine with the tree= parameter. - @param outds= the dataset to create that contains the list of stps. - @param mDebug= set to 1 to show debug messages in the log - @param showDesc= provide a non blank value to return stored process + @param [out] outds= the dataset to create that contains the list of stps. + @param [in] mDebug= set to 1 to show debug messages in the log + @param [in] showDesc= provide a non blank value to return stored process descriptions - @param showUsageVersion= provide a non blank value to return the UsageVersion. + @param [in] showUsageVersion= () + Provide a non blank value to return the UsageVersion. This is either 1000000 (type 1, 9.2) or 2000000 (type2, 9.3 onwards). @returns outds dataset containing the following columns diff --git a/meta/mm_gettableid.sas b/meta/mm_gettableid.sas index f2adef39..0dd3bdbc 100644 --- a/meta/mm_gettableid.sas +++ b/meta/mm_gettableid.sas @@ -9,10 +9,10 @@ - get a table id %mm_gettableid(libref=METALIB,ds=SOMETABLE,outds=iwant) - @param libref= The libref to search - @param ds= The input dataset to check - @param outds= the dataset to create that contains the `tableuri` - @param mDebug= set to 1 to show debug messages in the log + @param [in] libref= The libref to search + @param [in] ds= The input dataset to check + @param [out] outds= the dataset to create that contains the `tableuri` + @param [in] mDebug= set to 1 to show debug messages in the log @returns outds dataset containing `tableuri` and `tablename` diff --git a/meta/mm_gettree.sas b/meta/mm_gettree.sas index 8b35a407..e9ee75b5 100755 --- a/meta/mm_gettree.sas +++ b/meta/mm_gettree.sas @@ -10,10 +10,10 @@ %mm_getTree(tree=/User Folders/sasdemo) - @param tree= the BIP Tree folder path or uri - @param outds= the dataset to create that contains the tree path & uri - @param inds= an optional input dataset to augment with treepath & treeuri - @param mDebug= set to 1 to show debug messages in the log + @param [in] tree= the BIP Tree folder path or uri + @param [out] outds= the dataset to create that contains the tree path & uri + @param [in] inds= an optional input dataset to augment with treepath & treeuri + @param [in] mDebug= set to 1 to show debug messages in the log @returns outds dataset containing the following columns: - treeuri diff --git a/meta/mm_gettypes.sas b/meta/mm_gettypes.sas index 3de7a1c3..91a5b19c 100644 --- a/meta/mm_gettypes.sas +++ b/meta/mm_gettypes.sas @@ -5,7 +5,8 @@ %mm_gettypes(outds=types) - @param outds the dataset to create that contains the list of types + @param [in] outds= (work.mm_gettypes) + The dataset to create that contains the list of types @returns outds dataset containing all types @warning The following filenames are created and then de-assigned: diff --git a/meta/mm_getusers.sas b/meta/mm_getusers.sas index 76872983..7ac4f230 100644 --- a/meta/mm_getusers.sas +++ b/meta/mm_getusers.sas @@ -12,8 +12,6 @@ %mm_getusers(user=&_metaperson) - @param outds the dataset to create that contains the list of libraries - @returns outds dataset containing all users, with the following columns: - uri - name diff --git a/meta/mm_getwebappsrvprops.sas b/meta/mm_getwebappsrvprops.sas index 8b1a2920..f70d0dff 100644 --- a/meta/mm_getwebappsrvprops.sas +++ b/meta/mm_getwebappsrvprops.sas @@ -10,7 +10,7 @@ put value=; run; - @param outds the dataset to create that contains the list of properties + @param [out] outds= the dataset to create that contains the list of properties @returns outds dataset containing all properties diff --git a/meta/mm_tree.sas b/meta/mm_tree.sas index beb40061..401579cb 100644 --- a/meta/mm_tree.sas +++ b/meta/mm_tree.sas @@ -52,9 +52,9 @@ @li mm_getpublictypes.sas @li mf_isblank.sas - @param root= the parent folder under which to return all contents - @param outds= the dataset to create that contains the list of directories - @param types= Space-seperated, unquoted list of types for filtering the + @param [in] root= the parent folder under which to return all contents + @param [in] outds= the dataset to create that contains the list of directories + @param [in] types= Space-seperated, unquoted list of types for filtering the output. Special types: * ALl - return all types (the default) diff --git a/meta/mm_updateappextension.sas b/meta/mm_updateappextension.sas index 86b1d41a..cb4807e5 100644 --- a/meta/mm_updateappextension.sas +++ b/meta/mm_updateappextension.sas @@ -17,14 +17,14 @@ ,paramdesc=some description) - @param app= the BIP Tree folder path plus Application Name - @param paramname= Parameter name - @param paramvalue= Parameter value - @param paramdesc= Parameter description - - @param frefin= change default inref if it clashes with an existing one - @param frefout= change default outref if it clashes with an existing one - @param mDebug= set to 1 to show debug messages in the log + @param [in] app= the BIP Tree folder path plus Application Name + @param [in] paramname= Parameter name + @param [in] paramvalue= Parameter value + @param [in] paramdesc= Parameter description + + @param [in] frefin= change default inref if it clashes with an existing one + @param [out] frefout= change default outref if it clashes with an existing one + @param [in] mDebug= set to 1 to show debug messages in the log @version 9.4 @author Allan Bowe diff --git a/meta/mm_updatedocument.sas b/meta/mm_updatedocument.sas index a8252464..37ce2bb6 100644 --- a/meta/mm_updatedocument.sas +++ b/meta/mm_updatedocument.sas @@ -10,13 +10,13 @@ ,text="/file/system/some.txt") - @param path= the BIP Tree folder path - @param name=Document Name - @param text=a source file containing the text to be added + @param [in] path= the BIP Tree folder path + @param [in] name=Document Name + @param [in] text=a source file containing the text to be added - @param frefin= change default inref if it clashes with an existing one - @param frefout= change default outref if it clashes with an existing one - @param mDebug= set to 1 to show debug messages in the log + @param [in] frefin= change default inref if it clashes with an existing one + @param [out] frefout= change default outref if it clashes with an existing one + @param [in] mDebug= set to 1 to show debug messages in the log @version 9.3 @author Allan Bowe diff --git a/meta/mm_updatestpservertype.sas b/meta/mm_updatestpservertype.sas index 8848373d..d7b5a057 100644 --- a/meta/mm_updatestpservertype.sas +++ b/meta/mm_updatestpservertype.sas @@ -9,8 +9,8 @@ ,type=WKS) - @param target= full path to the STP being deleted - @param type= Either WKS or STP depending on whether Workspace or + @param [in] target= full path to the STP being deleted + @param [in] type= Either WKS or STP depending on whether Workspace or Stored Process type required @version 9.4 diff --git a/meta/mm_updatestpsourcecode.sas b/meta/mm_updatestpsourcecode.sas index b7c503fa..66502f00 100644 --- a/meta/mm_updatestpsourcecode.sas +++ b/meta/mm_updatestpsourcecode.sas @@ -10,10 +10,12 @@ ,stpcode="/file/system/source.sas") @param [in] stp= the BIP Tree folder path plus Stored Process Name - @param [in] stpcode= the source file (or fileref) containing the SAS code to load - into the stp. For multiple files, they should simply be concatenated first. - @param [in] minify= set to YES in order to strip comments, blank lines, and CRLFs. - @param mDebug= set to 1 to show debug messages in the log + @param [in] stpcode= () The source file (or fileref) containing the SAS + code to load into the stp. + For multiple files, they should simply be concatenated first. + @param [in] minify= (NO) Set to YES in order to strip comments, blank lines, + and CRLFs. + @param [in] mDebug= set to 1 to show debug messages in the log @version 9.3 @author Allan Bowe diff --git a/metax/mmx_createmetafolder.sas b/metax/mmx_createmetafolder.sas index f76d7d50..4a87fde0 100644 --- a/metax/mmx_createmetafolder.sas +++ b/metax/mmx_createmetafolder.sas @@ -11,9 +11,9 @@ @li mf_loc.sas @li mp_abort.sas - @param loc= the metadata folder to delete - @param user= username - @param pass= password + @param [in] loc= the metadata folder to delete + @param [in] user= username + @param [in] pass= password @version 9.4 @author Allan Bowe diff --git a/metax/mmx_deletemetafolder.sas b/metax/mmx_deletemetafolder.sas index dda955d9..197dab95 100644 --- a/metax/mmx_deletemetafolder.sas +++ b/metax/mmx_deletemetafolder.sas @@ -12,9 +12,9 @@

SAS Macros

@li mf_loc.sas - @param loc= the metadata folder to delete - @param user= username - @param pass= password + @param [in] loc= the metadata folder to delete + @param [in] user= username + @param [in] pass= password @version 9.4 @author Allan Bowe diff --git a/metax/mmx_spkexport.sas b/metax/mmx_spkexport.sas index 216c76d5..945ca216 100644 --- a/metax/mmx_spkexport.sas +++ b/metax/mmx_spkexport.sas @@ -32,11 +32,12 @@ Usage: @li mf_getuniquefileref.sas @li mp_abort.sas - @param metaloc= the metadata folder to export - @param secureref= fileref containing the username / password (should point to - a file in a secure location) - @param outspkname= name of the spk to be created (default is mmxport). - @param outspkpath= directory in which to create the SPK. Default is WORK. + @param [in] metaloc= the metadata folder to export + @param [in] secureref= () fileref containing the username / password + (should point to a file in a secure location) + @param [in] outspkname= name of the spk to be created (default is mmxport). + @param [in] outspkpath= ((%sysfunc(pathname(WORK))) + directory in which to create the SPK. @version 9.4 @author Allan Bowe diff --git a/viya/mfv_existfile.sas b/viya/mfv_existfile.sas index c7ab075b..29fc734e 100644 --- a/viya/mfv_existfile.sas +++ b/viya/mfv_existfile.sas @@ -12,7 +12,8 @@ %put %mfv_existfile(/does/exist.txt); %put %mfv_existfile(/does/not/exist.txt); - @param filepath The full path to the file on SAS drive (eg /Public/myfile.txt) + @param [in] filepath The full path to the file on SAS drive + (eg /Public/myfile.txt)

SAS Macros

@li mf_abort.sas diff --git a/viya/mfv_existfolder.sas b/viya/mfv_existfolder.sas index 1ecfdb1d..7733fe65 100644 --- a/viya/mfv_existfolder.sas +++ b/viya/mfv_existfolder.sas @@ -12,7 +12,7 @@ %put %mfv_existfolder(/does/exist); %put %mfv_existfolder(/does/not/exist); - @param path The path to the folder on SAS drive + @param [in] path The path to the folder on SAS drive

SAS Macros

@li mf_abort.sas diff --git a/viya/mfv_existsashdat.sas b/viya/mfv_existsashdat.sas index cc89cd9f..5a256c9b 100644 --- a/viya/mfv_existsashdat.sas +++ b/viya/mfv_existsashdat.sas @@ -13,10 +13,10 @@ To force a rescan, just use a new `&outprefix` value, or delete the table(s) before running the function. - @param libds library.dataset - @param outprefix= (work.mfv_existsashdat) Used to store the current HDATA - tables to improve subsequent query performance. This reference is a prefix - and is converted to `&prefix._{libref}` + @param [in] libds library.dataset + @param [out] outprefix= (work.mfv_existsashdat) + Used to store current HDATA tables to improve subsequent query performance. + This reference is a prefix and is converted to `&prefix._{libref}` @return output returns 1 or 0 diff --git a/viya/mv_createjob.sas b/viya/mv_createjob.sas index e0542c7e..d36f7133 100644 --- a/viya/mv_createjob.sas +++ b/viya/mv_createjob.sas @@ -32,30 +32,32 @@ @li mf_isblank.sas @li mv_deletejes.sas - @param path= The full path (on SAS Drive) where the job will be created - @param name= The name of the job - @param desc= (Created by the mv_createjob.sas macro) The job description - @param precode= Space separated list of filerefs, pointing to the code that + @param [in] path= The full path (on SAS Drive) where the job will be created + @param [in] name= The name of the job + @param [in] desc= (Created by the mv_createjob.sas macro) The job description + @param [in] precode= () + Space separated list of filerefs, pointing to the code that needs to be attached to the beginning of the job - @param code= (ft15f001) Fileref(s) of the actual code to be added - @param access_token_var= (ACCESS_TOKEN) Global macro variable containing the - access token - @param grant_type= (sas_services) Valid values: + @param [in] code= (ft15f001) Fileref(s) of the actual code to be added + @param [in] access_token_var= (ACCESS_TOKEN) + Global macro variable containing the access token + @param [in] grant_type= (sas_services) Valid values: @li sas_services @li detect @li authorization_code @li password - @param replace= (YES) select NO to avoid replacing any existing job - @param addjesbeginendmacros= (false) Relates to the `_addjesbeginendmacros` - setting. Normally this would always be false however due to a Viya bug + @param [in] replace= (YES) select NO to avoid replacing any existing job + @param [in] addjesbeginendmacros= (false) + Relates to the `_addjesbeginendmacros` setting. + Normally this would always be false however due to a Viya bug (https://github.com/sasjs/cli/issues/1229) this is now configurable. Valid values: @li true @li false @li 0 - this will prevent the flag from being set (job will default to true) - @param contextname= Choose a specific context on which to run the Job. Leave - blank to use the default context. From Viya 3.5 it is possible to configure - a shared context - see + @param [in] contextname= () Choose a specific context on which to run the Job. + Leave blank to use the default context. + From Viya 3.5 it is possible to configure a shared context - see https://go.documentation.sas.com/?docsetId=calcontexts&docsetTarget=n1hjn8eobk5pyhn1wg3ja0drdl6h.htm&docsetVersion=3.5&locale=en @version VIYA V.03.04 diff --git a/viya/mv_deletefoldermember.sas b/viya/mv_deletefoldermember.sas index 332c815f..ca1f47f8 100644 --- a/viya/mv_deletefoldermember.sas +++ b/viya/mv_deletefoldermember.sas @@ -11,12 +11,14 @@ %mv_deletejes(path=/Public/test, name=blah) - @param path= The full path of the folder containing the item to be deleted - @param name= The name of the item to be deleted - @param contenttype= The contenttype of the item, eg: file, jobDefinition - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is "detect" (which will run in Studio 5+ without a token). + @param [in] path= () + The full path of the folder containing the item to be deleted + @param [in] name= The name of the item to be deleted + @param [in] contenttype= The contenttype of the item, eg: file, jobDefinition + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) + valid values are "password" or "authorization_code" (unquoted). @version VIYA V.03.04 diff --git a/viya/mv_deletejes.sas b/viya/mv_deletejes.sas index 4a88d97a..4ed90290 100644 --- a/viya/mv_deletejes.sas +++ b/viya/mv_deletejes.sas @@ -11,11 +11,13 @@ %mv_deletejes(path=/Public/test, name=blah) - @param path= The full path of the folder containing the Job Execution Service - @param name= The name of the Job Execution Service to be deleted - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is "detect" (which will run in Studio 5+ without a token). + @param [in] path= () + The full path of the folder containing the Job Execution Service + @param [in] name= The name of the Job Execution Service to be deleted + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) + Valid values are "password" or "authorization_code" (unquoted). @version VIYA V.03.04 diff --git a/viya/mv_getclients.sas b/viya/mv_getclients.sas index b7a390f9..6ac70405 100644 --- a/viya/mv_getclients.sas +++ b/viya/mv_getclients.sas @@ -22,10 +22,8 @@ %mv_getclients() - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is authorization_code. - @param outds= The library.dataset to be created that contains the list of groups + @param [out] outds= (work.mv_getclients) + The library.dataset to be created that contains the list of clients @version VIYA V.03.04 diff --git a/viya/mv_getgroupmembers.sas b/viya/mv_getgroupmembers.sas index 4d9bf9c4..2e3ec3e0 100644 --- a/viya/mv_getgroupmembers.sas +++ b/viya/mv_getgroupmembers.sas @@ -1,7 +1,7 @@ /** @file mv_getgroupmembers.sas @brief Creates a dataset with a list of group members - @details First, be sure you have an access token (which requires an app token). + @details First, be sure you have an access token (which requires an app token) Using the macros here: @@ -23,10 +23,13 @@ providerId char(5), implicit num - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is authorization_code. - @param outds= The library.dataset to be created that contains the list of groups + @param [in] group Group id for which to return group members + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) + valid values are "password" or "authorization_code" (unquoted). + @param [out] outds= (work.viyagroupmembers) + The library.dataset to be created that contains the list of group members @version VIYA V.03.04 diff --git a/viya/mv_getgroups.sas b/viya/mv_getgroups.sas index bb74a40c..e786fe2a 100644 --- a/viya/mv_getgroups.sas +++ b/viya/mv_getgroups.sas @@ -11,10 +11,12 @@ %mv_getgroups(outds=work.groups) - @param [in] access_token_var= The global macro variable to contain the access token - @param [in] grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is authorization_code. - @param [out] outds= The library.dataset to be created that contains the list of groups + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) + valid values are "password" or "authorization_code" (unquoted). + @param [out] outds= (work.viyagroups) + The library.dataset to be created that contains the list of groups @version VIYA V.03.04 diff --git a/viya/mv_getjobstate.sas b/viya/mv_getjobstate.sas index 24093729..f6250d3d 100644 --- a/viya/mv_getjobstate.sas +++ b/viya/mv_getjobstate.sas @@ -50,7 +50,8 @@ %mv_getjobstate(uri=&uri,outds=results) - You can run this macro as part of a loop to await the final 'completed' status. + You can run this macro as part of a loop to await the final 'completed' + status. The full list of status values is: @li idle @@ -63,12 +64,13 @@ If you have one or more jobs that you'd like to wait for completion you can also use the [mv_jobwaitfor](/mv__jobwaitfor_8sas.html) macro. - @param [in] access_token_var= The global macro variable to contain the access token + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token @param [in] grant_type= valid values: @li password @li authorization_code - @li detect - will check if access_token exists, if not will use sas_services if - a SASStudioV session else authorization_code. Default option. + @li detect - will check if access_token exists, if not will use sas_services + if a SASStudioV session else authorization_code. @li sas_services - will use oauth_bearer=sas_services. @param [in] uri= The uri of the running job for which to fetch the status, in the format `/jobExecution/jobs/$UUID/state` (unquoted). diff --git a/viya/mv_getusergroups.sas b/viya/mv_getusergroups.sas index 33632a12..f7de0c6b 100644 --- a/viya/mv_getusergroups.sas +++ b/viya/mv_getusergroups.sas @@ -13,10 +13,13 @@ %mv_getusergroups(&sysuserid,outds=users) - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values are "password" or "authorization_code" (unquoted). - The default is authorization_code. - @param outds= The library.dataset to be created that contains the list of groups + @param [in] user The username for which to return the list of groups + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) + Valid values are "password" or "authorization_code" (unquoted). + @param [out] outds= (work.mv_getusergroups) + The library.dataset to be created that contains the list of groups @version VIYA V.03.04 diff --git a/viya/mv_getusers.sas b/viya/mv_getusers.sas index 42137729..ff1acee1 100644 --- a/viya/mv_getusers.sas +++ b/viya/mv_getusers.sas @@ -1,7 +1,7 @@ /** @file mv_getusers.sas @brief Creates a dataset with a list of users - @details First, be sure you have an access token (which requires an app token). + @details First, be sure you have an access token (which requires an app token) Using the macros here: @@ -35,15 +35,17 @@ modifiedTimeStamp char(24), state char(6) - @param access_token_var= The global macro variable to contain the access token - @param grant_type= valid values: + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] grant_type= (sas_services) Valid values: * password * authorization_code - * detect - will check if access_token exists, if not will use sas_services if - a SASStudioV session else authorization_code. Default option. + * detect - will check if access_token exists, if not will use sas_services + if a SASStudioV session else authorization_code. * sas_services - will use oauth_bearer=sas_services - @param outds= The library.dataset to be created that contains the list of groups + @param [out] outds= (work.mv_getusers) + The library.dataset to be created that contains the list of groups @version VIYA V.03.04 diff --git a/viya/mv_tokenauth.sas b/viya/mv_tokenauth.sas index 0a194c4a..af1c7a92 100644 --- a/viya/mv_tokenauth.sas +++ b/viya/mv_tokenauth.sas @@ -28,20 +28,21 @@ https://blogs.sas.com/content/sgf/2019/01/25/authentication-to-sas-viya/ - @param inds= A dataset containing client_id, client_secret, and auth_code - @param outds= A dataset containing access_token and refresh_token - @param client_id= The client name - @param client_secret= client secret - @param grant_type= valid values are "password" or "authorization_code" + @param [in] inds= A dataset containing client_id, client_secret, and auth_code + @param [in] outds= A dataset containing access_token and refresh_token + @param [in] client_id= The client name + @param [in] client_secret= client secret + @param [in] grant_type= valid values are "password" or "authorization_code" (unquoted). The default is authorization_code. - @param code= If grant_type=authorization_code then provide the necessary code - here - @param user= If grant_type=password then provide the username here - @param pass= If grant_type=password then provide the password here - @param access_token_var= The global macro variable to contain the access token - @param refresh_token_var= The global macro variable to contain the refresh - token - @param base_uri= The Viya API server location + @param [in] code= () + If grant_type=authorization_code then provide the necessary code here + @param [in] user= If grant_type=password then provide the username here + @param [in] pass= If grant_type=password then provide the password here + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] refresh_token_var= (REFRESH_TOKEN) + The global macro variable to contain the refresh token + @param [in] base_uri= The Viya API server location @version VIYA V.03.04 @author Allan Bowe, source: https://github.com/sasjs/core diff --git a/viya/mv_tokenrefresh.sas b/viya/mv_tokenrefresh.sas index 14d9492b..d09c62a4 100644 --- a/viya/mv_tokenrefresh.sas +++ b/viya/mv_tokenrefresh.sas @@ -28,17 +28,18 @@ https://blogs.sas.com/content/sgf/2019/01/25/authentication-to-sas-viya/ - @param inds= A dataset containing client_id and client_secret - @param outds= A dataset containing access_token and refresh_token - @param client_id= The client name (alternative to inds) - @param client_secret= client secret (alternative to inds) - @param grant_type= valid values are "password" or "authorization_code" + @param [in] inds= A dataset containing client_id and client_secret + @param [in] outds= A dataset containing access_token and refresh_token + @param [in] client_id= The client name (alternative to inds) + @param [in] client_secret= client secret (alternative to inds) + @param [in] grant_type= valid values are "password" or "authorization_code" (unquoted). The default is authorization_code. - @param user= If grant_type=password then provide the username here - @param pass= If grant_type=password then provide the password here - @param access_token_var= The global macro variable to contain the access token - @param refresh_token_var= The global macro variable containing the refresh - token + @param [in] user= If grant_type=password then provide the username here + @param [in] pass= If grant_type=password then provide the password here + @param [in] access_token_var= (ACCESS_TOKEN) + The global macro variable to contain the access token + @param [in] refresh_token_var= (REFRESH_TOKEN) + The global macro variable containing the refresh token @version VIYA V.03.04 @author Allan Bowe, source: https://github.com/sasjs/core From 1c4c9793f63ed64865708690d9920e807f1f9aa6 Mon Sep 17 00:00:00 2001 From: Allan Date: Fri, 18 Aug 2023 08:25:19 +0100 Subject: [PATCH 2/2] chore: missed some doxygen in/out tags --- all.sas | 20 +++++++++++--------- base/mp_csv2ds.sas | 11 ++++++----- base/mp_deleteconstraints.sas | 9 +++++---- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/all.sas b/all.sas index 82e61c80..2a495233 100644 --- a/all.sas +++ b/all.sas @@ -4478,11 +4478,12 @@ run; %mp_csv2ds(inref=mycsv,outds=myds,baseds=sashelp.class) - @param inref= (0) Fileref to the CSV - @param outds= (0) Output ds (lib.ds format) - @param view= (NO) Set to YES or NO to determine whether the output should be - a view or not. Default is NO (not a view). - @param baseds= (0) Template dataset on which to create the input statement. + @param [in] inref= (0) Fileref to the CSV + @param [out] outds= (0) Output ds (lib.ds format) + @param [in] view= (NO) Set to YES or NO to determine whether the output + should be a view or not. Default is NO (not a view). + @param [in] baseds= (0) + Template dataset on which to create the input statement. Is used to determine types, lengths, and any informats. @version 9.2 @@ -4615,10 +4616,11 @@ run; %mp_getconstraints(lib=work,ds=example,outds=work.constraints) %mp_deleteconstraints(inds=work.constraints,outds=dropped,execute=YES) - @param inds= (mp_getconstraints) The input table containing constraint info - @param outds= (mp_deleteconstraints) Table containing the drop statements - (drop_statement column) - @param execute= (NO) `YES|NO` - default is NO. To actually drop, use YES. + @param [in] inds= (mp_getconstraints) + The input table containing constraint info + @param [out] outds= (mp_deleteconstraints) + Table containing the drop statements (drop_statement column) + @param [in] execute= (NO) `YES|NO` - default is NO. To actually drop, use YES. @version 9.2 diff --git a/base/mp_csv2ds.sas b/base/mp_csv2ds.sas index d75a7e17..87fa47eb 100644 --- a/base/mp_csv2ds.sas +++ b/base/mp_csv2ds.sas @@ -19,11 +19,12 @@ %mp_csv2ds(inref=mycsv,outds=myds,baseds=sashelp.class) - @param inref= (0) Fileref to the CSV - @param outds= (0) Output ds (lib.ds format) - @param view= (NO) Set to YES or NO to determine whether the output should be - a view or not. Default is NO (not a view). - @param baseds= (0) Template dataset on which to create the input statement. + @param [in] inref= (0) Fileref to the CSV + @param [out] outds= (0) Output ds (lib.ds format) + @param [in] view= (NO) Set to YES or NO to determine whether the output + should be a view or not. Default is NO (not a view). + @param [in] baseds= (0) + Template dataset on which to create the input statement. Is used to determine types, lengths, and any informats. @version 9.2 diff --git a/base/mp_deleteconstraints.sas b/base/mp_deleteconstraints.sas index 1744b31e..c07aab8d 100644 --- a/base/mp_deleteconstraints.sas +++ b/base/mp_deleteconstraints.sas @@ -17,10 +17,11 @@ %mp_getconstraints(lib=work,ds=example,outds=work.constraints) %mp_deleteconstraints(inds=work.constraints,outds=dropped,execute=YES) - @param inds= (mp_getconstraints) The input table containing constraint info - @param outds= (mp_deleteconstraints) Table containing the drop statements - (drop_statement column) - @param execute= (NO) `YES|NO` - default is NO. To actually drop, use YES. + @param [in] inds= (mp_getconstraints) + The input table containing constraint info + @param [out] outds= (mp_deleteconstraints) + Table containing the drop statements (drop_statement column) + @param [in] execute= (NO) `YES|NO` - default is NO. To actually drop, use YES. @version 9.2