Tuesday, April 4, 2017

OpenUI , I get it now

 

After years of questioning it , I am starting to understand the reason why people are crazy about OpenUI.  For decades, the crude activex based frontend was a big pain area in Siebel. Customers were always using an older, outdated version of Internet Explorer for Siebel CRM, because the latest version never supported it. There was also that crazy 32bit, 64bit IE version problem.

So when the move to a open standards based frontend was announced, it was welcomed with open arms. No more IE. Any browser, any device. But  then started the crazy ideas, crazy configurations, outrageous themes. People started implementing all their business processes purely in OpenUI ! I have stayed away fro this kind of work, for a long time.

But for the past 6 months, I have been working on pure OpenUI requirements. For integration. Yes, Siebel EAI integrations triggered from OpenUI ! Only reason I agreed to it, was because that was exactly what my customer wanted. And the challenge was too sweet to ignore. Javascript is a horrible language, but with OpenUI, it opens up possibilites endless.  Whatever restriciton Siebel puts up to you, can be bypassed in Javascript. I was able to implement a purely asynchronous VBC like applet in OpenUI, something which is not possible using traditional Siebel code.

But OpenUI works poses its own challenges. Unlike tools, there is no object locking system, so better have some kind of CVS in place  if you have multiple people working on OpeUI files. Also, test in every browser. Do not assume that IE or Edge will honour the code the same way Firefox does. Test your code specially with the  Show More button on the applet (tip),  because Show More has lots of issues in OpenUI.

And finally, Siebel still provides the best architecture for a CRM system. Try to implement whatever you can OOB, and OpenUI should be the last option. Unless you want to get into maintenance hell.

 

Wednesday, March 22, 2017

On a Learning Spree

After almost a decade of teaching stuff, I am now on a learning spree. Here is shot of my training calendar.

 

 

 

Technology has clearly grown exponentially over the years.  Makes Siebel look like a dinosaur.

 

 

Friday, December 30, 2016

Back to Siebel


After about 2 years of getting lost in various Oracle clouds, I am finally back to the Siebel game. Right on the latest version, Siebel IP 2016. Open UI. Yup, that’s there. And on a telecom project with tonnes of EAI integration and Order Management. And now I truly see why Siebel cannot be fully replaced. Until a worthy contender and full cloud replacement comes in, these kind of projects can only be implemented in Siebel.

I’ve come to understand that Oracle Cloud is a joke. At least for the time being, it can only be used for medium sized companies who have standard sales and service business processes. The amount of extensibility available is very less. And although one can write their own customization on Oracle PaaS and Java Clouds, that kind of beats the purpose anyway. The whole point of modern cloud is to reduce the amount of code written.

I’m hoping to ride out this last wave of Siebel projects before I too am forced to move to the cloud for good. 

For the time being, it’s good to be back. Happy New Year !




Thursday, December 1, 2016

TCC: Date Manipulation

 

 

 

 

cleartext.blogspot.com

<quer:projection id="idEEO2bDisabledPersonAnswerNo" alias="CorrectedStartDate">
    <!--quer:customFunction name="TO_CHAR"-->
    <quer:query projectedClass="Location" alias="Corr_Start_Dt">
        <quer:projections>
            <quer:projection>
                <quer:add>
                    <quer:field ownerQuery="MainQuery" path="Applications,Offers,ActualStartDate"/>cleartext.blogspot.com
                    <quer:divide>
                        <quer:add>
                            <quer:field path="NetworkLocation,TimeZone,Offset"/>
                            <quer:multiply>
                                <!---->
                                <quer:add>
                                    <quer:customFunction name="TO_NUMBER">
                                        <quer:customFunction name="SUBSTR">
                                            <quer:customFunction name="TZ_OFFSET">
                                                <quer:customFunction name="TO_CHAR">
                                                    <quer:field ownerQuery="MainQuery" path="Applications,Offers,ActualStartDate"/>
                                                    <quer:string>TZR</quer:string>
                                                </quer:customFunction>
                                            </quer:customFunction>
                                            <quer:integer>1</quer:integer>
                                            <quer:integer>3</quer:integer>
                                        </quer:customFunction>
                                    </quer:customFunction>
                                    <quer:divide>
                                        <quer:customFunction name="TO_NUMBER">cleartext.blogspot.com
                                            <quer:customFunction name="SUBSTR">
                                                <quer:customFunction name="TZ_OFFSET">
                                                    <quer:customFunction name="TO_CHAR">
                                                        <quer:field ownerQuery="MainQuery" path="Applications,Offers,ActualStartDate"/>
                                                        <quer:string>TZR</quer:string>
                                                    </quer:customFunction>
                                                </quer:customFunction>
                                                <quer:integer>5</quer:integer>
                                                <quer:integer>2</quer:integer>
                                            </quer:customFunction>
                                        </quer:customFunction>
                                        <quer:integer>60</quer:integer>cleartext.blogspot.com
                                    </quer:divide>
                                </quer:add>
                                <quer:integer>-1</quer:integer>
                                <!---->
                            </quer:multiply>
                        </quer:add>
                        <quer:integer>24</quer:integer>
                    </quer:divide>
                </quer:add>
            </quer:projection>
        </quer:projections>
        <quer:filterings>
            <quer:filtering>
                <quer:equal>
                    <quer:field path="Code"/>cleartext.blogspot.com
                    <quer:field ownerQuery="MainQuery" path="Applications,Requisition,JobInformation,PrimaryLocation,Location.Code"/>
                </quer:equal>
            </quer:filtering>
        </quer:filterings>
    </quer:query>
    <!--quer:string>yyyy-MM-dd hh:mm:ss</quer:string></quer:customFunction-->
</quer:projection>

cleartext.blogspot.com