Alv Problem: Dynamic Header & Dynamic item

Dear all,
i have two internal table.
one for header and one for item.
in header table record is stored like this: (In Vertical Base)
ID   Description
L1   Level1
L2   Level2
L3   Level3
L4   Level4
ALV Displayed like this:
Level1       Level2          Level3           Level4
in item table record is stored like this: (in Horizental Base)
L1     L2     L3    L4
20     30    40     50
21     31    41     51
22     32    42     52
23     33    43     53
the question is that how can i display items data on the base of Header.
thanx in advance
Anshuman

It looks to me that you already have all your item data in an internal table. Pass this table to your ALV (FM or OOP). Based on your header data, feed the Fieldcatalog with this data, and you're done.

Similar Messages

  • ALV with multiple header & dynamic columns

    Hello All,
    I have a requirement where in I need to print multiple header in alv.
    For eg.
    User Name : <Name_1>
    Channel     : <Channel_1>
    Sale Org    : <Sales Org_1>
    Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8
    User Name : <Name_2>
    Channel     : <Channel_2>
    Sale Org    : <Sales Org_2>
    Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8
    no of columns (Col1 , col2 )  are dynamic  . Which would be the best alv type do I need do use?  Is it possible using simple alv grid display. How to handle dynamic column.
    Thnx.

    it is not possible with normal grid or list.
    I guess it is possible by using ALV Block list
    Modified below program to get mutiple header
    REPORT z_alv_block_list.
    Type-pools
    TYPE-POOLS: slis.
    Data declarations.
    DATA: BEGIN OF t_vbak OCCURS 0,
            vbeln TYPE vbeln,
            bstnk TYPE vbak-bstnk,
            erdat TYPE vbak-erdat,
            kunnr TYPE vbak-kunnr,
          END OF t_vbak.
    DATA: BEGIN OF t_vbap OCCURS 0,
            vbeln  TYPE vbeln,
            matnr  TYPE vbap-matnr,
            netpr  TYPE vbap-netpr,
            waerk  TYPE vbap-waerk,
            kwmeng TYPE vbap-kwmeng,
            meins  TYPE vbap-meins,
          END OF t_vbap.
    DATA: t_fieldcatalog1 TYPE slis_t_fieldcat_alv.
    DATA: t_fieldcatalog2 TYPE slis_t_fieldcat_alv.
    DATA: v_repid         TYPE syrepid.
    DATA: s_layout        TYPE slis_layout_alv.
    DATA: v_tabname       TYPE slis_tabname.
    DATA: t_events        TYPE slis_t_event.
    start-of-selection event.
    START-OF-SELECTION.
      v_repid = sy-repid.
    Get the fieldcatalog for the first block
      PERFORM get_fieldcat1 CHANGING t_fieldcatalog1.
    Get the fieldcatalog for the second block
      PERFORM get_fieldcat2 CHANGING t_fieldcatalog2.
    Get the data for the first block
      SELECT vbeln bstnk erdat kunnr UP TO 10 ROWS
             INTO TABLE t_vbak
             FROM vbak WHERE vbeln > '0060000100'.
    Get the data for the second block
      SELECT vbeln matnr netpr waerk kwmeng meins UP TO 10
    ROWS
             INTO TABLE t_vbap
             FROM vbap WHERE vbeln > '0060000100'.
    init
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
           EXPORTING
                i_callback_program = v_repid.
    First block
      v_tabname = 'ITAB1'.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
           EXPORTING
                is_layout   = s_layout
                it_fieldcat = t_fieldcatalog1
                i_tabname   = v_tabname
                it_events   = t_events
           TABLES
                t_outtab    = t_vbak.
    Second block
      v_tabname = 'ITAB2'.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
           EXPORTING
                is_layout   = s_layout
                it_fieldcat = t_fieldcatalog2
                i_tabname   = v_tabname
                it_events   = t_events
           TABLES
                t_outtab    = t_vbap.
    *Display
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
          FORM GET_FIELDCAT1                           
          Get the field catalog for the first block    
    FORM get_fieldcat1 CHANGING lt_fieldcatalog TYPE
    slis_t_fieldcat_alv.
      DATA: s_fieldcatalog TYPE slis_fieldcat_alv.
    Order number
      s_fieldcatalog-col_pos       = '1'.
      s_fieldcatalog-fieldname     = 'VBELN'.
      s_fieldcatalog-tabname       = 'T_VBAK'.
      s_fieldcatalog-ref_tabname   = 'VBAK'.
      s_fieldcatalog-ref_fieldname = 'VBELN'.
      APPEND s_fieldcatalog TO lt_fieldcatalog.
      CLEAR s_fieldcatalog.
    Customer purchase order.
      s_fieldcatalog-col_pos       = '2'.
      s_fieldcatalog-fieldname     = 'BSTNK'.
      s_fieldcatalog-tabname       = 'T_VBAK'.
      s_fieldcatalog-ref_tabname   = 'VBAK'.
      s_fieldcatalog-ref_fieldname = 'BSTNK'.
      APPEND s_fieldcatalog TO lt_fieldcatalog.
      CLEAR s_fieldcatalog.
    Creation date.
      s_fieldcatalog-col_pos       = '3'.
      s_fieldcatalog-fieldname     = 'ERDAT'.
      s_fieldcatalog-tabname       = 'T_VBAK'.
      s_fieldcatalog-ref_tabname   = 'VBAK'.
      s_fieldcatalog-ref_fieldname = 'ERDAT'.
      APPEND s_fieldcatalog TO lt_fieldcatalog.
      CLEAR s_fieldcatalog.
    Customer
      s_fieldcatalog-col_pos       = '4'.
      s_fieldcatalog-fieldname     = 'KUNNR'.
      s_fieldcatalog-tabname       = 'T_VBAK'.
      s_fieldcatalog-ref_tabname   = 'VBAK'.
      s_fieldcatalog-ref_fieldname = 'KUNNR'.
      APPEND s_fieldcatalog TO lt_fieldcatalog.
      CLEAR s_fieldcatalog.
    ENDFORM.
          FORM GET_FIELDCAT2                           
          Get the field catalog for the second block   
    FORM get_fieldcat2 CHANGING lt_fieldcatalog TYPE
    slis_t_fieldcat_alv.
      DATA: s_fieldcatalog TYPE slis_fieldcat_alv.
    Order number
      s_fieldcatalog-col_pos       = '1'.
      s_fieldcatalog-fieldname     = 'VBELN'.
      s_fieldcatalog-tabname       = 'T_VBAP'.
      s_fieldcatalog-ref_tabname   = 'VBAP'.
      s_fieldcatalog-ref_fieldname = 'VBELN'.
      APPEND s_fieldcatalog TO lt_fieldcatalog.
      CLEAR s_fieldcatalog.
    Material number
      s_fieldcatalog-col_pos       = '2'.
      s_fieldcatalog-fieldname     = 'MATNR'.
      s_fieldcatalog-tabname       = 'T_VBAP'.
      s_fieldcatalog-ref_tabname   = 'VBAP'.
      s_fieldcatalog-ref_fieldname = 'MATNR'.
      APPEND s_fieldcatalog TO lt_fieldcatalog.
      CLEAR s_fieldcatalog.
    Net price
      s_fieldcatalog-col_pos       = '3'.
      s_fieldcatalog-fieldname     = 'NETPR'.
      s_fieldcatalog-tabname       = 'T_VBAP'.
      s_fieldcatalog-ref_tabname   = 'VBAP'.
      s_fieldcatalog-ref_fieldname = 'NETPR'.
      s_fieldcatalog-cfieldname    = 'WAERK'.
      s_fieldcatalog-ctabname      = 'T_VBAP'.
      APPEND s_fieldcatalog TO lt_fieldcatalog.
      CLEAR s_fieldcatalog.
    Currency.
      s_fieldcatalog-col_pos       = '4'.
      s_fieldcatalog-fieldname     = 'WAERK'.
      s_fieldcatalog-tabname       = 'T_VBAP'.
      s_fieldcatalog-ref_tabname   = 'VBAP'.
      s_fieldcatalog-ref_fieldname = 'WAERK'.
      APPEND s_fieldcatalog TO lt_fieldcatalog.
      CLEAR s_fieldcatalog.
    Quantity
      s_fieldcatalog-col_pos       = '5'.
      s_fieldcatalog-fieldname     = 'KWMENG'.
      s_fieldcatalog-tabname       = 'T_VBAP'.
      s_fieldcatalog-ref_tabname   = 'VBAP'.
      s_fieldcatalog-ref_fieldname = 'KWMENG'.
      s_fieldcatalog-qfieldname    = 'MEINS'.
      s_fieldcatalog-qtabname      = 'T_VBAP'.
      APPEND s_fieldcatalog TO lt_fieldcatalog.
      CLEAR s_fieldcatalog.
    UOM
      s_fieldcatalog-col_pos       = '6'.
      s_fieldcatalog-fieldname     = 'MEINS'.
      s_fieldcatalog-tabname       = 'T_VBAP'.
      s_fieldcatalog-ref_tabname   = 'VBAP'.
      s_fieldcatalog-ref_fieldname = 'MEINS'.
      APPEND s_fieldcatalog TO lt_fieldcatalog.
      CLEAR s_fieldcatalog.
    ENDFORM.

  • ALV - Layout for header and item level data

    Experts,
    A program extracts complete sales order details (including item level data) in ALV format. Now, during display, if anyone changes the layout to have only header level fields, I would like the duplicate records created by item data to go away. Would you know how to accomplish this?
    Any help would be rewarded with points.
    UV

    Hello,
    You can do it instead of adding a button on the ALV, on the selection screen add a radiobutton asking what information is required.
    Header Information
    Detailed Information
    Or something like that
    Bye
    Gabriel P

  • Same condition type on header and item level = printing problem

    Hi
    I have a customer using some condition types on both item level and header level in quotations, orders, invoices ...
    In the pricing procedures it is customized (V_T683S-DRUKZ) that the conditions must be printed on header level (that is at the bottom of the documents).
    My job is to make the Smartform to print the documents, and I want it of course to be as close to SAP standard as possible.
    SAP standard will print these conditions on header level even if the conditions are at item level, but my customer wants the conditions created on header level to be printed on header level and conditions created on item level to be printed on item level.
    I'm no pricing expert, so my question is:
    Will it be fair if I tell the customer that using the same condition types on header and item level is bad practices - or at least bad karma?
    Best regards
    Thomas Madsen Nielsen

    Hi Shiva Ram and Madhu
    I have no problem understanding header vs. item conditions, so I really don't see anything in oss note 876617, that is relevant in this case.
    Madhu - I do not agree that everything is fine. My issue is that I want to stick as closely to SAP standard customizing as possible. In SAP standard customizing of a condition type you can use the flag V_T683S-DRUKZ to determine if the condition should be printed on header OR item level - you can not choose both header AND item level.
    I have a SAP standard smartform using two functions modules for reading header and item conditions. RV_PRICE_PRINT_ITEM and RV_PRICE_PRINT_HEAD. These function modules are based on the DRUKZ customizing flag and a condition marked for printing on header level will be supplied by RV_PRICE_PRINT_HEAD even when the condition is on item level.
    My point is: SAP standard customizing does not support printing of same condition on both header and item level. I can of course write tons of code to work around this problem, but that would be bad practices

  • Dynamic header in oo alv print_top_of_page based on current line

    I would expect this to be a common problem with the solution easily to google/find, but somehow...
    dynamic header generation during alv print_top_of_page:
    - i print an oo alv grid, sorted by kunnr
    - for each new kunnr a new page
    -> now I want during print-out to: at each top of page, read the first (or any) line of the current page, i.e. the current kunnr, and select data on basis of that kunnr to be written to the header.
    My problem is that sy-tabix is not being filled correctly (always 1).
    Strange thing is that in another report with a non-dynamic itab to display, sy-tabix is actuall being filled more or less correctly. (with the minor drawback that on the first page the tabix might not be 1 but more likely to be 2; but that's easy to fix and for the next pages sy-tabix is correct)
    Kind regards, A
    baanbrecher

    In the handle_print_top_of_page method, use :
    FIELD-SYMBOLS : <lv_line> TYPE ANY.
    ASSIGN ('(SAPLKKBL)G_INDEX') TO <lv_line>.
    if <lv_line> = 0. "First time, G_INDEX is equal to zero
       <lv_line> = 1.
    endif.
    So in <lv_line> you will always have the good index of your table.

  • Problem setting a hidden item value when button clicked with dynamic action or pl/sql process

    Apex 4.1
    Oracle 11g
    I have a page that consists of a main region and several sub regions.  I have a pl/sql process in After Header SET_DISPLAY(:P400_DISPLAY :='MAIN';)
    Three subregions have a contional display where P400_DISPLAY = STORE.  This works in hiding the sub regions.
    Now I want to change the P400_DISPLAY value to STORE to show the subregions when I hit a button.
    I tried creating a dynamic action for on click of the add button but get the following error:
    The selected button uses a 'Button Template' that does not contain the #BUTTON_ID# substitution string
    I went to the templates and found:
    Substitution Strings
    Substitution strings are used within sub templates to reference component values. This report details substitution string usage for this template.
    Substitution String
    Referenced
    From
    Description
    #LINK#
    Yes
    Template
    To be used in an "href" attribute
    #JAVASCRIPT#
    No
    To be used in an "onclick" attribute
    #LABEL#
    Yes
    Template
    Button Label
    #BUTTON_ATTRIBUTES#
    No
    Button Attributes
    #BUTTON_ID#
    No
    Generated button ID will be either the button's Static ID if defined, or if not will be an internally generated ID in the format 'B' || [Internal Button ID]
    I then tried creating a page process, pl/sql, :P400_DISPLAY :='STORE'; when the appropriate button is pressed.  The button action is submit page. However, it does not change the P400_DISPLAY value and the subregions stay hidden.
    Suggestions please on how to fix the template or change the P400_DISPLAY value?

    The root issue is that, although you change the value of your page item, it isn't visible to other areas of the page until it is in the session. So, any other action based on the value of your page item; the visibility of a control, a report based on the item's value, etc. will all be unaffected by changing the value of the page item until it has been changed in the session. Even after this the items are stored in the session, you must thereafter do something to cause the value to be reevaluated. To see the effect of this, observe that your page loads and evaluates the value of your page item, it sees that is "MAIN" and hides the regions. However, it doesn't reevaluate them after this.
    So; your choices to get this value set in the session are to either Submit the page, or use JavaScript to set the value in the session. If you use the latter of these, you'll have to do some further work to cause the visibility tests to be re-run, So, let's stick with with the submit method.
    What you've done above sounds correct for this but, there are a lot of decisions you could have made that might have caused things not to happen in the correct sequence.
    Firstly, let's confirm that what I describe above is your problem. From the development environment, load the page, click the button to change the value and submit. Now, click the link labelled Session. Is it still set to MAIN? If so; this is your issue.
    Let's start with the your After Header computation. Did you set it to *only* run if the current value of your page item is NULL??? If not, that's your problem.
    Load Page -> Item set to 'Main' by Computation -> Click Button -> Item set to STORE -> Submit -> Load Page -> Item set to 'Main' by Computation
    See the problem?
    Assuming this isn't the issue, you created a Branch to the same page, right? What is your process point for the Branch? Is it *After* Validation, Computation etc? Because if not, you aren't changing the value before the submit happens.
    I bet it is the first issue but, take a look at these.
    Cheers,
    -Joe

  • Dynamic header in oo-alv

    Hi
    I have a requirement to display  Dynamical  header in ALV.
    I am displaying the SUM of my list in ALV header . This I am able to do , as I can calculate before displaying ALV for the first time.
    But when the user filters the list the SUM should change according to the new entries displayed after filtering .
    How can i do this .
    Line: -
    All the helpful answers will be rewarded for sure.
    Thanks.
    Regards,
    Sandeep.

             fieldname type slis_fieldname,
             tabname type slis_tabname,
             seltext(40),
             valuf(80),
             valut(80),
             valuf_int(80),
             valut_int(80),
             sign0(1),
             sign_icon(4),
             optio(2),
             stype(1),
             decimals like dfies-decimals,
             intlen like dfies-intlen,
             convexit like dfies-convexit,
             edit_mask type slis_edit_mask,
             lowercase like dfies-lowercase,
             inttype like dfies-inttype,
             datatype like dfies-datatype,
             exception(1) type c,
             no_sign(1) type c,
             or(1) type c,
             order type order,
             cqvalue(5) type c,
             ref_fieldname like dfies-fieldname,
             ref_tabname like dfies-tabname,
             ddic_outputlen like dfies-outputlen,
    The following are the example code for filter settings.
              lv_filter-fieldname = u2018FIELDNAMEu2019.
              lv_filter-valuf_int =  u2018VALUEu2019.
              lv_filter-sign0     = u2018SIGNu2019.
              lv_filter-optio     = u2018OPTIONu2019.
              APPEND lv_filter TO gt_filter_list.
    Where gt_filter_list is of type slis_t_filter_alv.
    This populated internal table is then passed as the import parameter u2018it_filteru2019 of the display ALV FM.
    I hope this help u...!

  • Bex dynamic header problem

    Hi All,
    I have 2 problems..
    1) I have to print the vendor statement of account for 1 year. Now for each vendor the vendor code name and address comes followed by other columns of account information related to it. My requirement is that i want the vendor code name and address to appear in header line and then all other information for that vendor comes beneath it. Meaning the vendor name and address comes in 1st line , and from 2nd line all account information related to that vendor comes. then say on 60th line another vendor name and address comes...and from 61st line accoutn information of the 2nd vendor comes.
    How to do it???
    2) i want to ghet dynamic header in the bex report based on the iunformation filled in the selection option. Eg: if user entered a posting date then that posting date should appear in the report header.
    both these are urgent requirements....Plz help soon
    Thanks & regards
    Akash

    Hi , thanks for ur reply but the Report designer is not working , givng me error
    RFC destination NOT_CONFIGURED.
    The main problem is i have to display the name and address of Vendor in a separate row i.e. vendor name and address shud appear in the row and then in following rows the other details.
    Eg.
    11000 Shashi Kapoor  Jaipur         31.12.2006     doc no type etc
    12000 Kamla Verma    Mumbai      12.10.2006    doc no type etc
    Now final putput will be like
    11000
    Shashi Kapoor
    Jaipur
    31.12.2006    .................................
    12000
    Kamla Verma
    Mimbai
    12.10.2006.........................................
    Thanks .

  • ALV Dynamic header

    LAYOUT FORMAT
    Program Title
    Client Name     Run Date/Time :
    Program            : Program Name
    User ID              : Page                  : X of Y
    Pernr:                                                            
    Name:
    IC Number:
    RBAF / Reference Number:
    Rank:
    Service:
    Unit:
    Sub Unit:
    No.|  Position| Leave Taken| From|Leave Taken To| Type of Leave|
    Leave Entitlement| No. Of Leave Taken|     Present Balance of Leave|
    Please help to program dynamic alv header for above format. I have used page break on Pernr but the header is not coming according to pernr. Though I managed
    dynamic header when we press Print Preview. But that is not a solution.

    Hi,
    I did something very similar to your requirement.
    There is a predefined event for Reuse_alv_list_display called 'BEFORE_LINE_OUTPUT'. In the event table, you have to specify the <event>-name = 'BEFORE_LINE_OUTPUT' and the <event>-form = 'ALV_BEFORE_LINE_OUTPUT'.
    Then you need a form like
    FORM alv_before_line_output
      USING ps_lineinfo TYPE kkblo_lineinfo.                    "#EC CALLED
      FIELD-SYMBOLS:
        <prot> TYPE typ_prot.
      READ TABLE gt_prot INDEX ps_lineinfo-tabindex
        ASSIGNING <prot>.
      CHECK g_file_no <> <prot>-file_no.
      g_file_no = <prot>-file_no.
      NEW-PAGE.
    ENDFORM.                    "alv_before_line_output
    In my program the global table displayed in ALV was gt_prot (of line type typ_prot) and the requirement was to start a new page for each file processed. The form stores the file processed in
    g_file_no. If a new file is processed, a NEW-PAGE will trigger the TOP_OF_PAGE event of the alv. I will not copy the form here because we also issued some statistical values, system and user informations and so on.
    But I hope you get it done.
    The only remaining issue may be that the before_line_output event will cost some time because it is triggered for every output line. But my report was still quite fast.
    regards,
    Clemens

  • Merging of 2 Cells in WD ABAP ALV Header & Dynamically change the header

    Hello Experts,
    I have two main requirements with respect to WD ABAP - ALV report creation
    1) Two feilds in the  header of ALV GRID created in the WD ABAP screen must be merged as shown below(Month Column) ,
    |     January         |     February         |  
    |   Col 1 | Col2      |   Col 1 | Col2        |     
    2) The header value(Month) should dynamically change based on the current date.
    For Eg: If June 2011 is the current month , the ALV table should start from June 2011 and displayed till May 2012.
    Looking forward for your valuable inputs @ the earliest
    Regards,
    Sriram

    Hi Sriram,
    For merging..
    Pleaese go through this
    Merge of Cells in ALV table in ABAP webdynpro.
    ABAP WD: ALV merge cells
    For Header Change..
    How to set title/text for ALV table column header in WD ABAP
    Change column header in ALV to another DDIC Element type
    Change label of a column in ALV
    Cheers,
    Kris.

  • Dynamic header / footer

    Hi all,
    I created an Adobe Form and defined on the MasterPage a header, a footer and a main area (content are) in-between. The areas were defined with a fixed size (somehow it was the only way because "fit height" and "fit width" was innactive).
    Because the form is used in different countries the amount of information in the different areas is not the same. Therefore I am looking for a dynamic header and footer (and main area). That should help to optimise the space exploitation on a page. The header should grow from top of the page down, the footer bottom up and the main area fill the gap.
    I know that this is a very sophisticated demand. Nevertheless, I hope that someone else had similar ideas and could solve that task.
    I appreciate any help, hints and good advices which leads to a solution of my problem.
    Thanks & regards,
    Phil

    Hi Andres,
    thanks a lot for your quick answer!
    In your MasterPage, add only the items that will remain static during the execution.
    Every object that will behave in a dynamic manner should go in the BodyPage.
    Very good hint, thanks!
    What you can do is set a Subform with flowed Western Text between your Header/Footer
    (Static) of your MasterPage. Within that main Subform set three more, "Western Text" as well.
    One will be for your Dynamic Header, the middle one for your Main and the bottom one for your
    Dynamic Footer.
    I think I did not really get it! As far as I understand this works for one page...my form - when filled with data - can have more than one page!
    Some questions came up when I read your solution:
    1) why is the flowed content "western text" and not "top to bottom"?
    2) what happens exactly with the area of the static header / footer? It's above the dynamic header and below dynamic footer -> is that space not wasted in the end?
    3) The dynamic footer is directly below the main area - not necessarily at the bottom of the page!?
    4)  How is the "pagination" defined for each of the three dynamic areas (header / main / footer)?
    I hope you'll find the time to answer my question soon!
    Thanks & regards,
    Phil

  • SSRS 2008 R2 - Dynamic header data stays the same when exporting

    Background:
    I have a SSRS 2008 R2 report with a single Tablix.
    The data is grouped by InvoiceID, with each appearing on a separate page.
    I'm displaying some of the detail data in the group header row using Expressions similar to the following:
    ="Invoice # "  & ReportItems!InvoiceID.Value"
    The data referred to by my ReportItems statements are all hidden in the detail row (Advanced Mode, the Hidden Value for the Static Row Group is set to false).
    Problem:
    When I Preview the report in Visual Studio, everything looks as it should - the dynamic header data changes correctly with each group.
    However, whenever I export the results (I've tried all the formats), the header data is the same for every group - its taking the values from the first group and using it in all the groups.
    I've copied the same expressions into my Totals row, and the data is correct when exported; its only happening in my header rows.
    Any help in resolving this is greatly appreciated, thank you.

    Hi Alex,
    According to your description, you have a header with expression contains ReportItems. Now you find it shows incorrect result when exporting to a file. Right?
    In Reporting Services, it has reported some similar issue that the ReportItem returns unexpected result when exporting.  In this scenario, since you just want to show the group name in each page as a header for detail rows. So you can make the
    detail rows group on the Group. Then delete the Group column but still keep the group. After that add a row above detail row (Out side of group) and put in "=Fields!InvoiceID.Value". Now it will show the corresponding Group name
    when you set page break between each group instance. We have tested this case in our local environment. Here are screenshots for your reference:
    Reference:
    SSRS
    field expressions using ReportItem refrences have unexpected results when exporting
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • Dynamic binding of items in sap.m.Table using XML views

    Dear SAPUI5 guru's,
    Let's start by saying I'm an ABAP developer who's exploring SAPUI5, so I'm still a rookie at the time of writing. I challenged myself by developing a simple UI5 app that shows information about my colleagues like name, a pic, address data and their skills. The app uses the sap.m library and most of the views are XML based which I prefer.
    The data is stored on an ABAP system and exposed via a gateway service. This service has 2 entities: Employee and Skill. Each employee can have 0..n skills and association/navigation between these 2 entities is set up correctly in the service. The data of this service is fetched from within the app using a sap.ui.model.odata.ODataModel model.
    The app uses the splitApp control which shows the list of employees on the left side (master view). If a user taps an employee, the corresponding details of the employee entity are shown on the right (detail view).
    Up till here everything is fine but I've been struggling with my latest requirement which is: show the skills of the selected employee in a separate XML view when the user performs an action (for the time being, I just created a button on the detail view to perform the action). After some hours I actually got it working but I doubt if my solution is the right way to go. And that's why I'm asking for your opinion here.
    Let's explain how I got things working. First of all I created a new XML view called 'Skills'. The content on this view is currently just a Table with 2 columns:
    <core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"
      controllerName="com.pyramid.Skills" xmlns:html="http://www.w3.org/1999/xhtml">
      <Page title="Skills"
           showNavButton="true"
           navButtonPress="handleNavButtonPress">
      <content>
      <Table
       id="skillsTable">
      <columns>
      <Column>
      <Label text="Name"/>
      </Column>
      <Column>
      <Label text="Rating"/>
      </Column>
      </columns>
      </Table>
      </content>
      </Page>
    </core:View>
    The button on the Detail view calls function showSkills:
    showSkills: function(evt) {
      var context = evt.getSource().getBindingContext();
      this.nav.to("Skills", context);
      var skillsController = this.nav.getView().app.getPage("Skills").getController();
      skillsController.updateTableBinding();
    Within 'this.nav.to("Skills", context);' I add the Skills view to the splitApp and set its bindingContext to the current binding context (e.g. "EmployeeSet('000001')"). Then I call function updateTableBinding in the controller of the Skills view which dynamically binds the items in the table based on the selected employee. So, when the ID of the selected employee is '000001', the path of the table's item binding should be "/EmployeeSet('000001')/Skills"
    updateTableBinding: function(){
      var oTemplate = new sap.m.ColumnListItem(
      {cells: [
              new sap.m.Text({text : "{Name}"}),
              new sap.m.Text({text : "{Rating}"})
      var oView = this.getView();
      var oTable = oView.byId("skillsTable");
      var oContext = oView.getBindingContext();
      var path = oContext.sPath + "/Skills";
      oTable.bindItems(path, oTemplate);
    Allthough it works fine, this is where I have my first doubt. Is this the correct way to bind the items? I tried to change the context that is passed to this.nav.to and wanted it to 'drill-down' one level, from Employee to Skills, but I couldn't manage to do that.
    I also tried to bind using the items aggregation of the table within the XML declaration (<Table id="skillsTable" items="{/EmployeeSet('000001')/Skills}">). This works fine if I hard-code the employee ID but off course this ID needs to be dynamic.
    Any better suggestions?
    The second doubt is about the template parameter passed to the bindItems method. This template is declared in the controller via javascript. But I'm using XML views! So why should I declare any content in javascript?? I tried to declare the template in the XML view itself by adding an items tag with a ColumnListItem that has an ID:
                    <items>
                        <ColumnListItem
                        id="defaultItem">
                        <cells>
                            <Text text="{Name}"/>
                            </cells>
                            <cells>
                            <Text text="{Rating}"/>
                            </cells>
                        </ColumnListItem>
                    </items>
    Then, in the updateTableBinding function, I fetched this control (by ID), and passed it as the template parameter to the bindItems method. In this case the table shows a few lines but they don't contain any data and their height is only like 1 mm! Does anyone know where this strange behaviour comes from or what I'm doing wrong?
    I hope I explained my doubts clearly enough. If not, let me know which additional info is required.
    Looking forward to your opinions/suggestions,
    Rudy Clement.

    Hi everybody,
    I found this post by searching for a dynamic binding for well acutally not the same situation but it's similar to it. I'm trying to do the following. I'm having a list where you can create an order. On the bottom of the page you'll find a button with which you're able to create another order. All the fields are set to the same data binding ... so the problem is if you've filled in the values for the first order and you'll press the button you'll get the same values in the second order. Is it possible to generate a dynamic binding?
    I'm going to post you a short code of what I'm meaning:
    <Input type="Text" value="{path: 'MyModel>/Order/0/Field1'}" id="field1">
         <layoutData>
                    <l:GridData span="L11 M7 S3"></l:GridData>
               </layoutData>
    </Input>
    As you can see I need to set the point of "0" to a dynamic number. Is there any possibility to reach this???
    Hope you can help
    Greetings
    Stef

  • Dynamic Header for a website.    DOUBLE POINTS FOR ANSWER!!

    I don't even know where to start with this one, let me try explain this:
    I am looking for ideas on how to create some sort of dynamic header for an affiliate website, we have launched a new affiliate program for http://www.africancures.com/ the affiliate program is done through 1shoppingcart.com and each affiliate is given an ID like:
    http://www.1shoppingcart.com/app/?af=812264
    Once the affiliate signs up they choose their own website URL like: mikeshealth.com, then we point the affiliate URL mikeshealth.com to http://www.1shoppingcart.com/app/?af=812264 which in turn comes to our main website: http://www.africancures.com/ now here is where the problem comes in, how do I make the website display Mikes Health instead of African Cures .
    I hope I was able to explain this well enough as it seems to be a bit confusing to me when I write it down. I really hope there is someone out there who has worked on something like this before or if there is someone who thinks they know how to do this.
    Thank you
    So here is something else I was thinking of, but I am not much of a programmer anymore:
    Have a list of all the affiliate ids and their corresponding website names, eg:
    Affiliate ID=812264 Website name= Mikes Health, then when someone comes to the site the jave works out which affiliate id sent them to the site, eg
    Get(AffiliateID)from Refering.URL then Display.Header(AffiliateID) on main page, do you think you could help me now Sabre150?

    I'm still trying to see what this has to do with Java. Each host name such as mikeshealth.com will need to be registered with name servers with the IP address of www.1shoppingcart.com. Your web server will then need to be configured to perform perform any mapping.
    Again, what has this to do with Java?

  • Display a dynamic header

    Dear Vinod,
    IMHO i don't think this is a spec dumping. I did try to search and even tried hands on it. Unfortunately i didn't get any luck with that.
    Morever i'm not asking for any spoon feeding...It's just about some pointer's or any ideas that would help me.
    Hope that clarifies much better.
    Thanks in advance,
    Arya.
    My selection screen has a parameter P_WEEK.
    Suppose if user enter's a week no for ex: 5. My ALV header should display as
    Week5  Week6  Week7  Week8  Week9  Week10
    i.e. Up to next 5 weeks. How to design a ALV that would display a dynamic header?
    Any ideas or suggestion would be of great help.
    Thanks,
    Arya
    Moderator message : Search for available information. Moved to basic(points-free) forum.
    Edited by: Vinod Kumar on Oct 19, 2011 3:37 PM
    Edited by: arya.soumya on Oct 19, 2011 12:22 PM
    Edited by: Suhas Saha on Oct 19, 2011 4:08 PM

    Hi,
    you just try to write below logic in TOP-OF-PAGE routine in your program.
    parameter: p_week(3) type c.
    Form top_of_page .
    do p_week times.
    pass the required data to your internal table and append it.
    enddo.
    Endform.
    Ram.

Maybe you are looking for

  • Subject: FlexConnect compatibility with Access Point

    Subject: FlexConnect compatibility with Access Point Summary: Hi, We have today one Cisco 5508 and those access point on remote sites o CISCO AIR-LAP-1131AG-E-K9 o CISCO AIR-LAP-1231G-E-K9 o CISCO AIR-LAP-1142N-E-K9 We plan to use redundancy on the c

  • Charts are not working in Multiple Presentation Services environment.

    Hi , I have implemented multiple presentation services enviornment bu follwoing this blog: http://rnm1978.wordpress.com/2009/08/25/multiple-rpds-on-one-server-part-2-presentation-services/. It was successfully implemented but charts are not working f

  • [原创] Apache 2.x与WLS9.1集成-Solaris篇

    目的:使用Apache做WebLogic Server 9.1集群的负载分发 1. 软件环境描述 Sun Solaris 10 WebLogic Server 9.1 Solaris 10安装自带Apache 2,位置为/usr/apache2 使用weblogic用户安装WebLogic Server 9.1,位置为 ~/bea/weblogic91 2.生成并修改Apache配置文件 最好使用root用户登陆,否则需要修改的地方很多,比如端口,日志文件的位置等,这里不讨论 #cd /etc/

  • Windows live mail crashes or stops and I get error message

    sometimes it just freezes up and other times I get an error message about drivers or something else

  • Enrolling benefits for an employee

    Hi all,   Please can anyone provide me the screen-shots for enrolling benifit plans for an employee using T-code 'HRBEN0001'. TKS in advance, Dharani