Showing posts with label Siebel Attachment Size. Show all posts
Showing posts with label Siebel Attachment Size. Show all posts

Tuesday 29 March 2022

Working with Attachments in Siebel - Part1 Calculating Size

 Hello All, 

Siebel Attachment's are very useful functionality to attach documents, files ,images etc. with parent records.

There are certain consideration with attachment that comes into picture one day or the other.

1. Size Restriction on Attachments

2. Type Restriction on Attachments

3. Size control for Siebel File System

4. FS Cleanup to clear orphan Attachments

lets cover these one by one, 

before starting let us first check the total size of attachments under a particular entity, (Service Request in my case)

Client Side BS to get the Size of attachment

function Service_PreInvokeMethod (MethodName, Inputs, Outputs)

{

try

 {    

  if(MethodName == "DeleteAttachment")

  {

   var vSRBO = TheApplication().GetBusObject("Service Request (eService)");

   var vSRBC = vSRBO.GetBusComp("Service Request (eService)");

   var vSRBCAtt = vSRBO.GetBusComp("Service Request Attachment");

   var fileSize ="0",filebyte="0";

   with(vSRBC)

      {

      ActivateField("Id");

      ClearToQuery();

      SetViewMode(AllView);  

      var varSpec = "[Created] >= '1/1/2020' AND [Created] <= '1/1/2022'";

      SetSearchExpr(varSpec);

  ExecuteQuery(); 

      var vFirstRec = FirstRecord();

  while(vFirstRec)

   {

with(vSRBCAtt)

{

ActivateField("ActivityFileName");

ActivateField("ActivityFileSize");

ClearToQuery();

SetViewMode(AllView);  

ExecuteQuery(); 

var FirstRec = FirstRecord();

  while(FirstRec)

  {    

  var filename = GetFieldValue("ActivityFileName"); 

  filebyte = GetFieldValue("ActivityFileSize");

  fileSize = ToNumber(fileSize)+ToNumber(filebyte);

  FirstRec = NextRecord();

  }  

}     

   vFirstRec = NextRecord();

 

   }  

TheApplication().RaiseErrorText("TotalSize: "+fileSize);

   }  

   return(CancelOperation);

  }

 }//End Try

 catch(e)

 {

 // return(CancelOperation);

  if (typeof e.errText == "undefined")

  TheApplication().RaiseErrorText(e.toString());

  else

  TheApplication().RaiseErrorText(e.errText + "\n" + e.toString());

 }

 finally

 {

   vSRBO = null;

   vSRBC = null;

 }

}


the output will be in bytes , we can convert to MegaBytes by dividing by 1024, or GigaBytes by dividing 1024*1024

As Highlighted by Alex Sir , it will be divide by 1,000,000 not 1024 to convert to Mega Bytes

here, 10306580 if Divided by 1024*1024 gives 9.82 GB








We will continue with Putting restriction on file attachments in next post.

Siebel GoTo View - Handling Realtime cases

 Hello All,  We all must have used GoTo view functionality of siebel to navigate to a particular view from current view. What if the require...