TOP of PAGE  using ABAP oo with single CUSTOM CONTROL

Can anybody please tell me how to handle TOP_OF_PAGE using ABAP OBJECTS with a SINGLE CUSTOM CONTROL and not with  SPLIT CONTAINER(i.e. using single CL_GUI_CUSTOM_CONTAINER and single grid CL_GUI_ALV_GRID  ). Is it possible if so Please help me out?

Hi Ravi,
Here is my code. i didn't handle the top_of_page event yet but created a method to handle.
REPORT  ZSATEESH_ALV_CONTAINER MESSAGE-ID ZZ
                  LINE-SIZE 150 NO STANDARD PAGE HEADING.
PROGRAM id        :  ZSATEESH_ALV_CONTAINER                         *
Title             : Sales document report                           *
Author            : Sateesh                                         *
Date              :                                                 *
CR#               :                                                 *
Dev Initiative    :
Description       :ALV GRID/LIST Report which displays the sales
                      document header data using ABAP Objects.
                          Modification Log
Corr. no        date       programmer        description
                TYPES Declaration
*--Type for the Header Sales data
TYPES: BEGIN OF TY_VBAK ,
        INDICAT LIKE ICON-ID,               " Icon
        VBELN   LIKE VBAK-VBELN,            " Sales Document
        AUDAT   LIKE VBAK-AUDAT,            " Document date
        VBTYP   LIKE VBAK-VBTYP,            " SD document category
        AUART   LIKE VBAK-AUART,            " Sales Document Type
        AUGRU   LIKE VBAK-AUGRU,            " Order reason
        NETWR   LIKE VBAK-NETWR,            " Net Value
        WAERK   LIKE VBAK-WAERK,            " SD document currency
     END OF TY_VBAK.
                DATA Declaration
*--Tableto hold the header sales data
DATA: TB_VBAK  TYPE  STANDARD TABLE OF TY_VBAK.
*--Table to hold the Icons
DATA: BEGIN OF TB_ICON OCCURS 0,
        ID   TYPE ICON-ID,                  " Icon
        NAME TYPE ICON-NAME,                " Name of an Icon
      END OF TB_ICON.
*--Declaration of ALV Grid Tables
DATA: TB_FDCAT         TYPE LVC_T_FCAT,     " Fieldcatalog
      TB_SORT          TYPE LVC_T_SORT.     " Sorting
DATA: OK_CODE          LIKE SY-UCOMM.       " sy-ucomm
*--Reference variables for container and grid control.
DATA: CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
                                            " Container reference
      OBJ_ALV_GRID     TYPE REF TO CL_GUI_ALV_GRID.
" Alv Grid reference
                  S T R U C T U R E S
DATA: X_FDCAT          TYPE LVC_S_FCAT,     " Fieldcatalog
      X_LAYOUT         TYPE LVC_S_LAYO,     " layout
      X_SORT           TYPE LVC_S_SORT,     " Sorting
      X_VBAK           TYPE TY_VBAK,        " sales header stucture
      X_ICON           LIKE TB_ICON.        " icons structure
                  C O N S T A N T S
*--Declaration of Constants
CONSTANTS :
            C_GREEN(40)    TYPE  C VALUE 'ICON_GREEN_LIGHT',
            C_RED(40)      TYPE  C VALUE 'ICON_RED_LIGHT',
            C_YELLOW(40)   TYPE  C VALUE 'ICON_YELLOW_LIGHT',
            C_X            TYPE  C VALUE 'X'.      " Flag
                  SELECTION SCREEN
*--Block 1.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER: P_AUDAT LIKE VBAK-AUDAT
                   DEFAULT '20050101'(003).    " doc date.
SELECTION-SCREEN: END OF BLOCK B1.
*--bLOCK 2.
SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETER :P_ALVDIS AS CHECKBOX.              " For List/Grid
SELECTION-SCREEN : END OF BLOCK B2.
      Class LC_VBAK  definition
CLASS  LC_VBAK DEFINITION.
  PUBLIC SECTION.
    METHODS: VBAK_POPULATE,                 " sales header population
             ICON_POPULATE,                 " Icons population
             FINAL_POPULATE,                " Final ALV population
             DISPLAY,                      " Displaying ALV
             TOP_OF_PAGE FOR EVENT TOP_OF_PAGE OF CL_GUI_ALV_GRID
                                           IMPORTING E_DYNDOC_ID.
ENDCLASS.                    "LC_VBAK DEFINITION
      Class LC_VBAK IMPLEMENTATION
CLASS LC_VBAK IMPLEMENTATION.
  METHOD VBAK_POPULATE.
*-- selecting from VBAK
    SELECT VBELN
            AUDAT
            VBTYP
            AUART
            AUGRU
            NETWR
            WAERK
            INTO   CORRESPONDING FIELDS OF TABLE TB_VBAK
            FROM VBAK
            WHERE AUDAT > P_AUDAT AND
            NETWR  > 0.
    IF SY-SUBRC <> 0.
      SORT TB_VBAK  BY AUART VBTYP WAERK .
    ENDIF.
  ENDMETHOD .                    "VBAK_POPULATE
  METHOD ICON_POPULATE.
*--selecting from ICON table
    SELECT ID
           NAME
           INTO TABLE TB_ICON
           FROM ICON.
    IF SY-SUBRC = 0.
      SORT TB_ICON BY NAME .
    ENDIF.
  ENDMETHOD .                    "ICON_POPULATE
  METHOD FINAL_POPULATE.
*--looping through VBAK table into the work area
    LOOP AT TB_VBAK INTO X_VBAK .
      IF X_VBAK-NETWR <= 10.
*--Reading the ICON table into work area comparing field NAME
        READ TABLE TB_ICON INTO X_ICON WITH KEY NAME = C_GREEN
                                                 BINARY SEARCH.
        IF SY-SUBRC = 0.
          X_VBAK-INDICAT =  X_ICON-ID.
