$CLASSNAME$
	CODBDICTIONARY
$SUMMARY$
	The essence this CODB class is storehouse of metadata - objects
	what keeping specifier other objects of classes: DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP
$LANG_RU$
	  CODB  -   - ,
	    : DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP
$ABOUT$
	The essence this CODB class is storehouse of metadata - objects
	what keeping specifier other objects of classes: DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP
$LANG_RU$
	  CODB  -   - ,
	    : DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP
$SYNTAX$
	coDictionaryNew(<sDictID>, <sUser>, <sPasswd>) --> CODBDICTIONARY object
	coDictionary:New(<sDictID>, <sUser>, <sPasswd>)  --> CODBDICTIONARY object
$ATTRIBUTES$
	<ClassName> 	CODBDICTIONARY
	<Error>		String, the error description what araised within running last operation.
$LANG_RU$
	<ClassName> 	CODBDICTIONARY
	<Error>		String,  ,     .

$METHODNAME$
	New()
$SUMMARY$
	Initiation new CODBDICTIONARY object.
$LANG_RU$
	   CODBDICTIONARY.
$SYNTAX$
	New(<sDictID>, <sUser>, <sPasswd>) --> CODBDICTIONARY object
$ARGUMENTS$
	<sDictID>	Stirng, the dictionary identifier
	<sUser>		String, the user name
	<sPasswd>       String, the password to access
$LANG_RU$
	<sDictID>	Stirng,  
	<sUser>		String,  
	<sPasswd>       String,  
$RETURNS$
	Method returns new CODBDICTIONARY object.
$LANG_RU$
	    CODBDICTIONARY.
$DESCRIPTION$
	New() inits new CODBDICTIONARY object and returns it.

	If object <sDictID> already exist, New() openes and returns this
	dictionary.
$LANG_RU$
	New()    CODBDICTIONARY  .

	  <sDictID>  , New()   
	 .
$ENDMETHOD$

$METHODNAME$
	Create()
$SUMMARY$
	Create empty dictionary.
$LANG_RU$
	  .
$SYNTAX$
	Create() 	--> TRUE || FALSE
$ARGUMENTS$
$RETURNS$
	Returns TRUE if new empty dictionary created.
$LANG_RU$
	 TRUE     .
$DESCRIPTION$
	Create() returns TRUE if new empty ditionary created.
	Usualy, this method do not needy to direct invitation. It's call automaticaly
	when new dictionary appending into CODBLIST.

	<::Error> contain error descriptions if araised.
$LANG_RU$
	Create()  TRUE     .
	,      ,   
	     CODBLIST.

	<::Error>   ,   .
$ENDMETHOD$

$METHODNAME$
	Open()
$SUMMARY$
	Open all necessary files.
$LANG_RU$
	   .
$SYNTAX$
	Open() 	--> TRUE || FALSE
$ARGUMENTS$
$RETURNS$
	Returns TRUE if files opened.
$LANG_RU$
	 TRUE   .
$DESCRIPTION$
	Open() openes all necessary files or openes connection with SQL server.

	<::Error> contain error descriptions if araised.
$LANG_RU$
	Open()         
	 SQL .

	<::Error>   ,   .
$ENDMETHOD$


$METHODNAME$
	Close()
$SUMMARY$
	Close opened files.
$LANG_RU$
	  .
$SYNTAX$
	Close() 	--> TRUE || FALSE
$ARGUMENTS$
$RETURNS$
	Returns TRUE if files closed.
$LANG_RU$
	 TRUE   .
$DESCRIPTION$
	Close() is close files or connection with SQL server.
$LANG_RU$
	Open()         
	 SQL .
$ENDMETHOD$

$METHODNAME$
	Append()
$SUMMARY$
	Append object to storehouse.
$LANG_RU$
	   .
$SYNTAX$
	Append(<oData>, <sClassName>) 	--> <sDataID>
$ARGUMENTS$
	<oData> 	Object, new object to keeping
	<sClassName>	String, class name - one of DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP.

$LANG_RU$
	<oData> 	Object,    .
	<sClassName>	String,   -   DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP.
$RETURNS$
	Returns <sDataID> - identifier registered object.
$LANG_RU$
	 <sDataID> -   .
$DESCRIPTION$
	Append() appends new object <oData> to storehouse as object of
	class <sClassName> and returns objects identifier <sDataID>.

	The structure description of added metadata see in section <link linkend="codbMETADATA">CODB metadata</link>

	<::Error> contain error descriptions if araised.
$LANG_RU$
	Append()    <oData>     
	<sClassName>    
	 <sDataID>.

	       <link linkend="codbMETADATA">CODB </link>.

	<::Error>   ,   .
$ENDMETHOD$

$METHODNAME$
	Update()
$SUMMARY$
	Update object into storehouse.
$LANG_RU$
	   .
$SYNTAX$
	Update(<oData>) 	--> TRUE || FALSE
$ARGUMENTS$
	<oData> 	Object, object to updating

$LANG_RU$
	<oData> 	Object,   
