This documentation supports the 9.1 version of Remedy Action Request System.

To view the latest version, select the version from the Product version menu.



You can continue to use C APIs to customize your application, but C APIs are not enhanced to support new capabilities provided by Java APIs and REST APIs.


Exports the indicated structure definitions from the specified server. Use this function to copy structure definitions from one BMC Remedy AR System server to another (see ARImport).


Form exports do not work the same way with ARExport as they do in BMC Remedy Developer Studio. Other than views, you cannot automatically export related items along with a form. You must explicitly specify the workflow objects that you want to export. Also, ARExport cannot export a form without embedding the server name in the export file (something you can do with the "Server-Independent" option in BMC Remedy Developer Studio).


For filters, escalations, character menus, and distributed mappings, this operation can be performed only by users with BMC Remedy AR System administrator privileges. For forms, containers, and active links, this operation can be performed by users with access permission for the specified structure. Access to groupList information for these structures is limited to users with BMC Remedy AR System administrator privileges.


#include "ar.h"
#include "arerrno.h"
#include "arextern.h"
#include "arstruct.h"

int ARExport(
   ARControlStruct *control,
   ARStructItemList *structItems,
   ARNameType displayTag,
   unsigned int vuiType,
   unsigned int exportOption,
   ARWorkflowLockStruct *lockinfo,
   char **exportBuf,
   ARStatusList *status)

Input arguments


The control record for the operation. It contains information about the user requesting the operation, where that operation is to be performed, and which session is used to perform it. The user and server fields are required.

The runtime overlay group setting in the control record has the following effects:

  • When the runtime group specifies a particular overlay group, exporting overlaid objects also exports their overlays, even if the overlays are not explicitly selected for export.
  • When the runtime group is set to -1, only overlaid objects, not their overlays, are exported.
  • When the runtime group is set to -2, unmodified, overlaid, overlay, and custom objects are exported using their real names.


If inherited attributes are exported, they are ignored and their values are taken from the origin object on the server. Extended (additive) and overwritten attributes are always exported.

For information about runtime groups and the overlay group setting, see ARSetSessionConfiguration.


A list of zero or more structure items to export (identified by type and name). See Importing and exporting and structures.


The label of the form view (VUI) to export. You must specify this parameter to export a particular view (AR_STRUCT_ITEM_SCHEMA_VIEW). If the specified view does not exist (or you specify NULL for this value), the system exports the default view. The system exports the first view in the list if the form does not have a default view.


The type of VUI to export.




Windows type (AR_VUI_TYPE_WINDOWS) * - fields in BMC Remedy User.


Web relative type (AR_VUI_TYPE_WEB) - fields in view can be adjusted.


Web absolute type (AR_VUI_TYPE_WEB_ABS_POS) - fields in view are fixed.


Fields marked with a * are available for legacy environments that use BMC Remedy User, which is no longer shipped with BMC Remedy AR System.


A bitmask to manage export settings when exporting a deployable application. Use this parameter to specify shared workflow, integration workflow, and locale. This parameter takes the following values:






Export all views, data and workflow for all objects in the application, but not integration workflow.



Export the default objects plus workflow attached to forms that are in the application but are not the primary form of the workflow (integration workflow).



For views and data, export only the default locale.



Export locale specific views and data for each of the locales specified in the selectedElements list as specified in the structItems argument.



Export only the integration workflow between the exported application and the application specified in the selectedElements list as specified in the structItems argument.



Export only the locale-specific views and data, but not schemas or workflow.


AR_EXPORT_DEFAULT_LOCALE and AR_EXPORT_SELECTED_LOCALES control what locales are exported. AR_EXPORT_LOCALE_ONLY controls what server objects are exported. 


To export objects as locked, you must supply this parameter. If exporting in unlocked mode, you can set this to NULL.


The locking feature is for protecting your intellectual property. You can now export workflow as locked (either read-only lock or hidden-lock) and deliver it to your customers. When your customer imports the workflow, the system seamlessly runs that workflow but restrict the clients from getting the definition data, thus preventing human administrators or API clients from viewing or modifying the definition.

The values consist of a lock type and lock key. Valid values for the lock type are:


Export the objects as unlocked (AR_LOCK_TYPE_NONE).


Export the objects with read-only lock. When these objects are imported, they are readable but not modifiable (AR_LOCK_TYPE_READONLY).


Export the objects with hidden-lock. When these objects are imported, they are neither readable nor modifiable (AR_LOCK_TYPE_HIDDEN).


Lock key is a string that is to be used as a key (or a password) to enforce locking.

Return values


A buffer that contains the definition text for the items specified for the structItems parameter. The system returns error messages for items not exported due to error.


A list of zero or more notes, warnings, or errors generated from a call to this function. For a description of all possible values, see Error checking.

See also

ARExportToFile, ARImport, See FreeAR for: FreeARStatusList, FreeARStructItemList.

Was this page helpful? Yes No Submitting... Thank you


  1. Misi Mladoniczky


    In ar.h we there are two more define values that are not described here. Does these have any effect, and what do they do?

    #define AR_EXPORT_APPLICATION                (1<<5)

    #define AR_EXPORT_OVERLAY                    (1<<6)

            Best Regards - Misi, RRR AB,

    Mar 31, 2016 05:04
    1. Prachi Kalyani


      We will get this verified and update the documentation soon.



      Mar 31, 2016 11:59
    1. Prachi Kalyani


      These two values are not used by the server. If client program uses them, the AR System server ignores them.



      Apr 12, 2016 04:55
  2. Misi Mladoniczky

    While at it I saw that the above constant EXPORT_DEFAULT is wrong. It should say AR_EXPORT_DEFAULT.

    Apr 08, 2016 06:32
    1. Prachi Kalyani

      I have updated the topic.



      Apr 12, 2016 04:55