Вы находитесь на странице: 1из 9

http://www.siebeleim.

com/

Difference between Organization, Internal Division,


Account and Partner in Siebel
What is the difference between Organization, Internal Division,
Account and Partner in Siebel?
Organization:
An organization (in Siebel terminology) is a business unit within an company,
enterprise or organization. An organization represents the broadest divisions
of the company. An organization controls the data access of the employees
that are assigned to it. Organizations can be internal, or they can be
external (in the case of Siebel PRM).
In Siebel technical terms, an organization is that which satisfies the below 2
conditions:
1. S_ORG_EXT.INT_ORG_FLG = 'Y'
2. Has an associated S_BU record.
E.g. Default Organization
select int_org_flg from siebel.s_org_ext where name = 'Default
Organization';
select * from siebel.s_bu where name = 'Default Organization';

Internal Division:
Divisions are used to create organization structure and to link positions to
that organization structure. Divisions belong to organizations and have no
direct effect on visibility
In technical terms, an internal division satisfies below 2 conditions:
1. S_ORG_EXT.INT_ORG_FLG = 'Y'
2. Does not have associated S_BU record.
1

E.g. INTERNAL
select int_org_flg from siebel.s_org_ext where name = 'INTERNAL';

Account:
An account is any external organization with which your company does
business. It negotiates agreements, receives service and bills, and raises
trouble tickets. An account is usually the central entity of a Siebel CRM
implementation. It may also represent a current or potential client, a
business partner, or a competitor.
An Account satisfies the below conditions:
1. S_ORG_EXT.INT_ORG_FLG = 'N'
2. Obviously it does not have associated S_BU record.
E.g. ABC Corp
select int_org_flg from siebel.s_org_ext where name = 'ABC Corp';

Partner:
A partner organization is generally a channel or alliance partners,
distributors, resellers, agents, brokers, or dealers of the brand owner
company.
A Partner satisfies 2 conditions:
1. S_ORG_EXT.INT_ORG_FLG = 'N' and S_ORG_EXT.PRTNR_FLG = 'Y
2. No associated S_BU record.
E.g. Helix Services

select int_org_flg, prtnr_flg from siebel.s_org_ext where name = 'Helix


Services';

To summarize:

Importing New Responsibilities and Assigning Them to


Users Through EIM
Import Responsibility Through EIM:
Importing new responsibilities and assigning them to users in siebel is one of the most
common requirements in siebel projects. Most of the time it's a one time load for a
set of users and at other times it may be used as periodic load for new users.
Below is the step by step method for loading new responsibilities and assigning them
to users
Responsibility Import:
There are various approaches to load data into siebel. Here we will take a simple one.
1.
Put the responsibility data in a CSV format file (which can be opened in excel
for editing).
2.
Create a staging/intermediate table to store the data temporarily (this is very
useful if some data transformation is to be done before loading in EIM tables).
3.

Loading the data into staging table through SQLLDR utility.

4.

Execute the SQL scripts to load the staging table data in EIM table.

5.

Prepare the IFB file and Run the EIM job from UI.

6.

Check the results in EIM table and from UI.

7.

Downloadable scripts

8.

Independent LOV Interface (Downloadable ZIP File)

Lets discuss these in detail:


1. Prepare the data in CSV format:

Click here to download a sample CSV file and put the data in the defined format. Note
that the username column in the sheet should corresponds to the S_USER.LOGIN
information. Responsibility column will contain the name of the
new responsibility and primary responsibility column should contain the name of
the primary responsibility for that user. Mentioning the primary one is optional as it
will pick one of the responsibilities as primary if not mentioned. Also mention the
responsibility organization in the respective column. Save the file as resp-insert.csv.
2. Creating staging table:
CREATE TABLE "STAGING"."RESP_INSERT"
(
"LOGIN"
VARCHAR2(50 BYTE),
"RESP"
VARCHAR2(100 BYTE),
"PRIMARY" VARCHAR2(1 BYTE),
"RESPORG" VARCHAR2(100 BYTE)
);
COMMIT;
GRANT ALTER, DELETE, INDEX, INSERT, REFERENCES, SELECT, UPDATE,
ON COMMIT REFRESH, QUERY REWRITE, DEBUG, FLASHBACK ON
STAGING.RESP_INSERT TO SIEBEL;
COMMIT;
3. Loading the data in staging table through SQLLDR utility.
Prepare a control file (.ctl) and a batch (.bat) file an place them at the same location
as the csv file. (Let say in D:\resp-insert\).
Structure of control file (resp-insert.ctl):
LOAD DATA
CHARACTERSET WE8ISO8859P1
TRUNCATE
INTO TABLE STAGING.RESP_INSERT
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING
NULLCOLS
4

(
LOGIN,
RESP,
PRIMARY,
RESPORG,
DESC
)
Structure of Batch file (resp-insert.bat):
@echo off
set
set
set
set
set

ORCL_PATH=D:\Oracle\product\11.2.0\client_1\BIN
DB_USR=XXXXXX
DB_PAS=XXXXXX
DB_CON=XXXXXX
CUR_PATH=D:\resp-insert

%ORCL_PATH%\sqlldr %DB_USR%/%DB_PAS%@%DB_CON% CONTROL=%CUR_PATH%\respinsert.ctl, DATA=%CUR_PATH%\resp-insert.csv, LOG=%CUR_PATH%\SQLLDR_respinsert.log, SKIP=1, ERRORS=1000, BAD=%CUR_PATH%\resp-insert.bad, DISCARD=


