Displaying Footer on last page of report

Hi:
Is there a way to display the footer only on the last page of a report? For example, if I have a three-page report, I need the footer to be displayed on the third page only. Any help would be greatly appreciated. Thank you kindly.
Sincerely,
Dinesh.

Hi,
Use the Syntax <?start@last-page:body?><?end body?> before the footer , if your template is facing any exception include a Section break in continuous (one of the Section break types) before the above mentioned syntax.
Best Regards,
Mahesh

Similar Messages

  • Want to display footer in last page

    Hi Experts,
    I developed a classical report for service order print.
    The pages increases,  if there are more line items .
    My requirement is to display the footer in the last page only, not all the pages.
    So please help me regarding this.
    Thanks in advance.
    Regards
    Pavan

    Ok So this is a classical report and you need to set the footer only at the last page .
    In ur code use the control break
    LOOP AT ITAB.
    AT LAST.
    write:/ 'Footer text'.  "<---
    ENDAT.
    ENDLOOP.
    I hope you are discussing this about a report only .
    I hope this is not a  script requirement.
    if it is so then
    /: IF &NEXTPAGE& EQ 0 
          whatever footer you want. 
    /: ENDIF 
    Vijay

  • Over flow issue while printing footer in last page in PDF forms

    Hi,
    Could any one let me how to display footer in last page only at end of page reserving 5cm of space.
    I have designed my form with two pages:First Page and Next Page in Master Page
    Body Page contains table details and some texts after the table lines.
    First and Next Pages has footer(5cm) at the bottom.
    If Page <> Last Page,footer is not displayed.
    If page = Last Page, footer should be displayed at the very end of the page
    I have a table with multiple line items. If the line items end in First page the footer should be displayed at the bottom of the page. If the line items flow to the next pages footer should be displayed in the last page only. Next pages should be using the footer space at the end of each page if it is not the last page.
    If the positions are wrong can anyone suggest the position of the footer space and how to stop overflow of the line items onto the footer

    You have to place the footers in 2 main windows.
    write script to hide the footer if the current page is not last page. Use below script to find the total number of pages and current page in layout:ready event.
    Var no_of_pages   =   $layout.pageCount (  )
    Var curpage = $layout.page  (  ref  (  $  )  )

  • END-OF-PAGE not displayed in the last page of the classical report.

    Hi all..
    The END-OF-PAGE is not displayed in the last page of the classical report.
    SY-LINCT value is 30.
    Lines displayed in the report per page is 24.
    [3 for TOP-OF-PAGE and 3 for END-OF-PAGE]
    My Internal table has 6942 records.
    It comes 289 pages with 24 records in a page and 290 th page with 6 records.
    The END-OF-PAGE is not coming for the 290 th page.
    Please help.
    Thank You.
    Karthi M R.

    There are multiple links in SDN on this subject; Please search,
    end-of-page

  • Footer for last page

    How to provide footer for last page in areport.

    See the sample program :
    footer will print last page by using at last event.
    *& Report  ZTEST_IEVENTS
    REPORT  ZTEST_IEVENTS no standard page heading
                          line-count 40(2).
    tables : vbap.
    data : begin of i_vbap occurs 0,
           vbeln like vbap-vbeln,
           posnr like vbap-posnr,
           matnr like vbap-matnr,
           kwmeng like vbap-kwmeng,
           netpr like vbap-netpr,
           end of i_vbap.
    data wa_vbap like line of  i_vbap.
    data v_flag type c.
    select-options s_vbeln for vbap-vbeln obligatory.
    start-of-selection.
    select vbeln
           posnr
           matnr
           kwmeng
           netpr from vbap
           into table i_vbap
           where vbeln in s_vbeln.
    sort i_vbap by vbeln posnr.
    end-of-selection.
    loop at i_vbap.
    move i_vbap to wa_vbap.
    at first.
    write:/2 'Order #',15 'Item #',28 'Material #',50 'Qty', 70 'Net value'.
    skip 1.
    endat.
    at new vbeln.
    write:/2 wa_vbap-vbeln,15 wa_vbap-posnr,28 wa_vbap-matnr,
            47 wa_vbap-kwmeng,65 wa_vbap-netpr.
    v_flag = 'X'.
    endat.
    if v_flag ne 'X'.
    write:/15 wa_vbap-posnr,28 wa_vbap-matnr,
            47 wa_vbap-kwmeng,65 wa_vbap-netpr.
    endif.
    at end of vbeln.
    sum.
    skip 1.
    write:/5 'Sub totals', 47 i_vbap-kwmeng,65 i_vbap-netpr.
    skip 1.
    endat.
    at last .
    skip 1.
    sum.
    write:/5 'Grand Totals',47 i_vbap-kwmeng,65 i_vbap-netpr.
    skip 1.
    write:/ 'end of page', 'Footer'.
    endat.
    clear v_flag.
    endloop.

  • How to get footer only in last page of report

    anybody tell me
    1).how to get footer only in last page while we are displaying reports
        and header only in first page .
    2) how to create search help and how to use it .
    3) how to create lock objects and how can we use it

    Hi
    This posting has an example of using a splitter container:
    Changing width of a custom container dynamically
    This posting has a discussion about using TOP-OF-PAGE:
    Display Page numbers in ALV
    This posting has an example of using picture control:
    Insert picture in selection screen.
    This posting has an example of putting a picture on top of an ALV grid:
    Logo in OO ALV Grid
    The page footer is defined using the statement END-OF-PAGE.
    The processing block following END-OF-PAGE is processed only if you reserve lines for the footer in the LINE-COUNT option of the REPORT statement.
    <u><b>CREATION:</b></u>
    Go to SE11 Tcode
    select search help
    give the 'z' search help name and create
    select the selection method ur table name eg : 'mara'
    dialog module 'display value immediately'.
    add the field whatever u want and lpos = 1 and spos = 1 and check import and export parameter.
    where left position when displaying and spos = search position
    and then save and activate ..
    <b>Creating Search Help:</b>
    http://www.sapdevelopment.co.uk/dictionary/shelp/shelp_basic.htm
    http://www.sapdevelopment.co.uk/dictionary/shelp/shelp_imp.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/cf/21ee86446011d189700000e8322d00/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/cf/21ee2b446011d189700000e8322d00/frameset.htm
    A lock object is a virtual link of several SAP tables which is used to synchronize simultaneous access by two users to the same set of data ( SAP lock concept).
    Locks are requested and released in the programming of online transactions by calling certain function modules which are automatically generated from the definition of the lock objects. These lock objects must be explicitly created in the ABAP Dictionary.
    <b>To set locks, you must perform the following steps:</b>
    1. You must define a lock object in the ABAP Dictionary. The name of the lock object should begin with E.
    2. The function modules for requesting and releasing locks which are created automatically when the lock object is activated must be linked to the programming of the relevant online transactions.
    <u><b>Reasons for Setting Locks</b></u>
    Suppose a travel agent want to book a flight. The customer wants to fly to a particular city with a certain airline on a certain day. The booking must only be possible if there are still free places on the flight. To avoid the possibility of overbooking, the database entry corresponding to the flight must be locked against access from other transactions. This ensures that one user can find out the number of free places, make the booking, and change the number of free places without the data being changed in the meantime by another transaction.
    <u><b>Lock Mechanisms in the Database System</b></u>
    The database system automatically sets database locks when it receives change statements (INSERT, UPDATE, MODIFY, DELETE) from a program. Database locks are physical locks on the database entries affected by these statements. You can only set a lock for an existing database entry, since the lock mechanism uses a lock flag in the entry. These flags are automatically deleted in each database commit. This means that database locks can never be set for longer than a single database LUW; in other words, a single dialog step in an R/3 application program.
    Physical locks in the database system are therefore insufficient for the requirements of an R/3 transaction. Locks in the R/3 System must remain set for the duration of a whole SAP LUW, that is, over several dialog steps. They must also be capable of being handled by different work processes and even different application servers. Consequently, each lock must apply on all servers in that R/3 System.
    <u><b>SAP Locks</b></u>
    To complement the SAP LUW concept, in which bundled database changes are made in a single database LUW, the R/3 System also contains a lock mechanism, fully independent of database locks, that allows you to set a lock that spans several dialog steps. These locks are known as SAP locks.
    The SAP lock concept is based on lock objects. Lock objects allow you to set an SAP lock for an entire application object. An application object consists of one or more entries in a database table, or entries from more than one database table that are linked using foreign key relationships.
    Before you can set an SAP lock in an ABAP program, you must first create a lock object in the ABAP Dictionary. A lock object definition contains the database tables and their key fields on the basis of which you want to set a lock. When you create a lock object, the system automatically generates two function modules with the names ENQUEUE_<lock object name> and DEQUEUE_<lock object name> . You can then set and release SAP locks in your ABAP program by calling these function modules in a CALL FUNCTION statement.
    <u><b>Lock Types</b></u>
    There are two types of lock in the R/3 System:
    <u><b>
    Shared lock</b></u>
    Shared locks (or read locks) allow you to prevent data from being changed while you are reading it. They prevent other programs from setting an exclusive lock (write lock) to change the object. It does not, however, prevent other programs from setting further read locks.
    <u><b>Exclusive lock</b></u>
    Exclusive locks (or write locks) allow you to prevent data from being changed while you are changing it yourself. An exclusive lock, as its name suggests, locks an application object for exclusive use by the program that sets it. No other program can then set either a shared lock or an exclusive lock for the same application object.
    example uses the lock object ESFLIGHT and its function modules ENQUEUE_ESFLIGHT and DEQUEUE_ESFLIGHT to lock and unlock the object.
    For more information about creating lock objects and the corresponding function modules, refer to the Lock objects section of the ABAP Dictionary documentation.
    The PAI processing for screen 100 in this transaction processes the user input and prepares for the requested action (Change or Display). If the user chooses Change, the program locks the relevant database object by calling the corresponding ENQUEUE function.
    MODULE USER_COMMAND_0100 INPUT.
      CASE OK_CODE.
        WHEN 'SHOW'....
        WHEN 'CHNG'.
    * <...Authority-check and other code...>
          CALL FUNCTION 'ENQUEUE_ESFLIGHT'
    EXPORTING
    MANDT = SY-MANDT
    CARRID = SPFLI-CARRID
    CONNID = SPFLI-CONNID
    EXCEPTIONS
    FOREIGN_LOCK = 1
    SYSTEM_FAILURE = 2
    OTHERS = 3.
    IF SY-SUBRC NE 0.
    MESSAGE ID SY-MSGID
    TYPE 'E'
    NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
    The ENQUEUE function module can trigger the following exceptions:
    FOREIGN_LOCK determines whether a conflicting lock already exists. The system variable SY-MSGV1 contains the name of the user that owns the lock.
    The SYSTEM_FAILURE exception is triggered if the enqueue server is unable to set the lock for technical reasons.
    At the end of a transaction, the locks are released automatically. However, there are exceptions if you have called update routines within the transaction. You can release a lock explicitly by calling the corresponding DEQUEUE module. As the programmer, you must decide for yourself the point at which it makes most sense to release the locks (for example, to make the data available to other transactions).
    If you need to use the DEQUEUE function module call several times in a program, it makes good sense to write it in a subroutine, which you then call as required.
    The subroutine UNLOCK_FLIGHT calls the DEQUEUE function module for the lock object ESFLIGHT:
    FORM UNLOCK_FLIGHT.
         CALL FUNCTION 'DEQUEUE_ESFLIGHT'
              EXPORTING
                  MANDT     = SY-MANDT
                  CARRID    = SPFLI-CARRID
                  CONNID    = SPFLI-CONNID
              EXCEPTIONS
                  OTHERS    = 1.
         SET SCREEN 100.
    ENDFORM.
    You might use this for the BACK and EXIT functions in a PAI module for screen 200 in this example transaction. In the program, the system checks whether the user leaves the screen without having saved his or her changes. If so, the PROMPT_AND_SAVE routine sends a reminder, and gives the user the opportunity to save the changes. The flight can be unlocked by calling the UNLOCK_FLIGHT subroutine.
    MODULE USER_COMMAND_0200 INPUT.
      CASE OK_CODE.
        WHEN 'SAVE'....
        WHEN 'EXIT'.
          CLEAR OK_CODE.
          IF OLD_SPFLI NE SPFLI.
             PERFORM PROMPT_AND_SAVE.
          ENDIF.
          PERFORM UNLOCK_FLIGHT.
          LEAVE TO SCREEN 0.
        WHEN 'BACK'....
    <b>
    Another Example</b> :
    please see this link with Screen shot .....
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eea5446011d189700000e8322d00/frameset.htm
    Reward all helpfull answers
    Regards
    Pavan

  • Need ideas on how to display a footer on last page only on a dynamic document

    I have a document that is similar to this...
    Dear Customer,
    paragraph 1 content dkdk dkd alkfdjaldkjfa d
    dlkfajd;lkfja;dlkfj a.
    [repeating subform transaction data]
    Closing paragraph please contact us using one of the numbers listed below
    contact info
    The problem I am having is that I want the Contact Info block to appear as a footer on the last page only.  In addition, I want the Closing Paragraph to be on the same page as the contact info block.  The contact info is currently anchored to the bottom in the design view and when the transaction data repeats, it incorrectly pushes the closing paragraph into the contact area.  So basically if the closing paragraph starts to bleed into the contact info block, I want both closing paragraph and contact info to break to a new page.  I don't want to reduce the height of the content area because I want the transaction data to have the ability to display in the full length of the height if needed. 

    Every time you add an instance to you subform, you should hide the footer in the previous instance
    e.g.
    when adding an instance
    var intCount = _subform.count;
    _subform.addInstance(1);
    Reference_syntax.resolveNode("subform[" + intCount.toString() + "].footer").presence = "hidden"
    when removing an instance if applicable
    _subform.removeInstance(x);
    var intCount  = _subform.count - 1;
    Reference_syntax.resolveNode("subform[" + intCount.toString() + "].footer").presence = "visible";

  • Footer required only on last page of report -template uses @section context

    I have created a template that uses a tag - <?for-each@section:G_DELIVERY_ID?>. This is causing the Header and Footer to reset for each new Delivery ID. The template also has a last page only footer which I have added on the second page of template using <?start@last-page-first:body?> tag.
    When the XML data has two Delivery IDs with one page data for each. This gives a two page output as expected.
    The user requirement is that the last page only footer information in the template (on page 2) should be printed only on the last Delivery ID i.e. only once for the
    report, that too on the last page of last Delivery ID. Currently the footer is printed on both pages of the report i.e. for bothe Delivery IDs. How can I achieve this?

    Amit,
    Did you find a solution to this issue.
    Please advice what you have done to fix the issue.
    Padma.

  • Automatically displaying date of last page change

    I think I remember seeing this a year or so ago, but I can't find it.
    Is there a way to grab the date that a page was last modified and display that on the page? It seems like there should be and easy way, since the information shows up in the developer reports.
    I have the following query which works in SQL*Plus:
    select max(audit_date) from flows_020000.WWV_FLOW_BUILDER_AUDIT_TRAIL
    where flow_id = 130
    and page_id = 306
    but in a page definition I get an 'insufficient privileges' message.
    I'd to avoid granting select privileges on the table, as I'd then have to remember to redo it with each new version of ApEx as well. And since I can't get the above to work yet, I'm not sure if I could substitute strings like &APP_ID. and &PAGE_ID. into the where clause, so this could just be a Page 0 item instead of hard coding it onto each page.
    Any ideas what I'm missing? (Other than when I purge my logs)
    Thanks,
    Bill Ferguson

    (Almost) a couple of small typos in the first select statement.
    First, somehow I wound up with two create table lines. Not sure why, but get rid of one. Next, This bit of code didn't have the other DISTINCT in it (I guess somehow I copied the older version, dunno).
    So, here's the correct version:
    CREATE TABLE LAST_WEB_APP_CHANGE AS (
    SELECT DISTINCT pk_field, short_name workspace, NAME app_name, app_id, page_num, last_change_date, flow_user
    FROM (SELECT DISTINCT pk_field, app_id, page_num , lv last_change_date
    FROM (SELECT short_name|| LPAD (NVL (flow_id, 0), 6, 0)
    || LPAD (NVL (page_id, 0), 6, 0) pk_field,
    flow_id app_id, page_id page_num,
    last_value(audit_date) OVER (PARTITION BY flow_id, page_id) AS lv
    FROM flows_020000.wwv_flow_builder_audit_trail c,
                                  flows_020000.wwv_flow_companies
    WHERE c.flow_id = flow_id
    AND c.page_id = page_id
    AND security_group_id = provisioning_company_id
                   GROUP BY short_name, flow_id, page_id, security_group_id, audit_date) a
    WHERE page_num IS NOT NULL),
              flows_020000.wwv_flow_builder_audit_trail a,
              flows_020000.wwv_flow_companies c,
              flows_020000.wwv_flow_models m
    WHERE a.flow_id = app_id
    AND page_id = page_num
    AND last_change_date = audit_date
    AND a.security_group_id = c.provisioning_company_id
    AND a.security_group_id = m.security_group_id
    AND short_name = '<your workspace name>'
    Just to be sure, I retested again this morning and this one does grab (and create) the last changed record in the audit trail and stores it into whatever table name you chooes (if you edit it).
    As Vikas said in an earlier post, it best (probably) to do this on each parsing schema, since each parsing schema can have multiple apps associted with it, and it can become a can of works creating a generic schema accessible to all.
    Anyway, after the table is created and populated for each schema, then it's easy to create a page to to handle insert/update/deletes for the future maintainability of the data.
    Personally, I'm leaning towards a variation of the above code associated with a button, to update the information, maybe a drop table followed by the above code? I need to experiment some.
    But, you can create a Page 0 hidden item, I called mine :P0_LAST_CHANGE_DATE, with a SQL source of :
    select TO_CHAR (last_change_date, 'DD-MON-RRRR HH24:MI:SS') last_change_date
    from LAST_WEB_APP_CHANGE
    where app_id = &APP_ID.
    and page_num = &APP_PAGE_ID.
    Then, on each page's footer, I have the statement:
    Page Last Changed: &P0_LAST_CHANGE_DATE.
    Variations of the above can also be used to display who changed it last (the flow_user field).
    Now, each page will display the date of last change (almost) painlessly). I just need to periodically go out and maintain the table. Maybe a scheduled job run each night?
    Somebody want to supply an example of how to do that?
    Bill Ferguson

  • Footer in last page

    how to display footer in the last page for 10 pages

    Hi Harish,
    Proceed like this:
    1) Create the footer window and add the text you want to print.. but below a window element like this:
    /E FOOT
    /: If w_last EQ 'X'
      This is footer..
    /: ENDIF.
    Defining a window element will prevent print of this text automatically.
    2) in your Driver program, you must be looping at the internal table and calling the WRITE_FORM function with window MAIN inside the loop.
    As soon as the loop gets completed, set the w_last flag. and call function WRITE_FORM passing the window name as FOOTER and element as FOOT
    Thanks and Best Regards,
    Vikas Bittera.

  • Want to hide a field in the last page of report

    Hi All
    I have an issue .. can anyone of the oracle techies give me a solution for this ..? pleeaassee
    The issue is that let us say i have a report for 5 pages. I have placed a field on the margin of a report to display CONTINUE.. . Now we dont want this field to be displayed when the report is on the last page. We tried of setting property of the field Print on to All but last page but it is not accepting that
    can anybody provide a solution for that ..?
    Thanx in advance
    Hari

    The problem you're hitting is that the margin area is formatted before the body area in the report. Since this is the case, you don't know if you are on the last page since the body has yet to be printed when you print your "continue" column.
    There are a several ways to accomplish what you want:
    - Guess whether it is the last page and print based on your "guess"
    Normally you'd use a running count along with a total count to see if you've printed the last instance of the repeating frame and are hence on the last page. Since your object is in the margin rather than the body, you'd need to estimate how many records will fit on the page and if there are less then these many records left then you shouldn't print the "continue" field.
    This can be tricky to do if your frame is variable sized so you don't really know how many instances of the repeating frame will be on each page.
    - Place the "continue" field in the body rather than the margin
    To do this, you need to create a fixed sized frame that all your normal layout goes into. This should be sized to your typical page size. Then create the "continue" field after the fixed sized frame (you may need to re-size the body area - do this in "margin" mode). Set the print condition to "all pages" against the "continue" field so that it prints on every page. You can then use the running count/total count method to determine if the last repeating frame has been printed when you come to print your "continue" field.

  • Terms and conditions not getting displayed on the last page

    Hi All,
    I have to display a smartform, on the front side of the page i have to display material details and on the back side of the page i have to display terms and conditions. I' am unable to print the material details and terms and conditions in duplex mode, but on the last page only material details are getting displayed, terms and conditions are not getting displayed.
    Can you please help me how to make the terms and conditions get printed on the back side of the last page.
    Thanks,

    I'm a bit confused by the statement "I' am unable to print the material details and terms and conditions in duplex mode".
    I suppose you meant to say "I am able to print the material details and terms and conditions in duplex mode", correct?
    If the problem is that on the last form page, the T&C is not getting printed on the back of the form, you could force the T&C page by using a flow logic command as the very last element of the main window, which gets processed when all the data is already output. For the command, use the 'Go to New Page' and specify the page name for the Terms & Conditions.
    In case this causes an issue that the last page is printed twice (since the T&C page is likely defined with the next page being NEXT_PAGE), then copy the already existing T&C page, call it LASTPAGE and leave the Next Page attribute empty.

  • How to print text or field (inside a rep fram)on the last page in report 6i

    Hi Everyone,
    I want to print the text on the last page.
    my text is inside a repetating frame.
    as i want to display page no in the filed
    and if it is a last page, display page number appended with Last
    so it will look like
    for 3 pages
    on the first page
    1
    on second page
    2
    and on last page it should display
    3 Last

    You cannot know if you are on the last page or not. See this similar thread: Get value of total pages variable
    Why not put the page number in the margin like this:
    Page 1 of 3
    Page 2 of 3
    Page 3 of 3
    You do that by creating a text field in the margin. Enter this text:
    Page &<PhysicalPageNumber> of &<TotalPhysicalPages>

  • Cannot display Access Control Rules page --- BUG REPORT

    iWS 4.1sp9 on Linux Admin GUI cannot display Access Control Rules page for Netscape browsers 4.7 and 6.2 or for IE 4.
    It does work for IE 5.5 (running this in Vmware).
    I'm reporting this bug here as I can't see anywhere else to put it.

    It could be a firmware bug, or it could be something else bugging out. If the router hasn't been factory reset and it's been through a few firmware upgrades, try resetting it to factory defaults. Take note of any custom settings you have, so you can go in and manually re-configure the router. I would avoid importing a backed up config file in case the config turns out to be the problem, but it doesn't hurt to download a copy of your config now.
    Give that a try. Others might have some more ideas.
    ========
    The first to bring me 1Gbps Fiber for $30/m wins!

  • No Data on Last Page of Report

    Hi - I have a 3 page report in Crystal Reports for Visual Studio 2005. It is being rendered via a VB .NET web page that is using the CrystalReportViewer that has the page navigation buttons. Quite often (but not all the time) when you click the navigation buttons to go to the last page it has the text objects for the page but not any of the data fields. The data is completely blank.
    Sometimes when you navigate back to the second page and then go to the third page the data appears. Or some customers click the Print button and then they can see the data.
    The report was working well on an old clunky web server and I believe the problem started when we switched to a new web server. Is the new web server rendering too fast for Crystal or something?
    Any ideas to help view data on page 3 all of the time?

    Hi, Wendy;
    That is pretty strange. Have you ensured that the new server has updated Video drivers? Have you installed the latest service pack for Crystal Reports for .NET 2005?
    https://smpdl.sap-ag.de/~sapidp/012002523100006007872008E/crvs05sp1.exe
    Regards,
    Jonathan

Maybe you are looking for