$RETURNS$
	Returns TRUE if object updated.
$LANG_RU$
	 TRUE   .
$DESCRIPTION$
	Update() updates object <oData> into storehouse. If dictinary have not
	object with identifier <oData:ID>, Update() returns FALSE.

	The structure description of metadata see in section <link linkend="codbMETADATA">CODB metadata</link>

	<::Error> contain error descriptions if araised.
$LANG_RU$
	Update()   <oData>  .    
	   <oData:ID>, Update()  FALSE.

	      <link linkend="codbMETADATA">CODB </link>.

	<::Error>   ,   .
$ENDMETHOD$

$METHODNAME$
	Delete()
$SUMMARY$
	Delete object from storehouse.
$LANG_RU$
	   .
$SYNTAX$
	Delete(<sDataID>) 	--> TRUE || FALSE
$ARGUMENTS$
	<sDataID> 	String, the objects identifier

$LANG_RU$
	<sDataID> 	String,  
$RETURNS$
	Returns TRUE if object was deleted.
$LANG_RU$
	 TRUE    .
$DESCRIPTION$
	Delete() deletes object with identifier <sDataID> from dictionary.

	<::Error> contain error descriptions if araised.
$LANG_RU$
	Delete()     <sDataID>  .

	<::Error>   ,   .
$ENDMETHOD$


$METHODNAME$
	GetValue()
$SUMMARY$
	Get object from storehouse.
$LANG_RU$
	   .
$SYNTAX$
	GetValue(<sDataID>) 	--> <oData>
$ARGUMENTS$
	<sDataID> 	String, the objects identifier

$LANG_RU$
	<sDataID> 	String,  
$RETURNS$
	Returns object <oData> with identifier <sDataID>.
$LANG_RU$
	  <oData>   <sDataID>.
$DESCRIPTION$
	GetValue() gets form dictionary and returns object <oData> with
	identifier <sDataID>.

	<::Error> contain error descriptions if araised.
$LANG_RU$
	GetValue()       <oData> 
	 <sDataID>.

	<::Error>   ,   .
$ENDMETHOD$


$METHODNAME$
	CheckBody()
$SUMMARY$
	Checks object a valid metaclass.
$LANG_RU$
	     .
$SYNTAX$
	CheckBody(<oData>, <sClassName>) 	--> <oData>
$ARGUMENTS$
	<oData> 	Object, object to check
	<sClassName>	String, metaclass name - one of DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP.

$LANG_RU$
	<oData> 	Object,   .
	<sClassName>	String,   -   DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP.
$RETURNS$
	Returns object <oData>.
$LANG_RU$
	  <oData>.
$DESCRIPTION$
	CheckBody() checks object <oData> a valid metaclass <sClassName>.
	If object is a valid, CheckBody() fills <oData> properties the default values
	 if necessary.

	<::Error> contain error descriptions if araised.
$LANG_RU$
	CheckBody()   <oData>     <sClassName>
	     <oData>   .

	<::Error>   ,   .
$ENDMETHOD$

$METHODNAME$
	PadrBody()
$SUMMARY$
	Makes data representation.
$LANG_RU$
	    .
$SYNTAX$
	PadrBody(<oData>, <sClassName>) 	--> <oData>
$ARGUMENTS$
	<oData> 	Object, source object
	<sClassName>	String, metaclass name - one of DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP.

$LANG_RU$
	<oData> 	Object,  
	<sClassName>	String,   -   DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP.
$RETURNS$
	Returns object <oData>.
$LANG_RU$
	  <oData>.
$DESCRIPTION$
	PadrBody() makes data representation for <oData> to metaclass <sClassName>.

	<::Error> contain error descriptions if araised.
$LANG_RU$
	PadrBody()   <oData>    <sClassName>.

	<::Error>   ,   .
$ENDMETHOD$

$METHODNAME$
	Select()
$SUMMARY$
	Returns identifier list of selected objects.
$LANG_RU$
	    .
$SYNTAX$
	Select(<sClassName>[, <nOrder>][, <sName>][, <sWhere>]) 	--> <aIdent>
$ARGUMENTS$
	<sClassName>	String, metaclass name - one of DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP.
	<nOrder>	Numeric, the index number
	<sName>		String, value <Name> attribute to search
	<sWhere>	String, the searching condition
$LANG_RU$
	<sClassName>	String,   -   DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP.
	<nOrder>	Numeric, the index number
	<sName>		String,   <Name>
	<sWhere>	String,  
$RETURNS$
	Returns <aIdent> array of object identifier what equal searching condition.
$LANG_RU$
	 <aIdent>   ,   .
$DESCRIPTION$
	Select() returns for class <sClassName> identifier list <aIdent> selected objects in order <nOrder>
	whose attribute <Name> == <sName> and attributes equal <sWhere>.

	<::Error> contain error descriptions if araised.
$LANG_RU$
	Select()    ,   <sClassName>   <nOrder>,
	   <Name>   <sName>   
	  <sWhere>.

	<::Error>   ,   .
