diff --git a/all.sas b/all.sas index 7231db1..3a242e9 100644 --- a/all.sas +++ b/all.sas @@ -8766,7 +8766,6 @@ options if format='' then fmt=cats('$',length,'.'); else if formatl=0 then fmt=cats(format,'.'); else fmt=cats(format,formatl,'.'); - newlen=max(formatl,length); end; else do; typelong='num'; @@ -8774,15 +8773,12 @@ options else if formatl=0 then fmt=cats(format,'.'); else if formatd=0 then fmt=cats(format,formatl,'.'); else fmt=cats(format,formatl,'.',formatd); - /* needs to be wide, for datetimes etc */ - newlen=max(length,formatl,24); end; /* 32 char unique name */ newname='sasjs'!!substr(cats(put(md5(name),$hex32.)),1,27); call symputx(cats('name',_n_),name,'l'); call symputx(cats('newname',_n_),newname,'l'); - call symputx(cats('len',_n_),newlen,'l'); call symputx(cats('length',_n_),length,'l'); call symputx(cats('fmt',_n_),fmt,'l'); call symputx(cats('type',_n_),type,'l'); @@ -8835,7 +8831,8 @@ options %end; )); %do i=1 %to &numcols; - length &&name&i $&&len&i; + /* all vars are now char, and labels could be up to 32767 */ + length &&name&i $32767; %if &&typelong&i=num %then %do; &&name&i=left(put(&&newname&i,&&fmt&i)); %end; @@ -15185,7 +15182,6 @@ data _null_; put ' if format='''' then fmt=cats(''$'',length,''.''); '; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else fmt=cats(format,formatl,''.''); '; - put ' newlen=max(formatl,length); '; put ' end; '; put ' else do; '; put ' typelong=''num''; '; @@ -15193,15 +15189,12 @@ data _null_; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else if formatd=0 then fmt=cats(format,formatl,''.''); '; put ' else fmt=cats(format,formatl,''.'',formatd); '; - put ' /* needs to be wide, for datetimes etc */ '; - put ' newlen=max(length,formatl,24); '; put ' end; '; put ' /* 32 char unique name */ '; put ' newname=''sasjs''!!substr(cats(put(md5(name),$hex32.)),1,27); '; put ' '; put ' call symputx(cats(''name'',_n_),name,''l''); '; put ' call symputx(cats(''newname'',_n_),newname,''l''); '; - put ' call symputx(cats(''len'',_n_),newlen,''l''); '; put ' call symputx(cats(''length'',_n_),length,''l''); '; put ' call symputx(cats(''fmt'',_n_),fmt,''l''); '; put ' call symputx(cats(''type'',_n_),type,''l''); '; @@ -15254,7 +15247,8 @@ data _null_; put ' %end; '; put ' )); '; put ' %do i=1 %to &numcols; '; - put ' length &&name&i $&&len&i; '; + put ' /* all vars are now char, and labels could be up to 32767 */ '; + put ' length &&name&i $32767; '; put ' %if &&typelong&i=num %then %do; '; put ' &&name&i=left(put(&&newname&i,&&fmt&i)); '; put ' %end; '; @@ -19987,7 +19981,6 @@ data _null_; put ' if format='''' then fmt=cats(''$'',length,''.''); '; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else fmt=cats(format,formatl,''.''); '; - put ' newlen=max(formatl,length); '; put ' end; '; put ' else do; '; put ' typelong=''num''; '; @@ -19995,15 +19988,12 @@ data _null_; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else if formatd=0 then fmt=cats(format,formatl,''.''); '; put ' else fmt=cats(format,formatl,''.'',formatd); '; - put ' /* needs to be wide, for datetimes etc */ '; - put ' newlen=max(length,formatl,24); '; put ' end; '; put ' /* 32 char unique name */ '; put ' newname=''sasjs''!!substr(cats(put(md5(name),$hex32.)),1,27); '; put ' '; put ' call symputx(cats(''name'',_n_),name,''l''); '; put ' call symputx(cats(''newname'',_n_),newname,''l''); '; - put ' call symputx(cats(''len'',_n_),newlen,''l''); '; put ' call symputx(cats(''length'',_n_),length,''l''); '; put ' call symputx(cats(''fmt'',_n_),fmt,''l''); '; put ' call symputx(cats(''type'',_n_),type,''l''); '; @@ -20056,7 +20046,8 @@ data _null_; put ' %end; '; put ' )); '; put ' %do i=1 %to &numcols; '; - put ' length &&name&i $&&len&i; '; + put ' /* all vars are now char, and labels could be up to 32767 */ '; + put ' length &&name&i $32767; '; put ' %if &&typelong&i=num %then %do; '; put ' &&name&i=left(put(&&newname&i,&&fmt&i)); '; put ' %end; '; @@ -22368,7 +22359,6 @@ data _null_; put ' if format='''' then fmt=cats(''$'',length,''.''); '; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else fmt=cats(format,formatl,''.''); '; - put ' newlen=max(formatl,length); '; put ' end; '; put ' else do; '; put ' typelong=''num''; '; @@ -22376,15 +22366,12 @@ data _null_; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else if formatd=0 then fmt=cats(format,formatl,''.''); '; put ' else fmt=cats(format,formatl,''.'',formatd); '; - put ' /* needs to be wide, for datetimes etc */ '; - put ' newlen=max(length,formatl,24); '; put ' end; '; put ' /* 32 char unique name */ '; put ' newname=''sasjs''!!substr(cats(put(md5(name),$hex32.)),1,27); '; put ' '; put ' call symputx(cats(''name'',_n_),name,''l''); '; put ' call symputx(cats(''newname'',_n_),newname,''l''); '; - put ' call symputx(cats(''len'',_n_),newlen,''l''); '; put ' call symputx(cats(''length'',_n_),length,''l''); '; put ' call symputx(cats(''fmt'',_n_),fmt,''l''); '; put ' call symputx(cats(''type'',_n_),type,''l''); '; @@ -22437,7 +22424,8 @@ data _null_; put ' %end; '; put ' )); '; put ' %do i=1 %to &numcols; '; - put ' length &&name&i $&&len&i; '; + put ' /* all vars are now char, and labels could be up to 32767 */ '; + put ' length &&name&i $32767; '; put ' %if &&typelong&i=num %then %do; '; put ' &&name&i=left(put(&&newname&i,&&fmt&i)); '; put ' %end; '; diff --git a/base/mp_jsonout.sas b/base/mp_jsonout.sas index 6cc3b1f..ebceae9 100644 --- a/base/mp_jsonout.sas +++ b/base/mp_jsonout.sas @@ -126,7 +126,6 @@ if format='' then fmt=cats('$',length,'.'); else if formatl=0 then fmt=cats(format,'.'); else fmt=cats(format,formatl,'.'); - newlen=max(formatl,length); end; else do; typelong='num'; @@ -134,15 +133,12 @@ else if formatl=0 then fmt=cats(format,'.'); else if formatd=0 then fmt=cats(format,formatl,'.'); else fmt=cats(format,formatl,'.',formatd); - /* needs to be wide, for datetimes etc */ - newlen=max(length,formatl,24); end; /* 32 char unique name */ newname='sasjs'!!substr(cats(put(md5(name),$hex32.)),1,27); call symputx(cats('name',_n_),name,'l'); call symputx(cats('newname',_n_),newname,'l'); - call symputx(cats('len',_n_),newlen,'l'); call symputx(cats('length',_n_),length,'l'); call symputx(cats('fmt',_n_),fmt,'l'); call symputx(cats('type',_n_),type,'l'); @@ -195,7 +191,8 @@ %end; )); %do i=1 %to &numcols; - length &&name&i $&&len&i; + /* all vars are now char, and labels could be up to 32767 */ + length &&name&i $32767; %if &&typelong&i=num %then %do; &&name&i=left(put(&&newname&i,&&fmt&i)); %end; diff --git a/meta/mm_createwebservice.sas b/meta/mm_createwebservice.sas index 7b23895..99105df 100644 --- a/meta/mm_createwebservice.sas +++ b/meta/mm_createwebservice.sas @@ -149,7 +149,6 @@ data _null_; put ' if format='''' then fmt=cats(''$'',length,''.''); '; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else fmt=cats(format,formatl,''.''); '; - put ' newlen=max(formatl,length); '; put ' end; '; put ' else do; '; put ' typelong=''num''; '; @@ -157,15 +156,12 @@ data _null_; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else if formatd=0 then fmt=cats(format,formatl,''.''); '; put ' else fmt=cats(format,formatl,''.'',formatd); '; - put ' /* needs to be wide, for datetimes etc */ '; - put ' newlen=max(length,formatl,24); '; put ' end; '; put ' /* 32 char unique name */ '; put ' newname=''sasjs''!!substr(cats(put(md5(name),$hex32.)),1,27); '; put ' '; put ' call symputx(cats(''name'',_n_),name,''l''); '; put ' call symputx(cats(''newname'',_n_),newname,''l''); '; - put ' call symputx(cats(''len'',_n_),newlen,''l''); '; put ' call symputx(cats(''length'',_n_),length,''l''); '; put ' call symputx(cats(''fmt'',_n_),fmt,''l''); '; put ' call symputx(cats(''type'',_n_),type,''l''); '; @@ -218,7 +214,8 @@ data _null_; put ' %end; '; put ' )); '; put ' %do i=1 %to &numcols; '; - put ' length &&name&i $&&len&i; '; + put ' /* all vars are now char, and labels could be up to 32767 */ '; + put ' length &&name&i $32767; '; put ' %if &&typelong&i=num %then %do; '; put ' &&name&i=left(put(&&newname&i,&&fmt&i)); '; put ' %end; '; diff --git a/server/ms_createwebservice.sas b/server/ms_createwebservice.sas index 3ca6766..062ba18 100644 --- a/server/ms_createwebservice.sas +++ b/server/ms_createwebservice.sas @@ -150,7 +150,6 @@ data _null_; put ' if format='''' then fmt=cats(''$'',length,''.''); '; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else fmt=cats(format,formatl,''.''); '; - put ' newlen=max(formatl,length); '; put ' end; '; put ' else do; '; put ' typelong=''num''; '; @@ -158,15 +157,12 @@ data _null_; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else if formatd=0 then fmt=cats(format,formatl,''.''); '; put ' else fmt=cats(format,formatl,''.'',formatd); '; - put ' /* needs to be wide, for datetimes etc */ '; - put ' newlen=max(length,formatl,24); '; put ' end; '; put ' /* 32 char unique name */ '; put ' newname=''sasjs''!!substr(cats(put(md5(name),$hex32.)),1,27); '; put ' '; put ' call symputx(cats(''name'',_n_),name,''l''); '; put ' call symputx(cats(''newname'',_n_),newname,''l''); '; - put ' call symputx(cats(''len'',_n_),newlen,''l''); '; put ' call symputx(cats(''length'',_n_),length,''l''); '; put ' call symputx(cats(''fmt'',_n_),fmt,''l''); '; put ' call symputx(cats(''type'',_n_),type,''l''); '; @@ -219,7 +215,8 @@ data _null_; put ' %end; '; put ' )); '; put ' %do i=1 %to &numcols; '; - put ' length &&name&i $&&len&i; '; + put ' /* all vars are now char, and labels could be up to 32767 */ '; + put ' length &&name&i $32767; '; put ' %if &&typelong&i=num %then %do; '; put ' &&name&i=left(put(&&newname&i,&&fmt&i)); '; put ' %end; '; diff --git a/viya/mv_createwebservice.sas b/viya/mv_createwebservice.sas index 7ab11e9..2f26a95 100644 --- a/viya/mv_createwebservice.sas +++ b/viya/mv_createwebservice.sas @@ -292,7 +292,6 @@ data _null_; put ' if format='''' then fmt=cats(''$'',length,''.''); '; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else fmt=cats(format,formatl,''.''); '; - put ' newlen=max(formatl,length); '; put ' end; '; put ' else do; '; put ' typelong=''num''; '; @@ -300,15 +299,12 @@ data _null_; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else if formatd=0 then fmt=cats(format,formatl,''.''); '; put ' else fmt=cats(format,formatl,''.'',formatd); '; - put ' /* needs to be wide, for datetimes etc */ '; - put ' newlen=max(length,formatl,24); '; put ' end; '; put ' /* 32 char unique name */ '; put ' newname=''sasjs''!!substr(cats(put(md5(name),$hex32.)),1,27); '; put ' '; put ' call symputx(cats(''name'',_n_),name,''l''); '; put ' call symputx(cats(''newname'',_n_),newname,''l''); '; - put ' call symputx(cats(''len'',_n_),newlen,''l''); '; put ' call symputx(cats(''length'',_n_),length,''l''); '; put ' call symputx(cats(''fmt'',_n_),fmt,''l''); '; put ' call symputx(cats(''type'',_n_),type,''l''); '; @@ -361,7 +357,8 @@ data _null_; put ' %end; '; put ' )); '; put ' %do i=1 %to &numcols; '; - put ' length &&name&i $&&len&i; '; + put ' /* all vars are now char, and labels could be up to 32767 */ '; + put ' length &&name&i $32767; '; put ' %if &&typelong&i=num %then %do; '; put ' &&name&i=left(put(&&newname&i,&&fmt&i)); '; put ' %end; ';