title: sql does not respect my fcmp function length
body: <p>Can anybody explain to me how to get PROC SQL to give the results of my custom function the length I specify in the function definition?  Datastep does it fine, but SQL gives me the default length of 200 characters.</p>
  
  <p>Here is code that demonstrates the issue:</p>
  
  <pre><code>proc fcmp outlib = work.funcs.funcs ;
    * Note type/length specification ;
    function testy(istr $) $11 ;
      return ('bibbitybobb') ;
    endsub ;
  quit ;
  
  options cmplib = work.funcs ;
  
  data from_dstep ;
    set sashelp.class ;
    tes = testy(name) ;
  run ;
  
  proc sql ;
    create table from_sql as
    select *
          , testy(name) as tes
    from sashelp.class
    ;
  
    describe table from_dstep ;
    describe table from_sql ;
  
  quit ;
  </code></pre>
  
  <p>My log on that is:</p>
  
  <pre><code>47           describe table from_dstep ;
  NOTE: SQL table WORK.FROM_DSTEP was created like:
  
  create table WORK.FROM_DSTEP( bufsize=65536 )
    (
     Name char(8),
     Sex char(1),
     Age num,
     Height num,
     Weight num,
     tes char(11)
    );
  
  48           describe table from_sql ;
  NOTE: SQL table WORK.FROM_SQL was created like:
  
  create table WORK.FROM_SQL( bufsize=65536 )
    (
     Name char(8),
     Sex char(1),
     Age num,
     Height num,
     Weight num,
     tes char(200)
    );
  </code></pre>
  
  <p>As you can see, the datastep gave me a length of 11 on my 'tes' variable, but sql gives me 200.</p>
  
  <p>Is there a way to get length 11 when using SQL?</p>