How to customize an interactive report PDF using a BI Publisher template

Hi,
I am trying to figure out how to get an interactive report to work with BI Publisher. I want it so that I can create a custom RTF template with custom headings, and then apply this for the interactive report.
On the front end, when a user runs an interactive report, they are able to hide and show columns, and then click on Actions > Download > PDF. I want this to access the custom template and return a PDF based on this template, and also showing the columns that the user has selected in the interactive report.
I have already created a custom RTF Word Doc in BI Publisher, and have uploaded it into a report query created in Apex. I am not sure though how to apply this report query to an interactive report, or if that’s even what I’m supposed to do to get it to work the way I want it to.
When editing the Report Attributes, under Print Attributes, there is a section called Printing.
Under this, there is a "Print Server Overwrite". I thought this is where you can specify your report query. But I am not sure if I even need a report query because I don't understand why you have a report query that is based on a static query, when in an Interactive Report, the user can hide columns.
I have Apex 4.0.1.00.03 and Oracle BI Publisher 10.1.3.4.0d installed.
Thanks,
Gage

Hi Gage,
Custom RTF and XSL-FO templates are currently only supported with classic report regions and report queries, but not with interactive reports. So you would need to create a report query based on the SQL statement you used for your interactive report and then associated your template with that report query. Unfortunately you won't be able to use any of your customizations, filters, or column selections this way. We're planing to support report layouts with interactive reports in the future.
Regards,
Marc

