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;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.