有以下代码,不起作用
FOR EACH customer where customer.contactmethod = 'E':
MESSAGE "EMAILING TO" customer.customerCode customer.CustomerName.
RUN Emaling.p (INPUT parameter 1,INPUT pramater 2 ....)
END.
当上面的循环执行它时,它仅向第一个客户发送消息。我发现的原因是展望信息。
Outlook消息在
下面"某个程序正在尝试代表您发送电子邮件。如果这是意料之外的,clikc拒绝并验证您的防病毒软件是最新的................................... ...."
如果用户在Outlook消息中单击允许/拒绝,则不会向第二个客户发送消息,因为它卡在第一个客户中。
如何使用4gl代码抑制此Outlook消息?
答案 0 :(得分:1)
关键在于你的" Emaling.p"程序。无论代码用于发送电子邮件的技术是什么,都需要进行调整以绕过安全检查。
或者您可以禁用弹出该消息的任何内容。它看起来像是一些过度热心的Windows安全设置。
在任何情况下,它都与您展示的4gl代码无关。
话虽如此 - 您的代码显然是不完整的,并且如图所示,根本不会发挥作用。也许它看起来并不像这样,但上面代码的一个更可行的版本是:
FOR EACH customer NO-LOCK where customer.contactmethod = 'E': /* without the NO-LOCK you might be aggravating a transaction scoping problem... */
MESSAGE "EMAILING TO" customer.customerCode customer.CustomerName.
do on error undo, leave: /* this may help to keep processing even if errors occur */
RUN Emaling.p (INPUT parameter 1,INPUT pramater 2 ....). /* you forgot the "." and knowing the rest of the parameters might help to suggest ways to get around the reported problem */
end.
END.