

sub skip  :
	Context : Subflow scripts (after read, transformation, before write)
	Params  : 0 or 1 
	Action  : if parameter 1 is true, will skip the current row
	Return  : return the actual value of skip
	Example : $self->skip(1); $self->skip(0); $self->skip();

#FUNC#sub skip {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#	$flowCallBack->SkipMessage(@_);
#FUNC#}
#FUNC#


sub min  :
	Context : -
	Params  : 1 - string
	Action  : Lower case the string
	Return  : string changed to lower case
	Example : $self->min($myString);

#FUNC#sub min {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->Format_min(@_);
#FUNC#}
#FUNC#


sub maj  :
	Context : - 
	Params  : 1 - string
	Action  : Upper case the string
	Return  : string changed to upper case
	Example : $self->maj($myString);

#FUNC#sub maj {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->Format_maj(@_);
#FUNC#}
#FUNC#


sub lpad  : left pad
	Context : -
	Params  : 1 - string to pad, 2 - Max length of result, 3 - Character to pad with
	Action  : pad left of string with char to max length
	Return  : the string padded 
	Example : $self->pad("aaa", 6, "++") --> "aaa+++"

#FUNC#sub lpad {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->Format_lpad(@_);
#FUNC#}
#FUNC#


sub rpad  : rpad
	Context : -
	Params  : 1 - string to pad, 2 - Max length of result, 3 - Character to pad with
	Action  : pad right of string with char to max length
	Return  : the string padded 
	Example : $self->pad("aaa", 6, "++") --> "+++aaa"

#FUNC#sub rpad {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->Format_rpad(@_);
#FUNC#}
#FUNC#


sub ltrim  :
	Context : -
	Params  : 1 - string to trim, 2 - Max length of result, 3 - Character to trim
	Action  : remove left charachters up to max length
	Return  : the string padded 
	Example : $self->pad("aaa++++", 3, "+") --> "aaa"

#FUNC#sub ltrim {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->Format_ltrim(@_);
#FUNC#}
#FUNC#


sub rtrim  :
	Context : -
	Params  : 1 - string to trim, 2 - Max length of result, 3 - Character to trim
	Action  : remove right charachters up to max length
	Return  : the string padded 
	Example : $self->pad("+++aaa", 3, "+") --> "aaa"

#FUNC#sub rtrim {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->Format_rtrim(@_);
#FUNC#}
#FUNC#


sub trim  :
	Context : -
	Params  : 1 - string to trim, 2 - Max length of result, 3 - Character to trim
	Action  : remove left and right charachters up to max length
	Return  : the string padded 
	Example : $self->pad("++aaa+++++", 2, "+") --> "aa"

#FUNC#sub trim {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->Format_trim(@_);
#FUNC#}
#FUNC#


sub tonumber  :
	Context : -
	Params  : 1 - String , 2 - Number format
	Action  : Extract number from string accrording to format
	Return  : resulting number or undef
	Example : $self->tonumber("245,67", "+99999.99e") -> +00245.67

#FUNC#sub tonumber {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->Format_tonumber(@_);
#FUNC#}
#FUNC#


sub todate  :
	Context : -
	Params  : 1 - String date, 2 - Original format, 3 - Final format
	Action  : Change de format of the date
	Return  : String containing the date with in the new format
	Example : $self->todate("12/07/56 23", "DD/MM/YYYY HH","YYYY-MM-DD HH:MI") -> "1956-07-12 23:00"

#FUNC#sub todate {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->Format_todate(@_);
#FUNC#}
#FUNC#


sub movefile  : 
	Context : ftp, local files connectors
	Params  : 1 - source file, 2 - New file name
	Action  : move or change the file name
	Return  : success or undef
	Example :

#FUNC#sub movefile {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	die "movefile invalid parameters number" unless ($#_ >= 1);
#FUNC#	$flowCallBack->MoveExternaleFile(@_);
#FUNC#}
#FUNC#


sub deletefile  :
	Context : ftp, local file connectors 
	Params  : 1 - file name to delete
	Action  : delete the file
	Return  : success or undef
	Example :

#FUNC#sub deletefile {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	die "deletefile invalid parameters number" unless ($#_ >= 0);
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->DeleteExternaleFile(@_);
#FUNC#}
#FUNC#


sub renamefile  : see move file
	Context :
	Params  :
	Action  : 
	Return  : 
	Example :

#FUNC#sub renamefile {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	die "renamefile invalid parameters number" unless ($#_ >= 1);
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->RenameExternaleFile(@_);
#FUNC#}
#FUNC#


sub putfile  :
	Context : ftp connectors
	Params  : 1 - local file name, 2 - destintation file name
	Action  : Copy the local file to the dest system
	Return  : success or undef
	Example :