$ENDMETHOD$

$METHODNAME$
	IdList()
$SUMMARY$
	Returns object of class IDLIST.
$LANG_RU$
	   IDLIST.
$SYNTAX$
	IdList(<sClassName>[, <nOrder>][, <sName>][, <sWhere>]) 	--> <oIDList>
$ARGUMENTS$
	<sClassName>	String, metaclass name - one of DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP.
	<nOrder>	Numeric, the index number
	<sName>		String, value <Name> attribute to search
	<sWhere>	String, the searching condition
$LANG_RU$
	<sClassName>	String,   -   DEPOSIT,EXTENT,ATTR,COUNTER,INDEX,CLASS,TCOLUMN,TVIEW,REPORT,PLUGINS,USER,GROUP.
	<nOrder>	Numeric, the index number
	<sName>		String,   <Name>
	<sWhere>	String,  
$RETURNS$
	Returns <oIDList> - object of class IDLIST.
$LANG_RU$
	 <oIDList> -   IDLIST.
$DESCRIPTION$
	IdList() returns <oIDList> - object of class <link linkend="classCODBIDLIST">CODBIDLIST</link>.
$LANG_RU$
	IdList()  <oIDList> -   <link linkend="classCODBIDLIST">CODBIDLIST</link>.
$ENDMETHOD$

$METHODNAME$
	ClassBodyByName()
$SUMMARY$
	Returns object of metaclass CLASS.
$LANG_RU$
	   CLASS
$SYNTAX$
	ClassBodyByName(<sObjClassName>) 	--> <oData>
$ARGUMENTS$
	<sClassObjName>	String, class name.
$LANG_RU$
	<sClassObjName>	String,  .
$RETURNS$
	Returns <oData> - object of class CLASS.
$LANG_RU$
	 <oData> -   CLASS.
$DESCRIPTION$
	ClassBodyByName() returns <oData> - object of class CLASS with name <sClassObjName>.
$LANG_RU$
	ClassBodyByName()  <oData> -   CLASS   <sClassObjName>.
$ENDMETHOD$

$METHODNAME$
	AttrBodyByName()
$SUMMARY$
	Returns object of metaclass ATTR.
$LANG_RU$
	   ATTR.
$SYNTAX$
	AttrBodyByName(<sObjClassName>) 	--> <oData>
$ARGUMENTS$
	<sClassObjName>	String, class name.
$LANG_RU$
	<sClassObjName>	String,  .
$RETURNS$
	Returns <oData> - object of class ATTR.
$LANG_RU$
	 <oData> -   ATTR.
$DESCRIPTION$
	AttrBodyByName() returns <oData> - object of class ATTR with name <sClassObjName>.
$LANG_RU$
	AttrBodyByName()  <oData> -   ATTR   <sClassObjName>.
$ENDMETHOD$

$METHODNAME$
	HashName()
$SUMMARY$
	Returns properties name by hashcode.
$LANG_RU$
	    -.
$SYNTAX$
	HashName(<nHashCode>) 	--> <sName>
$ARGUMENTS$
	<nHashCode>	Numeric, hashcode
$LANG_RU$
	<nHashCode>	Numeric, -
$RETURNS$
	Returns properties name by hashcode.
$LANG_RU$
	    -.
$DESCRIPTION$
	HashName() returns <sName> properties name by hashcode <nHashCode> or
	empty string if unfortunately.
$LANG_RU$
	HashName()  <sName>    - <nHashCode> 
	    .
$ENDMETHOD$

$METHODNAME$
	Counter()
$SUMMARY$
	Returns counter value.
$LANG_RU$
	  .
$SYNTAX$
	Counter(<sCounterName>, <nDep>[, <nValue>]) 	--> <nCounter>
$ARGUMENTS$
	<sCounterName>	String, counter name
	<nDep>		Numeric, the depository number
	<nValue>	Numeric, the new counter value
$LANG_RU$
	<sCounterName>	String,  
	<nDep>		Numeric,  
	<nValue>	Numeric,   
$RETURNS$
	Returns current counter value.
$LANG_RU$
	   .
$DESCRIPTION$
	Counter() returns <nCounter> the current value for counter with name
	<sCounterName> into depository with number <nDep>.

	If specified <nValue>, then counter <sCounterName> takes new value <nValue>.
$LANG_RU$
	Counter()  <nCounter>     
	<sCounterName>     <nDep>.

	   <nValue>,  <sCounterName> 
	 <nValue>.
$ENDMETHOD$



$EXAMPLES$
/* create new object of class CODICTIONARY */
oDict := coDictionary():new("MY001")
oDict:open()
....

/* create new object specifier */
depBody := map()
depBody:name := "depository for Russian global information"
...
/* append object to dictionary */
dep_id := oDict:append(depBody,"DEPOSIT")

/* check error */
if !empty(oDict:error)
   ? "Error:",oDict:error
endif


$PLATFORMS$
   No dependies of platform.
$SEEALSO$
	CODBLIST
$AUTHOR$
ITK
$LASTDATE$



