InfoView SSO With WinAD(NTLM)

SAP Business Objects 3.1 does not log in you to InfoViewApp or CmcApp with Windows AD authentication based on NTLM not Kerberos when you call Tomcat based server not IIS based. It is interesting because you can log in with these applications from IIS based server.
So what can we do for this kind of problem. I have a tricky simple solution for this problem.
1. Create a login page in .net environment, I wrote on c#. I think it does not matter c# or vb.
2. In login process log user with secWinAD , which is configured in Cmc or what it is. (I don’t know the configuration details off WinAD authentication)
3. When you logged user with secWinAD and created EnterpriseSession , create logon token with CreateLogonTokenEx(“”, 120, 100) in c#.
4. Send this token to an adapter jsp in Tomcat under InfoViewApp context.
5. Take token in jsp and re-login user with token parameter to BO.
6. Redirect jsp page to http://ServerName:Port/InfoViewApp/logon/start.do?&ivsEntSessionVar=enterpriseSession
7. In url enterpriseSession is the your IEnterpriseSession object session name .
8. That’s all. Have a nice day and take a cup of coffee. :)

Posted in Genel | 3 Comments

Why a New Web Site

Before this site I have been using my google web blog . As you know blogspot is free . It was easy to use , manage and control. But for a while a lot of people from web or around me noticing me to publish my knowledge, services which I offer people at work or out of work in a better structured site not only blog. It was snap decision but now I can say it is a good starting for me for the future.
At this point I can say I will update this site. I will work on design and blogs place in the site. Keep following me :)

Posted in Genel | 2 Comments

At the End Of Third Month

This blog is not being written to get millions of readers everyday. It aims to share Business Objects SDK information with everybody over the world. And it is nice to see that lots of people are reading or entering to the site over the world at the end of the third month.
After a while, I checked out the visitors country I saw different countries like Vietnam, New Caledonia,Sweeden,Israel and lots of in the country list and it makes me smile because it means that I achieve my first goal which is sharing knowledge over the world at the end of third month of this blog.It is still kind of starting. Because for a blog I don’t believe third month is not enough time to get results that blogger wants. But for starting it is nice because this blog has been written over 3 months and it is nice to reach lots of people all around the world. (At this point I want to say sorry because of English but I hope this blog helps you to find something usefull for your problems).
I am not writer or blogger , I just want to share my information and experiences with you. And blogging started to get a place in my life beside reading :) . At the end of the third month I think make a list for this blog’s goals. I may work on it tonight.
Again I am saying that if you want help related Business Objects SDK, I gladly help you. Because I believe that sharing information makes me more experienced. ( Again sorry for my english )

Posted in Genel | Leave a comment

ValueFromLov Has Different Approach

Yes ValueFromLov object has a different approach to values you insert to it. But to figure out the problem reason is more complicated than it is being. And here is the solution with a small tip. I hope it helps you.
In my last project I have faced a problem because of  ValueFromLov object and its values which involves “_” character. It is interesting. Because if you use this object like this;

     ValueFromLov tmpValueFromLovObj = new ValueFromLov(“BO_USER”);


You get a tmpValueFromLovObj object which has a value “USER” not “BO_USER”. Because in the constructor of the ValueFromLov class “_” character is tokenizer character to tokenize your values. If you look at objects methods for above tmpValueFromLovObj you can see that

   tmpValueFromLovObj.getValue() method returns “USER” String and
   tmpValueFromLovObj.getRowIndex() method returns “BO” String

It can give you headaches to resolve, because with eclipse you can not get any tips about object constructor or in api you can not see anything related this.

Here is the certain solution for this kind of problem is ;

   ValueFromLov tmpValueFromLovObj = new ValueFromLov(“”, “BO_USER”);
   tmpValueFromLov.getValue() returns “BO_USER”

and happy ending at least for me. :)

And why Business Objects make ValueFromLov this kind of use. I think this is because of using this object when getting data from warehouse. Value structure is bit more complicated than relational database value structure. Keep it mind.

Posted in Business Objects 3.1 SDK, ValueFromLov | 1 Comment

Using Blogs to Find Something New

I am a software engineer that I am. I develop projects which are based on requirement lists. It is an awesome job for me, to coding. But sometimes it becomes boring or annoying and at that point I want to read , see new technologies, new ideas which inspire me or give me a breath.
It may be late for me but to figure out or trying to figure out Google applications is a break point for me to follow technologies, blogs or what ever it is. My favorite one is Google Reader. I have lots of sites that I  read or look up everyday. In time it becomes hard to enter each site and may be boring or sites can be forgotten. At this point Google Reader is an awesome application for me. (Maybe IGoogle is more popular but it is too complex to find something.) And Reader is fine and simple for me. Because, as a developer if you develop something you should develop it for dummiest users and simpliest way. May be you can present new technologies that is not ever used but you should present it with simpliest way for people to own it. And reader is simple and usefull for me to track my rss feeds. I advice it everyone around me.

After figure out process of Google Reader, blogs take an important place in my mind. May be everything is not true or fit for me which is written in blogs but it is awesome to read lots of different ideas. It is an interesting thing for me to combine different ideas which are taken from different blogs different unrelated entries.

Posted in Genel | Leave a comment

Sorting Webi Documents LOV

In web intelligence documents for sorting prompts I am using;



if(strDocumentKind.equalsIgnoreCase(“Webi”))
tmpPrompt.getLOV().setSortType(SortType.NONE);
else
tmpPrompt.getLOV().setSortType(SortType.ASCENDING);

