Showing posts with label Error/Resolution. Show all posts
Showing posts with label Error/Resolution. Show all posts

Thursday, July 14, 2011

Use GetAssocBusComp () with caution!!

Sometimes we write script and never realize it might result in error due to record set on which it is getting operated and it becomes issue in live environment. Similar kind of scenario I observed while using "GetAssocBusComp()". Siebel geeks who have used this method before must be aware that this is being used to get the Association business component and it's "Associate" method is being used to add a record in the MVG.

So, I got a business service being called inside a workflow asynchronously where below small piece of code was failing for some set of records while it was working fine for other records:

var SRId = Inputs.GetProperty("SRId");
var SRBOBusObject = TheApplication().GetBusObject("Service Request");
var SRBC:BusComp = boinactive.GetBusComp("Service Request");
var SerialMVGBC:BusComp;
var SerialAssocBC:BusComp;
with(SRBC)
{

ClearToQuery();
SetViewMode(AllView);
SetSearchSpec("Id", SRId);
ExecuteQuery();
if(FirstRecord())
{

SerialMVGBC = SRBC.GetMVGBusComp("Serial Number");
SerialAssocBC = SerialMBVGBC.GetAssocBusComp();
// While debugging I found that code was failing
// for some records at above step
................
................
}

}

When I debug the issue and checked for the logs, the error I saw was:

No association list is available in this applet.(SBL-DAT-00276)

Strange part was, for some of the records this code was working fine and failing for some records.

While debugging I realize that the record on which this code was failing, was Read-Only. This is the due to the fact that when Service Request status change to "Closed" it gets read-only and the error was quite confusing in the way when it said "No association list is available".

Might be helpful for you in future if you face this error, please check record should not be read-only for any reason, not even due to "BC Read Only Field" user property on the business component.

Note: this is the reason you don't see the "Associate Applet" inside the MVG Shuttle applet configured on any MVF on the UI, if the record is Read-only.

Workaround

1. If you are operating on Service Request business component, then you can make use of "Always Enabled: <_MVL Dest BusCompName>" user property and then GetAssocBusComp() method would work even on read-only records. Drawback of this workaround would be, on the UI user can open the MVG applet and can associate a record in it even if the Service Request record has status = Closed.

2. Another better way is to operate on business component based on the inter-table. And just do a NewRecord().


.

Monday, January 25, 2010

Issue navigating to Admin Server Management view??

I do like working on dedicated client most of the time, as it helps me getting the SQL spool and the log file, for the dedicated session I am using, very easily in the local drive.

Something strange I observed today when I got the User Id / Password error for the Siebel session while I was trying navigating to "Administration - Server Management" view.

So, here is the sequence of things I observed:

1. I tried navigating to Administration - Server Management View.

2. Recieved an error saying :

3. I clicked on Ok, and found that system is asking for the User Name and Password for connecting to the Gateway.

4. Thought of putting my login name/password, but didn't work.

5. And Siebel client was giving error saying :

An error has occurred creating business component 'Server Component' used by business object 'Server Admin'. Please ask your systems administrator to check your application configuration.(SBL-DAT-00222)

These were the complete set of events happened in my dedicated session and I was not able to navigate to Server Management views. I even tried navigating to the Server Configuration screen but that also didn't work.

Since system was trying accessing the gateway information and it received an error, there is something messed up with the dedicated client cfg file due to which I am not able to qualify for the gateway server information access. To confirm whether CFG is having the correct values or not, just open the CFG and look for : "[GatewayDataSrc]" section. Here below are the parameters for which we need to confirm the values :

[GatewayDataSrc]
ConnectString = <_siebelserver>:<_port>
PrimaryEnterprise = <_enterprise>
DLL = libsscda10.so

Now the question is, from where we need to confirm these values?

