יום שישי, 26 ביולי 2013

How to send Email in HTML Format with dynamic data and dynamic attachments?



After reading my earlier post on sending emails in HTML format, two readers Rishikesh and VP asked, if it is possible sending email using dynamic email template and with the attachments. After reading the complete requirement, I thought its worth a separate post. So, here is the solution -





1. Lets assume we have an email template based on Quote business component as per below screen shot:

יום חמישי, 25 ביולי 2013

How to get Carriage Return in Siebel Workflow?



I was working on a requirement where in one of the step in the Workflow using "Outbound Communications Manager" business service for sending an email using method "SendMessage". And depending upon the value of some process property, I need to add some more texts at the end of email body.



The problem came in when I tried adding extra text using expression, the carriage return was not working

יום רביעי, 24 ביולי 2013

Siebel Runtime Event and Workflow Process



In Siebel world, Runtime Event (RTE) and Workflow Process seems to be very good friends. Both understand each other pretty well. Whenever there is a need to implement any functionality on based of some trigger, these two friends comes hand in hand. I usually make use of both of them most of the time to make a good solution.



Few things to keep in mind when we use them for any requirement:



How to expose a hidden field in Siebel list applet?



This is a very simple requirement that I am talking about today, where on a button click you are required to do a GetFieldValue() of a active BC field, which is NOT exposed on the UI and doesn't have the Force Active property checked. If you try to do that, system prompts an error sayng:



A script failed to get the value for field because the field was not active.(SBL-EXL-00119)

How to migrate Runtime Events (RTE) from one env to another env?



Runtime Events (RTE) and Data Validation Manager (DVM) are the two highly used features whenever there is a requirement for imposing business rules in the process. Every another project has their own business rules to implement and Siebel developers use RTE and DVM as their first choice (mostly). Problem comes in when you are done with the development and now its time to move the RTE and DVM (

יום שני, 15 ביולי 2013

Sample ASI SOAP Message

A lot has been written about Siebel ASI's. Developers tend to swore by them in order to achieve anything. Despite being so famous, the-mother-of-document siebel bookshelf doesn't have enough sample examples of them. Though there are details about structure of the ASI's. How they can be deployed as web services, about Interface integration objects, etc but still those fascinating examples are missing which helps in quick understanding.
If you have already worked on ASI's you can directly jump to comments section for your experience else you can continue to have a look as the sample SOAP message which can be directly fired from your SOAP UI to fetch results.

Here i am discussing about OOB siebel ASI, Siebel Contact and its two operations:

1 - QueryById
As the name suggest you can query contacts available based on one Input, i.e. RowId. Sample input message for same will look like:


2 -QueryByExample
 With this operation you can query on any of the fields as mentioned in the integration object. Sample request message for the same will look like.  This will return you all the contacts starting with Ra* in the response message based on your output integration object.


We will discuss sample request messages pertaining to other operations in next posts. I also found a very good article written on ASI from oracle which can be of great help to others.

Happy Integration!!

יום רביעי, 10 ביולי 2013

Android and Siebel WebServices

Finally life has turned to, need of hour,development of MobileApps for siebel and trust me it is as thrilling as watching any bond movie. with new projects come new challenges. So while developing android app for our users we got stuck in one show-stopper issue.

The main requirement was to consume a webservice hosted in siebel. On Android, consuming a SOAP web service is more difficult (as opposed to consuming a RESTful web service), since it does not include any libraries to communicate with SOAP web services. Unfortunately you have to manually write the code to consume the service which is not as straightforward as compared to writing in any other Java project.

With siebel doesn't giving a direct hosted URL it was more difficult for us to write the code. As an alterate solution we have to write a .net webservice which consumes the siebel webservice. The next issue is to generate the Java classes needed from the .Net WSDL files, and this is where I was coming up short with knowledge. But with little help from google found library called kSOAP2 that filled the gap and helped in generating the classes. I am still not able to figure out how to directly consume siebel webservice in android app without wrapping it in another webservcie. Any idea on this will be of great help.

Happy Integration!!