Bcd_baddata during interfacing...

Hi,
I am receiving a value NETWR in my RFC in 4.6 from VBRP table from ECC 6.0 via PI.
The value is perfectly passed from PI response as 17866.80 to RFC in 4.6.
But in 4.6 I receive it as 1786680<3.03.
Same is the issue with other currency fields NTGEW and BRGEW.
where as other currency field values are passed properly such as KZWI1 to KZWI6. (CURR 13, 2)
The currency NETWR field is 15, 2 and that is having some issue !!! Bcos of this my calculation fails and I get a dump BCD_BADDATA.
What cud be the problem ?
Hope i am clear.
thanks
Edited by: Vijay Babu Dudla on Jan 1, 2009 12:38 AM

Hey Rob,
I am not invoking any BDC with this data...It is a simple Remote function call and I receive back the needed data from ECC 6.0 via PI. Leave the manipulation part, but in debugging mode when I see my internal table, I see only such weird values.
Find below my code snippet..
TYPES: BEGIN OF i_vbrp,
        vbeln            LIKE vbrp-vbeln,
        posnr            LIKE vbrp-posnr,
        fkimg            LIKE vbrp-fkimg,
        ntgew            LIKE vbrp-ntgew,
        brgew            LIKE vbrp-brgew,
        netwr            LIKE vbrp-netwr,
        kzwi1            LIKE vbrp-kzwi1,
        kzwi2            LIKE vbrp-kzwi2,
        kzwi3            LIKE vbrp-kzwi3,
       END OF i_vbrp.
DATA:  vbrp_itab  TYPE TABLE OF i_vbrp WITH HEADER LINE.
CALL FUNCTION 'ZRFC_FM' DESTINATION 'ZRFC_DEST'
      TABLES
          INPUT            = XX_ITAB
          VBRP            = vbrp_itab
      EXCEPTIONS
          SYSTEM_FAILURE = 1 MESSAGE l_msg
          COMMUNICATION_FAILURE = 2 MESSAGE l_msg.
    COMMIT WORK.
INPUT passes some value to ECC and based on that I get back data in vbrp_itab.
So here is where I put a breakpoint and check and I see these weird values. I also checked the XML response from PI to 4.6 RFC and the values are perfect as shown below..
<vbrp>
- <item>
  <VBELN>0910000203</VBELN>
  <POSNR>000001</POSNR>
  <FKIMG>4.0</FKIMG>
  <NTGEW>11265.12</NTGEW>
  <BRGEW>11265.12</BRGEW>
  <NETWR>4224.42</NETWR>
  <KZWI1>4224.42</KZWI1>
  <KZWI2>4224.42</KZWI2>
  <KZWI3>4192.56</KZWI3>
  </item>
</VBRP>
But what I get is
FKIMG = 4.000 (this is fine, rest below are jumbled !! )
NTGEW = 1126512.0<0
BRGEW = 11265120<.4<4
NETWR = 422442<3.03
I have given all the info I have. Hope this helps you to analyze better.
thanks

