{
  "title": "Codeunit 419 File Management",
  "url": "https://jonas-paprotka.de/ref/codeunit/419-file-management/",
  "author": "Jonas Paprotka",
  "license": "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link.",
  "subject": "Microsoft Dynamics 365 Business Central",
  "checked": "2026-09-20",
  "source": {
    "feed": "https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json",
    "package": "Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972",
    "build": "28.5.54151.54365",
    "code": {
      "29": {
        "url": "https://jonas-paprotka.de/ref/codeunit/419-file-management/source/29/",
        "repo": "https://github.com/microsoft/BCApps",
        "branch": "releases/29.x",
        "commit": "a66254c3b8b5bb1cea290dc8f9d097aec4381153",
        "path": "src/Layers/W1/BaseApp/Modules/System/FileOperations/FileManagement.Codeunit.al",
        "license": "MIT"
      }
    },
    "note": "Presence per major, highest build of each; 17 is the oldest major on the feed. Local procedures are not listed."
  },
  "object": {
    "type": "codeunit",
    "id": 419,
    "name": "File Management",
    "app": "Base Application",
    "appByVersion": [
      {
        "app": "Base Application",
        "from": 17
      }
    ],
    "nameByVersion": [
      {
        "name": "File Management",
        "from": 17
      }
    ],
    "namespace": "System.IO",
    "versions": "17-28",
    "majors": [
      17,
      18,
      19,
      20,
      21,
      22,
      23,
      24,
      25,
      26,
      27,
      28
    ],
    "extends": null,
    "sourceTable": null,
    "sourceFile": "Modules/System/FileOperations/FileManagement.Codeunit.al",
    "obsolete": null,
    "obsoleteSeenFrom": null,
    "byVersion": {
      "17": {
        "app": "base-application",
        "name": "File Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 77,
          "values": 0
        },
        "stub": false
      },
      "18": {
        "app": "base-application",
        "name": "File Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 78,
          "values": 0
        },
        "stub": false
      },
      "19": {
        "app": "base-application",
        "name": "File Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 78,
          "values": 0
        },
        "stub": false
      },
      "20": {
        "app": "base-application",
        "name": "File Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 53,
          "values": 0
        },
        "stub": false
      },
      "21": {
        "app": "base-application",
        "name": "File Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 55,
          "values": 0
        },
        "stub": false
      },
      "22": {
        "app": "base-application",
        "name": "File Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 55,
          "values": 0
        },
        "stub": false
      },
      "23": {
        "app": "base-application",
        "name": "File Management",
        "ns": "System.IO",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 55,
          "values": 0
        },
        "stub": false
      },
      "24": {
        "app": "base-application",
        "name": "File Management",
        "ns": "System.IO",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 55,
          "values": 0
        },
        "stub": false
      },
      "25": {
        "app": "base-application",
        "name": "File Management",
        "ns": "System.IO",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 55,
          "values": 0
        },
        "stub": false
      },
      "26": {
        "app": "base-application",
        "name": "File Management",
        "ns": "System.IO",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 55,
          "values": 0
        },
        "stub": false
      },
      "27": {
        "app": "base-application",
        "name": "File Management",
        "ns": "System.IO",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 56,
          "values": 0
        },
        "stub": false
      },
      "28": {
        "app": "base-application",
        "name": "File Management",
        "ns": "System.IO",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 56,
          "values": 0
        },
        "stub": false
      }
    },
    "fields": [],
    "keys": [],
    "procedures": [
      {
        "name": "BLOBImport",
        "sig": "(var Codeunit Temp Blob, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "BLOBImportWithFilter",
        "sig": "(var Codeunit Temp Blob, Text, Text, Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "BLOBExportWithEncoding",
        "sig": "(var Codeunit Temp Blob, Text, Boolean, TextEncoding)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "BLOBExport",
        "sig": "(var Codeunit Temp Blob, Text, Boolean)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ServerTempFileName",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ClientTempFileName",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "CreateClientTempSubDirectory",
        "sig": "()",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "DownloadTempFile",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UploadFileSilent",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "UploadFileSilentToServerPath",
        "sig": "(Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "UploadFileToServer",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false, please use the UploadFile procedure.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false, please use the UploadFile procedure.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "UploadFile",
        "sig": "(Text[50], Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UploadFileWithFilter",
        "sig": "(Text[50], Text, Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "Magicpath",
        "sig": "()",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "DownloadHandler",
        "sig": "(Text, Text, Text, Text, Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "DownloadFromStreamHandler",
        "sig": "(InStream, Text, Text, Text, Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "DownloadToFile",
        "sig": "(Text, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false, please use the DownloadHandler(ServerFileName, '', '', '', ClientFileName) procedure.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false, please use the DownloadHandler(ServerFileName, '', '', '', ClientFileName) procedure.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "AppendAllTextToClientFile",
        "sig": "(Text, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "MoveAndRenameClientFile",
        "sig": "(Text, Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "CreateClientFile",
        "sig": "(Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "DeleteClientFile",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "CopyClientFile",
        "sig": "(Text, Text, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "ClientFileExists",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false, this procedure will always return false. This procedure will be removed.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false, this procedure will always return false. This procedure will be removed.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "ClientDirectoryExists",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false, this procedure will always return false. This procedure will be removed.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false, this procedure will always return false. This procedure will be removed.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "CreateClientDirectory",
        "sig": "(Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "DeleteClientDirectory",
        "sig": "(Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "UploadClientDirectorySilent",
        "sig": "(Text, Text, Boolean)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "MoveFile",
        "sig": "(Text, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "CopyServerFile",
        "sig": "(Text, Text, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ServerFileExists",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "DeleteServerFile",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ServerDirectoryExists",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ServerCreateDirectory",
        "sig": "(Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ServerCreateTempSubDirectory",
        "sig": "()",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ServerRemoveDirectory",
        "sig": "(Text, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetFileName",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetSafeFileName",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetFileNameWithoutExtension",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "HasExtension",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetFileNameMimeType",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetDirectoryName",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetClientDirectoryFilesList",
        "sig": "(var Record Name/Value Buffer, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "GetServerDirectoryFilesList",
        "sig": "(var Record Name/Value Buffer, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetServerDirectoryFilesListInclSubDirs",
        "sig": "(var Record Name/Value Buffer, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetClientFileProperties",
        "sig": "(Text, var Date, var Time, var BigInteger)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "IsLocalFileSystemAccessible always returns false and this procedure will always throw an error.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "GetServerFileProperties",
        "sig": "(Text, var Date, var Time, var BigInteger)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CombinePath",
        "sig": "(Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "BLOBImportFromServerFile",
        "sig": "(var Codeunit Temp Blob, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "BLOBExportToServerFile",
        "sig": "(var Codeunit Temp Blob, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "InstreamExportToServerFile",
        "sig": "(InStream, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateAndWriteToServerFile",
        "sig": "(Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetToFilterText",
        "sig": "(Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetExtension",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OpenFileDialog",
        "sig": "(Text[50], Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "The local file system is no longer accessible. Please use the UploadFile procedure.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "The local file system is no longer accessible. Please use the UploadFile procedure.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "SaveFileDialog",
        "sig": "(Text[50], Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "The local file system is no longer accessible. The procedure will always return an empty string. This procdure will be removed.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "The local file system is no longer accessible. The procedure will always return an empty string. This procdure will be removed.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "SelectFolderDialog",
        "sig": "(Text, var Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "The local file system is no longer accessible and this procedure will always return false.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "The local file system is no longer accessible and this procedure will always return false.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "IsLocalFileSystemAccessible",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "The windows client type has been retired. This procedure will always return false.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "The windows client type has been retired. This procedure will always return false.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "IsValidFileName",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ValidateFileExtension",
        "sig": "(Text, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateFileNameWithExtension",
        "sig": "(Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "Ansi2SystemEncoding",
        "sig": "(OutStream, InStream)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "Ansi2SystemEncodingTxt",
        "sig": "(OutStream, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "BrowseForFolderDialog",
        "sig": "(Text[50], Text, Boolean)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "The procedure uses .NET which does not function on non-Windows client types.",
          "tag": "17.3"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "The procedure uses .NET which does not function on non-Windows client types.",
              "tag": "17.3"
            }
          }
        ]
      },
      {
        "name": "StripNotsupportChrInFileName",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ExportImage",
        "sig": "(Text, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsClientDirectoryEmpty",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsServerDirectoryEmpty",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetFileContent",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "GetFileContent will be replaced with GetFileContents. This currently uses InStream.ReadText() which only returns the stream contents up to the first line break character.",
          "tag": "17.0"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "GetFileContent will be replaced with GetFileContents. This currently uses InStream.ReadText() which only returns the stream contents up to the first line break character.",
              "tag": "17.0"
            }
          }
        ]
      },
      {
        "name": "GetFileContents",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetFileContents",
        "sig": "(Text, TextEncoding)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsAllowedPath",
        "sig": "(Text, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SaveStreamToFileServerFolder",
        "sig": "(var Codeunit Temp Blob, Text, Text, Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Use the DownloadFromStream function to save the content of a stream locally.",
          "tag": "17.0"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Use the DownloadFromStream function to save the content of a stream locally.",
              "tag": "17.0"
            }
          }
        ]
      },
      {
        "name": "MoveAndRenameServerFile",
        "sig": "(Text, Text, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Server files should not be edited directly on the server. Instead, use the DownloadFromStream function to get a local copy of the file on the server.",
          "tag": "17.0"
        },
        "majors": [
          17,
          18,
          19
        ],
        "range": "17-19",
        "first": 17,
        "last": 19,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 19,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Server files should not be edited directly on the server. Instead, use the DownloadFromStream function to get a local copy of the file on the server.",
              "tag": "17.0"
            }
          }
        ]
      },
      {
        "name": "AppendFileNameWithIndex",
        "sig": "(Text, Integer)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetPathWithSafeFileName",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "TempBlobToServerFile",
        "sig": "(var Codeunit Temp Blob, Text)",
        "returns": "Text[250]",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          27,
          28
        ],
        "range": "27-28",
        "first": 27,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 27,
            "to": 28,
            "returns": "Text[250]",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      }
    ],
    "events": [
      {
        "name": "OnAfterGetToFilterTextSetOutExt",
        "sig": "(Text, var Text)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeDownloadHandler",
        "sig": "(var Text, Text, Text, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20
        ],
        "range": "17-20",
        "first": 17,
        "last": 20,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 20,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeUploadFileWithFilter",
        "sig": "(var Text, Text[50], Text, Text, Text, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeDownloadFromStreamHandler",
        "sig": "(var Text, Text, InStream, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeBlobExport",
        "sig": "(var Codeunit Temp Blob, Text, Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          20,
          21,
          22
        ],
        "range": "20-22",
        "first": 20,
        "last": 22,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 22,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterDownloadHandler",
        "sig": "(var Text, Text, Text, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeBlobExportWithEncoding",
        "sig": "(var Codeunit Temp Blob, Text, Boolean, TextEncoding, var Text, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeDownloadHandler",
        "sig": "(var Text, Text, Text, var Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeBlobExport",
        "sig": "(var Codeunit Temp Blob, Text, Boolean, var Boolean, var Text)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "23-28",
        "first": 23,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 23,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      }
    ],
    "values": []
  }
}