#FUNC#sub putfile {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	die "renamefile invalid parameters number" unless ($#_ >= 1);
#FUNC#	$flowCallBack->CopyExternaleFile(@_);
#FUNC#}
#FUNC#


sub rmdir  :
	Context : ftp or local file system
	Params  : 1 - dir name to remove
	Action  : remove an empty directory
	Return  : success or undef
	Example :

#FUNC#sub rmdir {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	die "renamefile invalid parameters number" unless ($#_ >= 0);
#FUNC#	$flowCallBack->CreateExternaleDir(@_);
#FUNC#}
#FUNC#


sub mkdir  :
	Context : ftp or local file connectors
	Params  : 1 - dir name to create
	Action  : create a new directory
	Return  : success or undef
	Example :

#FUNC#sub mkdir {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	die "renamefile invalid parameters number" unless ($#_ >= 0);
#FUNC#	$flowCallBack->RemoveExternaleDir(@_);
#FUNC#}
#FUNC#


sub renametable  :
	Context : see rename external file
	Params  :
	Action  : 
	Return  : 
	Example :

#FUNC#sub renametable {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->RenameExternalTable(@_);
#FUNC#}
#FUNC#


sub settablename  :  
	Context : ftp and lfs conectors when executing a query
	Params  : New table name, usefull when the file name is not a constant
	Action  : Change the table name (the file name)
	Return  : the new file name
	Example : $self->settablename("/etc/passwd");

#FUNC#sub settablename {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->SetExternalName(@_);
#FUNC#}
#FUNC#


sub gettablename  :
	Context : ftp and lfs conectors when executing a query
	Params  : 
	Action  : 
	Return  : the file name
	Example : $self->gettablename();

#FUNC#sub gettablename {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->GetExternalName(@_);
#FUNC#}
#FUNC#


sub useractionbystep  : 
	Context : outgoing subflow (sendmsg)
	Params  : step name ("select", "insert", "update", "delete")
	Action  : change the default action for sendmsg
	Return  : the new action
	Example : $self->useractionbystep("insert")

#FUNC#sub useractionbystep {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->UserDefinedAction("step", @_);
#FUNC#}
#FUNC#


sub useractionbyname  : 
	Context : outgoing subflow (sendmsg)
	Params  : script name
	Action  : change the default action for sendmsg
	Return  : the new action
	Example : $self->useractionbyname("lire_message")

#FUNC#sub useractionbyname {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->UserDefinedAction("name", @_);
#FUNC#}
#FUNC#


sub useractionbyid  :
	Context : outgoing subflow (sendmsg)
	Params  : script id
	Action  : change the default action for sendmsg
	Return  : the new action
	Example : $self->useractionbyid("12345")

#FUNC#sub useractionbyid {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->UserDefinedAction("id", @_);
#FUNC#}
#FUNC#
#FUNC#


sub useralternateactionnbystep  :
	Context : outgoing subflow (sendmsg)
	Params  : step name ("select", "insert", "update", "delete")
	Action  : when the sendmsg fail, change the default action for sendmsgbis
	Return  : the new action
	Example : $self->useralternateactionbyid("12345")

#FUNC#sub useralternateactionnbystep {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->UserAlternateAction("step", @_);
#FUNC#}
#FUNC#


sub useralternateactionnbyname  :
	Context : outgoing subflow (sendmsg)
	Params  : script name
	Action  : when the sendmsg fail, change the default action for sendmsgbis
	Return  : the new action
	Example : $self->useractionbyname("lire_message")

#FUNC#sub useralternateactionnbyname {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->UserAlternateAction("name", @_);
#FUNC#}
#FUNC#


sub useralternateactionnbyid  :
	Context : outgoing subflow (sendmsg)
	Params  : script id
	Action  : when the sendmsg fail, change the default action for sendmsgbis
	Return  : the new action
	Example : $self->useractionbyid("12345")

#FUNC#sub useralternateactionnbyid {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->UserAlternateAction("id", @_);
#FUNC#}
#FUNC#


sub logsystrace  :
	Context : -
	Params  : string message
	Action  : write a line in the log file
	Return  : success or undef
	Example : $self->logsystrace("column value is " . $self->s_colname());

#FUNC#sub logsystrace {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->LogSysTrace(@_);
#FUNC#}
#FUNC#


sub loadscript  :
	Context : -
	Params  : script id or script name
	Action  : load the script, the script will be availabale for use
	Return  : script object or undef
	Example : my $scriptRt = $self->loadscript(456609);

#FUNC#sub loadscript {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#	$flowCallBack->LoadScript(@_);
#FUNC#}
#FUNC#


sub loadquery  :
	Context : -
	Params  : query id or query name
	Action  : load the query, the query will be availabale for use
	Return  : success or undef
	Example : $self->loadquery("lire donnee");

