Filenaming convention-Receiver adapter

Dear All,
In a file to file scenario, I am sending a file with specific file name and now at the receiving end i used have the file name as same name along with timestamp and a counter both. Is there any dynamic file naming program available.
Please provide some suggestions.
Regards,
Nithiyanandam

Hi....
   Create a new field in the target structure.
  For that map like below
  DynamicConfiguration -->
            Counter -->           concate --> Targetfield
And use variable substituion in the reciever communication channel.and also choose file construction mode as 'AddTimeStamp'.
If you dont want  the extra field in the target payload, use FCC and remove that extra field.
Thanks ,
Leela

Similar Messages

  • Q? how to change filename of receiver adapter includeing payload attribute?

    hi all.
    our scenario is IDOC - XI - FILE.
    IDOC is standard type .xml"
    Despite of searching help library, just read about how to change using payload value.
    How to change the filename using payload attribute?
    Message was edited by: ChangSeop Song

    Hi,
    You can create the file name dynamically from the payload of the receiver adapter as follows.
    From the requirement you have stated, you want your file to be named as,
    TPSDLS<shipmentid>.
    For this, in the reciver file adapter, give your filename as <b>TPSDLS%var%</b> and under variable name substitution,
    <b>var</b> --> <b>payload:IDOCTYPE,1,Shipments,1,ShipmentID,1</b>
    here, var acts as your variable name and it first looks for IDOCTYPE and its first occurence, shipment and its first occurence and finally, shipmentID and its first occurence. There by generating the filename dynamically.
    For more info on this, check the topic <b>variable substitution</b> under this link.
    http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
    hope this helps,
    let me know if you have any clarification,
    regards,
    bhavesh

  • Filename from payload - FTP receiver adapter

    Hello everyone!
    I have a scenario wherein I need to get the value from a field coming from an IDOC and then give that value as the "filename" of the file that is saved in the FTP folder.
    IDOC > XI > FILE
    For example, if /ORDERS05/IDOC/E1EDK02/BELNR = 620000123
    then I want the name of the file to be saved in the FTP folder to be 620000123.xml
    I understand you may use the 'variable substitution' property in the FTP receiver adapter, but subsequent attempts at trying to configure that property have resulted in errors. Can anyone help me out?
    Warm regards,
    Glenn

    do u have recordset name (root message)
    For Ex: If you want to refer to the field which is bold
    below is your variable substuition:
    payload:root,1,e1,1,e2,2
    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
      <dummy>
         <e1>
            <e2>Data_1</e2>
            <f/>
           <g attr="abc">text</g>
            <e2>Data_2</e2>
         </e1>
      </dummy>
      <e1>
         <e2>illegal/value</e2>
         <f/>
         <g attr="abc">text</g>
         <e2 attr="fghij">Example Value</e2>
       </e1>
    </root>
    Similarly
    for your strucutre:
    <MS_MT>
    <order>
          <number>
    the variable substuition would be
    payload:MS_MT,1,order,1,number,1
    you have to give complete XML to arrive to this value.

  • Receiver determination using substring in filename in file adapter

    Hi
    In PI 7.11 I would like to determine the receiver based on a substring in the filename in a file receiver adapter. I am planning on using a context object but am having trouble entering the correct code in the "Right Operand" field.
    I have tried selecting Context Object = Filename http://sap.com/xi/XI/System/File and entering this code in the Right Operand: "contains(substring('_4000_'))"   and an "=" in the as I am looking for a filename, that contains the substring "_4000_".
    I would like to avoid using an extra map and using Dynamic Configuration, as I thing this would be the most elegant way of fixing it
    Is there a way of referencing the context object if I chose xpath in stead of context object?
    MIkael

    Hi Mikael,
    I have the same scenario like you , could you please tell me about the condition how to you use XPath for Context Object
    I need to check the file name and according to that I have to put the file in the different directory.
    Source File: XXXX_IN_xxxx
                       XXXX_PH_xxxx
    I have to check the 7th and 8th Char of the file and according to that I have to place the file in the folder
    Target: DGE008\IN\Inbound
                DGE008PH\Inbound
    I don't know how to used the XPATH for file and specially how to use the substring in that.
    Could you please help.
    Thanks,

  • Variable Substitution File Receiver Adapter

    Hi,
    I am in the process of implementing a scenario involving the conversion of a .jpg file to .bmp. In my scenario, I'd like to the .bmp file name to be dynamically controlled; therefore, I have used the Variable Substitution option in the File Receiver Adapter.
    In both the File Sender & Receiver comm. channels, I have ticked 'Adapter Specific Messsage Attributes' check-box and selected the 'File Name' option.
    The File Receiver comm. channel also has the following:
    File Name Scheme*: %File_Name%.bmp
    Variable Name: File_Name
    Reference: message:FileName
    Having done the above, I am getting the following error message in Comm. Channel Monitoring:
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: Unknown message header category 'FileName' for variable 'File_Name'.: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: Unknown message header category 'FileName' for variable 'File_Name'.
    Would really appreciate your assistance on this.
    Regards,
    Reuben.
    PS: The Sender File Adapter has the

    Hi,
    The full error message is s follows:
    Runtime exception during processing target field mapping /ns0:MaterialBITMAP_In. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._Test_Conversion_ method setfilename$[17092008, osinef, com.sap.aii.mappingtool.tf3.rt.Context@d3b0d3b] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:MaterialBITMAP_In. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._Test_Conversion_ method setfilename$[17092008, osinef, com.sap.aii.mappingtool.tf3.rt.Context@d3b0d3b] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:350) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:312) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._Test_Conversion_ method setfilename$[17092008, osinef, com.sap.aii.mappingtool.tf3.rt.Context@d3b0d3b] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:56) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:294) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:312) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:47) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:294) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:312) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.lang.NullPointerException at com.sap.xi.tf._Test_Conversion_.setfilename$(_Test_Conversion_.java:61) ... 24 more RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:MaterialBITMAP_In. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._Test_Conversion_ method setfilename$[17092008, osinef, com.sap.aii.mappingtool.tf3.rt.Context@d3b0d3b]
    11:15:02 End of test
    Reuben.

  • Problem with Variable Substitution Receiver Adapter

    Hi,
    I need to use a dynamic filename so I'm using the variable substitution in my receiver adapter. BUT, the filename can't appear in the file. So i used this blog in reference --> Solution to the problem encountered using Variable Substitution with XI-SP12
    The PROBLEM is I still get and extra blank line in the file. How can I eliminate this extra line?
    Thanks in advance.
    Using XI 7.0

    Hi Gaurav,
    Data Type:
    Lines
       Line
    Config
       FileName
    XML - example:
    <?xml version="1.0" encoding="utf-8"?>
    <nr1:MT_TP_TipoCambio_Detalle_ECC_Req xmlns:nr1="urn:erplatam/tipocambio:tp:ecc">
    <Lines>
    <Line>USDSOL0000000000003.10000013-09-200813-09-2008V</Line>
    </Lines>
    <Lines>
    <Line>USDSOL0000000000002.50000014-09-200814-09-2008V</Line>
    </Lines>
    <Config>
    <FileName>SIGMA_TCSAP_F081031.DAT.TXT</FileName>
    </Config>
    </nr1:MT_TP_TipoCambio_Detalle_ECC_Req>
    Output - File, has 3 lines should have only 2:
    USDSOL0000000000003.10000013-09-200813-09-2008V
    USDSOL0000000000002.50000014-09-200814-09-2008V
    FCC parameters:
    RecordSet Structure: Lines,Config
    Lines.fieldSeparator 'nl'
    Lines.endSeparator 'nl'
    Config.fieldSeparator 'nl'
    Config.endSeparator 'nl'
    Thanks in advance!

  • Query on Mail Receiver Adapter

    Hello Experts,
    I am using Asyn Proxy to Mail Scenario.
    Mail receiver adapter generating the Mail with Excel file attachment by using the following details.
    R3 coding (Proxy calling code):-
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-FROM = From Mail ID.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-TO = To Mail ID
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-SUBJECT = 'Alert Mail'.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-DATE = SY-DATUM.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-CONTENT_TYPE = 'application/vnd.ms-excel;name="filename.CSV"'.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-CONTENT = 'Field1,Field2,Field3'.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-CONTENT_DISPOSITION = 'attachment'.
    ID COnfiguration:-
        -->Selected the Use Mail Package & Content Encoding = base64
        -->Selected the Keep Attachment option.
    I have two questions as mentioned below.
    (1)Can i generate the Mail BODY and Excel file attachment both together in a single mail?
    (2)With this same IR & ID Objects can i generate only Mail body without any attachment (i.e.
    by changing the Content_Type in R/3 coding) ?
    Please suggest.
    Thanks & Regards
    Jagesh

    Hi Michal,
    Thanks for ur reply.
    I referred your Blog /people/michal.krawczyk2/blog/2006/04/19/xi-rfc-or-abap-proxy-abap-proxies-with-attachments for genreating the
    Mail With attachment and Content together.
    but when I select the option KEEP ATTACHMENT in the Mail Receiver Adapter and sending only the Content data without any attachment coding as shown in this Blog then also i am getitng attachment(.txt) file and no mail content. In this case i have used the following R/3 coding.
    G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-FROM = From Mail ID.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-TO = To Mail ID.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-SUBJECT = 'subject'.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-DATE = SY-DATUM.
          G_ALERT_INPUT-MT_R3REQUEST_MAIL_SEND-MAIL-CONTENT = 'How are u? This is Mail Content'.
    Calling the Proxy method.
    Important:- with this same coding if i deselct the KEEP ATTACHMENT option in ID then i am geeting
    Mail Content properly.
    So i think i have to use different communication chaneel one for the Excel file attachment and second for the Mail content.
    Please suggest me if i am wrong.
    Regards,
    Jagesh

  • Extra header lines appearing in payload after singning and encrypting in Mail Receiver adapter PI 7.31

    Hi,
    We have a mail receiver adapter which is sending out a edi payload as attachment to the external receiver.
    When we send the normal .edi file it is ok.
    But when we sign and encrypt the payload and send it out, the external customer receiver decrypts and validates the message successfully but when their application tries to read the edi payload it finds the extra header lines as below :
      content-id:
    <[email protected]>
    Content-Disposition: attachment; filename=xxxxxxxx.edi Content-Type:
    application/xml
    At their end, their application (DataPower) expects the first three characters of the payload
    (decrypted payload) to be either UNA or UNB.This is how it validates whether the incoming message is an EDI message.
    But it encounters the extra MIME headers in the payload.
    Therefore it gets rejected by DataPower which thinks the content is an
    unknown message type.
    How to suppress the header lines appearing in the payload(after decryption and validation).
    Thanks,
    Guest

    hi,
    try content-type as "text/xml"

  • Mail receiver adapter: THeaderREPLY-TO not working on ASMA

    Hello people,
    (note: all the @ where changed by " at " because of limitations of SDN)
    I'm trying to set some adapter specific message attributes (ASMA) in a mail receiver adapter.
    Two properties I'm trying to set: THeaderFROM e THeaderREPLY-TO.
    The first one is working great, the second one does not work.
    My scenario is Soap to Mail. I send a soap message, in the message mapping a user defined function get the mail address (to and reply-to) and set it with DinamicConfiguration like this (hard coded to be simple):
    DynamicConfiguration conf = (DynamicConfiguration)container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/Mail", "THeaderREPLY-TO");
    conf.put(key, "reply.to at teste.com";);
    DynamicConfigurationKey from = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/Mail", "THeaderFROM");
    conf.put(from, "from at teste.com";);
    As in the documentation, it should work. But the mail message reaches the mailbox with mime header Return-Path = from at teste.com.
    Reading all the notes related to mail adapter (and adapter module processing) I found the tool TCPGateway to monitor what is going from adapter engine to the mail server. So I changed a little the scenario to test it and now the scenario is Soap->TCPGateway->MailServer. In the TCPGateway I got this:
    EHLO brjgs916.weg.net
    MAIL FROM:<from at teste.com>;
    RCPT TO:<roberti at mycompany.net>;
    DATA
    Date: Thu, 5 May 2011 19:55:17 -0000
    Subject: mail - teste
    To: roberti at mycompany.net
    From: from at teste.com
    MIME-Version: 1.0
    content-id: payload-98c5c8b0775111e090110018714e4a28 at sap.com
    Content-Type: text/xml;charset=utf-8
    Content-Disposition: attachment;filename="Untitled.xml";
    Content-Transfer-Encoding: binary
    <?xml version="1.0"; encoding="UTF-8"?>
    <ns0:MTP_SAMPLE_MAIL_MESSAGE xmlns:ns0="http://soa.weg.net/sampleMail"><Title>titulo</Title><Body>body a ser preenchido</Body><Footer>footer tambem</Footer></ns0:MTP_SAMPLE_MAIL_MESSAGE>.
    QUIT
    With this information, I found that something is not right in the mail adapter, because it is not writing the relevant reply-to attributes to the mail message.
    Some of you has any idea about it?
    Thank you in advance.
    waldemar roberti
    Edited by: Waldemar Roberti on May 5, 2011 5:02 PM

    Satish,
    Actually (for testing purposes) I have the email roberti at mycompany.com set in all fields of receiver mail adapter mail attributes (from, to, cc and bcc). I turned all of them on and of and analysed the result. It seems that the information whe put on ASMA overloads the information on these mail attributes. But, in mail attributes, we don't have a field for REPLY-TO, just on ASMA we have this field.
    So... the problem is in REPLY-TO. It has not been set in mail adapter, even if I set it with dinamic configuration.
    thank you.
    Waldemar Roberti

  • File Receiver Adapter - time stamp in front possible ?

    Hi all together,
    is it possible with the file receiver adapter to add a time stamp in front of the filename?
    f.ex. <timestamp>_SUFFIX.dat
    With file creation mode "use timestamp" and file name scheme
    SUFFIX_.dat it will create
    SUFFIX_<timestamp>.dat     .
    Thanx a lot for your help
    regards
    Hans

    Hi,
    This is not possible in the communication channel, but if you want to add date time stamp on the filename, you can use dynamic configuration. For that you have to write an UDF in the message mapping concatenate the date tme stamp with the filename and extension.
    In the communication channel you need to check on the message attributes so that when the adapter framework is called the filename generated in the message mapping would be used by the adapter. In the communication channel remove the filename and put * in the filename, as filename is one of the mandatory parameters in the comm channel.
    Regards,
    Indranil
    Award points if helpful

  • Xml file in dynamic file name in file receiver adapter

    Hi,
    I'm doing the dynamic file name in file receiver adapter. I have done as per instructed in /people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i
    All turned out okay. I have got the file name I require. Except that the file format is XML and I need to suppress the filename node occupied by the dynamic file name.
    The content conversion mentioned in /people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12, does not seem to solve my problem. As it is only for file format other than the XML one, because we only do the content conversion if we want to "convert" the format of the content from XML to the other format.
    Does anybody have the solution to my problem? thanks in advance

    Thank you Raj for the direction
    The way to do it is :
    1. In ID, advanced tab, put a check on the adapter-specific message attributes - file name.
    2. Put a "*" on the file name scheme
    3. In IR, create a UDF to set up target file name :
    DynamicConfiguration conf = (DynamicConfiguration) container
    .getTransformationParameters()
    .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    // set up file name for receiver adapter
    String SourceFileName = conf.get(key);
    conf.put(key, TargetFileName);
    return " ";
    4. Map the above UDF to the header level of the target structure.
    Regards,
    Idi

  • Configuring a Seeburger FTP Receiver Adapter

    Hello,
    I am trying to build a scenario where SAP ECC 6 sends an invoice to a customer via EDI.
    We are using ECC 6.0 and PI 7.0 and the Generic Seeburger EDI Adapters. The VAN is a GEIS EDISWITCH VAN (Eircom in Ireland).
    I am able to successfully send an IDoc from ECC 6 and into PI where a Seeburger map converts the message to EDI-XML format. I can use a file adapter to create a file in normal EDI format. But I can't get the Seeburger FTP adapter to work with the VAN.
    I have configured the correct IP, port, username and password but I keep getting the following message when the communication channel tries to send the message:
    <h6>Message processing failed. Cause: javax.resource.ResourceException: Fatal exception: com.sap.aii.af.ra.cci.XIRecoverableException: >> Description: com.seeburger.jftp.app.exception.FtpExceptionSoftProcessingError: Unexpected reply: 501-Syntax errors in parameter.    usage: %[recipient id]%[APRF]       where either [recipient] or [APRF] can be omitted.           (to change your current default SEND relationship).           %% (places you in your 'HOME' TR).   &['s'|'single'] ('get' command gets single file).   &['m'|'multiple'] ('get' command gets multiple files). >> </h6>
    The FTP session is expecting a PUT command with the recipient id and APRF as parameters but these are not getting passed. I suspect this is because I am not passing the correct variables to the receiver adapter but I don't know what variables it expects and where they should be specified. And I can't find the answers in the documentation.
    Can anyone shed some light on what I need to do?
    Thanks,
    Ben

    Hi Prateek,
    Thanks for your comments. The channel is set to GEIS(GeMarkIII). There is nowhere to specify a directory or filename. The settings I have used are as follows:
    Adapter Type: FTP (http://seeburger.com/xi)
    Receiver
    Transport Protocol: FTP
    Message Protocol: GEIS/GeMarkIII
    Adapter Engine: Integration Server
    Host name: <IP address of VAN server>
    port: 21
    User Id: <Our mailbox number>
    Password: <Correct password>
    Host path/VAN Partner ID: <blank>
    Script file: <blank>
    Transfer type: ASCII
    Connection mode: Passive
    Use keep alive: <Not checked>
    Security Mode: None
    Proxy Mode: none
    Resource ID: <blank>
    Deliver transmission report: <not checked>
    Payload mode: Attachment
    Attachment ID: SeeburgerMain
    Channel status: Active
    Use dynamic attributes: <Checked>
    Use non-empty attributes: <Checked>
    Request displayed report: <Not checked>
    Request dispatched report: <Not checked>
    Report timeout (minutes): 720
    Handle received reports: Refer reports to XI system
    There is nowhere in the communication channel configuration that allows me to specify the receiver ID or the APRF. The documentation say this is read from the EDI data and the relevant fields are populated.
    Any ideas?
    Thanks,
    Ben

  • How to pass dynamic filename to Receiver JMS channel

    Hi experts,
    I want to pass the dynamic filename to receiver JMS message Properties.
    for example
    I am passing directory name via adapter module AF_Modules/DynamicConfigurationBean with key and value combination like below. How to pass dynamic filename value to a dynamic property ( say DCJMSMessageProperty1)
    eg.
    key.0 - >insert http://sap.com/xi/XI/System/JMS DCJMSMessageProperty0
    value.0 - >  testdirectory ( which is static value)
    Note: Im have not created any ESR object . i just have to bypass the file to a jms queue. I have used AAE integrated configuration scenario ( file to jms )
    Regards,
    Balaji
    Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:45 PM
    Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:46 PM

    Already given link for the dynamic configuration code snippet in the earlier reply... Below is the code snippet
    Note: Use Adapter Specific Message Attributes for the target Communication Channel(CC).Check the indicator for filename in the advanced tab of CC
    //UDF code
    String filename="";
    String NameSpace = "http:/"+"/sap.com/xi/XI/System/JMS";
    try{
          DynamicConfiguration conf = (DynamicConfiguration) param.get(
            StreamTransformationConstants.DYNAMIC_CONFIGURATION);
          DynamicConfigurationKey key  =  DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File",   "FileName");
           // read filename value
           filename = conf.get(key);     
          // So far we extracted filename value .. now do your logic  something like this...
          DynamicConfigurationKey key2 = DynamicConfigurationKey.create(NameSpace,"yourjmsvalue goes here");
           conf.put(key2,filename);
         } catch(Exception e){

  • Ent-filename in HTTP adapter

    Hi...
    I have a sender file adapter and HTTP receiver adapter.
    In HTTP adapter, in the parameter "ent-filename" , I want to retain the name of the file that was picked.
    In Sender File adapter, I have checked the File Name under Adapter specific message attributes.
    In the HTTP receiver , I tried putting the value for ent-filename as %FileName% .
    When I check in sxmb_moni, it shows me the ent-filename = %FileName%, but not the actual file name.
    Kindly help!
    Thanks,
    Pratibha.

    Here is a blog how to provide the HTTP header fields:
    /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
    If you do not want to write a UDF, you can do it like described in that blog:
    /people/stefan.grube/blog/2009/06/19/unknown-use-case-of-dynamicconfigurationbean-store-file-name-to-jms-header-without-mapping
    Put the modules in sender channel and use the parameters of HTTP adapter.

  • Use of SOAP Receiver Adapter in a recursive way with dynamic Target URLs

    Hi all,
    I have a following scenario.
    1. I have to call a webservice with a URL http://myserver.com/default.aspx?action=index
    This will return a list of xml filenames as below
    <?xml version="1.0" encoding="UTF-8"?>
    <filelist>
      <file uuid="test1" />
      <file uuid="test2" />
      <file uuid="test3" />
      <file uuid="test4" />
    </filelist>
    2. Now I have to call the same webservice with a change in action so that the url looks like
    URL - http://myserver.com/default.aspx?action=fetch&uuid=
    for all the filenames in the list
    So in essence, I have to create a dynamic URLs recursively like
    http://myserver.com/default.aspx?action=fetch&uuid=test1
    http://myserver.com/default.aspx?action=fetch&uuid=test2 and so on
    3. And with each call to the URL in step 2, the incoming xml is to be mapped to an IDoc.
    I will be creating a ABAP proxy to initiate the calls.
    I would like some ideas so as to have a less complex approach to the solution.
    Regards,
    Neeraj

    Hi,
    dynamic SOAP URL - adapter specific properties (http receiver adapter)
    Dynamic configuration payload - https://media.sdn.sap.com/javadocs/NW04/SPS15/pi/com/sap/aii/mapping/api/DynamicConfiguration.html
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","THeaderSOAPACTION");
    String a = http://something.abcd/applicationName/xmlMessage //set the value of actual action here
    conf.put(key, a);
    return "";

Maybe you are looking for