Receive updates about the latest news

Subscribe to our newsletter

Do not miss any updates about Miaz-Tech valuable articles, publications, newsletters and event invitations.

    • What is dbt_artifacts?

      dbt_artifacts is a package for modeling a dbt project and its run metadata. It includes the following models to help you understand the current state of a dbt project and its performance over time. It...

    • Data migration from the Salesforce to snowflake Data warehouse by using Matillion

      Purpose of the Article: This blog explains how to load the data from Salesforce to Snowflake Intended Audience: This article will help our Organizational level kind of developers working on data migra...

    • WiMAX-A Study of Mobility

      1. Introduction The wireless market is growing rapidly; being pushed through wireless connectivity demand various wireless connectivity means are emerging (WLAN/802.11, WMAN/802.16a, WWAN/802.16d) [IE...

    • Weblogic Upgrade

      Patch Name wls1036_upgrade_generic.jar Reference https://www.youtube.com/watch?v=Be6hrYTANQE Just Click Next and Next MAKE SURE ALL OBIEE SERVICES ARE DOWN AND CLOSED IN PROCESS Open CMD prompt C:Mid...

    Tags

    bics installation OBIEE obiee 11g installation guide Oracle

    Categories

    OBIEE Reports/ Dashboards/Analysis Export

    a

    OBIEE Reports/ Dashboards/Analysis Export

    OBIEE Reports/ Dashboards/Analysis Export to Unix/Windows/FTP

    Procedure 1 using EjB:

    Oracle Business Intelligence 11g, doesn’t provide any built-in method to allow Agent to automatically export/archive OBIEE11g content (Entire Dashboard(or) Dashboard Page(or) Analysis(or) Conditional Report of Agent(or) even Briefing Book) to file system, although this can be done by linking an action to the agent which invokes server scripts, like EJBs, VBs etc. which physically move the OBIEE11g content to the file system.

    Action Framework of OBIEE 11g opens up direct integration with Java. So, any process that can be called via Java can be directly called from OBIEE 11g as well.

    We will archive/export OBIEE content by Invoking a Java Method from Actions.

    For Eg: Export OBIEE Dashboard page as pdf,excel,csv etc  and save it in any shared drive(C:\Middleware\Export)

    Applies to:

    This solution provided in this document is applicable on the below version of OBIEE11g.

    Oracle Business Intelligence Suite Enterprise Edition – Version 11.1.1.7.0 and later

    Information in this document applies to any platform.

    Solution:

    Invoke a Java Method (EJB)

    This action type allows users to browse for target Java methods deployed in Enterprise Java Beans (EJBs) and then create an Agent à Action to invoke the selected Java method.

    Steps Summary

    • Deploy “OBIEEContentExportApp.ear” file into weblogic Managed Server (bi_server1)
    • Update “ActionFrameworkConfig.xml” file to enable Java Method calls from OBIEE11g
    • Create a credential map and key for oracle.bi.actions
    • Create an Agent to Export/Archive OBIEE 11g content to FileSystem

    1 Deploy “OBIEEContentExportApp.ear” file into weblogic Managed Server (bi_server1)

    • Download the below “OBIEEContentExportApp.ear” file and place it under <MIDDLEWAREHOME>  (For Eg: C:\Middleware)

    picture1

    OBIEEContentExportApp.ear [Note once file loaded remove .txt from the end!]

    (FYI: The above ear is developed by me using JDeveloper/ADF  .This ear is generic, reusable and no hardcoded report paths implemented in it. You can deploy and use it any OBIEE 11.1.1.7.0 + to export/archive OBIEE content to your shared/local file system)

    screen-shot-2016-12-05-at-15-58-00

    • Click Lock & Edit from Change Center as shown below.
    • Click “Install” from Summary of Deployments tab as shown below.

    screen-shot-2016-12-05-at-15-58-16

    screen-shot-2016-12-05-at-15-58-23

    • Select Path: < Middleware>\OBIEEContentExportApp.ear (refer below screen for example path) and click Next.

    screen-shot-2016-12-05-at-16-02-06

    • Select “Install this deployment as an application” radio button and click Next.

    screen-shot-2016-12-05-at-16-02-36

    • Select bi_server1 as target and click Next.

    screen-shot-2016-12-05-at-16-02-42

    • Leave the default settings in the below window and click Next.

    screen-shot-2016-12-05-at-16-02-50

    • Select “No, I will review the configuration later.” radio button and click Finish as shown below.

    screen-shot-2016-12-05-at-16-04-17

    • Click Activate Changes as shown below.
    • You have to get the below message once Activate Changes successful.

    screen-shot-2016-12-05-at-16-04-25

    • By default the deployed application will be in prepared state. Here select the application and start it as shown below.
    • screen-shot-2016-12-05-at-16-05-28

    1.13 Deployed application should be in Active mode as shown below.

    screen-shot-2016-12-05-at-16-06-05

    1. Update “ActionFrameworkConfig.xml” file to enable Java Method calls from OBIEE11g:
    2. i)        We need to update the ActionFrameworkConfig.xml to enable Java Method calls from OBIEE. Navigate to “<MiddlewareHome\user_projects\domains\bifoundation_domain\config\fmwconfig\biinstances\coreapplication\ActionFrameworkConfig.xml” and update file as shown below.

    Downloadactionframeworkconfig-xml [Note once file loaded remove .txt from the end!]

    NB: make back of original actionalframeworkconfig.xml before overwriting.

    (Refer the above file for updating your Action framework config file as below.Rename ActionFrameworkConfig.xml.txt to ActionFrameworkConfig.xml)

    Registry:

    <registries>

    <registry>

    <id>reg03</id>

    <name>Sample EJBs</name>

    <content-type>java</content-type>

    <provider-class>oracle.bi.action.registry.java.EJBRegistry</provider-class>

    <description>Custom Java classes which can be invoked as action targets</description>

    <location>

    <path/>

    </location>

    <custom-config>

    <ejb-targets>

    <appserver>

    <context-factory>weblogic.jndi.WLInitialContextFactory</context-factory>

    <jndi-url>t3://localhost:9704</jndi-url>

    <server-name>localhost</server-name>

    <account>WLSJNDI</account>

    <ejb-exclude>mgmt</ejb-exclude>

    <ejb-exclude>PopulationServiceBean</ejb-exclude>

    </appserver>

    <ejb-app>

    <server>localhost</server>

    <app-context>ActionSamplesEJB</app-context>

    </ejb-app>

    </ejb-targets>

    </custom-config>

    </registry>

    </registries>

    Account:

    <accounts>

    <account>

    <name>WLSJNDI</name>

    <description>Account used to access WLS JNDI.</description>

    <adminonly>false</adminonly>

    <credentialkey>JNDIUser</credentialkey>

    </account>

    </accounts>

     

    1. Create a credential map and key for oracle.bi.actions:
      • Login to OBIEE enterprise manager -> goto Weblogic Domain -> Security -> Credentials
      • screen-shot-2016-12-05-at-16-07-16
        • Create a new credential map named “oracle.bi.actions”screen-shot-2016-12-05-at-16-07-56
        • Create a new credential key for JNDIUser using your WebLogic username/pass:

    screen-shot-2016-12-05-at-16-09-24

    Now, restart all OBIEE 11g services.

    1. Create an Agent to Export/Archive OBIEE 11g content to FileSystem:

    4.1  Login to OBIEE 11g (http://localhost:9704/analytics) and create an agent as shown below.

    screen-shot-2016-12-05-at-16-10-39

    4.2      Navigate to Delivery Content tab and select Content as Dashboard page and select Dashboard page as shown below and click Ok.

    screen-shot-2016-12-05-at-16-10-31

    4.3    Navigate to Recipients tab and select any “Role” as recipient . Here I selected BIAdministrator role for example. Refer the below screenshot.

    screen-shot-2016-12-05-at-16-12-44

    4.4 Select User Destinations as “Home Page and Dashboard” as shown below.

    screen-shot-2016-12-05-at-16-13-58

    4.5  Navigate to Actions tab and from Add New Action -> Invoke a Java Method as shown below.

    screen-shot-2016-12-05-at-16-14-30

    4.6  From Select Java Method pop-up window, select “ArchiveOBIEEContent” method as shown below and Click OK.

    screen-shot-2016-12-05-at-16-14-53

    4.7  You will get New Action Window as shown below.

    screen-shot-2016-12-05-at-16-36-42

    4.8  Here in this example, I added the below parameters

    Enter Location to Archive: C:\Middleware\Export\test.pdf

    Content to Archive: Delivery Content

    And click OK.

    Note: When you select “Content to Archive: Delivery Content”, you may get the below warning. Ignore this and click OK.screen-shot-2016-12-05-at-16-16-08

     

    4.9  Save the agent and Run it.

    Now, you can see that your Delivery content : Overview dashboard page saved under given path as shown below!!!.

    Observations:

    • You can save/archive all the below formats .
    • You can save even conditional analysis (the one we create condition on Agent as shown below)

    screen-shot-2016-12-05-at-16-34-26

    2016-12-05_1636

    2016-12-05_1616Procedure 2 using VB Script

    To accomplish this purpose, we can use a Server script which will allow us to take the generated file from OBIEE and send it to a FTP server.

    Some of the solutions that I found in internet recommends generate 2 Agents:

    1. To get the generated content from OBIEE and put in a different folder
    2. Send the content from step 1 to a FTP server

    The solution here uses just 1 Agent and can be applied also to send the content to a Network Folder.

    Procedure

    1.   Enter to OBIEE analytics
    2.  Create a sample Analysis. For this example: Export_ftp_test is used which is just a basic analysis
    3.  Create a new Agent.
    4.  Fill the tabs: General, Schedule and Condition according your requirements.
    5.  In the Delivery Content Tab, Select the Analysis created in the point 1. (Could be Dashboard Page, Entire Dashboard and briefing book as well)
    6.  Select the Format that you want to usescreen-shot-2016-12-05-at-16-38-57
    7.  Go to the Actions tab, section “Agent Condition True or No Condition exists”, and select Invoke Server Scriptscreen-shot-2016-12-05-at-16-39-04
    8.  Select VB Script as a language and in the Script Path write the vb script is located.

    vb script can be found here: export_report.vb[Note once file loaded remove .txt from the end!] or export_report_new.vbs

    This script requires also the batch file: ftp.bat which is located here[Note once file loaded remove .txt from the end!]

    Important:

    Edit the vb script file to adjust the path where the result should be delivered.

    Edit the file ftp.bat to adjust the access to the ftp server

    1.  Using the “+” icon, add a new parameters like the last image.

    Important:

    Make sure that Value column is property configured with the pdf document icon, or the format that you selected in the “Delivery content” Tab.

    1.  Press OK to close the window and save the agent.
    2.  Test the agent using the icon in the toolbar.

    screen-shot-2016-12-05-at-17-41-08

    2016-12-05_1741

     

    Procedure 3 using java script

    Here are the step-by-step instructions for how to accomplish this task.

    1) Create the following Java script file in the {OracleBI}\server\Scripts\Common folder. For this demonstration’s sake, let’s call this file Testing.js.

    Content for Testing.js:

    var fileName

    var filesysobj = new ActiveXObject([‘Scripting.FileSystemObject’]);

    fileName = [‘c:\\Middleware\\Export\\’] + Parameter(1) + [‘.PDF’];

    var fooFile = filesysobj.CopyFile(Parameter(0), fileName, true);

    This script expects the filename as in input parameter (Parameter(1)). In this example, the script adds the extension ’.PDF’ and writes the file to C:\Middleware\Export\. This can be customized to meet your needs.

    2) Now we have to create an iBot that executes the Testing.js script. In order to do that, go to Delivers and create a new iBot. Select an existing Answers report or a dashboard page and specify the delivery format such as HTML, PDF or CSV.

    Now, click on the Advanced tab. In the Filename textbox, enter the name of the script to execute (Testing.js) and select Java Script as the file type. Under Results, choose “Pass delivery content to script”. Under Other Parameters, enter the filename of the report output file. This value will be passed into the Parameter (1) in the Testing.js script.

    3) The iBot in step 2 wrote the report file to local disk. Before we can create the iBot that pushes the file from local disk to an FTP server we first have to create several files in the {OracleBI}\server\Scripts\Common folder:

     

    The first file (ftp_mht.js) is a Java Script that executes a Windows batch file ftp_mht.cmd.

    ftp_mht.js:

    var wshShell = new ActiveXObject(“WScript.Shell”);

    var sdsdsds =

    “D:\\Public\\server\\apps\\OracleBI\\server\\Scripts\\Common\\ftp_mht.cmd”;

    wshShell.Run(sdsdsds, 0, true);

    The Windows batch file ftp_mht.cmd executes the FTP batch command. In our example, the control file ftp_mht.txt provides the input parameters for the FTP command as outlined below.

    ftp_mht.cmd:

    ftp -n -i -s:C:\OracleBI\server\Scripts\Common\ftp_mht.txt

    ftp_mht.txt:

    open {Hostname}

    user {username} {password}

    cd {target_directory_on_FTP_server}

    binary

    mput C:\TEMP\*.PDF

    bye

    4) Now we can create an iBot to execute the ftp_mht.js script. Since the script does not expect any input parameters, we will have to select the “Pass no results to script” option in the Advanced tab.

    5) When scheduling the FTP delivery of this particular OBIEE report or dashboard, these two iBots will have to be chained.

    Please drop us a comment if you have any questions!

    Hope this blog helped you..

    Reference:

    http://docs.oracle.com/cd/E23943_01/bi.1111/e16364/actions.htm

    http://www.rittmanmead.com/2010/09/oracle-bi-ee-11g-action-framework-java-ejbs-and-pdf-watermarks/

    Warning: Array to string conversion in /volume1/web/wordpress/wp-includes/link-template.php on line 2361 Call Stack: 0.0001 361128 1. {main}() /volume1/web/wordpress/index.php:0 0.0001 361440 2. require('/volume1/web/wordpress/wp-blog-header.php') /volume1/web/wordpress/index.php:17 3.0939 18740176 3. require_once('/volume1/web/wordpress/wp-includes/template-loader.php') /volume1/web/wordpress/wp-blog-header.php:19 3.1177 18746216 4. include('/volume1/web/wordpress/wp-content/themes/ayro/single.php') /volume1/web/wordpress/wp-includes/template-loader.php:106 3.7485 20702664 5. ayro_qodef_get_blog_single() /volume1/web/wordpress/wp-content/themes/ayro/single.php:9 3.7488 20703040 6. ayro_qodef_get_module_template_part($template = 'templates/single/holder', $module = 'blog', $slug = '', $params = ['sidebar' => 'default']) /volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/blog-functions.php:459 3.7488 20703168 7. ayro_qodef_get_template_part($template = 'framework/modules/blog/templates/single/holder', $slug = '', $params = ['sidebar' => 'default']) /volume1/web/wordpress/wp-content/themes/ayro/framework/lib/qode.functions.php:907 3.7491 20704072 8. include('/volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/templates/single/holder.php') /volume1/web/wordpress/wp-content/themes/ayro/framework/lib/qode.functions.php:888 3.7491 20704072 9. ayro_qodef_get_single_html() /volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/templates/single/holder.php:3 4.0955 20949024 10. ayro_qodef_get_module_template_part($template = 'templates/single/parts/single-navigation', $module = 'blog', $slug = ???, $params = ???) /volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/blog-functions.php:523 4.0955 20949168 11. ayro_qodef_get_template_part($template = 'framework/modules/blog/templates/single/parts/single-navigation', $slug = '', $params = []) /volume1/web/wordpress/wp-content/themes/ayro/framework/lib/qode.functions.php:907 4.0957 20950504 12. include('/volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/templates/single/parts/single-navigation.php') /volume1/web/wordpress/wp-content/themes/ayro/framework/lib/qode.functions.php:888 4.1111 20910112 13. previous_post_link($format = '%link', $link = [0 => 'https://miaz-tech.com/wp-content/uploads/2016/05/Retro-Robot-Toy-3.jpg', 1 => 800, 2 => 903, 3 => FALSE], $in_same_term = TRUE, $excluded_terms = '', $taxonomy = 'category') /volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/templates/single/parts/single-navigation.php:27 4.1111 20910112 14. get_previous_post_link($format = '%link', $link = [0 => 'https://miaz-tech.com/wp-content/uploads/2016/05/Retro-Robot-Toy-3.jpg', 1 => 800, 2 => 903, 3 => FALSE], $in_same_term = TRUE, $excluded_terms = '', $taxonomy = 'category') /volume1/web/wordpress/wp-includes/link-template.php:2278 4.1111 20910112 15. get_adjacent_post_link($format = '%link', $link = [0 => 'https://miaz-tech.com/wp-content/uploads/2016/05/Retro-Robot-Toy-3.jpg', 1 => 800, 2 => 903, 3 => FALSE], $in_same_term = TRUE, $excluded_terms = '', $previous = TRUE, $taxonomy = 'category') /volume1/web/wordpress/wp-includes/link-template.php:2259
    Warning: Array to string conversion in /volume1/web/wordpress/wp-includes/link-template.php on line 2361 Call Stack: 0.0001 361128 1. {main}() /volume1/web/wordpress/index.php:0 0.0001 361440 2. require('/volume1/web/wordpress/wp-blog-header.php') /volume1/web/wordpress/index.php:17 3.0939 18740176 3. require_once('/volume1/web/wordpress/wp-includes/template-loader.php') /volume1/web/wordpress/wp-blog-header.php:19 3.1177 18746216 4. include('/volume1/web/wordpress/wp-content/themes/ayro/single.php') /volume1/web/wordpress/wp-includes/template-loader.php:106 3.7485 20702664 5. ayro_qodef_get_blog_single() /volume1/web/wordpress/wp-content/themes/ayro/single.php:9 3.7488 20703040 6. ayro_qodef_get_module_template_part($template = 'templates/single/holder', $module = 'blog', $slug = '', $params = ['sidebar' => 'default']) /volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/blog-functions.php:459 3.7488 20703168 7. ayro_qodef_get_template_part($template = 'framework/modules/blog/templates/single/holder', $slug = '', $params = ['sidebar' => 'default']) /volume1/web/wordpress/wp-content/themes/ayro/framework/lib/qode.functions.php:907 3.7491 20704072 8. include('/volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/templates/single/holder.php') /volume1/web/wordpress/wp-content/themes/ayro/framework/lib/qode.functions.php:888 3.7491 20704072 9. ayro_qodef_get_single_html() /volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/templates/single/holder.php:3 4.0955 20949024 10. ayro_qodef_get_module_template_part($template = 'templates/single/parts/single-navigation', $module = 'blog', $slug = ???, $params = ???) /volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/blog-functions.php:523 4.0955 20949168 11. ayro_qodef_get_template_part($template = 'framework/modules/blog/templates/single/parts/single-navigation', $slug = '', $params = []) /volume1/web/wordpress/wp-content/themes/ayro/framework/lib/qode.functions.php:907 4.0957 20950504 12. include('/volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/templates/single/parts/single-navigation.php') /volume1/web/wordpress/wp-content/themes/ayro/framework/lib/qode.functions.php:888 4.1180 20931496 13. next_post_link($format = '%link', $link = [0 => 'https://miaz-tech.com/wp-content/uploads/2016/05/shop-product-image-4.jpg', 1 => 600, 2 => 651, 3 => FALSE], $in_same_term = TRUE, $excluded_terms = '', $taxonomy = 'category') /volume1/web/wordpress/wp-content/themes/ayro/framework/modules/blog/templates/single/parts/single-navigation.php:82 4.1180 20931496 14. get_next_post_link($format = '%link', $link = [0 => 'https://miaz-tech.com/wp-content/uploads/2016/05/shop-product-image-4.jpg', 1 => 600, 2 => 651, 3 => FALSE], $in_same_term = TRUE, $excluded_terms = '', $taxonomy = 'category') /volume1/web/wordpress/wp-includes/link-template.php:2315 4.1180 20931496 15. get_adjacent_post_link($format = '%link', $link = [0 => 'https://miaz-tech.com/wp-content/uploads/2016/05/shop-product-image-4.jpg', 1 => 600, 2 => 651, 3 => FALSE], $in_same_term = TRUE, $excluded_terms = '', $previous = FALSE, $taxonomy = 'category') /volume1/web/wordpress/wp-includes/link-template.php:2296
    No Comments
    Post a Comment

    This site uses Akismet to reduce spam. Learn how your comment data is processed.