noid Siebel EIM Attachments Siebel Unleashed by alicejenny


									                                   Importing Attachments using Siebel EIM

The magnificence of data loads to Siebel is the complex data model and the referential integrity to
be taken care. Speaking of data loads, data for almost all the entities including the referential
data(views, responsibilities, LOV etc) can be loaded through Siebel EIM.

 Accounts is one very important entity and linked to many child entities. This article explains
importing of the child entity attachments in Siebel 8x using EIM. Importing of Accounts is not
covered here and account data is assumed to be already present. So essentially these attachments
are being imported to be associated to accounts.

The base table storing the account-attachment information is S_ACCNT_ATT. To populate this, first
identify the required and user key columns to be populated. Then the additional columns that are
needed by the current business requirement. The EIM table EIM_ACCNT_DTL can be used to
populate the above identified columns. Below is a the sample data mapping of columns to be

  EIM table name    Target EIM Column    Type Length     Base Table        Column       Type     Length Req UK
EIM_ACCNT_DTL      ROW_ID               varchar    15
EIM_ACCNT_DTL      IF_ROW_STAT          varchar    30
EIM_ACCNT_DTL      IF_ROW_BATCH_NUM     Number     22
EIM_ACCNT_DTL      PARTY_TYPE_CD        varchar    30 S_PARTY         PARTY_TYPE_CD    varchar      50
EIM_ACCNT_DTL      PARTY_UID            varchar   100 S_PARTY         PARTY_UID        varchar     100

EIM_ACCNT_DTL      ATT_FILE_NAME        varchar   100 S_ACCNT_ATT     FILE_NAME        varchar     200 Y   Y

EIM_ACCNT_DTL      ATT_FILE_EXT         varchar    10 S_ACCNT_ATT     FILE_EXT         varchar      10     Y
EIM_ACCNT_DTL      ACCNT_BU             varchar   100                                  varchar      15 Y   Y
EIM_ACCNT_DTL      LOC                  varchar    50
EIM_ACCNT_DTL      NAME                 varchar   100 S_ACCNT_ATT     PAR_ROW_ID
EIM_ACCNT_DTL      ATT_CODE_INSRT_FLG                 S_ACCNT_ATT     CODE_INSRT_FLG char            1
EIM_ACCNT_DTL      ATT_COMMENTS                       S_ACCNT_ATT     COMMENTS         varchar     250
EIM_ACCNT_DTL      ATT_FILE_SRC_TYPE                  S_ACCNT_ATT     FILE_SRC_TYPE    varchar      30
EIM_ACCNT_DTL      ATT_GNRC_DATA_FLG                  S_ACCNT_ATT     GNRC_DATA_FLG    char          1
EIM_ACCNT_DTL      ATT_LETTER_TYPE_CD                 S_ACCNT_ATT     LETTER_TYPE_CD   varchar      30

The required data is queried, extracted and loaded to the EIM table. This can be done using various
methods like SQL, SQL Loader, ETL Tools like Informatica Powercenter or a combination of more
than one of these methods depending upon the source system , transformation required and
volume of data.

Before running the EIM task, the physical files correpsonding to each of the attachments have to be
present in the <siebel_server_path>/input folder. This is the location from where Siebel searches for
the attachemnts and reads them.

Typically attachments can be loaded from two different sources:

    (1) From legacy system

    (2) From existing Siebel system
The preparation of files for import from Legacy system is pretty simple. The physical files of the
attachments to be migrated are copied to the above directory before the run.

The preparation for import of the attachments already stored on another Siebel system is the tricky
part. The attachment stored in the source Siebel File system cannot be directly copied beacuse
when a file with any extension like .pdf, .txt, .jpg is attached from UI(or through migration for that
matter) Siebel does not store it as it is; instead coverts into compressed file with .SAF extension and
stores in <siebel_server_path>/ File System/ATT/ folder. Please note the target directory for
migration <siebel_server_path>/Input.

 Also the name of the .SAF file is computed using specific logic. For instance, for account-
attachments the name of the file is the string 'S_ACCNT_ATT_' concatenated with
S_ACCNT_ATT.ROW_ID concatenated with '_'(underscore) concatenated with
S_ACCNT_ATT.FILE_REV_NUM followed by the extension in the end '.SAF'. An example name is
“S_ACCNT_ATT_1-ABC-1_1-XYZ-2.SAF” where ‘1-ABC-1’ is ROW_ID of S_ACCNT_ATT and ‘1-XYZ-2’ is

Hence for import, these files have to be first extracted during which they would be converted back
to normal files and then copied into the required location. The extraction can be done using the
utility sseunzip* utility. Ofcourse one simple way to adapt ,if the volume is low and the business
process supports it, is to extract the attachments manually from GUI by navigating to the Accounts -
> Attachments tab.

Once the attachments are extracted they have to be physically copied to the location
<siebel_server_path>/input and the EIM task can be run using an IFB that could look like below:

After the EIM task is completed successfully, the attachments would have been migrated and
associated to the correpsonding accounts as required.

To top