Hi Everyone,
I took a look at the Functions dictionary table. Now I was wondering, if someone could supply me with an explanation, what exactly the meaning of the two columns "fnctype" and "fncprod" is?
Reading the lables, did not help me much.
Freqing the two columns, I can see, that "fnctype" can either be "B", "C" or "N", which I guess stands for Binary, Characther and Numeric, respectively.
But I do not have any clue what "fncprod" represents.
Can someone help me out?
Thanks!
Hi @SASJedi ,
your answer corresponds to the one, I got from Tech Support!
/*** "Function implementation type" should have a value of 'MVA+TK' ***/
proc format;
/* column functype identifies the return type (or not) of */
/* the function being described */
value $FUNCTYPE
'N' = 'DOUBLE'
'C' = 'CHAR'
'B' = 'CALL'
;
/* column funcprod identifies the environment(s) in which the */
/* function is supported. */
/* SAS MultiVendor Architecture (MVA) is the underlying design */
/* of the Foundation SAS system, beginning with SAS Version 6, */
/* which enables SAS to run on multiple vendor platforms. */
/* The lates evolution of Foundation SAS system architecture is */
/* Threded Kernel (see https://support.sas.com/kb/24/349.html) */
/* , or TK.*/
value $FUNCPROD
'X' = 'MVA+TK'
'B' = 'MVA'
'T' = 'TK'
'I' = 'IML'
;
options ls=78;
proc sql;
select fncname format=$16.,
fncprod format=$funcprod.,
fnctype format=$functype.,
fncargs format=octal10.,
minarg, maxarg
from dictionary.functions
order by fncprod, fncname;
quit;
I'm not finding much on this subject. I did find this one thing apparently new in SAS 9.2:
So, fnctype is Function Type and fncprod is the Implementation Type, but I haven't found more than that.
I'm not sure if "B" is Byte, Binary, or Boolean. "X" is often used for character/alphanumeric, but I'm not sure for fncprod.
Hopefully someone will come along who is more knowledgeable.
One would think that there would be documentation explaining what the Function Type and Implementation Type codes mean (and exactly what a Function Type and an Implementation Type are), but I've been unable to find anything other than what I posted above using Google. I wonder if @SASJedi Mark Jordan might be able to help us or refer us to someone who can? Or even point out the documentation that must exist but that I can't seem to find.
Jim
Thank you, @jimbarbour for putting effort into this! Meanwhile, I have opened a Track with SAS Tech Support. I'll keep you updated, as soon as I'll get an answer from them.
FK1
As far as I can determine, the fncprod column indicates where a function will run.
B = runs in the SAS Compute server (base SAS)
I = unique to IML
X = runs in both the SAS Compute server (base SAS) and CAS
Hi @SASJedi ,
your answer corresponds to the one, I got from Tech Support!
/*** "Function implementation type" should have a value of 'MVA+TK' ***/
proc format;
/* column functype identifies the return type (or not) of */
/* the function being described */
value $FUNCTYPE
'N' = 'DOUBLE'
'C' = 'CHAR'
'B' = 'CALL'
;
/* column funcprod identifies the environment(s) in which the */
/* function is supported. */
/* SAS MultiVendor Architecture (MVA) is the underlying design */
/* of the Foundation SAS system, beginning with SAS Version 6, */
/* which enables SAS to run on multiple vendor platforms. */
/* The lates evolution of Foundation SAS system architecture is */
/* Threded Kernel (see https://support.sas.com/kb/24/349.html) */
/* , or TK.*/
value $FUNCPROD
'X' = 'MVA+TK'
'B' = 'MVA'
'T' = 'TK'
'I' = 'IML'
;
options ls=78;
proc sql;
select fncname format=$16.,
fncprod format=$funcprod.,
fnctype format=$functype.,
fncargs format=octal10.,
minarg, maxarg
from dictionary.functions
order by fncprod, fncname;
quit;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.