*--modifying the TB_VBAK table
          MODIFY TB_VBAK FROM X_VBAK.
        ENDIF.
      ELSEIF X_VBAK-NETWR > 10 AND X_VBAK-NETWR < 100.
*--Reading the ICON table into work area comparing field NAME
        READ TABLE TB_ICON INTO X_ICON WITH KEY NAME = C_YELLOW
                                                 BINARY SEARCH.
        IF SY-SUBRC = 0.
          X_VBAK-INDICAT =  X_ICON-ID.
*--modifying the TB_VBAK table
          MODIFY TB_VBAK FROM X_VBAK.
        ENDIF.
      ELSEIF X_VBAK-NETWR >= 100.
*--Reading the ICON table into work area comparing field NAME
        READ TABLE TB_ICON INTO X_ICON WITH KEY NAME = C_RED
                                                 BINARY SEARCH.
        IF SY-SUBRC = 0.
          X_VBAK-INDICAT =  X_ICON-ID.
*--modifying the TB_VBAK table
          MODIFY TB_VBAK FROM X_VBAK.
        ENDIF.
      ENDIF.
    ENDLOOP.
  ENDMETHOD.                    "FINAL_POPULATE
      METHOD top_of_page                                            *
  METHOD TOP_OF_PAGE.
    PERFORM EVENT_TOP_OF_PAGE USING E_DYNDOC_ID.
  ENDMETHOD.                    "top_of_page
  METHOD DISPLAY.
*--Building fieldcatalog table
    PERFORM FIELDCATLOG.
*--FOr making the Layout settings
    PERFORM LAYOUT.
*--For sorting the fields
    PERFORM SORTING.
*--perform for displaying the ALV
    PERFORM ALV_GRID_DISPLAY.
  ENDMETHOD.                    "DISPLAY
ENDCLASS.                    "LC_VBAK IMPLEMENTATION
*&      Form  FIELDCATLOG
     Building the FIELDCATALOG
FORM FIELDCATLOG .
  CLEAR: X_FDCAT,TB_FDCAT[].
  X_FDCAT-ROW_POS   = 1.
  X_FDCAT-COL_POS   = 1.
  X_FDCAT-FIELDNAME = 'INDICAT'(004) .
  X_FDCAT-TABNAME   = 'TB_VBAK'(005).
  X_FDCAT-SCRTEXT_L = 'STATUS_INDICATOR'(006).
  APPEND X_FDCAT TO TB_FDCAT.
  X_FDCAT-ROW_POS   = 1.
  X_FDCAT-COL_POS   = 2.
  X_FDCAT-FIELDNAME = 'VBELN'(007) .
  X_FDCAT-TABNAME   = 'TB_VBAK'(005).
  X_FDCAT-SCRTEXT_L = 'SALES DOC'(008).
  APPEND X_FDCAT TO TB_FDCAT.
  X_FDCAT-ROW_POS   = 1.
  X_FDCAT-COL_POS   = 3.
  X_FDCAT-FIELDNAME = 'AUDAT'(009) .
  X_FDCAT-TABNAME   = 'TB_VBAK'.
  X_FDCAT-SCRTEXT_L = 'DOC DATE'(010).
  APPEND X_FDCAT TO TB_FDCAT.
  X_FDCAT-ROW_POS   = 1.
  X_FDCAT-COL_POS   = 4.
  X_FDCAT-FIELDNAME = 'VBTYP'(011) .
  X_FDCAT-TABNAME   = 'TB_VBAK'.
  X_FDCAT-SCRTEXT_L = 'SALES CATEGORY'(012).
  APPEND X_FDCAT TO TB_FDCAT.
  X_FDCAT-ROW_POS   = 1.
  X_FDCAT-COL_POS   = 5.
  X_FDCAT-FIELDNAME = 'AUART'(013) .
  X_FDCAT-TABNAME   = 'TB_VBAK'.
  X_FDCAT-SCRTEXT_L = 'DOC TYPE'(014).
  APPEND X_FDCAT TO TB_FDCAT.
  X_FDCAT-ROW_POS   = 1.
  X_FDCAT-COL_POS   = 6.
  X_FDCAT-FIELDNAME = 'AUGRU'(015) .
  X_FDCAT-TABNAME   = 'TB_VBAK'.
  X_FDCAT-SCRTEXT_L = 'REASON'(016).
  APPEND X_FDCAT TO TB_FDCAT.
  X_FDCAT-ROW_POS   = 1.
  X_FDCAT-COL_POS   = 7.
  X_FDCAT-FIELDNAME = 'NETWR'(017) .
  X_FDCAT-TABNAME   = 'TB_VBAK'.
  X_FDCAT-SCRTEXT_L = 'NET VALUE'(018).
  X_FDCAT-DO_SUM   = C_X.
  APPEND X_FDCAT TO TB_FDCAT.
  X_FDCAT-ROW_POS   = 1.
  X_FDCAT-COL_POS   = 8.
  X_FDCAT-FIELDNAME = 'WAERK'(019) .
  X_FDCAT-TABNAME   = 'TB_VBAK'.
  X_FDCAT-SCRTEXT_L = 'UNIT'(020).
  APPEND X_FDCAT TO TB_FDCAT.
ENDFORM.                    " FIELDCATLOG
*&      Module  STATUS_0007  OUTPUT
      module for setting the pf status
MODULE STATUS_0007 OUTPUT.
  SET PF-STATUS 'ZSTATUS'.
SET TITLEBAR 'xxx'.
ENDMODULE.                 " STATUS_0007  OUTPUT
*&      Module  USER_COMMAND_0007  INPUT
      module  for handling the user commands
MODULE USER_COMMAND_0007 INPUT.
  OK_CODE = SY-UCOMM.
  CASE OK_CODE.
    WHEN 'BACK'.
      LEAVE TO SCREEN 0.
    WHEN 'CANCEL'.
      LEAVE TO SCREEN 0.
    WHEN 'EXIT'.
      LEAVE TO SCREEN 0.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0007  INPUT
