Friday, February 26, 2010

Narrative View in Oracle On Demand


Here is a post about Narrative View's in Oracle On Demand. Thanks to my good friend and colleague Asmita for sharing this.
  
Narrative view allows report users to display multiple reports or virtually any HTML content.

Narrative view is used to create letters, quotes, or invoices.
Using Narrative view we can embed other reports, web pages, or any HTML document.

Step 1: Select the appropriate Subject Area and add the columns/data you want to display in the report








Step 2: Code a HTML file as per required format. To embed report columns in to HTML add ‘@’ followed by column number.  
E.g. @1 – Society Name







Note: Count Columns from left to right.

Step 3: Add a Narrative view to your report by clicking the Add View button, moving to the advanced submenu, and selecting the Narrative option.















Step 4:  
-The Edit View: Narrative window contains five fields
















- Add HTML file syntax created in Step 2 in Narrative field













- Save and Run
















Useful tips:


·         Alignment sometimes gets confused, set it at the narrative format level to left.
·         Sometime you need to edit the HTML, for sizing, row breaks.
·         Keep it simple to start with.
·         Use tables for layout where you can.
·         You can insert images but they must be accessible to all users.
·         Use the narrative object to integrate external websites for information.
·         Add a web link to launch the report specifically for a contact/account etc. e.g. the change of address.
·         Narrative reports need the scripting privilege on your role to access.

Cheers!

Friday, February 19, 2010

Invoke an external executable from Oracle On Demand

Hey Folks,

I recently came across a requirement which needed the user to call a contact from within Siebel On Demand using Skype.

Here is how you achieve this-

Requirements:
 
You need to have Skype installed on your local machine for this to work.

Configuration:
 
 Create two Fields:
 1. Skype Id (Field Type = Short Text)
 2. Skype URL (Field Type = Web Link)

Now, click the “Edit Web Link” to edit the properties.

In the URL you need to specify the callto function and pass the Skype Id of the contact you want to call.

See below screen print.

























Save the changes.

Now Create a Contact with the Skype Id and save it, go to the Detail Page, notice that the Skype URL is auto populated since you are passing the parameters.

 














 
And you’re ready to make your first Skype call from Siebel On Demand.

When you click this Web link for the first time, you will receive a popup
















Click the Check box if you always want to call Skype, otherwise you will have to select the Skype application whenever you make a call. 

 That’s all and you’re done.

Happy Calling!
 

Thursday, February 18, 2010

Salary trends for Siebel, Salesforce and CRM On Demand

Here is a graph that shows the Salary trends for Siebel, Salesforce and CRM On Demand. Looks good right ;)
















Cheers!

Friday, February 12, 2010

How to Stop a BusComp_PreWriteRecord

Many a times we find ourselves in a situation wherein we think our configuration is correct, but why the hell can I not see my changes. Tiny things make a big difference in Siebel and we spend hours trying to figure out whats going wrong, and more often than not its just a silly property that we may have overlooked :)...read on

When the current record of a BC has beeen modified, the user cannot step off the record without either saving or undoing the record. (Under normal circumstances, saving is done automatically when stepping off, so the user does not need to save the record manually.)
When calling RaiseErrorTest in BusComp_PreWriteRecord, or when returning CancelOperation from this event, the current record does not get saved to the database; however, it remains modified, and thus the user cannot step off the record. For the user, after clicking away the custom RaiseErrorText message, it may appear as if the system suddenly gets unresponsive as they cannot step forth and back anymore, and unexperiences users may not know how to escape this situation (by e.g. undoing the current record or by modifying the record until it saves successfully).
If, on the other hand, the script calls UndoRecord before raising an error, all changes are lost, which might lead to a negative user experience.
This is why Bookshelf recommends to not using RaiseErrorText within BusComp_PreWriteRecord.

If you observe a situation where it seems necessary to cancel an ongoing WriteRecord operation in the BusComp_PreWriteRecord event handler, then depending on your scenario you may want to consider these alternate approaches:

1. Verify the changes earlier


Some scenarios might allow verifying the changes to the current record earlier, such as in BusComp_PreSetFieldValue() or at applet level. However, consider that unless a BC field has the "Immediate Post Changes" flag set to TRUE; changes in the UI will not reach the BC (and thus not trigger BusComp_PreSetFieldValue()) until the user saves or steps off the record.

2. Verify the changes later


In BusComp_WriteRecord(), it is possible to use RaiseErrorText() since raising an error here does not cancel any pending operation - the WriteRecord already has finished. In this scenario the wrong data is already committed to the database, so either the user needs to navigate back to the record and modify it appropriately, or an internal process needs to identify and clean up the record later. (This depends on your particular scenario.)

3. Use Siebel Task UI