Similar Messages

  • Mapping tables during interfacing...

    Hi,
    Our team has to select option from mapping tables location while working on interfacig object development.
    We are using Biztalk as middleware.
    Depending on your past xperiences I would like to have your suggestions if the mapping table should reside in biztalk or in R/3.
    There are pros and cons to both of this..
    If we have some mapping tables in r/3 and some in biztalk again there will be maintainence problem. But if I we keep all the mapping tables in Biztalk it will be a big overhead because then even for r/3 to r/3 interfacing we would have to go through biztalk. But then during upgradation it won't be a problem because now the mapping tabs are all in biztalk..
    Tushar.

    Hi Tushar,
       I see following benifits in storing mapping tables on R3 -
       1. R3 being the bigger system, you will have more information available for mapping in R3. E.g. if a mapping depends on some attribute of data like "material type" you have that information avialable in R3 whereas you need to have a process to pull this information into Biztalk from R3 and keep it in sync.
       2. You can reuse the mapping logic for other interfaces if coded correctly, e.g. function modules for mapping.
       3. Tomorrow if biztalk is replaced with XI, there is less impact because you need not worry about mapping logic which is alreay there in R3.
      Lastly I don't see any real reason why it should have an y impact on upgrade because you are going to use tables in customer name range. It only increases the number of tables in customer name range. Usually people calculate the cost of an upgrade based on level of customization done in the system and that is genrally linked to number of objects in customer name range. But If think pragmatically there is no impact on upgrade cost because these kind of customization do not affect upgrade.
    Cheers,
    Sanjeev

  • Conditions during interface determination (urgent)

    Hi all,
    well i am using <b>conditions</b> during <b>Interface Determination</b> and according to the result of the condition a mapping program is triggered.
    Now i am using <b>XPath.</b>
    In my file i have a field called amount. The total of the amount field is stored in the trailer in a field called total.
    Is there anyway that using XPath i can check if the sum of the amount field that r in the file is equal to the value in the total field?
    a sample file would be as shown below ...
    01xxxxxxxxxxxxxxxxxx -
    header
    02xxxxxxx10000xxxxxx ---
    02xxxxxxx20000xxxxxx   | body
    02xxxxxxx10000xxxxxx ---
    03xxx40000xxxxxxxxxx -
    trailer
    eg.
    the sum of the amount field in the body (100002000010000) should be compared to that
    in the trailer (40000) [the values in the amount field
    will vary so does the total accordingly ]
    can anybody suggect a solution ??
    Regards,
    ShabZ

    Hi Frank,
    Would xpath functions work, eg. compare , sum etc ?
    the twist in the scenario is that if the validations fail then a output say A has to be generated and if its a success a different one say B has to be generated. And accordingly are to be sent to two different folders (2 diff. Comm. Channels).
    Thanks,
    ShabZ

  • Performance of EHP4 Oil and Gas instance during interface loads

    I have EHP4 running usage type Oil and Gas running on unix 64 bit.
    I have noticed the swap space usage increasing in the OS level.
    How can I find which processes are consuming swap space and not releasing the swap space.
    Where can I find out which user or which process is consuming swap space?
    Thanks
    Weyland Y.

    Here is how to monitor memory usage within the SAP instance.
    You can use transaction SM04 -> Goto -> Memory to see memory used per user. And you can use transaction SM50 -> double click on a running process to see the actual memory used by that process.
    Besides that, you can use transaction ST02 to see the overall memory used (Extended and Heap memory are the most interesting):
    SAP Memory      Curr.Use % CurUse[KB] MaxUse[KB]
    Roll area            0.06        160     13,520
    Page area            0.02         56     61,272
    Extended memory     12.61    129,024    156,672
    Heap memory                        0          0
    Cheers Michael

  • Unale to get XSLT object in interface mapping

    Hi
    i had imported the zip file contaning xslt file for mapping in Import Archives .But during interface mapping, integration builder is not able to show me the created import archive object.
    Please Help me out.

    Hai Mitesh,
    After u r importing a <b>Zip</b> file ( which the zip file contains (<b>.xsl</b> extension...)),  make sure in the interface mapping to select xsl type and clik F4 to Select the zip file in the mapping program... and if u doesnt see ...
    try by clicking Environment --> Cache notifications and click refresh for some secs... then proceed with above steps u will <b>definitely</b> get...
    Regards,
    sridhar reddy . k

  • Is it possible to use External Defiantion in Interface Mapping?

    Hi Experts,
    Is it possible to use External defination in Interface mapping? I used this ED in Message Mapping but I am unable to use the same ED for Interface Mapping?
    In order to create Interface Mapping I need to create Message Interface and use it in Interface Mappiong?
    Thanks
    Rajeev

    Hi Rajeev,
         External definitions is for importing avaliable external DTD,XSD or WSDLs instead of creating them in XI environment maually by creating elements under datatypes,assigning them too Message types and Message Interfaces etc.Where as you fo for Imported Archives to import externally done Mapping programs like JAVA,ABAP and  XSLT mappings but not define Mesage interfaces.
    So you can create message interface import appropriate External definition into it.Later use it during interface mapping.Hope you understand it.
    Thanks,
    Ram.

  • No interfaces listed for ECC Business System in PI 7.1 for intrf. Detrm

    Hi all,
    I have come across this situation earlier, did some settings in SLD ..tech system...(Don rembr it nw....)
    I am not able to see the list of interfaces for an ECC Bus.System during Interface determination,
    I manually have to key in the name of the BAPI instead of the values appearing in the value list....
    I am sure that the is something missing while havin created the BS and TS in the SLD,
    Can someone guide me what my approach would be.
    Replies much appreciated. Thanks

    Hi
    Please assign the software component(Product) in which you have imported your BAPI in IR to your
    Business System in SLD.
    Then you can see all the interfaces of that software component in your Business System(ECC) in ID.
    So just add the software component to your Business System in SLD then you can get the interface in
    ID.
    Check the following link for the same issue.
    Re: No interface Idoc in Business system Receiver
    Thanks
    Prasad Nemalikanti

  • Complex interface determination fails for 0-N mappings

    We have a mapping question for the following scenario in PI 7.1: One message needs to be mapped into two target structures, it comes from the same sender and goes to same receiver. We need to call two different BAPI in the same SAP end system simultaneously.
    This is set up in one interface determination (same sender & receiver) where we use two different operation mappings with different receiver interface names. If the mapping have multiplicity 1, everything works fine and the message gets mapped to both receiver interfaces simultaneously. But, when the multiplicity of the mappings is 0-N (split mapping), then we get error message during interface determination phase:
    Error when determining the inbound interface: Inbound interface found several times (for same sender and receiver) for the outbound interface http://sending/namespace.sndInterfaceName
    How can we set up our scenario with two 0-N mappings without getting error message? One option would be combining two mappings in one, but this can not work in our case because of the high complexity.
    Any comments appreciated. Thanks, Sanjay.
    Edited by: Sanjay Gupta on Oct 21, 2010 10:50 PM

    Thanks for taking the time to look into this. See my comments below.
    1. Are you using multi mapping? Source Message type 1 and Traget message types 2 (added from messages tab in the mapping)
    We have two mappings, both create only a single output type, however, they are split mappings, meaning the mapping result message multiplicity is 0-N. So the answer is NO, this are no multi mappings
    2. At any time, can both the target messages be created or are they mutually exclusive?
    both targets will always be created, they are NOT mutually exclusive
    3. With in each message type that gets generated on the target side, is the occurance 1..1 or 1..unbounded?
    Don't fully get the question, but I assume you ask if the mapping is defined as a 1:1 or 1..N mapping. The latter is true.
    4. Is there any condition in the interface determination?
    Answer is No.
    5. How many operation mappings did you design.
    We have two operation mappings, each containing a different mapping to the different receiver interface type.
    Being said that, the ideal way should be, You need to create only one message mapping by adding multiple message types on the target side. I fully understand and agree with this statement, but due to the complexity of the mapping we need to separate it out into two mappings.
    It is confusing, that the described scenario works if the multiplicity of the mapping objects used is 1, but as soon as the multiplicity is 0-N (when using a split mapping instead), we start getting the error message.

  • Interface Determination causing issue in Receiver Determination

    Hi
    I am having an issue with interface and receiver determination as follows:
    - Inbound message may be sent to two receivers.
    - Message gets sent to first receiver, fails during interface determination. There are multiple inbound interfaces found based on a set of XPATH conditions. This creates an error 'Inbound interface found more than once for outbound interface '. That is itself is <b>not </b>the issue.
    - Issue is that the message is stopped from going to the other receiver even if there are no issues in the interface determination for that receiver.
    Is there a way to resolve this? Appreciate any help. Thx, Duncan

    Again, thanks for the replies.
    <b>MONI for RD</b>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">
      <Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N</Trace>
      <Trace level="1" type="T">Cache Content is up to date</Trace>
      <Trace level="2" type="T">Start without given receiver</Trace>
      <Trace level="2" type="T">Classic Receiver Determination via Rules.</Trace>
      <Trace level="2" type="T">Check conditions for rule line no. 1</Trace>
      <Trace level="3" type="T">...create rule engine</Trace>
      <Trace level="3" type="T">...call rule engine for Condition %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice")% EX and %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice/deliveryNote/referenceIdentification")% CE COSTCENTRE or %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice")% EX and %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice/deliveryNote/referenceIdentification")% CE INTERPLANT or %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice")% EX and %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice/deliveryNote/referenceIdentification")% CE INTERPLANT_ONESTEP or %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice")% EX and %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice/deliveryNote/referenceIdentification")% CE INTRAPLANT or %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice")% EX and %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice/deliveryNote/referenceIdentification")% CE INTRAPLANT_ONESTEP or %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:receivingAdvice")% EX or %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:inventoryActivityOrInventoryStatus")% EX</Trace>
      <Trace level="2" type="T">......extracting (new) for Extractor: XP /p2:despatchAdvice</Trace>
      <Trace level="2" type="T">......extracting values found: 0</Trace>
      <Trace level="2" type="T">......extracting (new) for Extractor: XP /p2:receivingAdvice</Trace>
      <Trace level="2" type="T">......extracting values found: 1</Trace>
      <Trace level="2" type="T">...valid Receiver with Condition: - GLR430</Trace>
      <Trace level="2" type="T">Check conditions for rule line no. 2</Trace>
      <Trace level="3" type="T">...call rule engine for Condition %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice")% EX and %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice/deliveryNote/referenceIdentification")% NE COSTCENTRE and %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice/deliveryNote/referenceIdentification")% NE INTERPLANT and %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice/deliveryNote/referenceIdentification")% NE INTERPLANT_ONESTEP and %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice/deliveryNote/referenceIdentification")% NE INTRAPLANT and %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:despatchAdvice/deliveryNote/referenceIdentification")% NE INTRAPLANT_ONESTEP</Trace>
      <Trace level="2" type="T">...invalid Receiver: P_3PL_XML_ME_ODTH - despatchAdviceToE1EDT20</Trace>
      <Trace level="2" type="T">Check conditions for rule line no. 3</Trace>
      <Trace level="2" type="T">...valid Receiver w/o Condition: P_3PL_XML_ME_ODTH - S_HTTP</Trace>
      <Trace level="2" type="T">No Receiver found behaviour: 0</Trace>
      <Trace level="2" type="T">Number of Receivers:2</Trace>
      </Trace>
      </Trace>
      </Trace>
    Here, you see that both receivers are found.
    <b>MONI for ID</b>
    <Trace level="1" type="B" name="PLSRV_INTERFACE_DETERMINATION" />
    - <!--  ************************************
      -->
      <Trace level="1" type="Timestamp">2007-02-26T20:06:49Z CET Start of pipeline service processing PLSRVID= PLSRV_INTERFACE_DETERMINATION</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
      <Trace level="3" type="T">Calling pipeline service: PLSRV_INTERFACE_DETERMINATION</Trace>
      <Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_INTERFACE_DETERMINATION</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
      <Trace level="3" type="T">P_CLASS = CL_ID_PLSRV</Trace>
      <Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
      <Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
      <Trace level="3" type="T">FL_LOG =</Trace>
      <Trace level="3" type="T">FL_DUMMY = 0</Trace>
      <Trace level="3" type="T" />
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
    - <!--  ************************************
      -->
    - <Trace level="1" type="B" name="CL_ID_PLSRV-ENTER_PLSRV">
      <Trace level="1" type="T">I N T E R F A C E - D E T E R M I N A T I O N</Trace>
      <Trace level="1" type="T">Cache Content is up to date</Trace>
      <Trace level="2" type="T">Check conditions for (Inb: Party Srvc If) GLR430 WMMBXY.WMMBID01</Trace>
      <Trace level="3" type="T">...create rule engine</Trace>
      <Trace level="3" type="T">...call rule engine for Condition%CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p1:inventoryActivityOrInventoryStatus/inventoryDocumentType")% CE INVENTORY_STATUS</Trace>
      <Trace level="2" type="T">......extracting (new) for Extractor: XP /p1:inventoryActivityOrInventoryStatus/inventoryDocumentType</Trace>
      <Trace level="2" type="T">......extracting values found: 0</Trace>
      <Trace level="2" type="T">...invalid InbIf: WMMBXY.WMMBID01</Trace>
      <Trace level="2" type="T">Check conditions for (Inb: Party Srvc If) GLR430 WMMBXY.WMMBID01</Trace>
      <Trace level="3" type="T">...call rule engine for Condition%CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p1:inventoryActivityOrInventoryStatus/inventoryDocumentType")% CE INVENTORY_ACTIVITY</Trace>
      <Trace level="2" type="T">......extracting (new) for Extractor: XP /p1:inventoryActivityOrInventoryStatus/inventoryDocumentType</Trace>
      <Trace level="2" type="T">......extracting values found: 0</Trace>
      <Trace level="2" type="T">...invalid InbIf: WMMBXY.WMMBID01</Trace>
      <Trace level="2" type="T">Check conditions for (Inb: Party Srvc If) GLR430 WMMBXY.WMMBID01</Trace>
      <Trace level="3" type="T">...call rule engine for Condition%CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:receivingAdvice/receivingAdviceItemContainmentLineItem/purchaseOrder/documentReference/uniqueCreatorIdentification")% EX</Trace>
      <Trace level="2" type="T">......extracting (new) for Extractor: XP /p2:receivingAdvice/receivingAdviceItemContainmentLineItem/purchaseOrder/documentReference/uniqueCreatorIdentification</Trace>
      <Trace level="2" type="T">......extracting values found: 2</Trace>
      <Trace level="2" type="T">...valid InbIf with Condition: WMMBXY.WMMBID01</Trace>
      <Trace level="2" type="T">Check conditions for (Inb: Party Srvc If) GLR430 WMMBXY.WMMBID01</Trace>
      <Trace level="3" type="T">...call rule engine for Condition%CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p2:receivingAdvice/carrier/additionalPartyIdentification/additionalPartyIdentificationValue")% CE SHUTTLE</Trace>
      <Trace level="2" type="T">......extracting (new) for Extractor: XP /p2:receivingAdvice/carrier/additionalPartyIdentification/additionalPartyIdentificationValue</Trace>
      <Trace level="2" type="T">......extracting values found: 1</Trace>
      <Trace level="2" type="T">...valid InbIf with Condition: WMMBXY.WMMBID01</Trace>
      </Trace>
      </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
      <Trace level="3" type="T">Persisting message after plsrv call</Trace>
      <Trace level="3" type="T">Message-Version = 002</Trace>
      <Trace level="3" type="T">Message version 002</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </Trace>
      <Trace level="3" type="System_Error">Error exception return from pipeline processing!</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">Persisting message Status = 014</Trace>
      <Trace level="3" type="T">Message version 003</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </SAP:Trace>
    Here, you see that the ID runs for the first receiver. It hits an error because two conditions on the ID for the first receiver are satisfied. However, it then stops rather than allow the processing for the other receiver to continue.
    Any ideas? Thx, Duncan

  • Using the RB_Split feature in Interface Determination

    hi,
    I have a 1:N file to IDOC Scenario where I need to do multi-mapping using RB_Split in Interface Determination instead of using CCBPM.
    I had done the repository part, but during interface determination, after I select the RB_SPLIT feature, I get "no objects found" when I try to select FIELD_LABEL_SPLTMAP.
    Please help!
    regards,
    Prashanth

    Hi Prashanth,
    Pls check this from SAP help & verify..
    <i>Activities
    To execute a mapping-based message split, perform the following steps:
    Integration Repository: Define the multi-mapping (see Developing Multi-Mappings for Message Splits).
           1.      Integration Directory: Define the interface determination.
    Note the following:
         The outbound interface of the multi-mapping must be entered as the sender interface in the key of the interface determination.
         The interface determination type must be set to Enhanced.
         Select the multi-mapping you defined previously from the Integration Repository.</i>
    http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/frameset.htm
    Thanks,
    Renjith

  • Whitespaces in XML during message mapping not preserved

    I use a twostep mapping process during Interface Mapping. The first one is the standard message mapping and the second one is a Java mapping. However, during the second step, the white spaces that should be preserved from the output of the first mapping is not there anymore. I created the XSD and specified in the details that the white spaces should be preserved.
    I need the whitespaces since the output of the second mapping would be used for file content conversion in a file adapter to create the output:
    MSGTYP CONTROLNOMSGID VALUE1VALUE2 VALUEn.....
    Is there any way to preserve the white spaces?
    Thanks!
    Best Regards,
    Rommel Mendoza

    This is odd. Java won't condense/trim the whitespaces unless explicitely told so.
    Where are you seeing the missing whitespaces?
    Please notice that SXMB_MONI won't show the spaces because it uses a HTML representation of the XML (and, by default, HTML condenses the whitespaces). But the actual XML file should have all the spaces (check the XML document source code, through mouse right click over payload, to be sure).
    Also, what are the conversions you do in the java mapping?
    Are you sure the java mapping input has the whitespaces?
    Regards,
    Henrique.

  • ODI 11.1.1.6.4 - Interface failed at SnpsSqlUnload - Unload source data Step

    Hi Experts -
    We are getting error during interface execution in ODI 11.1.1.6.4. We are unable to find the root cause.
    Interface is using customized LKM (LKM SQL to Oracle (SQL*Loader). This LKM is basically connecting to SQLSERVER fetching required rows from the table and creating a LDR file. Post this data from LDR file is then populated in Stage Table (Oracle DB).
    We are getting Error while connecting to SQLSERVER at step - Unload Source Data (It uses: SnpsSqlUnload command)
    This step is connecting to SQLSERVER and LDR file also getting generated.
    Any suggestions?
    Regards,
    Andy
    Error Message in ODI-
    ================================
    java.sql.SQLNonTransientConnectionException: [FMWGEN][SQLServer JDBC Driver]The DBMS returned an unspecified error.  The command code was 224.
    at weblogic.jdbc.sqlserverbase.ddb_.b(Unknown Source)
    at weblogic.jdbc.sqlserverbase.ddb_.a(Unknown Source)
    at weblogic.jdbc.sqlserverbase.ddb9.b(Unknown Source)
    at weblogic.jdbc.sqlserverbase.ddb9.a(Unknown Source)
    at weblogic.jdbc.sqlserver.tds.ddr.c(Unknown Source)
    at weblogic.jdbc.sqlserver.tds.ddr.a(Unknown Source)
    at weblogic.jdbc.sqlserver.tds.ddq.a(Unknown Source)
    at weblogic.jdbc.sqlserver.tds.ddr.a(Unknown Source)
    at weblogic.jdbc.sqlserver.tds.ddr.a(Unknown Source)
    at weblogic.jdbc.sqlserver.ddh.a(Unknown Source)
    at weblogic.jdbc.sqlserverbase.ddcq.k(Unknown Source)
    at weblogic.jdbc.sqlserverbase.dddm.next(Unknown Source)
    at com.sunopsis.dwg.tools.SqlUnload.unloadDataDe(SqlUnload.java:711)
    at com.sunopsis.dwg.tools.SqlUnload.actionExecute(SqlUnload.java:357)
    at com.sunopsis.dwg.function.SnpsFunctionBase.execute(SnpsFunctionBase.java:276)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execIntegratedFunction(SnpSessTaskSql.java:3437)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.executeOdiCommand(SnpSessTaskSql.java:1509)
    at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:44)
    at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:1)
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1889)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:580)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:513)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1073)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$1.run(DefaultAgentTaskExecutor.java:49)
    at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor.executeAgentTask(DefaultAgentTaskExecutor.java:41)
    at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doExecuteAgentTask(TaskExecutorAgentRequestProcessor.java:92)
    at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.process(TaskExecutorAgentRequestProcessor.java:83)
    at oracle.odi.runtime.agent.support.DefaultRuntimeAgent.execute(DefaultRuntimeAgent.java:68)
    at oracle.odi.runtime.agent.servlet.AgentServlet.processRequest(AgentServlet.java:512)
    at oracle.odi.runtime.agent.servlet.AgentServlet.doPost(AgentServlet.java:442)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)

    So in the Operator section on step 6 'Load data into Planning' I get the below.  Fields 4 and 5 aren't even in the Select statement.  Only the mapped fields are showing up here.  My view has two fields that when you sort by in Excel do exactly what I need.  We just can't figure out how to get those fields to/from staging area.  They can't be input into Planning as they would have nowhere to go.  Maybe they can be ignored during dimension build?
    from com.hyperion.odi.common import ODIConstants
    from com.hyperion.odi.connection import HypAppConnectionFactory
    from java.lang import Class
    from java.lang import Boolean
    from java.sql import *
    from java.util import HashMap
    # Get the select statement on the staging area:
    sql= """select   C1_ACCOUNT    "Account",C2_PARENT    "Parent",C3_ALIAS__DEFAULT    "Alias: Default",C4_DATA_STORAGE    "Data Storage",C5_UDA    "UDA",C6_DATA_TYPE    "Data Type",C7_ACCOUNT_TYPE    "Account Type",C8_TIME_BALANCE    "Time Balance",C9_VARIANCE_REPORTING    "Variance Reporting",C10_AGGREGATION__PROJECTS_    "Aggregation (Projects)" from "C$_0Account"  where     (1=1)     """
    srcCx = odiRef.getJDBCConnection("SRC")
    stmt = srcCx.createStatement()
    srcFetchSize=30
    stmt.setFetchSize(srcFetchSize)
    rs = stmt.executeQuery(sql)
    #load the data
    stats = pWriter.loadData(rs)
    #close the database result set, connection
    rs.close()
    stmt.close()

  • Dynamic expression in interface

    Hi All
    Could someone share a way how to create dynamic expression in ODI interface. Eg. I have metadata and want to build case expression on its basis and use it in interface.
    I have tried several possibilities:
    1) Use Java program in mapping expression.
    But during interface steps creation getJDBCConnection() method returns null for both SRC and DEST.
    Is there is a way how to connect to database?
    2) Generate expression in procedure and use it in interface
    Is there is a way how to pass string from procedure to interface?
    3) Use variable to generate expression
    Pure SQL is not enough to generate my expression, I need cycles, ifs etc.
    4) Use special IKM which replace some substitution symbols with generated expression.
    Well if there is no other choise I'll pick this up but don't want to have additional special KM.
    Could someone propose other solution or workaround for listed?
    Many thanks in advance!
    Oleg Ivanov

    Dev -
    I followed this thread and thought I'll try it in my end. Did the following.
    1)Created a procedure and pasted your code (changed the table name to mine)
    2)Created an interface and connected my source and target. In one of the target columns I put <@=result@>
    3)created a package and brought procedure and interface.
    When I executed the procedure ran successfully but failed at the interface level. I am getting the following error message.
    17008 : null : java.sql.SQLException: Closed Connection
    java.sql.SQLException: Closed Connection
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
         at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:753)
         at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:670)
         at com.sunopsis.sql.SnpsQuery.a(SnpsQuery.java)
         at com.sunopsis.sql.SnpsQuery.a(SnpsQuery.java)
         at com.sunopsis.sql.SnpsQuery.updateExecStatement(SnpsQuery.java)
         at com.sunopsis.sql.SnpsQuery.executeQuery(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execCollOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.j(e.java)
         at com.sunopsis.dwg.cmd.h.z(h.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)

  • Interface Issue

    Hi,
    We are interfacing data from txt file to the ECC Unicode system.
    In text file charecters are looks like KÏÂÕ 0,8ÌÌ ÏÐÎÇÐÀ×ÍÛÉ and same charectrers we are able to see in the document which posted by the interface.
    However, when we upload same file in 46C Non unicode MDMP system, I can see these charectes to the equivalent Russian Charecters ПВХ 0,8ММ ПРОЗРАЧНЫЙ if I change my SAP GUI settings to Cyrillic.
    Changing SAP GUI setting to Cyrillic in ECC is not possible as system is Unicode.
    Is there any way by which charecters KÏÂÕ 0,8ÌÌ ÏÐÎÇÐÀ×ÍÛÉ will be converted to ПВХ 0,8ММ ПРОЗРАЧНЫЙ during interface of the file.
    Regards
    Rahul

    Hi Nils,
    The File is uploaded from backend (.TXT file).
    We are uploading file using open dataset command in program.
    I tried to upolad same file using RU login, results are as follows.
    Original Charecters in file: KÏÂÕ 0,8ÌÌ ÏÐÎÇÐÀ×ÍÛÉ
    Charecters uploaded in ECC System (RU Login): ЯТе 0,8ЬЬ ЯаЮЧаРзЭлЩ
    Correct expected Russian charecters are: ПВХ 0,8ММ ПРОЗРАЧНЫЙ (these charecters can be seen in 46C system with cyrillic settings in GUI)
    Regards
    Rahul

  • Synchronize / interface 2 SAP HRM systems.

    Dear community, here at a customer in NL we would like to keep 2 seperate SAP HRM systems in sync. One of these HR systems is the source system and is called the parent. But there are a few infotypes where the child system is the source, this is related to Time infotypes. Both systems are equal in terms of release and patch level.
    My questions are:
    -Does anyone of you have experience with interfacing in a simular setup? If yes please let me know what your experiences were.
    -What type of interface would you suggest, if FTP is the method to send data across.
    (and what would you recommend, e.g. if FTP was not the mandatory method)
    -How to keep control ? How can we make sure all new and changed data is send and received correct in the child system?
    Much apprieciated if you can provide some input for this case!
    Many thanks,

    Hi,
    This kind integration is done using native SAP integration mechanism ALE "Application Link Enabling".
    It allows seamlessly integrate SAP systems.
    Please check SDN page about it: http://www.sdn.sap.com/irj/sdn/ale
    For your case there is a special scenario for integration of 2 SAP HR systems: HR Master data distribution.
    This document shed more light on it: http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEHR/CABFAALEHR_ALE_VERT.pdf
    Regarding your questions:
    -Does anyone of you have experience with interfacing in a simular setup? If yes please let me know what your experiences were.
    Yes, this is well known master data distribution scenario managed with ALE.
    -What type of interface would you suggest, if FTP is the method to send data across.
    (and what would you recommend, e.g. if FTP was not the mandatory method)
    This is standard SAP interface, no addition development is need if you use only standard infotypes and fields.
    -How to keep control ? How can we make sure all new and changed data is send and received correct in the child system?
    During interface set up you define what system is master for what infotypes, then these settings are used during data exchange. All changes are registered with change pointers what makes sure that all necessary changes are interfaced.
    Cheers

Maybe you are looking for

  • Saving files to a hard drive connected to my Airport Extreme

    I just upgraded to Leopard. I am unable to use Backup v 3.1.2 to save files to a hard drive i have connected to my Airport Extreme. Previously, using Tiger i was able to perform this task. I use Finder and see my airport express network and my extern

  • JDBC sender Adapter consistency and Transaction level - URGENT

    Hi, We are using the JDBC adapter to read data from an Oracle view. The view joins two tables on their keys where flag = 0. The JDBC adapter carries out the select and then updates the selected rows with flag = 1. The transaction level used is the de

  • Can I get a wired computer to play via airtunes?

    I have an airport express connected to m stereo to play airtunes which works great with my laptop. I would like my eMac which is connected to the same ethernet hub as the airport express to play through airtunes. Is this possible or will airtunes onl

  • User-Exit/Program-Exit/BADI/BTE Search

    Guys, Download the program  <a href="http://www.sapfans.com/forums/viewtopic.php?t=236062">here</a> A challenge for the experts: can you make it better???

  • Satellite Pro L300-152 Driver Update problems.

    Hi there, I'm new to all this and just about managed to find my way to this website. I bought a Satellite as above brand new from PC World Business yesterday 22/10/08. I had horrendous problems installing multiple Windows Updates which I eventually h