Problem w. hash-value calculation for CLOB with DBMS_UTILITY.GET_HASH_VALUE

Hello Oracle-Experts,
I had to calculate hash-values for a corrorponding CLOB-field (see my post 'Buffer to small ORA-22835 error after migration from 9i to 10g' in forum 'database general').
I calculate the hash-values with the DBMS_UTILITY.GET_HASH_VALUE, e.g:
     SQL> SELECT DBMS_UTILITY.GET_HASH_VALUE(LPAD('X',3998,'X'),1,POWER(2,30)) FROM dual;
     DBMS_UTILITY.GET_HASH_VALUE(LPAD('X',3998,'X'),1,POWER(2,30))
     1053896858
Because the calculation failed with 10g I had taken a closer look at this function and realised the following results:
VALUE                                             DBMS_UTILITY.GET_HASH_VALUE(VALUE,1,POWER(2,30))
LPAD('X',3997,'X') 557754150
LPAD('X',3998,'X')      1053896858
LPAD('X',3999,'X')          888036750
LPAD('X',4000,'X') 162062978
LPAD('X',4001,'X')          162062978
LPAD('X',4002,'X') 162062978
LPAD('X',10000,'X') 162062978
It seems to me that I can't use this function for clob-values with a length greater than 4000 characters because of collisions. Maybe someone with experience
can give me a hint to handle this problem. Worst case i had to write my own CLOB_2_HASH function.
TIA + Best regards
Matthias

Yeah, the 4000-byte limit would be a factor in working CLOBs. I if you only had 4000 bytes you would not need a CLOB in the first place.
If you don't find something better then writing your own function might be the thing to do.

