Uploading Files To SharePoint in D365 F&O Using X++ Code

 

Uploading Files To SharePoint in D365 F&O Using X++ Code

Uploading files to SharePoint from Dynamics 365 Finance & Operations (D365 F&O) can streamline document management and enhance collaboration. In AX technical terms, this process involves using X++ code to automate the upload of files directly to a SharePoint document library. Here’s a guide on how to achieve this.   Microsoft Dynamics 365 Online Training




Overview:

To upload files from D365 F&O to SharePoint using X++, you need to interact with SharePoint’s REST API. This involves authenticating, creating the correct HTTP requests, and handling file uploads.  Dynamics 365 Online Training

Prerequisites:

Access to SharePoint: Ensure you have the appropriate permissions and access to the SharePoint site and library.  Microsoft Dynamics AX Technical Training

Register an App: Register an app in SharePoint to obtain Client ID and Secret for OAuth authentication.

API Access: Enable API access for communication between D365 F&O and SharePoint.  Microsoft Dynamics AX Training

X++ Code for Uploading Files:

Below is a simplified X++ code snippet that demonstrates the file upload process:

x++

Copy code

public void uploadFileToSharePoint()

{

// Define SharePoint URL and authentication details

str sharePointSite = "<SharePoint_Site_URL>";

str libraryName = "<Document_Library_Name>";

str clientId = "<Client_ID>";

str clientSecret = "<Client_Secret>";

str filePath = @"C:\temp\fileToUpload.txt";

 

// Create an instance of Http client

System.Net.HttpWebRequest request;

System.IO.Stream fileStream;

System.ByteArray fileBytes;

 

request = System.Net.HttpWebRequest::Create(strFmt("%1/_api/web/GetFolderByServerRelativeUrl('%2')/Files/add(url='%3',overwrite=true)", sharePointSite, libraryName, filePath)) as System.Net.HttpWebRequest;

request.set_Method("POST");

request.Headers.Add("Authorization", "Bearer " + this.getAccessToken(clientId, clientSecret)); // Assuming getAccessToken() retrieves an OAuth token

 

// Read file into byte array

fileStream = new System.IO.FileStream(filePath, System.IO.FileMode::Open);

fileBytes = new System.ByteArray(fileStream.get_Length());

fileStream.Read(fileBytes, 0, fileBytes.get_Length());

 

// Write file bytes to request stream

request.getRequestStream().Write(fileBytes, 0, fileBytes.get_Length());

 

// Execute request and handle response

System.Net.HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse;

if (response.get_StatusCode() == System.Net.HttpStatusCode::Created)

{

info("File uploaded successfully to SharePoint.");

}

else

{

error("Failed to upload file: " + response.get_StatusDescription());

}

}

Key Steps in the Code:

1.     Setup Request: Define the SharePoint site, document library, and authentication details.

2.     Create HTTP Request: Use the SharePoint REST API to add the file to the specified folder.

3.     Authentication: The getAccessToken() method retrieves an OAuth token using the Client ID and Secret.

4.     Upload File: Read the file into a byte array and upload it via the HTTP request.

This approach helps automate document uploads, enhancing efficiency in D365 F&O environments that rely on SharePoint for document storage. D365 Finance and Operations Online Training

Visualpath is the Leading and Best Software Online Training Institute in Hyderabad. Avail complete D365 Technicalinstitute in Hyderabad D365 Ax Technical Online Training Worldwide. You will get the best course at an affordable cost.

Attend Free Demo

Call on - +91-9989971070.

Visit Blog: https://visualpathblogs.com/

WhatsApp: https://www.whatsapp.com/catalog/919989971070

 

 

 

 

Comments