%CUR_PATH%\resp-insert.dis
So now up to here we have 3 files, resp-insert.ctl, resp-insert.csv and resp-insert.bat
at d:\resp-insert\ location.
Execute the resp-insert.bat file after filling the necessary parameters like db
username, password etc. You can check the data in staging table by executing

SELECT * FROM STAGING.RESP_INSERT;


4. Execute the SQL scripts to load the staging table data in EIM table.

Execute the below scripts to insert data into EIM table. You can change the batch
numbers if required.

DELETE FROM EIM_RESP WHERE IF_ROW_BATCH_NUM BETWEEN 1 and 99;


DELETE FROM EIM_EMPLOYEE WHERE IF_ROW_BATCH_NUM BETWEEN 100 and
199;
COMMIT;
/*Inserting new responsibilities into EIM table*/
INSERT INTO EIM_RESP
(
ROW_ID,
IF_ROW_STAT,
IF_ROW_BATCH_NUM,
RESP_NAME,
RESP_BU,
RESP_DESC_TEXT
)
SELECT DISTINCT
ROWNUM,
'FOR_IMPORT',
1 + floor((rownum-1)/5000),
STG.RESP,
STG.RESPORG,
STG.DESC
FROM (SELECT DISTINCT RESP, RESPORG, DESC FROM RESP_INSERT) STG;
COMMIT;
/*Inserting user-responsibility details in EIM table*/
INSERT INTO EIM_EMPLOYEE
(
ROW_ID,
PARTY_UID,
PARTY_TYPE_CD,
IF_ROW_STAT,
IF_ROW_BATCH_NUM,
CON_BU,
CON_PRIV_FLG,
CON_PERSON_UID,
6

RESP_BU,
RESP_NAME,
CON_PR_RESP
)
SELECT
ROWNUM,
PARTY.PARTY_UID,
PARTY.PARTY_TYPE_CD,
'FOR_IMPORT',
100 + floor((rownum-1)/5000),
CONBU.NAME,
CON.PRIV_FLG,
CON.PERSON_UID,
RESPBU.NAME,
stg.resp,
stg.primary
from
S_USER USR,
S_BU RESPBU,
S_CONTACT CON,
S_BU CONBU,
S_PARTY PARTY,
FROM STG.RESP_INSERT STG
WHERE
PARTY.ROW_ID = CON.PAR_ROW_ID
AND CON.PAR_ROW_ID = USR.PAR_ROW_ID
AND CON.BU_ID = CONBU.ROW_ID
AND STG.RESPORG = RESPBU.NAME
AND STG.LOGIN = USR.LOGIN;
COMMIT;
To check the data in EIM tables execute below scripts:
select COUNT(1), IF_ROW_STAT, IF_ROW_BATCH_NUM
FROM EIM_RESP WHERE IF_ROW_BATCH_NUM BETWEEN 1 AND 99
GROUP BY IF_ROW_STAT, IF_ROW_BATCH_NUM ORDER BY IF_ROW_BATCH_NUM;
7

select COUNT(1), IF_ROW_STAT, IF_ROW_BATCH_NUM


FROM EIM_EMPLOYEE WHERE IF_ROW_BATCH_NUM BETWEEN 100 AND 199
GROUP BY IF_ROW_STAT, IF_ROW_BATCH_NUM ORDER BY IF_ROW_BATCH_NUM;
5. Prepare the IFB file and run the EIM job from UI:

Below IFB file parameters will load the data from EIM table to Siebel Base tables.
[Siebel Interface Manager]
PROCESS = INSERT_RESP
PROCESS = UPDATE_RESP
[INSERT_RESP]
TYPE = IMPORT
BATCH = 1-99
TABLE = EIM_RESP
ONLY BASE TABLES = S_RESP
[UPDATE_RESP]
TYPE = IMPORT
BATCH = 100-199
TABLE = EIM_EMPLOYEE
ONLY BASE TABLES = S_PARTY, S_CONTACT, S_PER_RESP
INSERT ROWS = S_PARTY, FALSE
UPDATE ROWS = S_PARTY, FALSE
INSERT ROWS = S_CONTACT, FALSE
UPDATE ROWS = S_CONTACT, TRUE

Save this file as resp-inser.ifb and place it on siebesrvr/admin folder on server. Run
the IFB file from Siebel UI SiteMap --> Administration - Server Management --> Jobs.
Create a new job and enter Enterprise Integration Mgr in Job name field, put the ifb
name in configuration file parameter and fill other necessary flags for debugging.
Click submit.
6. Check the results in EIM table and from UI:
To check the results of imported data, run the scripts as mentioned at step 4 for
checking the data in EIM table. Thereafter check some sample data from UI.
7. Downloadable Scripts:
Staging Table Script
Control File
EIM Table Script File
IFB File
8. Independent Resp Insert Interface (Downloadable ZIP File)
Click here to download the complete Responsibility Import interface as a standalone
program. Read the instruction as in instructions.txt file inside the resp-insert folder.

"DO COMMENT ON THIS POST FOR FEEDBACK"


Mohammed Arif
http://siebel-eim.weebly.com

Вам также может понравиться