/********************************************************************** ** Function Name: TraceCarga ** Inputs: gImportJobId: Id del Trabajo de Importación ** Trace: Texto del Mensaje ** strStringDate: Concatenación de la fecha para nombre de archivo ** Function Descripcion: Crea archivo con log resumen de la carga y lo agrega al applet de excepciones ** Author: Gabriel Bravo ** Created: 2012-06-25 **********************************************************************/ function TraceCarga(gImportJobId,Contenido,strStringDate) { try{ var Trace:String=Contenido; Trace+="\nIngreso a la función TraceCarga OK\n"; var vBOMktgImport = TheApplication().GetBusObject("Mktg Import"); var vBCMktgImportJobs = vBOMktgImport.GetBusComp("Mktg Import Jobs"); var vBCMktgImportExceptions = vBOMktgImport.GetBusComp("Mktg Import Exceptions"); var sGetFileReturn; var sStatus; var sAbsoluteFileName; var oFile=null; var fileName; var filePath; vBCMktgImportJobs.SetViewMode(AllView); vBCMktgImportJobs.ClearToQuery(); vBCMktgImportJobs.ActivateField("Id"); vBCMktgImportJobs.SetSearchSpec("Id", gImportJobId); vBCMktgImportJobs.ExecuteQuery(ForwardOnly); Trace+="Inicialización de Variables OK\n"; sStatus = vBCMktgImportJobs.CountRecords(); Trace+="vBCMktgImportJobs.CountRecords(): "+sStatus+"\n"; sStatus = vBCMktgImportExceptions.CountRecords(); Trace+="vBCMktgImportExceptions.CountRecords(): "+sStatus+"\n"; fileName = "RegistroCarga_"+gImportJobId+"_"+strStringDate; filePath = Clib.getenv("SIEBEL_HOME"); filePath = filePath.charAt(filePath.length-1); filePath = Clib.getenv("SIEBEL_HOME")+((filePath=="/")?"":"/")+"temp/"+fileName+".csv"; Trace+="Nombre archivo: "+fileName+"\nRuta: "+filePath+"\n"; vBCMktgImportExceptions.SetViewMode(AllView); vBCMktgImportExceptions.ClearToQuery(); vBCMktgImportExceptions.ActivateField("Import Job Id"); vBCMktgImportExceptions.ActivateField("ImportFileName"); sStatus="[Import Job Id] = '"+gImportJobId+"' AND [ImportFileName] = '"+fileName+"'"; vBCMktgImportExceptions.SetSearchExpr(sStatus); vBCMktgImportExceptions.ExecuteQuery(ForwardOnly); Trace+="vBCMktgImportExceptions Consultado con SetSearchExpr: "+sStatus+"\n"; sStatus = vBCMktgImportExceptions.CountRecords(); Trace+="vBCMktgImportExceptions.CountRecords(): "+sStatus+"\nNuevo archivo ??: "+((sStatus>0)?"No":"Si")+"\n"; if(vBCMktgImportExceptions.FirstRecord()){ sGetFileReturn=null; try{ sGetFileReturn = vBCMktgImportExceptions.InvokeMethod("GetFile", "ImportFileName"); Trace+="sGetFileReturn: "+sGetFileReturn+"\n"; sStatus = sGetFileReturn.substring(0,sGetFileReturn.indexOf(",")); Trace+="sStatus: "+sStatus+"\n"; if (sStatus == "Success"){ sAbsoluteFileName = sGetFileReturn.substring(sGetFileReturn.indexOf(",") + 1); Trace+="sAbsoluteFileName: "+sAbsoluteFileName+"\n"; oFile = Clib.fopen(sAbsoluteFileName,"a"); if (oFile != null){ Trace+="Previo a llenar el archivo\n"; Clib.fprintf(oFile,Trace); Trace += vBCMktgImportExceptions.InvokeMethod("PutFile", sAbsoluteFileName, "ImportFileName"); Trace+="\nArchivo llenado\n"; } Clib.fclose(oFile); Trace+="Archivo cerrado\n"; } }catch(fsErr){ Trace += "\n"+fsErr.toString(); RegistraExcep("TraceCarga",Trace,"Account Load Marketing Import Process.TraceCarga"); } }else{ Trace+="sGetFileReturn: null\n"; sStatus = Clib.getcwd(); Trace+="Clib.getcwd(): "+sStatus+"\n"; sStatus = Clib.getenv("SIEBEL_HOME"); Trace+="Clib.getenv('SIEBEL_HOME'): "+sStatus+"\n"; vBCMktgImportExceptions.NewRecord(NewAfter); vBCMktgImportExceptions.SetFieldValue("Import Job Id",gImportJobId); vBCMktgImportExceptions.SetFieldValue("ImportFileExt","log"); vBCMktgImportExceptions.SetFieldValue("ImportFileName",fileName); vBCMktgImportExceptions.SetFieldValue("ImportFileSrcPath",filePath); vBCMktgImportExceptions.SetFieldValue("ImportFileSrcType","FILE"); vBCMktgImportExceptions.SetFieldValue("File Usage","Exception"); sStatus = TheApplication().InvokeMethod("LookupValue", "MKTG_IMPORT_SCH_STATUS", "Complete LIC"); vBCMktgImportExceptions.SetFieldValue("Job Status",sStatus); Trace+="Registro Creado. Ruta nuevo archivo: "+filePath+"\n"; oFile = Clib.fopen(filePath, "a"); Clib.fprintf(oFile,Trace); Trace+="Archivo nuevo llenado\n"; if( oFile != null ){ Clib.fclose(oFile); oFile=null; } sGetFileReturn = vBCMktgImportExceptions.InvokeMethod("CreateFile", filePath, "ImportFileName","N"); Trace+="Archivo nuevo cargado\n"; vBCMktgImportExceptions.WriteRecord(); vBCMktgImportExceptions.InvokeMethod("RefreshBusComp"); Trace+="Registro nuevo escrito\n"; } }catch(e){ Trace +=e.toString() + "\n" + e.errText; RegistraExcep("TraceCarga",Trace,"OCS Account Load Marketing Import Process.TraceCarga"); }finally{ if (oFile != null ){ Clib.fclose(oFile); } vBCMktgImportJobs=null; vBCMktgImportExceptions=null; vBOMktgImport=null; sGetFileReturn=null; sStatus=null; sAbsoluteFileName=null; oFile=null; } }//function
viernes, 1 de febrero de 2013
Siebel eScript que crea archivo en el Siebel filesystem y lo ubica en un Applet como hyperlink
Este Siebel eScript crea un archivo registro/log en el filesystem de Siebel y lo agrega a un List Applet como hyperlink.
Se hace uso de las funciones InvokeMethod: GetFile, PutFile, CreateFile y Clib.getenv("SIEBEL_HOME")
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario