PDF Report generation and email it from a DB trigger

Dear all
Is it possible to run a report in PDF format ad email it to some clients after a specific envent through Database Trigger. For example whenever a client makes an entry into order entry table (through entry form), a trigger should execute on Orders table, this trigger should execute or generate a PDF formatted report and finally mail it to Sales team?
I'm using Oracle Database 10g. Rel.2 on Windows-XP.

kamranpathan wrote:
Is it possible to run a report in PDF format ad email it to some clients after a specific envent through Database Trigger. No. Not the way you imagine.
A trigger is fired when? During the transaction. The transaction still is not committed and can be rolled back. So if you start doing notifications and what not in the trigger, and the transaction is rolled back, then that transaction never happened. But your notification code did. And the users have been informed incorrectly - about something that did not happen.
The same trigger can also be fired in the same transaction for the same row - more than once. This can happen in specific circumstances in Oracle, where basically Oracle itself does an undo of the transaction (trigger already fired) and then redo that transaction (trigger fire again).
So in such a case, your trigger will generate two notifications from the same trigger for the same event. Inside a transaction that still could be rolled back by the session owner.
The correct approach is not to perform the action in the trigger. It is to queue the action to be executed when the transaction is committed.
For example, the trigger is on the PRODUCTS table. When a new product is added, a notification needs to be send to customers that have selected to be informed of new product releases.
The first step is to write a package that performs this notification. The procedure that drives the notification processing, gets a product identifier as input and does the checks and notification.
After this package has been tested, it is implemented indirectly via a trigger on the PRODUCTS table. Instead of the trigger directly calling this package, the trigger needs to queue an action that will execute the notification package when the transaction is committed.
This can be done using DBMS_JOB. In the trigger, a job is submitted to execute that notification package for the current product ID. The job submission is part of the existing transaction. If the transaction is rolled back, so is the job and it is removed from the job queue. If the transaction is committed, the job is also committed to the job queue and executed.