#FUNC#sub loadquery {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#	$flowCallBack->LoadQuery(@_);
#FUNC#}
#FUNC#


sub loadconnector  :
	Context : -
	Params  : object id or object name
	Action  : load the object, the object will be availabale for use
	Return  : success or undef
	Example : $self->loadconnector("ORACLE_LABO");

#FUNC#sub loadconnector {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#	$flowCallBack->LoadConnector(@_);
#FUNC#}
#FUNC#


sub loadcontainer  :
	Context : -
	Params  : object id or object name
	Action  : load container definition and all objects related ti this container (connector, columns etc ...)
	Return  : success or undef
	Example : $self->loadcontainer("HPRIM_SITE1");

#FUNC#sub loadcontainer {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#	$flowCallBack->LoadContainer(@_);
#FUNC#}
#FUNC#


sub loaduser  :
	Context : -
	Params  : object id or object name
	Action  : load user definition
	Return  : success or undef
	Example : $self->loaduser("jdoe");

#FUNC#sub loaduser {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#	$flowCallBack->LoadUser(@_);
#FUNC#}
#FUNC#


sub loadsever  : 
	Context : -
	Params  : object id or object name
	Action  : load server definition 
	Return  : success or undef
	Example : $self->loadserver(34597);

#FUNC#sub loadsever {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#	$flowCallBack->LoadSever(@_);
#FUNC#}
#FUNC#


sub runscript  :
	Context : -
	Params  : scrip params
	Action  : execute the script
	Return  : depending on script results or die
	Example : $scriptRt->runscript(param1, param2 ..);

#FUNC#sub runscript {
#FUNC#	shift->RunScript(@_);
#FUNC#}
#FUNC#


sub openconnector  :
	Context : -
	Params  : 1 - connector id, 2 - container id
	Action  : Connect to a database or any connector
	Return  : connector handle or undef
	Example : $ch = $self->openconnector(3456, 7890);

#FUNC#sub openconnector {
#FUNC#	my $self = shift;
#FUNC#	my $connectorId = shift;
#FUNC#	my $containerId = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->OpenExternalConnector($connectorId, $containerId);
#FUNC#}
#FUNC#


sub closeconnector  :
	Context : -
	Params  : 1 - handle returned by openconnector
	Action  : Close the connector
	Return  : success or undef
	Example : $self->closeconnector($ch);

#FUNC#sub closeconnector {
#FUNC#	my $self = shift;
#FUNC#	my $dbh = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->CloseExternalConnector($dbh);
#FUNC#}
#FUNC#


sub schedulejob  :
	Context : -
	Params  : 1 - flow id, 2 - trace file, 3 - error file
	Action  : schedule a job to run asap
	Return  : success or undef
	Example : $self->scheduejob(34689, "/tmp/trace_34689.tmp", "/tmp/error_34689.tmp");

#FUNC#sub schedulejob {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->ScheduleJob(@_);
#FUNC#}
#FUNC#


sub executeflow  :
	Context : -
	Params  : 1 - flow id, 2 - context, 3 - base dir, 4 - detache (1 or 0), 5 - mode, 6 - tracefile, 7 - errorfile
	Action  : run the flow immediately and wait for its termination (unless you spêcify true for detach)
	Return  : exit value
	Example :

#FUNC#sub executeflow {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->ExecuteFlow(@_);
#FUNC#}
#FUNC#


sub lastrow  :
	Context : incoming subflow 
	Params  : no params
	Action  : no action
	Return  : true if the last row was already read, undef otherwise
	Example :

#FUNC#sub lastrow {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->LastRow(@_);
#FUNC#}
#FUNC#


sub processpostlastrow  :
	Context : incoming subflow
	Params  : 1 - 1 or 0
	Action  : if the param is 1, the flow will read an extra row after the last row
	Return  : the value passed to the sub
	Example : $self->processpostlastrow(1);

#FUNC#sub processpostlastrow {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->ProcessPostLastRow(@_);
#FUNC#}
#FUNC#


sub ackmessageok  :
	Context : incoming subflow
	Params  : 1 - 1 or 0
	Action  : if the param is 1, the flow will execute the query or the script used for ackmsg
	Return  : the value passed to the sub
	Example : $self->processpostlastrow(1);

#FUNC#sub ackmessageok {
#FUNC#
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->AknowledgeMessageOk(@_);
#FUNC#}






sub userinsert : only for compatibility with V1
	Context : subflow
	Params  : 
	Action  : as $self->ackmessageok("insert");
	Return  :
	Example :

#FUNC#sub userinsert {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->AknowledgeMessageOk("insert");
#FUNC#}




