Wrong values in the cube S001.

good morning people,
we are with the ecc 6.0 installed almost 01 years, the analysis made in the reports that use the standard cube S001, are with with wrong values. This problem does not happen with all materials in a given month, it appears as if the quantity to be addressed in pending orders, but referring to VA05 or VA05N shows nothing pending.
Being a standard table is not my IT team can not change it, someone already went through this problem, how did you solve it.
Since will thank you.
Jefferson Souza
Multilab Ind e Com Prod Farmaco Ltda
Brazil

Hello Jefferson
Can you elaborate a bit more?  When you say cube S001, I think you mean Infostructure S001 which is part of Sales Information System (SIS) reporting. What key figures are showing wrong? Is it open orders quantity/value? Are VA05 or VA05N showing correct values?
Check if you are using any formulas for updates- T code MC26- I doubt it becasue it is a standard table. If they are using custom formulas, may be they are the culprit.
Sometimes document status is not updated and so VA05, VA05N may not be correct.  Run reports SDVBUV00, SDVBUK00 and  RVV05IVB. Use OSS notes 106567,  128947 for tips before running the reports.

Similar Messages

  • Inter company Billing is taking a wrong value of the Bill

    Inter company Billing is taking a wrong value of the Bill

    Hi,
    Can you give more information about this.
    Paul

  • WRONG VALUE OF THE parameter file type(bdc-session method)

    Hi experts,
    when iam uploading vendor details,,,
    it is giving above error.
    chk the code once.....
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
       FILENAME                      = 'C:/VENDOR1.TXT'
       FILETYPE                      = 'DAT'
      TABLES
        DATA_TAB                      = IT_UPLOAD.
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
       CLIENT                    = SY-MANDT
       GROUP                     = 'SRR'
       USER                      = SY-UNAME.

    Hi here  iam sending the whole code once to you. just chk it once and same error(WRONG VALUE OF THE parameter file type) is coming after the changes.
    if i use asc it is giving that no file exists.
    Table Declaration
    tables :rf02k,    "Maintain vendor master record screen and work fields
            lfa1,     "Vendor Master(general)
            lfbk,     "Vendor Master (Bank Details)
            lfb1,     "Vendor Master (Company Code)
            lfm1,     "Vendor master record purchasing organization data
            lfb5.     "Vendor master (dunning data)
    Data Declaration
    data : begin of it_UPLOAD occurs 0,
           LIFNR like rf02k-lifnr,     "vendor no
           BUKRS like rf02k-bukrs,     "company code
           EKorg like rf02k-ekorg,     "purchasing org
           KTOKK like rf02k-ktokk,     "account group
           anred like lfa1-anred,     "initial
           name1 like lfa1-name1,     "name of vendor
           sortl like lfa1-sortl,     "search term
           land1 like lfa1-land1,     "country
           akont like lfb1-akont,     "reconcillation a/c.
           fdgrv like lfb1-fdgrv,     "planning group
           zterm like lfb1-zterm,     "terms of payment key
           mahna like LFB5-MAHNA,     "dunning procedure
           waers like lfm1-waers,     "Purchase order currency
           END OF IT_UPLOAD.
    DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    include bdcrecx1.
    start-of-selection.
    UPLOADING THE DATA TO IT_UPLOAD
    call function 'GUI_UPLOAD'
    exporting
    filename = 'C:\DASRR\VENDOR1.TXT'
    filetype = 'DAT'
    has_field_separator = 'X'
    HEADER_LENGTH = 0
    READ_BY_LINE = 'X'
    DAT_MODE = ' '
    CODEPAGE = ' '
    IGNORE_CERR = ABAP_TRUE
    REPLACEMENT = '#'
    CHECK_BOM = ' '
    IMPORTING
    FILELENGTH =
    HEADER =
    tables
    data_tab = IT_UPLOAD
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_READ_ERROR = 2
    NO_BATCH = 3
    GUI_REFUSE_FILETRANSFER = 4
    INVALID_TYPE = 5
    NO_AUTHORITY = 6
    UNKNOWN_ERROR = 7
    BAD_DATA_FORMAT = 8
    HEADER_NOT_ALLOWED = 9
    SEPARATOR_NOT_ALLOWED = 10
    HEADER_TOO_LONG = 11
    UNKNOWN_DP_ERROR = 12
    ACCESS_DENIED = 13
    DP_OUT_OF_MEMORY = 14
    DISK_FULL = 15
    DP_TIMEOUT = 16
    OTHERS = 17
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    *CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      FILENAME                      = 'C:/VENDOR1.TXT'
      FILETYPE                      = 'DAT'
    TABLES
       DATA_TAB                      = IT_UPLOAD.
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
       CLIENT                    = SY-MANDT
       GROUP                     = 'SRR'
       USER                      = SY-UNAME.
      POPULATE INTERNAL TABL
    LOOP AT IT_UPLOAD.
    CLEAR IT_BDCDATA.
    REFRESH IT_BDCDATA.
    PERFORM POPULATE_DATA.
    CALL FUNCTION 'BDC_INSERT'
    EXPORTING
        TCODE                  = 'XK01'
       TABLES
        DYNPROTAB              = IT_BDCDATA.
    ENDLOOP.
    *&      Form  POPULATE_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM POPULATE_DATA .
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0100'.
    perform getdata using ' ' RF02K-LIFNR 'IT_UPLOAD-LIFNR'.
    perform getdata using ' ' RF02K-bukrs 'IT_UPLOAD-bukrs'.
    perform getdata using ' ' RF02K-EKORG 'IT_UPLOAD-EKORG'.
    perform getdata using ' ' RF02K-KTOKK 'IT_UPLOAD-KTOKK'.
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0110'.
    perform getdata using ' ' LFA1-ANRED 'IT_UPLOAD-ANRED'.
    perform getdata using ' ' LFA1-NAME1 'IT_UPLOAD-NAME1'.
    perform getdata using ' ' LFA1-SORTL 'IT_UPLOAD-SORTL'.
    perform getdata using ' ' LFA1-LAND1 'IT_UPLOAD-LAND1'.
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0210'.
    perform getdata using ' ' LFB1-AKONT 'IT_UPLOAD-AKONT'.
    perform getdata using ' ' LFB1-FDGRV 'IT_UPLOAD-FDGRV'.
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0215'.
    perform getdata using ' ' LFB1-ZTERM 'IT_UPLOAD-ZTERM'.
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0220'.
    perform getdata using ' ' LFB5-MAHNA 'IT_UPLOAD-MAHNA'.
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0310'.
    perform getdata using ' ' LFM1-WAERS 'IT_UPLOAD-WAERS'.
    ENDFORM.                    " POPULATE_DATA
    *&      Form  GETDATA
          text
         -->P_0213   text
         -->P_0214   text
         -->P_0215   text
    FORM GETDATA  USING    VALUE(P_0213)
                           VALUE(P_0214)
                           VALUE(P_0215).
                        IF P_0213  = 'X'.
                        IT_BDCDATA-PROGRAM = P_0213.
                        IT_BDCDATA-DYNPRO = P_0214.
                        IT_BDCDATA-DYNBEGIN = P_0215.
                        ELSE.
                        IT_BDCDATA-FNAM = P_0214.
                        IT_BDCDATA-FVAL = P_0215.
                        ENDIF.
    ****************any error in coding just chk it*****************

  • SESSION METHOD( WRONG VALUE OF THE parameter file type)

    Hi here iam sending the whole code once to you. just chk it once and same error(WRONG VALUE OF THE parameter file type) is coming after the changes.
    if i use asc it is giving that no file exists.
    Table Declaration
    tables :rf02k, "Maintain vendor master record screen and work fields
    lfa1, "Vendor Master(general)
    lfbk, "Vendor Master (Bank Details)
    lfb1, "Vendor Master (Company Code)
    lfm1, "Vendor master record purchasing organization data
    lfb5. "Vendor master (dunning data)
    Data Declaration
    data : begin of it_UPLOAD occurs 0,
    LIFNR like rf02k-lifnr, "vendor no
    BUKRS like rf02k-bukrs, "company code
    EKorg like rf02k-ekorg, "purchasing org
    KTOKK like rf02k-ktokk, "account group
    anred like lfa1-anred, "initial
    name1 like lfa1-name1, "name of vendor
    sortl like lfa1-sortl, "search term
    land1 like lfa1-land1, "country
    akont like lfb1-akont, "reconcillation a/c.
    fdgrv like lfb1-fdgrv, "planning group
    zterm like lfb1-zterm, "terms of payment key
    mahna like LFB5-MAHNA, "dunning procedure
    waers like lfm1-waers, "Purchase order currency
    END OF IT_UPLOAD.
    DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    include bdcrecx1.
    start-of-selection.
    UPLOADING THE DATA TO IT_UPLOAD
    call function 'GUI_UPLOAD'
    exporting
    filename = 'C:\DASRR\VENDOR1.TXT'
    filetype = 'DAT'
    has_field_separator = 'X'
    HEADER_LENGTH = 0
    READ_BY_LINE = 'X'
    DAT_MODE = ' '
    CODEPAGE = ' '
    IGNORE_CERR = ABAP_TRUE
    REPLACEMENT = '#'
    CHECK_BOM = ' '
    IMPORTING
    FILELENGTH =
    HEADER =
    tables
    data_tab = IT_UPLOAD
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_READ_ERROR = 2
    NO_BATCH = 3
    GUI_REFUSE_FILETRANSFER = 4
    INVALID_TYPE = 5
    NO_AUTHORITY = 6
    UNKNOWN_ERROR = 7
    BAD_DATA_FORMAT = 8
    HEADER_NOT_ALLOWED = 9
    SEPARATOR_NOT_ALLOWED = 10
    HEADER_TOO_LONG = 11
    UNKNOWN_DP_ERROR = 12
    ACCESS_DENIED = 13
    DP_OUT_OF_MEMORY = 14
    DISK_FULL = 15
    DP_TIMEOUT = 16
    OTHERS = 17
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    *CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    FILENAME = 'C:/VENDOR1.TXT'
    FILETYPE = 'DAT'
    TABLES
    DATA_TAB = IT_UPLOAD.
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
    CLIENT = SY-MANDT
    GROUP = 'SRR'
    USER = SY-UNAME.
    POPULATE INTERNAL TABL
    LOOP AT IT_UPLOAD.
    CLEAR IT_BDCDATA.
    REFRESH IT_BDCDATA.
    PERFORM POPULATE_DATA.
    CALL FUNCTION 'BDC_INSERT'
    EXPORTING
    TCODE = 'XK01'
    TABLES
    DYNPROTAB = IT_BDCDATA.
    ENDLOOP.
    *& Form POPULATE_DATA
    text
    --> p1 text
    <-- p2 text
    FORM POPULATE_DATA .
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0100'.
    perform getdata using ' ' RF02K-LIFNR 'IT_UPLOAD-LIFNR'.
    perform getdata using ' ' RF02K-bukrs 'IT_UPLOAD-bukrs'.
    perform getdata using ' ' RF02K-EKORG 'IT_UPLOAD-EKORG'.
    perform getdata using ' ' RF02K-KTOKK 'IT_UPLOAD-KTOKK'.
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0110'.
    perform getdata using ' ' LFA1-ANRED 'IT_UPLOAD-ANRED'.
    perform getdata using ' ' LFA1-NAME1 'IT_UPLOAD-NAME1'.
    perform getdata using ' ' LFA1-SORTL 'IT_UPLOAD-SORTL'.
    perform getdata using ' ' LFA1-LAND1 'IT_UPLOAD-LAND1'.
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0210'.
    perform getdata using ' ' LFB1-AKONT 'IT_UPLOAD-AKONT'.
    perform getdata using ' ' LFB1-FDGRV 'IT_UPLOAD-FDGRV'.
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0215'.
    perform getdata using ' ' LFB1-ZTERM 'IT_UPLOAD-ZTERM'.
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0220'.
    perform getdata using ' ' LFB5-MAHNA 'IT_UPLOAD-MAHNA'.
    PERFORM GETDATA USING 'X' 'SAPMF02K' '0310'.
    perform getdata using ' ' LFM1-WAERS 'IT_UPLOAD-WAERS'.
    ENDFORM. " POPULATE_DATA
    *& Form GETDATA
    text
    -->P_0213 text
    -->P_0214 text
    -->P_0215 text
    FORM GETDATA USING VALUE(P_0213)
    VALUE(P_0214)
    VALUE(P_0215).
    IF P_0213 = 'X'.
    IT_BDCDATA-PROGRAM = P_0213.
    IT_BDCDATA-DYNPRO = P_0214.
    IT_BDCDATA-DYNBEGIN = P_0215.
    ELSE.
    IT_BDCDATA-FNAM = P_0214.
    IT_BDCDATA-FVAL = P_0215.
    ENDIF.

    When u use GUI_UPLOAD, U can not assign file type as 'dat'. This must be either ASC or BIN.
    Make sure  ur flat file path should correct..
    This well help u...

  • Calculations based on the values in the cube

    Hi Guys,
    I need to create a report where I need to calculate a value based on the data available in the cube and not just the data that is the output of the report.
    Is it possible for me to use the data in the table /BIC/<datatarget>00 and perform the calculation using ABAP? If so, how can I display the calculated value on the report and where do I write the code?
    THanks,
    Doniv

    Bhanu,
    But the problem in doing that is, it would still display the age for the corresponding employee in the age column. That should be displayed either.
    All I need is display is the following format
    Department    Averageage
    Dept1           40
    Dept2           50
    Overall         45
    The present format when I set the employee to "No Display" is
    Department    Averageage
    Dept1            40
    ______30
    ______50
    Dept2            50
    ______35
    ______50
    ______65
    overall          45
    *_____ means a blank row
    Thanks,
    Doniv
    Message was edited by: doniv ramuk
    Message was edited by: doniv ramuk

  • Basic keyfigure value of the cube is multiped by 100 in the query result.

    Hi ,
    When i execute a query for P&L the local currency value of the basic key figure is being multiplied by 100 in the query when compared with the cube data...where as the Global currency value is correct.
    Could you please help me as how this could be possible.
    Points will be assigned.
    Thanks and Regards,
    sridevi

    Hi,
    Then, either someone changed the number of decimals (TCURX table) in december/january or you started to feed your system with data from another source system (where during transfer global settings you uploaded the number of decimals differed from 2). Check the TCURX table. Almost sure that you'll find your currency there.
    Best regards,
    Eugene

  • Program throws me wrong value than the entered value at the console

    Hi,
    I am running a simple program which reads input from console and
    displays in the console.somehow if i enter 22 ,i am geting 50.
    can somebody help what I am doing wrong here???
    Thanks
    Jack
    class checkValue{
    public static void main(String args[]){
         try{
    byte b=(byte)13;
    System.out.println("the value of b is.."+b+"\n");
    int b1=System.in.read();
    System.out.println("The value that is read from system is "+b1+"\n");
    }catch(Exception e){}
    }

    int b1=System.in.read();Here b1 is the integer corresponding to the character '2' ((char)0x32 =(char)50), and hence you obtain the value 50. With the following you can see what's happening here.
    System.out.println(Integer.toString((int)'2'));One way is you use the method readLine of the class java.io.BufferedReader.
    Try the following.
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    String str = reader.readLine();
    System.out.println(str);
    reader.close();

  • MONTHNAME on Presentation give wrong values even the timezone settings are

    HI All,
    I have done the timezome settings on the BI Presentation services,all the dates work fine exactly the required date with timestamp is comming.
    THe problem is if i use MONTHNAME on the Presentations it gives the original value.
    Ex:if My original date is "31-MAR-2011 11:00 00 PM" after time zone setting(+2hrs) it shows "01-APR-2011 01:00 00 AM" which is exactly which we need to get and we are getting ,
    but if im using MONTHNAME(above date field) it still returns MAR where it should return APR,coz we expect APR as the timezone setting has been done.
    Can you please help me if i still missing any Settings in OBIEE.
    Regards,
    Kishore K

    HI,
    Thanks for the reply...!
    But if the timezone is handled there should be something which works on the months as well......any file setting need to be changed...?
    Or any doc from Oracle handling the issue.....!
    Thanks in advance....!
    Regards,
    Kishore

  • Amount not getting displayed in the cube

    Hi,
    I have a ZTable which has got an Amount field declared like this.
    AMOUNT     WAERS     CUKY     5     0     Currency Key
    And I declared a ZAMOUNT as Amount in the cube and provided 0CURRENCY.
    Initially there was no value in the Amount column in the Ztable and hence could not see any value of Amount in the cube.But after entering values in the ZTable, I deleted the replicated the DS, create TR, UR and then create an InfoPckg and then created the Data Transfer Process. But still I am not able to see the Amount Value in the cube.
    Kindly Help
    Sam..

    > hi Sam,
    >
    > did you assign AMOUNT field from ztable to infoobject
    > ZAMOUNT in transfer rules ? move AMOUNT from left to
    > right in tab 'datasource./transf.rules ?
    > and ZAMOUNT mapped ? (with ZAMOUNT)
    >
    > hope this helps.
    Hi Edwin,
    Assigning and mapping which you mentioned is just pulling an arrow from the left Amount to right ZAmount, right? I did that. But there is an additional 0Currency on the right side without getting mapped? Should I map that also to Amount? Any issue with Rules.
    Regards,
    Sam...

  • Webi base on BW query based on Infoset comes back with wrong values

    Hello:
    I have a Webi report on an OLAP Universe, on Bex Query.
    The bex query is based on 1 INFOSET.
    When I run the webi report the values that comes back a totally wrong values.
    The correct results are not brought back.
    When I do a test with crystal reports to the infoset, I can see the correct values.  (I'm aware crystal uses different drivers).
    The test is BW query designer, and crystal brings back proper values from Infoset based BW query.
    Webi on Infoset based BW Query comes back with wrong data.
    query is simple.
    Pull in 3 attributes, 3 key figures, where componentkey = "111"
    I get 36 rows in Crystal and 36 rows in Bex Analyzer, 36 rows in BW query designer (web analyzer).
    I get many rows in webi (almost like a CARTENSIAN product).
    I search a round this forum but still did not see a conclusive answer to this problem.
    But I see another thread that several others faced this same issue without a resolution.
    My environment.
    BOE XI 3.1 SP2
    No fix packs
    SAP IK 3.1 SP2
    HPUX-IA64
    Thanks in advance for any help.
    Dwayne

    Was this problem ever solved?
    I am having a similar problem with an infoset based query.
    I have created the BW infoset, and confirmed that the correct data is returned from the underlying infoproviders. A simple BW query on that infoset yields the same results.
    Create the universe, and then the WEBI, and WEBI now shows hundreds of records where I expect 10. Data is being returned in WEBI that definitely shouldn't be there. It's almost like the restrictions applied in the characteristic restriction area of my BW query are being ignored, even if I include them in the WEBI query.
    Cheers,
    Andrew

  • Updated CODE1 is showing wrong values in 2LIS_05_QE1

    Hi all,
    I'm using 2LIS_05_QE1 extractor to report over qualitative data in BW. When the code of the characteristics is updated, the extractor takes 2 records, before and after images. The extractor is gathering wrong values for the CODE1 field  in the before image.
    REQUEST     DATAPAKID     RECORD     ROCANCEL     PPLNKN     MERKNR     CODE1     GRUPPE1     ZHLNSTAT
    REQU_4KVR0APSV0RSZ7N70IOR0F95L     1     5120          5     40     0     CIBAU038     1
    REQU_4KPIA4UG5G1IKN6DE3XFWKIS9             3     4045     X     5     40     0     CIBAU038     -1
    REQU_4KPIA4UG5G1IKN6DE3XFWKIS9             3     4046          5     40     75     CIBAU038     1
    REQU_4KYF8YNIEMXNZI7P2Y5BM21W9     3     4045     X     5     40     0     CIBAU038     -1
    REQU_4KYF8YNIEMXNZI7P2Y5BM21W9     3     4046          5     40     75     CIBAU038     1
    We have changed the characteristic two times, now we can see two of the before images with the ROCANCEL field marked with = 'X'. The problem appears in the second before image which is not taking the actual value of the CODE1 field (75), instead is showing the value in zero. Then, when I report over the key figure in the table above ZHLNSTAT (quantity of values) the results are showing 2 values for CODE1=75 and -1 values for CODE1=0.
    Any ideas?

    I have checked Datasource and CODE1 is not a hidden field...apart from this field there are other fields too which I can see in Datasource in R/3 about dont see them in BW ....
    Please let me know what could be wrong.
    Thanks,
    Murtuza.
    Edited by: Murtuza Morwala on Jun 27, 2009 7:36 AM

  • Aggregation at the lowest level in the cube

    Hi guys
    I designed very simple test cube with one dimension (both MOLAP driven).
    The dimension PRODUCT consists of three levels:
    - Group
    - Category
    - Product_detail
    PRODUCT_SRC table to load PRODUCT dimension:
    PR_GROUP_NAME PR_GROUP_ID PR_CATEGORY_NAME PR_CATEGORY_ID PR_DETAIL_NAME PRODUCT_DETAIL_ID
    dairy 1000 yoghurts 1000000 yoghurt_1 1000000000
    dairy 1000 yoghurts 1000000 yoghurt_2 1000000001
    dairy 1000 yoghurts 1000000 yoghurt_3 1000000002
    candy 1001 cookies 1000001 cookies_1 1000000003
    candy 1001 cookies 1000001 cookies_2 1000000004
    candy 1001 cookies 1000001 cookies_3 1000000005
    beverages 1002 juices 1000002 juice_1 1000000006
    beverages 1002 mineral water 1000003 mineral_water_1 1000000007
    beverage 1002 energy drink 1000004 energy_drink_1 1000000008
    The cube SALES has one measure:
    - Value_of_sales (sum aggr)
    SALES_SRC table to load SALES cube:
    VALUE PROD_ID ID
    1236 1000000002 2
    115 1000000006 3
    1697 1000000005 4
    12 1000000004 5
    168 1000000008 6
    1984 1000000005 7
    9684 1000000004 8
    84 1000000002 9
    8 1000000007 10
    498 1000000006 11
    4894 1000000008 12
    4984 1000000004 13
    448 1000000003 14
    4489 1000000004 15
    13 1000000001 16
    879 1000000004 17
    896 1000000006 18
    4646 1000000007 20
    I created the dimension PRODUCT and a mapping which loaded the data into the dimension. It worked perfectly. The hierarchy was created as I expected.
    Then I created cube SALES and a mapping which should load the data into the cube. It is very very simple mapping - there were just only two items on the canvas:
    - SALES_SRC table
    and
    - SALES cube
    and two lines:
    - from SALES_SRC.VALUE to SALES.VALUE_OF_SALES
    - from SALES_SRC.PROD_ID to SALES.PRODUCT_NAME
    Then I deployed everything and ran mapping, which loaded cube. But in my opinion the cube was not populated in a proper way, because it was no aggregation performed at the lowest level of product hierarchy - there was only a value of the first occurence of certain product. I mean:
    In SALES.SRC we have for instance:
    VALUE PROD_ID ID
    1236 1000000002 2
    84 1000000002 9
    For me the the value in the cube should be 1236 + 84 = 1320, but the value in the cube at PRODUCT_DETAIL_LEVEL for yoghurt_3 is only 1236 - first occurence of this product in SALES.SRC.
    Why hasn't been the data aggregated at lowest level of PRODUCT dimension hierarchy - is it the way OWB does such things?
    Should I manually aggregate the data before loading to cube (just to use Aggregator to aggregate the data at lowest level)? If yes - what about incremental loading of data to cube (the old value value is simply replaced by new one and not summed in the cube)
    In data warehouse solutions of other vendors the cube in such situation is loaded as I expected here.
    I really don't know what to do. I do really appreciate any help from you.
    Thank you in advance
    Peter

    Hi David
    Thank you very much.
    Now I'm sure that I have to aggregate facts by myself at the lowest level of hierarchy in a dimension.
    Regards
    Peter

  • NI PCI-6602: semi-period measurement stops unexpectedly or returns wrong values

    Hi,
    Using an NI PCI-6602 card we try to measure the semi-periods of a digital signal.
    In "continuous sampling mode", 10 samples are collected in the buffer and then are read
    out.
    Up to 6 counters on this card are sampling the same signal in our testing configuration.
    Here we found these issues:
    1. Failure
    In principle, the measurement runs correctly, but one or more counters sporadically may
    suffer a complete failure. I.e. these counters don't provide samples anymore.
    Only after stopping and restarting the assigned task, a failed counter works again.
    Apparently, a counter failure is most likely to happen when
        - the sampled signal "changes", i.e. when the pulse width of the signal changes,
        - or when the computer load is high, e.g. when opening a window of another application.
    Every counter occasionally failed, but the issue was found very often at counter 1 of
    the PCI-6602 card, if we used counters 0 through 5 in parallel.
    Using another PCI-6602 card, the failures happened preferably on counters labeled "near"
    number 5.
    2. Wrong values
    Occasionally the "interpretation" of the sampled values changes, i.e. the length of the
    "high level" period is returned, where the "low level" period length should be given, and
    vice versa.
    This is our task configuration:
    Configuration done with MAX:
    Signal input range:    2 usec - 2 sec
    Custom Scaling:        None
    Sample mode:        continuous
    Buffer size:        10 Samples
    In addition these calls are made:
    ret = DAQmxSetDigEdgeArmStartTrigSrc( task->mHandle, <use the same terminal as is used for
    the signal to be measured>);
    ret = DAQmxSetArmStartTrigType( task->mHandle, DAQmx_Val_DigEdge);
    ret = DAQmxSetDigEdgeArmStartTrigEdge( task->mHandle, DAQmx_Val_Rising);
    ret = DAQmxSetCISemiPeriodStartingEdge( task->mHandle, <the channel>, DAQmx_Val_Falling);
    Best regards
    Manfred

    Hi Manfred7,
    did you already test this behaviour with a simple example from us?
    Just go through the example database and try the examples there.
    These examples should work. 
    If it works, there is a problem with your programm.
    If it won't work, please tell me more about your software:
    - Version
    - DAQmx Version ,...
    best regards
    Dippi 

  • How to check wrong values in isChangedByClient

    Hi,
    I had two issues with a validation code.
    First let me describe the scenario.
    We need to update the Vendor Master.
    There should one primary contact against one Vendor Number.
    There are multiple Secondary contact against one primary contact.
    There are 4 fields for both primary and secondary contact.
    Primary Contact:
    First Name (Read Only, Mandatory).
    Last Name (Read Only, Mandatrory).
    Mobile Number (Mandatory).
    Telephone (Optional).
    Secondary Contact:
    First Name (Mandatory).
    Last Name (Mandatory).
    Mobile Number (Mandatory).
    Telephone (Optional).
    So, I need to check two validations by Java Regular Expressions,
    Name should be alphabets with ,. and space.
    Telephone Number and Mobile Number would be Numbers only.
    Now, the issue client wants the Sceondary Contacts table rows
    can be modified without selecting them.
    So, I used isChangedByClient.
    That's working fine.
    But the user gives First Name as Kaushik45 in first row of the secondary contact table
    and also types First Name as Subho67 in third row.
    The first wrong value get printed (by wdComponentAPI.getMessageManager) but
    the control goes to the last wrong value.
    This might be solved by using setLeadSelectionAt(i).
    Now, when the user types values wrongly in First Name field for Row 1 and Row 3;
    the user gets stuck in First Row.
    He modifies and then click the update again.
    This time update runs and update the wrong value at row 3.
    So, solution might be storing all wrong values of the isChangedByClient in an array and then comparing one by one.
    Please suggest.
    Regards
    Kaushik Banerjee

    Hi Ilan,
    I am pasting the code below.
    public void onActionconf(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionconf(ServerEvent)
         MessageManager msgmanager=(MessageManager)wdThis.wdGetAPI().getComponent().getMessageManager();
         IPrivateMainView.IP_personNode testNodeP = wdContext.nodeP_person();
              //IPrivateMainView.IS_personNode testNodeS = wdContext.nodeS_person();
              IPrivateMainView.IS_personNode S_personNode = wdContext.nodeS_person();
             IPrivateMainView.IS_personNode spersonNode = wdContext.nodeVendorDetails().nodeS_person();
              IPrivateMainView.IP_personElement testElementP = testNodeP.currentP_personElement();
         if(testNodeP.size()!=0){
              /*If else for tesElementP Namev null value check */          
                        if(testElementP.getNamev()!=null)
                   /*Start of if-else for testElementP Mob Number */          
                                  if(testElementP.getMob_Number()!=null){
                                       String Mob_num = testElementP.getMob_Number();
                                      String regStrforPriMob=  "[0-9]*";
                                       CharSequence chSeqForMob = Mob_num;
                                       Pattern patternForPriMob = Pattern.compile(regStrforPriMob);
                                      Matcher matcherForPriMob = null;
                                       matcherForPriMob = patternForPriMob.matcher(chSeqForMob);
                                       /* Start of matcher if-else*/
                                       if(matcherForPriMob.matches()==true){
                                            if(testElementP.getTel_Number()!=null) {
                                             String tel_num = testElementP.getTel_Number();
                                             String regStrforPriTel = "[0-9]*";
                                             CharSequence chSeqForTel = tel_num;
                                             Pattern patternForPriTel = Pattern.compile(regStrforPriTel);
                                             Matcher matcherForPriTel = null;
                                             matcherForPriTel = patternForPriTel.matcher(chSeqForTel);
                                  wdComponentAPI.getMessageManager().reportSuccess("The Telephone Number of Primary Number is matching");            
                        if(matcherForPriTel.matches()==true){
                        if(S_personNode.size()!=0){
                        //IPrivateMainView.IS_personElement S_personElement = S_personNode.currentS_personElement();
                                          //  for(int i=0;i<wdContext.nodeS_person().size();i++) {
                                                      /*Start of Secondary Contact Mob Number and Tel Number if-else */     
                                                      for(int i=0;i<wdContext.nodeS_person().size();i++){
                                                        if(wdContext.nodeS_person().getS_personElementAt(i).isChangedByClient()==true){
                                                           IPrivateMainView.IS_personElement S_personElement = (IPrivateMainView.IS_personElement)S_personNode.getElementAt(i);
                                                           String fName = wdContext.nodeS_person().getElementAt(i).getAttributeAsText("Namev");
                                                           wdComponentAPI.getMessageManager().reportSuccess("The First Name for the Secondary Contact is :"+fName);                                                                                                                        
                                                           String regStrforSecfName = "[a-zA-Z-øØæÆåÅ,. ]*";
                                                           CharSequence chSeqforSecFname = fName;
                                                           Pattern patternForSecfName = Pattern.compile(regStrforSecfName);
                                                           Matcher matcherForSecfName = null;
                                                           matcherForSecfName =  patternForSecfName.matcher(chSeqforSecFname);
                                                                                                                  //String lName = S_personElement.getName1();
                                                           String lName = wdContext.nodeS_person().getElementAt(i).getAttributeAsText("Name1");
                                                           String regStrforSeclName = "[a-zA-Z-øØæÆåÅ,. ]*";
                                                           CharSequence chSeqForSecLname = lName;
                                                           Pattern patternForSeclName = Pattern.compile(regStrforSeclName);
                                                           Matcher matcherForSeclName = null;
                                                           matcherForSeclName = patternForSeclName.matcher(chSeqForSecLname);
                                                                                                                  //String Mob_NumSec = S_personElement.getMob_Number();
                                                          String Mob_NumSec = wdContext.nodeS_person().getElementAt(i).getAttributeAsText("Mob_Number");
                                                           String regStrforSecMob ="[0-9]*";
                                                           CharSequence chSeqForMobSec = Mob_NumSec;
                                                           Pattern patternForSecMob = Pattern.compile(regStrforSecMob);
                                                           Matcher matcherForSecMob = null;
                                                           matcherForSecMob = patternForSecMob.matcher(chSeqForMobSec);
                                                        if(S_personElement.getMob_Number()!=null&&S_personElement.getNamev()!=null&&S_personElement.getName1()!=null){
                                                           //String fName = S_personElement.getNamev();
                                                                                    /* Start of matcher if-else*/
                                                           if(matcherForSecfName.matches()==true&&matcherForSeclName.matches()==true&&matcherForSecMob.matches()==true){
                                                           /* Start of City if-else */
                                                           if(S_personElement.getTel_Number()!=null){
                                                             String Tel_NumSec = wdContext.nodeS_person().getElementAt(i).getAttributeAsText("Tel_Number");
                                                             String regStrforSecTel = "[0-9]*";
                                                             CharSequence chSeqForTelSec = Tel_NumSec;
                                                             Pattern patternForSecTel = Pattern.compile(regStrforSecTel);
                                                             Matcher matcherForSecTel = null;
                                                             matcherForSecTel = patternForSecTel.matcher(chSeqForTelSec);
                                                           /* Start of matcher if-else */
                                                           if(matcherForSecTel.matches()==true&&matcherForSecfName.matches()==true&&matcherForSeclName.matches()==true&&matcherForSecMob.matches()==true){
                                                 wdComponentAPI.getMessageManager().reportSuccess("The First Name matches the pattern: "+matcherForSecfName.matches());               
                                                                                               if(wdContext.currentCheckboxckElement().getCorrespondence()==true){
             wdComponentAPI.getMessageManager().reportSuccess("Entering the if statement for executing the RFC");
                                                                                              wdThis.wdGetVdapplicationController().updVendorDetails();
                                                                                              wdThis.wdFirePlugToFinal();
                                                                                              //break;
                                                                                              else
                                                                                              {   IWDAttributeInfo atinfo = wdContext.nodeCheckboxck().getNodeInfo().getAttribute("Correspondence");
                                                                                              msgmanager.reportContextAttributeMessage(wdContext.nodeCheckboxck().getCurrentElement(),atinfo,IMessageVdapplication.KEY4,new Object[]{},true);
                                                                                              //wdComponentAPI.getMessageManager().reportException("Kryss av for korrekt informasjon før lagring",true);
                                                                                              } /* End of check box if else*/
                                                           } /* End of Secondary Contact Telephone Number matching */
                                                           else {
                                                                wdComponentAPI.getMessageManager().raiseException("The Secondary Contact Telephone Number is not matching",true);
                                                                } /* End of Secondary Telephone Number if */     
                                                             /* End of matcher if-else*/
                                                             else {
                                                                //wdComponentAPI.getMessageManager.re("The Mobile Number is not in the correct format for Secondary contact",true);
                                                    wdComponentAPI.getMessageManager().reportSuccess("The First Name was : "+wdContext.nodeS_person().getElementAt(i).getAttributeValue("Namev"));
                                                    //Object[] firName = new Object<i>;
                                                   // firName<i> = wdContext.nodeS_person().getElementAt(i).getAttributeValue("Namev");
                                                    wdContext.nodeS_person().setLeadSelection(i);      
    //                                                for(int j=0;j<firName.length;j++)
                                                      /*  try {
                                                                          String fuName = wdContext.nodeS_person().getElementAt(i).getAttributeValue("Namev").toString();
                                                                          wdComponentAPI.getMessageManager().reportSuccess("The Value of fuName: "+fuName);
                                                                                                                                           //String fName = S_personElement.getNamev();
                                                                          String regStrforFuName = "[a-zA-Z-øØæÆåÅ,. ]*";
                                                                          CharSequence chSeqforFuName = fuName;
                                                                          wdComponentAPI.getMessageManager().reportSuccess("The Value of CharSequence "+chSeqforFuName);
                                                                          Pattern patternForSecFuName = Pattern.compile(regStrforFuName);
                                                                          Matcher matcherForSecFuName = null;
                                                                          matcherForSecFuName =  patternForSecFuName.matcher(chSeqforFuName);
                                                                          wdComponentAPI.getMessageManager().reportSuccess("The matcherForSecFuName is "+matcherForSecFuName);
                                                                          if(matcherForSecFuName.matches()==false){
                                                                          wdComponentAPI.getMessageManager().reportException("Error in the First Name",true);
                                                         catch(ArrayIndexOutOfBoundsException ae){
                                                              ae.printStackTrace();
                                                         catch(Exception e){
                                                              e.printStackTrace();
                                                   //String fuName = wdContext.nodeS_person().getElementAt(i).getAttributeValue("Namev");
                                                                wdComponentAPI.getMessageManager().reportException("The First Name, Last Name or Mobile Number is not in the correct format for Secondary contact",true);
                          //     break;
                                                        else {
                                                                                                               wdComponentAPI.getMessageManager().raiseException("First Name, Last Name, Mobile Number is blank",true);
                                               else {
                                                    wdComponentAPI.getMessageManager().raiseException("The Telephone Number of the Primary Contact is in the Correct format",true);
                                            } /* Telephone Number element null*/
                                            //else{}
                        /*Start of Secondary Contact Size if-else */                    
                                  /* End of if-else for Secondary Contact Size */
    //                 else {
    //                      wdComponentAPI.getMessageManager().reportException("The Mobile No of the Primary Contact is not in the correct format",true);                            
                        /* End of matcher if-else for Primary Contact*/
                        else{
                             wdComponentAPI.getMessageManager().reportException("Primary Contact Mobile Nunber is not in the correct format",true);
                   /* if for testElementP Mob Number */
                   else {
                        wdComponentAPI.getMessageManager().reportException("No Primary Contact Mobile Number",true);
              } /* End of If else for tesElementP Namev null value check */     
                        else {
                             wdComponentAPI.getMessageManager().reportException("There is no First Name for Primary Contact",true);          
        }// else if for testNodeP size closed
        else{
             wdComponentAPI.getMessageManager().reportException("There is no element in Primary Contact",true);
        //@@end
    Regards
    Kaushik Banerjee

  • Data in the cube is showing wrong when compared with ODS

    Hello BW Gurus,
    We have a waste report in production planning on Cube and ODS separately. The same info package loads both targets (which means same infosource) but when we run a report on Cube, the records are showing multiple entries (i.e. Key Figures are not matching when compared to ODS) where as the ODS records are showing correctly as it was in R/3. There are totally 6 key figures out of which 4 pulled from R/3 and 2 are populated in BW. 
    An Example:
    Waste report in PP run for plant 1000 for 12/2005 and process order 123456.  The operational scrap should be 2.46% and the component scrap should be 3.00% for material 10000000.  The report is showing 7.87% for planned operational waste % and 9.6% for planned component waste %.  These values are not correct.  The ODS values for order 123456 matched the data in R/3 for component and operational scrap.
    There is a Start routine to the ODS and also to the cube. I am not good at ABAP so requesting your Help.
    <b>Here is the ODS Code:</b>
    tables:  /BI0/PPRODORDER.
      loop at data_package.
        select single COORD_TYPE
                      PRODVERS
          into (/BI0/PPRODORDER-COORD_TYPE,
                /BI0/PPRODORDER-PRODVERS)
          from /BI0/PPRODORDER
         where PRODORDER = data_package-PRODORDER
           and OBJVERS   = 'A'.
        if sy-subrc = 0.
          if /BI0/PPRODORDER-COORD_TYPE = 'XXXX'
          or /BI0/PPRODORDER-COORD_TYPE = 'YYYY'.
            data_package-PRODVERS = space.
          else.
            data_package-PRODVERS = /BI0/PPRODORDER-PRODVERS.
          endif.
        endif.
        if data_package-calday = space
        or data_package-calday = '00000000'.
          if data_package-TGTCONSQTY NE 0.
            data_package-calday = data_package-ACTRELDATE.
          endif.
        endif.
        modify data_package.
      endloop.
    <b>Here is Cube Code:</b>
    tables:  /BI0/PPRODORDER,
               /BIC/ODS.
      TYPES:
      BEGIN OF ys_mat_unit,
        material                 TYPE /bi0/oimaterial,
        mat_unit                 TYPE /bi0/oimat_unit,
        numerator                TYPE /bi0/oinumerator,
        denomintr                TYPE /bi0/oidenomintr,
      END OF ys_mat_unit.
      DATA:
        l_s_mat_unit             TYPE ys_mat_unit,
        e_factor                 type p decimals 5.
      loop at data_package.
        select single COORD_TYPE
                      PRODVERS
          into (/BI0/PPRODORDER-COORD_TYPE,
                /BI0/PPRODORDER-PRODVERS)
          from /BI0/PPRODORDER
         where PRODORDER = data_package-PRODORDER
           and OBJVERS   = 'A'.
        if sy-subrc = 0.
          if /BI0/PPRODORDER-COORD_TYPE = 'XXX'
          or /BI0/PPRODORDER-COORD_TYPE = 'YYY'.
            data_package-PRODVERS = space.
          else.
            data_package-PRODVERS = /BI0/PPRODORDER-PRODVERS.
          endif.
        endif.
        if data_package-calday = space
        or data_package-calday = '00000000'.
          if data_package-TGTCONSQTY NE 0.
            data_package-calday = data_package-ACTRELDATE.
          endif.
        endif.
        data_package-agsu     = 'GSU'.
        data_package-agsu_qty = 0.
        select single gr_qty
                      base_uom
          into (/BIC/ODS-gr_qty,
                /BIC/ODS-base_uom)
          from /BIC/ODS
         where prodorder = data_package-prodorder
           and material  = data_package-material.
        if sy-subrc = 0.
          if /BIC/ODS-base_uom = 'GSU'.
            data_package-agsu_qty = /BIC/ODS-gr_qty.
          else.
            SELECT SINGLE * FROM /bi0/pmat_unit
              INTO CORRESPONDING FIELDS OF l_s_mat_unit
              WHERE material   = data_package-material
                AND mat_unit   = 'GSU'
                AND objvers    = 'A'.
            IF sy-subrc = 0.
              IF l_s_mat_unit-denomintr <> 0.
                e_factor = l_s_mat_unit-denomintr /  
                              l_s_mat_unit-numerator.
                multiply /BIC/ODS-gr_qty by e_factor.
                data_package-agsu_qty = /BIC/ODS-gr_qty.
              ENDIF.
            else.
              CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
                EXPORTING
                  INPUT                = /BIC/ODS-gr_qty
                  NO_TYPE_CHECK        = 'X'
                  ROUND_SIGN           = ' '
                  UNIT_IN              = /BIC/ODS-base_uom
                  UNIT_OUT             = 'GSU'
                IMPORTING
                  OUTPUT               = DATA_PACKAGE-gsu_qty
                EXCEPTIONS
                  CONVERSION_NOT_FOUND = 1
                  DIVISION_BY_ZERO     = 2
                  INPUT_INVALID        = 3
                  OUTPUT_INVALID       = 4
                  OVERFLOW             = 5
                  TYPE_INVALID         = 6
                  UNITS_MISSING        = 7
                  UNIT_IN_NOT_FOUND    = 8
                  UNIT_OUT_NOT_FOUND   = 9
                  OTHERS               = 10.
            endif.
          endif.
        endif.
        modify data_package.
      endloop.
    some how the AGSU qyt is not populating in the cube and when I dbug the code, I could see a clean record in the internal table but not in the cube.
    your suggestion and solutions would be highly appreciated.
    thanks,
    Swathi.

    Hi Swathi,
    May be you might want to look into the way the % is being calculated in the cube. If the formula involves counting the no. of records, then you will also be counting the -ve records that are posted in the cube unless you have had a compression on the cube. that might give you wrong numbers.
    Doniv

Maybe you are looking for

  • Error With Customer Exit Variable

    Hi, I need To Create Customer Exit For Text Variable based on Two Input Variable values. can any one correct my code Code is written below based on quarter and Fiscalyearvarient. I have to get calmonth Text value. I am getting the error as : "I_T_VAR

  • Add - On Error on Server

    Hello, I have an add-on application working on 2005A patch 39. On one of our client's site I have a strange problem. The addon works on some of the clients but not on the servers. We need it to work on the citrix server so as to be available to other

  • Wireless and ePrint with Photosmart D110

    Hi Recently changed router and printing stopped. Printer was reconfigured to router and the wireless test was successful. When I try to install the driver on the laptop, it wont recognise the IP address that the printer shows. So I tried the ePrint f

  • Why does iPhoto say "Error writing to disk"?

    When I go on iPhoto I click on the "import all" button and try imorting my pictures from my iPhone to my mac and after a while of importing it completely stops and a window pops out saying "Error writing to disk" and I really don't know what to do to

  • Adobe Drive 4 install failed

    Hi, I tried installing Adobe Drive 4  on a few machines, but all got same errors: ----------- Payload: {8FD3F709-5124-400D-9AB5-A3B58C1AB8DB} Adobe Drive 4 x64 4.0.0.0 ----------- ERROR: DW030: Custom Action for payload {8FD3F709-5124-400D-9AB5-A3B58