Similar Messages

  • How to address HP Printer Software Update 3.0, iTunes 12.0.1 update that sits in the App Store, 'Calculating' for days with no install?

    The App Store indicates there is a Software Update that appears to include the HP Printer Software Update 3.0 and iTunes 12.0.1
    Unfortunately, the software update fails to install. Instead, it just sits there 'Calculating' for days with no progression on the status bar of the overall update.
    The update buttons of both the HP Printer Software Update 3.0 and iTunes 12.0.1 are both greyed out, with no progress bar.
    Not sure of what the issue is, there is no warning or error dialog box that appears or any indication of an application that may be interfering with the install.
    Any advice? 
    MacBook Pro (17-inch, Early 2011) 2.3 GHz Core i7, 4GB RAM

    Thanks for the suggestion. I wanted to install the individual updates but because I had settings to automatically download and install updates, whenever I opened the App Store, the system would try to download and install, preventing me from canceling the update to execute each application update one at a time.
    After changing the settings from automatically downloading and applying updates, followed by a restart. I was able to open the App Store and run each individual update.
    Thanks again.

  • Book Value Calculation for an Asset

    Dear All,
    Is there any Function Module or Logic that gives the proper book value for an asset?
    I have tried using FM "FI_AA_VALUES_CALCULATE"
    and referred the field e_anlcv-bchwrt_lfd for Book Value.
    But the book value is not matching with the standadrd transaction S_ALR_87012936 every time.
    I have also tried FM "FIAA_NBV_SHOW_CALC". But this is throwing Dump.
    It will great if anyone can help me out in this.
    Regards
    Arindam
    Edited by: Alvaro Tejada Galindo on Apr 14, 2008 4:45 PM

    AR01 trans. - Assets with values report
    AR12 trans. - Asset with no values.
    ...  I would suggest to debug AR01 to see how SAP does it.   
    Regards....

  • Large HASH_SIZE with DBMS_UTILITY.GET_HASH_VALUE and performance

    I need to set the hash_size to quite a large value (16777216) in order to ensure uniqueness for the sets of values I ma hashing.
    The examples all use much smaller values (128K).
    It seems unlikely to me, but do large values for hash_size affect performance, perhaps in the amount memory used in the PGA for the hashing fucntions.

    Hi Nijmegen
    I think your problem is not related to OWB, but anyway.
    If you don't change data type to char, GET_HASH_VALUE function will automatically change this data type to char in your case datetime will be changed to something like '2007.12.16' (try simple function to_char). So both values are equal '16-12-2007 13:43:55' = '2007.12.16' and '16-12-2007 16:43:55' = '2007.12.16' and you will get the same hash value. Better use POWER(2,30).
    example
    SELECT
    DBMS_UTILITY.GET_HASH_VALUE (
    TO_CHAR(TO_DATE('16-12-2007 13:43:55','dd-mm-yyyy hh24:mi:ss')),
    0,
    POWER(2,30)) AS x1,
    DBMS_UTILITY.GET_HASH_VALUE (
    TO_CHAR(TO_DATE('16-12-2007 16:43:55','dd-mm-yyyy hh24:mi:ss')),
    0,
    POWER(2,30)) AS x2,
    DBMS_UTILITY.GET_HASH_VALUE (
    '16-12-2007 13:43:55',
    0,
    POWER(2,30)) AS x1,
    DBMS_UTILITY.GET_HASH_VALUE (
    '16-12-2007 16:43:55',
    0,
    POWER(2,30)) AS x2,
    TO_CHAR(TO_DATE('16-12-2007 13:43:55','dd-mm-yyyy hh24:mi:ss'))
    FROM DUAL
    Regards

  • BPC75NW - Periodic Amount Not Calculating for records with blank YTD value

    We are on BPC75NW SP6 and have a YTD consolidation application.  Data is loaded on a monthly basis uising a process of importing data files from supplying systems and then loading them into BPC using the data manager append function with a transformation file.  YTD amounts are as expected and 'most' periodic amounts are also calculated correctly via MDX mesures in reporting.  However, in situations where we have a P&L YTD balance in one month (say January) and then in the next month (February) there is no longer a YTD balance in that P&L account, no record is loaded for February YTD and the system is not calculating any February periodic amount.  Example:
    January - Load $100 to a P&L Account which is the YTD amount
    The January YTD amount = $100.
    The January Periodic amount = $100.
    February - Load no record to the same P&L account as above (as the YTD amount is now 0)
    The February YTD amount in the system is blank
    The February Periodic amount in the system is blank (This should be a NEGATIVE $100)
    As a possible work around we have also tried to load a 0 to February.  The data manager package shows the record as loaded successfully but since it is a 0 it really does not put it into the database. 
    Surely someone out there has already hit this situation and is willing to share the solution.
    Thank you,
    Vicki S.

    This problem was resolved by installing SAP Note 1405993 - MDX: Error: Invalid MDX command with
    CURRENTMEMBER.  The current text on the note does not describe our error but SAP will not extend the text to cover this issue. 
    Prior to installing this note, the following other notes were also installed but they did not fix the periodic calculation issue.  Under SAP's advisement we are going to leave them however as 'they should not have any side effects':
    1529720 MDX: No data for calculated member and metadata reference
    1590976 MDX: Incorrect data for IIF
    1584196 MDX: Calculated members and different dimensions
    1528374 MDX: System error GET_PRPTY_VALUE-02-
    I will now close this message.
    Vicki Shrontz

  • Problem in Asset value calculation ... ANEP and ANLC

    Hellö ,
    We have a problem in calculation of the Fixed Asset values. Please see the link below for the problem. Technically it sums up like transaction values are available in the table ANEP but ANLC table is with the wrong value, Some of the transactions are not reflecting in the calculations of planned values for some of the Assets.
    http://docs.google.com/View?id=ddqnbgm8_49cmgq86gx
    We develop and implemented a functionality with the next
    characteristics:
    a. When we ran the MIRO transaction to a fixed asset situation, a
    substitution in accounting documents (using a user-exit ) determines
    the profit center to the fixed asset and insert the line
    item in a custom table.
    b. The custom program identifies all pending line items for processing
    (via custom table) and, for each fixed asset identified, reverse the
    original accounting document, and post the fixed asset in the profit
    center '04219CL000'. To do this movement between the profit
    center '04106CL000' and '04219CL000' the custom program uses a zero
    balance account.
    c. First of all, the custom program set the Field <negative values>
    (BAPI1022_DEP_AREAS- NEG_VALUES) using the function
    BAPI_FIXEDASSET_CHANGE. Later the custom program post the accounting
    document using the function BAPI_ACC_GL_POSTING_POST;
    d. In less than 1% of the cases the fixed asset posted in this process
    it seems with a problem: the asset line itens (transactions  - ANEP
    table) where correct posted but the fixed asset acquisition values
    (ANLC table) where posted in a wrong way (it's initialized - without
    any value sometime or not summing up some transaction values properly).
    e. Our custom program does not update any field value on the asset.
    All the modifications on the asset are being made by the standard
    functions above.
    Edited by: Ravi Sharma on Jun 17, 2009 9:16 AM

    Hi,
    the problem is: Does anybody give you the correct value for each part?
    If you know the value for each part you can use transaction ABUMN to transfer values from one asset to a new asset. With this transaction you can create a new asset. And you can make a partial transfer.
    If you use this transaction you can simulate before you transfer it.
    But as I said the problem is to find out the correct value. In germany for example we have to activate all in one fixed asset (computer with cbu )
    Hope this answer your question.
    Best regards
    Volker

  • How "Assigned" value calculated for WBS in CJ30?

    Dear all,
    I have got a problem with the Assigned value in CJ30. The problem is that the value in column "Assigned" of CJ30 disappeared after I settled the cost of the WBS to another WBS which has no budget control activated (no budget profile assigned). As I know, the Assigned value won't be changed if the WBS is settled to an object with no budget control, for example settle the WBS to a cost center, or a assets. In my case, although the settlment was done between two WBS, but I had removed the budget profile when created the receiver project, which means the receiver WBS has no budget control activated. However, after settlement, the assigned value of the sender WBS disappeared. But if I settle the cost to a cost center or assets, I can see the assigned value still shown on the sender WBS in CJ30.
    Can anybody here tell me why this happen? or is this a bug of SAP?
    Thank you very much in advance.
    Best regards,
    Brook

    I can reproduce your issue.  If you toggle open Audience P I think you will find the very last value for the last Category and the last Product_Group will be around 15% for Growth 2014 and around 23% for Growth 2015.  The chart series expression
    is choosing the last value for ReportItems!YoYGrowthPercentage as it doesn't know how to attribute that ReportItem to the Audience matrix.  If you want a chart to display only the percentage for Audience, I suggest that you have a separate data
    source with the values for GrowthPercentage for only the Audiences, and make that the data source for your chart. Also, I would make the growth figures in your matrix also a matrix by doing the percentage calculation directly in the table. You would pull in
    the value for this year and the value for last year into your data set, and then do the calculation within the report as follows:
    =SUM(Fields!Value.Value)/Sum(Fields!LastYearValue.Value)-1
    Create a second Column Group adjacent after, also by year.  Your query could look something like this, depending on how your tables are structured:
    SELECT a.Audience, a.Category, a.ProductGroup, a.Year, a.Value, b.Year as LastYear, ISNULL(b.Value,0) as LastYearValue
    FROM YoYGrowth a LEFT OUTER JOIN
    YoYGrowth b ON a.Audience = b.Audience and a.Category= b.Category and a.ProductGroup = b.ProductGroup
    AND a.Year-1 = b.Year
    Hope it helps.  Cheers,
    Martina White

  • GR value calculation for non-valuated material

    Hi,
    Please help me for the below scenario.
    Invoice : 1 is posted with Qty : 1 and Amount: 499520 EUR
    Invoice : 2 posted with Qty : 10 and Amount: 499520 EUR
    Now when the GR is posted at this point, the GR value is calculated 1,375,360.00. I would like to know the logic on which the system arrived this value.
    Qty
    Value in EUR
    PO Price
    1
    11200.00
    PO Price
    44.6
    499,520.00
    Ist Invoice
    1
    499,520.00
    2nd Invoice
    10
    499,520.00
    Total Invoice
    11
    999,040.00
    GR
    44.6
    1,375,360.00
    Thanks and Regards
    Senthilnathan

    in general you have to reverse your posting in opposite sequence.
    so you have to bring all those movements and invoice postings in timely sequence, then you need to reverse it from the youngest to the oldest posting. I added the sequence to your screenshot.
    but this is just under the assumption that the world stood still.
    From this purchase order history we cannot know if there were other postings that had already affected inventory and its values.
    Always keep OSS note 49995 - MMIM: Valuation of return deliveries and GR revrsls in mind.
    I think a reversal would even make this situation worse and recommend to leave it as is and clear it via the difference postings and material master price adjustments with MR21.
    It would be good if you could try the reversal in a test system before you do it in a production system.

  • Problem when define Value range for data element

    Dear
    When I define a new data element in ABAP Dictionary, for example, ZDATA_ELEMENT_TEST.
    I use domain ZDOMAIN_TEST.
    (Data type is DEC, the length is 10, and decimals is 2 with sign.)
    Now, I want to restrict that, user can ONLY input the value from 10 to 100.
    From ABAP course and the Internet, I switch to "Value Range" tab, and define 10 for Lower Limit, 100 for Upper Limit in Intervals section.
    And write the simple program.
    PARAMETERS test TYPE ZDATA_ELEMENT_TEST.
    WRITE: test.
    And run it.
    Line: -
    But, there is a problem.
    When I input 200 for test, the program still run and display 200 to screen without any error report or notification. The ABAP runtime system doesn't check the input value.
    I want to config for the domain that can satisfies, if the user input the wrong value (e.g: 200 in the previous case), the program will auto raise the error report, or exception, or sth like that.
    Any help is welcome.

    Hi Hanni,
    Welcome to forum.
    Try to attach key word VALUE CHECK to your PARAMETER statement.
    I.e:
    PARAMETERS test TYPE ZDATA_ELEMENT_TEST VALUE CHECK.
    Note: The addition VALUE CHECK cannot be used together with the additions AS CHECKBOX, RADIOBUTTON, or NO-DISPLAY.
    Regards,

  • Problem figuring out the encoding for filenames with special characters

    I'm not sure if this is the right forum, but this does seem like an OS issue.
    I brought in a lot of mp3 and m3u files from a Windows machine to my new Mac. Some of the mp3 files have accented characters in their names, and these names appear in the m3u files. But if I add the m3u file to iTunes, it fails to recognize these names and so I lose all the mp3's with special characters in their names.
    I tried to fix this by grabbing the files name in Python, but that didn't work either!
    Here's an example: the file's name is "Voilà l'été.mp3"
    The m3u files says "Voil\xe0 l'\xe9t\xe9.mp3" -- this doesn't work.
    From os.listdir(), I get Voila\xcc\x80 l'e\xcc\x81te\xcc\x81.mp3", but sticking it in an m3u files doesn't work either. (Note that here the characters are encoded as unaccented letter + two byte code for the accent).
    When I try these strings from python, e.g. doing os.stat(), they both work; but iTunes doesn't understand any of them!
    I'd appreciate any hints on how to enter these names in the m3u file so that iTunes can read it. Thanks!

    I know nothing about "m3u" files and how iTunes interprets the file names in them, but if it is not a relative/absolute path problem, then how about just putting the raw file names (not the ones with backslash escape) in m3u file? For example, just put
    Voilà l'été.mp3
    in m3u?
    As for Unicode encoding, HFS+ file system uses the "decomposed form" for accented characters. This means, as you write, à is hex "61 cc 80" in UTF-8, i.e., "a + COMBINING GRAVE ACCENT". The pre-composed form is hex "c3 a0". But my experience is that in most cases both pre-composed and decomosed forms work at the user level (not at the lowest file system level).

  • No values found for text with replcement path

    Hi Guys,
      I made a query header to replace with the fiscal year/period dynamically. Query has restricted
      key figures for current month and previous month.
      When I execute this it is showing the current and previous month details but it is not showing the
      fiscal year/period in  query(description) header. It is showing the same technical name like
      &ZFISPER&.
      I have seen other postings in sdn and restricted the compunded characterstics in query.
      If I restrict the fiscal year period in filter it is reflecting in query header but I'm not getting the previous
      month values. Previous month values are showing blank. It is replacing in restricted key figure header
      but not working in query description.
      Can any one through me some light here?
      Thanks
      Prasad

    Hello,
    You cannot place in filter as it will restrict to current month only and hence ur previous month will be blank obviously.
    In  7.O, it is possible to use. replacement path from infoobject or from variable as well!
    variable (current month text variable)may suit in your case.
    or
    You can try some formatting options in teh workbook to achieve this
    or
    You can try to convince client that u will display the current month and previous month in their respective colums instead of Query Description.
    Reg,
    Dhanya

  • DBMS_CRYPTO MD5 hash value does not match 3rd party MD5 free tool

    Hello,
    I am using Oracle Version: 11.2.4.
    I have a problem where the MD5 value from DBMS_CRYPTO does not match the hash value from 3rd party MD5 free tool (MD5 Checksum Calculator 0.0.5.58 or WinMD5Free v1.20) and also the MD5 hash value calculated by an ingestion tool where I am transferring files to. The MD5 hash value that the ingestion tool calculates is the same as the 3rd party MD5 free tools I have. This occurs only on some of the XML files that I generate using XSQL(xmlserialize, xmlagg, xmlelement, etc.) and DBMS_XSLPROCESSOR on a Linux OS. The XML files are transferred from the Unix OS to my Windows 7 OS via filezilla.
    I found a thread on this forum that also had a similar issue so I copy/paste the java functions. They are listed below(both are the same expect for the character set):
    create or replace java source named "MD5_UTF_8" as
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.sql.Clob;
    import java.sql.Blob;
    public class MD5_UTF_8 {
    private static final byte [] hexDigit = {
    '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
    /** Converts a byte array to a hex string
    * Returns an empty string if the byte array is null
    public static final String toHexString(byte [] bytes) {
    if (bytes == null) return new String("");
    StringBuffer buf = new StringBuffer(bytes.length * 2);
    for (int i = 0; i < bytes.length; i++) {
    buf.append((char) hexDigit[((bytes >>> 4) & 0x0F)]);
    buf.append((char) hexDigit[(bytes & 0x0F)]);
    return buf.toString();
    // Convert Hex String to Byte Array
    public static final byte[] byteArrayFromHexString(String str) {
    byte[] bytes = new byte[str.length() / 2];
    for (int i = 0; i < bytes.length; i++)
    bytes = (byte) Integer.parseInt(str.substring(2 * i, 2 * i + 2), 16);
    return bytes;
    public static String getMD5HashFromClob(Clob inhalt) throws Exception{
    MessageDigest algorithm;
    StringBuffer hexString;
    String s = null;
    String salida = null;
    int i;
    byte[] digest;
    String tepFordigest = inhalt.getSubString(1L, (int)inhalt.length());
    try {
    algorithm = MessageDigest.getInstance("MD5_UTF_8");
    algorithm.reset();
    algorithm.update(tepFordigest.getBytes("UTF-8"));
    digest = algorithm.digest();
    s = toHexString(digest);
    } catch (java.security.NoSuchAlgorithmException nsae) {
    s = "No es posible cifrar MD5";
    return s;
    sho err
    alter java source "MD5_UTF_8" compile
    sho err
    CREATE OR REPLACE FUNCTION get_md5_UTF_8_CLOB(inhalt CLOB) RETURN VARCHAR2 DETERMINISTIC
    AS LANGUAGE JAVA
    name 'MD5_UTF_8.getMD5HashFromClob(java.sql.Clob) return java.lang.String';
    create or replace java source named "MD5" as
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.sql.Clob;
    import java.sql.Blob;
    public class MD5 {
    private static final byte [] hexDigit = {
    '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
    /** Converts a byte array to a hex string
    * Returns an empty string if the byte array is null
    public static final String toHexString(byte [] bytes) {
    if (bytes == null) return new String("");
    StringBuffer buf = new StringBuffer(bytes.length * 2);
    for (int i = 0; i < bytes.length; i++) {
    buf.append((char) hexDigit[((bytes >>> 4) & 0x0F)]);
    buf.append((char) hexDigit[(bytes & 0x0F)]);
    return buf.toString();
    // Convert Hex String to Byte Array
    public static final byte[] byteArrayFromHexString(String str) {
    byte[] bytes = new byte[str.length() / 2];
    for (int i = 0; i < bytes.length; i++)
    bytes = (byte) Integer.parseInt(str.substring(2 * i, 2 * i + 2), 16);
    return bytes;
    public static String getMD5HashFromClob(Clob inhalt) throws Exception{
    MessageDigest algorithm;
    StringBuffer hexString;
    String s = null;
    String salida = null;
    int i;
    byte[] digest;
    String tepFordigest = inhalt.getSubString(1L, (int)inhalt.length());
    try {
    algorithm = MessageDigest.getInstance("MD5");
    algorithm.reset();
    algorithm.update(tepFordigest.getBytes());
    digest = algorithm.digest();
    s = toHexString(digest);
    } catch (java.security.NoSuchAlgorithmException nsae) {
    s = "No es posible cifrar MD5";
    return s;
    sho err
    alter java source "MD5" compile
    sho err
    CREATE OR REPLACE FUNCTION get_md5_CLOB(inhalt CLOB) RETURN VARCHAR2 DETERMINISTIC
    AS LANGUAGE JAVA
    name 'MD5.getMD5HashFromClob(java.sql.Clob) return java.lang.String';
    I created the above java functions and added the calls to them in my package to see what hash values they would produce but I am getting "ORA-29532: Java call terminated by uncaught Java exception: java.nio.BufferOverflowException " the XML is about 60mb.
    package code sniippets:
    declare
    l_hash raw(2000);
    l_checksum_md5 varchar2(2000);
    l_checksum_md5_utf_8 varchar2(2000);
    Begin
    t_checksum := lower(RAWTOHEX(dbms_crypto.hash(src=>l_clob,typ=>dbms_crypto.hash_md5)));
    l_hash := get_md5_CLOB (l_clob);
    l_checksum_md5 := lower(rawtohex(l_hash));
    l_hash := get_md5_UTF_8_CLOB (l_clob);
    l_checksum_md5_UTF_8 := lower(rawtohex(l_hash));Please help,
    Thank You in advance
    Don
    Edited by: 972551 on Nov 21, 2012 12:18 PM
    Edited by: sabre150 on Nov 21, 2012 11:06 PM
    Moderator action : added [code ] tags to format properly. In future please add them yourself.

    >
    I have a problem where the MD5 value from DBMS_CRYPTO does not match the hash value from 3rd party MD5 free tool (MD5 Checksum Calculator 0.0.5.58 or WinMD5Free v1.20) and also the MD5 hash value calculated by an ingestion tool where I am transferring files to. The MD5 hash value that the ingestion tool calculates is the same as the 3rd party MD5 free tools I have.
    I found a thread on this forum that also had a similar issue so I copy/paste the java functions.
    >
    And in that thread (Re: MD5 HASH computed from DBMS_CRYPTO does not match .NET MD5 I provided the reason why DBMS_CRYPTO may not match hashes produced by other methodologies.
    I have no idea why you copied and posted all of that Java code the other poster and I provided since code has NOTHING to do with the problem you say you are having. Thte other poster's question was how to write Java code that would produce the same result as DBMS_CRYPTO.
    You said your problem was understanding why DBMS_CRYPTO 'does not match the hash value from 3rd party MD5 free tool ...'. and I answered that in the other forum.
    >
    The Crypto package always converts everything to AL32UTF8 before hashing so if the .NET character set is different the hash will likely be different.
    See DBMS_CRYPTO in the PL/SQL Packages and Types doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_crypto.htm
    If you look at the spec header for the DBMS_CRYPTO package it shows this note:
    -- Prior to encryption, hashing or keyed hashing, CLOB datatype is
    -- converted to AL32UTF8. This allows cryptographic data to be
    -- transferred and understood between databases with different
    -- character sets, across character set changes and between
    -- separate processes (for example, Java programs).
    -- If your 3rd party MD5 free tool (MD5 Checksum Calculator 0.0.5.58 or WinMD5Free v1.20) do not use the AL32UTF8 character set then the hashes will likely be different. You can't modify DBMS_CRYPTO so if the hashes need to match you need to use 3rd party tools that either use the correct character set or can be configured to use the correct character set.
    The problem in the other thread was how to WRITE Java code that uses the correct character set and I showed that OP how to do that.
    So unless you are writing your own Java code all of that code you copied and pasted is useless for your use case.

  • Inventory Valuated Stock Value is not matching with R/3

    Dear Friends,
    we are in a big mess.Needed your help urgently
    We are in sap netweaver 2004s.We are implementing the standard business content only for one of our client.We have loaded the Inventory data into BW by following "How to handle the Inventory Management" document.
    We have loaded the inventory data into 0IC_C03 using standard transferrules and update rules.
    The sequence we followed as:
    IN R/3
    Filled the setup tables for during the posting free time(non-business hours)
    Stock intialization
    Material Movements
    Evaluations
    IN BW
    We had loaded the data into only 0IC_C03 cube using standard update rules(no changes done)
    2LIS_03_BX-Generate intial stock with no marker update unchecked
    2LIS_03_BF-Full update with no marker update checked
    2LIS_03_UM-Full update with no marker update checked
    When we compared the data between R/3 and BW they are many materials "Valuated Stock Value" is not matching with R/3.For some materials value is matching with R/3 but for some other materials its not matching with R/3.Some materials are showing the negative figures for Valuated Stock Value.
    But the valuated quantity value is exactly matching with R/3 for all the materials.
    We have tryed to many ways in the past 10 days to find out the solution.We have followd the notes 589024 and implemented the formula.But no luck so far.
    Needed your help..Any suggestions would be highly appreciated.
    Please help us with your inputs.
    Thanks in advance.
    Regards
    Soujanya

    Hi Sudheer,
    No We haven't implemented this note.
    In start routine we already have the first start routine in the note.
    INSERT BEGIN
      loop at DATA_PACKAGE.
        if DATA_PACKAGE-stockcat eq 'V' or
           DATA_PACKAGE-stocktype eq 'V'.
          delete DATA_PACKAGE.
        endif.
      endloop.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    INSERT END
    We should comment the above start routine and follow the remaining section as below?
    ==========================================================
    Notes:
    However, if you want a report of these consumption values, proceed as follows:
    1. Do not use the start routine listed above.
    2. Create two new key figures (cumulative values):
       1. Material consumption value (ZVERWERT, for example) with unit 0BASE_UOM
       2. Material consumption quantity (ZVERMENGE, for example) with unit 0LOC_CURRCY
    3. Include these in the InfoCube definition.
    4. Update these key figures from 2LIS_03_BF as follows:
    -> material consumption value:
    IF ( COMM_STRUCTURE-processkey EQ '100'   "Other Issues
        OR COMM_STRUCTURE-processkey EQ '101'   "Returns / Vendor
        OR COMM_STRUCTURE-processkey EQ '104'   "Material Transfer
        OR COMM_STRUCTURE-processkey EQ '105'   "Stock Adjustment InvD
        OR COMM_STRUCTURE-processkey EQ '106'   "Stock Adjustment Other
        OR COMM_STRUCTURE-processkey EQ '110' ) "Issues from Stock
                                                "Transfers
       AND COMM_STRUCTURE-bwapplnm EQ 'MM'
    only movements which are relevant for stock control
       AND COMM_STRUCTURE-cppvlc <> 0
       AND COMM_STRUCTURE-stockcat EQ 'V'
       AND COMM_STRUCUTRE-stocktype EQ 'V'.
    result value of the routine
        RESULT = -1 * COMM_STRUCTURE-cppvlc.
    if the returncode is zero, the result will be updated
        RETURNCODE = 0.
    ELSEIF ( COMM_STRUCTURE-processkey EQ '000'   "Other Receipts
        OR COMM_STRUCTURE-processkey EQ '001'   "Goods Receipt/Vendor
        OR COMM_STRUCTURE-processkey EQ '004'   "Material Transfer/"Receipt
        OR COMM_STRUCTURE-processkey EQ '005'   "Stock Adjustment InvD
        OR COMM_STRUCTURE-processkey EQ '006'   "Stock Adjustment Other
        OR COMM_STRUCTURE-processkey EQ '010' ) "Receipt from Stock
                                                "Transfer
    only movements which are relevant for stock control
       AND COMM_STRUCTURE-cppvlc <> 0
       AND COMM_STRUCTURE-stockcat EQ 'V'
       AND COMM_STRUCUTRE-stocktype EQ 'V'.
    result value of the routine
        RESULT = COMM_STRUCTURE-cppvlc.
    if the returncode is zero, the result will be updated
        RETURNCODE = 0.
      ELSE.
    if the returncode is not equal zero, the result will not be updated
        RETURNCODE = 4.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0..
    -> material consumption quantity:
    The code is the same, but COMM_STRUCTURE-cpquabu replaces COMM_STRUCTURE-cppvlc.
    -> The characteristic value calculation is the same for the other key figures.
    5. Update these key figures from the 2LIS_03_UM in the same way.
    =======================================================

  • Problem in file sender adapter for newline character

    Hi All,
         I'm trying to read a file of only one record with the following fields.
    Name
    Age
    Place
    <b>Each field is seperated by a new line</b> which is the cause of the problem.
    <b>The problem is the value 'nl' for x.fieldSeperator is not been recognised in file sender adapter.</b>
    The adapter creates a new record (new XML) for each individual field seperated by new line.
    <b>I've tried even with the corresponding hexadecimal values '0x0a' and '0x0d'.</b>
    Looking for some help.
    Thanks,
    Joe.

    Hi Shabarish,
            Thanks for your reply. But I tried that too already... It also didn't work..
    File adapter is successful... But it generates seperate records for each fields that's wat the prob is..
    Thanks,
    Joe.

  • Problem in updating values in hashmap

    I have a hashmap(key,value), where key is a String and value is an ArrayList. It has following values:
    {500, [GRES]}
    {600, [GRES]}
    Now i check for the key 500 in the hashmap and want to update the value ArrayList for it with [GRES,TOEC].
    For doing this i have written code as follows:
    if(hashmap.containsKey("500")) {
        ArrayList hashDoc = (ArrayList) hashmap.get(500);
        hashDoc.add("TOEC");
        hashmap.put(500,hashDoc);
    }The problem i am facing with this code is that the value for key 600 is also changing to [GRES,TOEC], which i don't want.
    I just want to update the value for key 500.
    What should i do?

    Though there does not seem any problem with your code, I tried to simulate the same.
      public class HashMapDemo {
         public static void main(String[] args) {
              ArrayList l1 = new ArrayList();
              l1.add("1");
              ArrayList l2 = new ArrayList();
              l2.add("2");
              HashMap x = new HashMap();
              x.put("500", l1);
              x.put("600", l2);
              if(x.containsKey("500")) {
                   ArrayList tem = (ArrayList)x.get("500");
                   tem.add("1.2");     
                   //x.put("500", tem);
              System.out.println(l1);
              System.out.println(l2);
    }OutPut:
    [1, 1.2]
    [2]

Maybe you are looking for

  • Error getting application exception message from client EJB 3

    Hi, somebody nkow what is the error? I have this simple session bean deploy in a jboss 4.0.5 GA application server My interface: package server.ejb.usuarios; import javax.ejb.Remote; @Remote public interface Prueba {      public void getError() throw

  • 1.1 bug: Import window from Canon XT not sorted by date correclty

    This was in 1.0.1 as well. When I first plug my XT in and it goes to import the images, they are not sorted correctly. Clicking on the thumbnail will show that the image dimensions and date/time are that of the the thumbnail, and not the original ima

  • Lower Case in Elements 9?

    My text is stuck in Caps -- I can't get lowercase text.  I can't figure out how to reset my preferences.

  • Indesign & Files on Server

    We have an interesting situation. With files stored on a Windows-based server and users on Macs, we have been able to access the same file from multiple machines at the same time. I thought this was prohibited by the IDLK process. Has anyone encounte

  • Any way to avoid large dbtmp files...

    Hi, I'm fairly new to InDesign and I'm creating a vbscript to add text to linked textframes, styling by applying stylesheets as I go. InDesign is producing a massive dbtmp file as the script runs. The file appears to be so big as it is storing undo l