sub userdelete : only for compatibility with V1
	Context : subflow
	Params  : 
	Action  : as $self->ackmessageok("delete");
	Return  :
	Example :

#FUNC#sub userdelete {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->AknowledgeMessageOk("delete");
#FUNC#}




sub userupdate : only for compatibility with V1
	Context : subflow
	Params  : 
	Action  : as $self->ackmessageok("update");
	Return  :
	Example :

#FUNC#sub userupdate {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->AknowledgeMessageOk("update");
#FUNC#}




sub executequery : 
	Context : -
	Params  : a reference to a hash with optional and mandatory fields 
			query_id -> internal id or name of the query
			query    -> reference returned by previous call to loadquery
			query_text -> text of a query
				these 3 memeber are exclusives
			dbh        -> the database handle returned by previous call to openconnector, optional if called
				from a subflow script, in this case, it will use the subflow database 
			bindvars (optional)  -> a ref to an array of values used for binding the query
				if not supplied and the query is an internal query, cafeterra will generate the bind vars
	Action  : Execute an action query (insert, delete, update, create ...)
	Return  : true or undef
	Example : $self->executequery({ query => "Update_Customer" });

#FUNC#sub executequery {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->ExecuteQuery(@_);
#FUNC#}




sub executefetchquery :
	Context : -
	Params  : a reference to a hash with optional and mandatory fields 
			query_id -> internal id or name of the query
			query    -> reference returned by previous call to loadquery
			query_text -> text of a query
				these 3 memeber are exclusives
			dbh        -> the database handle returned by previous call to openconnector, optional if called
				from a subflow script, in this case, it will use the subflow database 
			bindvars (optional)  -> a ref to an array of values used for binding the query
				if not supplied and the query is an internal query, cafeterra will generate the bind vars
			firstonly  -> true or undef, if true will return after the first row is fetched.
			format     -> format of each row : array or hash
	Action  : Execute a select query
	Return  : depending on value of firstonly end format memeber (see params)
		if format is array : if firstonly is true will return a ref to a simple array of datas
				if firstonly is undef or false will return a ref to an array of arrays
		if format is hash  : if firstonly is true will return a ref to a simple hash of datas
				if firstonly is undef or false will return ar ref to an array of arrays
	Example : my $rows = $self->executefetchquery({ query => "Select_Cust", format => "array" });

#FUNC#sub executefetchquery {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->ExecuteFetchQuery(@_);
#FUNC#}




sub commit :
	Context : -
	Params  : dbh = return by openconnector
	Action  : commit
	Return  : true or undef
	Example :

#FUNC#sub commit {
#FUNC#	my $self = shift;
#FUNC#	my $dbh = shift;
#FUNC#
#FUNC#	$dbh->commit();
#FUNC#}




sub rollback :
	Context : - 
	Params  : dbh = return by openconnector
	Action  : rollback
	Return  : true or undef
	Example :

#FUNC#sub rollback {
#FUNC#	my $self = shift;
#FUNC#	my $dbh = shift;
#FUNC#
#FUNC#	$dbh->commit();
#FUNC#}



sub getfile :
	Context : subflow - FTP or LFS Connectors 
	Params  : source filename, destination filename
	Action  : copy the file
	Return  : true or undef
	Example :

#FUNC#sub getfile {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	die "getfile invalid parameters number" unless ($#_ >= 1);
#FUNC#	$flowCallBack->CopyExternaleFile("get", @_);
#FUNC#}

sub copyfile : a synonym for getfile
	Context : subflow - FTP or LFS Connectors 
	Params  : source filename, destination filename
	Action  : copy the file
	Return  : true or undef
	Example :

#FUNC#sub copyfile {
#FUNC#	my $self = shift;
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	die "getfile invalid parameters number" unless ($#_ >= 1);
#FUNC#	$flowCallBack->CopyExternaleFile("copy", @_);
#FUNC#}


sub sendmail : a synonym for getfile
	Context : -
	Params  : 1 - server, 2 - from, 3 - to, 4 - cc, 5 - bcc, 6 - subject, 7 - text
	Action  : send a mail to a destnation
	Return  : true or undef, die on error
	Example :

#FUNC#sub sendmail {
#FUNC#	my $self = shift;
#FUNC#
#FUNC#	my $flowCallBack = $self->CallBackObject();
#FUNC#
#FUNC#	$flowCallBack->SendMailMessage(@_);
#FUNC#	
#FUNC#}



sub setevent : generate an event
	Context : flow supporting event - my called from a subflow script
	Params  : the event id
	Action  : generate the event
	Return  : true or undef
	Example :

#sub setevent {
#	my $self = shift;
#
#	my $flowCallBack = $self->CallBackObject();
#
#	$flowCallBack->SetEvent(@_);
#	
#}

