Sender ebXML Adapter for handling multiple documents

Hi all,
I would like to ask for input on how to implement the use of sender Seeburger ebXML channel that will send multiple documents types (CIDX ordercreate and CIDX orderchange).
For Seeburger AS2 adapter, handling of ANSI X12 documents (EDI850 and EDI860) can be done using Generic AS2 sender and Split997 adapters, and message splitter configuration. Is there same functionality that can be used for sender Seeburger ebXML adapter for handling multiple non-ANSI X12/EDIFACT documents like CIDX OrderCreate and CIDX OrderChange?
Thanks,
Edward

Hi,
Can we hit 100 Email ids to read email using single mail adapter?
no, you have to configure url / authentification in the adapter what is obviously different for different ids.
Can we achieve it using standard module?
Do we need to develop custom module to read emails from 100 mail ids?
You don't need module, you need 100 sender channels.
/Udo

Similar Messages

  • Stored procedure : how to call SP in sender JDBC adapter for mysql

    HI friends ,
    we have JDBC---->XI--
    >SAP  scenario. For some business requirement, we have to call STORED PROCEDURE , please let me know how to call  SP in sender JDBC adapter for mysql .
    Thanks
    mojib

    Hi Mojib,
    Please create a sample stored procedure like this which contains select statement and in communication channel give
    wite stored procedure name only to sql query statment and in update statement write <test>.
    I am executing this stored procedure successfully.
    Create Proc GetResultX As
    Begin
    Select * From TESTX
    End
    Execute statement for stored procedure is :
    Exec GetResultX
    Regards
    Laxmi Bhushan Jha
    Rewards point if found usful
    I have given same answer to one of the same  thread

  • Error in XI Sender JDBC adapter for AS/400 DB2

    We are trying to connect to AS/400 DB2 from XI's Sender JDBC Adapter. we got the driver from DataDirect (connectjdbc.jar) and configured it within XI .The configuration according to the manual for this jar file is
    // Register the driver with the driver manager
    Class.forName("com.ddtek.jdbc.db2.DB2Driver");
    // Establish the Connection
    String url = "jdbc:datadirect:db2://corpserver1:50000;LocationName=ACCTNG";
    Connection con = DriverManager.getConnection(url, "test04", "test04");
    In XI we configured this as:
    Driver = com.ddtek.jdbc.db2.DB2Driver
    Connection = jdbc:datadirect:db2://servername;LocationName=NBHAGWAT
    and specified the user id and password
    <b>Note</b>: The Port Number is optional
    When this was done in XI, we got the below error in the Adapter Monitoring:
    Sender Adapter v2108 for Party '', Service 'JDBCtoFile':
    Configured at 2006-12-19 15:45:31 MST
    History:
    - 2006-12-19 15:45:31 MST: Retry interval started. Length: 10.000 s
    - 2006-12-19 15:45:31 MST: Error: Accessing database connection 'jdbc:datadirect:db2://AS400a;LocationName=NBHAGWAT' failed: DriverManagerException: Cannot establish connection to URL 'jdbc:datadirect:db2://AS400a;LocationName=NBHAGWAT': SAPClassNotFoundException: com.ddtek.jdbc.db2.DB2Driver
    - 2006-12-19 15:45:31 MST: Processing started
    Is this because there is something wrong because the way the connection string is specified.
    Anybody who has configured XI Sender JDBC adapter for AS/400 DB2, please send us some information on this.
    Thank you,
    Regards,
    Balaji

    > SAPClassNotFoundException:
    > com.ddtek.jdbc.db2.DB2Driver
    It looks like your JDBC driver is not found. Have you deployed the driver to XI?
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10</a>

  • Wanted 'Using Sap Adapter for Connector Framework' document

    dear friends
    I want to display ABAP reports in iView without Transaction iView.
    From the below forum link
    /community [original link is broken]
    i came to know i can get the help from 'Using Sap Adapter for Connector Framework' document, but the link is giving
    404
    The requested resource is not available.
    can anybody help me to find out the document
    thanx in advance
    please reply me at the earliest.
    kantha

    have a look here - should help:
    http://help.sap.com/saphelp_nw04s/helpdata/en/f2/db49421c0b3c54e10000000a1550b0/frameset.htm
    <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/f2/db49421c0b3c54e10000000a1550b0/frameset.htm">sap help portal</a>
    you may also download PDK, there are some samples in it.
    Best Oliver

  • Sender Mail Adapter Configuration - Process Multiple Attachments

    Dear sirs,
    I need to process several attachments at the same mail message as individual payloads.
    In default configuration of sender mail adapter only the body of message is used as payload.
    So I added PayloadSwapBean Module at Processing Sequence and it processed the attachment I set in Module Configuration.  I'm not able to process all attachments available, just one attachment is sent to PI pipeline.
    How can I process all attachments of a single mail message?
    Thank you in advance.
    Fabio Purcino

    Hi Jose,
    We are trying to implement reading multiple attachment in sender mail adapter. 
    Our Requirement is : Reading a mail having multiple .xls files. This should be read and converted to payload .
    package multiswap;
    //import com.sap.aii.adapter.xi.ms.XIMessage;
    import com.sap.aii.af.lib.mp.module.*;
    import com.sap.aii.af.lib.trace.Trace;
    import com.sap.aii.af.sdk.xi.mo.Message;
    import com.sap.aii.af.sdk.xi.mo.MessageContext;
    import com.sap.aii.af.sdk.xi.mo.xmb.XMBMessageOperator;
    import com.sap.aii.af.sdk.xi.mo.xmb.XMBPayload;
    import com.sap.aii.af.sdk.xi.util.PayloadType;
    import com.sap.aii.af.service.auditlog.Audit;
    import com.sap.aii.af.service.cpa.*;
    import com.sap.engine.interfaces.messaging.api.MessageDirection;
    import com.sap.engine.interfaces.messaging.api.MessageKey;
    import com.sap.engine.interfaces.messaging.api.Payload;
    import com.sap.engine.interfaces.messaging.api.auditlog.AuditLogStatus;
    import java.util.Hashtable;
    import java.util.Iterator;
    import java.util.Locale;
    import javax.ejb.*;
    public class MultiSwapRead
        implements SessionBean, Module
        private static final String VERSION_ID = "$Id: //tc/xpi.af/NW731EXT_07_REL/src/_af_application_ejb_module/ejbm/api/com/sap" +
    "/aii/af/app/modules/PayloadSwapBean.java#1 $"
        private static final Trace TRACE = new Trace("$Id: //tc/xpi.af/NW731EXT_07_REL/src/_af_application_ejb_module/ejbm/api/com/sap" +
    "/aii/af/app/modules/PayloadSwapBean.java#1 $"
        private static final String SIGNATURE_PROCESS = "process(ModuleContext , ModuleData)";
        protected Hashtable cachedChannels;
        protected SessionContext myContext;
        public MultiSwapRead()
            cachedChannels = new Hashtable();
        public void ejbRemove()
        public void ejbActivate()
        public void ejbPassivate()
        public void setSessionContext(SessionContext context)
            myContext = context;
        public void ejbCreate()
            throws CreateException
        public ModuleData process(ModuleContext moduleContext, ModuleData inputModuleData)
            throws ModuleException
            if(TRACE.beLogged(200))
                TRACE.entering("process(ModuleContext , ModuleData)", new Object[] {
                    moduleContext, inputModuleData
            ModuleData outputModuleData;
            Iterator itr;
            outputModuleData = inputModuleData;
            String chid = moduleContext.getChannelID();
            TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, (new StringBuilder()).append("performing payload swap for channel ").append(chid).toString());
            LookupManager lman = LookupManager.getInstance();
            Channel chan = null;
      try {
      chan = (Channel)LookupManager.getInstance().getCPAObject(CPAObjectType.CHANNEL, chid);
      } catch (CPAObjectNotFoundException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
      } catch (CPAException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
            Direction direction = chan.getDirection();
            String swapkey = moduleContext.getContextData("swap.keyName");
            String keyvalue = moduleContext.getContextData("swap.keyValue");
            Object obj = inputModuleData.getPrincipalData();
            Object pivotedObj = inputModuleData.getSupplementalData("mp.pivoted");
            boolean pivoted = pivotedObj == null || !(pivotedObj instanceof Boolean) ? false : ((Boolean)pivotedObj).booleanValue();
            Message mo = null;
            if(obj instanceof com.sap.engine.interfaces.messaging.api.Message)
                mo = (Message)((com.sap.engine.interfaces.messaging.api.Message)obj);
            } else
            if(obj instanceof MessageContext)
                mo = ((MessageContext)obj).getMessage();
            } else
                TRACE.warningT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, "no message found");
            if(mo != null && XMBMessageOperator.numberOfPayloads(mo) > 0)
               // String midstr = XMBMessageOperator.getMessageId(mo).toString();
                MessageKey auditkey = new MessageKey(((com.sap.engine.interfaces.messaging.api.Message) mo).getMessageId(), com.sap.engine.interfaces.messaging.api.MessageDirection.INBOUND);
                itr = (Iterator) mo.getAttachments();
                if(swapkey != null && keyvalue != null)
                    StringBuffer textSwappingbyBuf = new StringBuffer();
                    textSwappingbyBuf.append("Swap: swapping by '").append(swapkey).append("' ? '").append(keyvalue).append("'");
                    String textSwappingby = textSwappingbyBuf.toString();
                    TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, textSwappingby);
                    Audit.addAuditLogEntry(auditkey, AuditLogStatus.SUCCESS, textSwappingby);
                   while (itr.hasNext()){
                    boolean swappedp = swapPayloads(mo, swapkey, keyvalue);
                    String swappedStatus = swappedp ? "Swap: successfully swapped" : "Swap: no matching payload found";
                    Audit.addAuditLogEntry(auditkey, AuditLogStatus.SUCCESS, swappedStatus);
                } else
                    StringBuffer textInvalidBuf = new StringBuffer();
                    textInvalidBuf.append("Swap: parameter missing ");
                    if(swapkey == null)
                        textInvalidBuf.append("swap.keyName");
                    if(swapkey == null && keyvalue == null)
                        textInvalidBuf.append(" and ");
                    if(keyvalue == null)
                        textInvalidBuf.append("swap.keyValue");
                    String textInvalid = textInvalidBuf.toString();
                    TRACE.warningT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, textInvalid);
                    Audit.addAuditLogEntry(auditkey, AuditLogStatus.WARNING, textInvalid);
            } else
                String messageEmpty = "Swap: message is empty or has no payload";
                TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, messageEmpty);
            return outputModuleData;
        private static boolean swapPayloads(Message mo, String swapkey, String keyvalue)
            swapkey = swapkey.toUpperCase(Locale.ENGLISH);
            keyvalue = keyvalue.toUpperCase(Locale.ENGLISH);
            int ifound = -1;
            for(int i = 0; i < XMBMessageOperator.numberOfPayloads(mo); i++)
                XMBPayload pldi = XMBMessageOperator.getPayload(mo, i);
                String pldivalue = null;
                if(swapkey.equals("PAYLOAD-DESCRIPTION"))
                    pldivalue = pldi.getPayloadDescription();
                } else
                if(swapkey.equals("PAYLOAD-NAME"))
                    pldivalue = pldi.getPayloadName();
                } else
                    pldivalue = pldi.getContentAttribute(swapkey);
                if(pldivalue == null)
                    continue;
                pldivalue = pldivalue.toUpperCase(Locale.ENGLISH);
                if(pldivalue.indexOf(keyvalue) < 0)
                    continue;
                ifound = i;
                break;
            if(ifound >= 0)
                XMBPayload pldfound = XMBMessageOperator.getPayload(mo, ifound);
                if(pldfound.getPayloadType() != PayloadType.APPLICATION)
                    XMBPayload pldapp = XMBMessageOperator.getApplicationPayload(mo);
                    if(pldapp == null)
                        pldfound.setPayloadType(PayloadType.APPLICATION);
                    } else
                        pldapp.setPayloadType(PayloadType.APPLICATION_ATTACHMENT);
                        pldfound.setPayloadType(PayloadType.APPLICATION);
                    TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, "successfully swapped");
                return true;
            } else
                TRACE.warningT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, "no matching found");
                return false;
    We couldn't go further. Please have a look in highlighted code.
    Regards,
    Kesava.

  • What is the maximum size a sender SOAP adapter can handle?

    Hi,
    I am using sender SOAP adapter and receiver RFC adapter.
    What is the maximum size of request message it can handle efficiently.
    In the current scenario which I need to design , the request XML file could be up to 24 MB.
    Also if you could comment on which would be the best to use as the sender side - SOAP or File Adapter
    when the request message/file is of such size?
    regards
    Arun G

    hi,
    >What is the maximum size of request message it can handle efficiently.
    it totally depends on your hardware and flow design inside XI/PI
    >In the current scenario which I need to design , the request XML file could be up to 24 MB.
    this size is not a lot for a "normal" XI machine but it also depends on the
    volume of those messages - that is if you need to send
    one message like that per day or 1000 per half an hour...
    >Also if you could comment on which would be the best to use as the sender side - SOAP or File Adapter
    when the request message/file is of such size?
    SAP's general recommendation is to use messages around 5mb
    but it heavily depends on other factors so don't threat it as a must
    Regards,
    michal Krawczyk

  • Sender File Adapter Problem when text document is a single line.

    Hi All,
    I have posted this question earlier too. But did not get a proper answer.
    I am using File adapter to fetch data from a file system.
    My input data is: AA123BB45678AA345BB78564.
    It is just reading the first segment i.e.AA123 and not reading the remaining.
    How can I configure my Sender File adapter to pick this pattern of data? It works fine if I have line break after each record that is if the input is as below.
    AA123
    BB45678
    AA345
    BB78564
    In the above there is a Line break after each segment. So File adapter picks it fine.
    I have also tried using xml.A.endSeparator equals to blank in the module configuration. But it does not work either.
    Can anyone throw some light to this?

    Abhi
    I tried a different approach to send your file data In..
    You can get each line in the source structure in separate row as
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns:SingleRowDT xmlns:ns="http://xxxxx.com/xi/pocs/sriram">
    - <Recordset>
    - <row>
      <rowElt>AA123BB45678AA345BB78564</rowElt>
      </row>
    - <row>
      <rowElt>AA123BB45678AA345BB78564AA123BB45678AA345BB78564</rowElt>
      </row>
    - <row>
      <rowElt>AA123BB45678AA345BB78564AA123BB45678AA345BB78564AA123BB45678AA345BB78564</rowElt>
      </row>
      </Recordset>
    Now you can use a suitable mapping logic to split the individual records into the 2 field structure as expected in the target..
    Trying your way would be a limitation on file adapter I think..Let me know if this helps..I can give you the content conversion config for this model..
    its simply
    RecordSet - Leave it empty
    RecordSet Seq -  Row, *
    Recordsets/msg - *
    row.fieldSeparator - 'nl'
    row.endSeparator - 'nl'
    row.fieldNames - 'rowElt
    ..So each line will be pulled into a single Row in the source structure and then u can apply a specific mapping to split into 2 fields for your target
    Regards
    Sriram V.
    Regards
    Sriram V.

  • Sender Idoc_AAE Adapter for flat file format

    I have been given to develop a Scenario where in  an Idoc in a flat file (.txt) format needs to be sent from ECC system to a Bank SFTP server . NO ESR objects are involved ,just pick and place .Kindly Explain the configuration on the Sender Idoc_AAE Adapter .

    Hi Srinath,
    Please refer the below blogs for IDOC_AAE configuration
    How to create and configure Sender Idoc AAE Scenario - PI 7.3
    refer the below blog for IDOC to file scenario (with IDOC_AAE)
    IDOC_AAE To File with all Configurations
    to convert IDOC XML to IDOC flat you need to create JCA in NWA. Please refer the below blog
    Converting IDoc XML to Flat File and Vice-Versa
    regards,
    Harish

  • Sender IDOC adapter for SAP 3.1H system & XI 7.0

    We are on XI 7.0 and XI would receive a IDOC message from SAP 3.1H system.
    I need to import IDOC's in imported objects in integration repository but I cannot see any IDOC under the IDOC node. I am able to see the RFC's. Do we need to do extra steps with SAP 3.1H version for IDOC adapter?
    Thanks in advance for help!
    Mrudula

    Ahmad,
    This thread is for sender RFC adapter. I am able to see the all the RFC's but not IDOC's from Integration repository for imported objects from SAP 3.1H version.
    Thanks!
    Mrudula

  • Utility for handling multiple Oracle instances (docs, changes, etc.)

    Please, remove this topic if it's not appropriate for this forum.
    I handle several databases (up to 50), and I would like to have some utility for handling them in way to have:
    - graphical GUI for their physical location
    - to keep info about all changes that I make on those instances
    - keep info about various properties (DB version, log_mode, last backup, etc, etc...)
    is there such utility (maybe even not from Oracle)
    tnx

    haven't find a useful one, so I'm closing it

  • Sender mail adapter to hit multiple Mailbox

    Hi
    We have scenario to read emails from 100 mail ids.
    Can we hit 100 Email ids to read email using single mail adapter?
    Can we achieve it using standard module?
    Do we need to develop custom module to read emails from 100 mail ids?
    I checked option for distribution list also but it seems we can not hit distribution list to read emails.
    Thanks

    Hi,
    Can we hit 100 Email ids to read email using single mail adapter?
    no, you have to configure url / authentification in the adapter what is obviously different for different ids.
    Can we achieve it using standard module?
    Do we need to develop custom module to read emails from 100 mail ids?
    You don't need module, you need 100 sender channels.
    /Udo

  • Script for combining multiple documents?

    hi there,
    well I think there's been a lot of discussion going towards this topic. My concerns aren't quite lining up with the topics. We using a script for placing images, and instead of going document to document...I would like to combine all the indd documents...there's usually at least 24...and to import NOT as pdf's, just as individual pages within the one document...insert my images using the other script...and then later choosing to re-export the pages as individuals. With ascending order of page numbers in the correct sequence they were brought in as.
    thanks for the help.

    -Printing by folder only helps when I need to run one copy of the files, typically I need to print multiple copies or save them for future printing.  Also I have had errors printing via that method before because it will sometimes overload the printer queue.
    -It would be great if clients always provided print ready documents, but that is usually not the case and I have to correct it which is why I am here asking how to do this.
    And if you can not do that then you need to insert a blank page into the files with an odd number of pages.
    Right.  That is what I am looking for; something to automate inserting a blank page into files that have an odd number of pages WITHOUT knowing the documents page counts before hand and WITHOUT having to manually insert blank pages.

  • Receiver file adapter to handle multiple structure

    Hi all,
    I have an issue writing file to the file server using receiver file adpater, I am using file content conversion and my file adapter.
    My data type of the output file has 3 hierarchy.
    header
    Item
      subitem
    for every item ,multile subitem would occur, but i am getting error in the communication channel, the adapter takes the fixed field length of the "Item" and looks for the subitem while writing the file.
    Let me know if any one has come across this issue.
    thankx in advance,
    Shree

    Hello!
    Is there really no possibility to convert a structure with a deeper hierarchy of 2?
    I'm trying to convert a structure like this into a flat csv-file
    <root>
    <STRUCTURE1>
      <value1>value</value1>
      <value2>value</value2>
      <value3>value</value3>
        <STRUCTURE2>
          <valuea>value</valuea>
          <valueb>value</valueb>
          <valuec>value</valuec>
            <STRUCTURE3>
              <valueZ>value</valueZ>
              <valueY>value</valueY>
              <valueX>value</valueX>
            </STRUCTURE3>
        </STRUCTURE2>
    </STRUCTURE1>
    </root>
    I implemented that the values are printed in lines separated by ";". A new dataset is printed in a new line. I'm just missing my headerline. That won't work.
    Any idea?

  • What is the best adapter for connecting multiple monitors via Thunderbolt?

    Currently using two 24" Dell monitors (one T-bolt, one via usb adapter), but have consistently poor performance with USB video adapters.  I'm looking to replace one monitor with a 32" LED display via hdmi and would like to move to dual 32's in the future.  Recommendations?

    I have a mid-2012 MacBook Pro with Retina Display and I use two 24" external monitors.
    One is connected via HDMI and the other is connected via Mini DisplayPort to HDMI adapter and I have no problems whatsoever.

  • How to pick files from multiple directories via Sender File Adapter?

    Hi guys,
    I have a scenario File to IDOC. The Sender File Adapter has to take all files: .xml from Source directory E://Current/.
    Actually directories are like
    E:/Plant1/Current/
    E:/Plant1/History/
    E:/Plant2/Current/
    E:/Plant2/History/.
    Can I have one Sender File Adapter to pick all *.xml files
    from
    E:/Plant1/Current/ and
    E:/Plant2/Current/  and how can I write it in Source Directory of Communication Channel?
    Or do I have to have a Sender File Adapter for each Plant?
    Any suggestion please?
    Kind regards,
    Danijela Zivanovic

    Hey
    You might wanna have a look at "Additional selection for source file" parameter in sender file adapter.
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/singleSenderFileCC4MultipleDirectories
    XI/PI: how to exclude files in a sender File adapter?
    Even though this method works but there are some constraints,please check help.sap.com for constraints.
    Thanx
    Aamir

Maybe you are looking for

  • Error when creating DVD

    I was creating a DVD with iDVD using 4 .mov (created with iPhoto slideshow) and and project created with iMovie, and the following error occur. Then I tried deleting the project so with only the 4 .mov (created with iPhoto slideshow), and the same er

  • Div span edge to edge; slight problem...

    I would like to fix the 'container' that is light gray. It is not going full width span the way the containerWhite is. This is a very rough mock up of the building blocks, completely stripped down... I examined the code over & over, and in another co

  • How do I open same file twice in LR into Photoshop

    I like to work on the same image in two different windows in photoshop.  I like to see different options with editing on two or sometimes open the original image again to apply image to tone down editing.  When I click open in photoshop through LR4 i

  • Markup tool properties error, Acrobat closes

    Every time I try to access the markup tool properties (ie: trying to change the color of a rectangle) Acrobat encounters an error and closes. Same error occurs with other markup tools and also cropping. This problem pretty much makes my Acrobat marku

  • Trying to set colum to be '*A'+ID+'*'

    Hello, I am trying to update subdescription2 to be *A(number from ID column)* But when I run the below I get, Conversion failed when converting the varchar value '*' to data type int. Update Item Set Subdescription2 = '*A'+ID+'*' Thank you