#INCLUDE "dbc.h"
#DEFINE CRLF CHR(13)+CHR(10)
SET PROCEDURE TO dbc.prg ADDITIVE
LOCAL lcAlias,loDBC,luValue,lcFile
loDBC=CREATEOBJECT("_DBC")
lcAlias=SYS(2015)
=loDBC.OpenTable(HOME(2)+"\Tastrade\Data\tastrade.dbc",lcAlias,"")
* Read Stored procedures
=loDBC.GetSP(lcAlias,_DBC_SP_TSource,@luValue)
* Add new procedure
luValue=luValue+;
[PROCEDURE TestProcedure]+CRLF+;
[ ?time()]+CRLF+;
[ENDPROC]+CRLF
* Save Stored procedures
=loDBC.SetSP(lcAlias,_DBC_SP_TSource,@luValue)
* Compile source code
lcFile=SYS(2023)+"\"+SYS(2015)
=STRTOFILE(luValue,lcFile+".prg")
COMPILE (lcFile+".prg")
luValue=FILETOSTR(lcFile+".fxp")
* Save FXP code
=loDBC.SetSP(lcAlias,_DBC_SP_TFXP,@luValue)
loDBC.CloseTable(lcAlias)
RELEASE loDBC
RELEASE PROCEDURE dbc.prg
* Test
OPEN DATA (lcDBC)
=TestProcedure()
CLOSE DATA