To give you the information, "siebns.dat" is the file located at "/siebel/gatewaysrvr/sys" directory which keep all the informatiom regarding the Gateway Server, Siebel Servers, Enterprise Server, Components running on each server with all the parameter details etc.

So, just get this file from the mentioned location and search for the below mentioned strings to check out the value for each parameter:

1. ConnectString :

a) In siebns.dat file search for "GatewayDataSrc/parameters/DSConnectString".

b) Under this section, look for the parameter : "Value" and this is the value for the "ConnectString" parameter in client cfg. (Please note this is the format : <_siebsrvrname>:<_port>)

2. PrimaryEnterprise :

a) In siebns.dat file search for string "GatewayDataSrc/parameters/DSPrimaryEnterprise".

b) Under this section, look for the parameter : "Value" and this is the value for the
"PrimaryEnterprise" parameter in client cfg.

3. DLL :

a) In siebns.dat file search for string "GatewayDataSrc/parameters/DSDLLName".

b) Under this section, look for the parameter : "Value" and this is the value for the "DLL" parameter in client cfg.



After setting all the correct values in the Client's cfg file, just restarted the dedicated session again, it worked fine. Today I know the importance of siebns.dat file, really very useful.

.

Wednesday, January 20, 2010

Creating Server Request from Dedicated Client !!

I was trying simulating a Business Service from Siebel Client thru "Administration - Business Service -> Simulator" view, and this is very basic thing that we do in our daily Siebel life ;)

But this is what I got, a pop message saying:

No server connect string for Siebel Component SRBroker in Siebel Enterprise <_enterprisename>, Siebel Server <_siebelservername>


hmm, this is something new I ever came across and it seems that my business service was trying to create a Request on Siebel Server (because error specifically mentioned for SR Broker) and due to the incorrect Connect String, system is not able to create a Server Request.

I researched for this issue and found something interesting that is worth sharing with you people here.

You will see this error when :

a) You are trying to create a Server Request, no matter it is Synchronous or Asynchronous, from dedicated client.
AND
b) RequestServerName is not correctly mentioned in the Client's cfg file.


SR Broker is the component which is responsible to interact with the various components running on the Siebel Server to assign the respective tasks. So we need to specify the Server Name (Logical) where SR Broker component is running.

So, here is what you need to do :

1. Find out the Logical name of Siebel Server.
a) Navigate to "Administration - Server Management -> Enterprises". And in the second applet check for the Server Name under which "Server Request Broker" component is running.
b) Copy the Siebel Server name.


2. Update the Server Name in Client cfg file.
a) Open Siebel.cfg file or whichever you are using.
b) Search for section : "[InfraObjMgr]"
c) Change the parameter : "RequestServerName" to the value for Siebel Server Name that we copied in Step 1.b above.

3. Save the Client cfg file and restart the Siebel dedicated client and it should work fine.


Hope it helps.



.




Monday, December 7, 2009

Error in Inbound Integration !!

Generally whenever you create a new Inbound Integration in Siebel, its a recommended practice that you get a new Database login created for it and that you can share with the other system for which you have created this inbound integration. I did the same thing, requested for a new DB login from our DBA and got it created. Before handing over to other party for use, I tried testing this newly created Inbound Integration via SOAPUI (the best ever client I came across for testing integrations). Imported the wsdl and when hit Go, I received the message saying :

The user-context could not be established. Something is wrong with the assigned primary position or login related repository objects. See additional error messages for more information.(SBL-DAT-00546)

and yes my reaction was "Oops, I forget to create a record for the DB user, that I am using for this Inbound Integration, in Administration - User screen". Okayy, let me do that. I created the record under "Employees" view, assigned the necessary position and responsibilities.

Now, lets try again invoking the inbound integation again from SOAPUI, again hit Go, this time I received the different one:

The user ID or password that you entered is incorrect. Please check the spelling
and try again.(SBL-UIF-00272)


