RPC Commands (draft)

The full list of supported RPC commands could be obtained using following API scenario:

apply,c,0000000000000000,ENTRY_POINTS
next,c,q0
dump,c,q0

Fetch family

  • FETCH

    Returns object’s snapshot

    API> apply,c,0901ffd7800ed717,SysObjFullFetch
    ...
    [DM_SYSOBJECT_E_NO_BROWSE_ACCESS]error:  
       "No browse access for sysobject with ID '0901ffd7800ed717'."
    API> apply,c,0901ffd7800ed717,FETCH
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      object_name                     : DataDictionaryPublisher
      title                           :
      subject                         :
      authors                       []: <none>
      keywords                      []: <none>
      resolution_label                :
      owner_name                      : dmadmin
      owner_permit                    : 7
      group_name                      : docu
      group_permit                    : 1
      world_permit                    : 1
      log_entry                       :
      acl_domain                      : ssc_dev
      acl_name                        : dm_acl_superusers
      language_code                   :
    ....
    
    API> close,c,q0
    ...
    OK
    

  • FETCH_CONTENT

  • FETCH_STORAGE

  • LiteObjFetch

  • SysObjFullFetch

    Returns sysobject’s snapshot

    API> apply,c,0901ffd7800ed717,SysObjFullFetch
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      object_name                     : DataDictionaryPublisher
      title                           :
      subject                         :
      authors                       []: <none>
      keywords                      []: <none>
      resolution_label                :
      owner_name                      : dmadmin
      owner_permit                    : 7
      group_name                      : docu
      group_permit                    : 1
      world_permit                    : 1
      log_entry                       :
      acl_domain                      : ssc_dev
      acl_name                        : dm_acl_superusers
      language_code                   :
    ....
    
    API> close,c,q0
    ...
    OK
    

Save family

  • ACLSave

  • AliasSetSave

  • AssemblySave

  • CabinetSave

  • ContainmentSave

  • dmAuditTrailSave

  • dmDisplayConfigSave

  • dmScopeConfigSave

  • DocbaseIdMapSave

  • FolderSave

  • GroupSave

  • InboxItemSave

  • IPKGSave

  • LiteObjSave

  • MAKE_DUMP

  • MAKE_FTINDEX

  • PARTITION_SCHEME_SAVE

  • PolicySave

  • RegTableSave

  • RelationSave

  • RelationTypeSave

  • ReferenceSave

  • RouterSave

  • SAVE

  • SAVE_CONT_ATTRS

  • SAVE_CONT_ATTRS_V6

  • SAVE_FORMAT

  • SET_STORAGE

  • SysObjSave

  • UPDATE_FTINDEX_ATTRS

  • UserSave

  • WITEMSave

  • WflowSave

Destroy family