*&      Form  LAYOUT
      ALV Layout settings
FORM LAYOUT .
  CLEAR X_LAYOUT.
*-- making Layout settings
  X_LAYOUT-GRID_TITLE = 'Sales Header Document'(021).
  X_LAYOUT-ZEBRA      = C_X.
  IF P_ALVDIS =  C_X.
    X_LAYOUT-NO_HGRIDLN = C_X.
    X_LAYOUT-NO_VGRIDLN = C_X.
  ENDIF.
ENDFORM.                    " LAYOUT
*&      Form  SORTING
      sub routine for sorting criteria
FORM SORTING .
  CLEAR X_SORT.
  X_SORT-SPOS = '1'(022).
  X_SORT-FIELDNAME = 'AUART'.
  X_SORT-UP        = C_X.
  APPEND X_SORT TO TB_SORT.
  CLEAR X_SORT.
  X_SORT-SPOS = '2'(023).
  X_SORT-FIELDNAME = 'VBTYP'.
  X_SORT-UP        = C_X.
  APPEND X_SORT TO TB_SORT.
  CLEAR X_SORT.
  X_SORT-SPOS = '3'(024).
  X_SORT-FIELDNAME = 'WAERK'.
  X_SORT-UP        = C_X.
  X_SORT-SUBTOT    = C_X.
  APPEND X_SORT TO TB_SORT.
ENDFORM.                    " SORTING
*&      Form  CREATE_CONTAINER_OBJECT
      subroutine to create object of container
FORM CREATE_CONTAINER_OBJECT .
  CREATE OBJECT CUSTOM_CONTAINER
    EXPORTING
      CONTAINER_NAME              = 'CUST_CONTROL'(025)
    EXCEPTIONS
      CNTL_ERROR                  = 1
      CNTL_SYSTEM_ERROR           = 2
      CREATE_ERROR                = 3
      LIFETIME_ERROR              = 4
      LIFETIME_DYNPRO_DYNPRO_LINK = 5
      OTHERS                      = 6
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " CREATE_CONTAINER_OBJECT
*&      Form  CREATE_ALV_GRID_OBJECT
      subroutine to create object of ALV GRID
FORM CREATE_ALV_GRID_OBJECT .
  CREATE OBJECT OBJ_ALV_GRID
    EXPORTING
      I_PARENT          = CUSTOM_CONTAINER
    EXCEPTIONS
      ERROR_CNTL_CREATE = 1
      ERROR_CNTL_INIT   = 2
      ERROR_CNTL_LINK   = 3
      ERROR_DP_CREATE   = 4
      OTHERS            = 5
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " CREATE_ALV_GRID_OBJECT
*&      Form  ALV_GRID_DISPLAY
      subroutine to call method for displaying the ALV GRID
FORM ALV_GRID_DISPLAY .
  CALL METHOD OBJ_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      IS_LAYOUT                     = X_LAYOUT
    CHANGING
      IT_OUTTAB                     = TB_VBAK
      IT_FIELDCATALOG               = TB_FDCAT
      IT_SORT                       = TB_SORT
    EXCEPTIONS
      INVALID_PARAMETER_COMBINATION = 1
      PROGRAM_ERROR                 = 2
      TOO_MANY_LINES                = 3
      OTHERS                        = 4.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  CALL SCREEN 0007.
ENDFORM.                    " ALV_GRID_DISPLAY
                START OF SELECTION
START-OF-SELECTION.
*--Creating a reference variable for the class LC_VBAK
  DATA : OBJ1 TYPE REF TO LC_VBAK.
*--Creating a container object
  PERFORM CREATE_CONTAINER_OBJECT.
*--Creating a ALV GRID control object
  PERFORM CREATE_ALV_GRID_OBJECT.
*--Creating a object of class LC_VBAK
  CREATE OBJECT OBJ1.
*--calling vbak population method
  CALL METHOD OBJ1->VBAK_POPULATE.
*--calling icon population method
  CALL METHOD OBJ1->ICON_POPULATE.
*--calling fianl table population method
  CALL METHOD OBJ1->FINAL_POPULATE.
*--calling final  method for display
  CALL METHOD OBJ1->DISPLAY.
*&      Form  EVENT_TOP_OF_PAGE
      text
     -->P_E_DYNDOC_ID  text
FORM EVENT_TOP_OF_PAGE  USING    P_E_DYNDOC_ID TYPE REF TO
                                                  CL_DD_DOCUMENT.
ENDFORM.                    " EVENT_TOP_OF_PAGE

