Arrrghh! We have a CRM-System that consists of two parts, a "normal" VFP-Application and an email-Check-Module that is a COM-Server. Thus Checking and sending of mails runs in a separate task and the user can work on while the mails are checked and sent.
shortly we have decided to split the eMail-Table in two parts. MAILS holds properties like Subject, Sender, Read-state, Send- and ServerState and thelike. MAIL_BODY holds the body in a binary memo field (actually its the whole email in RFC-822-format).
A mail, generated and saved in the "normal System" gets picked up and send out by the COMServer in five-Minute-Intervals. At a certain point the COM-Server loads the mail, rejoining the split data and hands it over to a business-Object that finally does the sending.
However while the Main-Record (MAILS) is available, the corresponding record in the MAIL_BODY is "missing".
the code is
#define ccMailNoBodyText "No Body available"
...
lparameters tcMailID
...
select nvl(B.MAIL, ccMailNoBodyText) as MAIL, A.ACCOUNT;
from MAILS A left outer join MAIL_BODY B ;
on B.PARENT_ID = A.ID;
where A.ID = tcMailID;
into array laJunk
Unloading and reloading of the checkModule (COM-Server) is necessary so that it "sees" the MAIL_BODY-Record.
this is completely idiotic and I'm really standing on the line. SET REFRESH is set to 5,5 on both parts (protocol). MAIL_BODY is not even open in the normal system.
Thanks for any hint