Tuesday 27 September 2016

Working with Multilingual Siebel Application

Hello All,

I was working in Siebel application in ENU(english language) only for most of the time but recently we had deployed our application in multiple languages so got a chance to work with multilingual application.
Some difference i observed are :

1. Many existing components are cloned for the new language, like callcenter_enu, EAI_enu etc. are for english language and for n additional language deployed n new components will be created i.e. callceter_fra, callcenter_ara.

2. Components like Communication, Data Managers are not cloned i.e. they are language independent

3. We need to manage multiple SRF files for each language type, default directories for SRF are creted under siebsrvr/Objects/Lang 

4. Each SRF needs to compiled with tools language set as that particular language.

To change tools language :-
Select Options from View tab,  from the Pop up select the language and click OK.

5. Symbolic String , with multiple language deployed each Symbolic String has child in the deployed language that lets captions to be loaded in different languages.

6. Multilingual LOV's, with multilingual application LOV's are maintained in multiple languages.

Other things are similar as in single language application, main points to keep in mind are multiple SRF and Captions for controls.

Hope this was helpful..

Wednesday 21 September 2016

Creating a Custom Button using PR file

Hello All,

Recently i had a requirement where i was required to add a new button on List applet to perform some update operation. This is very basic requirement and can be easily done by creating a button at applet control and associating a script to perform the desired operation.

This time i thought to work without a SRF recompile, so i tried this with PR file and i actually saved a lot of time and learned something new.

Actual Requirement was like :

  • Need to Create a button in the Highlighted area

  • Button Created using PR

Sample PR Code :

explanation of Code :

var id1 = this.GetPM().Get("GetFullId") + '-siebui-cust-Validate-btn' , Id which we are assigning to the button 

var ValidateBttn = "<button " +  
  "id= '" + id1 + "' " +  
  "class= 'siebui-ctrl-btn appletButton' " +  
  "aria-label=Validate" +  
  "type=\"button\" " +  
  "data-display=\"Active\" " + 
          "title=Validate" + ">" + "Validate" + "</button>" , code for custom button here we have defined Id, Label and Title for this button

.find(".siebui-icon-find").append(ActivateMemberBttn) , code finds Object with class siebui-icon-find and adds button near this object

to find the Place holder for button :

  • Click fn + F12 to open browser console
  • Select the element after which you want to place control
  • Look for its class, can be found under (Class : "") tag 
  • make sure the class is unique i.e. used only once in the current div else it will result in Creation of multiple buttons
Now complete you PR file and write any code you want to perform in your PR on button click event.
Register PR in Manifest Administration and you are good to go.

Hope this was helpful ...

Tuesday 20 September 2016

Working with Crontab in Linux Environment

Hello All,

We have often worked with schedulers to run a task on a set frequency i.e. daily, weekly or hourly. In windows we use Task Scheduler to run a task at a specified interval. Recently i had to schedule a daily task in Linux environment so like windows task scheduler we have Cron process in Linux.which runs in background and executes scheduled process. A detailed description is given in the following article http://www.howtogeek.com/101288/how-to-schedule-tasks-on-linux-an-introduction-to-crontab-files/ 

To List out some Important commands in Brief :

Listing Crontab - crontab -l
Editing Crontab - crontab -e
Opening Crontab in Edit Mode - i (Insert Mode)
Escape Crontab - Esc (Brings Crontab in Read Only Mode)
Exit Crontab - :q
Exit and Save Crontab - :wq

Setting The Frequency of Running Tasks :

minute(0-59) hour(0-23) day(1-31) month(1-12) weekday(0-6) command

i.e. 30 7 1 12 * /siebel/export.sh

the command translates to , run export.sh file every 12th Month(December) on 1st day at 7 hrs 30 minutes
* in the crontab represent no validation so, 

30 7 * * * /siebel/export.sh, represents run export.sh every day at 7 hrs 30 minutes 

Issue faced with SQL Data Export using Crontab  :

I was running a Task to Export data from table to a shared location, i implemented this by Spooling a SQL file and Calling the File from a shell script(.sh) then set its frequency to run daily.
If i ran the .sh file manually from command terminal it was running fine with SQL export files generated in specified directory, but after scheduling it in cron tab log files were generated but no SQL export files were being generated.
After much of research, re verifying syntax and hit and trial i realized i was missing some very important points.

  • I did not specify the target directory in shell file where i wanted my export files to be generated, since while running manually from terminal i had placed my .sh file in same location so export files were generated 
  • While running in Cron tab since there was no explicit directory specified field were being generated under /HOME location
  • The issue resolved after i specified target directory path before SQL export was called.

Siebel GoTo View - Handling Realtime cases

 Hello All,  We all must have used GoTo view functionality of siebel to navigate to a particular view from current view. What if the require...