hmmm....... I don't think, the username and password I used in the SOAP header is incorrect, so just to confirm it, I went to Oracle client and tried logging into the Siebel Database and I was able to login successfully, no issues. That means the problem is somewhere else.

The best part while working with Siebel is, as soon as you receive any error, just verify the respective logs and you will get the clue. So, the next step towards resolving this issue is just to check the EAI Object Manager log. I went to log folder and found there was an error message in it saying:

SBL-DAT-00587: An error occurred setting the default locale for the session.

This is something to be notice here that the Login credentials I am using is getting problem with creating a new session with Siebel. I think, I know the resolution for this but before actually use that lets double check it. I opened the Siebel thin-client URL and tried login into application instead and again I received the same error that Username/password is not correct. Also in Object Manager log, I found the instance of the same error which I found in EAI Object Manager log.

So, this only happens when SSE_ROLE has not been assigned to the designated user. For creating a session, every Siebel user should have this role assigned otherwise it won't be able to login even. To check which all roles/priviledges are assigned to the user, just login into the database with that user's login credentials and run the following query :

select * from user_role_privs
It will list all the roles for you and keep in mind that SSE_ROLE is required if you want to create a user session on Siebel Server either via Object Manager or EAI Object Manager.

So, I just asked my DBA to do the needful and now I think I am good, and yes I was able to invoke Inbound integration sucessfully. Now its the time when I can share these login credentials along with the WSDL to other party.
.

Tuesday, December 1, 2009

Debugging Siebel eMail Response !!

In our Siebel application, we are using OOB functionality for creating Service Requests via emails, and yes I think you guessed it right we are using Siebel eMail Response workflows which are available in Siebel Tools and you just need to configure them as per your need and these works really well.

(For people who are new to this subject, to find these workflows you need to query in Siebel tools as "eMail Response*", and if you want to learn configure these, just follow the simple steps given in Communications Server Administration Guide)

I really like this OOB feature of Siebel as it works like a magic: user sends an email to Siebel email box whichever you have configured, Response Group keeps monitoring that and whenever see a new email just picks it up, delete it from the email box and invoke the Siebel Workflow. Now from here you can do anything what any workflow in Siebel is capable of doing, design your workflow as per the requirement and you are done.

Pretty simple isn't it, but sometimes it tough to debug it if you land-up in some issue here. I was working on the similar kind of requirement where everything seems working fine but the only problem was: "Response Group was not able to pick the email from Siebel email box".

Response Group only job is to just pick the email and create a MIME format file in "<_siebsrvr>/bin/incoming" folder and passes it as an input argument to eMail Response workflow, but since Response Group was not able to pick the email, so I thought of confirming whether it is reaching to the Siebel emailbox or not, so I logged into webmail client and found all emails keep lying there only.

Since I was able to see all the emails and I have also verified the username/password being used for the email profile in Siebel was correct, that means there is some problem with the POP3 setting of the emailbox. So to check it what you can do is :

a) Get the POP3 server name / username / password for the emailbox which is being monitored by reponse group. (You can find it in "Administration - Communications -> Communications Drivers and Profiles" view by querying for the communication drivers as "Internet SMTP/POP3 Server" and check the name in "Profile Parameter overrides" applet).

b) Click Start -> Run -> type "telnet <_servername> pop3", hit enter.

c) In Telnet window, type "USER <_username>" (without quotes)
if you see +OK, that means username is correct.

d) Type "PASS <_password>" (without quotes)
if you see +OK, that means password is correct.
But I recieved an error message saying "Unknown username or bad password"

So this is something we can't control from Siebel, I checked with the Server administration team who handles all the email servers and they fixed the issue for POP3 settings on the email box and tried the above steps again and this time no error.
[Server admin people really likes to resolve the issue when you go to them with the exact root cause ;) ]

One more reason I can think of for such a behaviour when you have not clicked on "Submit Response Group Changes" for the Response group monitoring the emailbox.
.

Thursday, August 27, 2009

