{ PROGRAMA: EMAILCOBROS OBJETIVO: GENERAR REPORTE PARA EL ENVIO DE CORREO PROGRAMADOR: ING. JUAN SOTO FECHA : 3/11/2015 } GLOBALS DEFINE usuarios,clave STRING, TOemail,CCEmail,cuerpo_correo, subject, procedimiento VARCHAR(100), subject,attachment VARCHAR(100) DEFINE xusername,xsmtphost,xsmtpport,xpassword,rutafile STRING END GLOBALS MAIN DEFER INTERRUPT CALL ARG_VAL(1) RETURNING usuarios CALL ARG_VAL(2) RETURNING clave CALL ARG_VAL(3) RETURNING toemail CALL STARTLOG("emailcorreo.TXT") CONNECT to "smarmotech" AS "MSSQL" USER usuarios USING clave CALL emailcorreo() END MAIN FUNCTION emailcorreo() DEFINE HANDLER om.SaxDocumentHandler, archivo STRING, xmes CHAR(20), mes_act,ano_act,ano_ant,xnumero_mes smallint, xtipoCobro varchar(20), xVendedor,nombre_empresa varchar(80), Xvalor_orig, XvalorRd,xvalorRd_ant DEC(12,2), Xsimbolo varchar(10), fecha1,fecha2,fecha3,fecha4 DATE SELECT a.nombre INTO nombre_empresa FROM companias a WHERE cod_comp = 1 LET ano_act = YEAR(TODAY) LET ano_ant = YEAR(TODAY)-1 LET mes_act = MONTH(TODAY) LET mes_Act =6 LET xnumero_mes = mes_act SELECT descrip INTO xmes FROM mestable WHERE mes=mes_act IF mes_act = 1 THEN SELECT a.fecha_inicio,a.fecha_corte INTO fecha3,fecha4 FROM prdtable a WHERE a.ano = ano_ant AND a.mes = 12 ELSE SELECT a.fecha_inicio,a.fecha_corte INTO fecha3,fecha4 FROM prdtable a WHERE a.ano = ano_act AND a.mes = mes_act -1 END IF SELECT a.fecha_inicio,a.fecha_corte INTO fecha1,fecha2 FROM prdtable a WHERE a.ano = ano_act AND a.mes = mes_act LET archivo = "emailcobros.4rp" LET rutafile ='.\\FILES\\emailCobros.pdf' DECLARE informacion CURSOR FOR SELECT tipoCobro ,ISNULL(RTRIM(primerNombre),1 ) + " "+ISNULL(RTRIM(PrimerApellido)," "), SUM(Valor),SUM(ValorRD),'0',simbolo from vwcobros where fecha_orig BETWEEN fecha1 AND fecha2 GROUP BY tipoCobro,primerNombre,PrimerApellido,simbolo UNION SELECT tipoCobro ,ISNULL(RTRIM(primerNombre),1 ) + " "+ISNULL(RTRIM(PrimerApellido)," "), '0','0',SUM(ValorRD),simbolo from vwcobros where fecha_orig BETWEEN fecha3 AND fecha4 GROUP BY tipoCobro,primerNombre,PrimerApellido,simbolo IF fgl_report_loadCurrentSettings(archivo) THEN -- load the .4rp file CALL fgl_report_selectDevice("PDF") CALL fgl_report_selectPreview(false) CALL fgl_report_setOutputFileName(rutafile) LET handler = fgl_report_commitCurrentSettings() -- commit changes START REPORT r_email TO XML HANDLER HANDLER ELSE EXIT PROGRAM END IF FOREACH informacion INTO xtipoCobro, xVendedor, Xvalor_orig, XvalorRd ,xvalorRd_ant, Xsimbolo,xnumero_mes OUTPUT TO REPORT r_email(xmes,xnumero_mes,xtipoCobro, xVendedor, Xvalor_orig, XvalorRd ,xValorRD_ant, Xsimbolo,nombre_empresa) END FOREACH FINISH REPORT r_email # LET toEmail = 'jsoto@marmotech.com.do' LET xusername ='notificacion@marmotech.com.do' LET xsmtphost ='smtp.office365.com' LET xsmtpport = '587' LET xpassword = 'Lmmjvsd2020' LET attachment = rutafile CLIPPED LET subject = 'COBROS DEL MES DE ',xmes CLIPPED," DEL PERIODO ",ano_act USING "<<<<<" LET cuerpo_correo="", "

FAVOR DE ABRIR EL DOCUMENTO ATADO A ESTE EMAIL ", "

div>Todos los valores estan en RD$" CALL enviaemail(toEmail,subject,cuerpo_correo,attachment,xusername,xsmtphost,xsmtpport,xpassword) #RETURNING mensajes END FUNCTION REPORT r_email(ymes,ynumero_mes,ytipoCobro, yVendedor, yvalor_orig, yvalorRd , yvalorRd_ant, ysimbolo,ynombre_empresa) DEFINE xano CHAR(4), ymes CHAR(20), ynumero_mes smallint, ytipoCobro varchar(20), yVendedor,ynombre_empresa varchar(80), yvalor_orig, yvalorRd,total1,total2,total_general1,total_General2,yvalorRd_ant,total3,total_general3 DEC(12,2), ysimbolo varchar(10) ORDER BY ynumero_mes,ytipoCobro,yvendedor FORMAT FIRST PAGE HEADER LET xano = YEAR(today) LET total_general1=0 LET total_General2=0 LET total_general3=0 BEFORE GROUP OF ytipoCobro LET total1=0 LET total2=0 LET total3=0 AFTER GROUP OF yVendedor LET yvalor_orig = GROUP SUM(yvalor_orig) LET yvalorRD = GROUP SUM(yvalorRD) LET yvalorRd_ant = GROUP SUM(yvalorRd_ant) LET total1= total1 + yvalorRd LET total2=total2 + yvalor_orig LET total3=total3+ yvalorRd_ant LET total_general1 = total_general1 + yvalorRd LET total_general2 = total_general2 + yvalor_orig LET total_general3 = total_general3 + yvalorRd_ant PRINTX ymes ,ytipoCobro, yVendedor, yvalor_orig, yvalorRd , ysimbolo,ynombre_empresa,xano,total1,total2, total_general1,total_general2,yValorRd_ant,total_general3,total3 END REPORT