DBC_SetProperty Procedure
This function set property value.
=
DBC_SetProperty
Parameter
lcAlias
DBC Alias
Type Character
Direction Input
Alias of opened DBC as table.
liIDObject
Object ID
Type Integer
Direction Input
See DBC_GetIDObject().
liIDProp
Property ID
Type Integer
Direction Input
Property ID. For a list of properties, see DBC_EnumProperty().
luValue
Property value
By reference  
Direction Input
New value.
Return value Integer
If the function succeeds, the return value is _DBC_ObjectFound.

If the function fails, the return value is _DBC_ObjectNotFound.
Example
#INCLUDE "dbc.h"
SET PROCEDURE TO dfo.prg ADDITIVE
LOCAL lcAlias,liIDT,lcDBC,luValue
lcAlias=SYS(2015)
lcDBC=HOME(2)+"\Tastrade\Data\tastrade.dbc"
USE (lcDBC) ALIAS (lcAlias) IN 0
* Get field ID
liIDT=DBC_GetIDObject(lcAlias,_DBC_Field,"products.product_id")
* Get property value
=DBC_GetProperty(lcAlias,liIDT,_DBCID_Comment,@luValue)
?luValue
* Set property value
luValue="New comment "+SYS(2015)
=DBC_SetProperty(lcAlias,liIDT,_DBCID_Comment,@luValue)
* Get property value
=DBC_GetProperty(lcAlias,liIDT,_DBCID_Comment,@luValue)
?luValue
USE IN (lcAlias)
RELEASE PROCEDURE dfo.prg


See also
Expand/Collapse source code of procedure DBC_SetProperty Source Code
LPARAMETERS lcAlias,liIDObject,liIDProp,luValue
* lcAlias    - Alias of opended DBC
* liIDObject - Object ID
* liIDProp   - Property ID
* luValue    -  Value


LOCAL liStart,liLen,liLenID
liStart=1 && First char

SELE (lcAlias) && Skip to DBC 
LOCATE FOR ObjectID=liIDObject && Find object
IF !FOUND() && If not found
   RETURN _DBC_ObjectNotFound && Get out
ENDIF

* Convert value to DBC value
luValue=DBC_ConvertValueToProperty(liIDProp,luValue)
DO WHILE liStart<=LEN(Property)
   liLen=DFO_C4ToI(SUBS(Property,liStart,4)) && Lenght
   * This is lenght of Property ID
   liLenID=IIF(DFO_C2ToI(SUBS(Property,liStart+4,2))>256,2,1)

   * Is't finding property
   IF IIF(liLenID=1,ASC(SUBS(Property,liStart+4+2,liLenID)),;
      DFO_C2ToI(SUBS(Property,liStart+4+2,liLenID)))=liIDProp
      REPL Property WITH STUFF(Property,liStart,liLen,;
                    DFO_IToC4(4+2+liLenID+LEN(luValue))+;
                    DFO_IToC2(IIF(liIDProp>256,2,1))+;
                    IIF(liIDProp>256,DFO_IToC2(liIDProp),CHR(liIDProp))+luValue)
      RETURN _DBC_ObjectFound
   ENDIF
   liStart=liStart+liLen
ENDDO
REPL Property WITH Property+DFO_IToC4(4+2+IIF(liIDProp>256,2,1)+;
                   LEN(luValue))+DFO_IToC2(IIF(liIDProp>256,2,1))+;
                   IIF(liIDProp>256,DFO_IToC2(liIDProp),CHR(liIDProp))+luValue
RETURN _DBC_ObjectFound