Error while running blank query on an applet !!

Today while working on one of the issue in UAT env, when I navigated to Assets screen to see list of all assets, ran a blank query, I got the following error :

There were more rows than could be returned. Please refine your query to bring back fewer rows(SBL-DAT-00500).

In the very first sight, it seems query is bringing a large number of records which Siebel can't handle. hmmm... okayy, lets try running a query which will bring less records so I put a query on "Type" field on the applet and ran the query and it worked fine. That means there is some limitation in Siebel while fetching the records and if the number of records goes beyond that limit it gives up. So, one might ask what is that upper limit??

Upper limit for number of records that Siebel can pull from a single query is equal to the value set for "MaxCursorSize" parameter available in your siebel.cfg file. Here below can be the values :

a) 0 : If this parameter set to 0 (zero), that means Siebel can fetch 10,000 records in a single query. This is the recommended value.

b) -1 : it indicates infinite number of records, results in low performance and not recommended by Siebel.

c) >0 : any number greater than 0 will fetch that many records in one query.

So, what happens is if you run a query on UI and you try to scroll the records and crosses the limit what has been set by "MaxCursorSize" parameter, you will get the above mentioned error. Moreover, the parameter is applied for each and every query that Siebel runs with the exception that it might override by "Maximum Cursor Override" property at the business component level.

I checked for the value of "MaxCursorSize" parameter in CFG and it was set to 0. Just to cross verify I also ran a query in the database and confirmed that number of records in S_ASSET records were more than 10,000 records. But, wait a minute, I didn't even scroll once on the Asset Screen and I just tried to navigate on the default view of the screen and still I received this error. This is something else is going on here, isn't it?

One more thing to notice here is that I realized that even I have more than 10,000 Accounts records in the application, but there is no issue when I navigate to All Accounts view. That means something special does exist with Asset business component which is causing this issue. And here below is the reason for it :

"Hierarchy Parent Field" property of business component was set to "Parent Asset Id" and due to this while running a blank query on the Assets UI, resulted in putting a "/*+ ALL_ROWS */" hint in the SQL that Siebel runs in the background. This is the difference I observed when I just removed the "Hierachy Parent Field" and compiled the SRF again and blank query worked fine this time. No issues. But this doesn't mean that this is the solution for the issue, you can't just remove this property to avoid this error because it get reflect in all the applet based on this business component. So here is the solution for this :

Use "Disable Buscomp Hierarchy", a user property available on the applet and set its value to True. Since it is applet based user property, only applies to the applet on which it is used.

Disable Buscomp Hierarchy = True

What it does is : it will just ignore the effect of "Hierarchy Parent Field" on the business component and run the query without "/*+ ALL_ROWS */" hint in the background to bring the records as per the normal process.

I put this user property on the All Assets List Applet and ran a blank query again, everything worked fine.

Hope it helps !!
.

Thursday, July 30, 2009

Limitation in "PRM ANI Utility Service" business service

I was working on one requirement which I was trying to implement using Workflow, where I need to perform the following :
a) Query on Account using EAI Siebel Adapter
b) Get the contact name for the very first child under the accounts.

requirement sounds very simple, same the case with me and I thought of using PRM ANI Utility Service to achieve the purpose with the help of just two steps in the workflow. So here is how these two steps looks like :

Process Properties:
Step1 : Query AccountBusiness Service : EAI Siebel Adapter
Business Service Method : Query
Step2 : Get Contact IdBusiness Service : PRM ANI Utility Service
Business Service Method : GetProperty

As per my expectation, I didn't get the "First Name" into process property "Name", but instead I was getting the error :

Error invoking service 'PRM ANI Utility Service', method 'GetProperty' at step 'Get Contact Id'.(SBL-BPR-00162)--Error Running Method 'Execute'.(SBL-PRM-00104)

