Is there an inexpensive APEX report printer for invoices/checks/statements?

I am considering using APEX for a billing/payments type system for a small company. BI Publisher is not an option for them due to cost. Has anyone used a free or low-cost product to successfully print detailed reports such as invoices, statements, checks, etc. from APEX?

Andreé,
o no problem
1)
first make an invoice layout with field holders placed in between ##
e.g. Dear Mr #CNAME# find here your latest invoce and so no
just make it in wordpad, word or openoffice
and save it in an RTF file
I then copied the RTF in a CBLOB field using TOAD
2)
load this clob in clob variable in a pl/sql procedure
mix your RTF with real data, f.i. #CNAME# will be replaced
using pl/sql : replace('#CNAME# , rec.name); and so on for all fields
the end result is the invoice as rtf
the idea comes from this application from oracle called mailmerge
found here : [http://htmldb.oracle.com/pls/otn/f?p=18326:44:3650339304424939::::P44_ID:1682]
it's an apex app where I based my work on
have a look at it and feel free to ak more questions:
CREATE OR REPLACE PROCEDURE RIGHTSHOP.DOWNLOAD_INVOICE(p_id in number) AS
    Lob_loc     CLOB;
    i           integer := 0;
    v_length    integer;
    v_blob      BLOB;
    v_tot       FACTUUR.TOT%type;
    v_totexcl   FACTUUR.TOTEXCL%type;
    v_totbtw    FACTUUR.TOTBTW%type;
    v_docnr     FACTUUR.DOCNR%type;
    v_datum     FACTUUR.DATUM%type;
    v_klant_id  FACTUUR.KLANT_ID%type;
    v_mime      varchar2(48) := 'application/msword';
    v_file_name varchar2(2000);
    cursor  cur_artikels(p_factuur in FACTUUR_ARTIKELS.FACTUUR_ID%type) is
      select AANTAL, OMSCHRIJVING, BTW_CAT_ID, SERIENUMMER, NETTO_VERKOOPPRIJS
          , (aantal * NETTO_VERKOOPPRIJS) netto_bedrag
          , (select btw_waarde from btw_cats where id = btw_cat_id) btw        
        from factuur_artikels
       where factuur_id = p_factuur;
    rec_firma   firma%rowtype;
    str_gemeente varchar2(4000);
    v_knaam     KLANTEN.NAAM%type;
    v_kstraat   varchar2(4000);
    v_kbtw      KLANTEN.BTW_NUMMER%type;
BEGIN
    begin
    select rtf
      into lob_loc
      from factuur_layouts
     where id = (select flayout_id from firma);
    exception
      when others then
        htp.p(' error during select '||sqlerrm);
    end;
-- firma
    select NAAM1, NAAM2, ADRES1, ADRES2, POSTCODE_ID, EMAIL, WEBSITE, BTW_NUMMER, TEL1, FAX, GSM, REKENING       
      into rec_firma.NAAM1, rec_firma.NAAM2, rec_firma.ADRES1, rec_firma.ADRES2, rec_firma.POSTCODE_ID, rec_firma.EMAIL
         , rec_firma.WEBSITE, rec_firma.BTW_NUMMER, rec_firma.TEL1, rec_firma.FAX, rec_firma.GSM, rec_firma.REKENING
      from firma;
    select postcode || ' ' || gemeente
      into str_gemeente
      from postcodes
     where id = rec_firma.postcode_id;
    lob_loc := replace(lob_loc, '#FNAAM1#', rec_firma.naam1);
    lob_loc := replace(lob_loc, '#FNAAM2#', rec_firma.naam2);
    lob_loc := replace(lob_loc, '#FSTRAAT#', rec_firma.adres1 || ' ' ||  rec_firma.adres2);
    lob_loc := replace(lob_loc, '#FGEMEENTE#',str_gemeente);
    lob_loc := replace(lob_loc, '#FEMAIL#', rec_firma.email);
    lob_loc := replace(lob_loc, '#FWEBSITE#', rec_firma.website);               
    lob_loc := replace(lob_loc, '#FBTW#', rec_firma.btw_nummer);
    lob_loc := replace(lob_loc, '#FREKENING#', rec_firma.rekening);
--factuur
    select tot, totexcl, totbtw, docnr, datum, klant_id
      into v_tot, v_totexcl, v_totbtw, v_docnr, v_datum, v_klant_id
      from factuur
     where id = p_id;
    lob_loc := replace(lob_loc, '#BB#', to_char(v_totexcl, 'FM999G999G999G999G990D00'));
    lob_loc := replace(lob_loc, '#TB#', to_char(v_totbtw, 'FM999G999G999G999G990D00'));
    lob_loc := replace(lob_loc, '#TO#', to_char(v_tot, 'FM999G999G999G999G990D00'));
    lob_loc := replace(lob_loc, '#FD#', to_char(v_datum, 'DD/MM/YYYY'));
    lob_loc := replace(lob_loc, '#FN#', to_char(v_docnr));
    lob_loc := replace(lob_loc, '#eenheid#', 'Aantal');
    v_file_name := 'factuur' || v_docnr;
-- klant
    select naam, adres1 || ' ' || adres2 as straat
         , (select postcode || ' ' || gemeente from postcodes where id = klanten.postcode_id) as gemeents
         , btw_nummer
      into v_knaam, v_kstraat, str_gemeente, v_kbtw
      from klanten
     where id = v_klant_id;
    lob_loc := replace(lob_loc, '#KNAAM#', v_knaam);
    lob_loc := replace(lob_loc, '#KSTRAAT#', v_kstraat);
    lob_loc := replace(lob_loc, '#KGEMEENTE#',str_gemeente);
    lob_loc := replace(lob_loc, '#KBTW#', v_kbtw);
-- factuur_artikels   
    for vc_curr in cur_artikels(p_id) loop
      i := i + 1;
      lob_loc := replace(lob_loc, '#AR' || to_char(i) || '#', rpad(vc_curr.omschrijving, 120, ' '));
      lob_loc := replace(lob_loc, '#AN' || to_char(i) || '#', to_char(vc_curr.aantal));
      lob_loc := replace(lob_loc, '#NE' || to_char(i) || '#', to_char(vc_curr.netto_verkoopprijs, 'FM999G999G999G999G990D00'));
      lob_loc := replace(lob_loc, '#BT' || to_char(i) || '#', to_char(vc_curr.btw) ||'%');
      lob_loc := replace(lob_loc, '#BE' || to_char(i) || '#', to_char(vc_curr.netto_bedrag, 'FM999G999G999G999G990D00'));
    end loop;   
    for j in i .. 9 loop
      lob_loc := replace(lob_loc, '#AN' || to_char(j) || '#', null);
      lob_loc := replace(lob_loc, '#AR' || to_char(j) || '#', lpad(' ', 120, ' '));
      lob_loc := replace(lob_loc, '#NE' || to_char(j) || '#', null);
      lob_loc := replace(lob_loc, '#BT' || to_char(j) || '#', null);
      lob_loc := replace(lob_loc, '#BE' || to_char(j) || '#', null);
    end loop;
    v_length := length(lob_loc);
    -- set up HTTP header
    -- use an NVL around the mime type and
    -- if it is a null set it to application/octect
    -- application/octect may launch a download window from windows
    v_mime := 'application/pdf';
    owa_util.mime_header( nvl(v_mime,'application/octet'), FALSE );
    -- set the size so the browser knows how much to download
    htp.p('Content-length: ' || v_length);   
    if v_mime != 'text/html' then
        -- the filename will be used by the browser if the users does a save as
        --htp.p('Content-Disposition: attachment; filename="' || v_file_name || '"');
        htp.p('Content-Disposition: filename="' || v_file_name || '"');
    end if;
    -- close the headers
    owa_util.http_header_close;
    -- download the BLOB
    v_blob := c2b(lob_loc);   
    --wpg_docload.download_file( Lob_loc );
    wpg_docload.download_file(v_blob);
    /*update factuur
       set printed = 1
     where id = p_id;
    APEX_UTIL.SET_SESSION_STATE('P9_PRINTED', '1');
exception
  when others then
    htp.p('other error : ' || sqlerrm);
END;
/

Similar Messages

  • Is there any way to report users for spamming?

    Is there a way to report users for spamming?
    One of them in this forum is now editing their handle to nearly match genuine users.

    Use the [url http://forums.oracle.com/forums/forum.jspa?forumID=29]Community Feedback and Suggestions Forum to report spam and for question about the Forum performance login performance etc... but not for product related questions.
    Tony

  • Is there a manual I can PRINT for the Airport Utility Software Version 5.5.3 for Windows?

    Is there a manual I can print for the Airport Utility Software Version 5.5.3 for Windows?
    If there is, I can't seem to find it anywhere (in the Software, by using Google, etc).

    I dont' believe there were manuals out there for different versions of the utility. That would be quite a few different manuals.
    There are different manuals for the different base stations however...

  • Weblogic 10.3.4 as report printer for PDF printing using apex_fop.jsp

    Hello,
    Is it possible to use the apex_fop.jsp in combination with Oracle Weblogic 10.3.4 for PDF printing?
    We have managed to get our Apex application to print PDF documents using Apache FOP with Oracle Weblogic 10.3.3 or Apache Tomcat 6 as a report printer.
    But when we are trying the Oracle Weblogic 10.3.4 server as report printer, we will get the Error 500--Internal Server Error error in the pdf.
    One of application server log shows the error "Expected Node-set in Path Expression".
    Regards,
    Mathieu Meeuwissen
    Edited by: Meeuwtje on 17-jan-2012 17:00

    Steve,
    I am using JSF2.0 and getting javax.el.ExpressionFactory NoClassDefFound issues.
    OEPE Helios
    Weblogic 10.3.3
    I have an EAR containing one WAR.
    WEB-INF/lib
    el-api-2.2jar
    el-imp-2.2.jar
    jsf-api.jar (2.1.1)
    jsf.impl.jar (2.1.1)
    jstl.jar (1.1.0-D13)
    web.xml has
         <context-param>
              <param-name>com.sun.faces.expressionFactory</param-name>
              <param-value>com.sun.el.ExpressionFactoryImpl</param-value>
         </context-param>
    EAR has
    weblogic-application.xml with
    <wls:prefer-application-packages>
    <wls:package-name>org.eclipse.persistence.*</wls:package-name>
    <wls:package-name>javax.faces.*</wls:package-name>
    <wls:package-name>com.sun.faces.*</wls:package-name>
         <wls:package-name>com.sun.el.*</wls:package-name>
         <wls:package-name>javax.el.*</wls:package-name>
    </wls:prefer-application-packages>
    I see by your post that JSF2.0 support can be solved by either deploying a shared-library or using the weblogic.Deployer utility. Unfortunately, we don't have access to change the Weblogic instance in any way. I was hoping that using the prefer-application-packages would be sufficient to use alternative classes to Weblogic's but I have not been able to get it to work for the javax.el classes. I have tried not including javax.el and the app deploys but then accessing a page produces a javax.el.ELResolver no method found for invoke. Invoke being a newer method defined in el-api-2.2.jar. If I was able to convince them to add some shared libs, what are all the jars that would be required to make this work?
    Any suggestions would be greatly appreciated.
    Thanks
    John

  • International SSRS report printing for both A4 and Letter

    I've been reading a few articles on the net about making reports either A4 or Letter and I am aware of how to change the layout of the page to be specific for either
    The problem we have is that we have some users that use A4 paper, and other users that use Letter size paper.
    We would ideally like the user to press the print button from the browser window (note not exported to PDF) and for the report to be printed off on their favourite printer
    We have modified the layout to be the lowerst common denominator size (210mm x 279mm).  When we print to our printer which uses A4 paper, it errors because the paper size is odd and needs confirmation to use A4 instead.  I am making the assumption
    that using a printer with Letter size has the same problem.
    We do not want our users to have to deal with errors on their printer every time they try to print a report, it doesn't look good.  We don't want to write 2 versions of each of our reports as that will be time consuming and a maintenance nightmare
    Has anyone managed to make SSRS reports printer agnostic or at least be able to print out on either A4 or Letter without additional intervention on the printer?
    Tony

    Hi Tony,
    What version of SSRS are you using? Are you seeing this from the Report Viewer control or Report Manager?
    In my Report Manager, when I try to print a report (SSRS 2008 R2), the Layout defaults to Letter. When I look at the report (RDL) property in BIDS, the PageSize property is set to 8.5in (Width), 11in (Height), which refers to PageWidth and PageHeight respectively.
    The following blog explains these properties:
    http://blogs.msdn.com/b/bwelcker/archive/2005/08/19/alien-lanes-_2800_logical-and-physical-pagination-rules_2900_.aspx
    In SSRS 2005, for the Report Viewer control, due to a VS 2005 issue, we had a situation where it would not allow custom paper size. By modifying the report page size to the exact Letter size (279.4mm = 11 inches), for example, we would be able to see the
    Letter size in that situation. This should be fixed on and after SSRS 2005 SP2.
    In general, after rendering a report, Reporting Services sends the height and width information to the printer driver when we try to print a report, which selects the appropriate paper type based on the report size.
    In my test, when I tried to print, it chose Letter with Portrait Orientation. I was able to change it to A5 from the Print Dialog and was able to print in both ways (A5/Letter) without any error message.
    Thanks,
    Cathy Miller
    Microsoft Online Community Support

  • Is there a recommended crystal reports viewer for Mavericks?

    I am having some trouble finding a Crystal reports viewer for Mavericks and was wondering if someone might have some guidance as to the best solution(s).
    Thanks!

    This is the most current:
    http://scn.sap.com/docs/DOC-29774
    I don't know about Mavericks support, but it at least launches on my system.
    Regards.

  • Report Print Attributes and Session State Protection

    Hi all,
    I have a report (old style Apex report, not an IR) that I would like to have a Print option, producing a PDF output.
    The report is on a page that takes a number of arguments and uses the page security option "Arguments require checksum".
    When I turn on the Enable Report Printing option in the report, the Print link appears at the bottom of the report. However, clicking Print leads to the following message:
    "Error      No checksum was provided to show processing for a page that requires a checksum when one or more request, clear cache, or argument values are passed as parameters."
    Disabling Session State Protection for that page makes the report link work, but I would prefer not to do that.
    How do I get the built-in report print option to generate the required checksum?
    I'm using Apex 4.0.2.00.07, by the way.
    Alex

    WORKAROUND:
    1.) Create hidden ITEM on page (I named it P23_PREPARED_CSV_DOWNLOAD_URL).
    Enter the following for the ITEM
    as the SOURCE_TYPE : PL/SQL Function Body
    as the SOURCE: return apex_util.prepare_url('f?p=&APP_ID.:&APP_PAGE_ID.:&APP_SESSION.:CSV:')
    2.) Create BUTTON that executes javascript to open POPUP window with this url.
    a.) Create Button and enter
    &lt;a href="javascript:popupURL('&P23_PREPARED_CSV_DOWNLOAD_URL.')"&gt;Download and Save to CSV file&lt;/a&gt;as the "Text Label/Alt"
    Originally had custom code for javascript POPUP and this is not needed .... just use the APEX javascript function.
    Edited by: Bryce Tuohy on Mar 5, 2009 10:47 AM

  • Multiple Report print out on Check box click

    Hi,
    I am using version apex_3.2.
    I have created Report and define check box in report. i want to give print functionality on check box. As i tick multiple invoices from report and click on print link defined below to the report, Selected Invoices should be printed. How i can do this?
    Thanks & regards
    Vedant

    Hello Vedant,
    <li> Do you already have a report that will accept multiple invoice numbers as input and generate required "Invoice Report" for you?
    <li> If Yes - Are you looking to generate URL based on user check-box selection? If so, please provide sample URL format which will accept multiple invoice numbers.
    <li> If No - I think first you should create such report (I have limited knowledge on Oracle Reports though)
    Regards,
    Hari

  • Is there any Open source Reporting Toll for using in swing application ?

    Is there any reporting system like crystal report or any thing for report generation. Using JTable class it is so time taking job. I have downloaded Eclipse with crystal report embedded, and have created a report but can not integrate the report with JFrame with any menu item action. All the code i got releted to JSP. and few code get that are using
    //Crystal Java Reporting Component (JRC) imports.
    import com.crystaldecisions.reports.sdk.*;
    import com.crystaldecisions.sdk.occa.report.lib.*;
    //Java Imports.
    import javax.swing.*;
    public class JRCViewReport {
         private static final String REPORT_NAME = "JRCViewReport.rpt";
         public static void launchApplication() {
              try {
                   //Open report.
                   ReportClientDocument reportClientDoc = new ReportClientDocument();
                   reportClientDoc.open(REPORT_NAME, 0);
                   //Launch JFrame that contains the report viewer.
                   new ReportViewerFrame(reportClientDoc);          
              catch(ReportSDKException ex) {     
                   System.out.println(ex);
              catch(Exception ex) {
                   System.out.println(ex);               
         public static void main(String [] args) {
              //Event-dispatching thread to run Swing GUI.  This is good practice for Swing applications
              //to help ensure that events are dispatched in a predicatable order.
              //For more information on using this method, refer to the SUN site below for more details:
              //http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html
              SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                        //Hand-off to worker function to start application.
                        launchApplication();                    
    }Also there is one file ReportViewerFrame.java
    but the error is "*com.crystaldecisions.reports.sdk*" not found
    Please help ..........................................................

    I have already use Jasper Report. Thakns a lot for your suggestion. Now I think i have solved your problem...... View the code.. this code will not open the JasperViewer but from the background it will be printed and after calling the printing function you can save a data in the database ------------------------
    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
            Connection con = Database.getConnection(); // your database connection
            jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, con);
            for(int i=0;;i++) { //print all pages
                try{
                    JRPrinterAWT.printPages(jasperPrint,i,i,false);
                }catch(Exception e) {
                    break;
            }

  • Is there any Standard SAP Report?for displaying Billing block/Status-Order

    Hi,
    Am a ABAP Developer. I heard that there is SAP Query/ABAP Query/Standard SAP report for the below functionality/requirement. SO, pls. let me know if there is any SAP Query/ABAP Query/Standard SAP report?
    "This report is suppose to display Credit and Debit memo documents which are blocked and yet has a status of APRV; the other display is for Return Documents which are blocked and yet has a status RCVD."
    thanq

    Hi,
    Use t-code
    V23 - Blocked sales document for billing
    VA14L - Sales document blocked for delivery
    VFX3 - For blocked billing documents.
    Kapil
    Edited by: Kapildev Farakte on Jan 8, 2010 4:15 AM

  • Dispatch Report only for Invoiced Deliveries

    Dear Gurus,
               I am developing a Dispatch Report, where all the deliveries are included but the business User wants only Invoiced Deliveries rather than all Deliveries... could anyone help me from which table I can get that data and what is the Field name...
    Ur Help is valued.

    Hi LakshmiGanapathi,
    Thanks for quick reply...
    wat exactly i need is The report should only contains Invoiced Deliveries, so is there any Field directly avaiable in R3 or is there any Logic to make it done.
    sorry for being  basic....
    Edited by: Harsha on Feb 1, 2011 12:26 PM

  • Is there any tools or supported tools for codes check in/out?

    When a project is in a large scale, we usually will divide the system into several modules. Each one responsible for a module. Under such situation, when a programmer tries to modify his/her module code, the problem seems to have less impact. However, in case of development involving common files, I would like to have better control about program update to avoid the conflict of program versions (Just like the Visual SourceSafe supported by Visual Basic) Is there any tool like that?
    Thanks for any advise!

    Hi,
    JDeveloper supports three SCM systems out of the box which provide this kind of functionality:
    o Oracle Software Configuration Manager (SCM) is Oracle's own source control system. It's built on the Oracle database so is highly scalable and performs well. It also has a very high level of integration into JDeveloper and has been supported in the product since JDeveloper 3.2. More information here: http://otn.oracle.com/products/repository/content.html
    o CVS, probably one of the most commonly used SCM systems around because it's free, open source and very easy to use. There's a very high level of integration for CVS in the 9.0.3 version of JDeveloper. CVS doesn't scale very well to large teams, however. More information: http://www.cvshome.org.
    o ClearCase, a popular source control system from Rational Software.
    We don't currently support Visual SourceSafe, although we're investigating the best way to provide this in the near future.
    Thanks,
    Brian
    JDev Team (SCM)

  • Report merging for multiple sql statements

    I was able to generate a report using SQL. The report gives a summary of each type of transactions for a day. Now I want to display the details of each transaction type, right below the summary and continued on to the subsequent pages.
    The problem here is, after my first sql for summary is done, the results of the second sql are created in the next page. I want the results of second sql (details) to start in the first page itself. How do I continue the report without getting split, just because of a second SQL statment. Any suggestions, please advise

    try one of this.....
    set NEWPAGE 0
    or
    set PAGESIZE 0
    CRAMANA

  • How do I get the Spell Check to work. There is no drop down tab for spell checking in the edit tab.

    I do not have Spell Checking tab in my Edit tab. Firefox will underline a misspelled word but I can not access the spell check.
    == This happened ==
    Not sure how often

    I tried doing the following: When spell-checking is enabled, you can easily correct misspelled words. To correct the misspelled word, right-clickhold down the Ctrl key while you click on it and select one of the suggested words at the top of the menu.
    Believe this is for a PC. I have a MacBook Pro laptop. What do I do.

  • Is(are) there any static method(s) available for number checking?

    I want to check some texts entered by user whether it is a number or not but I want to do it with a static method which takes the texts as parameter returns a boolean true or false value. So if anyone has any solution plz help!!!

    I want to check some texts entered by user whether it
    is a number or not but I want to do it with a static
    method which takes the texts as parameter returns a
    boolean true or false value. So if anyone has any
    solution plz help!!!How does the user enter the text? It's much better to e.g. limit the possibility to enter illegal characters.
    Kaj

Maybe you are looking for

  • Target is not coming in KKBC_PKO report

    Hi, In KKBC_PKO report showing actual cost for for the given period i.e 05. but the same time it is not showing the target cost. I have checked the COSP table for the target cost. It is also not there. In KKS5 report showing the target and Actual. Al

  • Does Nokia Maps need to be online to work sometime...

    Hi all, I am very confused about the use of the free Nokia Maps applications. I have an N97 mini, and I was using the maps application throughout Egypt last week. I had the settings placed "offline", and the application would open and would work fine

  • Activate Integrated Planning for Cost Line Items posting

    Hi all, Based on this SAP Help link, there are two ways to create plan line items: 1) By adding the business transaction "Plan line items" to the user status of the WBS Element. 2) By activating Planning Integration a.k.a. Integrated Planning for ver

  • Incorrect Logical Table Source getting picked

    Dear All, Can you please help me with my query. I have 2 logical table sources for my fact table LTS1 --  L1 with some number of levels mappings LTS2-    L2 with same number of level mappings as L1 with one extra level mapped now when i query on the

  • Firefox 34 crashes on startup (in safe mode too)

    Ubuntu 14.10, "Mozilla Firefox 34.0". It has started crashing on it's own without any new tabs or sites being opened. It doesn't even run in "safe-mode". When I run FF, it shows the main window and if try to restore my tabs, it crashes. Even without