Sunday, August 14, 2011

BIP Reports as Siebel Attachments

Continuing in the vein of BIP Reporting series, lets discuss another reporting requirement.

"Generate the SLA for the Service Request based on the associated Agreement and add the generated SLA as attachment to the Service Request."

The closest solution which i was able to achieve was based on the support web solution "Siebel BI Publisher 8 Reports Business Service [ID 823360.1]". The key idea here is to generate BIP report and associate that report as attachment to the Service Request. Below workflow was created in order to accomplish the desired task.


Lets discuss each step in detail.

1 - Report Output

This subprocess step invokes the "BIP Create Report Output" workflow process. This workflow creates a new record in the "Report Output BC" buscomp to be used in next step.

Input Arguments

SubProcess Input: Report Name
Type: Literal
Value: SR SLA Report

The input is name of BIP Report to be executed.


Output Arguments

PropertyName: ReportId
Type: Output Argument
Subprocess Output: ReportOutputId

2 - Generate Report

This step is the heart of this workflow. "XMLP Driver Service" business service generates the BIP report on the server based on the search specification given in the Bookmark argument using the integration object as mentioned. Generated report is associated with the row id (ReportId) obtained in the earlier step. One can also see generated report in "My BIP Reports view".This step takes following input argument.

Business Service Name:XMLP Driver Service
Business Service Method: GenerateBIPReport

Input Arguments

InputArgument: BIPUserId
Type: Literal
Value: Name of the BIP User Id

InputArgument: BIPPassword
Type: Literal
Value: Pwd of the BIP User Id

InputArgument: LoginId
Type: Expression
Value: LoginId()

InputArgument: MethodName
Type: Literal
Value: GenerateBIPReport

InputArgument: ReportName
Type: Literal
Value: SR SLA Report

InputArgument: ReportOutputId
Type: Process Property
Value: ReportId

InputArgument: ReportOutputType
Type: Literal
Value: PDF

InputArgument: ReportSelected
Type: Literal
Value: SR SLA Report

InputArgument: ViewMode
Type: Literal
Value: All

InputArgument: LanguageCode
Type: Literal
Value: ENU

InputArgument: Bookmark
Type: Expression
Value: "[Id] = '" + [&Object Id] + "'"

InputArgument: IntegrationObject
Type: Literal
Value: BIP SR IO

InputArgument: LDAPEnabled
Type: Literal
Value: True

3 - Get Report Path

Once the report is generted the next step is to get the path of the report file stored in the file system. This could be easily done using "FINS Industry BC Facility Service" business service. The output of this the absolute path name of the report file.

Business Service Name: FINS Industry BC Facility Service
Busienss Service Method: GetFile

Input Arguments

InputArgument: AttachmentId
Type: Process Property
Property Name: ReportId

InputArgument: BusObjName
Type: Literal
Value: Report Administration

InputArgument: FileBusCompName
Type: Literal
Value: Report Output BC

InputArgument: FileNameField
Type: Literal
Value: ReportOutputFileName

InputArgument: RootBusCompName
Type: Literal
Value: Report Output BC

InputArgument: RowId
Type: Process Property
Property Name: ReportId

Output Arguments

Property Name: Sourcepath
Type: Output Argument
Output Argument: Value

4 - Create Attachment

Once we have the absolute path of report in the file system, next step is to associate report as attachment to the service Request buscomp. This is achieved using the same business service used in earlier step but different method.

Business Service Name: FINS Industry BC Facility Service
Busienss Service Method: CreateFile

Input Arguments

InputArgument: BusObjName
Type: Literal
Value: Service Request

InputArgument: FileBusCompName
Type: Literal
Value: Service Request Attachment

InputArgument: FileNameField
Type: Literal
Value: ActivityFileName

InputArgument: RootBusCompName
Type: Literal
Value: Service Request

InputArgument: RowId
Type: Process Property
Property Name: Object Id

InputArgument: SourcePath
Type: Process Property
Property Name: SourcePath

This will create attachment record in the Service Request Attachment buscomp for the specified service Request.

This type of requirement can be frequent across Public Sector or Life Sciences domain and this post might just help in conquering those. During the heist of creating attachment i also found that one can also email the generated BIP report. One can look at Alex post for more details regarding this.

Happy Reporting!!

3 comments:

Anonymous said...

Good One!!

Suresh

Siebelish said...

Yo Suresh!! We are partners in crime for this requirement...:)

Unknown said...

Hi,

I am having issues at step 3, Get Report path. We have 2 app servers. If the attachment is created in siebesrvr/TEMP of app1, then that BIP report would be attached to the email. But sometimes the attachments get created in the app 2 server in TEMP directory. Apparently, the email will not have the attachment with it. Is there any other way I could direct the attachments be created only in app 1 server? Or any other better solution to offer here would be highly appreciated :) thanks

Regards,
Abhi