Siebel Task UI allows to guide the user through a set of operations before saving the result. As per the Task UI documentation, "Task UI's wizard-like user interface guides the end user through task execution, allows navigation both forward and backward within task execution, and allows task execution to be paused and resumed as needed."
This process can make use of "transient" business components, which means that the data does not get stored to Siebel tables until the task is finished successfully.
Thus the Task UI seems suitable to implement the desired two-step process of saving contact data to an external system first and then to the Siebel database.

Cheers!

Thursday, February 4, 2010

How do I...Create an iHelp

Siebel 8.x offers a really cool functionality - iHelp. iHelp is a wizard like functionality that guides the user through complex UI tasks to make sure the required information has been populated correctly.

Configuring iHelp is pretty simple and is probably the most easiest thing to configure in Siebel. Unlike other UI configuration, iHelp is configured solely using the Siebel Application.

Configuration Steps in detail - Lets Create an iHelp to Create a New Quote

Navigate to the Administration - iHelp screen in your Siebel Application












In the All iHelp Items view create a New iHelp record with the following details

 



Name: Create New Quote - Test
Applications: Siebel Universal Agent
Remote Support: All

Mode Details

Step 2a: Designing the iHelp task flow

Drilldown on the iHelp record you just created.

In the Designer Applet drag 'n drop the Start Task on the Designer grid as shown below and enter the following values.










Name: Navigate to My Quotes
View: Quote List View
Caption: Navigate to Quotes Screen > My Quotes View.
Section Label: Enter a New Record
More Details

Note: You can also display text in Bold (enclose text in tags) or Italics(enclose Text in ) etc


Lets highlight the Controls we want the user to populate so he/she doesn't miss it.


Click the 'Field and button Highlights' on the Explorer Applet on the left and enter the following values as displayed in the screen shot. iHelp automatically displayes the Applets present on the view. (You can select any Field you would like to highlight in this step)














Step 2 b - Create a Next step in the Process flow for New Record creation


Drag 'n drop the Step task on the Designer. and enter the following values -
Name: Click New
View: Quote List View
Caption: Click New in the Quotes list or form.












Click the 'Field and button Highlights' on the Explorer Applet on the left and enter the following values as displayed in the screen shot.

 









Step 2 c - Create a Next step in the Process flow for Base Information


Drag 'n drop the Step task on the Designer. and enter the following values -
Name: Enter Base Info
View: Quote List View
Caption: Base Information
Section label: Base Information











Highlight the Values you want the user to populate by the 'Field and Button Highlights' as shown below...











For this particular step we will create a sub step which will show the user more details on what he/she need to do.


Click on the SubSteps in the Explorer applet and enter the following values









Step 2 d - Create a Next step in the Process flow to add an Opportunity to the Quote


Drag 'n drop the Step task on the Designer and connect all the Task Steps, enter the following values for the Assign Opportunity Step-
Name: Assign Opportunity
View: Quote List View
Caption: Assign an Opportunity
Section label: Assign Opportunity
 









Highlight the Opportunity control as shown below








Create a Sub Step to explain more in detail what the user needs to do








This completes the designing of the iHelp. Next we need to display it on a screen for the user to be able to invoke.


Step 3: Where do I want the iHelp to appear on the screen?
Lets display this iHelp on the Quotes Home Page
Navigate to the Screens Tab in iHelp and create a new Record. Select the Screen you wish to display your iHelp on (In our case this will be the Quotes Home Page).
 






Step 4: Assign Responsibility so the iHelp is available only for selected users
Make sure you are registered under the Responsibility you add to the iHelp






Step 5: Who can Modify this iHelp you just created?


You can restrict users from making changes to your iHelp item by setting an access group. Make sure you belong to the Access group to be able to modify it.






Step 6: Activate the iHelp Item

Navigate back to the your iHelp item and click the Activate button. Notice the Status has changes from 'In Progress' to 'Active'.


Step 7: Your Done :)....Navigate to the Quotes Home Screen to invoke the iHelp you just created.








Invoke the iHelp and check whether everything works as desired. If you need to make any changes just 'Revise' the iHelp Item from the Administration - iHelp screen and make changes.

This is how your iHelp will look when you invoke it













 



After your done making changes Clear the iHelp List Cache
 
Note: iHelp loads all iHelp items to the iHelp Map and iHelp pane when the application is initialized. When you modify iHelp items, you may need to clear the iHelp List Cache before you can see changes to the iHelp item (in the iHelp pane).
To clear the iHelp List Cache
  1. Navigate to the Administration - iHelp screen > All iHelp Items view.
  2. From the menu button, choose Clear iHelp List Cache.
More on Revise, Activate, Deactivate

Click on the below icon to download this document (Limited downloads)


Cheers!
Share/Bookmark