I was getting crazy as not able to figure it out what exactly the root cause of it, but after some hit and trials it worked fine for me when there was only one single child record (Contact) under the Account for which I was querying. So let me tell you the reason why I was getting the error :



This is the snapshot from the watch window, where you can see there were actually 3 records under the accounts for which I was querying and due to this PRM ANI Utility Service was not able to figure it out for which record I need the First Name. So this is the limitation of this business service and you need to make sure while using "GetProperty" and "SetProperty" of this business service that there should not be more than one child in the propertyset.

I tried with querying for the Account having single Contact associated and it worked fine. So the only workaround is to write a customize business service if you want to get/set a property value of any child record.
Give it a try !!
.

Thursday, July 23, 2009

Apply / Activate make Siebel Tools hang ??

Something strange happened with me today and it seems to be a issue with the Siebel Tools that whenever I tried "Apply/Activate" a table into my Siebel Local Database, Tools gets hanged. Frustration !!! I can not continue with my work as I need to add a new field into the business component and see it on the UI.

Checked the support web for this kind of behaviour and found that during "Apply/Activate" Siebel create a table with name "D_U_M_M_Y" into the local database and we need to drop that table from local database before doing any more "Apply/Activate".

I tried connecting to the Local Database via DBISQLC and ran the below query :
select * from siebel.D_U_M_M_Y

but I got the error saying "Table siebel.D_U_M_M_Y not found".
So not able to find the correct resolution as of now.

So, the only workaround I can think of is applying the physical database changes manually. Here is below I did:

1. I need to add one column in S_EVT_ACT_X table of Varchar2(15 Char).
2. Added the column in Siebel Tools under S_EVT_ACT_X table.
3. Ran the following command in DBISQLC (after connecting to the local database) :

alter table S_EVT_ACT_X
add NEWCOLUMN VARCHAR(15)

This way I achieved what I was trying to do. There is something more of it I would like to tell you here which might be useful in case you want to apply/activate a complete new customized table.

Consider a scenario, one of your colleague (Siebel Developer) has created a new Customized table for some requirement and put in his changes into the Siebel Database and now you to have that table available into your local database as well. You can "GET" the project to see the logical schema for the table into the Local Database but the problem is "Apply/Activate" is not working. So here is one workaround I can suggest :

1. Get the DDL for the table via connecting Oracle SQL Developer or TOAD or any other database client you use.
2. Open DBISQLC and run the "Create Table" command (some modifications needs to apply before running the query)


Here below is the example that might be helpful for the modifications required :
I got the below DDL for one of the table :

CREATE TABLE "SIEBEL"."CX_NEW_TABLE"
( "ROW_ID" VARCHAR2(15 CHAR) NOT NULL ENABLE,
"CREATED" DATE DEFAULT sysdate NOT NULL ENABLE,
"CREATED_BY" VARCHAR2(15 CHAR) NOT NULL ENABLE,
"LAST_UPD" DATE DEFAULT sysdate NOT NULL ENABLE,
"LAST_UPD_BY" VARCHAR2(15 CHAR) NOT NULL ENABLE,
"MODIFICATION_NUM" NUMBER(10,0) DEFAULT 0 NOT NULL ENABLE,
"CONFLICT_ID" VARCHAR2(15 CHAR) DEFAULT '0' NOT NULL ENABLE,
"NEWCOLUMN1" DATE, "NEWCOLUMN2" CHAR(1 CHAR),
"NEWCOLUMN3" VARCHAR2(250 CHAR),
"NEWCOLUMN4" VARCHAR2(50 CHAR),
)


but if you try running this query directly into DBISQLX you might get errors. So below are the changes required :

a) Replace VARCHAR2(15 Char) to VARCHAR(15)
b) Replace CHAR(1 CHAR) to CHAR
c) Replace Number(10,0) to Integer
d) Replace sysdate to getdate()
e) Remove "Enable" from the query.

Finally the new query will look like :

