Content conversion by using sender JMS channel

Hi All,
I have developed a scenario from JMS to Idoc. I need to read flat files by using sender jms adapter. I have configured message transform bean in module tab and respective content conversion parameters as well. My flat files contains different structures. So I need to use conversion type as StructPlain2XML. Based on keyField value I am diffentiating flat file records. My requirement is I have to give two spaces in <xml.keyFieldValue> parameter. fixed Length of keyFieldValue is 6, Actual value getting from source file is DEST. I need to pass two spaces as per fixed length specification. I have passed two spaces, but after activating spaces are removed by system bydefault. Because of this an empty file is processed by PI. Source file contains two spaces after DEST. I need to read two spaces along with DEST value as keyFieldValue. How to achieve this..
Thanks in advance.
Best Regards,
Ashok.

Hi Ashok
You can resolve this by splitting the field into two fields - and actual key field and a dummy/temp field.
I've just blogged about this technique, you can refer to it here
Content Conversion for fixed length files with key field value shorter than key field length
Rgds
Eng Swee

Similar Messages

  • Problems with charset encoding using sender JMS channel

    Hi all,
    We are connecting an AS400/WebSphere, with SAP via XI (PI7.0), by means of JMS adapter.
    Situation: we are sending a message through a JMS sender channel from WebSphere to XI.
    The problem occurs if the message has special characters (like client name). The contents of the XI message became wrong on those characters (they are replaced by '#'), sending invalid information to SAP.
    The character set CCSID of the WebSphere is 00037.
    Can anyone help me on overcoming this problem?
    thanks in advance.

    thanks Stefan,
    >> What kind of mapping do you use?
    We are using a graphical mapping that maps the incoming message to an IDOC message definiton.
    >> Is the payload wrong after the mapping?
    The mapping ends with success and the payload is well formated, but the content of the final message is wrong (just on the special chars) (ex: the ã is replaced by #).
    >> Where do you send that message to?
    The message is an IDoc that is send to SAP:
    best regards.

  • Umlaut Conversion issue in Sender communication channel SAP PI

    Hi Gurus,
    We are facing issue while conversion.
    umlaut Conversion issue in Sender communication channel that is reason channel not able to pic the file from the path.
    Sender CC error:
    Value of incoming field is too large. Segment:'IMD', Field:'7008', MaxLength:'35', value:'Plssvvkbecher Lübzer 0,4 (1280Stk p' DESCRIPTION: The length of the field value is too big !
    Actually field contains 35 Chars only the value is  : 'Plssvvkbecher Lübzer 0,4 (1280Stk p'
    We tried with “ISO-8859-1” if the field value is less than 35 characters it is able to converting.
    Please help me out from this issue.
    Thank you.
    Regards,
    Jittu.

    Hi Jittu,
    Have you tried using the codepageconversion bean in the modules under the sender?  It would be like:
    AF_Modules/TextCodepageConversionBean with a parameter of Conversion.charset and a value of utf-8.
    Regards,
    Ryan Crosby

  • Zip or unzip a payload in sender JMS channel

    Hi,
    My scenario is to unzip a payload in sender JMS channel and I have configured the sender JMS module in the below format,
    Processing sequence
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    Module Configuration
    Modulekey            Parameter Name                    Parameter Value
    zip                        zip.mode                                unzip
    I have tried this format also,but it is not working
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    (or)
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    While performing testing,it throws the below error in sender JMS channel,
    The detailed error (if any) is :  com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable pattern: NullPointerException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable 'pattern'at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:185)
    Can someone help me on how to extract a payload in sender JMS channel.
    Also please guide me on how to extract a multiple payloads in one zip file in sender JMS channel.

    Hi,
    Your module sequence seems to be incorrect.
    Try like this,
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    (or)
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    Regards,
    Praveen Gujjeti

  • Unzip a payload in sender JMS channel

    Hi,
    My scenario is to unzip a payload in sender JMS channel and I have configured the sender JMS module in the below format,
    Processing sequence
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    Module Configuration
    Modulekey            Parameter Name                    Parameter Value
    zip                        zip.mode                                unzip
    While performing testing,it throws the below error in sender JMS channel,
    The detailed error (if any) is :  com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable pattern: NullPointerException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable 'pattern'at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:185)
    Can someone help me on how to extract a payload in sender JMS channel.
    Also please guide me on how to extract a multiple payloads in one zip file in sender JMS channel.

    Hi,
    Your module sequence seems to be incorrect.
    Try like this,
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    (or)
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    Regards,
    Praveen Gujjeti

  • Sender JMS Channel Error

    Hi all,
    I have been facing with this problem with sender JMS channel, any pointers as to where can be the solution for it
    The error details are as follows
    JMS and XI identifiers for the message are ID:414d512056515933444e41575445202048aa8802235bad01 and a2d32e30-7aae-11dd-ae1c-001125cc0c0c respectively. The JMS adapter will rollback the database and JMS session transactions. If the session is transacted, the message is not lost and will be retried later. The exception stack trace is java.lang.Exception
    at com.sap.aii.af.service.jms.WorkerJMSReceiver.onMessage(WorkerJMSReceiver.java:963)
    at com.ibm.mq.jms.MQMessageConsumer.receiveAsyncQ(MQMessageConsumer.java:2539)
    at com.ibm.mq.jms.MQMessageConsumer.receiveAsync(MQMessageConsumer.java:4262)
    Messages are not being placed in the Queue. the Queues are newly created is there something which has been missed out during the creation of the Queues
    Rgds
    Aditya

    Hi Aditya
    Try this way:
    1. uncheck JMS transactional session check box in JMS sender communication channel.
    2. Once it is done, insert new message in JMS queue.
    Thanks
    Sai

  • Content conversion in Sender JMS channel

    Hello All,
    My scenario is JMS to Proxy. SAP PI receives a flat file from JMS application.
    Can any one please help us on converting flat file to XML conversion within sender JMS adapter
    Thanks&Regards,
    Moorthy

    Hi
    Check this
    conversion type StructPlain2XML
    conversion type SimplePlain2XML

  • IgnoreRecordsetName not working in Sender JMS channel- PI 7.1

    Hello All,
    In Sender JMS content conversion I have used xml.ignoreRecordsetName=true
                                                                                       ignoreRecordsetName=TRUE
    But still I am getting "Recordset" in the XML due to which message mapping is getting failed.
    Can you please tell me what is the correct syntax for this parameter in JMS channel
    Regards,
    Moorthy

    Hi
    ignorerecordset  parameter dont support  using the message transform bean.

  • File Content Conversion on the Sender Adapter in PI 7.1

    Hi Experts
    I am working on a file to Proxy scenario where my file is fixed format length which will have only one Structures (Details Records) that would be coming from the text file but in the message type I have delcared Header, Detail , Trailer,
    However I would be receiving the only Detail part (No header and Trailer) in some instances  what value should I give for the header and trailer in the Content conversion part,
    Thanks
    PR

    Since you are going to get values only some instances  for header and trailer node, you can create
    Header  structure   &  Trailer structure  - make the occurence 0 to 1
    Note: if your Header and Trailer values are empty for some instances then no worries. You declare FCC fields for header and trailer similar to Details.
    Refer SAP FCC help link.

  • Files not getting picked up using Sender Communication Channel frm MDM sy

    Hi Experts,
    XI sender communication channel is configured to pick up any files coming from MDM system from the following path
    /XXX/XXX/mdm/mds/XXX/XXX/Material_Master/Outbound/P33/P33_R3_PORT/Ready
    Earlier we had the scenario working properly that created idocs in R3 system.(MDM>XI>R3)
    Currently i tried to test the scenario again but i don't see an entry in the sxmb_moni or tried checking whether the sender communication channel is working properly it showed polling correctly in RWB.The files are already sitting in the the above path.XI should be picking it up but don't know what the problem is?
    I also tried a test in RWB>Integration Engine>Test Message  put the payload and it was able to create idocs in R3.So i concluded there is an error in picking up message from MDM.
    Is there any log available for the commmunication channel where i can see error info of whether any files picked up or not.
    Please suggest me what all can be done to to ensure the CC is picking up the files.
    Earlier responses highly appreciated.
    B'Rgds,
    Sudhansu

    Hi,
    In addition to the RWB channel check suggested by Aamir, you should also check if the channel is
    1) Active in ID
    2) Channel is not locked in VA, if it is locked then your status in RWB will show processing started but the files wont be picked up...for more details check the unlocking procedure mentioned in this thread:
    JDBC Sender Adapter -  NOT FETCHING RECORDS -PROCESSING STARTED
    The unlocking procedure is the same for FILE and JDBC....
    Regards,
    Abhishek.

  • PI Sender JMS channel not reading data

    Hello All,
    Scenario is JMS to Proxy. I have configured the JMS PI sender channel as per the details given by legacy team and they validated and confirmed that the channel configuration is correct.
    Also PI JMS Sender channel is with green status and no there are no errors observed on PI channel monitoring page. Legacy team said that they placed 2 messages on the Queue for SAP PI to read. But there is no data flow observed into PI (on Adapter Engine/IE).
    I have restarted and reactivated the channel also.
    Can you please tell me what might be issue here
    Thanks,

    Hi Naresh,
    Are you able to ping the channel from the Java stack? Normally if it is screen it means that is working but try and ping it and see what response you get back.
    What are they using? MQSeries? JNDI? SonicQ?
    Use the connection details that they gave you and log onto the queue and check if you can see the messages? Download a free JMS viewer and connect and see if you are able to see those messages? It might that they placed it in the wrong queue or that you are looking at the wrong queue.
    Regards,
    Jannus

  • Issues  in  File Content Conversion  in a Sender Adapter

    Hi Folks ,
    The XMl Structure of my input file is
    <?xml version="1.0" encoding="UTF-8"?>
    <ns:file_sender_mt xmlns:ns="urn:filetofiledemo">
      <recordset>
        <data>
          <name />
          <city />
          <age />
        </data>
        <adress>
          <fnaame />
          <lanme />
        </adress>
      </recordset>
    </ns:file_sender_mt>
    In my file conversion paramaters i have mentioned
    data.fieldSeparator ,
    data.fieldNames name,city,age
    adreess.fieldSeparator ,
    adreess.fieldNames fnaame,lanme
    ignoreRecordsetName  true
    recordset.fieldSeparator ,
    data.endSeparator ,
    I fail to understand when in my input file
    i give
    1,2,3
    4,5
    ie value of data and adrees on diff lines it works fine
    bt when i give the imput as 1,2,3,4,5
    it fails in adapater
    giving the exception
    Sender Adapter v1014 for Party '', Service 'filetofile_bs':
    Configured at 12:11:43 2006-07-18
    Last message processing started 05:22:34 2006-07-19, Error: Conversion of complete file content to XML format failed around position 0 with java.lang.Exception: ERROR converting document line no. 1 according to structure 'data':java.lang.Exception: ERROR in configuration: more elements in file csv structure than field names specified!
      last retry interval started 05:22:34 2006-07-19
      length 10,000 secs
    I dont understand why i am getting this error as my data.endSeparator is ,
    any inputs on this would be of grt help 
    Thanks
    Amit

    Mam if you look at my XML
    <?xml version="1.0" encoding="UTF-8"?>
    <ns:file_sender_mt xmlns:ns="urn:filetofiledemo">
      <recordset>
        <data>
          <name />
          <city />
          <age />
        </data>
        <adress>
          <fnaame />
          <lanme />
        </adress>
      </recordset>
    </ns:file_sender_mt>
    I have 5 paramaters
    name ,city ,age , fnaame , lname
    and i am pasing those 5

  • Error Re-using Sender SOAP Channel

    Hi,
    I have a requirement to send multiple messages to PI using same SOAP Sender Channel; I referred to help.sap.com and found that there is no restriction in re-using a SOAP Sender Channel.
    However when I sent a message using SAP SOAP client, namespace for soap envelope got added which is failing the messages in PI.
    Correct message:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <ConsumerData>
      <UserId>12345</UserId>
      <AccountData>9561234</AccountData>
    </ConsumerData>
    Incorrect message (in SXMB_MONI):
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <ConsumerData xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <UserId>12345</UserId>
      <AccountData>9561234</AccountData>
    </ConsumerData>
    1) How to avoid getting the URL (xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/") in the message?
    2) Is it really possible to re-use the SOAP Sender Channel to get different types of messages (from same sender party & service)?
    I did make use of Do Not Use SOAP Envelope in the channel and &nosoap=true in URL; but no luck.
    Please help. I need to get this approach working
    Thanks
    Pankaj

    >>1) Use one Sender channel per source system; so less number of objects.
    Yes, you can reuse one sender channel for many WSDL scenarios.
    >>2) to keep the PI URL common for one source system; PI URL dependent only on Sender Party, Sender Service and Sender Channel, no mention of Sender Interface Name in the URL I am using the format http://host:port /XISOAPAdapter/MessageServlet?channel=p:s:c (Note - 856597).
    I hope I can achieve the requirement in point 2 without any issue.
    This is not possible.  WSDL URL will be different for every interface.  Because it is also specific to sender interface and sender interface namespace.  When you create you have to specify these variables too.
    Example:
    http://host:port/XISOAPAdapter/MessageServlet?channel=:BC_TEST:CC_SOAPCHANNEL&interface=SI_TEST&interfaceNamespace=http://test/TRI_DatabaseLookup
    When you create initially you input only first
    http://host:port /XISOAPAdapter/MessageServlet?channel=p:s:c
    and subsequent screen you will need to input sender service interface and interface namespace.
    Hope that helps.

  • Scenarios using Sender JMS adapter and Reciver JMS adapter

    Hi All,
    I am not able to find god step by step blog on senderJMS adapter and Receiver JMS adapter.
    also please explain when we use JMS.What does a messng system means?please provide some examples.
    Thanks and regards

    Hi  Goyal,
    Messaging System :
    Messaging system allows separate, uncoupled applications to reliably communicate asynchronously. The messaging system architecture generally replaces the client/server model with a peer-to-peer relationship between individual components, where each peer can send and receive messages to and from other peers.
    Go thru this you will get better idea :
    http://java.sun.com/developer/technicalArticles/Networking/messaging/
    JMS adapter (Java Message Service) enables you to connect messaging systems to the Integration Engine or the PCK.
    regards
    Ganga

  • File Content conversion at the sender adapter without Key field

    Hi All,
    I have a requirement ....We are using Message Transform Bean at the sender adapter (we are not going for FCC as we are tranforming a decryption) ..its is a flat file...
    we dnot have a key field for one of the node .....we have total 5 nodes under parent node and one of the node does not have key field ....
    NOTE: I guess we have to do either Java mapping or XSLT ..but not getting proper weblogs with program...
    and not well versed with coding...i got few codes which were either not fulfilling requiremment or they use stream tranformation where it is decaprecated in NWDS and does not allow to compile it properly .
    Can somebody get me a code for Java which uses Abstract tranformation ...which can full fill below requirement
    parent node
                  Node1
                       node 1a
                       node 1b
                  Node 2
                  Node 3
    Input Flat file is in below format
    example:
    Employee Headre Flat files
    Employee Detail Flat Files(this repeates numerous times as much as number of employees)
    Employee  Trailer Flat Files
    Loan Headre Flat files
    Load Detaisl Flat Files (this repeates numerous times as much as number of employees)
    Loan Trailer Flat files
    Assitance much appreciated thanks .
    Regards
    Kiran

    Hi Stefan,
    I will rephrase the question i guess its communication gap...
    1) we have an existing interface in 3.0..we are not copying the same interface to 7.1 as it was not according to standards and they are phasing out that system.
    2) In 3.0 they are reading the Flat files under one record .. the structure is as follows:
    Parent Node
               Node
                   Row
    They are reading all the flat files row by row.
    and even in receiver they are reading in the similar fashion
    3) In the current structure according to the FS we have to create a structure defined by them which is as below
          Employee
              Header
              Details   node 1
                 Details  node 1a
                  Details  node 1b
              Trailer
              Loan Header
              Loan Detail
              Loan Trailer
    Receiver structure is
    Employee
          Node (this will have the receiver fields which is about 30 fields)
    4) We have pulled a sample file from 3.0 for the existing interface as we din get the sample file for existing one in FS and Iam not sure whn are they gonna send it.
    5) In the existing interface payload we have everything matching even the field lengths and postions and even key fields and key fields we got from the FS
    6) problem is we donot have key fields for the Details node 1a and 1b even in FS or the existing payload and we got an update from the FS consultant that we will be receiving these fields but without keyfields...
    see i donot have any problem taking out the details 1a and 1b out of the details header and create the structure ,,,,but the main issue is without key field we will not be able to generate the 1a and 1b nodes or read it in the FCC or MTB (i have to use MTB as we are decryting the file from the sender).
    Or is there any other method apart from java mapping or module development to handle these files

Maybe you are looking for