Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

Introduction:

There are different solutions for sending document / file to an external NON-SAP System, this document highlights the technique of sending a file using simple HTTP URL.

This document illustrates how a HTTP client object is created using ABAP and the usage of different parameters/ attributes involved with it.

The file receiver component in the Webserver will be triggered using an HTTP URL, thereby certain aspects such as data security and validity should be accounted while designing the HTTP Service URL in the receiver system.

The attributes/parameter sent with the URL during the request, can be used for the below purpose.

  • Describing metadata of the file/document that is sent.
  • Security certificates/credentials of authenticity.
  • Handshake during communication between the two systems.

These attributes can be sent as URL parameters or as a separate file to the external system along with the file.


A simple scenario of uploading a file using SAP WEB Application and transfer it to a web server using  HTTP  REQUEST POST  is illustrated in this document.

The standard class  'CL_HTTP_ENTITY' is used for this purpose.


The code block to transfer the file is generic and can be added in a ABAP Report or it can also be reused by creating  Function Module , ABAP Class etc. This technique can be used to send files currently existing in SAP system or from local clients system.

Pre-requisites:

The receiving component should be enabled/active and it should receive the file when the file transfer is triggered from sender system (SAP) using HTTP URL Call .

The HTTP URL used here is provided by the receiving system.

The file transfer technique is explained below with an example, it divided into following parts.


    1. Web Application using SAP Webdynpro ABAP to upload file from client system and transfer it to NON SAP System     

         using a custom method  'SEND_DOCUMENT'.

    2. ABAP class containing the method 'SEND_DOCUMENT' to transfer the uploaded file.

    3. Executing the application.

1. Creating a simple Webdynpro ABAP application, which will use a custom method in a ABAP  Class to transfer the uploaded file using HTTP URL.

  • Create Component

Figure 1.a

  • Create a node - 'ND_FILE_UPLOAD' to map UI element.

Attribute types used in the node.

FILE_NAME                  TYPE                             STRING

FILE_TYPE                   TYPE                             STRING

FILE_SIZE                   TYPE                             STRING

FILE_CONTENTS          TYPE                             XSTRING

Figure 1.b

  • Create a view - 'V_UPLOAD' and map the corresponding node  - 'ND_FILE_UPLOAD' map it to the 'FileUpload' UI Element.

Figure 1.c

  • The action handler of Submit button will calls a method SEND_DOCUMENT from webdynpro components assistance class as specified in the file 'SUBMIT_ACTION' attached with the document. The method used in the assistance class is elaborated  in part 2 below.

  

  • Create Webdynpro Application for the above component.

Figure 1.e

2. Create a class which contains the method for sending data to other systems.

  • Create an ABAP class 'YXX_CL_ARCHIVE_DOCUMENT' with a PUBLIC method 'SEND_DOCUMENT'.

Figure 2.a

  • The logic in the 'SEND_DOCUMENT' method is present in the file 'SEND_DOCUMENT' attached with the document.

3. Excecuting the Application :

  • Open the URL generated while creating the Webdynpro application, refer Figure 1.e for the URL.

Figure 3.a

  • Upload a test file from local system.

Figure 3.b

  • Submit - Trigger file transfer.

Figure 3.c

Conclusion:


The demonstration above explains the file transfer technique using HTTP Request, this is help full in small file transfer.

5 Comments