Dimension displaying Level_Member values instead of proper mapped value

Just wondering if anyone else has come across this problem before and knows a smart way of correcting it.
I have a Dimension that contains 6 levels which is mapped to a view. I can build the dimension without any errors appearing in the maintain process. However there are times when something happens (not sure what) and the dimension appears differently when I "view data". The top 5 levels appear normally but the sixth level (L6) displays L6_"surrogate id", where the surrogate id is mapped to the Member field in the mapping section. This would indicate to me that there isn't any value mapped to either description field. But according to the view there is a character value and this is mapped against the Short Description and the Long Description.
Now it gets a bit stranger. This has definitely been working, so I dropped the view and recreated it with a different where clause so that the values returned are definitely different. I maintain the dimension again and I receive the new values displayed correctly - the XML_LOAD_LOG indicates that the old values were deleted and the new values were created. When I drop the view and recreate it with the original where clause and maintain it again, it works correctly !!
I'm sure there is a logical reason for this happening (or maybe there is not). I am resorting to programmatically creating the view incorrectly, maintaining the dimension, correcting the view and maintaining it again. The seems somewhat extreme but I am at a loss for what else to do.
Anyone experienced this before ??
Thanks
L

Thanks for the response.
I have deleted the AW and recreated from template and then maintained the dimension. The problem is there as before.
I then went to the mapping node and removed the referenced view, added it again and remapped. Maintained the dimension and unfortunately the problem is still there!
I think the problem definitely relates to the dropping and recreating of the AW. Something seems to be corrupting the attributes - the strange thing is that it only occurs for the lowest level (level 6), everything else above it is 100% correct. Unfortunately the dropping and recreating of this is required for two reasons:
1. To manage the size of the AW and therefore the time required to maintain our dimensions and cubes on a nightly basis. If left the build time will creep up to about 2 hours within 3 weeks - it currently takes 20 minutes to build 5 cubes and 7 dimensions by dropping and recreating the AW.
2. To handle the problem with cubes not deleting data that is no longer referenced. Our data warehouse is relatively small and due to other constraints we drop and repopulate all of our tables every night - giving them new surrogates. In some cases records will have actually been removed. Without dropping the cube and recreating it, these "old" records are still seen in the cube and therefore give us incorrect results.
I have now implemented code that creates the view with dummy data and maintains the dimension. Then corrects the view and maintains it again. This is working well and is only taking a matter of minutes to run. I am concerned though that this will occur in other dimensions that we create in the future. Anyway, I guess I'll cross that bridge when I come to it.
Thanks again for your reply. I knew it was probably something strange that might be as a result of other actions we are taking.
L

