BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Stephane
Quartz | Level 8

Hi

 

I need help and to be sure, an explanation 🙂

 

I would like to get in SAS two inputStreams and I get this error without to understand why and actually I don't find a example with two or more inputStreams.

 

20         libname stream1 xml;
NOTE: Libref STREAM1 was successfully assigned as follows:
      Engine:        XML
      Physical Name: STREAM1
21         libname stream2 xml;
NOTE: Libref STREAM2 was successfully assigned as follows:
      Engine:        XML
      Physical Name: STREAM2
22        
23         data myexceldata1;
24         set stream1.&_WEBIN_SASNAME;
25         run;

NOTE: There were 10 observations read from the data set STREAM1.EXCEL_TABLE.
NOTE: The data set WORK.MYEXCELDATA1 has 10 observations and 4 variables.
NOTE: Compressing data set WORK.MYEXCELDATA1 increased size by 100.00 percent.
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
      real time           0.02 seconds
                                                                                          Le Système SAS

      cpu time            0.00 seconds
     

26        
27         data myexceldata2;
28         set stream2.&_WEBIN_SASNAME;
29         run;

ERROR: Undetermined I/O failure.

ERROR: Detected during parsing of XMLInput on or near line 1, column 1.

ERROR: The definition of the table "EXCEL_TABLE" is incorrect or corrupted.

NOTE: The DATA step has aborted abnormally.

 

 

 

 

basically i try to :

 

libname stream1 xml;

libname stream2 xml;

 

data myexceldata1;

set stream1.&_WEBIN_SASNAME;

run;

data myexceldata2;

set stream2.&_WEBIN_SASNAME;

run;

proc sort data=myexceldata1;

by clef;

run;

proc sort data=myexceldata2;

by clef;

run;

 

 

Data ensemble;

merge myexceldata1 myexceldata2;

by CLEF;

run;

proc print data=ensemble;

run;

 

So I declare that to try with same range just to check :

 

...

Dim inputStreams As SASRanges
Set inputStreams = New SASRanges
nputStreams.Add "stream1", Worksheets("Feuil1").Range("A1 : D 11")
inputStreams.Add "stream2", Worksheets("Feuil1").Range("A1 : D 11")


Set stp = sas.InsertStoredProcess("/My Folder/Merge de 2 stream", Worksheets("Feuil1").Range("L1"), , , inputStreams)

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Stephane
Quartz | Level 8

got it

 

the second Stream declaration didn't have the "Allow rewinding Stream" marked.

 

That works

View solution in original post

1 REPLY 1
Stephane
Quartz | Level 8

got it

 

the second Stream declaration didn't have the "Allow rewinding Stream" marked.

 

That works

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Discussion stats
  • 1 reply
  • 1261 views
  • 0 likes
  • 1 in conversation