BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
FK1
Lapis Lazuli | Level 10 FK1
Lapis Lazuli | Level 10

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.

 

freq_fnc_fields.JPG

 

 

But I do not have any clue what "fncprod" represents.

 

Can someone help me out?

 

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
FK1
Lapis Lazuli | Level 10 FK1
Lapis Lazuli | Level 10

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;

View solution in original post

7 REPLIES 7
jimbarbour
Meteorite | Level 14

I'm not finding much on this subject.  I did find this one thing apparently new in SAS 9.2:

jimbarbour_0-1602804206565.png

 

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.  

FK1
Lapis Lazuli | Level 10 FK1
Lapis Lazuli | Level 10
Thank you, Jim for digging into this topic. Maybe, someone else can contribute to shed some more light into this.
jimbarbour
Meteorite | Level 14

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

FK1
Lapis Lazuli | Level 10 FK1
Lapis Lazuli | Level 10

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

SASJedi
Ammonite | Level 13

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

Check out my Jedi SAS Tricks for SAS Users
jimbarbour
Meteorite | Level 14

@SASJedi,

 

Thank you very much.  Your answers are far better than my guesses.  🙂

 

Jim

FK1
Lapis Lazuli | Level 10 FK1
Lapis Lazuli | Level 10

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;

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 7 replies
  • 1592 views
  • 7 likes
  • 3 in conversation