Impossible Solutions Poll

I've started a new poll on the website, to see which topics readers had the most interests in.

The 4 options are

  1. Create a VBC without scripting
    This is unusual and widely unknown, but it is not impossible.

    Most people would like to reduce scripting in their lives, and VBCs were traditionally a declarative free zone. It was like Siebel developed it only for the geeks, but i think its time the non geeks got in on the fun as well.

  2. Create a MVG on a VBC
    In bookshelf, it states "VBCs cannot contain a multi-value group (MVG)". This does seem impossible... but not for the creative developer.

    Although, most developers wont touch VBCs in their lives, but for those who do, its unimaginable that Siebel didnt provide a vanilla way of doing this.

  3. Selectively Enable/Disable multiple ShowPopup buttons
    On an applet you have two buttons, one pops up an organizations list, and the other a contacts list.

    Siebel PreCanInvoke is used to Enable/Disable buttons based on their methods, but when you have multiple buttons based on the same method, it is not possible to selectively enable/disable it...

    or is it...?

  4. Show a tooltip on a button MouseOver
    This is one of the worse usability problems of Siebel. It is frustrating when you see an applet and have no idea why a button is disabled.

    Wouldn't it be nice to display a nice message to the user when the user hovers over the button? But according to the documentation, MouseOver is not supported in HI.

    Use the documentation as a guide, because there are various solutions to this problem.

Maybe the above 4 solutions dont interest you, the comments are open for you to request solutions to your own impossible problems, or are you waiting on the conclusion to an article, put in your requests for these as well, so i know where to concentrate my efforts.


  1. Hi Jason,

    I am great fan of your blog. The solutions that you share are just eye opening. So, I thought this is best place to discuss the question that I been pondering upon from quite some time now.

    Is there anyway to upload files and create attachment records through scripting or workflow.

    We have found out a solution to have popup applet based on attachment BC and use it, but it requires lot of clicks and user interaction. We would like to do without user interaction.

    When going through the logs I noticed that Siebel gives a SWE command to upload attachment to siebel filesystem. Is there anyway for us to mimic that command. Here is how the command looks like.

    SWE Command Processor - Handle user request: =;SWEField=s_3_1_14_0;SWENeedContext=false;s_SweUrl=;SWEP=21_Account Summary Attachment Applet9_EditField7_1-MYVZ9A_s_2_2_26_01_9;SWECmd=InvokeMethod;SWEMethod=WriteRecord;SWERowIds=SWERowId0=1-1Y92-6,SWERowId1=1-MYVZ9;SWESP=false;SWEVI=;SWEPOC=;SWETargetView=;SWEDIC=true;SWEReqRowId=1;SWEView=IAP Account Attachment View;SWEC=9;SWERowId=1-MYVZ9;SWETVI=;SWEBID=-1;SWEM=;s_SweFileName=C:\Documents and Settings\rahul.madan\Desktop\TestUpload123.txt;SWESPa=;SWETS=1239618509369;SWEContainer=;SWEApplet=File Popup Applet;SWETA=;

    I hope you can help us out here... thanks

  2. Hi Neel,

    Thanks for the feedback, it was your blog that prompted me to write the first article in this blog =)

    Regarding your scenario, i'm not certain about the exact requirement, is the purpose to bypass user interaction altogether? or are you trying to
    make the end users life easier by having less clicks? and if you are doing without user interaction, where would you get the file path to attach from?

    But here are my thoughts.

    1. Use these vanilla BSs in your script/WF to attach files
    * Inbound E-mail Manager
    * Inbound E-mail Database Operations
    I've tested the later, and it seems to work for me. The former will need some playing around with to discover the input hierarchy.

    2. Use EIM to bulk load attachments.

  3. Jason,

    Here is what we are trying to do...

    Customer is right now having a VB application that takes a snapshot of user screen and saves it in application as attachment.

    We need to mimic this in siebel. We have successfully taken snapshot using some API and file is getting stored in a pre-determined temp now we need to pick file from there and create an attachment record.

    BS that you have mentioned can pick file from siebel filesystem and attach.. but we need to get it from client system... any idea ???

  4. Try using the BS from browser script or client automation server, my bscript is busted atm, so i cant verify this for you.

    I came across a similiar requirement in the past. For another method, have a look on support web for tech note 508, it deals with automatically generating and attaching PDFs and tech note 198 for the code.

    TN 508

    TN 198

  5. I do not know what's there in your arsenal for requirement no#3 but I achieved the same objective by combination of browser script & commands with accelerators after receiving the following response from Siebel

    "It;s not possible as the method invoked in both the cases is same."

  6. Siebel usually provides you with text book answers =).

    There are actually two solutions to impossible problem #3 (one using browser script and the other using server+browser script)

    I'm interested to know your browser script + accelerators solution.

  7. You can pop up applet using commands so you have to set up commands with accelerators. Associate that command to Applet menu(Make sure that these are invisible in your menu ).

    Now using Accelerators you can invoke pop up applet if you type the accelerator.

    Create buttons with method invoked as "ABC" or whatever, enable and disable it conditionally by leveraging the CanInvoke user prop and from the browser script, you can intercept the method and Send those keys which you have set up as command's accelerator using SendKeys. Essentially it would look as if it is sent by Client session to invoke the pop up but essentially it's your script which is doing it.

    However there is one realated SR for this which presents a very neat solution.(NOTE:I did not test that solution)

  8. this is the ML link for that related SR

  9. Have one more (seems to be impossible)requirement without scripting:-

    How to invoke a workflow asynch from the Wf Step and passing SiebelMessage as an argument to the target workflow?
    {My requirement was something like one which is portrayed in below SR}

  10. Hi Dos, I remember trying the solution for requirement #3 from that siebel SR, last year but had some issues. Instead of hard coding those parameters as siebel suggests, just pass in the propertyset from the function argument itself.

  11. See

    Try converting it to XML/Hierarchy pass it into the Async WF and convert it back.

    Also it seems the issue is with BS:Server Requests.

    Try these other methods of launching async WFs and passing in your SiebelMessage.

    1.Inside WF, call sub process and make the process mode Async
    2. Clone the WFProcMgr BS, and make it Asyn, and call this in your WF.

  12. Hi Jason,

    I recently came across your blog. Very nice, very very nice :-)
    I voted for VBC without scripting. I just wonder, if you are going to show the Chaching VBC or something different?
    Anyway, thanks for being arround with those great articles!!!

  13. thanks for the support, and just when i was going to close this blog!

    there are two methods to create a vbc without scripting, the caching method is one of them, keep your eyes peeled for the other one =)


Comments are open to all, please make it constructive.