For web intelligence documents I am setting sortType as None, Web Intelligence report builder automatically sorts the LOV. But in desktop intelligence documents it must be done by you.

Posted in Business Objects 3.1 SDK, Desktop Intelligence, Prompts, Web Intelligence | Leave a comment

Blogging and Me

I have started to write to this blog for a reference who want to develop something or solve problems for Business Objects SDK. I started to develop something with BO Sdk over a year ago. I was having problems for  finding a reference for sdk. After a year I have developed or been development team and I faced lots of problems. End of the august I want to share my problems and solutions for bo.It is exiciting to see that someone coming and reading my posts. But I am not sure that you are getting benefits from my entries. I just want to say , I am open to help anybody for anything which I know or I can help. You can leave comment or send email via sabrieker@gmail.com

Besides this, blogging is not a suitable thing for me to, because of this( and my projects) I am writing or commiting rarely.Blogging is an amazing to do, I hope in a time I will love to blogging. If somebody gives me advices about blogging or comments me for my simple blog to improve it may be nice too.

Notes: Someone is coming my site via searching with me , it is more exciting for me besides what your goal is :)

Posted in Genel | Leave a comment

Viewing Reports Without OpenDocument Cont.

Hello everybody,

Today I am gonna try to explain how you can use BO InfoView application to show your reports. You will put this code peace in a jsp file and copy that file to [TOMCAT_PATH]webappsAnalyticalReportingviewerscdz_adv path. You must submit parameters to this jsp;
strDocID : Document Id
docKind  : Document Kind , webi or FullClient
token       : To login you to EnterpriseSession
PROMPT_k : k is a range starts with 0 to prompts count

And the code, before code part I want to say that if you use this piece of code to customize your InfoView application BO does not support it for any exception or problem.You are all on your way.

And here is my code piece.

Continue reading

Posted in Genel | Leave a comment

Date Type Problem in Webi Reports Solved

In a long time I have been faced with date type problem in Business Objects SDK in DocumentInstance class’s setPrompts method. Now I am proud to tell you the exact solution. But it will be the duplicate of the my early post.

Here;
//Get DocumentInstance Object and in a loop take your prompt
Prompt tmpPrompt  = webIntelligenceDocumentPrompts.getItem( k );
//With this line , learn the format of prompt which must be given
SimpleDateFormat webIDatePromptFormatLocale = new SimpleDateFormat(tmpPrompt.getInputFormat());
//My control for date type objects

if(tmpPrompt.getObjectType() == ObjectType.DATE){
        //I take dd.MM.yyyy format value from user, when I have a value
SimpleDateFormat promptFormat = new SimpleDateFormat(“dd.MM.yyyy”);
        //It parsed to Date object
Date parsedDate = promptFormat.parse(strRowIndex);
        // parsedDate object formatted via prompt date format and created a String object and it is put into a vector
        tempValVect.add(new ValueFromLov(new String(webiFormatLocale.format(parsedDate))));
}
// after all values for prompt put into the vector and then this values taken from vector and entered to ValueFromLov kind array then , array entered to prompt
webIntelligenceDocumentPrompts.getItem( k ).enterValues(promptValues);

But in this code you must to be sure at ReportEngines object. All the solution is based on it. You must use same ReportEngines object which you have open the Document. I am solved it today over 3 hour. If you set prompts with above code piece and send it to different ReportEngines object it may show DocumentInstance last saved data.Be sure to use same ReportEngines object.

This solution is tested and after tomorrow it will be used by over 8k BO end users.
And an addition to this post , a irrelevant note; be sure to close ReportEngines object after your work done with it.
Have a nice days.





Posted in Business Objects 3.1 SDK, Date Prompt, Exception, Web Intelligence | 1 Comment

Certain Solution Prompt Solution For Datetime

For a while I have been encoutered Date format problem with Web Intelligence Reports in BO 3.1. I have a find a temporary solution but sometimes it does not work. Anyway a response from BO for this kind of solution is like this:

//Get DocumentInstance Object and in a loop take your prompt
Prompt tmpPrompt = webIntelligenceDocumentPrompts.getItem( k );
//With this line , learn the format of prompt which must be given
SimpleDateFormat webIDatePromptFormatLocale = new SimpleDateFormat(tmpPrompt.getInputFormat());
//My control for date type objects

if(tmpPrompt.getObjectType() == ObjectType.DATE){
        //I take dd.MM.yyyy format value from user, when I have a value
SimpleDateFormat promptFormat = new SimpleDateFormat(“dd.MM.yyyy”);
        //It parsed to Date object
Date parsedDate = promptFormat.parse(strRowIndex);
        // parsedDate object formatted via prompt date format and created a String object and it is put into a vector
        tempValVect.add(new ValueFromLov(new String(webiFormatLocale.format(parsedDate))));
}
// after all values for prompt put into the vector and then this values taken from vector and entered to ValueFromLov kind array then , array entered to prompt
webIntelligenceDocumentPrompts.getItem( k ).enterValues(promptValues);

It seems like a best solution for date format problems during the DocumentInstance setPrompts method.
I test it and verified :) have a nice coding days

Important Edit
Again it does not work in customer server. I could not understand the problem , it is working without any exception in test platform on my server. I am suspicious about customer db relation , because I am getting lots of exception because of db connections.But still I could not find any reason to get an exception

Posted in Business Objects 3.1 SDK, Prompts, Web Intelligence | Leave a comment