>>scatter memvar memo blank
>> .GatherFrom("<ALIAS>B_SCHED</ALIAS>" + tcActionList)
>> .write_log('m.Booking_ID = ' + alltrim(str(m.booking_id,16))+;
>> ' m.Resource1='+m.resource1+' m.start_time='+transform(m.start_time)+;
>> ' m.end_time='+transform(m.end_time)+' m.layer='+transform(m.layer)+;
>> ' m.lessontype='+transform(m.lessontype)+' m.podbktype='+transform(m.podbktype),;
>> program(), '5')
>>>>String cActionList = GetParameterString(parameters, "tcActionList"); >> >> DataSet rowData = new DataSet(); >> >> rowData.ReadXml(new XmlTextReader(new StringReader(String.Format("{0}{1}{/0}", "b_sched", cActionList)))); >> >> Boolean max4s_over = database.GetPreferenceBoolean("prefs_bk", "max4s_over"); >> DataRow row = rowData.Tables[0].Rows[0]; >> >> Logging.LogFormat(5, "m.Booking_ID = {0} m.Resource1={1} m.start_time={2} m.end_time={3} m.layer={4} m.lessontype={5} m.podbktype={6}",Sorry, still doesn't make sense to me. No idea what the VFP .GatherFrom() is and still don't know why you need a DataTable. What do you eventually want to do with the XML content ?
if m.booking_id > 0 and m.podbktype=2 && are we changing the schedule of a "book entire" booking? && are there any existing max4sale restrictions (besides the current one)? If so, that's a conflict lcSQLReturn=.mysqlexec("select start_time, end_time, type, lessontype, max_sale, "+; "id, e_mail_l1, mail1_sent, e_mail_l2, mail2_sent "+; "from dbo.max4sale where start_time<"+.VFP2SQL(m.end_time)+" and end_time>"+; .VFP2SQL(m.start_time)+" and type=5 and pod_id="+; .VFP2SQL(padr(m.resource1,12))+" and not exists(select booking_id from dbo.b_sched where start_time<"+; .VFP2SQL(m.end_time)+" and end_time>"+.VFP2SQL(m.start_time)+" and podbktype=2 and resource1="+; .VFP2SQL(padr(m.resource1,12))+" and booking_id = "+.VFP2SQL(m.booking_id)+")", 'csrMax', program())In other words, in VFP I converted passed XML string into individual variables for each column.