DATA: LV_BASE64_STRING(10000) TYPE C,
      LT_BYTE_TABLE           TYPE TABLE OF SOLIX,
      BINARY_TAB              TYPE TABLE OF SOLIX,
      LW_BINARY_TAB           TYPE SOLIX,
      LV_PNG                  TYPE XSTRING.
DATA : GV_STRING  TYPE STRING .
DATA: LV_FILENAME      TYPE STRING,
      LV_FILENAME_1    TYPE STRING,
      LV_FILE_CONTENTS TYPE STRING,
      LT_FILE_CONTENTS TYPE TABLE OF STRING.
DATA:XSTR_CONTENT TYPE XSTRING.
DATA : GT_BINARY TYPE TABLE OF BAPICONTEN.
DATA : LT_TAB TYPE TABLE OF SWASTRTAB.
DATA : GT_STR TYPE TABLE OF STRING.
PERFORM READ_FILE.
FORM READ_FILE.
DATA : LV_XSTRING TYPE XSTRING.
DATA : LV_IMAGE TYPE XSTRING.
DATA: LO_HTTP_CLIENT       TYPE REF TO IF_HTTP_CLIENT,
      LV_URL               TYPE STRING,
      LV_JSON_X            TYPE XSTRING,
      LV_RESPONSE          TYPE STRING,
      LV_RESPONSE_2(10000) TYPE C.
LV_FILENAME = 'C:\Users\user\Desktop\TESTTTT.txt'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
  FILENAME                = LV_FILENAME
IMPORTING
  FILELENGTH              = LEN
  HEADER                  = XSTR_CONTENT
TABLES
  DATA_TAB                = LT_FILE_CONTENTS
EXCEPTIONS
  FILE_OPEN_ERROR         = 1
  FILE_READ_ERROR         = 2
  NO_BATCH                = 3
  GUI_REFUSE_FILETRANSFER = 4
  INVALID_TYPE            = 5
  NO_AUTHORITY            = 6
  UNKNOWN_ERROR           = 7
  BAD_DATA_FORMAT         = 8
  HEADER_NOT_ALLOWED      = 9
  SEPARATOR_NOT_ALLOWED   = 10
  HEADER_TOO_LONG         = 11
  UNKNOWN_DP_ERROR        = 12
  ACCESS_DENIED           = 13
  DP_OUT_OF_MEMORY        = 14
  DISK_FULL               = 15
  DP_TIMEOUT              = 16
  OTHERS                  = 17.
IF SY-SUBRC = 0.
  LOOP AT LT_FILE_CONTENTS INTO LV_FILE_CONTENTS.
    CONCATENATE GV_STRING  LV_FILE_CONTENTS INTO GV_STRING.
  ENDLOOP.
  CALL FUNCTION 'SCMS_BASE64_DECODE_STR'
    EXPORTING
      INPUT  = GV_STRING
*     UNESCAPE       = 'X'
    IMPORTING
      OUTPUT = LV_XSTRING
    EXCEPTIONS
      FAILED = 1
      OTHERS = 2.
  IF SY-SUBRC = 0.
    CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
      EXPORTING
        BUFFER     = LV_XSTRING
      TABLES
        BINARY_TAB = LT_BYTE_TABLE
      EXCEPTIONS
        FAILED     = 1
        OTHERS     = 2.
    IF SY-SUBRC = 0.
      LV_FILENAME_1 = 'C:\Users\user\Desktop\Test.png'. 
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME                = LV_FILENAME_1
          FILETYPE                = 'BIN'
        TABLES
          DATA_TAB                = LT_BYTE_TABLE
        EXCEPTIONS
          FILE_WRITE_ERROR        = 1
          NO_BATCH                = 2
          GUI_REFUSE_FILETRANSFER = 3
          INVALID_TYPE            = 4
          NO_AUTHORITY            = 5
          UNKNOWN_ERROR           = 6
          HEADER_NOT_ALLOWED      = 7
          SEPARATOR_NOT_ALLOWED   = 8
          FILESIZE_NOT_ALLOWED    = 9
          HEADER_TOO_LONG         = 10
          DP_ERROR_CREATE         = 11
          DP_ERROR_SEND           = 12
          DP_ERROR_WRITE          = 13
          UNKNOWN_DP_ERROR        = 14
          ACCESS_DENIED           = 15
          DP_OUT_OF_MEMORY        = 16
          DISK_FULL               = 17
          DP_TIMEOUT              = 18
          FILE_NOT_FOUND          = 19
          DATAPROVIDER_EXCEPTION  = 20
          CONTROL_FLUSH_ERROR     = 21
          OTHERS                  = 22.
    ENDIF.
  ENDIF.
ENDIF.
ENDFORN.