CREATE TABLE "SIEBEL"."CX_NEW_TABLE"
( "ROW_ID" varchar(15) NOT NULL,
"CREATED" DATE DEFAULT getdate() NOT NULL,
"CREATED_BY" varchar(15) NOT NULL ,
"LAST_UPD" DATE DEFAULT getdate() NOT NULL ,
"LAST_UPD_BY" varchar(15) NOT NULL ,
"MODIFICATION_NUM" Integer DEFAULT 0 NOT NULL ,
"CONFLICT_ID" varchar(15) DEFAULT '0' NOT NULL,
"NEW COLUMN 1" DATE, "NEW COLUMN 2" CHARACTER,
"NEW COLUMN 3" varchar(250),
"NEW COLUMN 4" varchar(50),
)


After making all the changes mentioned above run the query in DBISQLC and it works fine.
As I already mentioned this is just a workaround that I can think of, if you have some better idea for this, please let me know as well :). Your comments are most welcome !!
.

Tuesday, July 21, 2009

"Invalid or Missing Encryption Key" error ??

This is the error you might see if you are working on Siebel 8.0 or higher and trying connecting to the Local Database via System DSN or DBISQLC.

After the launch of Siebel version 8.0 the local database is now encrypted, if you have not provided some specific parameters while Local Database Extract.

The point to be noted here you can successfully login into the Siebel Tools / Client using the same local database without any issues. But you cannot, if want to play with it via backend. Sounds strange but this is how it actually works.

The only solution that I found is to specify few extra parameters apart from what we generally specify during the Local Database Extract and after that it worked fine. So here is the complete list of Parameters that you can use while database extract to avoid this kind of error.

1. Navigate to "Administration-Server Management -> Jobs".
2. Create new record with "Component/Job" = "Database Extract".
3. Under Job Parameters, add the following :

a) Client Database encryption method = None
b) Client Name = "Your Login Name"
c) Database Init Method = Sql Anywhere
d) Database template file name = sse_utf8.dbf
e) Encrypt client Db password = False
f) Extract all Repository Tables = False

4. Click on Submit Job.
5. Once completed, rename the "sse_data.dbf" in "SiebelSrvr/Tools/Local" folder and connect to the Local database again to initialize the local database again.
6. Do a "Full-Get" to get all the necessary repository objects.
7. Try connecting to the Local Database via System DSN or DBISQLC, it should work fine. Make sure you use the Username and password in CAPS.

Hope it helps !!!!

Thursday, July 9, 2009

"Page Cannot be displayed" in Siebel Tools ??

We generally see this error message in Internet Explorer when somehow IE is not able to connect to the URL that user is trying to access. But today when I just see this message in Siebel Tools, it was really a surprise for me as this is something new I am seeing for the first time.

Let me tell you what exactly I was trying to do : I just wanted to place a new Control on "Contact Form Applet". So queried for "Contact Form Applet" and right clicked and select "Edit Web Layout". What generally we see is the new window being opened in the right side with form layout of the applet where all the controls is displayed and we can change their position or add new. But this was not the case with me and I can see "Page Cannot be displayed" message in that window.

Amol Tandon (one of my colleague) found the reason for it. This happens when "WebClientSiteDir" parameter in Tool's CFG is not pointing to the correct path. You can see this parameter in Tool's CFG :

WebClientSiteDir = C:\Siebel\8.1\Tools_1\public\enu

The reason I was getting this error, I got the Siebel installed in "D Drive" and used the old Tools cfg and forget to change the C: to D: everywhere in the CFG.

So just change the parameter and everything worked fine.

WebClientSiteDir = D:\Siebel\8.1\Tools_1\public\enu

.

Monday, June 22, 2009

SBL-DBX-00083: Unable to start due to incorrect system preference setting

No Parameter has been changed on the Siebel Server and no settings has been touched and suddenly this error started coming while running "Database Extract" component. So the way everybody's next step is to search for "SBL-DBX-00083" in Metalink, I also tried the same thing and very easily got to know that the solution for this problem can achieved by following the below steps :