Similar Messages

  • Allignment in ALV top of page using oops

    I am displaying some fields with their values on top of page using Classes.but i am not able to get a proper alignment.
    i want the field and their respective values one-below the other with once the field description and the values below after the description. eg...
      field : 0125465
               0123654
               23654100
    sales : au01
               sd02
               GH26
    org    : 101
               102
               103

    Check this sample..
    Take the code from the HTML_TOP_OF_PAGE from the below report.
    REPORT  ztest_page.
    DATA : it_flight TYPE TABLE OF sflight WITH HEADER LINE.
    data: t type x.
    START-OF-SELECTION.
      SELECT * FROM sflight INTO TABLE it_flight.
    END-OF-SELECTION.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program          = sy-repid
          i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE'
          i_callback_top_of_page      = 'TOP_OF_PAGE'
          i_structure_name            = 'SFLIGHT'
        TABLES
          t_outtab                    = it_flight
        EXCEPTIONS
          program_error               = 1
          OTHERS                      = 2.
    *&      Form  TOP_OF_PAGE
    *       text
    FORM top_of_page.
      WRITE 'This is the Top of page which triggers in print'.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  html_top_of_page
    FORM html_top_of_page USING document TYPE REF TO cl_dd_document.
      DATA : dl_text(255) TYPE c.  "Text
    * Add new-line
      CALL METHOD document->new_line.
      CALL METHOD document->new_line.
      CLEAR : dl_text.
    * program ID
      dl_text = 'Program Name :'.
      CALL METHOD document->add_gap.
      CALL METHOD document->add_text
        EXPORTING
          text         = dl_text
          sap_emphasis = cl_dd_area=>heading
          sap_color    = cl_dd_area=>list_heading_int.
      CLEAR dl_text.
      dl_text = sy-repid.
      CALL METHOD document->add_text
        EXPORTING
          text         = dl_text
          sap_emphasis = cl_dd_area=>heading
          sap_color    = cl_dd_area=>list_negative_inv.
    * Add new-line
      CALL METHOD document->new_line.
      CLEAR : dl_text.
      dl_text = sy-uname.
      CALL METHOD document->add_gap
        EXPORTING
          width = 34.
      CALL METHOD document->add_text
        EXPORTING
          text         = dl_text
          sap_emphasis = cl_dd_area=>heading
          sap_color    = cl_dd_area=>list_negative_inv.
    * Add new-line
      CALL METHOD document->new_line.
      CLEAR : dl_text.
      CALL METHOD document->add_gap
        EXPORTING
          width = 34.
    * Move date
      WRITE sy-datum TO dl_text.
      CALL METHOD document->add_text
        EXPORTING
          text         = dl_text
          sap_emphasis = cl_dd_area=>heading
          sap_color    = cl_dd_area=>list_negative_inv.
    * Add new-line
      CALL METHOD document->new_line.
      CLEAR : dl_text.
    * Move time
      WRITE sy-uzeit TO dl_text.
      CALL METHOD document->add_gap
        EXPORTING
          width = 34.
      CALL METHOD document->add_text
        EXPORTING
          text         = dl_text
          sap_emphasis = cl_dd_area=>heading
          sap_color    = cl_dd_area=>list_negative_inv.
    * Add new-line
      CALL METHOD document->new_line.
    ENDFORM.                    "HTML_TOP_OF_PAGE
    same Code can be used in the class. you take the above code and see..

  • Top Of Page in ABAP Queries

    Hello everyone,
        I want to write some text in theTop-of-page event of Queries.
        I am trying to print the text by using a write statement.But I am not succesful.
        Let me know how to use top-of-page in ABAP Queries.
       Regards,
       Najam

    Hi,
    you need to write the desired code in the top of page event....
    here is the piece of code ..just go through this... and call top of page before start of selection.
    TOP OF PAGE
    TOP-OF-PAGE .
    To Write the header of the Report
      PERFORM write_header .
    *&      Form  WRITE_HEADER
          text :Subroutine to write header
    FORM write_header .
      DATA: v_date(10),
            v_start(10),
            v_end(10) .
      WRITE : sy-datum  TO v_date  MM/DD/YYYY,
              p_prcdte  TO v_start MM/DD/YYYY.
      WRITE   5 '|'  .  ULINE AT 5(95)  .  WRITE 100 '|'    .
      WRITE /30  text-028 INVERSE COLOR 7  .  WRITE 100'|'  .
      WRITE   5 '|'  .  ULINE AT /5(95)  .  WRITE 100 '|'   .
      WRITE:  /7 'Date/Time        :', v_date, ' / ' , sy-uzeit   .WRITE 100 '|'  .
      WRITE   5 '|'  .  ULINE AT /5(95) .WRITE 100 '|'  .
      WRITE: /7 'Processing Month :', v_start   .  WRITE 100 '|'  .
      WRITE   5 '|'  .  ULINE AT /5(95).WRITE 100 '|'   .
      SKIP 2 .
    ENDFORM.                    " WRITE_HEADER
    if u wanna to do for alv then the piece of code provided by Nick will be helpful..
    Thanks & Regards

  • TOP-OF-PAGE using Object Oriented model

    Hi all,
    (1)  I hve a doubt reg the top-of-page using Object oriented concept . While iam creating the top-of-page iam using a class called ' cl_dd_document' , wht is the purpose of that class ?
    (2) I have displayed a text in the top-of-page container . I want to display another text in a new line in the same container below the first text . How can i do it . plz send me a sample code for it .
    Vighnesh ,

    1. this class cl_dd_document is used to define the properties of the text used in top of page...to change the fonts of texts , to add space between texts, to add a new line and so on..
    2.  to add new line , use this
    CALL METHOD document->new_line.

  • How to display 3 alv with top-of-page using splitter container

    Hi,
    I want to display 3 different alv in a single container corresponding to the 3 check boxes on selection screen.
    i.e.
    If user selects 1 check box only one alv should be displayed, if 2 checkboxes selected by user 2 alv should be displayed and same for 3.
    I cannot use 3 different containers bcoz if second checkbox is not selected then that place remains blank. So I am using single container and using splitter container dividing it into the no of rows corresponding to the no. of checkboxs selected by user.
    Now I also want to display top-of-page for each alv. Please guide me how to achieve this.
    Thanks & regards,
    Harshada

    create with some IF_ELSE conditions as i have done below. in my case the same things are required. if error table is there only then it will be displayed, else only output will be displayed.
    * First Main Container
      CREATE OBJECT obj_main1
        EXPORTING
          container_name = 'CC_CONTAINER'
          style          = cl_gui_custom_container=>ws_maximizebox.
    * create top-document
      CREATE OBJECT obj_dyndoc_id
        EXPORTING
          style = 'ALV_GRID'.
      IF pr_view EQ c_x OR pr_stat EQ c_x.
    * First Splitter Container
        CREATE OBJECT obj_splitter1
          EXPORTING
            parent  = obj_main1
            rows    = 2
            columns = 1.
    * Place obj_parent_html in First row First column
    * for Top_of_page
        CALL METHOD obj_splitter1->get_container
          EXPORTING
            row       = 1
            column    = 1
          RECEIVING
            container = obj_parent_html.
    * Place obj_container1 in Second row First column
        CALL METHOD obj_splitter1->get_container
          EXPORTING
            row       = 2
            column    = 1
          RECEIVING
            container = obj_container1.
    * Set the height of Top of page
        CALL METHOD obj_splitter1->set_row_height
          EXPORTING
            id     = 1
            height = 24.
      ELSEIF pr_email EQ c_x.
    * First Splitter Container
        CREATE OBJECT obj_splitter1
          EXPORTING
            parent  = obj_main1
            rows    = 3
            columns = 1.
    * Place obj_parent_html in First row First column
    * for Top_of_page
        CALL METHOD obj_splitter1->get_container
          EXPORTING
            row       = 1
            column    = 1
          RECEIVING
            container = obj_parent_html.
    * Place obj_container1 in First row First column
        CALL METHOD obj_splitter1->get_container
          EXPORTING
            row       = 2
            column    = 1
          RECEIVING
            container = obj_container1.
    * Place obj_container2 in Second row First column
        CALL METHOD obj_splitter1->get_container
          EXPORTING
            row       = 3
            column    = 1
          RECEIVING
            container = obj_container2.
    * Set the height of Top of page
        CALL METHOD obj_splitter1->set_row_height
          EXPORTING
            id     = 1
            height = 24.
      ENDIF.
    Please note there is no need to create a hEADER in the container, but create it for the 1st table only which is always displayed
    ags.
    Edited by: ags on Nov 4, 2009 4:49 PM
    Edited by: ags on Nov 4, 2009 4:50 PM

  • LOGO required in ALV top of page using factory method

    Hi,
    I am doing an ALV using factory method of class Cl_SALV_TABLE. Can any one help me about putting a LOGO on the top of page.
    Thanks in advance.
    Amitava

    Hi,
    In START-OF-SELECTION.
    put form to display header
    like PERFORM build_header
    gr_table->display( ).
    then...
    in FORM
    FORM build_header.
    lr_grid  TYPE REF TO cl_salv_form_layout_grid,
    lr_logo  TYPE REF TO cl_salv_form_layout_logo,
    create object lr_logo.
      lr_logo->set_left_content( lr_grid ).
      lr_logo->set_right_logo( 'LOGO_NAME' ).
    * Set the element top_of_list
      gr_table->set_top_of_list( lr_logo ).
    ENDFORM.
    thanx.

  • Regarding the Alignment of text in top-of-page using oops

    I am displaying the texts on the top-of-page in two columns, i am facing a problem while displaying the text on the right-side as it is not displaying the text in the proper alignment.
    I am using the method : add_gap for the gap between the
    left- side text and the right-side text .
    how can i overcome this.

    it is a trail and Error method , using the add_gap method you have to adjust the texts. otherwise you have to use the method add_table. see the usage of the method in the program DD_STYLE_TABLE

  • Right Justfied In ALV Top Of Page  Using opps

    Hi All,
    I Have Report in wich there is requirement of Segment Wise Summary In the Top-Of Page
    Here I am Provding the Code and the o/p of the Report,
    Top-of page Event
      LOOP AT IT_SEG INTO W_SEG.
        V_AMT = W_SEG-AMT.
        V_AMT1 =  V_AMT1 + W_SEG-AMT.
        V_STR = W_SEG-SEGMENT1.
        LR_TEXT = LR_GRID_1->CREATE_TEXT(
           ROW     = V_ROW
           COLUMN  = V_COL
           TEXT    = V_STR  ).
        WRITE: V_AMT TO V_STR." LEFT-JUSTIFIED."RIGHT-JUSTIFIED.
        V_COL = V_COL + 1.
        LR_TEXT = LR_GRID_1->CREATE_TEXT(
           ROW     = V_ROW
           COLUMN  = V_COL
           TEXT    = V_STR  ).
        LR_LABEL->SET_LABEL_FOR( LR_TEXT ).
        LR_CONTENT = LR_GRID_1.
        CL_SALV_FORM_CONTENT=>SET( LR_CONTENT ).
        V_ROW = V_ROW + 1.
        V_COL = 1.
      ENDLOOP.
    Out Put is coming like this
    Segment            Amount
    1                      100.00
    2                      800000.00
    3                      7500.00
    4                      120000000.00
    Total                  120087500.00
    Required Output is
    Segment            Amount
    1             100.00
    2        800000.00
    3            7500.00
    4   120000000.00
    Total            120087500.00
    Can any one help me how how to go ahead.
    Points will be rewarded ,
    Thanks in Advance
    Ramesh
    Edited by: RAMESH on Jun 19, 2008 9:13 AM
    Edited by: RAMESH on Jun 19, 2008 9:14 AM

    Hi All,
    I Have Report in wich there is requirement of Segment Wise Summary In the Top-Of Page
    Here I am Provding the Code and the o/p of the Report,
    Top-of page Event
      LOOP AT IT_SEG INTO W_SEG.
        V_AMT = W_SEG-AMT.
        V_AMT1 =  V_AMT1 + W_SEG-AMT.
        V_STR = W_SEG-SEGMENT1.
        LR_TEXT = LR_GRID_1->CREATE_TEXT(
           ROW     = V_ROW
           COLUMN  = V_COL
           TEXT    = V_STR  ).
        WRITE: V_AMT TO V_STR." LEFT-JUSTIFIED."RIGHT-JUSTIFIED.
        V_COL = V_COL + 1.
        LR_TEXT = LR_GRID_1->CREATE_TEXT(
           ROW     = V_ROW
           COLUMN  = V_COL
           TEXT    = V_STR  ).
        LR_LABEL->SET_LABEL_FOR( LR_TEXT ).
        LR_CONTENT = LR_GRID_1.
        CL_SALV_FORM_CONTENT=>SET( LR_CONTENT ).
        V_ROW = V_ROW + 1.
        V_COL = 1.
      ENDLOOP.
    Out Put is coming like this
    Segment            Amount
    1                      100.00
    2                      800000.00
    3                      7500.00
    4                      120000000.00
    Total                  120087500.00
    Required Output is
    Segment            Amount
    1             100.00
    2        800000.00
    3            7500.00
    4   120000000.00
    Total            120087500.00
    Can any one help me how how to go ahead.
    Points will be rewarded ,
    Thanks in Advance
    Ramesh
    Edited by: RAMESH on Jun 19, 2008 9:13 AM
    Edited by: RAMESH on Jun 19, 2008 9:14 AM

  • Error while recording process using a component with a custom data type

    Hello,
    I created a component that returns a CheckAttachmentResult object. This object contains an int named resultCode and a String named resultMessage. In the CheckAttachmentResult class, I do have a getter and a setter function for both values.
    When I use the component, I can retrieve the CheckAttachmentResult object, see the values that are set (i.e. resultMessage and resultCode) and work on them (for instance build a condition on the resultCode).
    However when the current process goes into a subprocess after having used this component, I get the following error:
    Failed evaluating outgoing routes for action=template:ReceptionDtpBriefingV2/branch:main-branch/pool:POOL/swimlane:Extraction du DTP/action:Check DTP attachments: java.lang.NullPointerException  at com.adobe.idp.auditworkflow.dsc.service.storage.ProcessRecordingStorageImpl.persistDocume ntVariables(ProcessRecordingStorageImpl.java:409)
        at com.adobe.idp.auditworkflow.dsc.service.storage.ProcessRecordingStorageImpl.serialize(Pro cessRecordingStorageImpl.java:390)
        at com.adobe.idp.auditworkflow.dsc.service.storage.ProcessRecordingStorageImpl.persist(Proce ssRecordingStorageImpl.java:151)
        at com.adobe.idp.auditworkflow.dsc.service.AuditWorkflowServiceImpl.auditEvent(AuditWorkflow ServiceImpl.java:62)
        at sun.reflect.GeneratedMethodAccessor1278.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:118)
        at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor. java:140)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(Transa ctionInterceptor.java:74)
        at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.execute(EjbTr ansactionCMTAdapterBean.java:342)
        at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.doRequiresNew (EjbTransactionCMTAdapterBean.java:284)
        at sun.reflect.GeneratedMethodAccessor236.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
        at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionConta iner.java:214)
        at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)
        at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstance Interceptor.java:154)
        at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor. java:54)
        at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
        at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
        at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:389)
        at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
        at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
        at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
        at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:122)
        at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
        at org.jboss.ejb.Container.invoke(Container.java:873)
        at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:415)
        at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:88)
        at $Proxy169.doRequiresNew(Unknown Source)
        at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvi der.java:143)
        at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInt erceptor.java:72)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.interceptor.impl.InvocationStrategyInterceptor.intercept(InvocationStra tegyInterceptor.java:55)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateIntercep tor.java:37)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterc eptor.java:109)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.interceptor.impl.JMXInterceptor.intercept(JMXInterceptor.java:48)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:115)
        at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:118)
        at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.routeMessage(AbstractMessage Receiver.java:91)
        at com.adobe.idp.dsc.provider.impl.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:21 5)
        at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispat cher.java:57)
        at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
        at com.adobe.workflow.audit.WorkflowAudit.invokeCallback(WorkflowAudit.java:471)
        at com.adobe.workflow.audit.WorkflowAudit.breakpointRouteEvaluationCompleted(WorkflowAudit.j ava:268)
        at com.adobe.workflow.engine.PEUtil.evaluateRules(PEUtil.java:425)
        at com.adobe.workflow.engine.SynchronousBranch.getNextActionOrStallOnFailure(SynchronousBran ch.java:801)
        at com.adobe.workflow.engine.SynchronousBranch.updateBranchInstanceStatus(SynchronousBranch. java:649)
        at com.adobe.workflow.engine.SynchronousBranch.execute(SynchronousBranch.java:887)
        at com.adobe.workflow.engine.ProcessEngineBMTBean.continueBranchAtAction(ProcessEngineBMTBea n.java:2773)
        at com.adobe.workflow.engine.ProcessEngineBMTBean.asyncInvokeProcessCommand(ProcessEngineBMT Bean.java:704)
        at sun.reflect.GeneratedMethodAccessor503.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
        at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionConta iner.java:214)
        at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)
        at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor. java:54)
        at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
        at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
        at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:1 58)
        at org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:62)
        at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstance Interceptor.java:154)
        at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
        at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
        at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:122)
        at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
        at org.jboss.ejb.Container.invoke(Container.java:873)
        at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:415)
        at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:88)
        at $Proxy202.asyncInvokeProcessCommand(Unknown Source)
        at com.adobe.workflow.engine.ProcessCommandControllerBean.doOnMessage(ProcessCommandControll erBean.java:156)
        at com.adobe.workflow.engine.ProcessCommandControllerBean.onMessage(ProcessCommandController Bean.java:99)
        at sun.reflect.GeneratedMethodAccessor457.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
        at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.j ava:475)
        at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)
        at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterc eptor.java:101)
        at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
        at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
        at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
        at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)
        at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
        at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)
        at org.jboss.ejb.Container.invoke(Container.java:873)
        at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)
        at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerI nvoker.java:1379)
        at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
        at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904 )
        at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)
        at org.jboss.mq.SpySession.run(SpySession.java:333)
        at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
        at java.lang.Thread.run(Thread.java:595)
    It turns out that this error is related to the recording of the process. When I stop the recording, this error disappears. Do you have any idea on what goes wrong ? Did I miss something or made something wrong ?
    I attached the component.xml file of the component to this post.
    Thank you in advance
    Steve

    This seems to be recorded in CAR#405941.  The whole thing is a bit strange but I will try to go over the potential workarounds as best as I can.  I tested a lot of these myself and here is what I found.
    1. Make sure the custom control you have made was created in LabVIEW 2012 or you save it to a previous version.  If you save it to a previous version you might also need to open the .ctl in LabVIEW 2012 and resave it (I needed to do this).  I tried creating my own control in 2012 as well as saving the control to a previous version, both worked but I did not end up with the same result (I don't understand this but I wanted to mention it so that you knew).
    2. It seems that you are able to make the shared variable programmatically by modifying the community example to fit your needs.  If you do not need to create many variables this may be the best option if it works for you.
    I would also try adding the variable from the LabVIEW project you are working on.  This was not a direct troubleshooting step but there are multiple ways to do things in LabVIEW and sometimes one of them works while the other does not.
    Edit: Community Example is here https://decibel.ni.com/content/docs/DOC-16863
    Matt J
    Professional Googler and Kudo Addict
    National Instruments

  • Using WS-Security with Web Service Controls in WLI 8.1 SP3

    We have a process that calls a web service hosted on a .NET environment. The technique we have used is to generate a service control from the web service WSDL and call that control from a process. The web service is protected using a WS-Security usernameToken policy. The problem is that the .NET environment requires the wsse:Nonce and wsu:Created elements to be provided along with the token and I cannot see how I can specify this using a wsse policy file in WebLogic workshop. Does anyone have any advice for the best way to add this information to the security element in the SOAP header from within a WLI process? I've seen some example code for a java web service client, but that would not really fit with the control-based approach normally adopted in a WLI environment.

    You won't be able to do this using the WSSE file.
    An easy way to get around this is to use an XML Bean built from the WS-Security XML Schema. You'll have to read the WS-Security spec to determine how to create the nonce, but you'll be able to convert this XML Bean into the Element[] that the setOutputHeaders() method, which is on the service control you call the .NET Web Service with.
    Regards,
    Mike Wooten

  • How to Use ADF Region With Data Bound Controls in JDeveloper 10g

    I want to use Data Bound ADF Components in Region. Is there any way to acheive this. I want to get Employee Information from a View Object and display it in a region and use this region on different pages.

    I could not understand the dynamic part.
    Actually the problem is that i use Data Controls in Region but when i use the region in other pages it does not display the Data Control.
    Let say i have a data bound outputtext field.
    <af:panelLabelAndMessage label="#{bindings.EmpmasterinfoViewEmployeeid.label}">
    <af:outputText value="#{bindings.EmpmasterinfoViewEmployeeid.inputValue}"/>
    </af:panelLabelAndMessage>
    But this field does not display any thing.
    How i will be able to diplay other data bound controls like table etc.
    Thanks for your reply

  • Can I use Wiki Server with a custom build of Apache?

    Hi there. For various reasons, I may need to roll my own build of Apache, PHP, and some other web technologies. What I'm hoping to do is use Wiki Server for the collaborative part of our site, but I don't know if it can be set up to run with an Apache build other than the one that comes with Leopard.
    Can this be done? If so, how?

    That could work, I suppose. I take it it's not possible to configure the Wiki Server to work with a different build of Apache?
    I'd just as soon not run two Apache instances on our new system; that's what we're doing now, on our Tiger server, and it's a bit inconvenient to have two sets of web configuration settings to worry about.
    If possible, I'd like to use the Wiki server with a custom Apache build. (I need to rebuild PHP, you see...)

  • Using a Meter control in LV Touch Panel, and using shared variables that are custom controls.

    I Just started using LV touch Panel module with an NI TPC-2106.
    I have two differenct problems:
    1) I was planning on using the "Meter" control quite a bit. I can set up the meter exactly how I like on the host PC, but on the touch Panel computer it seems to ignore my adjustments, mainly the start and end of the scale - i.e. I would like control to run from 0 to 360 with 0 straight up, using the entire circle. However, on the Touch panel computer it always puts 0 at about 7 o'clock and 360 at about 5 o'clock. I have also tried adding markers to no avail.
    2) I am communicating with a compact fieldpoint controller. I can creat a shared variable that is a simple double with no problems. However, I have some shared variables that use a custom control for the variable type - bascially a cluster with a couble doubles, a time stamp, and an enumeration. It lets me drag the shared variable into my diagram, but it seems to ignore it when I run it.

    Ipshita_C,
    - I am using LV 8.6.1f1and LV Touch Panel 8.6.1.
    - I have attached a simplified VI that shows how I want to use the meter. Notice that the placement of the endpoitns does not work correctly on the touch panel, and that it ignores the arbitrary markers that I placed.
    - I also have included an XY graph control that displays on the TPC with margins around the graph area that I removed from the graph control.
    - For the shared variable, it appears to be an issue related to the touch panel, not fieldpoint. I found another thread in this forum that mentioned that clusters containing Enumerations do not work in shared variables on the touch panel. I changed the enumeration to an integer and it now works fine.
    In general, there seem to be a disappointing number of limitations in the touch panel implementation. My biggest concern is that I have not found any documentation from NI that lists these limitations. I seem to have to try things out and see what works and what does not work. Can you point me to a comprehensive list of touch panel modules limitations?
    Attachments:
    test 2.vi ‏10 KB

  • How to print multiple pages using Internet Explorer with af:showPrintablePageBehavior

    Hello,
    I am facing one issue with using af:showPrintablePageBehavior. I found similar posts and google pages, but unable to fix the issue. Most relevant post is,
    Print issues with af:showPrintablePageBehavior and Internet Explorer
    I have a page show in a af:popup. This page contain a Title in the top, af:outputText and a Print button below it. I have added af:showPrintablePageBehavior to Print button. I am using lots of data in the af:outputText. When I click on Print button, showPrintablePageBehavior is opening new browser window with multiple pages. But when I click on the Print Preview or Print, only first page is shown.
    I have tried the solution mentioned in above post but no luck.
        <f:verbatim>
            <style type="text/css">
                textarea {
                    width: 95%;
                    height: 350px;
                    overflow: auto;
                @agent ie {
                    af|document:maximized::printable {
                        position: static;
            </style>
      </f:verbatim>
      <af:panelStretchLayout bottomHeight="10%" startWidth="0%" endWidth="0%" topHeight="10%" inlineStyle="height: 100%; width: 100%">
      <f:facet name="top">
      <af:panelGroupLayout id="pnlGrpTitle"  layout="vertical" halign="center" inlineStyle="width: 100%;">
      <af:spacer id="titleSpacer" height="10px" />
      <af:label value="Title" inlineStyle="font-weight:bold; font-size: 16px; color:#000066; padding-left: 5px" id="dialogTitle" />
      <af:spacer id="titleSpacer2" height="20px" />
      </af:panelGroupLayout>
      </f:facet>
      <f:facet name="center">
      <af:panelStretchLayout bottomHeight="0" topHeight="0" startWidth="0" endWidth="0">
      <f:facet name="center">
      <af:panelStretchLayout bottomHeight="0" topHeight="25" startWidth="0" endWidth="0">
      <f:facet name="center">
      <af:panelGroupLayout id="pnlTextArea" layout="scroll">
      <af:outputText binding="#{mybean.tfdArea}" escape="false" id="tfdArea" />
      </af:panelGroupLayout>
      </f:facet>
      </af:panelStretchLayout>
      </f:facet>
      </af:panelStretchLayout>
      </f:facet>
      <f:facet name="bottom">
      <af:panelGroupLayout id="pnlGrpBottom" layout="vertical" halign="center" inlineStyle="width: 100%">
      <af:commandToolbarButton id="cbPrint" shortDesc="Print" icon="/images/print.png" inlineStyle="width: 40%" >
      <!--af:clientListener method="self.print" type="action"/-->
      <af:showPrintablePageBehavior />
      </af:commandToolbarButton>
      </af:panelGroupLayout>
      </f:facet>
      </af:panelStretchLayout>
    Any idea how to fix it?
    - Sujay

    Hello,
    I am facing one issue with using af:showPrintablePageBehavior. I found similar posts and google pages, but unable to fix the issue. Most relevant post is,
    Print issues with af:showPrintablePageBehavior and Internet Explorer
    I have a page show in a af:popup. This page contain a Title in the top, af:outputText and a Print button below it. I have added af:showPrintablePageBehavior to Print button. I am using lots of data in the af:outputText. When I click on Print button, showPrintablePageBehavior is opening new browser window with multiple pages. But when I click on the Print Preview or Print, only first page is shown.
    I have tried the solution mentioned in above post but no luck.
        <f:verbatim>
            <style type="text/css">
                textarea {
                    width: 95%;
                    height: 350px;
                    overflow: auto;
                @agent ie {
                    af|document:maximized::printable {
                        position: static;
            </style>
      </f:verbatim>
      <af:panelStretchLayout bottomHeight="10%" startWidth="0%" endWidth="0%" topHeight="10%" inlineStyle="height: 100%; width: 100%">
      <f:facet name="top">
      <af:panelGroupLayout id="pnlGrpTitle"  layout="vertical" halign="center" inlineStyle="width: 100%;">
      <af:spacer id="titleSpacer" height="10px" />
      <af:label value="Title" inlineStyle="font-weight:bold; font-size: 16px; color:#000066; padding-left: 5px" id="dialogTitle" />
      <af:spacer id="titleSpacer2" height="20px" />
      </af:panelGroupLayout>
      </f:facet>
      <f:facet name="center">
      <af:panelStretchLayout bottomHeight="0" topHeight="0" startWidth="0" endWidth="0">
      <f:facet name="center">
      <af:panelStretchLayout bottomHeight="0" topHeight="25" startWidth="0" endWidth="0">
      <f:facet name="center">
      <af:panelGroupLayout id="pnlTextArea" layout="scroll">
      <af:outputText binding="#{mybean.tfdArea}" escape="false" id="tfdArea" />
      </af:panelGroupLayout>
      </f:facet>
      </af:panelStretchLayout>
      </f:facet>
      </af:panelStretchLayout>
      </f:facet>
      <f:facet name="bottom">
      <af:panelGroupLayout id="pnlGrpBottom" layout="vertical" halign="center" inlineStyle="width: 100%">
      <af:commandToolbarButton id="cbPrint" shortDesc="Print" icon="/images/print.png" inlineStyle="width: 40%" >
      <!--af:clientListener method="self.print" type="action"/-->
      <af:showPrintablePageBehavior />
      </af:commandToolbarButton>
      </af:panelGroupLayout>
      </f:facet>
      </af:panelStretchLayout>
    Any idea how to fix it?
    - Sujay

  • Maximum Number of record Per page using XML Publisher with RTF template

    Hi
    I am creating customer statement and want to show only 20 records per page. How we can set maximum number of repord per page in rtf template.
    Thanks
    Ravi

    Ravi,
    I hope you are already done with this. In the invoice there is a nice example you can use on the xml blogs.
    You limit the number of lines per page when you use the xsl commands like this in your template:
    <xsl:variable name="lpp" select="number(13)"/>
    <?for-each@section:LIST_G_INVOICE?>
    <xsl:variable xdofo:ctx="incontext" name="invLines" select=".//G_LINES[LINE_TYPE='LINE']"/>
    <?for-each:$invLines?> <?if:(position()-1) mod $lpp=0?> <xsl:variable name="start" xdofo:ctx="incontext" select="position()"/>
    and then you have the table where you have the data
    <?for-each:$invLines?><?if:position()>=$start and position()<$start+$lpp?>
    and all your lines
    and then
    <?end if?><?end for-each?>

Maybe you are looking for