Similar Messages

  • Fully automated report generation and email

    I am trying to get a report (from a query) to run automatically every Tuesday morning.
    This is my job
    BEGIN
         dbms_scheduler.create_job (
              job_name          => 'GEN_XLS_RPT_AND_EMAIL',
              job_type          => 'STORED_PROCEDURE',
              job_action          => 'gen_bomreport_proc',
              start_date          => to_timestamp('05-12-2009 07:00','DD/MM/YYYY HH24:MI'),
              repeat_interval     => 'FREQ=DAILY; BYDAY=TUE; BYHOUR=7',
              enabled               => true,
              comments          => 'Weekly CSV Reports Output at 7:00AM'
    END;Then I have a procedure
    PROCEDURE gen_bomreport_proc IS
    DECLARE
        l_id number;
        l_document BLOB;
    BEGIN
         l_document := APEX_UTIL.GET_PRINT_DOCUMENT (
              p_application_id          => 109,
              p_report_query_name          => 'qry_Report_1week',
              p_report_layout_name     => 'qry_Report_1week',
              p_report_layout_type     => 'application/excel',
              p_document_format          => 'xls'
         l_id := APEX_MAIL.SEND (
              p_to        => 'to@me',
              p_from      => 'from@you',
              p_subj      => 'Weekly Report',
              p_body      => 'Please review the attachment.',
              p_body_html => 'Please review the attachment'
       APEX_MAIL.ADD_ATTACHMENT (
           p_mail_id    => l_id,
           p_attachment => l_document,
           p_filename   => 'report_' || to_char(sysdate-8, 'YYYY') || '_' || to_char(sysdate-8, 'DD-MM') || '-' || to_char(sysdate-1, 'DD-MM') || '.csv',
           p_mime_type  => 'application/excel');
    END;And the query that is supposed to get ran to generate the report saved as 'qry_Report_1week'
    SELECT organization_name, quote_description, quote_name, quote_pwd, user_id, contact_last_name || ', ' || contact_first_name contact_name,
      email, create_date, qty, unit_price, ext_price, discount_percent, company_name, item_no, supplier_name, product_category, mfg_part_no,
      quote_id, customer_id, exalt_user_id
    FROM bom_detail_cdw2
    where create_date BETWEEN sysdate-8 and sysdate-1 order by create_date;I tried running the job
    begin
    DBMS_SCHEDULER.RUN_JOB (
       job_name => 'GEN_XLS_RPT_AND_EMAIL',
       use_current_session => false);
    end;I read a lot about scheduler, APEX_UTIL.GET_PRINT_DOCUMENT and APEX_MAIL.ADD_ATTACHMENT, but I'm sure I missed something. Any help would be appreciated... Thanks

    Thanks Vorlon, your link was a bit helpful.
    Alright, I am making progress, but have had to come up with an alternative to the Report Query as found out that you need BI and we don't (and won't) have that.
    Option 1: dump the query result in a csv file
    Problem: I can't attach the csv to the email
    CREATE OR REPLACE PROCEDURE gen_bomreport_proc
    AS
         l_report  BLOB;
         f_report  UTL_FILE.file_type;
         bomdata_buf VARCHAR2(24000);
         bomdata_header VARCHAR2(512);
         l_id number;
         CURSOR bomdata_cur IS
              SELECT * FROM BOM_DETAIL_CDW2
              where create_date BETWEEN (sysdate-8) and (sysdate-2) order by create_date;
    BEGIN
         -- Create and populate file
         f_report := UTL_FILE.fopen ('TESTDIR','bom_output.csv', 'W');
         bomdata_header := 'Organization,Description,Quote Name,Quote PWD,User ID,Email,Created,QTY,Unit Price,Ext Price'||
              ',Disc. %,Address,' || 'Item No,Mfg Part No,Contact Name,Supplier Name,Product Category,Quote ID,Customer ID,Exalt User Id' || chr(10);
         UTL_FILE.PUT_LINE(f_report, bomdata_header);
         FOR bomdata_rec IN bomdata_cur LOOP
              bomdata_buf := bomdata_rec.organization_name || ',' || REPLACE(bomdata_rec.quote_description,',','') || ','
              || bomdata_rec.quote_name || ',' || bomdata_rec.quote_pwd || ',' || bomdata_rec.user_id || ','
              || bomdata_rec.contact_first_name || ' ' || bomdata_rec.contact_last_name || ',' || bomdata_rec.email || ','
              || bomdata_rec.create_date || ',' || bomdata_rec.qty || ',' || bomdata_rec.unit_price || ',' || bomdata_rec.ext_price
              || ',' || bomdata_rec.discount_percent || ',' || bomdata_rec.company_name || ',' || bomdata_rec.item_no || ','
              || bomdata_rec.supplier_name || ',' || bomdata_rec.product_category || ',' || bomdata_rec.mfg_part_no || ','
              || bomdata_rec.quote_id || ',' || bomdata_rec.customer_id || ',' || bomdata_rec.exalt_user_id;
          UTL_FILE.PUT_LINE(f_report, bomdata_buf);
        END LOOP;
         -- Part where I convert UTL_FILE.file_type into a BLOB and store in l_report ?? --
         UTL_FILE.FCLOSE(f_report);
         -- End
         -- email part - I'm ok here
    END;ok, so there's a line:      -- Part where I convert UTL_FILE.file_type into a BLOB and store in l_report ?? -- which I have searched for, to no avail
    Option 2: dump the query result in a BLOB
    Problem: I need to write strings/literals into the BLOB, but it keeps throwing the error PLS-00382: expression is of wrong type, when I write something like:
    DECLARE
         l_report BLOB;
         bomdata_buf VARCHAR2(24000);
         bomdata_header VARCHAR2(24000);
    BEGIN
         bomdata_header := 'Organization,Description,Quote Name,Quote PWD,User ID,Email,Created' || chr(10);
         l_report := bomdata_header;
    END;

  • Query for report generation and email alert

    Hi,
    I do have a requirement in my project like the following.
    1. We do have multiple interfaces sending request to one of the target Webservices
    2. Receiving response back from Webservices
    3. Also logging the same using log4J
    My requirement is to filter out response messages based on particular interface(Lets say Order status) using name/ timestamp for particular day, save/append all responses in to a file and should send an email report at a given point of time.
    Report has to generate once in a day E.g Time: 00:00 AM every day.
    Is that possible to achieve the same through ALSB(Aqua Logic Service Bus). Please help us in implementing this requirement.
    Thanks in advance,
    Krishna

    You probably concentrate too much on OSB. I see two issues:
    1. Appending everything into a single file. I have never tried file transport, so I don't know if this is possible or not, but looking at documentation I don't think its possible:
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/httppollertransport/transports.html#wp1081043
    2. As far as I know there is no support for scheduling in OSB.
    I don't know your situation and requirements, but you should rather implement your reporting logic outside of OSB. For example you can filter response messages in OSB and "log" them through a logging web service (service callout in alsb). That service could accumulate your report in a file and send it with the first request each day. This approach could eliminate usage of any scheduling component.
    Personally, if I were you I would thing about my infrastructure logging capabilities on proxy server, http server or whatever is in use. Combined with unix cron daemon, the solution could be very easy and straight-forward.

  • Send report as an email attachment from a page

    Hi
    I have page which generates a report based on two filters. After the report is generated, 'I want to send that report as an email attachment from that page, when button is clicked "Send Email"
    Thanks a lot in advance.'

    I accomplished functionality I believe similar to what you are looking for in an application once by querying a report into an html e-mail message. This approach gives you all kinds of flexibility. At least this would be one way of doing it. I am going to include a simplified sample here of what the script looked like. I hope this is at least helpful.
    DECLARE
    l_body_html CLOB;
    BEGIN
    l_body_html :=
    '<html>
    <head>
    <style type="text/css">
    body{font-family: Arial, Helvetica, sans-serif;
    font-size:9pt;
    margin:30px;
    background-color:#ffffff;}
    </style>
    </head><body>
    ' || UTL_TCP.crlf;
    l_body_html :=
    l_body_html || '<table border="1"><tr bgcolor="#999999">
    <th width="75" scope="col">
    Department
    </th>
    <th width="75" scope="col">
    Course
    </th>
    </tr>' || UTL_TCP.crlf;
    FOR c1 IN (SELECT some_table.DEPARTMENT, some_table.COURSE FROM some_table)
    LOOP
    l_body_html :=
    l_body_html || '<tr><td>
    ' || c1.DEPARTMENT || '
    </td>' || UTL_TCP.crlf;
    l_body_html := l_body_html || '<td>
    ' || c1.COURSE || '
    </td>' || UTL_TCP.crlf;
    l_body_html := l_body_html || '</tr>' || UTL_TCP.crlf;
    END LOOP;
    l_body_html := l_body_html || '</table>' || UTL_TCP.crlf;
    apex_mail.send(
    p_to => '<some email address>',
    p_from => '<desired from address here>',
    p_body => NULL,
    p_body_html => l_body_html,
    p_subj => '<desired subject line here>');
    END loop;
    apex_mail.push_queue;
    END;
    Edited by: stbrownOSU on Dec 8, 2009 2:53 PM
    I think something must have happened when I copied and pasted the code from TOAD. I have corrected the above code. Please try it again.

  • I bought a used iphone 4 today. how to transfer all my old and important data including apps and email settings from old iphone 3gs to the used iphone 4?

    i bought a used iphone 4 today. how to transfer all my old and important data including apps and email settings from old iphone 3gs to the used iphone 4? that means, making the iphone 4 just like the iphone 3gs?

    Well, you sink everything on your 3GS onto your laptop/computer. Then you reset your iPhone 4. When you are restarting it, add all those apps music (ect)  On to it. It seems difucult but for more info call Apple. I did that and he lead me step by step on how to do it. Well hope this helped~~

  • PDF File in and Email

    I received a PDF form in and email. I need to fill it out. I tried to convert it to Microsoft Word but cannot.
    Please help.
    Thank you,
    Alrew49

    Hi Al,
    Unfortunately ExportPDFdoes not offer that option. Is it a fillable form? If so, you can use the free Reader.
    Let me know if that works for you!
    Kind regards, Stacy

  • HT2486 HOw do I transfer contact numbers and email address from my Mac to my new iphone?

    How do I transfer contact numbers and email address from my Mac to my new iphone?

    Connect your iPhone 4S to your Mac using the iPhone’s USB cable, and then use iTunes to transfer your contacts from to the iPhone. (An alternate way is to use iCloud.)
    I’m not sure what you mean by “transferring email address” from the Mac to the iPhone. But if you mean you want to access your email from the Mac and the iPhone, the best way is to configure your email account over IMAP in Mail on both devices.

  • I can't move my contacts ( phone numbers and email addresses) from outlook express to my 8900 phone

    i can't move my contacts ( phone numbers and email addresses) from outlook express to my 8900 new phone through the usb cable.
    i have the same contacts in both outlook and outlook express, can this help.
    can anybody help

    highland_ddmac wrote:
    I have the 8900 and when I try and synch I get the error "unable to read application data". Very, very annoying.
    Wondering why I switched from Nokia!
    Can anyone help please??
    Hi and Welcome to the Forums!
    A lot more detail is needed to understand your issue...for instance:
    Your specific BB Model
    Your specific BB OS (all 4 octets)
    Your DTM version (again, 4 octets)
    Your PC PIM version
    Your PC OS version
    Good luck and let us know!
    Occam's Razor nearly always applies when troubleshooting technology issues!
    If anyone has been helpful to you, please show your appreciation by clicking the button inside of their post. Please click here and read, along with the threads to which it links, for helpful information to guide you as you proceed. I always recommend that you treat your BlackBerry like any other computing device, including using a regular backup schedule...click here for an article with instructions.
    Join our BBM Channels
    BSCF General Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • PDF reports generation problem from single oracle reports in 10G

    Hi All,
    i am generating 4 PDF reports from one Oracle reports in 10 G.
    i used RUN_REPORT_OBJECT built in 4 times with some different parameter list at a single time.
    some time it generates but some time it generate 2 or 3 out of 4.
    Can you anyone help me on this issue.
    Regards,
    Abhishek
    Code that i used for generation of report:
    on key-F0:
    DECLARE
    PL_ID PARAMLIST;
    PL_NAME VARCHAR2(10) := 'REP';
    USRNM VARCHAR2(50);
    pl_id2 paramlist;
    pl_name2 varchar2(10):= 'REP';
    usrnm2 varchar2(50);
    pl_id3 paramlist;
    pl_name3 varchar2(10):= 'REP';
    usrnm3 varchar2(50);
    pl_id4 paramlist;
    pl_name4 varchar2(10):= 'REP';
    usrnm4 varchar2(50);
    BEGIN
    USRNM := GET_APPLICATION_PROPERTY(USERNAME);
    PL_ID := GET_PARAMETER_LIST(PL_NAME);
    IF NOT ID_NULL(PL_ID) THEN
    DESTROY_PARAMETER_LIST(PL_ID);
    END IF;
    PL_ID := CREATE_PARAMETER_LIST(PL_NAME);
    IF ID_NULL(PL_ID) THEN
    MESSAGE('Error Creating Parameter List ');
    END IF;
    ADD_PARAMETER(PL_ID, 'P_PRNT_C_FAM_ID', TEXT_PARAMETER, :PRNT_C_FAM_ID);
    ADD_PARAMETER(PL_ID, 'P_NOTICE_DATE', TEXT_PARAMETER, TO_CHAR(:FRONT_END.NOTICE_DATE,'MM/DD/RRRR'));
    ADD_PARAMETER(PL_ID, 'P_REDET_DATE', TEXT_PARAMETER, TO_CHAR(:FRONT_END.REDET_DATE,'MM/DD/RRRR'));
    ADD_PARAMETER(PL_ID, 'USR_NM', TEXT_PARAMETER, USRNM);
    ADD_PARAMETER(PL_ID, 'SCHEDULE', TEXT_PARAMETER, :RUN_TIME);
    ADD_PARAMETER(PL_ID,'P_PRNT_PROV',TEXT_PARAMETER,'PRNT');
    ADD_PARAMETER(PL_ID, 'P_ENG_SP', TEXT_PARAMETER,'N');
    REDET_REPORT('506',PL_ID,'CT506_Parent_FamId_Eng'||To_Char(sysdate,'MMDDRRRR-HHMISS'));
    USRNM2 := GET_APPLICATION_PROPERTY(USERNAME);
    PL_ID2 := GET_PARAMETER_LIST(PL_NAME2);
    IF NOT ID_NULL(PL_ID2) THEN
    DESTROY_PARAMETER_LIST(PL_ID2);
    END IF;
    PL_ID2 := CREATE_PARAMETER_LIST(PL_NAME2);
    IF ID_NULL(PL_ID2) THEN
    MESSAGE('Error Creating Parameter List');
    END IF;
    ADD_PARAMETER(PL_ID2,'P_PRNT_C_FAM_ID',TEXT_PARAMETER,:PRNT_C_FAM_ID);
    ADD_PARAMETER(PL_ID2,'P_NOTICE_DATE',TEXT_PARAMETER,TO_CHAR(:FRONT_END.NOTICE_DATE,'MM/DD/RRRR'));
    ADD_PARAMETER(PL_ID2,'P_REDET_DATE',TEXT_PARAMETER,TO_CHAR(:FRONT_END.REDET_DATE,'MM/DD/RRRR'));
    ADD_PARAMETER(PL_ID2,'USR_NM',TEXT_PARAMETER,USRNM2);
    ADD_PARAMETER(PL_ID2,'SCHEDULE',TEXT_PARAMETER,:RUN_TIME);
    ADD_PARAMETER(PL_ID2,'P_PRNT_PROV',TEXT_PARAMETER,'PRNT');
    ADD_PARAMETER(PL_ID2,'P_ENG_SP',TEXT_PARAMETER,'Y');
    REDET_REPORT('506',PL_ID2,'CT506_Parent_FamId_Sp'||To_Char(sysdate,'MMDDRRRR-HHMISS'));
    USRNM3 := GET_APPLICATION_PROPERTY(USERNAME);
    PL_ID3 := GET_PARAMETER_LIST(PL_NAME3);
    IF NOT ID_NULL(PL_ID3) THEN
    DESTROY_PARAMETER_LIST(PL_ID3);
    END IF;
    PL_ID3 := CREATE_PARAMETER_LIST(PL_NAME3);
    IF ID_NULL(PL_ID3) THEN
    MESSAGE('Error Creating Parameter List');
    END IF;
    ADD_PARAMETER(PL_ID3,'P_PRNT_C_FAM_ID',TEXT_PARAMETER,:PRNT_C_FAM_ID);
    ADD_PARAMETER(PL_ID3,'P_NOTICE_DATE',TEXT_PARAMETER,TO_CHAR(:FRONT_END.NOTICE_DATE,'MM/DD/RRRR'));
    ADD_PARAMETER(PL_ID3,'P_REDET_DATE',TEXT_PARAMETER,TO_CHAR(:FRONT_END.REDET_DATE,'MM/DD/RRRR'));
    ADD_PARAMETER(PL_ID3,'USR_NM',TEXT_PARAMETER,USRNM3);
    ADD_PARAMETER(PL_ID3,'SCHEDULE',TEXT_PARAMETER,:RUN_TIME);
    ADD_PARAMETER(PL_ID3,'P_PRNT_PROV',TEXT_PARAMETER,'PROV');
    ADD_PARAMETER(PL_ID3,'P_ENG_SP',TEXT_PARAMETER,'N');
    REDET_REPORT('506',PL_ID3,'CT506_Prov_ProvId_Eng'||To_Char(sysdate,'MMDDRRRR-HHMISS'));
    USRNM4 := GET_APPLICATION_PROPERTY(USERNAME);
    PL_ID4 := GET_PARAMETER_LIST(PL_NAME4);
    IF NOT ID_NULL(PL_ID4) THEN
    DESTROY_PARAMETER_LIST(PL_ID4);
    END IF;
    PL_ID4 := CREATE_PARAMETER_LIST(PL_NAME4);
    IF ID_NULL(PL_ID4) THEN
    MESSAGE('Error Creating Parameter List');
    END IF;
    ADD_PARAMETER(PL_ID4,'P_PRNT_C_FAM_ID',TEXT_PARAMETER,:PRNT_C_FAM_ID);
    ADD_PARAMETER(PL_ID4,'P_NOTICE_DATE',TEXT_PARAMETER,TO_CHAR(:FRONT_END.NOTICE_DATE,'MM/DD/RRRR'));
    ADD_PARAMETER(PL_ID4,'P_REDET_DATE',TEXT_PARAMETER,TO_CHAR(:FRONT_END.REDET_DATE,'MM/DD/RRRR'));
    ADD_PARAMETER(PL_ID4,'USR_NM',TEXT_PARAMETER,USRNM4);
    ADD_PARAMETER(PL_ID4,'SCHEDULE',TEXT_PARAMETER,:RUN_TIME);
    ADD_PARAMETER(PL_ID4,'P_PRNT_PROV',TEXT_PARAMETER,'PROV');
    ADD_PARAMETER(PL_ID4,'P_ENG_SP',TEXT_PARAMETER,'Y');
    REDET_REPORT('506',PL_ID4,'CT506_Prov_ProvId_Sp'||To_Char(sysdate,'MMDDRRRR-HHMISS'));
    Message('Notice Submitted For Printing');
    EXIT_FORM;
    END;
    Program unit:
    PROCEDURE REDET_REPORT(rep_name in Varchar2,plist in ParamList,rep_pdf_name in Varchar2)IS
    filecode varchar(2);
    Repnm varchar(30);
    report_id REPORT_OBJECT;
    report_id_hear REPORT_OBJECT;
    report_prop VARCHAR2(20);
    v_rep VARCHAR2(100);
    rep_status VARCHAR2(200);
    bat_loc varchar2(200);
    time_slot varchar2(100);
    rep_folder_name varchar2(100):='Redet Notice for Packets Sent\';
    BEGIN
    Filecode := init.GetFileNmCode;
    if filecode 'FL' then
    if upper(substr(rep_name,1,2)) ='CC' then
    RepNm := filecode||substr(rep_name,3);
    else
    if rep_name != 'viewerr' then
    RepNm := filecode||rep_name;
    else
    RepNm := rep_name;
    end if;
    end if;
    end if;
    Begin
    begin
    report_id := find_report_object(RepNm);
    if error_code = '41219' then
    Message('Unable to execute : '|| RepNm);
    Raise FORM_TRIGGER_FAILURE;
    end if;
    end;
    set_report_object_property(report_id, REPORT_FILENAME, RepNm);
    set_report_object_property(report_id, REPORT_SERVER, init.Appl_Repserver);
    SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_EXECUTION_MODE, BATCH);
    SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_COMM_MODE,SYNCHRONOUS);
    set_report_object_property(report_id, REPORT_DESFORMAT,'PDF');
    select rprm_param_val||rep_folder_name||rep_pdf_name||'.pdf' into bat_loc from rprm where rprm_param_name = 'BAT_LOC';
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE,FILE);
    SET_REPORT_OBJECT_PROPERTY(REPORT_ID,REPORT_DESNAME,'"'||bat_loc||'"');
    begin
    v_rep := RUN_REPORT_OBJECT(report_id,plist);
    exception when others then
    Message('Error While executing running reports ::'||error_code);
    end;
    end;
    END;

    Thanx Frank
    Well one solution is that i can decrease the length of my report name and the problem does not occur than.
    any ways thanx ..but where to get the patch from.
    Kindly provide me with the link if possible.
    Thanx,
    Qaiser Qayyum Malik.
    [email protected]

  • Report Generation Toolkit - Prints data from a previous report in Word

    I am running an executable from the "system exec.vi" created with Labview 6.1. I am using the Report Generation toolkit vi's to create a report in Word that prints simple Title with test header and then appends a Table with measurement data. The problem is the measurement data in the table is from a previously printed report. This problem only exists when I Run the Report.exe from the "System Exec.vi". If I manually start the Report.exe in Windows or open in the Windows Commandline the correct data measurement data is printed in the report table. Any suggestions are appreciated. Thank You

    Hi,
    So far I havent been able to reproduce this on my computer. Could you post your code so that I can try and reproduce this issue?
    Feroz P
    National Instruments

  • Report Generation - Build an exe from a PC with different Office Version

    Hi,
     I want to build an exe from a VI that uses Report Generation Toolkit. The application has to be deployed on several PCs that use Office 2000. During development phase I installed on my PC, Office 2000 and everything was ok. After I was done with it, I reinstalled Office 2007. So, the Report Generation Toolkit from my PC is for Office 2000 (it was installed when I had Office 2000 on my PC).
     These days I had to fix some bugs from my application, I made a new exe but the part that generates Word reports (using RGT) is not working anymore - I received that error with -35...9935 (or something like this).
     I tried to search for the problem and I found it: with exactly the same VI's (_Word Dynamic VIs.vi - for Office 2000) the invoke nodes from a PC with Office 2007 and a PC Office 2000 look different. For example in Word_Open_Document.vi, the invoke node Document is different for a PC with Office 2000 + RGT for 2000 and a PC with Office 2007 + RGT for Office 2000 (no mistake).
     So, I've tried to copy the VI's from a PC with Office 2000 + RGT 2000 to my PC but I cannot build it because I get the error: There are some errors in _Word Dynamic VIs.vi (the invoke nodes do not fit).
    Finally my question is: How can I build the exe on my PC: Office 2007 but with RGT for Office 2000??
    Thanks,
    Paul
    Solved!
    Go to Solution.

    Hi,
    Thank you for your advice. Can you please tell me what you want to say with the wrapper vi? I don't really understand what you mean.
    By the way, I solved the problem. I discovered that the Invoke Nodes are updated based on the Object Library for the ActiveX control (in this case the MS Office). The data types are store in the msword9.olb (version 9 - for office 2000 in Office folder) and msword.olb (version 12 - for office 2007 also in Office folder). I tried to register the msword9.olb (using the regsvr32.exe) but it doesn't work for olb files - I need the ocx or dll. But, if I replace the msword.olb from Office 2007 with msword9.olb from Office 2000 everything work.
    Ok, steps that have to be done:
    1. Install the RGT for Office 2000 on the PC
    2. DO NOT Change anything in _Word_Dynamic VIs.vi. When Office 2007 is installed the VI arrow should be broken (error in VI)
    3. Copy the msword9.olb from a system with Office 2000 (or your version) and copy it to your system with Office 2007 with the new name msword.olb. DO NOT FORGET to make a backup of the original MS Office 2007 file and to restore it at the end.
    4. After the new msword.olb is there, the _Word_Dynamic VIs.vi should have no error
    5. Build your exe application
    6. Restore the old msword.olb
    7. ENJOY your life !
    I hope this is useful also for somebody else.
    Paulie

  • PDF report generation fails with v7.01

    I have software that generates a PDF report. I upgraded FireFox to v7.01 and I now get an error that the printer is not activated even though I am saving the report to a disc file and not printing it. Any ideas or suggestions are appreciated.

    I just received instructions from the TMG software company to uninstall and install the PDF driver they use. This fixed the problem. Apparently upgrading to v7.01 damages the driver but reinstalling it corrects the problem.
    Thanks for the advice.
    Mike

  • SQL2008R2 Reporting Services: Subscribing Report to multiple email list from table

    Hi,
    I need to subscribe one report from SSRS to different set of people. EMail list is dynamic and will come from a database table.
    Could somebody help us please.

    Hi AjayKumar_MIND,
    According to your description, you want to configure subscription for the report to send it to different sets of people. If that is the case, we can achieve your goal by using Data-driven Subscription.
    Reporting Services provides data-driven subscriptions so that you can customize the distribution of a report based on dynamic subscriber data. Data-driven subscriptions use query results to determine the recipients of the subscription, delivery settings,
    and report parameter values. At run time, the report server runs a query to get values used for subscription settings. We can use the Create Data-driven Subscription pages to define the query and assign query values to subscription settings. For detail information,
    please refer to the following steps:
      1. Open Report Manager, and locate the report for which you want to create a data-driven subscription.
      2. Hover over the report, and click the drop-down arrow.
      3. In the drop-down menu, click Manage. This opens the General properties page for the report.
      4. Select the Subscriptions tab, and then click New Data-driven Subscription.
      5. Select the delivery extension and data source for the subscription.
      6. Specify a query that retrieves subscriber data like below:
    CREATE TABLE Name (
    Group varchar(20),
    Country varchar(20),
    Type varchar(20),
    Email_to varchar(50)
    INSERT INTO Name values
    ('Group1', ’Country1’, ’Type1’, '[email protected]'),
    ('Group2', ’Country2’, ‘Type2’, '[email protected]'),
    ('Group3',’Country3’, ’Type3’, '[email protected]');
      7. Specify delivery extension options like below:
      8. Specify report parameters for the subscription like below:
      9. Specify when the subscription is processed, then click Finish to save the configuration.
    For more information about Data-driven Subscription, please refer to the following documents:
    http://msbimentalist.wordpress.com/2013/08/26/how-to-create-data-driven-subscription-in-ssrs/
    If you have any more questions, please feel free to ask.
    Thanks,
    Wendy Fu
    If you have any feedback on our support, please click
    here.
    Wendy Fu
    TechNet Community Support

  • PDF Report Generation

    Hi,
    I would like to know how to generate reports in pdf format
    I use:
    EBS: Oracle 11.5.9
    Database : 9i
    O/S : Solaris
    And I use Oracle Reports 6i version

    Hi;
    Please see:
    Oracle XML Publisher and Oracle Reports
    How To Generate And Print Reports In PDF Format From EBS With The UTF8 Character Set [ID 443778.1]
    NOTE:276691.1 - XML Publisher and Concurrent Manager Integration
    Note 276691.1: XML Publisher and Concurrent Manager Integration will provide the technology used in Oracle Ebusiness Suite for generating various types of output (formats) for communication.
    http://bloggingaboutoracleapplications.org/integration-of-oracle-apps-and-bi-publisher/
    Also see:
    Re: How To View Large PDF Reports Output?
    http://download.oracle.com/docs/cd/B13597_05/bf.904/b13673/pbr_pdf.htm
    http://www.oracle.com/technetwork/middleware/bi-publisher/documentation/index.html
    http://www.oracle.com/technetwork/middleware/reports/documentation/index.html
    Regard
    Helios

  • Report generation and office versions

    I have developed an application which uses the excell report generation features.  I have Office 2007 on my pc with LV 8.51 and report generation addon 1.1.2.  I wand to distribute (build) the application to users with office 2000.  What steps need to be done.  Do I need 2 different builds, will one build work?  How do I specify which version of the office gets linked, is this dynamic?
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

    Hi Paul.
    Thanks for the reply.
    When building applications with Report Generation Toolkit VIs, you must complete the following additional steps:
    • From the Source Files tab of the Build Application or Shared Library (DLL) dialog box, click the Add Dynamic VI button to
    add the following two VIs to the application:
    – _Excel Dynamic VIs.vi in vi.lib\addons\_office\_exclsub.llb
    – _Word Dynamic VIs.vi in vi.lib\addons\_office\_wordsub.llb
     Note, you'll need to add the VI's for both versions. You may need to re-name the vi.lib, because they'll have the same name (i think) but the references etc for different office versions do change and hence we you need to call different vi's.
    • If the application you are building contains the MS Office Report Express VI, you must add any Word or Excel templates that you use to the built application. From the Source Files tab, click the Add Support File button to add the template files to the application. By default, the custom destination for the templates is the same as the path that appears in the Destination directory field on the Target tab with a data subdirectory appended. Do not change the custom destination for the files you add.
    For example, if you are using the basic Excel template with the MS Office Report Express VI, add MSOffice_RGT_Template.xlt to the application. The basic template files are located in the
    templates\Report directory.
    Hope this explains it a little better,
    Kind Regards
    James Hillman
    Applications Engineer 2008 to 2009 National Instruments UK & Ireland
    Loughborough University UK - 2006 to 2011
    Remember Kudos those who help!

Maybe you are looking for

  • Graphic Card Upgrade for a HP Q815

    HP is telling me  that a NVIDIA GeForce 9600M GS is recomended for an upgrade on my IQ815 desktop touchscreen. But it only has 512MB of memory. i would like to put a NVIDIA GeForce 9600M GT has 1024MB of RAM on it or 1 dollar more. Could I put this o

  • HP Printer Deskjet In Advantage 2515.

    Intermittantly when copying and printing, prints only top 1/3 of page. Its very hot here, being the height of our hot season, could that be the problem or how can I fix this? Machine scans OPK. Mike Main

  • How can I read paragraph box scale?

    Hi, I am trying to read the values off some text boxes in photoshop for an exporter script that I am working on. I ran into an issue that I can't  figure out, hopefully it's just a small thing. When reading the values from paragraph text, there are s

  • EBMS/AS2 Multiple Business Actions with the same document

    We have an issue where we have a single document type (OrderResponse) that will have a different Business Action depending on which partner it is coming from. In testing this, we've found that the Business Action we setup in B2B MUST_ have the same n

  • Data loggin in excell sheet

    hello sir i want to log analog data in the excell sheet. the report should be event based i.e if i give start command data should be logged in the excell sheet. please reply me as soon as possible