Other

  • ABORT_LOAD

  • ACKNOWLEDGE_MESSAGES

  • ACLExpunge

  • ACQUIRE_MESSAGES

  • ADD_E_SIGNATURE

  • ADOPT_FTINDEX

  • ALLOW_BASE_AS_FEATURES

    Allows to bypass requirement of High-Volume Server license:

    API> apply,c,,GENERATE_PARTITION_SCHEME_SQL
    ...
    [DM_QUERY2_E_NO_HIGH_VOLUME_SERVER_LICENSE]error:
     "A High-Volume Server license is required to create
      a lightweight or shareable type"
    
    API> apply,c,,ALLOW_BASE_AS_FEATURES,VALUE,B,T
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    API> apply,c,,GENERATE_PARTITION_SCHEME_SQL
    ...
    [DM_QUERY2_E_PARTITION_API_INVALID_ARG]error:
     "You specified arguments incorrectly for the
      GENERATE_PARTITION_SCHEME_SQL apply method."

  • ALLOW_BASE_TYPE_CHANGES

    Allows current session to modify base types:

    API> ?,c,create type dm_ttt with supertype null
    new_object_ID
    ----------------
    0301d9208000024a
    (1 row affected)
    
    API> ?,c,drop type dm_ttt
    [DM_QUERY_E_DROP_BASE_TYPE]error:  "DROP TYPE:  You have attempted
    to drop a Documentum base type, dm_ttt."
    
    API> apply,c,,ALLOW_BASE_TYPE_CHANGES,ALLOW_CHANGE_FLAG,B,T
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> ?,c,drop type dm_ttt
    API>

  • APPLY_D66_SCHEMA_CHANGES

  • AUDIT_ON

    Returns whether audit event is enabled for specific object:

    API> retrieve,c,dm_document
    ...
    0902242880000c9f
    API> apply,c,0902242880000c9f,AUDIT_ON,EVENT,S,dm_save
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    API> apply,c,0902242880000c9f,AUDIT_ON,EVENT,S,dm_connect
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    F
    API> close,c,q0
    ...
    OK
    API>
    

  • AUDIT_SECURITY_FAILURE

  • AUTHENTICATE_USER

  • AclObjGetPermit

    Returns effective privileges defined by specific ACL:

    API> apply,c,4501d92080000100,AclObjGetPermit,_ACC_NAME_,S,testuser
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    6
    API> close,c,q0
    ...
    OK
    

  • AclObjGetXPermit

    Returns effective extended privileges defined by specific ACL:

    API> apply,c,4501d92080000100,AclObjGetXPermit,_ACC_NAME_,S,dmadmin
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    458752
    API> close,c,q0
    ...
    OK
    API>
    

  • ActGetPerformerConditionTable

  • ActGetRouteTable

  • ActStateOp

  • AliasSetExpunge

  • AliasSetResolveAlias

  • AnyEvents

    Returns true if current user has unread dmi_queue_item objects:

    API> apply,c,,AnyEvents
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0
    T
    API> ?,c,select count(*) from dmi_queue_item where name=USER 
              and delete_flag=0 and read_flag=0
    count(*)
    ----------------------
                      7835
    (1 row affected)
    
    API> close,c,q0
    ...
    OK
    

  • ArchiveRequest

  • AssemblyExpunge

  • AudittrailGetAttrList

  • BATCH_OPERATION

  • BATCH_PROMOTE

  • BEGIN_TRANS

  • BEGIN_TRANS_EX

  • BREAK

  • CAN_FETCH

  • CHANGE_USER_PASSWORD

  • CHECKOUT_LICENSE

  • CHECK_AUDIT_FOR_BATCH_PROMOTE

  • CHECK_CACHE_CONFIG

  • CHECK_FTINDEX

  • CHECK_FT_CONVERTIBLE

  • CHECK_RETENTION_EXPIRED

  • CHECK_RETENTION_EXPIRED_FOR_CONTENT

  • CHECK_SECURITY

  • CLEAN_DELETED_OBJECTS

  • CLEAN_FTINDEX

  • CLEAN_LINKS

  • CLEAR_ASPECT_MAP_CACHE

  • CLEAR_PENDING

  • CLIENT_NAME

  • CLIENT_RIGHTS_DOMAIN_EXPUNGE

  • CLIENT_RIGHTS_DOMAIN_SAVE

  • CLOSE_XQUERY

  • COMMON_DIR

  • CONTINUE_DUMP

  • CONTINUE_LOAD

  • CONTROL_MIGRATION

  • CONVERT_ID

  • COUNT_SESSIONS

    Returns server sessions summary:

    API> apply,c,,COUNT_SESSIONS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      concurrent_sessions             : 100
      history_sessions                : 100
      history_timeout                 : 240
      hot_list_size                   : 11
      warm_list_size                  : 15
      cold_list_size                  : 174
    
    API> close,c,q0
    ...
    OK
    

  • CabinetExpunge

  • ContainmentCopy

  • ContainmentExpunge

  • ContainmentGetAtOrder

  • ContainmentGetBefore

  • ContainmentQuery

  • ContainmentReorder

  • CreateAuditForEvent

  • CreateExtTypeObj

  • DATACENTER_OPERATION

  • DB_STATS

    Returns SQL statistics for current session:

    API> apply,c,,DB_STATS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      updates                         : 0
      inserts                         : 0
      deletes                         : 0
      selects                         : 14
      rpc_ops                         : 10
      ddl_ops                         : 0
      max_cursors                     : 0
    
    API> close,c,q0
    ...
    OK
    API> ?,c,select count(*) from dm_sysobject
    count(*)
    ----------------------
                    663107
    (1 row affected)
    
    API> apply,c,,DB_STATS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      updates                         : 0
      inserts                         : 0
      deletes                         : 0
      selects                         : 26
      rpc_ops                         : 18
      ddl_ops                         : 0
      max_cursors                     : 0
    
    API> close,c,q0
    ...
    OK
    API> create,c,dm_sysobject
    ...
    0801d920805760ac
    API> save,c,l
    ...
    OK
    API> apply,c,,DB_STATS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      updates                         : 0
      inserts                         : 3
      deletes                         : 0
      selects                         : 62
      rpc_ops                         : 41
      ddl_ops                         : 0
      max_cursors                     : 0
    
    API> close,c,q0
    ...
    OK
    

  • DD_MARK_RESYNC_NEEDED

  • DECRYPT_TEXT

    Decrypts text (returns obfuscated result):

    perl -e 'print reverse map{sprintf("%02x",(ord$_==0xB6?ord$_:ord$_^0xB6))}
    > split//,"documentum";'
    dbc3c2d8d3dbc3d5d9d2
    
    API> apply,c,,ENCRYPT_TEXT,TEXT_TO_ENCRYPT,S,dbc3c2d8d3dbc3d5d9d2
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    DM_ENCR_TEXT=fdK+YzOS+TTGAYUEAR/tFc+QWdPOZdgFJMyQ2KsM00ud//puBGCjaqPTSKOUR3KL
    API> close,c,q0
    ...
    OK
    API> apply,c,,DECRYPT_TEXT,TEXT_TO_DECRYPT,S,DM_ENCR_TEXT=fdK+YzOS+TTGA.....
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    dbc3c2d8d3dbc3d5d9d2
    API> close,c,q0
    ...
    OK
    

  • DEFAULT_RETENTION_ATTR

  • DELETE_REPLICA

  • DESTROY_CONTENT

  • DESTROY_CONTENT_IN_PARALLEL

  • DESTROY_REPLICA

  • DISABLE_TIMEOUT

    Disables timeout for server session:

    API> apply,c,,DISABLE_TIMEOUT
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK

  • DM_ACL_VALIDATE_REQUIRED_GROUPS

  • DM_CONVERT_ACL_INSTANCES

  • DO_METHOD

  • DO_MULTI_PUSH

  • DO_REINIT

  • DO_RESTART

  • DQL_MATCH

    Looks like another way to execute DQL select:

    API> apply,c,,DQL_MATCH,QUERY_TYPE,S,dm_sysobject,
           QUERY_PREDICATE,S,r_object_id is not null
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,r_object_id
    ...
    0b01d9208000060a
    API> next,c,q0
    ...
    OK
    API> get,c,q0,r_object_id
    ...
    0b01d9208000060b
    API> close,c,q0
    ...
    OK
    API> apply,c,,DQL_MATCH,QUERY_TYPE,S,dm_sysobject,
           QUERY_PREDICATE,S,r_object_id is null
    ...
    q0
    API> next,c,q0
    ...
    

  • DROP_DUMP

  • DROP_FORMAT

  • DROP_FTINDEX

  • DROP_INDEX

  • DROP_REPLICA

  • DROP_STAMP

  • DROP_STORAGE

  • DROP_TYPE_KEEP_TABLE

  • DUMP_CACHE

    Returns information about server cache:

    API> apply,c,,DUMP_CACHE,TAG,I,3
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      total_size                      : 381
      handle                       [0]: 0301d92080000001
                                   [1]: 0301d92080000002
                                   [2]: 0301d92080000003
    ...
    API> close,c,q0
    ...
    OK
    

  • DUMP_CASTORE_CLIP

  • DUMP_COUNTS

    returns RPC statistics for current session:

    Connected to Documentum Server running Release 6.7.1240.0300  Linux.Oracle
    Session id is s0
    API> retrieve,c,dm_sysobject
    ...
    0b01d9208000060a
    API> fetch,c,0b01d9208000060a
    ...
    OK
    API> fetch,c,0b01d9208000060a
    ...
    OK
    API> fetch,c,0b01d9208000060a
    ...
    OK
    API> apply,c,,DUMP_COUNTS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,proc_name[10]
    ...
    AUTHENTICATE_USER
    API> get,c,q0,proc_count[10]
    ...
    1
    API> get,c,q0,proc_name[404]
    ...
    SysObjFullFetch
    API> get,c,q0,proc_count[404]
    ...
    2
    API> get,c,q0,proc_name[221]
    ...
    IsCurrent
    API> get,c,q0,proc_count[221]
    ...
    4
    API> close,c,q0
    ...
    OK
    API>
    

  • DUMP_FTINDEX

  • DUMP_JMS_CONFIG_LIST

    Returns information about current JMS status:

    API> apply,c,,DUMP_JMS_CONFIG_LIST
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      jms_list_last_refreshed         : Sun Feb  2 16:37:52 2014
      incr_wait_time_on_failure       : 30
      max_wait_time_on_failure        : 3600
      current_jms_index               : 0
      jms_config_id                [0]: 0801d92080000b65
      jms_config_name              [0]: JMS docu67dev01:9080 for repo.repo
      server_config_id             [0]: 3d01d92080000102
      server_config_name           [0]: repo
      jms_to_cs_proximity          [0]: 1
      is_disabled_in_docbase       [0]: F
      is_marked_dead_in_cache      [0]: T
      intended_purpose             [0]: DM_JMS_PURPOSE_DEFAULT_EMBEDDED_JMS
      last_failure_time            [0]: Sun Feb  2 16:40:27 2014
      next_retry_time              [0]: Sun Feb  2 16:42:27 2014
      failure_count                [0]: 3
    
    API> close,c,q0
    ...
    OK
    

  • DocbaseIdMapDrop

  • ENABLE_TIMEOUT

    Enables timeout for server session (see DISABLE_TIMEOUT):

    API> apply,c,,ENABLE_TIMEOUT
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    API>
    

  • ENCRYPT_PASSWORD

    Encrypts password (password should be obfuscated first):

    perl -e 'print reverse map{sprintf("%02x",(ord$_==0xB6?ord$_:ord$_^0xB6))}
    > split//,"documentum";'
    dbc3c2d8d3dbc3d5d9d2
    
    API> apply,c,,ENCRYPT_PASSWORD,PASSWORD_TO_ENCRYPT,S,dbc3c2d8d3dbc3d5d9d2
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    DM_ENCR_PASS=feO/7HdW/WqL87vSVazBdspNZLpQwKODVItgqpyk5IQWPMYeGRUWetKWa2x964Qu
    API> close,c,q0
    ...
    OK

  • ENCRYPT_TEXT

    Encrypts text (text should be obfuscated first):

    perl -e 'print reverse map{sprintf("%02x",(ord$_==0xB6?ord$_:ord$_^0xB6))}
    > split//,"documentum";'
    dbc3c2d8d3dbc3d5d9d2
    
    API> apply,c,,ENCRYPT_TEXT,TEXT_TO_ENCRYPT,S,dbc3c2d8d3dbc3d5d9d2
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    DM_ENCR_TEXT=fdK+YzOS+TR+OQFnfIJcvik9eb+WyX7crMPTFiiagrGlTA1FC6H7F5uBKypEw5Vc
    API> close,c,q0
    ...
    OK
    

  • END_MULTI_PUSH

  • END_PULL

  • END_PUSH

  • END_PUSH_V2

  • END_TRANS

  • END_TRANS_EX

  • ENTRY_POINTS

    Returns supported RPC commands.

  • ENUMERATE

    Returns collection of objects of specific type, ALLOW_UPDATES flag prevents collection closing after explicit or implicit commit (does not hide user_password value for dm_user objects, also does not enforce acl restrictions, looks like a bug):

    API> apply,c,,ENUMERATE,OBJECT_TYPE,S,dm_sysobject,
           MATCH_TYPE,S,dm_document,
           ORDER_BY,S,r_creation_date,
           DESCENDING,B,T
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,r_object_id
    ...
    0901d92080576174
    API> close,c,q0
    ...
    OK
    

  • ESTIMATE_SEARCH

  • EXEC

    Executes DQL query (FOR_UPDATE flag prevents collection closing after explicit or implicit commit):

    API> apply,c,,EXEC,QUERY,S,select count(*) from dm_sysobject,FOR_UPDATE,B,F,
          BATCH_HINT,I,1,BOF_DQL,B,T
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      count(*)                        : 663106
    
    API> close,c,q0
    ...
    OK
    

  • EXEC_SELECT_SQL

    Executes SQL select statement:

    API> apply,c,,EXEC_SELECT_SQL,QUERY,S,select level from dual connect by level <=10 
    ... 
    q0 
    API> next,c,q0
    ...
    [DM_SESSION_E_RPC_ERROR]error:  "Server communication failure"
    
    java.io.IOException: Unexpected end-of-stream
    
    API> close,c,q0
    ...
    OK
    

  • EXEC_SQL

    Executes SQL statement, returns true if executed successfully:

    API> apply,c,,EXEC_SQL,QUERY,S,update dm_user_s 
           set user_privileges=16 where user_name='dmadmin'
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • EXEC_XQUERY

  • EXPORT_TICKET_KEY

  • EXPUNGE

  • EXPUNGE_LOAD

  • ElectronicSignOff

  • EventRegister

  • EventUnRegister

  • FETCH_PIECE

  • FETCH_TYPE

  • FILL_DUMPLOAD_TABLES

  • FINISH_INDEX_MOVES

  • FIX_BROKEN_DD_REFERENCES

  • FIX_LINK_CNT

    Actualizes r_link_cnt for specified folder:

    API> retrieve,c,dm_folder where any r_folder_path='/dmadmin'
    ...
    0c01d92080000105
    API> get,c,l,r_link_cnt
    ...
    305
    API> set,c,l,r_link_cnt
    SET> 1
    ...
    OK
    API> save,c,l
    ...
    1
    API> fetch,c,l
    ...
    OK
    API> get,c,l,r_link_cnt
    ...
    1
    API> apply,c,0c01d92080000105,FIX_LINK_CNT
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    API> apply,c,0c01d92080000105,SysObjFullFetch
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,r_link_cnt
    ...
    317
    API> close,c,q0
    ...
    OK
    

  • FIX_OBJECT_TABLE_INCONSISTENCIES

  • FOUR_DIGIT_YEAR_FLAG

  • FTACL_CACHE

  • FTINDEX_AGENT_ADMIN

    Administers index agent:

    API> ?,c,select object_name,index_name from dm_ftindex_agent_config
    object_name                      index_name
    ---------------------------      -----------
    docu70dev01_9200_IndexAgent      ssc_dev_ftindex_01
    (1 row affected)
    
    API> apply,c,,FTINDEX_AGENT_ADMIN,
            NAME,S,ssc_dev_ftindex_01,
            AGENT_INSTANCE_NAME,S,docu70dev01_9200_IndexAgent,
            ACTION,S,status
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      name                         [0]: docu70dev01_9200_IndexAgent
      status                       [0]: 0
    
    API> close,c,q0
    ...
    OK
    API> apply,c,,FTINDEX_AGENT_ADMIN,
            NAME,S,ssc_dev_ftindex_01,
            AGENT_INSTANCE_NAME,S,docu70dev01_9200_IndexAgent,
            ACTION,S,shutdown
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      name                         [0]: docu70dev01_9200_IndexAgent
      status                       [0]: 100
    
    API> close,c,q0
    ...
    OK
    API> apply,c,,FTINDEX_AGENT_ADMIN,
            NAME,S,ssc_dev_ftindex_01,
            AGENT_INSTANCE_NAME,S,docu70dev01_9200_IndexAgent,
            ACTION,S,status
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      name                         [0]: docu70dev01_9200_IndexAgent
      status                       [0]: 100
    
    API> close,c,q0
    ...
    OK
    API> apply,c,,FTINDEX_AGENT_ADMIN,
            NAME,S,ssc_dev_ftindex_01,
            AGENT_INSTANCE_NAME,S,
            docu70dev01_9200_IndexAgent,
            ACTION,S,start
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      name                         [0]: docu70dev01_9200_IndexAgent
      status                       [0]: 0
    
    API> close,c,q0
    ...
    OK
    
    -- shoutdown index agent's application server
    
    API> apply,c,,FTINDEX_AGENT_ADMIN,
            NAME,S,ssc_dev_ftindex_01,
            AGENT_INSTANCE_NAME,S,docu70dev01_9200_IndexAgent,
            ACTION,S,status
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      name                         [0]: docu70dev01_9200_IndexAgent
      status                       [0]: 200
    
    API> close,c,q0
    ...
    OK
    

  • FederationExpunge

  • FlushRegistryCache

  • FlushSessionCache

  • FolderExpunge

  • FolderIdFindByPath

    Returns folder id with specific path:

    API> apply,c,,FolderIdFindByPath,_FOLDER_PATH_,S,/dmadmin
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    0c01d92080000105
    API> close,c,q0
    ...
    OK
    

  • GENERATE_PARTITION_SCHEME_SQL

  • GETSTYLE_FTINDEX

  • GETTYPE

    returns type name of object specified:

    API> retrieve,c,dm_user
    ...
    1101d92080000100
    API> apply,c,1101d92080000100,GETTYPE
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      OBJECT_TYPE                     : dm_user
    
    API> close,c,q0
    ...
    OK
    API>
    

  • GETTYPENAME

    The same as GETTYPE

  • GET_ASPECT_USE_INFO

  • GET_ATTRIBUTE_CONSTRAINT_INFO

  • GET_ATTRIBUTE_DD_INFO

    Returns data dictionary information for specified attribute:

    API> apply,c,,GET_ATTRIBUTE_DD_INFO,
            TYPE_NAME,S,dm_sysobject,
            ATTR_NAME,S,i_chronicle_id,
            POLICY_ID,S,0000000000000000,
            POLICY_STATE,I,0
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      type_name                       : dm_sysobject
      attr_name                    [0]: i_chronicle_id
      is_searchable                [0]: F
      life_cycle                   [0]: 1
      is_hidden                    [0]: T
      is_required                  [0]: F
      read_only                    [0]: T
      not_null                     [0]: F
    
    API> close,c,q0
    ...
    OK
    

  • GET_ATTRIBUTE_NLS_INFO

    Returns NLS information for specified attribute:

    API> apply,c,,GET_ATTRIBUTE_NLS_INFO,
            TYPE_NAME,S,dm_sysobject,
            ATTR_NAME,S,i_chronicle_id,
            POLICY_ID,S,0000000000000000,
            POLICY_STATE,I,0
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      type_name                       : dm_sysobject
      attr_name                    [0]: i_chronicle_id
      label_text                   [0]: Корневой объект дерева версий
      comment_text                 [0]:
      help_text                    [0]:
      format_pattern               [0]:
    
    API> close,c,q0
    ...
    OK
    

  • GET_ATTRIBUTE_VALUE_ASSIST_INFO

  • GET_ATTRIBUTE_VALUE_MAPPING_INFO

  • GET_CASTORE_ENABLED

  • GET_CLIENT_DOCBROKERS

  • GET_CONNECTED_ACT

  • GET_CONTENT_ADDRESS

  • GET_CONTENT_HASH

  • GET_DBMS_VERSION

    Returns FALSE if database is not Sybase, otherwise Sybase version info:

    API> apply,c,,GET_DBMS_VERSION
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    F
    API> close,c,q0
    ...
    OK
    

  • GET_DBOWNER

    Returns database owner:

    API> apply,c,,GET_DBOWNER
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    repo
    API> close,c,q0
    ...
    OK
    

  • GET_DBTABLEOWNER

  • GET_DD_ATTRIBUTE_LABELS

  • GET_DD_OBJECT

  • GET_DD_TYPE_LABELS

  • GET_DISTCONT_DIGSIG

  • GET_DIST_CONTENT_MAP

  • GET_DIST_WRITE_MAP

  • GET_DOCBASEOWNER_DBPASSWORD

    Returns password of database owner:

    API> apply,c,,GET_DOCBASEOWNER_DBPASSWORD
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    repo
    API> close,c,q0
    ...
    OK
    

  • GET_DOCBASE_CONFIG

    Returns dm_docbase_config object where current session is connected:

    API> apply,c,,GET_DOCBASE_CONFIG
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,r_object_id
    ...
    3c01d92080000103
    API> get,c,q0,object_name
    ...
    repo
    API> close,c,q0
    ...
    OK
    

  • GET_DYNAMIC_GROUPS

    Returns list of active dynamic groups:

    API> apply,c,,GET_DYNAMIC_GROUPS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      group_name                   [0]: dm_superusers
                                   [1]: dm_superusers_dynamic
    
    API> close,c,q0
    ...
    OK
    

  • GET_ERRORS

  • GET_FILE

  • GET_FILESTORE_METADATA_AND_PATH

  • GET_FILE_LENGTH

  • GET_FILE_URL

  • GET_FTINDEX_SIZE

  • GET_FULLTEXT_CAPABILITY

  • GET_INBOX

  • GET_LAST_SQL

    Returns last SQL statement executed in current session:

    API> ?,c,select count(*) from dm_sysobject
    count(*)
    ----------------------
                    663136
    (1 row affected)
    
    API> apply,c,,GET_LAST_SQL
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    select all count(*) from dm_sysobject_sp  dm_sysobject 
       where (dm_sysobject.i_has_folder = 1 and dm_sysobject.i_is_deleted = 0)
    API>
    API> close,c,q0
    ...
    OK
    

  • GET_LOGIN

  • GET_MESSAGES

  • GET_MESSAGE_COUNT

  • GET_OBJECT_INFO

  • GET_OTHERFILE_SIZE

  • GET_PATH

  • GET_PLATIND

  • GET_RENDITIONS

  • GET_SERVER_CONFIG

    Returns dm_server_config object where current session is connected:

    API> apply,c,,GET_SERVER_CONFIG
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,r_object_id
    ...
    3d01d92080000102
    API> get,c,q0,object_name
    ...
    repo
    API> close,c,q0
    ...
    OK
    

  • GET_SESSION_DD_LOCALE

  • GET_STORAGE_FROM_CACHE

  • GET_STORAGE_INFO

  • GET_TEMP_FILE

  • GET_TOKEN

    Generates application token (see also ):

    API>apply,c,,GET_TOKEN,
          APP_TOKEN_SCOPE,S,global,
          APP_TOKEN_TIMEOUT,I,31536000,
          APPLICATION_DATA,S,,
          MACHINE_ID,S,,
          THIS_MACHINE_ONLY,B,F,
          OPTIONAL_USER_NAME,S,dmadmin
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    DM_TOKEN=AAAAAgAAAPAAAAAB...
    API> close,c,q0
    ...
    OK
    

  • GET_TURBO_CONTENT

  • GET_TYPES_CHANGED

  • GET_TYPE_COMPONENT_INFO

  • GET_TYPE_CONSTRAINT_INFO

  • GET_TYPE_DD_INFO

  • GET_TYPE_NLS_INFO

  • GET_USER_WS_CUSTOMIZATIONS

  • GET_WORKFLOW_AGENT_STATUS

    Returns status of workflow agent (0 – stopped, 1 – stopping, 2 – starting, 3 – running):

    API> apply,c,,GET_WORKFLOW_AGENT_STATUS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    3
    API> close,c,q0
    ...
    OK
    

  • GET_XQUERY_PLAN

  • GetDumpMap

  • GetEvents

  • GetExtTypeObjID

  • GetSignData

  • GetVDMPathDQLQuery

  • GetVDMPathQuery

  • GroupAllUsers

  • GroupExpunge

  • HTTP_POST

  • IDS_FROM_CACHE

  • ID_FROM_CACHE

  • IMPORT_REPLICA

  • IMPORT_TICKET_KEY

  • IPKGAddNote

  • IPKGBind

  • IPKGExpunge

  • IPKGIsbound

  • IPKGRemoveNote

  • IS_MULTI_PUSH_SUPPORTED

  • IS_SEEKABLE

  • InboxItemAppend

  • InboxItemDelete

  • InboxItemDeleteAll

  • InboxItemExpunge

  • IsCurrent

  • KILL_MULTI_PUSHER

  • KILL_PULLER

  • KILL_PUSHER

  • KILL_SESSION

  • KILL_TICKET

  • LDAPSetup

  • LIGHTWEIGHT_UTILITIES

  • LIST_AUTH_PLUGINS

    Returns list of supported authentication plugins:

    API> close,c,q0
    ...
    OK
    API> apply,c,,LIST_AUTH_PLUGINS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      plugin_id                    [0]: dm_krb
      plugin_filepath              [0]: /u01/documentum/cs/dba/auth/libkerberos.so
    
    API> close,c,q0
    ...
    OK
    

  • LIST_EC_POOL

  • LIST_RESOURCES

  • LIST_SESSIONS

    Returns detailed information about server sessions (one object):

    API> apply,c,,LIST_SESSIONS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      root_start                      : 2/3/2014 14:45:07
      root_pid                        : 8779
      shared_mem_id                   : 594640901
      semaphore_id                    : 851969
      session                      [0]: 0101d920800dc5de
                                   [1]: 0101d920800dc500
                                   [2]: 0101d920800dc5fe
                                   [3]: 0101d920800dc5fc
                                   [4]: 0101d920800dc5fb
                                   [5]: 0101d920800dc5b2
                                   [6]: 0101d920800dc5b0
                                   [7]: 0101d920800dc5af
                                   [8]: 0101d920800dc567
                                   [9]: 0101d920800dc566
                                  [10]: 0101d920800dc564
                                  [11]: 0101d920800dc51c
                                  [12]: 0101d920800dc51b
                                  [13]: 0101d920800dc519
    ....
      current_rpc                  [0]: LIST_SESSIONS
                                   [1]: SysObjSave
                                   [2]: EXEC
                                   [3]: EXEC
                                   [4]: EXEC
                                   [5]: EXEC
                                   [6]: EXEC
                                   [7]: EXEC
                                   [8]: EXEC
                                   [9]: EXEC
                                  [10]: EXEC
                                  [11]: EXEC
                                  [12]: EXEC
                                  [13]: EXEC
      last_completed_rpc           [0]: 2/3/2014 18:54:10
                                   [1]: 2/3/2014 18:57:33
                                   [2]: 2/3/2014 18:06:36
                                   [3]: 2/3/2014 18:06:23
                                   [4]: 2/3/2014 18:06:07
                                   [5]: 2/3/2014 17:06:36
                                   [6]: 2/3/2014 17:06:24
                                   [7]: 2/3/2014 17:06:08
                                   [8]: 2/3/2014 16:06:36
                                   [9]: 2/3/2014 16:06:23
                                  [10]: 2/3/2014 16:06:07
                                  [11]: 2/3/2014 15:06:36
                                  [12]: 2/3/2014 15:06:23
                                  [13]: 2/3/2014 15:06:07
    
    API> close,c,q0
    ...
    OK
    

  • LIST_TARGETS

    Returns projection targets for current server:

    API> apply,c,,LIST_TARGETS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      projection_targets           [0]: docu67dev01
      projection_ports             [0]: 1489
      projection_proxval           [0]: 1
      projection_notes             [0]:
      docbroker_status             [0]: Available
      comments                     [0]: Server init parameter
    
    API> close,c,q0
    ...
    OK
    

  • LOAD_FTINDEX

  • LOCK_OBJECT

  • LOG_MESSAGE

    Logs message to server log (see also STAMP_TRACE):

    API> apply,c,,LOG_MESSAGE,MESSAGE,S,test
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    API> Bye
    [dmadmin@docu67dev01 ~]$ tail -1 dba/log/repo.log
    2014-02-02T23:46:02.825716   .....    [EXTERNAL MESSAGE]: test
    

  • LOG_OFF

    Disables operation logging:

    API> apply,c,,LOG_OFF
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0
    ...
    T
    API> close,c,q0
    ...
    OK
    API> ?,c,select count(*) from dm_sysobject
    count(*)
    ----------------------
                    663141
    (1 row affected)
    
    

  • LOG_ON

    Enables operation logging:

    API> apply,c,,LOG_ON,DETAIL,B,T
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    API> ?,c,select count(*) from dm_sysobject
    count(*)
    ----------------------
                    663141
    (1 row affected)
    [DM_SESSION_I_OPERATION_RESULTS]info:  "Collection: 3
    Type : 2
    TYPE QR 0000000000000000 0 0 0
     NULL
     NULL
     NULL F
    1
    B  count(*)  DOUBLE S 0 0
    
    Persistence: F
    "
    
    [DM_SESSION_I_OPERATION_ENDED]info:  "Operation EXEC completed."
    
    [DM_SESSION_I_OPERATION_ARGUMENTS]info:  "
    Object Id: 0000000000000000
    Argument Object:
    2
    OBJ NULL 0 0 0 0
    5
    QUERY STRING S 0
    A 33 select count(*) from dm_sysobject
    FOR_UPDATE BOOL S 0
    F
    BATCH_HINT INT S 0
    50
    BOF_DQL BOOL S 0
    T
    FLUSH_BATCH INT S 0
    -1
    "
    
    [DM_SESSION_I_OPERATION_STARTED]info:  "Operation EXEC started."
    
    [DM_SESSION_I_OPERATION_RESULTS]info:  "Values returned: 5"
    
    [DM_SESSION_I_OPERATION_ENDED]info:  "Operation MultiNext completed."
    
    [DM_SESSION_I_OPERATION_RESULTS]info:  "Values returned: 1"
    
    [DM_SESSION_I_OPERATION_ENDED]info:  "Operation MultiNext completed."
    
    [DM_SESSION_I_OPERATION_ARGUMENTS]info:  "Handle: 3 Limit: 50"
    
    [DM_SESSION_I_OPERATION_STARTED]info:  "Operation MultiNext started."
    
    [DM_SESSION_I_OPERATION_RESULTS]info:  "Values returned: 6"
    
    [DM_SESSION_I_OPERATION_ENDED]info:  "Operation MultiNext completed."
    
    
    API> close,c,q0
    ...
    OK
    API> apply,c,,LOG_ON,DETAIL,B,F
    ...
    q0
    API> close,c,q0
    ...
    OK
    API> ?,c,select count(*) from dm_sysobject
    count(*)
    ----------------------
                    663141
    (1 row affected)
    [DM_SESSION_I_OPERATION_ENDED]info:  "Operation EXEC completed."
    
    [DM_SESSION_I_OPERATION_STARTED]info:  "Operation EXEC started."
    
    [DM_SESSION_I_OPERATION_ENDED]info:  "Operation MultiNext completed."
    
    [DM_SESSION_I_OPERATION_ENDED]info:  "Operation MultiNext completed."
    
    [DM_SESSION_I_OPERATION_STARTED]info:  "Operation MultiNext started."
    
    [DM_SESSION_I_OPERATION_ENDED]info:  "Operation MultiNext completed."
    
    
    API>
    

  • LiteObjExpunge

  • LiteObjRevert

  • LocationExpunge

  • LocationValidate

  • MAKE_INDEX

  • MAKE_LOAD

  • MAKE_MULTI_PUSHER

  • MAKE_PULLER

  • MAKE_PUSHER

  • MAP_TICKET_TO_OBJECT

  • MARK_ALL

  • MARK_AS_ARCHIVED

  • MARK_FOR_INDEXING

  • MARK_FOR_RETRY

  • MIGRATE_CONTENT

  • MIGRATE_TO_LITE

  • MODIFY_TRACE

  • MOVE_INDEX

  • MountPointExpunge

  • MountPointGetIDByName

  • MountPointValidate

  • NAME_FROM_CACHE

  • NEXT_ID

  • NEXT_ID_LIST

  • NOOP_CALL

  • OBJECT_FROM_CACHE

  • ORIGINAL_CONTENT

  • OutputDoc

  • OutputRemove

  • OutputStatus

  • PARTITION_OPERATION

  • PARTITION_SCHEME_EXPUNGE

  • PATCH_MATERIALIZED_OBJECTS

  • PING

    Dummy RPC:

    API> close,c,q0
    ...
    OK
    API> apply,c,,PING
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • POST_UPGRADE_ACTION

  • PROCESS_NEW_SERVER_MESSAGE

  • PUBLISH_DATA_DICTIONARY

  • PULL_NEXT_TASK

  • PURGE_AUDIT

  • PURGE_CONTENT

  • PURGE_MESSAGES

  • PURIFY

  • PUSH_CONTENT_ATTRS

  • PUSH_CONTENT_ATTRS_INTERNAL

  • PUSH_RETAINER_CHANGES

  • PUT_FILE

  • PolicyBranch

  • PolicyCheckIn

  • PolicyExpunge

  • PolicyInstall

  • PolicyPrune

  • PolicySaveAsNew

  • PolicySubtypes

  • PolicyUninstall

  • PolicyValidate

  • ProcDestroy

  • ProcStateOp

  • REALTIME_CONT_DEL

  • REAPPLY_PERMISSION

  • RECOMPUTE_PERFORMER

  • RECOVERABLE_ROAD

  • RECOVER_AUTO_TASKS

    Moves workflow tasks from server queue to common queue:

    API> apply,c,,RECOVER_AUTO_TASKS,SERVER_CONFIG_NAME,S,ssc_dev
    ...
    q0
    API>next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • RECOVER_TIMEOUT_TASKS

  • REFRESH_JMS_CONFIG_LIST

    Forces server to refresh JMS status (by default CS checks JMS availability every 30 seconds, but in case of failure it increments check interval by 30 seconds (see incr_wait_time_on_failure in DUMP_JMS_CONFIG_LIST output), so if JMS was down for 7 minutes CS will perform next check after 3 minutes after last unsuccessful check, see also Start Java Method Server Properly):

    API> apply,c,,DUMP_JMS_CONFIG_LIST
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      jms_list_last_refreshed         : Sun Feb  2 16:37:52 2014
      incr_wait_time_on_failure       : 30
      max_wait_time_on_failure        : 3600
      current_jms_index               : 0
      jms_config_id                [0]: 0801d92080000b65
      jms_config_name              [0]: JMS docu67dev01:9080 for repo.repo
      server_config_id             [0]: 3d01d92080000102
      server_config_name           [0]: repo
      jms_to_cs_proximity          [0]: 1
      is_disabled_in_docbase       [0]: F
      is_marked_dead_in_cache      [0]: T
      intended_purpose             [0]: DM_JMS_PURPOSE_DEFAULT_EMBEDDED_JMS
      last_failure_time            [0]: Sun Feb  2 16:54:58 2014
      next_retry_time              [0]: Sun Feb  2 17:10:58 2014
      failure_count                [0]: 6
    
    API> close,c,q0
    ...
    OK
    API> apply,c,,TIME
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    2/2/2014 17:00:24
    API> close,c,q0
    ...
    OK
    API> apply,c,,REFRESH_JMS_CONFIG_LIST
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    API> apply,c,,DUMP_JMS_CONFIG_LIST
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      jms_list_last_refreshed         : Sun Feb  2 17:01:06 2014
      incr_wait_time_on_failure       : 30
      max_wait_time_on_failure        : 3600
      current_jms_index               : 0
      jms_config_id                [0]: 0801d92080000b65
      jms_config_name              [0]: JMS docu67dev01:9080 for repo.repo
      server_config_id             [0]: 3d01d92080000102
      server_config_name           [0]: repo
      jms_to_cs_proximity          [0]: 1
      is_disabled_in_docbase       [0]: F
      is_marked_dead_in_cache      [0]: T
      intended_purpose             [0]: DM_JMS_PURPOSE_DEFAULT_EMBEDDED_JMS
      last_failure_time            [0]: Sun Feb  2 17:02:29 2014
      next_retry_time              [0]: Sun Feb  2 17:03:29 2014
      failure_count                [0]: 2
    
    API> close,c,q0
    ...
    OK
    

  • REGEN_EXPRESSIONS

  • REGISTER_ASSET

  • REINDEX_PARTITIONABLE_TYPE

  • REMOVE_DD_OBJECT

  • RENAME_DD_LOCALE

  • REORGANIZE_TABLE

  • REPARENT_LITE_OBJ_BATCH

  • REPLICATE

  • REPL_PURGE_DANGLING_REF_OBJ

  • REPL_PURGE_MIRROR_OBJ

  • REPL_UPGRADE_PURGE_REF_OBJ

  • RESET_FTINDEX

  • RESET_SESSION

  • RESET_TICKET_KEY

  • RESTORE_CONTENT

    Loads file residing on CS file system to dmr_content object (user should have at least sysadmin privilege to perform this operation):

    API> create,c,dm_document
    ...
    0901ffd7800ea94a
    API> setfile,c,l,test.txt,crtext
    ...
    OK
    API> save,c,l
    ...
    OK
    API> get,c,l,i_contents_id
    ...
    0601ffd78007856b
    API> apply,c,0601ffd78007856b,RESTORE_CONTENT,FILE,S,/etc/passwd
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • RESYNC_DATA_DICTIONARY

  • REVERT_FTINDEX

  • RMSTYLE_FTINDEX

  • ROAD

  • ROLES_FOR_USER

  • RUN_RECOVERY_PROCS

  • ReferenceDestroy

  • ReferenceFetchInfo

  • ReferenceRefresh

  • ReferenceRefreshAcl

  • RelationCopy

  • RelationExpunge

  • RelationFindWithParent

  • RelationTypeExpunge

  • ReplicaRefresh

  • ReplicaRefreshPostD6

  • RestoreRequest

  • RetainerObjSetStatus

  • RouterAcquire

  • RouterEnd

  • RouterExpunge

  • RouterForce

  • RouterForward

  • RouterHalt

  • RouterPause

  • RouterReassign

  • RouterResume

  • RouterReverse

  • RouterSignOff

  • RouterSignOffWithPassword

  • RouterStart

  • RouterValidate

  • SEARCH

    Very similar to ENUMERATE

    API>apply,c,,SEARCH,OBJECT_TYPE,S,dm_document,
         ATTRIBUTE,S,world_permit,VALUE,I,1,
         ATTRIBUTE_2,S,world_permit,VALUE_2,I,1,
         ATTRIBUTE_3,S,world_permit,VALUE_3,I,1,
         ORDER_BY,S,r_creation_date,DESCENDING,B,T
    ...
    q0
    API> apply,c,,GET_LAST_SQL
    ...
    q1
    API> next,c,q1
    ...
    OK
    API> get,c,q1,result
    ...
    
    SELECT * FROM DM_DOCUMENT_RV dm_dbalias_B , 
      DM_DOCUMENT_SV dm_dbalias_C  WHERE (((dm_dbalias_C.WORLD_PERMIT=:p00 
      AND dm_dbalias_C.WORLD_PERMIT=:p01) AND dm_dbalias_C.WORLD_PERMIT=:p02) 
      AND dm_dbalias_C.R_OBJECT_ID=dm_dbalias_B.R_OBJECT_ID) 
      ORDER BY dm_dbalias_C.R_CREATION_DATE DESC,
      dm_dbalias_B.R_OBJECT_ID,dm_dbalias_B.I_POSITION  
      PARAMS  :p00=1 :p01=1 :p02=1
    
    API> close,c,q1
    ...
    OK
    API> next,c,q0
    ...
    OK
    API> get,c,q0,r_object_id
    ...
    0901ffd7800ed717
    API> get,c,0901ffd7800ed717,_permit
    ...
    [DM_API_E_EXIST]error:  
      "Document/object specified by 0901ffd7800ed717 does not exist."
    
    [DM_SYSOBJECT_E_NO_BROWSE_ACCESS]error:  
       "No browse access for sysobject with ID '0901ffd7800ed717'."
    
    API> close,c,q0
    ...
    OK
    

  • SEEK

  • SEEK_64

  • SERVER_DIR

    Lists server filesystem:

    API> apply,c,,SERVER_DIR,
            DIRECTORY,S,/u01,
            LIST_DIR,B,T,
            LIST_FILE,B,T,
            LIST_LINK,B,T
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      name                         [0]: lost+found
                                   [1]: bea
                                   [2]: oracle
                                   [3]: documentum
      type                         [0]: dir
                                   [1]: dir
                                   [2]: dir
                                   [3]: dir
      size                         [0]: 0
                                   [1]: 0
                                   [2]: 0
                                   [3]: 0
    
    API> close,c,q0
    ...
    OK
    API>
    

  • SERVER_DISK_DEVICES

    Returns list of disks attached to server (useless for UNIX):

    API> apply,c,,SERVER_DISK_DEVICES
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      path_seperator                  : /
      device_name                   []: <none>
      volume_name                   []: <none>
      device_type                   []: <none>
      file_system_type              []: <none>
      disk_size                     []: <none>
      disk_free_space               []: <none>
      max_comp_length               []: <none>
      supports_file_comp            []: <none>
      disk_compressed               []: <none>
      case_preserved                []: <none>
      case_search_enforced          []: <none>
      multi_byte_support            []: <none>
      supports_acl                  []: <none>
    
    API> close,c,q0
    ...
    OK
    

  • SERVER_SCOPE_OPERATION

  • SERVER_VERSION

    Return server version info:

    API> apply,c,,SERVER_VERSION
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    6.7.1240.0300  Linux.Oracle
    API> close,c,q0
    ...
    OK

  • SETSTYLE_FTINDEX

  • SET_APIDEADLOCK

  • SET_CONTENT_ATTRS

  • SET_DYNAMIC_GROUPS

    Activates/deactivates dynamic groups:

    API> apply,c,,SET_DYNAMIC_GROUPS,
            DYNAMIC_GROUP_ADD,S,dm_superusers_dynamic,
            DYNAMIC_GROUP_REMOVE,S,,
            DYNAMIC_GROUP_RESET,B,T,
            DYNAMIC_GROUP_VALIDATE,B,T
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • SET_LOCALE

  • SET_OPTIONS

    Sets debug options:

    API> apply,c,,SET_OPTIONS,OPTION,S,sqltrace,VALUE,B,T
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    API> apply,c,,SET_OPTIONS,OPTION,S,sqltrace,VALUE,B,F
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • SET_PUSH_OBJECT_STATUS

  • SET_SESSION_PARAMETERS

  • SET_SIMULATE_CA_STORE_STREAMING_ERROR_COUNT

  • SET_STAMP

  • SET_STORAGE_STATE

  • SHOW_SESSIONS

    Returns detailed information about server sessions (one session per row):

    API> apply,c,,SHOW_SESSIONS
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      root_start                      : 2/3/2014 14:45:07
      root_pid                        : 8779
      shared_mem_id                   : 594640901
      semaphore_id                    : 851969
      session                      [0]: 0101d920800dc5de
      db_session_id                [0]: 237
      typelockdb_session_id        [0]: -1
      tempdb_session_ids           [0]: 57
      pid                          [0]: 21123
      user_name                    [0]: dmadmin
      user_authentication          [0]: Trusted Client
      client_host                  [0]: docu67dev01
      client_lib_ver               [0]: 6.7.1240.0176
      client_locale                [0]: (Linux :(8201), Version: Linux), CharSet: UTF-8, 
                                        Language: Russian, UTC Offset: 14400, Date Format:
      start                        [0]: 2/3/2014 18:47:56
      last_used                    [0]: 2/3/2014 18:54:10
      session_status               [0]: Active
      shutdown_flag                [0]: none
      last_rpc                     [0]: NOOP_CALL, PING, GET_ERRORS, 
                                          AUTHENTICATE_USE, ENTRY_POINTS,
      current_rpc                  [0]: SHOW_SESSIONS
      last_completed_rpc           [0]: 2/3/2014 18:49:57
    
    API> close,c,q0
    ...
    OK
    

  • SHUTDOWN_WORKFLOW_AGENT

    Shutdowns Workflow Agent:

    API> apply,c,,SHUTDOWN_WORKFLOW_AGENT,TIMEOUT,I,120
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • SIMULATE_BUG_124506

  • SQL_TRACE

    Sets SQL trace for specific session or user:

    API> apply,c,,SQL_TRACE,USERNAME,S,xcp21,LEVEL,I,10
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    API> apply,c,,SQL_TRACE,SESSION_ID,S,0102242880006f45,LEVEL,I,10
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • STAMP_TRACE

    Logs message to session log (see also LOG_MESSAGE):

    API> get,c,sessionconfig,session_id
    ...
    0102242880006f4b
    API> apply,c,,STAMP_TRACE,MESSAGE,S,MESSAGE
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    
    ~]$ tail -1 log/00022428/dmadmin/0102242880006f4b
    2014-04-13T17:26:12.249133 0.01s MESSAGE
    

  • START_MULTI_PUSH

  • START_PULL

  • START_PUSH

  • START_WORKFLOW_AGENT

    Starts Workflow Agent:

    API> apply,c,,START_WORKFLOW_AGENT
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • STOP_SERVER

    Shuts down server (DOCBROKER_REQUEST defines whether send information to docbroker or not, REQUEST defines shutdown type: 0 – do not shutdown, just unload authentication plugins and stop workflow agent, 1 – graceful, 2 – immediate),

    API> apply,c,,STOP_SERVER,DOCBROKER_REQUEST,B,F,REQUEST,I,0
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • SYNC_REPLICA_RECORDS

  • StagedRemovePart

  • SysObjAttach

  • SysObjBranch

  • SysObjBuildAssembly

  • SysObjCheckin

  • SysObjCheckout

  • SysObjDemote

  • SysObjExpunge

  • SysObjExpungeAssembly

  • SysObjFetch

  • SysObjFlushCache

  • SysObjFlushGlobalCache

  • SysObjGetChron

  • SysObjGetID

  • SysObjGetPermit

  • SysObjGetXPermit

  • SysObjLFetch2

  • SysObjProcACL

    Demonstrates how will look sysobject’s ACL after applying modifications:

    API> create,c,dm_sysobject
    ...
    0801d92080577906
    API> save,c,l
    ...
    OK
    API> get,c,l,acl_name
    ...
    dm_4501d92080000101
    API> dump,c,4501d92080000101
    ...
    USER ATTRIBUTES
    
      object_name                     : dm_4501d92080000101
      description                     : dm_4501d92080000101
      owner_name                      : dmadmin
      globally_managed                : F
      acl_class                       : 0
    
    SYSTEM ATTRIBUTES
    
      r_is_internal                   : T
      r_accessor_name              [0]: dm_world
                                   [1]: dm_owner
                                   [2]: docu
      r_accessor_permit            [0]: 4
                                   [1]: 7
                                   [2]: 5
      r_accessor_xpermit           [0]: 0
                                   [1]: 0
                                   [2]: 3
      r_is_group                   [0]: F
                                   [1]: F
                                   [2]: T
      r_has_events                    : F
      r_permit_type                [0]: 0
                                   [1]: 0
                                   [2]: 0
      r_application_permit         [0]:
                                   [1]:
                                   [2]:
      r_template_id                   : 0000000000000000
      r_alias_set_id                  : 0000000000000000
      r_object_id                     : 4501d92080000101
    
    APPLICATION ATTRIBUTES
    
    INTERNAL ATTRIBUTES
    
      i_has_required_groups           : F
      i_has_required_group_set        : F
      i_has_access_restrictions       : F
      i_partition                     : 0
      i_is_replica                    : F
      i_vstamp                        : 1
    
    API> apply,c,0801d92080577906,SysObjProcACL,
            _ACC_OPERATION_,I,1,
            _ACC_NAME_,S,dmadmin,
            _ACC_PERMIT_TYPE_,I,0,
            _ACC_PERMIT_,I,7,
            _ACC_XPERMIT_,I,1,
            _ACC_APPLICATION_PERMIT_,S,,
            _ACC_OPERATION_,I,-1,
            _ACC_NAME_,S,docu,
            _ACC_PERMIT_TYPE_,I,0,
            _ACC_PERMIT_,I,0,
            _ACC_XPERMIT_,I,-1,
            _ACC_APPLICATION_PERMIT_,S,
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> dump,c,q0
    ...
    USER ATTRIBUTES
    
      object_name                     : temporary ACL
      description                     : dm_4501d9208003ad15
      owner_name                      : dmadmin
      globally_managed                : F
      acl_class                       : 0
    
    SYSTEM ATTRIBUTES
    
      r_is_internal                   : T
      r_accessor_name              [0]: dm_world
                                   [1]: dm_owner
                                   [2]: dmadmin
      r_accessor_permit            [0]: 4
                                   [1]: 7
                                   [2]: 7
      r_accessor_xpermit           [0]: 0
                                   [1]: 0
                                   [2]: 2
      r_is_group                   [0]: F
                                   [1]: F
                                   [2]: F
      r_has_events                    : F
      r_permit_type                [0]: 0
                                   [1]: 0
                                   [2]: 0
      r_application_permit         [0]:
                                   [1]:
                                   [2]:
      r_template_id                   : 0000000000000000
      r_alias_set_id                  : 0000000000000000
      r_object_id                     : 0000000000000000
    
    APPLICATION ATTRIBUTES
    
    INTERNAL ATTRIBUTES
    
      i_has_required_groups           : F
      i_has_required_group_set        : F
      i_has_access_restrictions       : F
      i_partition                     : 0
      i_is_replica                    : F
      i_vstamp                        : 0
    
    API> close,c,q0
    ...
    OK
    API>
    

  • SysObjPromote

  • SysObjPrune

  • SysObjRegister

  • SysObjResume

  • SysObjRevert

  • SysObjSuspend

  • SysObjUnRegister

  • SysObjUnlock

  • SysObjUnlockByUserOrDate

  • SysObjWhyNotAllowed

  • TIME

    Return current server’s time:

    API> apply,c,,TIME
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    2/2/2014 15:23:36
    API> close,c,q0
    ...
    OK
    API>
    

  • TRACE

  • TRACE_EXTSTORE_PLUGIN

  • TRANSCODE_CONTENT

  • TRIGGER_CONDITIONAL_RETENTION

  • UPDATE_FTINDEX

    Deprecated:

    API> apply,c,,UPDATE_FTINDEX
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    API> getmessage,c,
    ...
    [DM_FT_INDEX_W_FULLTEXT_SERVER_METHOD_DEPRECATED]warning:  
       "The Fulltext subsystem related Server method UPDATE_FTINDEX has been deprecated."
    

  • UPDATE_OTHERFILE_SIZE

  • UPDATE_RETAIN_UNTIL_DATE

  • UPDATE_STATISTICS

    Gathers database statistics (don’t use it against oracle database!):

    -- delete statistics
    API> apply,c,,UPDATE_STATISTICS,TABLE_NAME,S,dm_sysobject_s,COUNT,I,0
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    -- gather statistics for all columns, 10 buckets in the histogram
    API> apply,c,,UPDATE_STATISTICS,
            TABLE_NAME,S,dm_sysobject_s,
            COUNT,I,10
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    -- specific columns
    API> apply,c,,UPDATE_STATISTICS,
            TABLE_NAME,S,dm_sysobject_s,
            COUNT,I,1,
            EXTRA_DATA,S,'r_object_id,i_chronicle_id'
    ...
    q0
    API> next,c,q0
    ...
    OK
    API> get,c,q0,result
    ...
    T
    API> close,c,q0
    ...
    OK
    

  • UPGRADE_CONTENT_SIZE

  • UPGRADE_FTINDEX_SYSOBJECT_400

  • UPGRADE_TOPIC400D

  • UserExpunge

  • VALIDATE_THUMBNAIL_URL_SETTINGS

  • VERIFY_E_SIGNATURE

  • VerifyAuditRecord

  • WEBCACHE_PUBLISH

  • WITEMAcquire

  • WITEMAddPackage

  • WITEMComplete

  • WITEMCompleteEx

  • WITEMExpunge

  • WITEMPause

  • WITEMReassign

  • WITEMRemovePackage

  • WITEMRepeat

  • WITEMResume

  • WITEMSetOutput

  • WITEMSetPriority

  • WITEM_COMPLETE2

  • WflowActStateOp

  • WflowAddAttachment

  • WflowAddPackage

  • WflowExpunge

  • WflowRemoveAttachment

  • WflowRemovePackage

  • WflowSetPerformers

  • WflowSetSkillLevel

  • WflowSetSupervisor

  • WflowStateOp

  • WflowUpdateTimer

  • dmAudit

  • dmAuditTrailExpunge

  • dmDisplayConfigExpunge

  • dmScopeConfigExpunge

  • dmUnAdudit

