Pipeline component for replace the values in send pipeline 837P

hi friends,
I am working in 837P splitting the claims.When i am sending using sendpipe line.
I need  pass the 2010bb loop NM103 and NM109 defaluts values,
ex: NM103=100,NM109=0123456789
like can you help me write pipeline component to manipulate the XPath and replace the default values.
THanks
hk

you will need to extract data from the message coming on your receive location.
You can create two diffferent function which can do your task.
The first one is to get the stream from the message and create a seekable one to be used later on.
private Stream GetMessageStream(Microsoft.BizTalk.Message.Interop.IBaseMessage msg, Microsoft.BizTalk.Component.Interop.IPipelineContext context)
   Stream stream = msg.BodyPart.GetOriginalDataStream();
    if (!stream.CanSeek)
        ReadOnlySeekableStream readStream = new ReadOnlySeekableStream(stream);
        if (context != null)
            context.ResourceTracker.AddResource(readStream);
        msg.BodyPart.Data = readStream;
        stream = readStream;
    return stream;
The second method is the one that would perform the data extraction as follows.
private string ExtractDataValueXPath(Stream MsgStream, string MsgXPath)
    XmlReaderSettings settings = new XmlReaderSettings()
      ConformanceLevel = ConformanceLevel.Document,
        IgnoreWhitespace = true,
        ValidationType = ValidationType.None,
        IgnoreProcessingInstructions = true,
        IgnoreComments = true,
        CloseInput = false
    MsgStream.Seek(0, SeekOrigin.Begin);
    XmlReader reader = XmlReader.Create(MsgStream, settings);
    string strValue = null;
    if (!string.IsNullOrEmpty(MsgXPath))
        if (reader.Read())
            XPathDocument xPathDoc = new XPathDocument(reader);
            XPathNavigator xNavigator = xPathDoc.CreateNavigator();
            XPathNodeIterator xNodes = xNavigator.Select(MsgXPath);
            if (xNodes.Count != 0 && xNodes.MoveNext())
                strValue = xNodes.Current.Value;
            MsgStream.Seek(0, SeekOrigin.Begin);
    return strValue;
You can update the node with the Xpath of the element.
Thanks
Abhishek