Similar Messages

  • Hi gurur's how we  do the interactive report in ALV

    hi gurur's how we  do the interactive report in ALV.
    PLZ HELP ME

    Hi Srivasu,
                    I will send a sample code along with Comments check it once ok.copy the below code and execute it and debug it ok..
    *& Report  YPURCHASEORDER_ALV_LISTDISP                                 *
    *&  DEVELOPER  : KIRAN KUMAR.G                                         *
    &  PURPOSE    : CREATING A PURCHASE ORDER BASED ON PURCHASE DOC NUMBER
    *&  CREATION DT: 22/11/2007                                            *
    *&  REQUEST   : ERPK900035                                             *
    REPORT  YPURCHASEORDER_ALV_LISTDISP.
    Tables
    TABLES : ekko, "Purchasing Document Header
             ekpo. "Purchasing Document Item
    Type pools
    TYPE-POOLS: slis.
    Internal Tables
    DATA: BEGIN OF gt_headerdat OCCURS 0,
           ebeln LIKE ekko-ebeln,        " Purchasing Document Number
           bukrs LIKE ekko-bukrs,        " Company Code
           bstyp LIKE ekko-bstyp,        " Purchasing Document Category
           bsart LIKE ekko-bsart,        " Purchasing Document LIKE
           aedat LIKE ekko-aedat,        " Date on which the recordwascreate
           ernam LIKE ekko-ernam,        " Name of Person who Created Object
           lifnr LIKE ekko-lifnr,        " Vendor's account number
           spras LIKE ekko-spras,        " Language Key
           ekorg LIKE ekko-ekorg,        " Purchasing Organization
           ekgrp LIKE ekko-ekgrp,        " Purchasing group
          END OF gt_headerdat.
    DATA: BEGIN OF gt_item OCCURS 0,
           matnr LIKE ekpo-matnr,        "Material Number
           werks LIKE ekpo-werks,        "Plant
           lgort LIKE ekpo-lgort,        "Storage location
           matkl LIKE ekpo-matkl,        "Material group
           menge LIKE ekpo-menge,        "Purchase order quantity
           meins LIKE ekpo-meins,        "Order unit
           netpr LIKE ekpo-netpr,        "Net price in purchasing document
           kunnr LIKE ekpo-kunnr,        "Customer Number 1
          END OF gt_item.
    Global Structures
    DATA: gt_header    TYPE slis_t_listheader, "For Headings
          wa_header    TYPE slis_listheader,
          gt_fieldcat  TYPE slis_t_fieldcat_alv, "Structure Defintion
          wa_fieldcat  TYPE slis_fieldcat_alv,
          gt_fieldcat1 TYPE slis_t_fieldcat_alv,
          wa_fieldcat1 TYPE slis_fieldcat_alv,
          wa_layout    TYPE slis_layout_alv,     "Layout
          gt_events    TYPE slis_t_event,        "For Events
          wa_events    TYPE slis_alv_event.
    Selection Screen
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS  : s_ebeln FOR ekko-ebeln.
    SELECTION-SCREEN: END OF BLOCK b1.
    Initialization
    INITIALIZATION.
      PERFORM initial.
    Fetch Data
    START-OF-SELECTION.
      PERFORM fetch_data.
    END-OF-SELECTION.
    Bulid fieldcatalog
      PERFORM fieldcat.
    Change fieldcatalog
      PERFORM fieldcat_change.
    Events Triggering
      PERFORM place_events.
    Layout.
      PERFORM layout.
    Display Data
      SORT gt_headerdat BY ebeln.
      PERFORM display_list.
    *&      Form  initial
          text
    -->  p1        text
    <--  p2        text
    FORM initial .
      s_ebeln-sign    = 'I'.
      s_ebeln-option  = 'BT'.
      s_ebeln-low     = '3000000090'.
      s_ebeln-high    = '3000000166'.
      APPEND s_ebeln.
    ENDFORM.                    " initial
    *&      Form  fetch_data
          text
    -->  p1        text
    <--  p2        text
    FORM fetch_data .
      REFRESH gt_headerdat.  "Clear the Body of Internal Table
      CLEAR   gt_headerdat.  "Clear Header Line
      SELECT ebeln
             bukrs
             bstyp
             bsart
             aedat
             ernam
             lifnr
             spras
             ekorg
             ekgrp
        FROM ekko
        INTO TABLE gt_headerdat
       WHERE ebeln IN s_ebeln.
    ENDFORM.                    " fetch_data
    *&      Form  display_list
          text
    -->  p1        text
    <--  p2        text
    FORM display_list .
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK              = ' '
      I_BYPASSING_BUFFER             =
      I_BUFFER_ACTIVE                = ' '
        i_callback_program             = sy-cprog
      I_CALLBACK_PF_STATUS_SET       = ' '
        i_callback_user_command        = 'USERCOMMAND'
      I_STRUCTURE_NAME               =
        is_layout                      = wa_layout
        it_fieldcat                    = gt_fieldcat
      IT_EXCLUDING                   =
      IT_SPECIAL_GROUPS              =
      IT_SORT                        =
      IT_FILTER                      =
      IS_SEL_HIDE                    =
      I_DEFAULT                      = 'X'
      I_SAVE                         = ' '
      IS_VARIANT                     =
        it_events                      = gt_events
      IT_EVENT_EXIT                  =
      IS_PRINT                       =
      IS_REPREP_ID                   =
      I_SCREEN_START_COLUMN          = 0
      I_SCREEN_START_LINE            = 0
      I_SCREEN_END_COLUMN            = 0
      I_SCREEN_END_LINE              = 0
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER        =
      ES_EXIT_CAUSED_BY_USER         =
        TABLES
        t_outtab                       = gt_headerdat
       EXCEPTIONS
        program_error                  = 1
        OTHERS                         = 2.
      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.                    " display_list
    *&      Form  place_events
          text
    -->  p1        text
    <--  p2        text
    FORM place_events .
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type     = 0
        IMPORTING
          et_events       = gt_events
        EXCEPTIONS
          list_type_wrong = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CLEAR wa_events.   "Clear Header Line
      READ TABLE gt_events INTO wa_events WITH KEY name = 'TOP_OF_PAGE'.
      IF sy-subrc = 0.
        wa_events-form = 'HEADING'.
        MODIFY gt_events FROM wa_events INDEX sy-tabix.
      ENDIF.
      CLEAR wa_events.   "Clear Header Line
      READ TABLE gt_events INTO wa_events WITH KEY name = 'END_OF_LIST'.
      IF sy-subrc = 0.
        wa_events-form = 'PAGEDOWN'.
        MODIFY gt_events FROM wa_events INDEX sy-tabix.
      ENDIF.
      CLEAR wa_events.    "Clear Header Line
      READ TABLE gt_events INTO wa_events WITH KEY name = 'USER_COMMAND'.
      IF sy-subrc = 0.
        wa_events-form = 'USERCOMMAND'.
        MODIFY gt_events FROM wa_events INDEX sy-tabix.
      ENDIF.
    ENDFORM.                    " place_events
    *&      Form  layout
          text
    -->  p1        text
    <--  p2        text
    FORM layout .
      CLEAR wa_layout.                   "Clear Header Line
      wa_layout-zebra = 'X'.             "Zebra Lines in the Output
      wa_layout-colwidth_optimize = 'X'. "Optimize the Column Width
    ENDFORM.                    " layout
    *&      Form  heading
          text
    FORM heading.
      WRITE:/6 'THIS REPORT DISPLAYS THE PURCHASE ORDER DETAILS'.
      WRITE:/6 'CLICK ON PURCHASE DOC NO FIELD(INTERACTIVE LIST)'.
    ENDFORM.                    "heading
    *&      Form  fieldcat
          text
    -->  p1        text
    <--  p2        text
    FORM fieldcat .
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
        i_program_name               = SY-CPROG
        i_internal_tabname           = 'GT_HEADERDAT'
      I_STRUCTURE_NAME             =
      I_CLIENT_NEVER_DISPLAY       = 'X'
        i_inclname                   = SY-CPROG
      I_BYPASSING_BUFFER           =
      I_BUFFER_ACTIVE              =
        CHANGING
        ct_fieldcat                  = gt_fieldcat
       EXCEPTIONS
        inconsistent_interface       = 1
        program_error                = 2
        OTHERS                       = 3.
      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.                    " fieldcat
    *&      Form  fieldcat_change
          text
    -->  p1        text
    <--  p2        text
    FORM fieldcat_change .
      LOOP AT gt_fieldcat INTO wa_fieldcat.
        CASE wa_fieldcat-fieldname.
          WHEN 'EBELN'.
            wa_fieldcat-hotspot  = 'X'.
        ENDCASE.
        MODIFY gt_fieldcat FROM wa_fieldcat INDEX sy-tabix.
      ENDLOOP.
    ENDFORM.                    " fieldcat_change
    *&      Form  pagedown
          text
    FORM pagedown.
      WRITE:/35 'HAVE A NICE DAY...' COLOR 4.
    ENDFORM.                    "pagedown
    *&      Form  usercommand
          text
         -->UCOMM      text
         -->SELFIELD   text
    FORM usercommand USING ucomm LIKE sy-ucomm selfield TYPE slis_selfield.
      READ TABLE gt_headerdat INDEX selfield-tabindex.
      CASE selfield-sel_tab_field.
        WHEN 'GT_HEADERDAT-EBELN'.
          REFRESH : gt_item.
          CLEAR   : gt_item.
          SELECT matnr
                 werks
                 lgort
                 matkl
                 menge
                 meins
                 netpr
                 kunnr
            FROM ekpo
            INTO TABLE gt_item
           WHERE ekpo~ebeln EQ gt_headerdat-ebeln.
    *Build a Field Catalog
          PERFORM fieldcat1.
    *For Heading in the Interactive List
          PERFORM heading1.
    *Display Interactive Data
          PERFORM display_data1.
      ENDCASE.
    ENDFORM.                    "usercommand
    *&      Form  fieldcat1
          text
    -->  p1        text
    <--  p2        text
    FORM fieldcat1 .
      REFRESH : gt_fieldcat1.
      CLEAR   : wa_fieldcat1.
      wa_fieldcat1-col_pos    = '1'.           "Column Postion
      wa_fieldcat1-fieldname  = 'MATNR'.       "Field Name
      wa_fieldcat1-tabname    = 'GT_ITEM'.   "Internal Table
      wa_fieldcat1-key        = 'X'.           "Blue Color
      wa_fieldcat1-seltext_l  = 'MATERIAL NO'. "Display Text Screen
      APPEND wa_fieldcat1 TO gt_fieldcat1.
      CLEAR wa_fieldcat1.
      wa_fieldcat1-col_pos    = '2'.           "Column Postion
      wa_fieldcat1-fieldname  = 'WERKS'.       "Field Name
      wa_fieldcat1-tabname    = 'GT_ITEM'.   "Internal Table
      wa_fieldcat1-seltext_l  = 'PLANT'.       "Display Text Screen
      APPEND wa_fieldcat1 TO gt_fieldcat1.
      CLEAR wa_fieldcat1.
      wa_fieldcat1-col_pos    = '3'.           "Column Postion
      wa_fieldcat1-fieldname  = 'LGORT'.       "Field Name
      wa_fieldcat1-tabname    = 'GT_ITEM'.   "Internal Table
      wa_fieldcat1-seltext_l  = 'STORAGE LOCATION'."Display Text Screen
      APPEND wa_fieldcat1 TO gt_fieldcat1.
      CLEAR wa_fieldcat1.
      wa_fieldcat1-col_pos    = '4'.            "Column Postion
      wa_fieldcat1-fieldname  = 'MATKL'.        "Field Name
      wa_fieldcat1-tabname    = 'GT_ITEM'.    "Internal Table
      wa_fieldcat1-seltext_l  = 'MATERIAL GRP'. "Display Text Screen
      APPEND wa_fieldcat1 TO gt_fieldcat1.
      CLEAR wa_fieldcat1.
      wa_fieldcat1-col_pos    = '5'.            "Column Postion
      wa_fieldcat1-fieldname  = 'MENGE'.        "Field Name
      wa_fieldcat1-tabname    = 'GT_ITEM'.    "Internal TAble
      wa_fieldcat1-seltext_l  = 'PO QUANTITY'.  "Display Text Screen
      APPEND wa_fieldcat1 TO gt_fieldcat1.
      CLEAR wa_fieldcat1.
      wa_fieldcat1-col_pos    = '6'.            "Column Pos tion
      wa_fieldcat1-fieldname  = 'MEINS'.        "Field Name
      wa_fieldcat1-tabname    = 'GT_ITEM'.    "Internal TAble
      wa_fieldcat1-seltext_l  = 'BASE UNIT MEASURE'."Display Text Screen
      APPEND wa_fieldcat1 TO gt_fieldcat1.
      CLEAR wa_fieldcat1.
      wa_fieldcat1-col_pos    = '7'.            "Column Postion
      wa_fieldcat1-fieldname  = 'NETPR'.        "Field Name
      wa_fieldcat1-tabname    = 'GT_ITEM'.    "Internal Table
      wa_fieldcat1-seltext_l  = 'NET PRICE'.    "Display Text Screen
      APPEND wa_fieldcat1 TO gt_fieldcat1.
      CLEAR wa_fieldcat1.
      wa_fieldcat1-col_pos    = '8'.            "Column Postion
      wa_fieldcat1-fieldname  = 'KUNNR'.        "Field Name
      wa_fieldcat1-tabname    = 'GT_ITEM'.    "Internal Table
      wa_fieldcat1-seltext_l  = 'CUSTOMER NO'.  "Display Text Screen
      APPEND wa_fieldcat1 TO gt_fieldcat1.
      CLEAR wa_fieldcat1.
    ENDFORM.                                                    " fieldcat1
    *&      Form  heading1
          text
    -->  p1        text
    <--  p2        text
    FORM heading1 .
      REFRESH : gt_header.
      CLEAR   : wa_header.
      wa_header-typ  = 'H'.
      wa_header-info = 'THIS IS AN INTERACTIVE LIST'.
      APPEND wa_header TO gt_header.
    ENDFORM.                                                    " heading1
    *&      Form  top
          text
    FORM top.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
        it_list_commentary       = gt_header
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
    ENDFORM.                    "top
    *&      Form  display_data1
          text
    -->  p1        text
    <--  p2        text
    FORM display_data1 .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
        i_callback_program                = SY-CPROG
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
        i_callback_top_of_page            = 'TOP'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
        it_fieldcat                       = gt_fieldcat1
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      I_HTML_HEIGHT_TOP                 =
      I_HTML_HEIGHT_END                 =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
        t_outtab                          = gt_item
       EXCEPTIONS
        program_error                     = 1
        OTHERS                            = 2
      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.                    " display_data1
    Reward points if helpful.
    Kiran Kumar.G.A
            Have a Nice Day..

  • HOW TO DEVELOP AN INTERACTIVE REPORT

    HI,
         How to Develop  an interactive report to display sales orders for particular customer, items for particular order.

    Hi,
    Look at the below sample Program for the Interactive ALV report.
    *& Report  Z_INTERACTIVE_ALV3                                          *
    report  z_interactive_alv4    no standard page heading line-size 650
    message-id zz_9838                      .
    type-pools: slis.
    *type declaration for values from ekko
    types: begin of i_ekko,
           ebeln like ekko-ebeln,
           aedat like ekko-aedat,
           bukrs like ekko-bukrs,
           bsart like ekko-bsart,
           lifnr like ekko-lifnr,
           end of i_ekko.
    data: it_ekko type standard table of i_ekko initial size 0,
          wa_ekko type i_ekko.
    *type declaration for values from ekpo
    types: begin of i_ekpo,
           ebeln like ekpo-ebeln,
           ebelp like ekpo-ebelp,
           matnr like ekpo-matnr,
           menge like ekpo-menge,
           meins like ekpo-meins,
           netpr like ekpo-netpr,
           end of i_ekpo.
    data: it_ekpo type standard table of i_ekpo initial size 0,
          wa_ekpo type i_ekpo .
    *variable for Report ID
    data: v_repid like sy-repid .
    *declaration for fieldcatalog
    data: i_fieldcat type slis_t_fieldcat_alv,
          wa_fieldcat type slis_fieldcat_alv.
    data: it_listheader type slis_t_listheader.
    declaration for events table where user comand or set PF status will
    be defined
    data: v_events type slis_t_event,
          wa_event type slis_alv_event.
    declartion for layout
    data: alv_layout type slis_layout_alv.
    declaration for variant(type of display we want)
    data: i_variant type disvariant,
          i_variant1 type disvariant,
          i_save(1) type c.
    *PARAMETERS : p_var TYPE disvariant-variant.
    *Title displayed when the alv list is displayed
    data:  i_title_ekko type lvc_title value 'FIRST LIST DISPLAYED'.
    data:  i_title_ekpo type lvc_title value 'SECONDRY LIST DISPLAYED'.
    initialization.
      v_repid = sy-repid.
      perform build_fieldcatlog.
      perform event_call.
      perform populate_event.
    start-of-selection.
      perform data_retrieval.
      perform build_listheader using it_listheader.
      perform display_alv_report.
    *&      Form  BUILD_FIELDCATLOG
          Fieldcatalog has all the field details from ekko
    form build_fieldcatlog.
      wa_fieldcat-tabname = 'IT_EKKO'.
      wa_fieldcat-fieldname = 'EBELN'.
      wa_fieldcat-seltext_m = 'PO NO.'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
      wa_fieldcat-tabname = 'IT_EKKO'.
      wa_fieldcat-fieldname = 'AEDAT'.
      wa_fieldcat-seltext_m = 'DATE.'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
      wa_fieldcat-tabname = 'IT_EKKO'.
      wa_fieldcat-fieldname = 'BUKRS'.
      wa_fieldcat-seltext_m = 'COMPANY CODE'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
    wa_fieldcat-tabname = 'IT_EKKO'.
      wa_fieldcat-fieldname = 'BUKRS'.
      wa_fieldcat-seltext_m = 'DOCMENT TYPE'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
    wa_fieldcat-tabname = 'IT_EKKO'.
      wa_fieldcat-fieldname = 'LIFNR'.
      wa_fieldcat-no_out    = 'X'.
      wa_fieldcat-seltext_m = 'VENDOR CODE'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
    endform.                    "BUILD_FIELDCATLOG
    *&      Form  EVENT_CALL
      we get all events - TOP OF PAGE or USER COMMAND in table v_events
    form event_call.
      call function 'REUSE_ALV_EVENTS_GET'
       exporting
         i_list_type           = 0
       importing
         et_events             = v_events
    EXCEPTIONS
       LIST_TYPE_WRONG       = 1
       OTHERS                = 2
      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.                    "EVENT_CALL
    *&      Form  POPULATE_EVENT
         Events populated for TOP OF PAGE & USER COMAND
    form populate_event.
      read table v_events into wa_event with key name = 'TOP_OF_PAGE'.
      if sy-subrc eq 0.
        wa_event-form = 'TOP_OF_PAGE'.
        modify v_events from wa_event transporting form where name =
    wa_event-form.
      endif.
      read table v_events into wa_event with key name = 'USER_COMMAND'.
      if sy-subrc eq 0.
        wa_event-form = 'USER_COMMAND'.
        modify v_events from wa_event transporting form where name =
    wa_event-name.
      endif.
    endform.                    "POPULATE_EVENT
    *&      Form  data_retrieval
      retreiving values from the database table ekko
    form data_retrieval.
      select ebeln aedat bukrs bsart lifnr from ekko into table it_ekko.
    endform.                    "data_retrieval
    *&      Form  bUild_listheader
          text
         -->I_LISTHEADEtext
    form build_listheader using i_listheader type slis_t_listheader.
      data hline type slis_listheader.
      hline-info = 'this is my first alv pgm'.
      hline-typ = 'H'.
    endform.                    "build_listheader
    *&      Form  display_alv_report
          text
    form display_alv_report.
      v_repid = sy-repid.
      call function 'REUSE_ALV_GRID_DISPLAY'
       exporting
         i_callback_program                = v_repid
      I_CALLBACK_PF_STATUS_SET          = ' '
         i_callback_user_command           = 'USER_COMMAND'
         i_callback_top_of_page            = 'TOP_OF_PAGE'
         i_grid_title                      = i_title_ekko
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         = ALV_LAYOUT
         it_fieldcat                       = i_fieldcat[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
        i_default                         = 'ZLAY1'
         i_save                            = 'A'
        is_variant                        = i_variant
         it_events                         = v_events
        tables
          t_outtab                          = it_ekko
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
      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.                    "display_alv_report
    *&      Form  TOP_OF_PAGE
          text
    form top_of_page.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
        exporting
          it_list_commentary       = it_listheader
       i_logo                   =
       I_END_OF_LIST_GRID       =
    endform.                    "TOP_OF_PAGE
    *&      Form  USER_COMMAND
          text
         -->R_UCOMM    text
         -->,          text
         -->RS_SLEFIELDtext
    form user_command using r_ucomm like sy-ucomm
    rs_selfield type slis_selfield.
      case r_ucomm.
        when '&IC1'.
          read table it_ekko into wa_ekko index rs_selfield-tabindex.
          perform build_fieldcatlog_ekpo.
          perform event_call_ekpo.
          perform populate_event_ekpo.
          perform data_retrieval_ekpo.
          perform build_listheader_ekpo using it_listheader.
          perform display_alv_ekpo.
      endcase.
    endform.                    "user_command
    *&      Form  BUILD_FIELDCATLOG_EKPO
          text
    form build_fieldcatlog_ekpo.
      wa_fieldcat-tabname = 'IT_EKPO'.
      wa_fieldcat-fieldname = 'EBELN'.
      wa_fieldcat-seltext_m = 'PO NO.'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
      wa_fieldcat-tabname = 'IT_EKPO'.
      wa_fieldcat-fieldname = 'EBELP'.
      wa_fieldcat-seltext_m = 'LINE NO'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
      wa_fieldcat-tabname = 'I_EKPO'.
      wa_fieldcat-fieldname = 'MATNR'.
      wa_fieldcat-seltext_m = 'MATERIAL NO.'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
    wa_fieldcat-tabname = 'I_EKPO'.
      wa_fieldcat-fieldname = 'MENGE'.
      wa_fieldcat-seltext_m = 'QUANTITY'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
    wa_fieldcat-tabname = 'I_EKPO'.
      wa_fieldcat-fieldname = 'MEINS'.
      wa_fieldcat-seltext_m = 'UOM'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
    wa_fieldcat-tabname = 'I_EKPO'.
      wa_fieldcat-fieldname = 'NETPR'.
      wa_fieldcat-seltext_m = 'PRICE'.
      append wa_fieldcat to i_fieldcat.
      clear wa_fieldcat.
    endform.                    "BUILD_FIELDCATLOG_EKPO
    *&      Form  event_call_ekpo
      we get all events - TOP OF PAGE or USER COMMAND in table v_events
    form event_call_ekpo.
      call function 'REUSE_ALV_EVENTS_GET'
       exporting
         i_list_type           = 0
       importing
         et_events             = v_events
    EXCEPTIONS
      LIST_TYPE_WRONG       = 1
      OTHERS                = 2
      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.                    "event_call_ekpo
    *&      Form  POPULATE_EVENT
           Events populated for TOP OF PAGE & USER COMAND
    form populate_event_ekpo.
      read table v_events into wa_event with key name = 'TOP_OF_PAGE'.
      if sy-subrc eq 0.
        wa_event-form = 'TOP_OF_PAGE'.
        modify v_events from wa_event transporting form where name =
    wa_event-form.
      endif.
      endform.                    "POPULATE_EVENT
    *&      Form  TOP_OF_PAGE
          text
    form f_top_of_page.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
        exporting
          it_list_commentary       = it_listheader
       i_logo                   =
       I_END_OF_LIST_GRID       =
    endform.                    "TOP_OF_PAGE
    *&      Form  USER_COMMAND
          text
         -->R_UCOMM    text
         -->,          text
         -->RS_SLEFIELDtext
    *retreiving values from the database table ekko
    form data_retrieval_ekpo.
    select ebeln ebelp matnr menge meins netpr from ekpo into table it_ekpo.
    endform.
    form build_listheader_ekpo using i_listheader type slis_t_listheader.
    data: hline1 type slis_listheader.
    hline1-typ = 'H'.
    hline1-info = 'CHECKING PGM'.
    endform.
    form display_alv_ekpo.
    call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
       i_callback_program                = v_repid
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = 'F_USER_COMMAND'
       i_callback_top_of_page            = 'TOP_OF_PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
       i_grid_title                      = i_title_ekpo
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
       it_fieldcat                       = i_fieldcat[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         =
       i_save                            = 'A'
      IS_VARIANT                        =
       it_events                         = v_events
      tables
        t_outtab                          = it_ekpo
    exceptions
       program_error                     = 1
       others                            = 2
    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.
    Regards,
    Ram
    Reward points if helpful

  • How to convert an Interactive report to ALV report..please give a example..

    Hi experts,
    How to convert an interactive report to ALV report..plz suggest me an example...
    thanks in advance,
    Varsha.

    hi varsha,
    chk this link.
    http://www.sapdevelopment.co.uk/reporting/alv/alvgrid.htm
    you will get good idea.
    use this FM.
    call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE' 
                I_callback_user_command = 'USER_COMMAND' 
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]      "create a field catlog.
                i_save                  = 'X'
           tables
                t_outtab                = it_tab        "pass the final internal table.
           exceptions
                program_error           = 1
                others                  = 2.
    Regards
    Anver

  • How to customize a nacha report in r12

    Hello ,
    How to customize a NACHA report in r12.
    And to use a logic in custom template .
    Thanks
    Raju

    Hi Thanks for replaying
    My requirement is : we are doing upagradation from 11i to R12(12.1.3)
    In 11 they are implemented logic in "Addenda record"
    I need to use the (11i Addenda record) logic in R12.
    Please help me to complete this Issue
    Oracle Version is : 12.1.3
    I done setups in R12 it is working fine And it is executing.
    I need implement some logic in "addenda record" so how can i use the logic in template (or implement in template).
    Thanks ,
    Raju
    Edited by: Raju on Apr 18, 2011 3:19 PM
    Edited by: Raju on Apr 19, 2011 12:55 PM

  • How do you setup to print PDFs using adobe?

    How do you setup to print PDFs using adobe?

    You install Adobe Acrobat, and 'Print to PDF' will be automatically set up.

  • Using XSL-FO for Interactive Report PDF printout

    I am using XSL-FO, Apache FOP and use FO Designer to produce a PDF from SQL Based Report (not IR). This is working fine.
    How can use the same concept for Interactive Report. I can not see how to make IR to use XSL-FO and Apache FOP.
    It looks that IR is only working for BI Publisher. Am I right?

    Interactive Reports currently only support the built-in default XSL-FO layout, i.e. there are only limited customization options available. Report Queries (see Shared Components) and Classic Reports can either use the default XSL-FO Layout, or can be associated with RTF or XSL-FO based templates. We plan to extend printing support for Interactive Reports in a future version of Oracle Application Express to provide similar features as is currently available for Report Queries and Classic Reports.
    Regards,
    Marc

  • Company information in Interactive Report PDF Header.

    Apex 3.1.XX has the amazing feature known as Interactive Reports. These reports have a default pdf they can generate which is also pretty nifty seeing how it doesn't involve any work. The down side is that I cannot find a way to Edit the pdf that is generated by Interactive Report. Does anybody know how to change the header on the reports produced by Interactive Reports? Is there a way to change the default format through BI Publisher?
    Ghoulies

    Hi
    I believe you can change the headers/footers, etc through the Apex interface. The exact path escapes me right now, I did write a coupld of blog articles about the integration that might help.
    http://blogs.oracle.com/xmlpublisher/integration/apex/
    What actually going on under the covers is that APEX collects all of the look and feel information and creates an FO object (think v rich html) and then calls Publisher to process it and return the output.
    Regards
    tim

  • Interactive Report PDF Footer

    We are replacing a bunch of Crystal reports with the new interactive reports. When we download an interactive report to PDF, it automatically puts the page number at the bottom right of every page. However, I'd like it to say "Page 1 of 3", "Page 2 of 3", etc. on the right side of the footer. And I'd also like it to say "Printed on 4/8/2008 at 2:15 pm" on the left side of the footer. This is what we displayed in the footer section on our old Crystal reports. I see the "Page Footer" section under "Print Attributes" for the interactive report, but I can't figure out what I need to enter into the section to make it display as described above. We are using the "Standard" print server (Apache FOP).
    Darrin

    Hi Tony,
    Thanks for your reply.
    I'm using "apex.oraclecorp.com" and have created reports based on RTF and SQL in application shared components. If i use APEX_UTIL.REDIRECT_URL API, i'm able to get the PDF output of my report. Unfortunately, REDIRECT_URL execute STOP ENGINE api internally, which stops the apex engine for any further processing and due to this rest of my plsql logic, dynamic actions, page refresh are not working !
    Regards,
    Parmod

  • How to customize events, execute stored procedures using JSF and ADF BC

    As a java beginner, I started with developing simple web application using JSF and ADF business component through visual and declarative approach. I need to know how to customize events, execute stored procedures, invoke functions on triggering events associated with rich controls. for eg. how to write customized functions on button click or checkbox click events to achieve business requirement and can be modified whenever required.
    Edited by: 792068 on Aug 31, 2010 9:40 PM

    Which business layer is prefered to create interactive data model: 1. ADF business components or 2. Enterprise JavaBeans using Java persistance API (JPA) or 3. Toplink 4. Portlets
    which minimizes writing low level codes and how much OOPS knowledge is required for creating above business layer binding data to viewcontroller layer?

  • How to Print a interactive report without  action button and search bar

    Hello every one....
    I am working on printing an interactive report. If there are 20 columns in that report i need to select some columns for printing. For this purpose i used actions button which is in the search bar of the interactive report. But i do not want to get that Actions button and search bar to get printed in the printing page. Can any one give a solution to sort out my problem
    Thanks
    Manoj.

    >
    Welcome to the forum: please read the FAQ and forum sticky threads (if you haven't done so already), and ensure you have updated with your profile with a real handle instead of "886412".
    You'll get a faster, more effective response to your questions by including as much relevant information as possible upfront. This should include:
    <li>Full APEX version
    <li>Full DB version and edition
    <li>Web server architecture (EPG, OHS or APEX listener)
    <li>Browser(s) and version(s) used
    <li>Theme
    <li>Template(s)
    <li>Region/item type(s)
    I am working on printing an interactive report. If there are 20 columns in that report i need to select some columns for printing. For this purpose i used actions button which is in the search bar of the interactive report. But i do not want to get that Actions button and search bar to get printed in the printing page. Can any one give a solution to sort out my problemSee +{message:id=2475831}+
    Always search the forum thoroughly before posting a question: 98% of questions (like this one) have been answered before.

  • How to write special characters in PDF using iText

    How to write special characters encoded with UTF-8 in PDF using iText.
    Regards,
    Pandharinath.

    I don't know what your problem is but that's almost certainly the wrong question to ask about it. Java (including iText) uses only Unicode characters. (You may consider some of them to be "special" if you like but Unicode doesn't.) And when it does that, they aren't encoded in UTF-8 or any other encoding.
    So can you describe your problem? That question doesn't make sense.

  • How to make an interactive report, non-interactive

    Hi,
    I have an interactive report. I have disabled every interactive control from the report by setting "include search bar" to NO and also at column level i didnt allow to sort or group or any other thing. Only problem is that when i click the column heading, i see a text box poping up and asks to enter some value so that it could filter the report and if i provide any value and pres enter, it returns message "ERR-1777: Page 1 provided no page to branch to. Please report this error to your application administrator."
    How can i disable this text box from appearing and making report fully non interactive. I don't want to rebuild the page as not interactive report and want to disable this popup from my current interactive report.
    Thanks
    Salman
    Edited by: Salman Qureshi on Aug 19, 2009 10:11 AM

    Hi Salman,
    You can "disable" the column links by hiding them.
    The simplest method would be to change the column heading to something like:
    &lt;/div&gt;&gt;div&lt;EnameThe link is created on a DIV tag that contains no text. The above will close this DIV and open a new one for the heading. As there's no text in the first DIV, the user can't see it nor click on it.
    Andy

  • Interactive Report filter using "in"

    I am using an interactive report, and I want to filter using the "in" criteria. The data I want to filter is a person's name, and it is a concatenation of the entire name, last name first. I have no problem doing this filter on just the first or last name, but the concatenated field has a comma in it, and that seems to be throwing the filter off.
    What automatically populates when I click a name from the list is something like:
    Abraham, Adam
    I can see that it would probably be interpreting that as two different values. But even if I put single or double quotes around the name, it still does not work correctly.
    An example available at:
    http://apex.oracle.com/pls/otn/f?p=41923:1
    Try doing an "in" filter on the "name" column.
    Thanks,
    David

    David,
    The comma is the operational separator for the 'IN' clause, so you are right, the filter sees each part of the name as a parameter. Just use something else as the separator (like a space) and you will be good to go.
    Keep Smiling,
    Bob R

  • How to get image properties in PDF using javascript or plug ins

    Hi
    How to get the image(all the images) properties in PDF using javascript or suggest plug ins
    Thanks in Advance

    HI,
    In the PDF Edit API's ( as has already been suggested) there is the PDEImage and using this you should be able to find out everything you need to know about any image in a PDF file.
    I would recommend starting with PDEImageGetAttrs
    Hope this helps
    Malcolm

Maybe you are looking for

  • Double-charged for Creative Cloud Membership - I need a refund!

    My student subscription was automatically cancelled and switched to a regular subscription. Adobe never told me, but I saw on my bank statement that I had been charged $24.99 instead of $14.99. When I first contacted Adobe and asked for a refund, the

  • How can I progressively display a Path using animation?

    I have a defined simple path that I want to display incrementally. In the example below I initialize two PathElement[] variables e0 and e1 representing initial and final states of the elements of the path. A Path is defined with elements bound to e.

  • Write file using FileAdaptor

    Hi, I need to write the file like below format using fileadaptor. *"smiith"*,Old Street,Old Town *"Manchester"*,98-12-1988,hello *"taisder"*,opppstreet ,juytr      *"vansuha"*,dordan,utre Anyone please tell me how we can provide double quotes to to t

  • My 6 Gen Nano skips songs completely...??? Plays in Itunes

    So.. ..My ipod was working fine untill one day.. it decided to only play certain songs... I can choose a song, and it will completely just skip over it, wont even play for 1 second. ALL songs play in Itunes. All songs are from CD's Yet, apple says th

  • SQL Format Question (sorry about the previous post)

    I'm trying to create a query that will produce the following output: DNAME ENAME ACCOUNTING CLARK, KING, MILLER RESEARCH SMITH, ADAMS, FORD, SCOTT, JONES SALES ALLEN, BLAKE, MARTIN, JAMES, TURNER, WARD As opposed to this basic query: SQL> get test.sq