17 thoughts on “RPC Commands (draft)

  1. Pingback: Dynamic groups. Basics | Documentum in a (nuts)HELL
  2. Pingback: Dynamic groups. Advances. Part I | Documentum in a (nuts)HELL
  3. Pingback: Dynamic groups. Advances. Part III | Documentum in a (nuts)HELL
  4. Pingback: DQL update statement. Behind the scenes. | Documentum in a (nuts)HELL
  5. Pingback: Maximum length of DQL statement | Documentum in a (nuts)HELL
  6. Pingback: Session management. Beginning | Documentum in a (nuts)HELL
  7. Pingback: documentum security vulnerabilities: ENUMERATE RPC | Documentum in a (nuts)HELL
  8. Pingback: Is it possible to compromise Documentum by deleting object? Part I | Documentum in a (nuts)HELL
  9. Андрей, добрый день
    Не мог бы ты пролить свет на команду UserSave ?

    Like

  10. Каждую команду описывать откровенно лень, поэтому этому посту суждено быть черновиком всегда. Если хочется выяснить самостоятельно что там внутри DFC происходит и как оно проецируется в RPC, то делается довольно просто.

    В данном случае, UserSave – это RPC команда, соответствующая сохранению dm_user и наследников. Как понять какие аргументы передаются при сохранении? Примерно так:

    [DM_SESSION_I_SESSION_START]info:  "Session 0101ffd7803a4621 started for user dmadmin."
    
    
    Connected to Documentum Server running Release 7.0.0140.0644  Linux.Oracle
    Session id is s0
    API> apply,c,,LOG_ON,DETAIL,B,T
    ...
    q0
    API> close,c,q0
    ...
    OK
    API> create,c,dm_user
    ...
    1101ffd78002390a
    API>set,c,l,user_name
    SET> textY
    ...
    OK
    API> set,c,l,user_login_name
    SET> testY
    ...
    OK
    API> save,c,l
    ...
    OK
    API>
    

    после чего смотрим лог сессии (0101ffd7803a4621) на контенте:

    [DM_SESSION_I_OPERATION_STARTED]info:  "Operation UserSave started."
    [DM_SESSION_I_OPERATION_ARGUMENTS]info:  "
    Object Id: 1101ffd78002390a
    Argument Object:
    2
    OBJ NULL 0 0 0 0
    9
    _SESSION_ALIAS_SET_ STRING S 0
    A 0
    user_name STRING S 255
    A 5 textY
    default_folder STRING S 740
    A 5 /Temp
    user_login_name STRING S 255
    A 5 testY
    OBJECT_TYPE STRING S 0
    A 7 dm_user
    IS_NEW_OBJECT BOOL S 0
    T
    i_vstamp INT S 0
    0
    TYPE_VERSION INT S 0
    0
    CACHE_VSTAMP INT S 0
    174476
    "
    [DM_SESSION_I_OPERATION_ENDED]info:  "Operation UserSave completed."
    [DM_SESSION_I_OPERATION_RESULTS]info:  "Result is: 1"
    

    Т.е. создание пользователя через apply будет выглядеть примерно так:

    apply,c,newid,UserSave,user_name,S,textY,default_folder,S,/Temp,user_login_name,S,testY,OBJECT_TYPE,S,dm_user,IS_NEW_OBJECT,B,T,i_vstamp,I,0

    что такое TYPE_VERSION и CACHE_VSTAMP я пока не знаю, но они и не требуются.
    что такое SESSION_ALIAS_SET понятно, но в данном случае ненужно.
    новый идентификатор можно получить при помощи NEXT_ID_LIST – тоже в трассировке видно какие аргументы требуются

    Like

  11. Pingback: Bulk fetches | Documentum in a (nuts)HELL
  12. Pingback: Q & A. VIII. | Documentum in a (nuts)HELL
  13. Pingback: Ban BOF2 deployment | Documentum in a (nuts)HELL
  14. Pingback: Encryption madness | Documentum in a (nuts)HELL
  15. Pingback: When will EMC stop fighting with customers and start care about them? | Documentum in a (nuts)HELL
  16. Pingback: Extra “protection” with trusted content services :) | Documentum in a (nuts)HELL

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s