Sas 当我有42个字符的标题并输出到activex时,为什么在gplot退出时将syscc设置为4?

Sas 当我有42个字符的标题并输出到activex时,为什么在gplot退出时将syscc设置为4?,sas,Sas,我的部门使用syscc捕获错误和警告。大多数时候,这真的很有帮助,但是,我要么遇到了一个非常奇怪的错误,要么我做错了什么 下面的代码创建一些数据,然后绘制两个图表。后一个“%put&syscc;”(其中title1设置为42个字符长的字符串)返回的值为4,但“%put&syswarningtext;”不返回任何内容,《企业指南》也没有将其标识为警告。 ETA注意:在企业指南和存储流程web应用程序中都可以看到相同的行为。 ETA注意:由于更好地处理繁忙的轴,我们需要输出到ActiveX data

我的部门使用syscc捕获错误和警告。大多数时候,这真的很有帮助,但是,我要么遇到了一个非常奇怪的错误,要么我做错了什么

下面的代码创建一些数据,然后绘制两个图表。后一个“%put&syscc;”(其中title1设置为42个字符长的字符串)返回的值为4,但“%put&syswarningtext;”不返回任何内容,《企业指南》也没有将其标识为警告。 ETA注意:在企业指南和存储流程web应用程序中都可以看到相同的行为。 ETA注意:由于更好地处理繁忙的轴,我们需要输出到ActiveX

data test;
   length x y 8;
   infile datalines dsd;
   input x y;
    datalines;
    1,1
    2,2
    ;
run;

TITLE1 'This is forty one characters long. Honest';
PROC GPLOT DATA = WORK.test;
    PLOT y * x; 
run; quit; 
%put &syscc;
%put &syswarningtext;

TITLE1 'This however, is forty two characters long';
PROC GPLOT DATA = WORK.test;
    PLOT y * x; 
run; quit; 
%put &syscc;
%put &syswarningtext;
我做了一些调查,确定了一些事情-

该值在gplot的出口处设置,无论是在点击quit还是 后续数据步骤。 Linesize选项设置为132,因此 不是那样。 它不受图表宽度的影响-我想是的 可能会受到将标题置于图表上方的能力的影响。 有什么想法吗?NB已提交给SAS支持部门。比赛

*****************编辑*********************** 根据Joe下面的回答,进一步调查。似乎选项重置的一件事=全部;是否将设备从activeX更改为空白。虽然这解决了标题问题,但它会导致实际图表(而不是示例)抛出其他错误,因为它的x轴有点拥挤。如果能让这两者都发挥作用那就太好了。同时,我认为我们会有一些奇怪的短标题 ***************************编辑2***********************************
SAS支持在这方面存在一个非常小的、低优先级的缺陷。我的第一个SAS错误

我不确定直接原因,但似乎可以通过添加

goptions reset=all;
到程序的顶部,或者在任何PROC GPLOT语句之前,当然还要添加回必要的元素。这在EG 6.1/SAS 9.4本地中

这是特定于EG的,因为在基本SAS中运行它时不会发生。它与GPLOT和GCHART一起出现,但与ODS图形程序SGPLOT等或常规程序频率无关

我还看到了一些奇怪的不一致,这表明它与41-42个字符没有确切的关系;通常情况下,我第一次跑完全程都是0,但第二次跑开始时是4。有可能其中一些与您的数据步骤有关,我后来修复了它,但它并不完全正确,而且可能与此相关——尽管肯定不是全部原因

我还拿出了假辞职书;在gplots之后,这有时似乎有影响;另一件似乎有影响的事情是标题1;在重新设置标题之前。但同样,效果不一致,从未持续到第二次跑步

我最好的猜测是,在某个地方有一个选项没有被EG很好地处理,可能与图像文件的创建有关

data test;
   infile datalines dlm=',';
   input x y;
    datalines;
    1,1
    2,2
    ;
run;
goptions reset=all;
TITLE1 'This is forty one characters long. Honest';

PROC GPLOT DATA = WORK.test;
    PLOT y * x; 
run;
%put &syscc;
%put &syswarningtext;
TITLE1 'This however, is forty two characters long';
PROC GPLOT DATA = WORK.test;
    PLOT y * x; 
run; 
%put &syscc;
%put &syswarningtext;

凉的我将在星期一回去工作时尝试修理。SAS支持人员联系说,他们认为这可能是一个bug,但他们会检查。将向他们指出这一点,以便他们可以将其包括在问题说明中。非常感谢您的帮助,但不幸的是,有一个皱纹。我们需要使用activeX,因为它可以处理轴。Goptions重置的其中一项内容=全部;是否将设备更改为空白。运行选项重置=全部;goptions设备=activex;让我们回到第一步。那么很可能activex驱动程序就是问题所在。