Validate source data at communication channel level only....

Hello Experts
   I want to validate the source data just after picking the file i.e at communication channel level. The error file or record has to moved to the archive folder. This is my thought correct me if  i am wrong.
Thanks in advance

Hi Arjun,
Communication channel only pick up the data,its does not have capability to check the content,if you want to implement this logic for communication channel,writing adapter module is the right option.
You need to write a logic in EJB Module  to validate the content ,its purely depending on Logic how you are going to write in JAVA.
if you are using PI7.1 you can validate your payload before picking up the message.
search in sdn you will find some usefull documents how to write adapter module.
Regards,
Raj

Similar Messages

  • How to validate source data

    Hi All,
    I am new to ODI, in my process could be called in 2 modes Validation and Load
    a. Validation – V – would perform the validation on the source data based on the filter criteria
    b. Load – L – would perform some mandatory check and load the data in target table
    my concern is how should i do only validation on source data,Please share any ideas regarding this...
    Thanks in Advance...

    What kinda validation you need ?
    YOu can right click on datastore and go for check or else you can drag the datastores to a package and even check it there. You can also create constraints as per your requirement and check it.
    The error records will be inserted into E$ table if found. Very nice article written here
    http://odiexperts.com/flow-control-and-static-control/
    Thanks.
    Bhabani

  • Communication Channel Scheduling only on certain days

    Hi PI Experts,
    We have Availability Planning for a communication channel to run daily for one hour. But we dont want this channel to run on Fridays and Saturdays. Is there any way to do this?
    Thanks and Regards,
    Dhawal

    HI,
    That is possible by maintaining the proper detail in Availablity planning. You just remove the check box option for the particular day and then it will work.
    In Availability planning:
    You maintain start time and duration means hours for active then days to be active.
    Regards,
    Nutan

  • Sender file communication channel polling only when the file is written

    Hi guys,
    I have the following scenario:
    I have developed an XI interface that takes a .txt file from SAP R/3's file system, usr/sap/trans/ and delivers it into another ftp location. The problem that we face is that the file is written into source directory from an ABAP program. As a result, XI go and polls into source directory when the file is not completely written, or when it is empty, which blocks the process.
    Is there a way to force XI in order to poll the source directory only when the file is complete?
    We have thought of exporting the file into a name that XI does not expect and as soon as the file is complete to rename the file from inside ABAP program into what XI expects.
    However, the command inside ABAP changed the Code page of the file and we cannot see some special characters in the file that is delivered to the ftp location.
    Any ideas??

    Hi Evaggelos,
    from <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm">SAP help: Configuring the Sender File/FTP Adapter</a>:
    Advanced Mode
    To specify additional parameters in the adapter configuration, set the Advanced Mode indicator.
    &#9679;      Msecs to Wait Before Modification Check
    Enter the number of milliseconds that the adapter must wait before it checks whether the files have been changed
    Regards,
    Udo

  • How can we stop communication channel at run time?

    Hi,
      I have a requirement where in we have to stop the JMS Sender communication channel in case the Receiver System is down. Could you please let me know how to stop the sender communication channel at run time.
    Thanks
    Rajeev Gupta

    Rajeev,
    Like Praveen Kumar said, I dont think there is an out of the box solution for this. But if you want to stop the communication channel, you could do it using a BPM.This solution is just something that came to my mind. It would be resource intensive to implement this. But here goes...
    Try to make the call to the Receiver System a synchronous call and have an exception branch in the block which has the synchronous step type. So if the Receiver System is down you would get an error in the Sync Step Type and it would go to the exception branch.Try to make a HTTP call from BPM to stop the communication channel. The URL for the HTTP call could be what Matias Denker suggested. This would stop the communication channel. This solution might however have two disadvantage that i foresee.
    1) It might stop the communication channel not only for system down but for any kind of synchronous error.
    2) Starting the communication channel has to again be a whole different process.
    Thanks
    Praveen M

  • Need to use only one sender and receiver communication channel.

    Hello Experts.
    I have a scenario where in I have to use only one sender and receiver communication channel to push files from different source directories to different receiver directories.
    For Eg;
    Sender                              
    D://dir1/file1 --->                  E://dir1/File1
    F://dir2/file2 ---->                 G://dir2/file2
    H://dir3/file3----->                 I://dir3/file3.
    Can this be achieved by using pass through scenario?
    Please let me know if the requirement is not clear.     
    Thanks in advance.
    Advit Ramesh

    Hi Advit,
    I think it is possible. You have to use the Advanced Selection for Source file in the sender channel to define multiple files to be picked up. Also, the Dynamic configuration must also be enabled and used in the mapping so you can manipulate the target directory and target file name based on your source files.
    For Polling from multiple directories:
    http://wiki.scn.sap.com/wiki/display/XI/File+Sender+Adapter+-+Polling+Multiple+Directories
    Dynamic Configuration:
    Dynamic file name and directory in Receiver File Adapter - summary of possibilities - Process Integration - SCN Wiki

  • How to execute data base view in sender communication channel  ?

    hi experts
    how execute data base view in sender communication channel.?
    when i execute select * from data base . ( Its working)
    When i execute select * from dbo.view (its showing error )
    My Question is there any procedure or syntax execute the views in sender side . ?
    Thanks and Regards
    G.Praveen Kumar

    The Error showing
    Database-level error reported by JDBC driver while executing statement 'select * from  View_abcMap'. The JDBC driver returned the following error message: 'com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'View_abcMap'.'. For details, contact your database server vendor

  • Stop communication channel after data delivery

    Hi all,
    I have a communication channel of type JDBC.
    The channel should be started and stopped via external control.
    The problem is that I don't know when the data transfer is completed in order to stop the channel.
    Or is there a functionality that a communication channel is stopped automatically after running.
    regards

    My understanding is that you want to switch off the channel only after all the inserts have been done in DB, am I right?
    There is a solution but an ugly one You have to send a response back from the DB claiming that the inserts are completed, this response message can be linked with your external control program which will end up in stopping the channel.
    If you or anyone else come up with a better solution, please share with the forum.

  • Advance selection for source file-Error in communication channel monitoring

    Hi all,
    Referring to the link below:
    <b>/people/mickael.huchet/blog/2006/09/18/xipi-how-to-exclude-files-in-a-sender-file-adapter
    I have developed my scenario in the same way.But due to the values <b><NOTHING></b>
    in Mandatory fields Source Directory and Filename,i am facing problem in Communication Channel Monitoring as it shows an error;even though the end-to-end scenario works successfully.
    Plase note that  our scenario is not to exclude the particular file but to pick the files serially after a certain delay.
    Kindly provide some idea about how can we remove the error from Communication Channel Monitoring.
    Thanks & Regards,
    Sudhir Tiwari

    Sudhir,
    In the sender file adapter, you have an option called <b>"Processing Sequence"</b>.
    By selecting ByName or ByDate you can make files get selected sequentially either ByName ( alphabetically ) or by the creation time stamp of the file.
    In the sender file adapter also make the QOS as EOIO and give the QueueName as any value and the files will be processed sequentially.
    Regards
    Bhavesh

  • How can I log the data transmission of my switch in a file to analyze the quality of my communication channel?

    How can I log the data transmission of my switch in a file to analyze the quality of my communication channels?

    A lot depends on what type of switch you have and what kind of communication channels you're asking about.
    There are several Cisco tools (e.g., "ip sla", SNMP-queried values, show commands etc.) that can give useful information.
    If you give us some more information we can help more specifically.

  • Measure data through XI per interface/communication channel

    Is there a way to measure the data through XI per interface/communication channel. SXMS_XI_AUDIT_DISPLAY gives you a list of the total throughput in XI, but I would like this to be specified per interface or communication channel.
    Is this possible?
    Regards,
    Dirk-Jan

    Hi Dirk,
    Is there a way to measure the data through XI per interface/communication channel. SXMS_XI_AUDIT_DISPLAY gives you a list of the total throughput in XI, but I would like this to be specified per interface or communication channel.
    Go to RWB -> Performance Monitoring -> Here you can specify the interface name and time interval and it will give you all the details like Message Size, Processing Time, Start-End of processing interval etc.
    Regards,
    Neetesh

  • RFC Communication Channel only allows for one Logon User

    We're currently building a SOAP over HTTPS application in XI where
    an RFC communication channel connects to R3 with a logon user id
    and logon password (RFC Client Parameter). When updates are made
    on the R3 side using BAPI_NETWORK_MAINTAIN (for example), they're all
    done with the one logon user id. So fields "Last Changed by" or "Created by" have the
    one id, and any approvals can only be done by the one manager over the one id XI uses.
    If the external application passed an id (and password if necessary) to
    XI, is there any way connect to R3 using the passed id, and not have to
    use the one generic id .  If we're limited to the one id, is it
    possible on the R3 side to be able to change the id to a passed id that
    can then run the BAPI's/RFC's ?

    Hi Kye
    These should help you
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8798be90-0201-0010-d093-85f728778d37
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2a9dbe90-0201-0010-b283-a56f64534f18
    To capture parameter from URL you need to use ASMA for SOAP.
    Thanks
    Gaurav

  • Adapter Module not working in Sender Communication Channel working in recie

    Hi
    I have written one adapter module. IF i give that Adapter Module in Sender Communication channel its not working. If i give that in Reciever Communication Channel its working. If i mention in both the channels then its working in sender communication channel also.But in only sender communication channel its not working in only reciever communication channel its working Can any one tell me why its happening
    Thanks & Regards
    Ravi Shankar B
    Message was edited by:
            RaviShankar B
    Message was edited by:
            RaviShankar B
    Message was edited by:
            RaviShankar B

    hi
    if its problem with my code why its working if i give the adapter module in both the communication channels?If i give in only sender communication channel the module is not invoking. its not showing any auditlogs.Can any one please help me
    OUTBOUND is for sender
    INBOUND is for reciever right.?
    the following code i have written
    public ModuleData process(
              ModuleContext moduleContext,
              ModuleData inputModuleData)
              throws ModuleException {
              String SIGNATURE =
                   "process(ModuleContext moduleContext, ModuleData inputModuleData)";
              Object obj = null;
              Message msg = null;
              String filename = null;
              AuditMessageKey amk = null;
              try {
                   obj = inputModuleData.getPrincipalData();
                   msg = (Message) obj;
                   System.out.println("&&&&&&&&&&&&&&&&&" + msg);
                   if (msg.getMessageDirection().equals(MessageDirection.OUTBOUND)){
                        amk = new AuditMessageKey(msg.getMessageId(),AuditDirection.OUTBOUND);
                        Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,">>>>>>>>>>>>>>> etHostName: Module called"+ i++);
                   }else{
                        File filename1 = new File("
    10.7.1.43
    XI
    source","text.txt");
                        filename1.createNewFile();
                        amk = new AuditMessageKey(msg.getMessageId(),AuditDirection.INBOUND);
                        Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,">>>>>>>>>>>>>>> etHostName: Module called"+ i++);
                   System.out.println("**************" + amk + "***********");
              } catch (Exception e) {
                   Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,">>>>>>>>>>>>>>> GetHostName: Error Module called");
                   e.printStackTrace(System.err);
                   ModuleException me = new ModuleException(e);
                   throw me;
              // Read the channel ID, channel and the module configuration
              try {
                   Hashtable mp = (Hashtable)inputModuleData.getSupplementalData("module.parameters");
                   if(mp != null){
                        filename = (String)mp.get("FileName");
                        Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,"Host >>>  Element Name is set to {0}"+filename );
                   }else{               
                        Audit.addAuditLogEntry(amk,AuditLogStatus.WARNING,"HostElementName parameter is not set. Default used: HostName.");
                        filename = "FileName";
              } catch (Exception e) {
                   e.printStackTrace(System.err);
                   Audit.addAuditLogEntry(amk,AuditLogStatus.ERROR,"Cannot read the module context and configuration data");
                   ModuleException me = new ModuleException(e);
                   throw me;
              try {
                   XMLPayload xmlpayload = msg.getDocument();
                   DocumentBuilderFactory factory;
                   factory = DocumentBuilderFactory.newInstance();
                   DocumentBuilder builder = factory.newDocumentBuilder();
                   Document document =
                        builder.parse((InputStream) xmlpayload.getInputStream());
                   Element rootNode = document.getDocumentElement();
                   if (rootNode != null) {
                        Element childElement = document.createElement("filename");
                        childElement.appendChild(document.createTextNode(filename));
                        rootNode.appendChild(childElement);
                   // Transforming the DOM object to Stream object.
                   TransformerFactory tfactory = TransformerFactory.newInstance();
                   Transformer transformer = tfactory.newTransformer();
                   Source src = new DOMSource(document);
                   ByteArrayOutputStream myBytes = new ByteArrayOutputStream();
                   Result dest = new StreamResult(myBytes);
                   transformer.transform(src, dest);
                   byte[] docContent = myBytes.toByteArray();
                   if (docContent != null) {
                        xmlpayload.setContent(docContent);
                        inputModuleData.setPrincipalData(msg);
              } catch (Exception e) {
                   e.printStackTrace(System.err);
                   Audit.addAuditLogEntry(amk,AuditLogStatus.ERROR,"Cannot read the module context and configuration data");
                   ModuleException me = new ModuleException(e);
                   throw me;
              return inputModuleData;
    Best Regards
    Ravi Shankar B
    Message was edited by:
            RaviShankar B
    Message was edited by:
            RaviShankar B

  • Regarding Receiver Communication Channel (Concurrency problem)

    Hi Masters ,
    In Receiver Communication Channel which is connected to oracle data base ..while updating records Status from N to C . i am getting following errors :
    **Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Channel has reached maximum concurrency (5,000 concurrent messages) and no free resource found within 5,000 milliseconds; increase the maximum concurrency level**
    Actually we are updating 10000 records status from N to C....... earlier it was updating in 30min now its hanging and giving above error ...... after 3 hrs its automatically displays updated succesfully message .
    Can you help me to understand wht exactly happening and at wht level i have to do settings in communication channel so tht it should work properly..
    Thanks in Advance.............
    Jagannath.

    Hi Jagannath
    you can specify the maximum concurrency for receiver adapters.  This defines the number of messages an adapter can process in parallel on a cluster node.
    Enter the number of messages to be processed in parallel by the receiver channel. For example, if you enter the value 2, then two messages are processed in parallel. Default value is 1 and this means only one message can be processed at a time by the receiver channel.
    http://help.sap.com/saphelp_nw70/helpdata/EN/64/ce4e886334ec4ea7c2712e11cc567c/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/EN/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm
    increase this parameter from 1000 to a higher value you required and you would not be facing such problem
    Regards
    sandeep
    If helpful kindly reward points

  • Communication channel Availability

    Hi All,
    I am having a File to File scenario wherein there is no mapping involved.You can say as good as using a FTP.I am using XI in this scenario purely because of client requirement.
    Problem Statement :
    I need to pick up the source file from a particular folder and send it to target folder at a paticular time say 8:00 am daily.
    Steps taken:
    To take in this requirement, I have configured the Sender communication channel (Type File) availability to 8:00am  - 8:15am daily.This was done by going to RWB>CC Monitoring>Control data(Automatic)
       Settings :
       Details Tab:
       1)Description: Just any characters here
       2)Active: Checked
       3)Availability Time - Daily
             At (Time):8.00    For (Duration): 15      Minutes 
             Series Start:  Start Date        Series End:     End Date
             Availability Times From : -same as above-
       Communication channel Tab:
       Communication Channel:<Sender Communication channel Name>
    All above config is saved.
    Problem encountered:
    Now when I do the above steps, XI does take not only the file from source for 8-8:15 duration but also outside it. So file which comes in source folder after 8:15 am say at 9:00 is also picked up by XI, which ideally should not be the case.
    My Query :
    Am I going wrong somewhere while configuring the availability of Comm channel?
    Regards,
    Shiben

    Hi Shiben,
    Could you please check the Control Data state of Communication channel, it should be Automatically (not Manually)
    &#9679;      Manual
    You control the communication channel by choosing Start or Stop.
    &#9679;      Automatic
    The communication channel is controlled by availability times.
    &#9679;      External
    The communication channel is controlled by an HTTP request.
    http://help.sap.com/saphelp_nw04/helpdata/en/44/2a1a8620323f0ee10000000a114a6b/content.htm
    Cheers,
    Jag
    Edited by: jag on May 7, 2008 5:41 PM

Maybe you are looking for