a) Go to "Administration - Application -> System Preferences"
b) Query for : "Docking: Transaction Logging" parameter and change the value to "True"
c) Restart the Siebel Server
d) Restart the "Transaction Processor" component.

You must be thinking when the resolution is already available in Metalink, then why I am explaining that here..... :), because there is something new I observed.

Let me tell you what exactly happened and I think you might be interested in reading that. When I went to "Administration-Application -> System Preferences" view and queried for "Docking: Transaction Logging" parameter, I found none.
So I thought it might not be there (just a guess), finally I decided to create a new one with the value "TRUE". Hope I am going into the right direction as I was just following what is written in Metalink. After that restarted the Siebel Server and want to check if "Transaction Processor" component was running, but it wasn't. So I just restarted it, but I saw that the "Transaction Manager" has again got errored out with the error : "SBL-TXP-00011: Unable to Start the APIs". hmmmmm... I haven't got rid of one error and I found another one. This is what Siebel world is :)

Again went to the Support Web to check for the resolution and this is something strange now. The resolution for this error is also the same that I need to have "Docking: Transaction Logging" parameter to "TRUE". But I have already created that one, right?

I am not sure what is going on? Why Siebel is not accepting the parameter value that I have just mentioned under System Preferences view?

Idea came into my mind and here below is what it was :

a) Go to Adminitration-Application -> System Preferences view.
b) Do a "About View" to check for the Business Component Name. It was "System Preferences".
c) Go to Siebel Tools, check for the table name. It was "S_SYS_PREF".
d) Run the below query :
Select * from siebel.s_sys_pref
where sys_pref_cd like 'Dock%'
I got surprised, when I saw two records returned with the following names :

a) Docking:Transaction Logging with Value = "FALSE"
b) Docking: Transaction Logging with Value = "TRUE"

Can you observe the difference in the name of the parameters above two. Second one have a space after "Docking: ".

That means the parameter was already existing but not displayed on the UI and by mistake I have created a new one. So I deleted the one I created from UI and changed the value for the exiting one from backend like this :
update siebel.S_SYS_PREF
set val = 'TRUE'
where sys_pref_cd like 'Dock%'

restarted the Siebel Server and found that Transaction Processor is also running fine. Tried with a new Database Extract again and it went fine.

Be careful from now on, it may happen with you as well. If something is not available on the UI, that doesn't mean it is not available in the database. :)

Full Compilation of Vanilla Respository Errors out

Sound strange, isn't it !!!

If I would say that I have just done the new Local Database Extract from fresh Vanilla Repository being setup for the new Env, and its full compilation is erroring out, nobody will agree to this. I am using Siebel 8.1 version.

To replicate it, follow the steps :

1. Create a job for "Database Extract" with the following parameters :
Client Name = LoginName
Extract all Repository Tables = TRUE

2. Re-initialize the Local Database.
a) Rename "sse_data.dbf" file in <_toolsdir>/Local folder to some another name.
b) Connect to Siebel Tools and click "Yes", when asked for initializing new database.

3. Do a Full Compile.

The error I got was :
Script compilation failed at line 25 in procedure 'Execute':
Syntax error at Line 25 position 1:Expected '}'
(SBL-SCR-00128)
Let me tell you the possible reason for this. If you have observed the parameter name : "Extract all Repository Tables " has been set to TRUE while database extract, what it does is, loads the local respository file (sse_data.dbf) with all the repository contents and saves the developer time as he doesn't require to do a "Full Get" once database get initialized. I used to use this parameter often but seems like due to this parameter some junk script is getting extracted into the local database due to which Full Compilation is failing.

So, I just changed its value to "False", extracted the database and then initialized the new database and done a Full Get. After that I tried Full Compilation again. Everthing worked fine now.