Similar Messages

  • How to fix iframe issue that displays XML values instead of formatted XML in IE11

    The following sub.jsp file shows the formatted XML properly as expected when is opened directly:
    <% response.setContentType("text/xml"); %>
    <book>
    <chapter1>chapter 1</chapter1>
    <chapter2>chapter 2</chapter2>
    </book>
    IE11 shows the result as below which are colored and can be collapsed or un-collapsed:
    <book><chapter1>chapter 1</chapter1><chapter2>chapter 2</chapter2></book>
    But if the sub.jsp is opened in an iframe from the below main.html, it only shows the values of the XML in the iframe:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <iframe src="sub.jsp"></iframe>
    </body>
    </html>
    The iframe shows only the XML values, i.e., chapter 1 chapter 2 in IE11. This issue does not happen in IE8.
    I appreciate to your if you know how to address this issue.
    Regards, Amir

    The following sub.jsp file shows the formatted XML properly as expected when is opened directly:
    <% response.setContentType("text/xml"); %>
    <book>
    <chapter1>chapter 1</chapter1>
    <chapter2>chapter 2</chapter2>
    </book>
    IE11 shows the result as below which are colored and can be collapsed or un-collapsed:
    <book><chapter1>chapter 1</chapter1><chapter2>chapter 2</chapter2></book>
    But if the sub.jsp is opened in an iframe from the below main.html, it only shows the values of the XML in the iframe:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <iframe src="sub.jsp"></iframe>
    </body>
    </html>
    The iframe shows only the XML values, i.e., chapter 1 chapter 2 in IE11. This issue does not happen in IE8.
    I appreciate to your if you know how to address this issue.
    This issue is also posted at below link:
    https://social.msdn.microsoft.com/Forums/en-US/5b0692b4-d312-4797-9089-42c1029ac059/how-to-fix-iframe-issue-that-displays-xml-values-instead-of-formatted-xml-in-ie11?forum=iewebdevelopment
    Regards, Amir

  • Display single value with dimension filter selection

    Hello,
    I use Design Studio 1.3.
    I want to display the correct single value after I choose a "Calyear" form dimension filter.
    At the moment I can use the sum of all "Calyears"only.
    Thanks for our help....

    I have create this Datasource:
    In Script Editor I fill the value field with this Code:
    DETAILS_VALUE_AE.setText(DS_3_AE_DETAIL.getData("00O2TF25Z6L0MSI7DYKIXACY3", {}).formattedValue + " EUR");
    00O2TF25Z6L0MSI7DYKIXACY3 = Keyfigure "Aufragseingang"
    Without filter the value is correct.
    But when I filter (with dimension filter) the value doesn't works correct.
    I think my code in script editor is not correct. Or must I use variables?

  • Display decimal values in report

    Hi all,
    I have one question concerning the display of decimal values smaller than '1' in a report.
    In an SQL query some calculations are done and the result is displayed in a report.
    The problem is, that if the value of the result is smaller than '1' it shows for example ,8 instead of 0,8
    Does anybody know how to display decimal values normally?
    kind Regards and thanks!!
    Patrick

    Hi SWED!
    1.) Click at the name of your report region (in application builder) to edit it
    2.) Select the "report attributes" tab
    3.) Click at the column you want to format
    4.) Look for the "Column Formatting" region
    5.) Select the proper format from the "Number / Date Format" list or enter your own format like "0.0"
    I hope that will help you along.
    yours sincerely
    Florian W.

  • How do I display only key instead of description in MDX query

    Hi,
    Whenever I try to display material number, QN number.... in MDX it only displays the description instead of key. In query designer, it says "display as key and text".  How do I display the key only instead of text?
    Thanks,
    Duy

    I used your query and pointed to my query and the result is as expected - both key and text. I'm not sure what is different between our IO and mine.
    SELECT [Measures].MEMBERS ON COLUMNS,
    [0VENDOR].[LEVEL01].MEMBERS 
          PROPERTIES    [0VENDOR].[20VENDOR] ON ROWS
    FROM [MY QUERY]
    then I tried to hardcode the value it only showed me just the text. I tried different ways to make it show either just the key or both - but couldnt figure out. And one more thing I confirm is that the display settings in Bex really DOESNT matter or taken into consideration my MDX.
    SELECT [Measures].MEMBERS ON COLUMNS,
    {[0VENDOR].[ABCD]} ON ROWS
    FROM [MYQUERY]
    let me know if were able to figure it out
    Try the below statement and see what it does
    SELECT [Measures].MEMBERS ON COLUMNS,
    NON EMPTY [0NOTIFICATN__0NOT_TYPE].[LEVEL01].MEMBERS
    DIMENSION PROPERTIES [0NOTIFICATN__0NOT_TYPE].[20NOTIFICATN__0NOT_TYPE] ON ROWS
    FROM [YOURQUERY]
    Edited by: voodi on Sep 28, 2010 3:08 PM

  • Problem displaying registry value

    Hi,
    I believe I have some basic issues with the setwindowtext function. I have a value stored in the registry of 10 characters, type REG_SZ. The regerror parameter for the RegGetValue funtion below is 0, so this function I believe should be okay. But when I
    try to display the value, only the first of the ten registry characters are displayed, and I don't understand why. I wondered therefore if someone could give me a hint about what could be wrong.
    #include "Winreg.h"char outtxt[25];
    #define BUFFER 25
    char registervalue[25];
    DWORD BufferSize = BUFFER;
    LONG WINAPI regerror;
    regerror = RegGetValue(HKEY_LOCAL_MACHINE, L"SOFTWARE\\DhruvaNada\\Settings", L"mrg", RRF_RT_ANY, NULL, (PVOID)&registervalue, &BufferSize);
    sprintf( outtxt, "%s", registervalue);
    SetWindowTextA(Control[13], outtxt);
    Thanks in advance.

    On 17/03/2015 12:56, Vahmat wrote:
    I believe I have some basic issues with the setwindowtext function. I have a value stored in the registry of 10 characters, type REG_SZ. The regerror parameter for the RegGetValue funtion below is 0, so this function I believe should be okay. But when I
    try to display the value, only the first of the ten registry characters are displayed, and I don't understand why. I wondered therefore if someone could give me a hint about what could be wrong.
    #include "Winreg.h"char outtxt[25];
    #define BUFFER 25
    char registervalue[25];
    DWORD BufferSize = BUFFER;
    LONG WINAPI regerror;
    regerror = RegGetValue(HKEY_LOCAL_MACHINE, L"SOFTWARE\\DhruvaNada\\Settings", L"mrg", RRF_RT_ANY, NULL, (PVOID)&registervalue, &BufferSize);
    sprintf( outtxt, "%s", registervalue);
    SetWindowTextA(Control[13], outtxt);
    You are mixing Unicode and ANSI text here, without proper conversions.
    The fact that you called RegGetValue() and specified strings using the L"" prefix, means that you are using a Unicode build (which is fine, and has been the default since VS2005).
    However, you should be consistent with this Unicode mode, and use that also for the other strings in your code. So, you should use wchar_t instead of char, and for example have:
    // Use wchar_t, no "char"
    wchar_t reigsterValue[25];
    Similarly for "outtxt".
    And you should use swprintf() (or better its safe version swprintf_s()) instead of sprintf().
    In addition, you should use just SetWindowText(), which expands to SetWindowTextW() in Unicode builds.
    If, for some reason, you really want to output ANSI/MBCS strings, you should properly
    convert the resulting string read from the registry into an ANSI/MBCS string, either explicitly via the WideCharToMultiByte() API, or using some helper like ATL's CW2A:
    https://msdn.microsoft.com/en-us/library/87zae4a3.aspx
    HTH,
    Giovanni

  • Displaying Array values in Details section

    Hi All,
    I am having trouble with Arrays in Crystal Reports.
    I have made a Shared string array in my main report and am using the same in a sub report. In the sub report I need to print the values in the array one below another like a table.
    Say the array MyArray has values (INDIA, USA, CHINA, JAPAN, UK)
    Right now I have made a formula in which I iterate through each of them and use Join(MyArray[i], ChrW(10))
    ChrW(10) as you might know is used to make a new line. So the formula output essentially looks like the way I want it, that is
    INDIA
    USA
    CHINA
    JAPAN
    UK
    But its still a formula and acts like a single cell. If I export it into Excel, all the values will come in single cell. Moreover, When I use it like this, I cannot do proper formatting on it either.
    Is there any way to make Array behave like a table and use the same in Detail section. I do not want to hit the DB again for this purpose.
    Thanks

    Hi Antony,
    The only way to display the values on the Detail section is to 'get those values from the database'.
    Instead of using a shared array variable, use a comma separated string. Here's what you need to do:
    1) In the Main Report, open your existing shared variable formula and add a new variable:
    shared stringvar array <exisiting variable name>;
    stringvar new_variable;
    existing code line 1
    existing code line 2
    existing code line 3
    new_variable = Join(array_variable_name, ",");
    2) Right-click the Subreport > Select change Subreport Links > Move the above formula to the pane on the right > Uncheck the option at the bottom right that says 'Select data in Subreport based on field'.
    3) Get into the Subreport and use this as the Record Selection Formula:
    {database_field} IN Split({@Pm-formula_name}, ",") //Replace {@Pm-formula_name} with the parameter name that is automatically created in the Subreport.
    -Abhilash

  • Form displays NULL values

    A page is using PL/SQL script to display data. There are 2 display variables. Instead of bringing initial set of data, it displays NULL values. It "fixes" itself after changing variable values from a drop down menu. Why is that and how to fix it?

    If you plan on performing all of the work under the Click event, then you won't need to worry about assigning a Script scope to the variables, but if you are planning on using those variables outside of the Event, then David's answer is the way to go.
    Another option is to use a hash table as it also works around the issue with variable scope in a UI Event.
    #Define at beginning of script
    $hashtable = @{}
    $OKButton.Add_Click({$hashtable.SelectedTemplate=$Something})
    Boe Prox
    Blog |
    Twitter
    PoshWSUS |
    PoshPAIG | PoshChat |
    PoshEventUI
    PowerShell Deep Dives Book

  • I am trying to build a basic TCL skeleton script that reads a remote SNMP OID and displays the value on the screen.

    I am trying to build a basic TCL skeleton script that reads a remote SNMP OID and displays the value on the screen.
    I don't want it to be an EEM Event, I just want to run it from the (tcl)# prompt.
    So I guess I'm asking if you can use cli_exec and other commands in the "namespace import ::cisco::eem::*" in a normal non-EEM script - can I do that?
    This is the error I get:
    OTN.159(tcl)#source flash:TCL_SNMP_Remote_Read.tcl
    invalid command name "::cisco::eem::event_register_none"             ^
    % Invalid input detected at '^' marker.
    What am I missing?
    =================  TCL_SNMP_Remote_Read.tcl  ==============================
    ::cisco::eem::event_register_none
    namespace import ::cisco::eem::*
    namespace import ::cisco::lib::*
    if [catch {cli_open} RESULT]
        { error $RESULT $errorInfo }
        else { array set cli1 $RESULT }
    if [catch {cli_exec $cli1(fd) "snmp get v2c 192.168.1.100 public timeout 1 oid 1.3.6.1.2.1.1.1.0" } RESULT]
           { error $RESULT $errorInfo  }
           else { set SnmpSysDesc $RESULT }
    if [catch {cli_close $cli1(fd) $cli1(tty_id)} RESULT] {
                error $RESULT $errorInfo
    puts $SnmpSysDesc
    =========================================================================
    In the sho-run config I have:
    event manager directory user policy "flash:/"
    event manager session cli username "cisco"
    Any help to get me started would be greatly appreciated!
    Tim

    If you don't want an EEM policy, then don't use any of the EEM constructs.  Instead, all you need is this:
    set output [exec "snmp get v2c 192.168.1.100 public timeout 1 oid 1.3.6.1.2.1.1.1.0"]puts $output

  • How can I display an icon, instead of text string, as a validation prompt?

    My validate method inside my custom validator is like this:
    public void validate(FacesContext context, UIComponent component, Object value) {
      Pattern datePattern = Pattern.compile("(\\d{2})/(\\d{2})/(\\d{4})");
      Matcher dateMatcher = datePattern.matcher((String)value);
      if(!dateMatcher.find()){
        ((UIInput)component).setValid(false);
        FacesMessage message = new FacesMessage();
        String msg = "[" + value + "] invalid date";
        message.setDetail(msg);
        context.addMessage(component.getClientId(context), message);
        FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_FATAL, "xx", "msg");
        throw new ValidatorException(facesMsg);
    }My JSP has this:
    <h:inputText id="test" value="#{projecthandler.test}">
    <f:validator validatorId="DateValidator" />
    </h:inputText>
    <h:message id="testErrorMessage" for="test"/>The <h:message> tag will kick in if the user has invalid data in the <h:inputText> field and clicks submit.
    When the page is regenerated, the user will see a text string reflecting what the issue is.
    However, instead of this, I would like to display an icon consisting of a red circle with an exclamation point.
    The user is supposed to click on the icon if they want more information. By clicking on the icon,
    the user will see a message box, with a description of the error.
    This is our standard for applications. I'm trying to put together a demo showing how an existing application
    would work in JSF, so I won't be able to talk others into using JSF, unless I can get the validation to display an
    icon instead of text.
    Edited by: Kazan on Mar 18, 2009 9:31 AM
    Edited by: Kazan on Mar 18, 2009 9:33 AM
    Edited by: Kazan on Mar 18, 2009 9:36 AM

    OK, I noticed a bug in my validate method. This is updated to fix the bug, and to include the recomendation about background-image:
      public void validate(FacesContext context, UIComponent component, Object value) {
        System.out.println("DateValidator.test.1");
        Pattern datePattern = Pattern.compile("(\\d{2})/(\\d{2})/(\\d{4})");
        Matcher dateMatcher = datePattern.matcher((String)value);
        System.out.println("DateValidator.test.1");
        if(!dateMatcher.find()){
          ((UIInput)component).setValid(false);
          FacesMessage message = new FacesMessage();
          String msg = "<span style='background-image: url(/error.gif)'/>";
          message.setDetail(msg);
          message.setSeverity(FacesMessage.SEVERITY_FATAL);
          context.addMessage(component.getClientId(context), message);
          throw new ValidatorException(message);
      }When I run this, the litteral string of "<span style='background-image: url(/error.gif)'/>" is printed as the message. It does not interpret this as a span tag with an image url.
    Can someone tell me what's going on?

  • How to display the values in JSpinner in format  day:HH:mm

    Hi All,
    I want to know how can I display the values inside a JSpinner in the format day:HH:mm. Here the value of 'day' can be anything say from 0 to 365 and HH stand for hour and mm stands for minutes.
    I tried to implement it using
    mSpinner.setEditor(new JSpinner.DateEditor(mSpinner, "DD:HH:mm"));
    but here the values of day was not proper. Please let me know if there is any standard format or how can I configure my own editor.
    Thanks,
    Rohit.

    Hi,
    It worked well for 112 as 112 comes under April month.. i.e. it will work properly for the range 91 to 120 as the current month is April and if we start counting from january 01 then for April month , the number of day will fall under range 91 to 120.
    See, it will allow you to change the values beyond the limit (i.e. less than 91 or more than 120) but the real problem is that I used this spinner in the table and when I will try to save the value of spinner , then if the value of day in beyond the limit 91 to 120 then it will automatically changing in the range between 91 to 120.
    I tried to use format DD:HH:mm ...... do I need to use any other format..
    Hi All,
    I want to know how can I display the values inside
    de a JSpinner in the format day:HH:mm. Here thevalue
    of 'day' can be anything say from 0 to 365 and HH
    stand for hour and mm stands for minutes.
    I tried to implement it using
    mSpinner.setEditor(newJSpinner.DateEditor(mSpinner,
    , "DD:HH:mm"));
    but here the values of day was not proper. Define "not proper". I just tried it and it displayed
    day 112 for today which seems correct.

  • Display Currency Value of User POV for Entity & Value in Text Box (Header)

    I am looking for a function in Financial Reporting Studio that operates the same as the HsCurrency function in Smart View. This would allow batch reports displaying the currency value of the User POV for Entity based on the User POV for Value. Right now I have to have Member Lists for separate reports and different currencies as I am only able to display the Value dimension in the heading of a given report. Users will not be certain of the currency if the Value dimension is <Entity Curr Total>.
    I tried the HFMCurrency text function, however the entity is not defined in a Row / Column / Page reference as the entity is determined by the User's Point of View.
    Is there a way to display the currency value of a User's Point of View for Entity based on the User's Point of View for Value?
    Reference from Oracle Hyperion Smart View for Office, Fusion Edition, User's Guide:
    HsCurrency
    Data sources: Financial Management, Hyperion Enterprise
    HsCurrency retrieves the currency value of the specified dimension member. Entity and Value are the only valid members for the HsCurrency function.
    Syntax
    HsCurrency (“Connection,Entity;Value”)
    Example
    In this example, HsCurrency retrieves the entity currency where the currency for the East Sales entity is USD, and the currency for the UKSales entity is GBR. The EastSales entity displays USD, and UKSales displays GBR.
    HsCurrency(“Comma”,”Entity#EastRegion.EastSales;Value#<Entity Currency>.”)
    HsCurrency(“Comma”,”Entity#EastRegion.UKSales;Value#<Entity Currency>.”)

    Question answered in My Oracle Support Community - Hyperion Reporting Products:
    communities.oracle.com

  • How to populate right side of Shuttle with display/return values?

    Hello,
    I know, that the proper way to populate the right side of shuttle is that:
    declare
         v_list     apex_application_global.vc_arr2;
    begin
         select profile_name return_value
           bulk     collect
           into     v_list
           from     user_profiles
          where     user_id = :p61_user_id;
         return (apex_util.table_to_string (v_list));
    end;It is comfortable for the user to see the name of the profile.
    However, I need a profile_id as a return value, like I have it on the left side of the shuttle.
    The left side of the shuttle is populated with a select list with display/return values, as you know.
    I need both sides of the shuttle to return profile_id in order to create a merge.
    How is it possible to populate the right side of the Shuttle with display/return values?

    All you have to do is to use the subset of shuttle query to assign value to the right side shuttle.
    http://apex.oracle.com/pls/apex/f?p=50942:95
    I have created a dummy page with shuttle query
    SELECT ename, empno FROM emp ORDER by 1then I have defined a pl-sql before header process to assign values to shuttle variable
    using the code
    begin
    :P95_SHUTTLE := '7566:219:7900:7782:90';
    end;since 90 is not one the result set of the shuttle query it is getting displayed as number, and for others it is displaying the text. Thanks.
    --Manish                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Bridge CC (German) doesn't display aperture values correctly

    Hi everyone,
    the German edition of Bridge CC still seems to have the same bug as Bridge CS6:
    Bridge displays aperture values as integer values both in the filter column and in the metadata box, e.g. f1.4 is shown as 1.0, f2.8 is shown as 2.0, f5.6 is shown as 5.0 etc.
    I've reported this bug last year to Adobe and they call it a "known issue" due to the decimal sign ("," instead of "."). Unfortunately, Adobe didn't care to correct it for the CC-Upgrade.
    It can be corrected manually by changing the variable "Decimal" from "," to "." in the file strings.txt which can be found in the folder "Content/Resources/de.lproj" (accessible, when right-clicking on Bridge.app, => "Show content"). You will need admin rights to do so.
    So far I've had to repeat these steps after each Camera Raw Upgrade which is a little annoying.
    I hope this can help other's having this issue.
    Cheers, Joe

    Thank you for bring that up again.  I too thought after you told then exactly what to do, and they acknowledged it the changes were made.
    If others having this problem (probably European languages) they have a workaround.

  • OO  ALV  displaying  without  Values  despite Internal  table contains

    My   below  OO  ALV  displaying  without  Values  despite Internal  table contains  the values ...
    Help  please ...
    REPORT zsd_concession1  NO STANDARD PAGE HEADING
                            LINE-SIZE 285
                            LINE-COUNT 64
                            MESSAGE-ID zz.
    Program Description ******************************
    This report is to Calculate consession against Quotations
    complying  standards for enhanced Performance, Readability &
    Maintenance.
    Change Log *********************************
    Remedy # /       Who       When        Why / What
    Transport #
    CLASS lcl_event_handler DEFINITION DEFERRED.
    *&      Data Definitions .
    DATA: BEGIN OF vbap_wa,
                vbeln               TYPE  vbak-vbeln,           "Quotation#
                erdat               TYPE  vbak-erdat,           "Quot date
                knumv               TYPE  vbak-knumv,           "Cond Rec#
                posnr               TYPE  vbap-posnr,           "Line Item
                matnr               TYPE  vbap-matnr,           "Mat#
                zansicat            TYPE  zmarall-zansicat,     "AnsiCat#
                zansigrd            TYPE  zmarall-zansigrd,     "Grade
                zcurrvaltnarea      TYPE  zco002-zcurrvaltnarea,"Val Area
                zcurrcstusd         TYPE  zco002-zcurrcstusd,   "Cost$
                zzbrndnm            TYPE  mara-zzbrndnm,        "Brand
                zqedscgrp           TYPE  zglbprc-zqedscgrp, "QE Disc Grp
                mstav               TYPE  mara-mstav,        "Status
                kwmeng              TYPE  vbap-kwmeng,       "Qty
                lprc                TYPE  konv-kbetr,  "List Price ZBP1
                sprc                TYPE  konv-kbetr,  "Std Pric ZNAA,ZNAX
                netpr               TYPE  vbap-netpr,  "Quot price
                mrgn                TYPE  konv-kbetr,  "margin%
           END   OF vbap_wa,
           BEGIN OF konv_wa,
                knumv               TYPE  konv-knumv,  "Cond#
                kposn               TYPE  konv-kposn,  "Cond Item#
                kappl               TYPE  konv-kappl,  "Applic
                kschl               TYPE  konv-kschl,  "Cond Typ
                kbetr               TYPE  konv-kbetr,  "Price ZBP1,ZNAA,ZNAX
           END   OF  konv_wa,
           BEGIN OF vbpa_wa,
                vbeln               TYPE  vbpa-vbeln,  "Quot#
                posnr               TYPE  vbpa-posnr,  "Item#
                parvw               TYPE  vbpa-parvw,  "Prt Fn
                kunnr               TYPE  vbpa-kunnr,  "Cust#
           END   OF  vbpa_wa,
           BEGIN OF result_wa,
                posnr               TYPE  vbap-posnr,           "Line Item
                matnr               TYPE  vbap-matnr,           "Mat#
                zansicat            TYPE  zmarall-zansicat,     "AnsiCat#
                zansigrd            TYPE  zmarall-zansigrd,     "Grade
                zcurrvaltnarea      TYPE  zco002-zcurrvaltnarea,"Val Area
                zcurrcstusd         TYPE  zco002-zcurrcstusd,   "Cost$
                zzbrndnm            TYPE  mara-zzbrndnm,        "Brand
                zqedscgrp           TYPE  zglbprc-zqedscgrp, "QE Disc Grp
                mstav               TYPE  mara-mstav,        "Status
                kwmeng              TYPE  vbap-kwmeng,       "Qty
                lprc                TYPE  konv-kbetr,  "List Price ZBP1
                sprc                TYPE  konv-kbetr,  "Std Pric ZNAA,ZNAX
                netpr               TYPE  vbap-netpr,  "Quot price
                mrgn                TYPE  konv-kbetr,  "margin%
           END   OF result_wa.
    DATA: ikonv      LIKE  STANDARD TABLE OF konv_wa,
          ivbap      LIKE  STANDARD TABLE OF vbap_wa,
          ivbpa      LIKE  STANDARD TABLE OF vbpa_wa,
          iresult    LIKE  STANDARD TABLE OF result_wa.
    *Work storage
    DATA: BEGIN OF ws,
             vbeln       TYPE vbak-vbeln,
             ok_code     TYPE sy-ucomm,
             alv_save    TYPE c,   "ALV save
             alv_variant TYPE disvariant, "ALV Variant
             alv_sort    TYPE lvc_t_sort, "Sort table
          END  OF ws.
    *Data declarations for ALV Main list
    DATA : ty_lay1        TYPE        lvc_s_layo,
           it_fieldcat    TYPE        lvc_t_fcat ,
           ty_fieldcat    TYPE        lvc_s_fcat ,
           l_smenu        TYPE REF TO cl_ctmenu,
           c_alv1         TYPE REF TO cl_gui_alv_grid,
           c_cont1        TYPE REF TO cl_gui_custom_container,
           e_dclick       TYPE REF TO lcl_event_handler.
    *Data declarations for ALV Interactive list
    DATA : ty_lay2        TYPE        lvc_s_layo,
           it_fcat        TYPE        lvc_t_fcat ,
           ty_fcat        TYPE        lvc_s_fcat ,
           c_alv2         TYPE REF TO cl_gui_alv_grid,
           c_cont2        TYPE REF TO cl_gui_custom_container.
    *Field-Symbols
    FIELD-SYMBOLS:
          <konv>  LIKE   konv_wa,
          <vbap> LIKE   vbap_wa.
    *Constants
    CONSTANTS:
          c_end_row    TYPE  i  VALUE  65000.
    *CLASS lcl_event_receiver DEFINITION
    CLASS lcl_event_handler DEFINITION.
      PUBLIC SECTION.
        METHODS:
         handle_double_click
         FOR EVENT double_click OF cl_gui_alv_grid IMPORTING e_row.
    ENDCLASS. "lcl_event_handler DEFINITION
    *CLASS lcl_event_receiver IMPLEMENTATION
    CLASS lcl_event_handler IMPLEMENTATION.
      METHOD handle_double_click.
        DATA: sec_wa LIKE LINE OF iresult.
    *Reading the selected data into a variable
        READ TABLE iresult INDEX e_row-index INTO sec_wa.
    *Select the field details of the selected table
    SELECT * FROM dd03l INTO CORRESPONDING FIELDS OF TABLE it_dd03l
    WHERE tabname EQ ls_dd02l-tabname.
    *Calling the ALV containing the field values
        CALL SCREEN 101.
      ENDMETHOD. "handle_double_click
    ENDCLASS. "lcl_event_handler IMPLEMENTATION
    *&      SELECTION-SCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE  text-001.
    SELECT-OPTIONS:
        s_vbeln  FOR  ws-vbeln DEFAULT '2002354788' OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK a.
    INITIALIZATION.
      PERFORM setup_screen_defaults.
    START-OF-SELECTION.
      PERFORM gather_report_data.
    END-OF-SELECTION.
      PERFORM create_output.
    *&      Form  initialization
    FORM setup_screen_defaults.
      CLEAR: ws, konv_wa, vbap_wa, vbpa_wa.
      REFRESH: ivbpa, ikonv, ivbap, iresult.
    ENDFORM.                    " setup_screen_defaults
    *&      Form  gather_report_data
    FORM  gather_report_data.
      SELECT  vbeln posnr parvw kunnr
               INTO TABLE ivbpa
               FROM vbpa
               WHERE vbeln IN s_vbeln
               AND ( parvw = 'SP' OR "SoldTO
                     parvw = 'WE' OR "ShipTo
                     parvw = 'ZT' ). "Top Parent
      SELECT  vkvbeln vkerdat vkknumv vpposnr vp~matnr
              z1zansicat z1zansigrd z2~zcurrvaltnarea
              z2zcurrcstusd m1zzbrndnm zg~zqedscgrp
              m1mstav  vpkwmeng  vp~netpr
        INTO CORRESPONDING FIELDS OF TABLE ivbap
        FROM  vbak  AS vk
        INNER JOIN vbap AS vp
           ON vpvbeln = vkvbeln
        INNER JOIN zmarall AS z1
           ON z1matnr = vpmatnr
        INNER JOIN zco002 AS z2
           ON z2matnr = vpmatnr
        INNER JOIN zglbprc AS zg
           ON zgmatnr = vpmatnr
        INNER JOIN mara AS m1
           ON m1matnr = vpmatnr
        WHERE  vk~vbeln IN s_vbeln
        AND    vk~auart = 'AG'."AG = Quot
      SORT ivbap BY posnr matnr.
      SELECT  kvknumv kvkposn kvkappl kvkschl kv~kbetr
              INTO TABLE ikonv
              FROM  konv AS kv
              FOR ALL ENTRIES IN ivbap
              WHERE  kv~knumv = ivbap-knumv
              AND    kv~kposn = ivbap-posnr
              AND    kv~kappl EQ 'V'
              AND    ( kv~kschl EQ 'ZBP1'
                   OR kv~kschl EQ 'ZNAX'
                   OR kv~kschl EQ 'ZNAA' ).
      SORT ikonv BY knumv kposn.
      LOOP AT  ivbap  ASSIGNING  <vbap>.
        CLEAR konv_wa.
        READ TABLE ikonv INTO  konv_wa WITH KEY
                                   knumv = <vbap>-knumv
                                   kposn = <vbap>-posnr
                                   kschl = 'ZBP1'
                                   BINARY  SEARCH.
        IF sy-subrc EQ 0.
          <vbap>-lprc = konv_wa-kbetr.
        ENDIF.
        READ TABLE ikonv INTO  konv_wa WITH KEY
                                   knumv = <vbap>-knumv
                                   kposn = <vbap>-posnr
                                   kschl = 'ZNAX'
                                   BINARY  SEARCH.
        IF sy-subrc EQ 0.
          <vbap>-sprc = konv_wa-kbetr.
        ENDIF.
        READ TABLE ikonv INTO  konv_wa WITH KEY
                                   knumv = <vbap>-knumv
                                   kposn = <vbap>-posnr
                                   kschl = 'ZNAA'
                                   BINARY  SEARCH.
        IF sy-subrc EQ 0.
          <vbap>-sprc = konv_wa-kbetr.
        ENDIF.
      ENDLOOP.
      SORT ivbap BY posnr matnr.
      LOOP AT ivbap INTO vbap_wa.
        MOVE-CORRESPONDING  vbap_wa TO result_wa.
        APPEND  result_wa TO iresult.
        CLEAR:  vbap_wa, result_wa.
      ENDLOOP.
    ENDFORM.                    " gather_report_data
    *&      Form  create_output
    FORM create_output.
      CALL SCREEN 100.
    FREE: iresult.
    ENDFORM.                    " create_output
    *&      Module  PBO_0100  OUTPUT
          text
    MODULE pbo_0100 OUTPUT.
      SET PF-STATUS '0100'.
      SET TITLEBAR '0100'.
      IF c_cont1 IS INITIAL.
    *Creating object of container
        CREATE OBJECT c_cont1
         EXPORTING
           container_name = 'CCONT1'.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    *Creating object of alv
        CREATE OBJECT c_alv1
           EXPORTING
            i_parent = c_cont1.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    *Alv layout
        PERFORM alv_100_layout.
        PERFORM save_alv_layout.
    *Alv field catalogue
        PERFORM alv_100_fieldcat.
    *Displaying the ALV grid
        CALL METHOD c_alv1->set_table_for_first_display
          EXPORTING
            is_layout       = ty_lay1
            i_save          = ws-alv_save
            is_variant      = ws-alv_variant
          CHANGING
            it_outtab       = iresult[]
            it_sort         = ws-alv_sort
            it_fieldcatalog = it_fieldcat[].
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    *Create object of the event class
    *and setting handler for double click
        CREATE OBJECT e_dclick.
        SET HANDLER e_dclick->handle_double_click FOR c_alv1.
      ENDIF.
    ENDMODULE.                 " PBO_0100  OUTPUT
    *&      Module  PAI_0100  INPUT
          text
    MODULE pai_0100 INPUT.
      ws-ok_code = sy-ucomm.
      CASE ws-ok_code.
        WHEN 'BACK'.
          CALL  SELECTION-SCREEN  1000.
          CLEAR ws-ok_code.
        WHEN 'EXIT'.
          LEAVE TO  SCREEN  0.
          CLEAR ws-ok_code.
          EXIT.
        WHEN 'CANCEL'.
          LEAVE TO  SCREEN  0.
          CLEAR ws-ok_code.
          EXIT.
        WHEN OTHERS.
      ENDCASE.
    ENDMODULE.                 " PAI_0100  INPUT
    *&      Form  alv_100_layout
          text
    -->  p1        text
    <--  p2        text
    FORM alv_100_layout.
      ty_lay1-numc_total = 'X'. " Numc total line
    ty_lay1-cwidth_opt = 'X'. " Optimal column width
      ty_lay1-detailinit = 'X'. " Show values that are initial in
      ty_lay1-sel_mode = 'A'. " Column selection mode
      ty_lay1-no_merging = 'X'. " No merging while sorting columns
      ty_lay1-keyhot     = 'X'.
      ty_lay1-grid_title = 'SD Concessions'.
      ty_lay1-zebra      = 'X'.
      ty_lay1-no_toolbar = ' '.
    ENDFORM.                    " alv_100_layout
    *&      Form  alv_100_fieldcat
          text
    -->  p1        text
    <--  p2        text
    FORM alv_100_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 1.
      ty_fieldcat-fieldname = 'posnr'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Item#'.
      ty_fieldcat-outputlen = 10.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 2.
      ty_fieldcat-fieldname = 'matnr'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Mat#'.
      ty_fieldcat-outputlen = 10.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 3.
      ty_fieldcat-fieldname = 'zansicat'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'AnsiCat#'.
      ty_fieldcat-outputlen = 10.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 4.
      ty_fieldcat-fieldname = 'zansigrd'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Grade'.
      ty_fieldcat-outputlen = 10.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 5.
      ty_fieldcat-fieldname = 'zcurrvaltnarea'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Val Area'.
      ty_fieldcat-outputlen = 10.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 6.
      ty_fieldcat-fieldname = 'zcurrcstusd'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Cost $'.
      ty_fieldcat-outputlen = 15.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 7.
      ty_fieldcat-fieldname = 'zzbrndnm'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Brand'.
      ty_fieldcat-outputlen = 15.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 8.
      ty_fieldcat-fieldname = 'zqedscgrp'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'QE'.
      ty_fieldcat-outputlen = 15.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 9.
      ty_fieldcat-fieldname = 'mstav'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Status'.
      ty_fieldcat-outputlen = 15.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 9.
      ty_fieldcat-fieldname = 'kwmeng'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Qty'.
      ty_fieldcat-outputlen = 15.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 10.
      ty_fieldcat-fieldname = 'lprc'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'List Price'.
      ty_fieldcat-outputlen = 15.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 11.
      ty_fieldcat-fieldname = 'sprc'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Discount'.
      ty_fieldcat-outputlen = 15.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 12.
      ty_fieldcat-fieldname = 'netpr'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Quot Price'.
      ty_fieldcat-outputlen = 15.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 13.
      ty_fieldcat-fieldname = 'mrgn'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Margin%'.
      ty_fieldcat-outputlen = 15.
      APPEND ty_fieldcat TO it_fieldcat.
    ENDFORM.                    " alv_100_fieldcat
    *&      Module  PBO_0101  OUTPUT
          text
    MODULE pbo_0101 OUTPUT.
    *Check if the Custom container exists.
      IF c_cont2 IS INITIAL.
    *Creating container object
        CREATE OBJECT c_cont2
          EXPORTING
            container_name = 'CCONT2'.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    *creating ALV grid for interactive list
        CREATE OBJECT c_alv2
          EXPORTING
           i_parent = c_cont2.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    *ALV layout
        PERFORM alv_101_layout.
    *ALV fieldcatalogue
        PERFORM alv_101_fieldcat.
    *Sorting the output by field position
        SORT iresult BY posnr.
    *ALV for display field details
        CALL METHOD c_alv2->set_table_for_first_display
          EXPORTING
            is_layout       = ty_lay2
          CHANGING
            it_outtab       = iresult[]
            it_fieldcatalog = it_fieldcat.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.
    ENDMODULE.                 " PBO_0101  OUTPUT
    *&      Module  PAI_0101  INPUT
          text
    MODULE pai_0101 INPUT.
    ENDMODULE.                 " PAI_0101  INPUT
    *&      Form  alv_101_layout
          text
    -->  p1        text
    <--  p2        text
    FORM alv_101_layout.
      ty_lay2-grid_title = 'Line Details'.
      ty_lay2-zebra = 'X'.
      ty_lay2-no_toolbar = 'X'.
    ENDFORM.                    " alv_101_layout
    *&      Form  alv_101_fieldcat
          text
    -->  p1        text
    <--  p2        text
    FORM alv_101_fieldcat.
      REFRESH it_fieldcat.
    REFRESH it_fcat.
    CLEAR ty_fcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 1.
      ty_fieldcat-fieldname = 'posnr'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Item#'.
      ty_fieldcat-outputlen = 10.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 2.
      ty_fieldcat-fieldname = 'matnr'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Mat#'.
      ty_fieldcat-outputlen = 10.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 3.
      ty_fieldcat-fieldname = 'zansicat'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'AnsiCat#'.
      ty_fieldcat-outputlen = 10.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 4.
      ty_fieldcat-fieldname = 'zansigrd'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Grade'.
      ty_fieldcat-outputlen = 10.
      APPEND ty_fieldcat TO it_fieldcat.
      CLEAR ty_fieldcat.
      ty_fieldcat-row_pos = 1.
      ty_fieldcat-col_pos = 5.
      ty_fieldcat-fieldname = 'zcurrvaltnarea'.
      ty_fieldcat-tabname = 'iresult'.
      ty_fieldcat-coltext = 'Val Area'.
      ty_fieldcat-outputlen = 10.
      APPEND ty_fieldcat TO it_fieldcat.
    ENDFORM.                    " alv_101_fieldcat
    *&      Form  save_alv_layout
          text
    -->  p1        text
    <--  p2        text
    form save_alv_layout.
    ws-alv_save = 'A'.
    ws-alv_variant-report = sy-repid.
    endform.                    " save_alv_layout

    Hello
    Creating fieldcatalogs manually is one of the major error sources in ALV programming.
    There is hardly any reason why NOT to use the standard-fm LVC_FIELDCATALOG_MERGE in order to create a proper fieldcatalog.
    If you need some modification of the standard fieldcatalog (e.g. renaming of columns, etc.) just do your post-processing after calling the fm.
    Regards
      Uwe

Maybe you are looking for