Similar Messages

  • Replace the value 733.534 in reporting.

    Hi Experts,
    I am facing one problem in reporting. I am in BI 7.0 environment.
    Reports are export to EP everthing is good,
    Issue:
    one column displaying value like -733.534
    my requirement is don't display this value istead of this should display same flag or colour ....
    Root cause:
    this fields is calculated in the reporting level, so this is not coming from any data target.
    calculation: Days from two different Dates.
    eg; offer given date - offer excepted date = Days( resulet)
    I calculated by farmula with replacement path.
    this -733.534 value is displaying only when any one of the two dates are missed then this value will displaying.
    if both dates are in reporting calculated value is displyaing right. (currect result).
    can any help me how to replace the value -733.534 by any flag or colour.
    Regards
    Vijay

    Hi,
    You can achieve this by using exceptions in Query desigenr.you can put some colours for those values.
    Let me know if you have any issues.
    Reg
    Pra

  • Report for the cost for replacing the defective goods free of cost

    hi guru's,
      iam having the qury that iwant to create a report for the free of cost .For the senario that company wants the report for replacing the defective goods free of cost .pls help me out .IN SD module
    Edited by: joe mm on May 13, 2008 3:35 PM

    Dear joe
    I am sure, for giving free of cost, you should be having different document types like sale order for free goods, billing with no value.  So thru VF05, by selecting the billing document type, you can generate a report.
    thanks
    G. Lakshmipathi

  • How to replace the values in variable selection Screen urgent plz

    Hi all,
    I am having a requirement. where the user need pass the value in the variable, Here v r having option like '1' and '2' which represent 'month' and 'ytd'.
    While selecting user view as 1,2 .Now my requirement is to replace the value 1=monthly and 2=ytd while the user passing the value to avoid the confusion.
    Is it possible if so plz let me know
    Regards

    Dear Venkat.
    You please try the following steps:
    1. Say the InfoObject is 0EMPLOYEE against which you have created the variable, which user is trying to select value against, when they execute the report.
    2. Goto RSA1-> InfoObject tab-> Select InfoObject 0EMPLOYEE.
    3. Selcet the following options:
       Query Execution Filter Val. Selectn  -  'Only Posted Value for Navigation'
       Filter Value Repr. At Query Exec. -      'Selector Box Without Values'
    Please let me know if there is any more issue. Feel free to raise further concern
    Thnx,
    Sukdev K

  • Replacing the value in a list

    All,
    A quick question. How do we replace the value of role attribute with some other value?  When I try to set it, the new role is just getting appended.  I wanted to remove the olde role and set the new role.  I know I can remove the roles by setting .  is there any thing similar to replace as well?
    Thanks,
    BIju.

    Actually Biju, is exactly what you need - it is replace, not remove.
    = Add and is the default behavior, as you've seen
    = Delete and will clear all values for the attribute
    = Replace - it will delete all existing values and add whatever values follow the like:
    <newrolename>
    Edited by: Geoff Curtis on Jul 10, 2009 1:04 PM

  • Mapping Help for replacing source value

    Mapping Help for replacing source value
    Posted: Mar 14, 2006 1:06 AM    Reply 
    Hi all,
    I am unable to do transform the source value to required target value,
    From Source ADDRESS_TYPE = 'HOME' should be replaced with 03 to target field ANSSA, and 'MAIL' to be replaced with 05, I am trying to do it but i am unable to handle it, please give u r valuable suggestions,
    The source structure is like this,
    - <Event ID="239" TRANS_TYPE="ADR">
    <PersAddr GEO_LOC_CD="US" EMPLID="29" ADDRESS_TYPE="HOME" EFFDT="02/15/2006" ADDRESS1="92nd Floor" ADDRESS2="812backstreet" ADDRESS3="" ADDRESS4="" CITY="London" COUNTY="" STATE="AN" POSTAL="EC2N 4AG1" COUNTRY="GBR" KEY1="29" KEY2="HOME" KEY3="02/10/2006" />
    <PersAddr GEO_LOC_CD="US" EMPLID="29" ADDRESS_TYPE="MAIL" EFFDT="02/15/2006" ADDRESS1="92nd Floor" ADDRESS2="812backstreet" ADDRESS3="" ADDRESS4="" CITY="London" COUNTY="" STATE="AN" POSTAL="EC2N 4AG1" COUNTRY="GBR" KEY1="29" KEY2="MAIL" KEY3="02/10/2006" />
    </Event>
    REGARDS,
    sridhar

    Hi,
    This can be done using user-defined function as well.
    Code the function as...
    if(Addr_Type.equals("HOME"))
       return "03";
    else if(Addr_Type.equals("MAIL"))
       return "05";
    else
       return "Invalid Address Type";
    Here, Addr_Type is Input String Argument for this function.
    Map this function between ADDRESS_TYPE and ANSSA.
    Regards,
    Uma

  • Unable to add the Custom Pipeline component in to the Visual Studio Tool Box

    I have tried to create the custom Pipeline component to transfer the large message in Receive side,
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;
    using System.IO;
    using Microsoft.BizTalk.Message.Interop;
    using Microsoft.BizTalk.Component.Interop;
    namespace Sample.LargeFilesDecoder
    [ComponentCategory(CategoryTypes.CATID_PipelineComponent)]
    [ComponentCategory(CategoryTypes.CATID_Encoder)]
    [System.Runtime.InteropServices.Guid("25984614-BCFD-4c47-82FC-4A2300B76411")]
    public class LargeFilesDecoder : IBaseComponent,
    IComponentUI,
    IComponent,
    IPersistPropertyBag
    #region IBaseComponent Members
    public string Description
    get
    return "Pipeline component used to receive Larger Files through SFTP Ports";
    public string Name
    get
    return "LargeFilesDecoder";
    public string Version
    get
    return "1.0.0.0";
    #endregion
    #region IComponentUI Members
    public IntPtr Icon
    get
    return new System.IntPtr();
    public System.Collections.IEnumerator Validate(object projectSystem)
    return null;
    #endregion
    #region IPersistPropertyBag Members
    private string _largeFileLocation;
    private int _thresholdSize;
    public string LargeFileLocation
    get { return _largeFileLocation; }
    set { _largeFileLocation = value; }
    public int ThresholdSize
    get { return _thresholdSize; }
    set { _thresholdSize = value; }
    public void GetClassID(out Guid classID)
    classID = new Guid("DBA77DFA-5D3E-4B85-8F78-1D6330B6BCA0");
    public void InitNew()
    public void Load(IPropertyBag propertyBag, int errorLog)
    object val1 = null;
    object val2 = null;
    try
    propertyBag.Read("LargeFileLocation", out val1, 0);
    propertyBag.Read("ThresholdSize", out val2, 0);
    catch (ArgumentException)
    catch (Exception ex)
    throw new ApplicationException("Error reading PropertyBag: " + ex.Message);
    if (val1 != null)
    _largeFileLocation = (string)val1;
    if (val2 != null)
    _thresholdSize = (int)val2;
    public void Save(IPropertyBag propertyBag, bool clearDirty, bool saveAllProperties)
    object val1 = (object)_largeFileLocation;
    propertyBag.Write("LargeFileLocation", ref val1);
    object val2 = (object)_thresholdSize;
    propertyBag.Write("ThresholdSize", ref val2);
    #endregion
    #region IComponent Member
    public IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg)
    if (_largeFileLocation == null || _largeFileLocation.Length == 0)
    _largeFileLocation = Path.GetTempPath();
    if (_thresholdSize == null || _thresholdSize == 0)
    _thresholdSize = 4096;
    if (pInMsg.BodyPart.GetOriginalDataStream().Length > _thresholdSize)
    Stream originalStream = pInMsg.BodyPart.GetOriginalDataStream();
    string largeFilePath = _largeFileLocation + pInMsg.MessageID.ToString() + ".msg";
    FileStream fs = new FileStream(largeFilePath, FileMode.Create);
    // Write message to disk
    byte[] buffer = new byte[1];
    int bytesRead = originalStream.Read(buffer, 0, buffer.Length);
    while (bytesRead != 0)
    fs.Flush();
    fs.Write(buffer, 0, buffer.Length);
    bytesRead = originalStream.Read(buffer, 0, buffer.Length);
    fs.Flush();
    fs.Close();
    // Create a small xml file
    string xmlInfo = "<MsgInfo xmlns='http://Sample.LargeFilesDecoder'><LargeFilePath>" + largeFilePath + "</LargeFilePath></MsgInfo>";
    byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(xmlInfo);
    MemoryStream ms = new MemoryStream(byteArray);
    pInMsg.BodyPart.Data = ms;
    return pInMsg;
    #endregion
    I have
    Added .dll file in to the Global Assembly Cache (use gacutil)
    Copied it the Pipeline Components folder (E:\Program Files (x86)\Microsoft BizTalk Server 2013\Pipeline Components)
    Everything was successful, when I try to add the component to the Toolbox I get the message like below and cannot find the component in Toolbox.
    Tried several times but still getting stuck in the same place. I am using Visual Studio 2013. Any help is greatly appreciated.

    Do not put the Assembly in the %\Pipeline Components folder.  Pipeline Component Assemblies should be in the GAC only.
    To correctly deploy a custom Pipeline Component, you can follow the steps in this Wiki Article:
    http://social.technet.microsoft.com/wiki/contents/articles/26404.biztalk-deploying-custom-pipeline-components-in-biztalk-server-2006-and-higher.aspx
    I have never seen that specific error before.  Are you sure you're browsing from the Pipeline Components tab?

  • How to avoid report running for all the values in roll up of guided naviga

    Hi
    Thanks in Advance
    I have 3 reports on three different pages of a dashboard. (Implemented guided navigation on one column of each report).When I click on value of guided navigation column it guides me to report 2 for that particular value (is prompted), same way for 3 report also till here it works fine.
    However when I return from report 3 to report 2 and 2 to 1, the reports are running for all the values instead for the value which was passed by guided navigation of previous report earlier (Value on which I clicked to pass to the next report).
    Edited by: 808623 on Nov 9, 2010 2:10 AM

    Yes
    Example : If i click on values 'X' in report 1
    Report 2 shows results for 'X' only. And if i click on Value say 'Y' in 2 then report 3 shows for only 'Y'. But when i rollup from 3 to 2, Report 2 is showing for all values rather than showing 'x'.
    I'm using Link or Image Dashboard Object > Destination>Request or Dashboard (path of previous report)
    Edited by: 808623 on Nov 9, 2010 2:37 AM

  • My 3 week old iphone 5 has fallen on to a rug and the screen is cracked! I have an appointment at the apple store but i have to travel a bit to get to it. Will the replace the phone or send it away? I don't want to travel for nothing.

    I have recently got a new iphone 5 and I dropped it on to the rug on top of wooden flooring and the screen is now cracked. I have made an appointment at my nearest apple store but i still have to travel quite a bit. Will apple replace this phone or send mine away? I don't want to travel for nothing.

    If you are in the US ,some Apple genius bars are replacing screens at this time if  your local store isn't offering that service or you are not in the US  there will be an out of warranty exchange unit for $229
    make sure you back up everything as if you exchange your iPhone will go and the Genius bar do not provide a backup service

  • I would like to know the price for replace the screen of my iphone 4s due it is scraches

    Other question is the posibility to buy other iphone replacing the old iphone that i have

    Call your local Apple Store and ask.
    If your iPod Touch, iPhone, or iPad is Broken
    Apple does not fix iDevices. Instead, they exchange yours for a refurbished or new replacement depending upon the age of your device and refurbished inventories. On rare occasions when there are no longer refurbished units for your older model, they may replace it with the next newer model.
    ATTN: Beginning July 2013 Apple Stores are now equipped to do screen repairs/replacements in-house on iPhone 5 and 5C. In some cases while you wait. According to Apple this is the beginning of equipping Apple Stores with the resources needed to do most repairs for iPhones, iPads, and iPod Touches that would not require major replacements. Later in the year the services may be extended as Apple Stores become equipped and staffed with the proper repair expertise. So, if you need a screen repaired or a broken screen replaced or have your stuck Home button fixed, call your local Apple Store to see if they are now doing these in-house.
    You may take your device to an Apple retailer for help or you may call Customer Service and arrange to send your device to Apple:
    Apple Store Customer Service at 1-800-676-2775 or visit online Help for more information.
    To contact product and tech support: Contacting Apple for support and service - this includes international calling numbers.
    You will find respective repair costs in the appropriate link:
    iPod Service Support and Costs
    iPhone Service Support and Costs
    iPad Service Support and Costs
    There are third-party firms that do repairs on iDevices, and there are places where you can order parts to DIY if you feel up to the task:
    1. iResq or Google for others.
    2. Buy and replace screen yourself: iFixit

  • Call view of another WDA Component and pass the value to it

    Dear Experts,
    I have a wda component1 with window1 and view1
    wda1 has a node1 with one attribute carrid (no default value).
    view1 also has the same structure and is mapped with it.
    (here i have one input field of type carrid)
    This view will be shown in wda2.
    now i have wda2 with window2 and view2 with the same structure & names as above (node & attribute)
    But here the carrid has a default value of 'AA'(so that when view1 is displayed in wda2,data is passed from here wda2).
    in wda property->used components i have used wda component1
    in view property->used components i have used wda component1
    view2 has a viewcontainer.
    In window2, in the view container i have embedded the view1 of the wda1.
    In the component2 context node, the default value of carrid is AA.
    when i have executed the application of wda2, it was showing the input field of view1 of wda1.
    but it was empty ie., had no value (AA).
    Now My problem is if i have the value AA in wda2 for the attribute, how does it get passsed to wda1.
    Regards
    Sajid

    Hi Sajid,
    Let me first try to say as to what I thought you were trying to achieve.
    You have 2 components say SUB & MAIN. Now in both the components you are trying to display an input field on your layout. This input field is bound to an context attribute CARRID & you have given it an initial value in only 1 component. (MAIN component) Now within your component MAIN you have an VIEWCONTAINERUIELEMENT & you are trying to display the view from SUB within it. But you end up with the input field from your MAIN view displaying the default value as AA whereas the view from SUB displays a blank input field. You now want to be able to have this input field fetch the value from your MAIN component and get initialized. So if this is your requirement then you can continue reading below:
    1) When you create your context at component controller level in component MAIN you have a property for the node which says as: "Interface Node" Just checkmark this checkbox. When you do this you would be able to share the data within your context nodes across other components.
    2) Specify a default value of AA in the "Default Value" property of the attribute in component MAIN
    3) Now go to your other component SUB which you would like to also get initialised. Define a usage of your component MAIN within this component.
    4) Go to your component controller & create your context node & attribute with exactly the same names as how you had created in your MAIN component.
    5) Do a mapping between the interface controller of your MAIN component & the component controller of your SUB component
    6) You would be able to see that the appearance of the node has changed to an interface node. This means that your SUB component now has an exact replica of your MAIN components context data.
    Test your application after following all these steps & you should be fine.
    Regards,
    Uday

  • FDM, How to replace the value of my source file inside BefFileImport

    Hi all,
    I want to edit some value that will need some validating inside the source file with some condition inside the source file.
    I know the easy way is to build the validation inside import script, but the import script usually will run for each row, if I put the logic inside it will make the performance slow, I assume, because every one row, it will open the file.
    So I try to do one time conversion, so I choose to put my logic inside BefFileImport VBScript, but after my script run, the value was not change, it still stick with old value.
    Need your help for this.
    the below example, I want to do
    Sub BefFileImport(strLoc, strCat, strPer, strFile)
    If InStr(strFile,"test123")>0 Then
    Location="C:\Oracle\FDMApp\SampleApp\Inbox\Batches\OpenBatch\"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f1 = fso.OpenTextFile(Location & strFile, 1)
    Set str= CreateObject("System.Collections.ArrayList")
    Do Until f1.AtEndOfStream
      str.add f1.ReadLine
    Loop
    Set f1=Nothing
    Set f2 = fso.OpenTextFile(Location & strFile, 2)
    For Each dataLine In str
      tmp = Split(dataLine,";")
      value = valcheck(str,tmp(14),tmp(13), tmp(6), tmp(1))
      If  entityPartner = "" Then
      f2.WriteLine tmp(0) & ";" & tmp(1) & ";" & tmp(2) & ";" & tmp(3) & ";" & tmp(4) & ";" & tmp(14)
      Else
      f2.WriteLine tmp(0) & ";" & tmp(1) & ";" & tmp(2) & ";" & tmp(3) & ";" & tmp(4) & ";"& value
      End If
    Next
    Set f2=Nothing
    Set str=Nothing
    Set fso=Nothing
    End If
    End Sub
    Thanks
    Dedy

    Hi
    You can achieve this with virtual characteristics option. Code the logic in the customer exit program and it would work.
    Thanks & Regards
    8283

  • New solution for Limit the value in JSpinner with changable max/min value

    I have ever stuck with a problem like that :
    1. My application need to get two int value A and B that user input.
    I use two JSpinner with Number format model.
    named in jSpinnerFrom (A value get from) jSpinnerTo (B value get from)
    2. The request is that :
    two value can be any Integer, But the value of (B - A) can not more than 1000.
    I use changeListener added into the JSpinner, when use set value make (B-A) larger than 1000, I set value back.
    But when user press mouse on arrow button, the value will be increase automaticaly, and at last the value can not set back that make (B-A) not larger than 1000.
    3. So I get the BasicArrowButton of the jSpinnerFrom and jSPinnerTo,
    and add a mouselistener on the arrowbutton. When mouseReleased, then chen the value (B-A), if it is larger than 1000, then set it back the proper value.
    Thus I can make the min/max value in the JSpinner be changable, and limit the two input value be in range of 1 - 1000
    Post this wish be help for any one has thus familar request.
    Good Luck!!

    Something like this might work
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.event.*;
    class Spin extends JFrame implements ChangeListener
      JSpinner spinner1;
      JSpinner spinner2;
      JPanel jp;
      public Spin()
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(200,75);
        setLocation(400,300);
        spinner1 = new JSpinner(new SpinnerNumberModel(1000, 1000, 9999, 5));
        spinner1.addChangeListener(this);
        spinner2 = new JSpinner(new SpinnerNumberModel(0, 0, 1000, 5));
        jp = new JPanel();
        jp.add(spinner1);
        jp.add(spinner2);
        getContentPane().add(jp);
      public void stateChanged(ChangeEvent ce)
        int s1 = ((Integer)spinner1.getValue()).intValue();
        jp.remove(spinner2);
        spinner2 = new JSpinner(new SpinnerNumberModel(s1-1000, s1-1000, s1, 5));
        jp.add(spinner2);
        validate();
      public static void main(String[] args) {new Spin().setVisible(true);}
    }

  • Function module for updating the values in table VTTK

    Hi,
    I am working on a report in which I need to update the value of field tdlnr of table vttk for a particular shipment number. I need to do this using functional module and I am not been able to find one. If anyone knows answer to this plz help.
    Thanks in advance,
    Priyanka.

    As noted above, RETURN table must be supplied empty, it is for BAPI to return the messages back to the calling program. You simply need to define an internal table, pass it to BAPI as is and then analyze this table after the BAPI call. For example:
    DATA: BEGIN OF it_return OCCURS 0.
            INCLUDE STRUCTURE bapiret2.
    DATA: END OF it_return.
    CALL FUNCTION 'BAPI_SHIPMENT_CHANGE'
    <...>
      TABLES
    <...>
        return = it_return.
    LOOP AT it_return.
      MESSAGE
           ID      it_return-id
           TYPE    it_return-type
           NUMBER  it_return-number
       WITH
                   it_return-message_v1
                   it_return-message_v2
                   it_return-message_v3
                   it_return-message_v4.
    ENDLOOP.
    Hope this helps.

  • Formule used in the transaction MP30 for calcolate the value ROP.

    Dear gurus,
    in the transaction MP30 we insert the value in the field "Corrected value" and  the system calcolate a value of the parameter Reorder Point . What formule use for calcolated this value? How this value is calcolated.?
    Thansk a lot
    Daniele Pistilli
    PP TEAM

    Hi,
    Check the OSS Note 415950 - Calculation of the safety stock in the forecast.
    The caliculation is explained in details.
    And also the below link:
    [Calculating the Safety Stock and the Reorder Level|http://help.sap.com/saphelp_erp60_sp/helpdata/en/7d/c27408454011d182b40000e829fbfe/content.htm]
    [Reorder Level Calculation|http://help.sap.com/saphelp_erp60_sp/helpdata/en/7d/c27a3b454011d182b40000e829fbfe/content.htm]
    Hope this helps.
    Regards,
    Siva

Maybe you are looking for

  • SD billing: posting to FI is executed, although cost element is missing

    When posting an invoice in SD, the posting to FI is executed without an error, although the G/L account retrieved through account determination (in this case revenue account) has no cost element assigned. Besides the FI document, also COPA and profit

  • Boot Camp related hard drive corruption?

    The other day, my OS X 10.5.1 partition completely crashed on me after several switched between it and the Boot Camp partition on my MBP (XP Pro SP2). I just happened to glance at my OS X partition using MacDrive and it told me that the partition was

  • Create a restore point fails with 0x81000101 error after replacing hard drives

    I recent had a hard drive failure so, figuring that I may as well gain something for all of the work, I replaced both drives in my RAID 1 array (thereby doubling the drive space).  I then restored from back up and all has appeared well for several mo

  • Record Count of Lines in the Reciever Txt file

    Hi, I am Working with File to Idoc Scenarion. Where I have field "Record Count in the reciever. Where the total number of lines in the reciever file has to mapped with the field and the file to be recieved to the destination. eg:Each Idoc that we rec

  • Help target US/AP/@APXINWKB_INVOICES_SUM_FOLDER_WINDOW could not be found

    Hi, We are on 12.0.4 with 10.2.0.2 on Solaris10, and geting the folowing error while accessing the Help Page. It is returning the message like "An error occurred while retrieving Oracle Applications Help information. Help target US/AP/@APXINWKB_INVOI