Hi All,
I am using http://support.sas.com/kb/42/054.html (Kerberos enabled using PROC HTTP with the AUTH_NEGOTIATE option) to transfer file to sharepoint.
It works fine for copying over text files as shown in the article. However when i try to move XLS or XLSX file, the file gets copied, however the file is corrupt and unable to open it.
I used ct='application/vnd.ms-excel' for xls file and for xlsx 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'.
options mprint;
%macro test;
%let Site_Path=https://sites.sp.xx.org/teams/CPAU/CPAU%20Documents/TEST_SMIJO;
%let File_Nm = %sysfunc(pathname(Work))/smijo_tst;
%let Fl_Extn = xlsx;
%if &Fl_Extn.=xlsx %then
%let ct='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
%else %if &Fl_Extn.=xls %then
%let ct='application/vnd.ms-excel';
%else
%let ct='text/htmlcharset=utf-8';
proc export data=sashelp.class replace dbms=&Fl_Extn. file="&File_Nm..&Fl_Extn."; run;
filename reply TEMP "";
filename headout TEMP "";
proc http url="&Site_Path./smijo_tst_Kerberos_AuthNeg.&Fl_Extn."
in="&File_Nm..&Fl_Extn."
headerout=headout
method='put'
out=reply
auth_negotiate
ct=&ct.
verbose;
run;
%put HEADER ;
data _null_;
infile headout;
input ;
put _infile_;
Run;
%mend;
%test;
Header response :
HTTP/1.1 201 CREATED
Cache-Control: private,max-age=0
Content-Length: 0
Expires: Sun, 07 Apr 2019 00:16:52 GMT
Last-Modified: Mon, 22 Apr 2019 00:16:53 GMT
ETag: "{CE34113A-0221-48F6-8FA7-3C910841F464},1"
Location: https://sites.sp.xx.org/teams/CPAU/CPAU%20Documents/TEST_SMIJO/smijo_tst_Kerberos_AuthNeg.xlsx
Server: Microsoft-IIS/7.5
X-SharePointHealthScore: 0
ResourceTag: rt:CE34113A-0221-48F6-8FA7-3C910841F464@00000000001
Public-Extension: http://schemas.microsoft.com/repl-2
SPRequestGuid: 3e49d59e-8d9c-1045-1630-4f786539e2d0
request-id: 3e49d59e-8d9c-1045-1630-4f786539e2d0
X-FRAME-OPTIONS: SAMEORIGIN
SPRequestDuration: 240
SPIisLatency: 0
WWW-Authenticate: Negotiate oYGzMIGwoAMKAQCh<trucated>
Persistent-Auth: true
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 15.0.0.4512
X-Content-Type-Options: nosniff
X-MS-InvokeApp: 1; RequireReadOnly
Date: Mon, 22 Apr 2019 00:16:51 GMT
Also the AUTH_NTLM method works fine too. the output of below code I can open normally in excel.
However i do not like the idea of putting password in code so it would be great if i could get the above code working.
%let Site_Path=https://sites.sp.xx.org/teams/CPAU/CPAU%20Documents/TEST_SMIJO;
libname tst xlsx "%sysfunc(pathname(Work))/smijo_tst.xlsx" ;
data tst.smijo;
Set sashelp.class;
run;
libname tst clear;
filename Fl_TST "%sysfunc(pathname(Work))/smijo_tst.xlsx" ;
proc http url="&Site_Path./smijo_tst_with_AUTH_NTLM.xlsx"
in=Fl_TST
verbose
webusername="domain\userid"
webpassword="password"
method="put"
auth_ntlm;
run;
filename Fl_TST clear;
Thank you
For the file created by POST command. i Downloaded the file from sharepoint and opened it in notepad.
and i see the multidata part we added on the top. I thought that part was for sharepoint and it would create the excel file with the binary portion of the file. i suspect this is where it is saying corrupt . expecting a binary file but getting text at top.
Do you think its a SP setup issue ?
I could get the PUT command to work. i wasnt using a Fileref name on IN= (stupid me)
filename reply TEMP "";
filename headout TEMP "";
filename In_file "&_xl_file_Pth./&_xl_file_Nm.";
proc http url="&Site_Path./&_xl_file_Nm."
in=In_file
headerout=headout
method='put'
out=reply
auth_negotiate
verbose;
run;
filename In_file clear;
Have you seen this thread?
Thank you Chris. Let me try this. i was wondering if SAS developers had fixed it as the thread seemed a 1.5 years old.
I am unsure anything needs fixing. The issue is using the proper method it seems.
Hi Chris,
I used the code to create multipart data.
For some reason the method POST is not copying files to sharepoint (headerout file shows HTTP/1.1 404 NOT FOUND message)
The method PUT is able to transfer files to Sharepoint (On Prem). However i still get the corrupt / unable to open message.
Could you please take a look. I greatly appreciate your help on this.
Contents for response file :
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><meta name="SharePointError" content=""/>
<meta name="Description" content=""/>
<meta name="Keywords" content=""/>
<meta name="Robots" content="NOINDEX"/>
<script type="text/javascript">
<!--
window.location.replace("https:\u002f\u002fsites.sp.xx.org\u002fteams\u002fnma\u002fPages\u002fPageNotFoundError.aspx?requestUrl=htt
ps:\u002f\u002fsites.sp.xx.org\u002fteams\u002fnma\u002fKPRHS\u002fCPAU\u002fCPAU\u002520Documents\u002fTEST_SMIJO\u002fsmijo_tst_2.
xlsx")
-->
</script>
</head>
<body>
<!------------------------------------------------------------------------->
File Not Found
<!------------------------------------------------------------------------->
</body>
</html>
Contents of Header File :
HTTP/1.1 404 NOT FOUND
Cache-Control: private,max-age=0
Content-Length: 758
Content-Type: text/html
Expires: Tue, 09 Apr 2019 03:48:23 GMT
Server: Microsoft-IIS/7.5
X-SharePointHealthScore: 0
Public-Extension: http://schemas.microsoft.com/repl-2
SPRequestGuid: 24fad59e-6d95-1045-26f4-42dcade71d97
request-id: 24fad59e-6d95-1045-26f4-42dcade71d97
X-FRAME-OPTIONS: SAMEORIGIN
SPRequestDuration: 17
SPIisLatency: 0
WWW-Authenticate: Negotiate <removed by smijo>
NK+6FCQ=
Persistent-Auth: true
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 15.0.0.4512
X-Content-Type-Options: nosniff
X-MS-InvokeApp: 1; RequireReadOnly
Date: Wed, 24 Apr 2019 03:48:22 GMT
Full log :
152
153 %let _Extn=xlsx;
154 %let _xl_file_Pth=%sysfunc(pathname(Work)) ;
155 %let _xl_file_Nm=smijo_tst_2.&_Extn ;
156
157
158 proc export data=sashelp.class outfile="&_xl_file_Pth./&_xl_file_Nm." dbms=&_Extn. replace;
158 ! run;
NOTE: MVA_DSIO.OPEN_CLOSE| _DISARM| STOP| _DISARM| 2019-04-23T20:48:23,457-07:00| _DISARM| WorkspaceServer| _DISARM| SAS|
_DISARM| | _DISARM| 19| _DISARM| 34643968| _DISARM| 13| _DISARM| 13| _DISARM| 0| _DISARM| 16| _DISARM| 0.020000| _DISARM|
0.012351| _DISARM| 1871696903.444913| _DISARM| 1871696903.457264| _DISARM| 0.010000| _DISARM| | _ENDDISARM
NOTE: The export data set has 19 observations and 5 variables.
NOTE: "/gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/smijo_tst_2.xlsx" file was
successfully created.
NOTE: PROCEDURE| _DISARM| STOP| _DISARM| 2019-04-23T20:48:23,459-07:00| _DISARM| WorkspaceServer| _DISARM| SAS| _DISARM| |
_DISARM| 38703104| _DISARM| 33980416| _DISARM| 13| _DISARM| 13| _DISARM| 0| _DISARM| 16| _DISARM| 0.020000| _DISARM|
0.017112| _DISARM| 1871696903.442451| _DISARM| 1871696903.459563| _DISARM| 0.010000| _DISARM| | _ENDDISARM
NOTE: PROCEDURE EXPORT used (Total process time):
real time 0.01 seconds
cpu time 0.02 seconds
159
160 %Post_to_SP_Multidata_fmt(&_xl_file_Pth./&_xl_file_Nm.
161 , https://sites.sp.xx.org/teams/nma/KPRHS/CPAU/CPAU%20Documents/TEST_SMIJO);
_BOUNDARY=0030c5a5-68ec-b845-a49f-1707ecf990b6 _CAT=Testliste _PUBLDATE=2019-04-23 _UNPUBLDATE=2020-04-23 _TITLE=O815539 TEST
2019-04-23 _FILE_NM=smijo_tst_2.xlsx
MPRINT(POST_TO_SP_MULTIDATA_FMT): filename req
"/gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/Http_request.txt";
2 The SAS System 19:14 Tuesday, April 23, 2019
MPRINT(POST_TO_SP_MULTIDATA_FMT): filename resp
"/gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/Http_response.txt";
MPRINT(POST_TO_SP_MULTIDATA_FMT): filename headout TEMP ;
MPRINT(POST_TO_SP_MULTIDATA_FMT): filename binfile
"/gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/smijo_tst_2.xlsx";
MPRINT(POST_TO_SP_MULTIDATA_FMT): data _null_;
MPRINT(POST_TO_SP_MULTIDATA_FMT): file req termstr=CRLF;
MPRINT(POST_TO_SP_MULTIDATA_FMT): put "--0030c5a5-68ec-b845-a49f-1707ecf990b6";
MPRINT(POST_TO_SP_MULTIDATA_FMT): put 'Content-Disposition: form-data; name="publish"';
MPRINT(POST_TO_SP_MULTIDATA_FMT): put;
MPRINT(POST_TO_SP_MULTIDATA_FMT): put "2019-04-23";
MPRINT(POST_TO_SP_MULTIDATA_FMT): put "--0030c5a5-68ec-b845-a49f-1707ecf990b6";
MPRINT(POST_TO_SP_MULTIDATA_FMT): put 'Content-Disposition: form-data; name="unpublish"';
MPRINT(POST_TO_SP_MULTIDATA_FMT): put;
MPRINT(POST_TO_SP_MULTIDATA_FMT): put "2020-04-23";
MPRINT(POST_TO_SP_MULTIDATA_FMT): put "--0030c5a5-68ec-b845-a49f-1707ecf990b6";
MPRINT(POST_TO_SP_MULTIDATA_FMT): put 'Content-Disposition: form-data; name="category"';
MPRINT(POST_TO_SP_MULTIDATA_FMT): put;
MPRINT(POST_TO_SP_MULTIDATA_FMT): put "Testliste";
MPRINT(POST_TO_SP_MULTIDATA_FMT): put "--0030c5a5-68ec-b845-a49f-1707ecf990b6";
MPRINT(POST_TO_SP_MULTIDATA_FMT): put 'Content-Disposition: form-data; name="title"';
MPRINT(POST_TO_SP_MULTIDATA_FMT): put;
MPRINT(POST_TO_SP_MULTIDATA_FMT): put "O815539 TEST 2019-04-23";
MPRINT(POST_TO_SP_MULTIDATA_FMT): put "--0030c5a5-68ec-b845-a49f-1707ecf990b6";
MPRINT(POST_TO_SP_MULTIDATA_FMT): put 'Content-Disposition: form-data; name="uploadfile"; filename='"smijo_tst_2.xlsx";
MPRINT(POST_TO_SP_MULTIDATA_FMT): put 'Content-Type: application/octet-stream';
MPRINT(POST_TO_SP_MULTIDATA_FMT): put;
MPRINT(POST_TO_SP_MULTIDATA_FMT): Run;
NOTE: The file REQ is:
Filename=/gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/Http_request.txt,
Owner Name=o815539,Group Name=sasgrnsh,
Access Permission=-rw-rw-r--,
Last Modified=23Apr2019:20:48:23
NOTE: 20 records were written to the file REQ.
The minimum record length was 0.
The maximum record length was 76.
NOTE: PROCEDURE| _DISARM| STOP| _DISARM| 2019-04-23T20:48:23,470-07:00| _DISARM| WorkspaceServer| _DISARM| SAS| _DISARM| |
_DISARM| 38703104| _DISARM| 33980416| _DISARM| 13| _DISARM| 13| _DISARM| 0| _DISARM| 16| _DISARM| 0.000000| _DISARM|
0.007543| _DISARM| 1871696903.462846| _DISARM| 1871696903.470389| _DISARM| 0.000000| _DISARM| | _ENDDISARM
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
MPRINT(POST_TO_SP_MULTIDATA_FMT): data _null_;
MPRINT(POST_TO_SP_MULTIDATA_FMT): file req mod recfm=n;
MPRINT(POST_TO_SP_MULTIDATA_FMT): infile binfile recfm=n;
MPRINT(POST_TO_SP_MULTIDATA_FMT): input c $CHAR1.;
MPRINT(POST_TO_SP_MULTIDATA_FMT): put c $CHAR1. @@;
MPRINT(POST_TO_SP_MULTIDATA_FMT): Run;
NOTE: UNBUFFERED is the default with RECFM=N.
NOTE: The file REQ is:
Filename=/gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/Http_request.txt,
Owner Name=o815539,Group Name=sasgrnsh,
Access Permission=-rw-rw-r--,
3 The SAS System 19:14 Tuesday, April 23, 2019
Last Modified=23Apr2019:20:48:23,
File Size (bytes)=581
NOTE: UNBUFFERED is the default with RECFM=N.
NOTE: The infile BINFILE is:
Filename=/gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/smijo_tst_2.xlsx,
Owner Name=o815539,Group Name=sasgrnsh,
Access Permission=-rw-rw-r--,
Last Modified=23Apr2019:20:48:23,
File Size (bytes)=7196
NOTE: PROCEDURE| _DISARM| STOP| _DISARM| 2019-04-23T20:48:23,478-07:00| _DISARM| WorkspaceServer| _DISARM| SAS| _DISARM| |
_DISARM| 38703104| _DISARM| 33980416| _DISARM| 13| _DISARM| 13| _DISARM| 0| _DISARM| 16| _DISARM| 0.010000| _DISARM|
0.005901| _DISARM| 1871696903.472149| _DISARM| 1871696903.478050| _DISARM| 0.000000| _DISARM| | _ENDDISARM
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.01 seconds
MPRINT(POST_TO_SP_MULTIDATA_FMT): data _null_;
MPRINT(POST_TO_SP_MULTIDATA_FMT): file req mod termstr=CRLF;
MPRINT(POST_TO_SP_MULTIDATA_FMT): put / "--0030c5a5-68ec-b845-a49f-1707ecf990b6--";
MPRINT(POST_TO_SP_MULTIDATA_FMT): Run;
NOTE: The file REQ is:
Filename=/gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/Http_request.txt,
Owner Name=o815539,Group Name=sasgrnsh,
Access Permission=-rw-rw-r--,
Last Modified=23Apr2019:20:48:23,
File Size (bytes)=7777
NOTE: 2 records were written to the file REQ.
The minimum record length was 0.
The maximum record length was 40.
NOTE: PROCEDURE| _DISARM| STOP| _DISARM| 2019-04-23T20:48:23,482-07:00| _DISARM| WorkspaceServer| _DISARM| SAS| _DISARM| |
_DISARM| 38703104| _DISARM| 33980416| _DISARM| 13| _DISARM| 13| _DISARM| 0| _DISARM| 16| _DISARM| 0.010000| _DISARM|
0.002997| _DISARM| 1871696903.479423| _DISARM| 1871696903.482420| _DISARM| 0.010000| _DISARM| | _ENDDISARM
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.01 seconds
MPRINT(POST_TO_SP_MULTIDATA_FMT): proc http
url="https://sites.sp.xx.org/teams/nma/KPRHS/CPAU/CPAU%20Documents/TEST_SMIJO/smijo_tst_2.xlsx" in=req headerout=headout
method='POST' out=resp auth_negotiate CT="multipart/form-data; boundary=0030c5a5-68ec-b845-a49f-1707ecf990b6" verbose;
URL = https://sites.sp.xx.org/teams/nma/KPRHS/CPAU/CPAU%20Documents/TEST_SMIJO/smijo_tst_2.xlsx
METHOD = POST
CT = multipart/form-data; boundary=0030c5a5-68ec-b845-a49f-1707ecf990b6
In = /gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/Http_request.txt
Out = /gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/Http_response.txt
Header Out = /gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/#LN00193
MPRINT(POST_TO_SP_MULTIDATA_FMT): run;
NOTE: PROCEDURE HTTP used (Total process time):
real time 0.15 seconds
cpu time 0.04 seconds
4 The SAS System 19:14 Tuesday, April 23, 2019
NOTE: PROCEDURE| _DISARM| STOP| _DISARM| 2019-04-23T20:48:23,635-07:00| _DISARM| WorkspaceServer| _DISARM| SAS| _DISARM| |
_DISARM| 38703104| _DISARM| 33980416| _DISARM| 13| _DISARM| 13| _DISARM| 0| _DISARM| 16| _DISARM| 0.040000| _DISARM|
0.152011| _DISARM| 1871696903.483656| _DISARM| 1871696903.635667| _DISARM| 0.040000| _DISARM| | _ENDDISARM
SYS_PROCHTTP_STATUS_CODE=
SYS_PROCHTTP_STATUS_PHRASE=
MPRINT(POST_TO_SP_MULTIDATA_FMT): data _null_;
MPRINT(POST_TO_SP_MULTIDATA_FMT): infile req;
MPRINT(POST_TO_SP_MULTIDATA_FMT): input ;
MPRINT(POST_TO_SP_MULTIDATA_FMT): put _infile_;
MPRINT(POST_TO_SP_MULTIDATA_FMT): Run;
NOTE: The infile REQ is:
Filename=/gpfsFS1/saswork/SAS_workA48900002C63_cskpcloudxp2056/SAS_workAB1F00002C63_cskpcloudxp2056/Http_request.txt,
Owner Name=o815539,Group Name=sasgrnsh,
Access Permission=-rw-rw-r--,
Last Modified=23Apr2019:20:48:23,
File Size (bytes)=7821
--0030c5a5-68ec-b845-a49f-1707ecf990b6
Content-Disposition: form-data; name="publish"
2019-04-23
--0030c5a5-68ec-b845-a49f-1707ecf990b6
Content-Disposition: form-data; name="unpublish"
6 The SAS System 19:14 Tuesday, April 23, 2019
2020-04-23
--0030c5a5-68ec-b845-a49f-1707ecf990b6
Content-Disposition: form-data; name="category"
Testliste
--0030c5a5-68ec-b845-a49f-1707ecf990b6
Content-Disposition: form-data; name="title"
O815539 TEST 2019-04-23
--0030c5a5-68ec-b845-a49f-1707ecf990b6
Content-Disposition: form-data; name="uploadfile"; filename=smijo_tst_2.xlsx
Content-Type: application/octet-stream
PK ˜N‰0È]. a xl/worksheets/sheet1.xml•TÁrÚ0ýîAØØ$0˜L’ié4msòÚÖD²\I@øû®dã1dš¦¬ÕÓ{ûvWbuûªd´c…nrO¦$‚†ëB4UN~þx
¸º!‘u¬)˜Ôää–Ü®Wm^là"ä76'µsí’RËkPÌNt"¥6Š9MEmk€¤$M¦Ó9UL4¤SXšhè²6šï4®1 ™C÷¶=©)þ9ÅÌË®½âZµ(±R¸c%‘âËǪцm%Vý§ŒŸ´CðF^ n
´Õ¥› \oômͺ ¨´^+ðM”9ù/ïãiz“]Ï ]¯ã—€ƒ#ǶO ;(r‚ƒòCØjýâÁÇ°…§Ã¯Ëð³‡;ÒËã÷™|:¨Ž×§l¡GßLT@ÉvÒ}ׇ/ ªÚáÉ°¾Ëâ¸Ëq˜x’d^•kiÃo
¤„¿MØFö¾Q¸:'Hæ;ë´zîbDèˆô„d ¤ïf=a6âÙûŒ´g¤fd=#ûƒvå‡n˜cë•Ñ‡Èض̿’xù×öaFÖO
·,ÆûõtE÷^·Ç>±ø»cÉ9¶c³sì~Œ¥FÑúà?ùÿÉH/»ð?Ææþ“®ªôÂz·=_\¸îOÇÉ$»ðLGýoY_™©Dc# e°z˜î.wÓmÑV;œhXÖøhÁøˆ—Z»S€Sî°‡°1)ªæY¸ºÏâß ¿ Ãß
ãúPK ˜N÷_9«J Ž [Content_Types].xml”MnÂ0…¯y‹CUUXôgÙ"•À'‰…c[žÂí;1U%ª`+žyï{v4™Î·Í6ÑxWŠI1¸ÊkãšR¼/Ÿó;‘!
)§•õJ±óÙt¹€k–¢%
÷RbÕB§°ðWj;EüTµRÈ›ñøVVÞ8Ê©÷³é#Ôjm){Úòö>G‹"{Ø7ö¬R¨¬©q]nœþEÉ„‚•©[pÄBž$ô•¿Ý+_L4²…Šô¢:î’[+?}\}x¿*ΛœHéëÚT }µîXR`ˆ 4¶
ÔÙ"E§ŒóS3Ê´L®äè?ƒø{Ãþyy„d3 DÚYÀk_{2"·*‚~£Èsqõ ?½Ïå`ý"ú€<Aþâ{DzuØ"™ó'?ÙúâSC?}ô ¶Lÿ“ÙPK ˜Nõ"B¡æ J _rels/
.rels’ÁNÃ0@%ò}u7$„в]Òn•0‰ÛUmã(1Ðý=ဠҘvàÇ~~¶¼ÝÏÓhÞ9å^‚…uUƒáàÄ÷¡³ðÒ<®îÀd¥ài”ÀNœa¿Û>óHZJò±ÙFÈŽªñ1»#O”+‰ÊO+i"-ÏÔa$7PǸ©ë
[L¿°dšƒ·þLsŠ|[Ú¶wü îmâ gZ ÏÊÁ³_ÅTê“öeÓPêX-xqO%œ‘b¬
ð¼Ñæz£¿§Å‰•<)¡“Ä—}¾2. ÿsEËŒ›yÄIëÈðí‚‹Ø}PK ˜NBù. _ docProps/core.xml’]OÂ0†ÿÊÒû+84Í65\Ib"Fã]Ó qýH[ü{»
cD.¼lßç<=ç¤å|¯šäœ—FWˆd9J@s#¤ÞTè}µHPâÓ‚5FC…àѼ.¹¥Ü8xuÆ‚|=ÚSn+´ÁRŒ=ß‚b>‹„ŽáÚ8ÅB<º¶Œ³àIžÏ°‚ÀwÂÔFtR
>(íÎ5½@p(ÐÁc’|a8åoôɈT2,ÜDÏá@ï½À¶m³vÚ£±‚?—/oý¨©Ôݦ8 ºœr,W{æ“WâÑe·À†ù°Œ›^K‡÷7+OƒëA$±!zlÿœ|LŸžWTOrBÒ|’²"½+hQ|uO_Õ_
„êôÈÿ3JîGƳ îû¾þõ/PK ˜N‹‚nXì Ž xl/theme/theme1.xmlíY[‹7~/ô?ˆywæ>¶—xƒ=¶“6»IÈnRò(ebÍÈŒäÝ5!P’ÇB¡4-})ô¥m ¾¤¿fÛ
”6…ü…j4¾hlM.ÍRìÑÑwŽ>st¤™9á$!àeÓ´eØç, 4¢CœŽ[ÆÃ~a Æa:„„¦¨eÌ3.ì~øÁy¸Ãc” ôS¶[FÌùtÇ4Y$Ä£S”Š¾ÍÈE3›Ã» 1Ë
ÌâÔ )L„Ù«£Ž8ÌM»Kã="~RÎrAD²ƒHŽ¨jHìpbçlÎB’#HZ†gHÑ 7 Œ‹Ž–aÉaîž7WJ„Wè*z}ùYè-†GêeãÁJÑó|/h¯ì;…ým\¯ÞzÁÊžÀ(3µ·°~§Ùéú¬*.5¶»
õ®k—ðŠ}wßöóo ï®ñÞ¾ß×>T@Å¥¯ñIÝ ½Þ_ãƒ-|Ýjw½z /A1Áédmù.g»‚Œ(¹¤…7}¯_wð5ÊT²«ÐOyU®%ð6Íú ƒ9NŸOÑFB‚{x‹Ä›Â”2!¶«o¹â7ÿzòJzî
¨h¢ˆm‰r>€Ežò–ñ±°j(çO~|þäxþäáé½Ç§÷~9½ÿôÞÏÅK0«ŠÏ¾ÿâïo?=úîÙƒ¯ôx¦âÿé³ß~ýRä*ðé×ÿxüðé7ŸÿùüÁ
?Ä bà
:×i"æ¦ ²×Ó8Œ!.iÀX 5ÀKÀ+sHt¸*;ïf&Š„xqv»Äõ Îfk€—ã¤Ü§”th¦Îå|,u:³t¬<›©¸ëéÆ7BÛ›ME¶cÉ0F%š×ˆˆ6£q÷Ñ Bµ[—üº£Œ2:âàˆµ.9
Ä®Wº„—¹Ž uÉ7û7A‡ù.:*#Å‚€Dg‘’/‡‰–1LˆŠÜƒ<Ö‘<˜gQÉጋH¡ 7DŒét®fóÝË¢¸èþOæI™q<Ñ!÷ ¥*²K'a“©–3Ncû›ˆ…àåZ´¼Bò¶ˆL+Ã}#þzË
ú†¨«úÉ{f™nI Z^s2‚(]ì¥jžàô¥¥}£¨û¾¨·3¬]Z›¥¼
÷,à]8K¯!±fÞ×ï÷õûÿX¿«ÖòÙWíu¡6ÕÓº4“TÝG˜>'hÉÏÄô†}!”©´ºS˜Æâr1\ 7Î ¼åŸ`Äp*†±åc¶0=f`J™Ø$ŒJÛr“™%ûtXHm{ys* _ËÅ&³”‹-‰Ò ¾¾[™—1
S øÒè«“P+“p5$êî«‘°³bÑÔ°hØ/ba*QëÀü¹†ïŒD¾A‚†yœ
ýetÏ<ÒUÎ,OÛÑL¯éY¤K$”t+“PÒ0†C´)>ãX7›úP;ZõÆÛˆµ¹]HZnc±æ\_˜‰à´eŒÄñP\&Saåu’qÚ2"¾pô¿©,ÓŒñ.dq“]ÅüÌQND®«a éš›íÔw—\Óz÷<gnF(â’u
SôF´½oÎt&HÄÃc0 ³ì:ŽòëvîÀ!f|åÍ!Δä^{q£\-–bé¡Ùz‰B2ábGQ‹y—×+:Ê<$ÓÍY™:Æý³Øu_®´Q4+6ze{{›¼ÂÊÕ³òµµ®Ù°^¼K¼ù† Pk詹zjU{Ç”á‚
¿9•Ñ|ÃÝ`3kMå\)[[o'èà¶Èü®8®ÎgÅc€q.Ÿ+•@J—Õ儃Y†[ÆËo{¡ã‡5«á÷jžëYµ†ßvkmßwížo[ÝŽsW8…ljíc÷Åý™/^¾HùÖ˜dyÌ>ÑĤòlJeùÆvª_À ,<s'púM·
Ù jM·Ý¯yÝN£ÖƒN„õn¿úfÿ®Ž$Øk»¡ôµÀÚX9ýF³V÷§íÕÛž×¾»ðµ˜ùòé^Ék÷PK ˜Nžj… @ docProps/app.xml“ÑkÛ0Æÿ£÷FN
VƲJI7:ØXÀiûXTùk•%¡»˜dýd»Îú0èÛwwŸ:ÉâæØÚ¬ƒˆÆ»‚-9ËÀi_·/ØÃîÛÕ–!)W)ëìÈn¤ØF ’ÌR€Ã‚5DaÍ9êZ…‹4viRûØ*JeÜs_×FÃׇñUžæp$pTW
a
dçÄuG¼îùðqw
)OŠÛ¬ÑŠÒåO££G_Söõ¨Á
>ŠT‚>DC'™>/E©•…M
–µ²‚¿5Ä=¨~e[e"JÑѺM>fhþ¤¥Xö¢zœ‚u*åˆmçbÐ6 Eùäã+6 „‚OÍAνsm®åj0$qiäHÒ—ˆ;CðW½U‘þG<0°cÙó-ç|“ÂÖüöÏ„ô¼zÇ?’üóíoƒr'YÞ–Ùw‡dè@”|‰
ƽâCØù;E0îÿ²)ÊFE¨Ò•M÷35Ä}:H´½Ó(·‡jô¼ô¯åñüCÈåõ"ÿ”çÃ#{‚¿=~ùPK ˜N @ð F xl/_rels/workbook.xml.rels½RËjÃ0ü±÷Z¶û
”(¹”B®múBZ[&¶$´Û‡ÿ¾Â¡©ièÁô$fÄÎ;»Ú|½xÇD]ð
ª¢ÞÛùVÁëîéê±öV÷Á£‚ 6ëÕ3öšó¹.’Èž8æø %‡ƒ¦"Dôù§ iÐœajeÔf¯[”uYÞÉ4×€SM±µ
ÒÖÞ‚Øÿ¢š¦3øÌÛ€žÏXÈöä9‹êÔ"+8R$§§.²*y>Íõ’iˆÇ>/óå€'ÿ_ìë%í9Ïâûdu)CõÏ…\s³hN'´/œòéÏk™ÓßaäÉý¯¿ PK ˜NE Šx W
xl/worksheets/sheet2.xml•˜Ûr›:†_…á¾ ÄÁc»³]'Ó^t¦Óî½{-ƒl3D‘'o_„G‡D7¶Y¿Öâ“Xèo>¿V¥óBZVÐzë‚•ï:¤Îh^Ôçûß¿Ÿ×a×9.iM¶îaîçÝæJÛ'v!„;
"¿f[÷Ây³ö<–]H…ÙŠ6¤Ê‰¶æâ°={¬i Îû¤ªô ïG^…‹Ú•ÖíGjÐÓ©ÈÈfÏ©¹,Ò’sAÏ.EÆjUö‘rnŸž›OQâX”닺N•¿kÚâc)fý
BœµûƒQùªÈZÊ良D9:žs꥞¨´Ûä…˜A·èNKN[÷°~ ~˜ 8r½Ý¦Ïø¿ W¦ýv8>þ"%É8É·®¸PÝE8RúÔ‰ßúÝèêbñõB¾²ìÊ‹«øG©;w«ªÿÎöدÑÖÉÉ ?—ü'½~%ÅùÂE‡ ±
ݬó·a™¸âÄ+ˆºª-YÿéTE×Mbñkÿ}-r~Ùº©ëdÏŒÓê·<Š§%@• o árB ‚[–3B•~8©ô^†'§ß¯às¼Û´ôê´½ÌÜÝ%`=»|âŒÝØîJ‰Ç/;ã½tu•¶×5p¯}Ñ5x¯t-¸×
t-¼iž@¿ñC~¨ÕC¿®E?”³
tŽRƒZp…¦™æ@ãŠf]Kæ@RKzaŒù?H!™YæÐ9Ô°ŒÅÙ‡Èá4²Ghe¶‡ÒdÙ #½{ÍÖFÌhº5d8‚+cüƒïÏ6GdƒéØÆ]·::šÆ–á(uGôvlƒëØƆ°°ãÉ”ƒ£
7 The SAS System 19:14 Tuesday, April 23, 2019
xÔ!RH‚iæĆ9Ñ™óì“…I¦™e¥£IÔ8·Ò©uªSW{Ÿ.P§2ÅèƒC:ôµÙ é{›ðœÆ×ÁͽúN5{øÓÛˆŠO°+enïvyg„‘I–ÈÁt«¨82FÅÓtvÍÜèL¯¹SÍnƒç™ä2ŽÀèÎ
–ÝÊ%n… 1Ù—ŒÓ{¡ŠGá˜]*©?Cne–@wD`Ú%XòKÎôK8˜üˆ\*q<Cnå™@÷E8z\rM€¦·Æ'C†6Ù{t+ߺ7BÓ8Á’s‚hòÎ>¨xMp5Íu‹•sÝ¡i`É;ÁŒyª¸èsÓ‰n3OXÀÊ@
n’ÐtÐ;u„žÌ´‹ŒG± ®Æ3Ƭ<è> M½SGàƒ-šàéðÄ2ês©$3»"´rQ¨û$½ñ,¹(ô§—\Å'îÐ!ct‡zÚ[gƒÏä;nÏEÍœ’œzàXÌ£•oðò€Ó¦1=R.ÞcûŸ‚sÒv„~¢”âÝVj}ÐÁeq
®ü¢ÎÒýóнÿÞþÚýPK ˜NÝ×yA ¿ xl/sharedStrings.xmlm’AkÃ0…ÿJð}uÖC#Iie„uŒ®cg5Qbƒ-g¶3Ú?—ÁÖŽúüd½g«Z_¬)¾Ðí¨÷‹RH
ë5µx?íïD"PÆÖâŠA¬›*„X¤N
µP1NR†N¡…°pR:œ·SéG&Ð…‘˲\IšDѹ™b-–+Q̤?gÜý‚4B7Ul^Àb%cSÉ[ýÃÞð’£ÍÈTO¨Gsúñ/ݘÁcŸÓ—éŽÍÙç`þr¼ï7IþšÃ6e}c,K‹C
Ã/uŠ8»ò<íܳæg7ëÀ”àÞ_•6zÊéÑÑ3§GG`Ø«Ÿ”K{ÄþM£Áþa™V°ùPK ˜NXû€?} è xl/workbook.xmlQËNÃ0ücUâN\žUÓŠ§@BÀ¡À™xÓ;²
RþžMÒ@
BâdÏzgvf=¯
MÞÁyeMBã݈0©•Ê,ú°¸Ü9¢Äa¤ÐÖ@B?ÀS2ŸMkëÞ^¬}#È7>¡yå„1ŸæP¿kK0ø’YWˆ€Ð-™/és€PhÆ£è€BÚ)LÜ4l–©ÎmZ`B'â@‹€î}®JOgÓLixìQ–·¢@Û+M‰>\H
@&t¡a£àªò´RÁñ8â”}‡¼wDB&*hWÇuñ=ΚΦëQAí¿I$«'e¤zÈq³=⇈ê<)r”Šãè«vj™45æû:È·ìObÚt¾P¯ÿ©)]£ÿÃL^ܵŒ_ÍÏÁ‡g> ð¥›ÙÂä
Ê€lö¸‰6†Ï¶Ûs{kt2Š'£‹Ÿ²AïŸÄµ‘5½C‘è‡
Ût“
âçd•Ögx½37V`†à*h3ô1ûPK ˜Na> < xl/styles.xmlµ–_o›0À¿Šå÷Ô&m•’©RWMj+íÕ“XõdL6í»ïŒ)!뤵ÛÈC|>ßý|>ÑõA
ôÂLŵŠqp6ň©Lç\íbüô˜N®0ª,U9Z±7¬Â×ITÙF°‡=c@U1Þ[[. ©²=“´:Ó%S°Rh#©…©Ù‘ª4Œæ•s’‚„Óé‘”+ì K™½"©y®ËI¦eI-ßrÁmÓ²0’Ùòv§´¡[‚Í^Ùíä^òÌè
JöpDÏØÛ(dA€”Dª–©´Êt,äªW!?Üæ ¼˜cäã]ëÂȉ$ü0"ID:DZI¨pù¬ôW•º%wVëoè…
Ð™Ú '`Î4ŠJæ-ÖTðáNYPÉEãÕ¡S´‡îì$‡49%ñ;´ƒ‹ŠÑGb¯H"È´eF¥0AüØ”°½‚’ð˜ÖîÖ;C› œÚöÝj“C 3ëUI$XaÁÁðÝÞV—Ä-Z7–D9§;¨pÈWN lÆ„xp…ú
¥8aŠÁMÝ}©^„€:ÑcüÄñ‡4ÏbÏÿŠ‹E¿Á‰w0û;¢e)šûZn™IÛêk«êWjø± ÞKÇ ó1¨çc@G¹+xÚÇ ^ŽB¥¬F‰ôbêÿ*VÒõ•Aó:i]½¹®ã{ç-ämÍ…åê7m˜ùáرÚUëÞ•§»
#g…}ìc|”?±œ×2ì>óm;«£|çú5$ö`{WÙvDµá1þ~³º\lnÒpr5]]Mfçl>YÌW›É|¶^m6ébN×?¯îxq·p[ÁlY °2Ýa»àŽº&>ü6¶ÿoAŽ>ÉOPK
˜Na> < † xl/styles.xmlPK ˜NXû€?} è Ü xl/workbook.xmlPK ˜NÝ×yA ¿
œ xl/sharedStrings.xmlPK ˜NE Šx W M xl/worksheets/sheet2.xmlPK ˜N @ð
F % xl/_rels/workbook.xml.relsPK ˜Nžj… @ h docProps/app.xmlPK ˜N‹‚nX
ì Ž K xl/theme/theme1.xmlPK ˜NBù. _ î docProps/core.xmlPK ˜Nõ"B¡æ
J ß _rels/.relsPK ˜N÷_9«J Ž d [Content_Types].xmlPK ˜N‰0È]. a
xl/worksheets/sheet1.xmlPK Æ @
--0030c5a5-68ec-b845-a49f-1707ecf990b6--
NOTE: 48 records were read from the infile REQ.
The minimum record length was 0.
The maximum record length was 1114.
NOTE: PROCEDURE| _DISARM| STOP| _DISARM| 2019-04-23T20:48:23,656-07:00| _DISARM| WorkspaceServer| _DISARM| SAS| _DISARM| |
_DISARM| 38703104| _DISARM| 33980416| _DISARM| 13| _DISARM| 13| _DISARM| 0| _DISARM| 16| _DISARM| 0.010000| _DISARM|
0.006653| _DISARM| 1871696903.649545| _DISARM| 1871696903.656198| _DISARM| 0.010000| _DISARM| | _ENDDISARM
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.01 seconds
MPRINT(POST_TO_SP_MULTIDATA_FMT): filename req clear;
NOTE: Fileref REQ has been deassigned.
MPRINT(POST_TO_SP_MULTIDATA_FMT): filename resp clear;
NOTE: Fileref RESP has been deassigned.
MPRINT(POST_TO_SP_MULTIDATA_FMT): filename headout clear;
NOTE: Fileref HEADOUT has been deassigned.
MPRINT(POST_TO_SP_MULTIDATA_FMT): filename binfile clear;
NOTE: Fileref BINFILE has been deassigned.
162
163 GOPTIONS NOACCESSIBLE;
164 %LET _CLIENTTASKLABEL=;
165 %LET _CLIENTPROCESSFLOWNAME=;
166 %LET _CLIENTPROJECTPATH=;
167 %LET _CLIENTPROJECTPATHHOST=;
168 %LET _CLIENTPROJECTNAME=;
169 %LET _SASPROGRAMFILE=;
170 %LET _SASPROGRAMFILEHOST=;
171
172 ;*';*";*/;quit;run;
173 ODS _ALL_ CLOSE;
174
8 The SAS System 19:14 Tuesday, April 23, 2019
175
176 QUIT; RUN;
177
Is there a way i could look at multipart information of files existing on SP.
i could use that as a reference to populate it.
For the file created by POST command. i Downloaded the file from sharepoint and opened it in notepad.
and i see the multidata part we added on the top. I thought that part was for sharepoint and it would create the excel file with the binary portion of the file. i suspect this is where it is saying corrupt . expecting a binary file but getting text at top.
Do you think its a SP setup issue ?
I could get the PUT command to work. i wasnt using a Fileref name on IN= (stupid me)
filename reply TEMP "";
filename headout TEMP "";
filename In_file "&_xl_file_Pth./&_xl_file_Nm.";
proc http url="&Site_Path./&_xl_file_Nm."
in=In_file
headerout=headout
method='put'
out=reply
auth_negotiate
verbose;
run;
filename In_file clear;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.