A warning 'channel' ?

Hello.
Consider a method such as:ResultObject get(int requestSize){
} this method will attempt to service the request
and return a result who's size is 'requestSize'.
However, what if the the method could only provide half
the request?
We already have a 'channel' to provide information to the
caller if the method could not service the request at all, but
what if it can service the request, but only part.
In this case it might be nice to notify the caller that they could
not fully satisfy the request, but return the result anyway.
In the currently java world we can solve the problem in a few ways,
"ResultObject" could contain a field indicating if the request was
fully serviced, or the object the method is contained in could contain
some field like "getLastWarning()" indicating if a warning (i.e.
request not completely fulfilled) as available. or, the "get" method
could take a ResultObject as a param and set it's variable itself,
returning a result indicating how the method went (or even throwing
an exception mid-way through the setting). as we know, this is the
appoach taken by the java.io package.
Wouldn't it be nice, however, to be able to throw a "warning" back
to the client (along with the partly-filled RequestObject) notifying them
that only part of their request was filled.
something like:ResultObject get(int requestSize){
  ResultObject result = ...
  throw new Warning(result, "Could not fully satisfy request");
ResultObject res;
try {
  res = get(10);
} catch(Warning w){
  System.out.println("Warning: " + w);
// do things with res. of course, this code is ugly, and hopefully any solution wouldn't
be implement this way, (i mean, we could achieve could like this right
now by tacking on an "Object" to each Exception and then grabbing it
out once it's caught, but it feels ugly.
or is there some obvious, non-hack-like solution to this that I have missed?

In the case of some IO operation, say, when it runsout of
space and can't continue converting something; orany
number of situations ... im sure you can think of afew..?
So you didn't have a particular situation in mind?Well, my situation is practically identical to the InputStream.read(byte[]) situation :)
It is "atomic", the method only does "X", but itjust may ot
be able to fully complete "X" and hence have onlyhalf-x.
Umm.. x is not atomic if there can be "half x", it's
either all of x or none of x :)
I wanted setResources to do both X and Y, I solved the
problem by removing Y.Well, as is realised by my situation, there is no Y, it's really only
X, but X may not be completely satisfied. (byte array not completely filled).
Well sure, and I mentioned this in the OP, but it'ssort of hack-like
isn't it ? I mean, we are avoiding returning what wereally want to
return in place of a confirmation value. it's prettymuch equiv to returning
an error code in place of exceptions. all I wassuggesting is that perhaps
there could be a similar channel as Exceptions forWarnings (read != request)
and so on.
well, maybe there could be something, maybe there
could be somethign that let you return a value
and throw a 'warning' .. but with the current
toolset that's not possible. Sure, but maybe it could be changed ;) Not that I have much hope
of that happening ... however I am gathering a nice little list of features
that I would like in my own language :)
I disagree it is like
returning an error code instead of throwing an
exception; if a part of the task can be expected to
fail, exceptions should not be used. And what about
the caller, the caller may want to know what part of
the task failed; how many bytes could not be read,
which resources could not be booked, etc, using the
return value of a method seems most natural for
that..You lost me a bit here, I'm not sure if you misunderstood my previous
statement; let me clarify:
I meant returning an error code compared to exceptions is like returning
the number of bytes returned instead of a 'warning'. using the return value
to do something other then return a useful object is more procedural and c-like
rather then java-oo like.
the exception channel is great; if only we could get a warning channel
to accompany it, it would be complete :)
in your case returning the number of resources that could not be booked seems
logical if that is the point of the method. but if the method is design to return a
"BookingSchedule" or whatever it's a little strange to see the number of returned
books come back and the bookingSchedule filled out via a param, isn't it ? (not
sure if this is what you were suggesting, but this is the equiv implementation
the in.read() approach takes, of course).
the things mentioned so far are usually of
doX-nature and not of calculateX, the return value
wouldn't get used for other purpose.....in my situation, it is a "getX" based operation hence I must
return X, not a count indicating how far I could satisfy the request
for X. (i.e: to solve my problem I need to implement it in the form
of in.read() not the logical returning-the-result system).

Similar Messages

  • Local channel request

    I noticed that channel 98, 99, 20 (time warner channel numbers)is not in the lineup for the "local channel" selection in the Los Angeles region.  There are alot of mandarin speakers in this part of California.  There is a paid subscription for the mandarin package that is an extra $ per month,  i believe if you can have 20+ spanish local channels for free you can add these three channels.  Our area,  Diamond Bar is not set to launch Fios until may/june 09'   we will not even consider switching from Time Warner to Fios unless we get those channels.
    Message Edited by fiosdude on 04-01-2009 02:04 AM

    Hello All,
    When I tried different instance of orgservice object in each thread I got following error:
    {"Secure channel cannot be opened because security negotiation with the remote endpoint has failed. This may be due to absent or incorrectly specified EndpointIdentity in the EndpointAddress used to create the channel. Please verify the EndpointIdentity
    specified or implied by the EndpointAddress correctly identifies the remote endpoint. "}
    Inner Exception-The request for security token has invalid or malformed elements.
    Dimaz, I am not using CrmServiceContext. I have created one test project and in that I am only using object of  IOrganizationService and also only execute method.
    Scenario which I understood till now is if we have following two statements which has been used by all threads:
    RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest
                        EntityLogicalName =
                            EntityName,
                        LogicalName = optionlist.Key
                    // Execute the request
                    RetrieveAttributeResponse attributeResponse = (RetrieveAttributeResponse)crmDao.Orgservice.Execute(attributeRequest);
                    ICollection<object> values = attributeResponse.Results.Values;
                    OptionMetadataCollection op = null;
                    foreach (PicklistAttributeMetadata lookupobj in values)
                        op = lookupobj.OptionSet.Options;
    And if after creating request object in thread1 if pointer goes to thread 2 and perform some processing in thread 2 and them come back in thread 1,it doesn't have proper token values in Orgservice object and gives above error.
    Please help me with this and also if anyone tried threading application before can I get sample code related to this. I am really stuck up on this very badly...:(

  • Error In sender file adapter

    Hi Experts,
                  I done a file to file scenario by configuring FCC on both sender side and receiver side. my sender and reciver adapter ( file ) shows green status in adapter monitoring.
                 my file is picked from specified directory, but i am unable to saw message in moni.
                when i go for communication channel monitoring, it shows a warning as follows.
    Time Stamp     Status     Description
    2007-09-04 12:14:56     Success     Channel file_send_terat1: Entire file content converted to XML format
    2007-09-04 12:14:56     Warning     Channel file_send_terat1: Empty document found. Proceed without sending message
    2007-09-04 12:14:56     Success     File "/tmp/xidelivery/send/test_in.txt" deleted after processing
    Note :1. my sender xml meaaseg is as follows
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MTO_test1 xmlns:ns0="http://INOACGroup.com/test/0001">
       <recordset>
          <header>
             <field1>1234</field1>
             <field2>A</field2>
             <field3>abc</field3>
          </header>
          <item>
             <field4>567</field4>
             <field2>B</field2>
             <field6>def</field6>
          </item>
          <tail>
             <field7>8901</field7>
             <field2>C</field2>
             <field9>ghi</field9>
          </tail>
       </recordset>
    </ns0:MTO_test1>
    2. my sender side FCC parameters as follows.
    i mention recordet name and record set structure also.
    header.keyFieldValue  - 'A'
    header.fieldNames - field1,field2,field3
    header.fieldFixedLengths 4,1,3
    item.keyFieldValue-'B'
    item.fieldNames- field4,field2,field6
    tail.keyFieldValue- 'C'
    tail.fieldNames - field7,field2,field9
    tail.fieldFixedLengths-4,1,3
    3.my testdata is fixedlenths and continoues data
    please resolve my problem,points are given to the expert who resolved.

    Hi Madesh,
    For this Input
    234Aabc5678Bdef8901Cghi
    The out put of the FCC will be..
    header.keyFieldValue - 'A'
    header.fieldNames - field1,field2,field3
    header.fieldFixedLengths 4,1,3
    <b>Result:</b>
    Field1: 234A
    Field2: a
    Field3: bc5
    Now the key field i.e is Field2 Value is <b>'a'</b> where as u have specified <b>header.keyFieldValue - 'A'</b> so u dont get this message in Moni.
    item.keyFieldValue-'B'
    item.fieldNames- field4,field2,field6
    <b>There is no fixed field length defined for the iteml</b>
    tail.keyFieldValue- 'C'
    tail.fieldNames - field7,field2,field9
    tail.fieldFixedLengths-4,1,3
    If u go thru this help http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
    It is clearly specified that <b>A substructure must always be shown in exactly one line of the text document.</b>
    Since all the records are in the same line the fixed field lenths for item and tail will not apply in your case...
    Regards
    Santhosh
    Remember to set the thread to solved when you have received a solution

  • Fix many web access problems with IFS 9.0.1 on Solaris (and other OS's)...

    When the installation is done according to the documentation,
    web access does not work because the scripts that add entries to
    the jserv.properties file add duplicate references to
    wrapper.env and wrapper.classpath. Look at the jserv.properties
    file below and look at the remarked-out (#) lines of the
    duplicate references. For example, look at the references to the
    wrapper.env=LD_LIBRARY_PATH
    Oracle, please note this bug so the web access problems are
    minimized when the product is intstalled.
    Thank you,
    William T.
    # Apache JServ Configuration
    File #
    ################################ W A R N I N G
    # Unlike normal Java properties, JServ configurations have some
    important
    # extensions:
    # 1) commas are used as token separators
    # 2) multiple definitions of the same key are concatenated in
    a
    # comma separated list.
    # Execution parameters
    # The Java Virtual Machine interpreter.
    # Syntax: wrapper.bin=[filename] (String)
    # Note: specify a full path if the interpreter is not visible in
    your path.
    wrapper.bin=/d3/Apache/jdk/bin/java
    # Arguments passed to Java interpreter (optional)
    # Syntax: wrapper.bin.parameters=[parameters] (String)
    # Default: NONE
    wrapper.bin.parameters=-Xms64m
    wrapper.bin.parameters=-Xmx128m
    # Apache JServ entry point class (should not be changed)
    # Syntax: wrapper.class=[classname] (String)
    # Default: "org.apache.jserv.JServ"
    # Arguments passed to main class after the properties filename
    (not used)
    # Syntax: wrapper.class.parameters=[parameters] (String)
    # Default: NONE
    # Note: currently not used
    # PATH environment value passed to the JVM
    # Syntax: wrapper.path=[path] (String)
    # Default: "/bin:/usr/bin:/usr/local/bin" for Unix systems
    # "c:\(windows-dir);c:\(windows-system-dir)" for Win32
    systems
    # Notes: if more than one line is supplied these will be
    concatenated using
    # ":" or ";" (depending wether Unix or Win32) characters
    # Under Win32 (windows-dir) and (windows-system-dir) will
    be
    # automatically evaluated to match your system
    requirements
    # CLASSPATH environment value passed to the JVM
    # Syntax: wrapper.classpath=[path] (String)
    # Default: NONE (Sun's JDK/JRE already have a default classpath)
    # Note: if more than one line is supplied these will be
    concatenated using
    # ":" or ";" (depending wether Unix or Win32) characters.
    JVM must be
    # able to find JSDK and JServ classes and any utility
    classes used by
    # your servlets.
    # Note: the classes you want to be automatically reloaded upon
    modification
    # MUST NOT be in this classpath or the classpath of the
    shell
    # you start the Apache from.
    wrapper.classpath=/d3/Apache/jdk/lib/tools.jar
    wrapper.classpath=/d3/Apache/Jserv/libexec/ApacheJServ.jar
    wrapper.classpath=/d3/Apache/Jsdk/lib/jsdk.jar
    # An environment name with value passed to the JVM
    # Syntax: wrapper.env=[name]=[value] (String)
    # Default: NONE on Unix Systems
    # SystemDrive and SystemRoot with appropriate values on
    Win32 systems
    wrapper.env=PATH=/d3/bin
    # An environment name with value copied from caller to Java
    Virtual Machine
    # Syntax: wrapper.env.copy=[name] (String)
    # Default: NONE
    # Uncomment the following lines to set the default locale and
    NLS_LANG
    # setting based on the environment variables.
    # wrapper.env.copy=LANG
    # wrapper.env.copy=NLS_LANG
    # Copies all environment from caller to Java Virtual Machine
    # Syntax: wrapper.env.copyall=true (boolean)
    # Default: false
    # Protocol used for signal handling
    # Syntax: wrapper.protocol=[name] (String)
    # Default: ajpv12
    # General parameters
    # Set the default IP address or hostname Apache JServ binds (or
    listens) to.
    # If you have a machine with multiple IP addresses, this address
    # will be the one used. If you set the value to localhost, it
    # will be resolved to the IP address configured for the locahost
    # on your system (generally this is 127.0.0.1). This feature is
    so
    # that one can have multiple instances of Apache JServ listening
    on
    # the same port number, but different IP addresses on the same
    machine.
    # Use bindaddress=* only if you know exactly what you are doing
    here,
    # as it could let JServ wide open to the internet.
    # You must understand that JServ has to answer only to Apache,
    and should not
    # be reachable by nobody but mod_jserv. So localhost is usually a
    # good option. The second best choice would be an internal
    network address
    # (protected by a firewall) if JServ is running on another
    machine than Apache.
    # Ask your network admin.
    # "*" may be used on boxes where some of the clients get
    connected using
    # "localhost"and others using another IP addr.
    # Syntax: bindaddress=[ipaddress] or [localhost] or [*]
    # Default: localhost
    bindaddress=localhost
    # Set the port Apache JServ listens to.
    # Syntax: port=[1024,65535] (int)
    # Default: 8007
    port=8007
    # Servlet Zones parameters
    # List of servlet zones Apache JServ manages
    # Syntax: zones=[servlet zone],[servlet zone]... (Comma
    separated list of String)
    # Default: NONE
    zones=root
    # Configuration file for each servlet zone (one per servlet zone)
    # Syntax: [servlet zone name as on the zones list].properties=
    [full path to configFile]
    (String)
    # Default: NONE
    # Note: if the file could not be opened, try using absolute
    paths.
    root.properties=/d3/Apache/Jserv/etc/zone.properties
    # Thread Pool parameters
    # Enables or disables the use of the thread pool.
    # Syntax: pool=true (boolean)
    # Default: false
    # WARNING: the pool has not been extensively tested and may
    generate
    deadlocks.
    # For this reason, we advise against using this code in
    production environments.
    pool=false
    # Indicates the number of idle threads that the pool may contain.
    # Syntax: pool.capacity=(int)>0
    # Default: 10
    # NOTE: depending on your system load, this number should be low
    for contantly
    # loaded servers and should be increased depending on load
    bursts.
    pool.capacity=10
    # Indicates the pool controller that should be used to control
    the
    # level of the recycled threads.
    # Syntax: pool.controller=[full class of controller] (String)
    # Default: org.apache.java.recycle.DefaultController
    # NOTE: it is safe to leave this unchanged unless special
    recycle behavior
    # is needed. Look at the "org.apache.java.recycle" package
    javadocs for more
    # info on other pool controllers and their behavior.
    pool.controller=org.apache.java.recycle.DefaultController
    # Security parameters
    # Enable/disable the execution of org.apache.jserv.JServ as a
    servlet.
    # This is disabled by default because it may give informations
    that should
    # be restricted.
    # Note that the execution of Apache JServ as a servlet is
    filtered by the web
    # server modules by default so that both sides should be enabled
    to let this
    # service work.
    # This service is useful for installation and configuration
    since it gives
    # feedback about the exact configurations Apache JServ is using,
    but it should
    # be disabled when both installation and configuration processes
    are done.
    # Syntax: security.selfservlet=true (boolean)
    # Default: false
    # WARNING: disable this in a production environment since may
    give reserved
    # information to untrusted users.
    security.selfservlet=true
    # Set the maximum number of socket connections Apache JServ may
    handle
    # simultaneously. Make sure your operating environment has
    enough file
    # descriptors to allow this number.
    # Syntax: security.maxConnections=(int)>1
    # Default: 50
    security.maxConnections=50
    # Backlog setting for very fine performance tunning of JServ.
    # Unless you are familiar to sockets leave this value commented
    out.
    # security.backlog=5
    # List of IP addresses allowed to connect to Apache JServ. This
    is a first
    # security filtering to reject possibly unsecure connections and
    avoid the
    # overhead of connection authentication.
    # <warning>
    # (please don't use the following one unless you know what you
    are doing :
    # security.allowedAddresses=DISABLED
    # allows connections on JServ'port from entire internet.)
    # You do need only to allow YOUR Apache to talk to JServ.
    # </warning>
    # Default: 127.0.0.1
    # Syntax: security.allowedAddresses=[IP address],[IP Address]...
    (Comma
    separated list of IP addresses)
    #security.allowedAddresses=127.0.0.1
    # Enable/disable connection authentication.
    # NOTE: unauthenticated connections are a little faster since
    authentication
    # handshake is not performed at connection creation.
    # WARNING: authentication is disabled by default because we
    believe that
    # connection restriction from all IP addresses but localhost
    reduces your
    # time to get Apache JServ to run. If you allow other addresses
    to connect and
    # you don't trust it, you should enable authentication to
    prevent untrusted
    # execution of your servlets. Beware: if authentication is
    disabled and the
    # IP address is allowed, everyone on that machine can execute
    your servlets!
    # Syntax: security.authentication=[true,false] (boolean)
    # Default: true
    security.authentication=false
    # Authentication secret key.
    # The secret key is passed as a file that must be kept secure
    and must
    # be exactly the same of those used by clients to authenticate
    themselves.
    # Syntax: security.secretKey=[secret key path and filename]
    (String)
    # Default: NONE
    # Note: if the file could not be opened, try using absolute
    paths.
    #security.secretKey=./etc/jserv.secret.key
    # Length of the randomly generated challenge string (in bytes)
    used to
    # authenticate connections. 5 is the lowest possible choice to
    force a safe
    # level of security and reduce connection creation overhead.
    # Syntax: security.challengeSize=(int)>5
    # Default: 5
    #security.challengeSize=5
    # Logging parameters
    # Enable/disable Apache JServ logging.
    # WARNING: logging is a very expensive operation in terms of
    performance. You
    # should reduced the generated log to a minumum or even disable
    it if fast
    # execution is an issue. Note that if all log channels (see
    below) are
    # enabled, the log may become really big since each servlet
    request may
    # generate many Kb of log. Some log channels are mainly for
    debugging
    # purposes and should be disabled in a production environment.
    # Syntax: log=[true,false] (boolean)
    # Default: true
    log=true
    # Set the name of the trace/log file. To avoid possible
    confusion about
    # the location of this file, an absolute pathname is recommended.
    # This log file is different than the log file that is in the
    # jserv.conf file. This is the log file for the Java portion of
    Apache
    # JServ.
    # On Unix, this file must have write permissions by the owner of
    the JVM
    # process. In other words, if you are running Apache JServ in
    manual mode
    # and Apache is running as user nobody, then the file must have
    its
    # permissions set so that that user can write to it.
    # Syntax: log.file=[log path and filename] (String)
    # Default: NONE
    # Note: if the file could not be opened, try using absolute
    paths.
    log.file=/d3/Apache/Jserv/logs/jserv.log
    # Enable the timestamp before the log message
    # Syntax: log.timestamp=[true,false] (boolean)
    # Default: true
    log.timestamp=true
    # Use the given string as a data format
    # (see java.text.SimpleDateFormat for the list of options)
    # Syntax: log.dateFormat=(String)
    # Default: [dd/MM/yyyy HH:mm:ss:SSS zz]
    log.dateFormat=[dd/MM/yyyy HH:mm:ss:SSS zz]
    # Since all the messages logged are processed by a thread
    running with
    # minimum priority, it's of vital importance that this thread
    gets a chance
    # to run once in a while. If it doesn't, the log queue overflow
    occurs,
    # usually resulting in the OutOfMemoryError.
    # To prevent this from happening, two parameters are used:
    log.queue.maxage
    # and log.queue.maxsize. The former defines the maximum time for
    the logged
    # message to stay in the queue, the latter defines maximum
    number of
    # messages in the queue.
    # If one of those conditions becomes true (age > maxage || size
    maxsize),# the log message stating that fact is generated and the log
    queue is
    # flushed in the separate thread.
    # If you ever see such a message, either your system doesn't
    live up to its
    # expectations or you have a runaway loop (probably, but not
    necessarily,
    # generating a lot of log messages).
    # WARNING: Default values are lousy, you probably want to tweak
    them and
    # report the results back to the development team.
    # Syntax: log.queue.maxage = [milliseconds]
    # Default: 5000
    log.queue.maxage = 5000
    # Syntax: log.queue.maxsize = [integer]
    # Default: 1000
    log.queue.maxsize = 1000
    # Enable/disable logging the channel name
    # Default: false
    # log.channel=false
    # Enable/disable channels, each logging different actions.
    # Syntax: log.channel.[channel name]=[true,false] (boolean)
    # Default: false
    # Info channel - quite a lot of informational messages
    # hopefully you don't need them under normal circumstances
    # log.channel.info=true
    # Servlets exception, i.e. exception caught during
    # servlet.service() processing are monitored here
    # you probably want to have this one switched on
    log.channel.servletException=true
    # JServ exception, caught internally in jserv
    # we suggest to leave it on
    log.channel.jservException=true
    # Warning channel, it catches all the important
    # messages that don't cause JServ to stop, leave it on
    log.channel.warning=true
    # Servlet log
    # All messages logged by servlets. Probably you want
    # this one to be switched on.
    log.channel.servletLog=true
    # Critical errors
    # Messages produced by critical events causing jserv to stop
    log.channel.critical=true
    # Debug channel
    # Only for internal debugging purposes
    # log.channel.debug=true
    #wrapper.classpath=/d3/ord/jlib/ordim.zip
    #wrapper.classpath=/d3/ord/jlib/ordhttp.zip
    # Oracle XSQL Servlet
    wrapper.classpath=/d3/lib/oraclexsql.jar
    # Oracle JDBC
    wrapper.classpath=/d3/jdbc/lib/classes12.zip
    # Oracle XML Parser V2 (with XSLT Engine)
    wrapper.classpath=/d3/lib/xmlparserv2.jar
    # Oracle XML SQL Components for Java
    wrapper.classpath=/d3/rdbms/jlib/xsu12.jar
    # XSQLConfig.xml File location
    wrapper.classpath=/d3/xdk/admin
    # Oracle BC4J
    wrapper.classpath=/d3/ord/jlib/ordim.zip
    wrapper.classpath=/d3/ord/jlib/ordvir.zip
    wrapper.classpath=/d3/ord/jlib/ordhttp.zip
    wrapper.classpath=/d3/BC4J/lib/jndi.jar
    wrapper.classpath=/d3/BC4J/lib/jbomt.zip
    wrapper.classpath=/d3/BC4J/lib/javax_ejb.zip
    wrapper.classpath=/d3/BC4J/lib/jdev-rt.jar
    wrapper.classpath=/d3/BC4J/lib/jbohtml.zip
    wrapper.classpath=/d3/BC4J/lib/jboremote.zip
    wrapper.classpath=/d3/BC4J/lib/jdev-cm.jar
    wrapper.classpath=/d3/BC4J/lib/jbodomorcl.zip
    wrapper.classpath=/d3/BC4J/lib/jboimdomains.zip
    wrapper.classpath=/d3/BC4J/lib/collections.jar
    wrapper.classpath=/d3/Apache/Apache/htdocs/onlineorders_html
    #wrapper.classpath=/d3/Apache/Apache/htdocs/OnlineOrders_html/Onl
    ineOrders.jar
    # The following classpath entries are necessary for EJBs to run
    in IAS or DB when
    present
    wrapper.classpath=/d3/lib/aurora_client.jar
    wrapper.classpath=/d3/lib/vbjorb.jar
    wrapper.classpath=/d3/lib/vbjapp.jar
    # Oracle Servlet
    wrapper.classpath=/d3/lib/servlet.jar
    # Oracle Java Server Pages
    wrapper.classpath=/d3/jsp/lib/ojsp.jar
    # Oracle Util
    wrapper.classpath=/d3/jsp/lib/ojsputil.jar
    # Oracle Java SQL
    wrapper.classpath=/d3/sqlj/lib/translator.zip
    # Oracle JDBC
    #wrapper.classpath=/d3/jdbc/lib/classes12.zip
    # SQLJ runtime
    wrapper.classpath=/d3/sqlj/lib/runtime12.zip
    # Oracle Messaging
    wrapper.classpath=/d3/rdbms/jlib/aqapi.jar
    wrapper.classpath=/d3/rdbms/jlib/jmscommon.jar
    # OJSP environment settings
    #wrapper.env=ORACLE_HOME=/d3
    # The next line should be modified to reflect the value of the
    SID for your
    webserver.
    #wrapper.env=ORACLE_SID=cmpdb
    #wrapper.env=LD_LIBRARY_PATH=/d3/lib
    ## Enable the flag below if you are using jdk 1.2.2_05a or above
    #wrapper.env=JAVA_COMPILER=NONE
    # Advanced Queuing - AQXML
    wrapper.classpath=/d3/rdbms/jlib/aqxml.jar
    #wrapper.classpath=/d3/rdbms/jlib/xsu12.jar
    #wrapper.classpath=/d3/lib/xmlparserv2.jar
    wrapper.classpath=/d3/lib/xschema.jar
    #wrapper.classpath=/d3/jlib/jndi.jar
    wrapper.classpath=/d3/jlib/jta.jar
    oemreporting.properties=/d3/Apache/Jserv/oemreporting/oemreportin
    g.properties
    zones = root, oemreporting
    wrapper.classpath=/d3/jlib/share-opt-1_1_9.zip
    wrapper.classpath=/d3/jlib/caboshare-opt-1_0_3.zip
    wrapper.classpath=/d3/jlib/marlin-opt-1_0_7.zip
    wrapper.classpath=/d3/jlib/tecate-opt-1_0_4.zip
    wrapper.classpath=/d3/jlib/ocelot-opt-1_0_2.zip
    wrapper.classpath=/d3/jlib/regexp.jar
    wrapper.classpath=/d3/jlib/sax2.jar
    #wrapper.classpath=/d3/jlib/servlet.jar
    wrapper.bin.parameters= -DORACLE_HOME=/d3
    #wrapper.env=LD_LIBRARY_PATH=/d3/lib32
    wrapper.env.copy=DISPLAY
    wrapper.bin.parameters=-DORACLE_HOME=/d3
    #wrapper.classpath=/d3/lib/vbjorb.jar
    #wrapper.classpath=/d3/lib/vbjapp.jar
    wrapper.classpath=/d3/classes/classesFromIDLVisi
    wrapper.classpath=/d3/jlib/swingall-1_1_1.jar
    wrapper.classpath=/d3/jlib/ewtcompat3_3_15.jar
    wrapper.classpath=/d3/jlib/ewt-3_3_18.jar
    wrapper.classpath=/d3/jlib/share-1_1_9.jar
    wrapper.classpath=/d3/jlib/help-3_2_9.jar
    wrapper.classpath=/d3/jlib/ice-5_06_3.jar
    wrapper.classpath=/d3/jdbc/lib/classes111.zip
    wrapper.classpath=/d3/classes
    wrapper.classpath=/d3/jlib/oembase-9_0_1.jar
    wrapper.classpath=/d3/jlib/oemtools-9_0_1.jar
    wrapper.classpath=/d3/jlib
    wrapper.classpath=/d3/jlib/javax-ssl-1_1.jar
    wrapper.classpath=/d3/jlib/jssl-1_1.jar
    wrapper.classpath=/d3/jlib/netcfg.jar
    wrapper.classpath=/d3/jlib/dbui-2_1_2.jar
    #wrapper.classpath=/d3/lib/aurora_client.jar
    #wrapper.classpath=/d3/lib/xmlparserv2.jar
    wrapper.classpath=/d3/network/jlib/netmgrm.jar
    wrapper.classpath=/d3/network/jlib/netmgr.jar
    wrapper.classpath=/d3/network/tools
    wrapper.classpath=/d3/jlib/kodiak-1_2_1.jar
    wrapper.classpath=/d3/sysman/jlib/netchart360.jar
    wrapper.classpath=/d3/jlib/pfjbean.jar
    wrapper.env=SHLIB_PATH=/d3/lib32
    wrapper.env=LIBPATH=/d3/lib32
    wrapper.classpath=/d3/ultrasearch/lib/isearch_midtier.jar
    wrapper.classpath=/d3/ultrasearch/lib/isearch_query.jar
    wrapper.classpath=/d3/ultrasearch/lib/jgl3.1.0.jar
    wrapper.classpath=/d3/lib/mail.jar
    wrapper.classpath=/d3/lib/activation.jar
    wrapper.classpath=/d3/ultrasearch/jsp/admin/config
    # Additions for iFS
    ## DO NOT REMOVE OR ALTER THE FOLLOWING LINE ....
    # iFS true
    # Uncomment if you want to use the same Jserv as other
    applications
    wrapper.classpath=/d3/9ifs/custom_classes
    wrapper.classpath=/d3/9ifs/settings
    wrapper.classpath=/d3/9ifs/lib/adk.jar
    wrapper.classpath=/d3/9ifs/lib/email.jar
    wrapper.classpath=/d3/9ifs/lib/http.jar
    wrapper.classpath=/d3/9ifs/lib/release.jar
    wrapper.classpath=/d3/9ifs/lib/repos.jar
    wrapper.classpath=/d3/9ifs/lib/utils.jar
    wrapper.classpath=/d3/9ifs/lib/webui.jar
    wrapper.classpath=/d3/9ifs/lib/provider.jar
    wrapper.classpath=/d3/jlib/javax-ssl-1_2.jar
    wrapper.classpath=/d3/jlib/jssl-1_2.jar
    wrapper.env=ORACLE_HOME=/d3
    wrapper.env=ORACLE_SID=cmpdb
    wrapper.env=LD_LIBRARY_PATH=/d3/lib:/d3/ctx/lib:/d3/lib32
    wrapper.env=NLS_LANG=.US7ASCII
    ## Additions for the iFS zone
    # Uncomment if you want to use the same Jserv as other
    applications
    zones=ifs
    ifs.properties=/d3/Apache/Jserv/etc/ifs.properties
    # End iFS section

    About your home page; Manually set up Firefox with the window(s) and tab(s)
    the way you want them to be. Then;
    '''''Firefox Options > General > Homepage'''''.
    Press the button labeled ''''Use Current'''.'
    =====================================
    Open a new window or tab. In the address bar, type '''''about:config'''''.
    If a warning screen comes up, press the '''''Be Careful''''' button.
    This is where Firefox finds information it needs to run.
    At the top of the screen is a search bar. Enter '''''browser.newtab.url'''''
    and press enter. '''''browser.newtab.url'''''
    tells Firefox what to show when a new tab is opened.
    If you want, right click and select '''''Modify'''''. You can change the
    setting to;<BR><BR>about:home (Firefox default home page),<BR>
    about:newtab (shows the sites most visited),<BR>
    about:blank (a blank page),<BR>
    or you can enter any web page you want.<BR><BR>
    The same instructions are used for the new window setting, listed as
    '''''browser.startup.homepage'''''.

  • File sender adapter:FILE to IDOC without BPM, can't see in SXMB_MONI.

    Hi all
    I have a FILE - XI - IDOC Async scenario without BPM.
    I configured FILE sender adapter and IDOC receiver adapter. I made a mapping to transfer file data to the structure of IDOC.
    Now when i am trying to load the file using command prompt, i cud see nothing in the monitoring. Whereas if i go to the communication channel monitoring of runtime workbench, i saw that CC is polling correctly and was reading the file also.
    And also wen i saw in the processed folder which i mentioned in the CC configuration for the ARCHIVE DIRECTORY, i saw that file got transferred to the folder also.
    I don't understand why i cant see anything in the monitoring.
    Could anybody help me to rectify the problem. Is there anything i m missing ?
    Regards
    Naina

    Rajesh/Amar
    TCode:: SXMB_ADM->Integration engine configuration->specific configuration->runtime
    Trace_Level = 3 then you can get all MONI PIPELINE Steps also
    I did this change but cudn't see anything in SXMB_MONI.
    This is how i have configured my process:
    http://wiki.sdn.sap.com/wiki/display/XI/FiletoMultipleIDOCSplittingwithoutBPM
    But instead of IDOC splitting i have simple FILE - XI -IDOC scenario.
    I have configured everything exaclty the same way it is mentioned here. But for me the process is not visible at all.
    I can't even see the first request message in the monitoring.
    This is the message i can see in the communication channel monitoring:
    2010-05-24 09:07:41 Success Channel CC_*: Entire file content converted to XML format
    2010-05-24 09:07:41 Warning Channel CC_*: Empty document found. Proceed without sending message
    2010-05-24 09:07:41 Success File "/xyz/ABC.txt" archived after processing
    Is there any problem with the file and that could be the reason it cant convert the file to the request message MT_REQUEST and thus am not able to see anything in monitoring.
    help me guys....this is a simple process and i m stuck...its frustrating
    Regards
    Naina

  • Empty document found. Proceed without sending message

    Hi All,
    I have a file CC and it works fine , simple file.
    But when I add Trailer to it... then I have no output file..Instead the CC channel shows that the document is empty and cannot proceed:
    Here is the details ( Watch the Trailer added)
    ZOUT_MT 11 -ZIN_MT 11
    Recordset 1--1
    Rec 1unboundedTest01 1-----unbounded
    key(string) 1...1----
    key 1..1(string)
    name11(string) 1..1----
    name21 1..1(string)
    name12(string) 1..1----
    name22 1..1(string)
    Trail 1...1 -
    Trail 1---1
    key(string) 1..1 -
    key 1..1(string)
    test(string) 1...1 -
    test1..1 (string)
    In Config: Sender File CC
    Doc Name :ZOUT_MT
    Doc namspace : http://mytest.com/test1
    RecordsetName : Recordset
    Recordset Structure : Rec,*,Trail,1
    Key Field Name : key
    Recordset per message : 1
    Rec.fieldNames : key,name11,name12
    Rec.fieldSeparator : ,
    Rec.endSeparator : 'nl'
    Rec.processConfiguration: FromConfiguration
    Rec.keyFieldValue : 1
    Trail.fieldNames: key,test
    Trail.endSeparator: 'nl'
    Trail.processConfiguration : FromConfiguration
    Trail.keyFieldValue : 1
    Trail.fieldSeparator : ,
    From all this work above , when I put the file having:
    1,111,112
    1,222,223
    1,333,334
    1,99
    The output file in empty (null)...
    Does anyone out there understand why the output file is becoming null..
    here is the log I get in workbecnh (commuunication channel)
    Audit Log for Message: c1a434f5-ad9f-4a26-08c1-e7d579a5927a
    Time Stamp Status Description
    21.01.2009 11:48:22 Success Channel ztest_sender_cc: Entire file content converted to XML format
    21.01.2009 11:48:22 Warning Channel ztest_sender_cc: Empty document found. Proceed without sending message
    21.01.2009 11:48:22 Success File "/mylocation/interface/SCM/somefolder/in/shilpagirlsinput.txt" deleted after processing

    keyFieldValue must be different for Rec and Trail, keyfield is to distinguish Rec and Trail, their value must be different, otherwise how can you tell which record is Rec, and which is Trail?
    Try to put different keyfield value, chang the input file and run the scenario.
    Also because you specified cardinality 1...1 for Trail element, and 1 is used as keyfield for Rec, XI thinks there is no Trail in the outbound file, thus it produces empty document warning as Trail is required to be present by cardinality 1...1
    Jayson

  • FCC is not able to pick in sender file adapter

    Hi Experts,
         I have configured sender contentent conversion.
    My structure is like :
    H - H1,H2,H3
    D - D1,D2,D3
    P - P1,P2,P3
    I configured as below:
    Document name:MT
    Document name:namespace
    Recordset name:Recordset
    Recordset structure:H,1,D,,P,
    Recordset sequence:ascending
    Recordsets per message:*
    Keyfieldname:KF
    Keyfieldtype:string(case-sensitive)
    H.fieldNames  - H1,KF,H3
    H.fieldSeparator  -   ;
    H.keyFieldValue  -   H
    H.endSeparator  -   'nl'
    H.missingLastfields  - ignore
    H.additionalLastFields - ignore
    I have provided the same for D and P.
    When i tried to pick the file my file is not picking and in communication channel log i am getting the following error
    Success Channel : Entire file content converted to XML format
    Warning Channel : Empty document found. Proceed without sending message
    Success Confirmation mode test found. File will be resent next time .
    .Could any one please help me what might be the problem exactly.
    Thanks in advance
    Kalam.

    >>When i tried to pick the file my file is not picking and in communication channel log i am getting the following error
    See, any file permission (777) is not set to execute .
    If you have fcc configuraton errors, You will see in the communication channel.
    Set File in Delete Mode (not in Test) in CC.  Just to make sure the file is picked up or not.
    Stop and activate the file adapter cc and see the behaviour

  • Handling two record strucutre in incoming file adapter

    I have a flat file (fixedlength type), which needs to be converted into the XMLPayload I tried multiple option but didn't work. Here is the file strucutre
    P CONTRLT00010  01SCNCTCFSCR  001548340                12              130*    
    P CONTRLT00020 5                                006                            
    P CONTRLT00010  01SCNCTCFSCR  001548340                12   400           *    
    P CONTRLT00020                                  011                            
    P CONTRLT00010  01SCNCTCFSCR  001548340                12   800           *    
    P CONTRLT00020                                  030                            
    P CONTRLT00010  01SCNCTCFSCR  001548340                12  3200           *    
    P CONTRLT00020                                  350                            
    P CONTRLT00010  01NCGRTCFSCR  004824269                12              176*    
    P CONTRLT00020 7                                006                            
    So this file has two record strucutre, I created the Datatypes with following strucutre
    DT_TYPE
        RECORD_SET1
            FIELD1
            FIELD2
       RECORD_SET2
            FIELD1
            FIELD2
    In the file adapter, I marked the recordsetignore true. and defined the following parameters
    RECORD_SET1.fieldFixedLengths 1,8,6,1,1,6,6,1,1,10,15,2,6,7,1,4,7
    RECORD_SET1.endSeparator 'nl'
    RECORD_SET1.fieldNames KEY,PRGOGRAM_LITERAL,TASK_NUMBER,FILLER,COMM_CANCEL,COMPANY_NUMBER,PROGRAM_FIELD,CODE1,CODE2,KEY_FIELD,ADDITIONAL_KEY,CARD_CODE12,REGULAR_HOURS12,REGULAR_RATE12,OT_CODE12,OT_HOURS12,CONTINUATION_IND
    RECORD_SET2.fieldFixedLengths 1,8,6,1,4,6,4,4,4,4,10,3,1,6,2,5,1,1,7
    RECORD_SET2.endSeparator 'nl'
    RECORD_SET2.fieldNames KEY,PRGOGRAM_LITERAL,TASK_NUMBER,FILLER,OT_HOURS12,OT_RATE12,CONTROL12_3,CONTROL12_4,CONTROL12_5,CONTROL12_6,FUNCTION12,HED_NBR_12,TAX_TYPE12,LOCAL_CODE12,STATE_CODE12,PERIOD_DATE12,SHIFT12,DEDUCTION_CYCLE12,ENDO_OF_FORM_IND
    ignoreRecordSetName true
    RECORD_SET1.keyFieldValue 1
    RECORD_SET2.keyFieldValue 2
    RECORD_SET1.keyFieldInStructure ignore
    RECORD_SET2.keyFieldInStructure ignore
    RECORD_SET2.missingLastfields
    RECORD_SET1.missingLastfields
    On the adapter end its not reading the message and thrwoing the warning
    Channel CC_TCFSCR_SENDER: Converted complete file content to XML format.
    2009-07-30 13:21:26 Warning Channel CC_TCFSCR_SENDER: Empty document found - proceed without sending message.
    Any pointer will be helpful.
    Thanks,
    Samir

    Hi,
    You are mentioning the wrong keyfield values i beleive.
    RECORD_SET1.keyFieldValue 1     --- > on place of 1 enter the exactvalue which you want to use as key field.
    RECORD_SET2.keyFieldValue 2     --- > same apply here.
    As adapter is unable to find 1 or 2 in as keyfield in record its sending the empty document.
    Try :
    RECORD_SET1.keyFieldValue  =  P CONTRLT00010
    RECORD_SET1.keyFieldValue  =  P CONTRLT00020
    I hope his might help u.
    Thanks.

  • Sender File Adapter - No error, but not generating any message

    I am working on a file to RFC scenario.  The sender file adapter is using content conversion to read a comma delimited file.  The file is being picked up and archived correctly, and the adapter monitor does not show any errors.  However, the process disappears at this point.  I don't see any messages in SXMB_MONI, and there is no sign that the process is reaching the RFC adapter.  Has anyone ever had this happen before?
    I have four line types for Buildings, Additions, Floors, and Rooms.
    I list all four in the recordset structure, and I identify a key for each with the keyFieldValue parameter.  I list a fieldSeparator of ',' and an endSeparator of 'nl' for each row.  And i have a list of the fieldnames in the fieldnames parameter.
    The only thing i'm not sure about is the keyFieldinStructure parameter.  I have specified ignore there, because I don't want that field in my XML.  Do I still need that field in my sender datatype, even if I'm ignoring it, or can I leave it out?
    Thanks for any help.  Please don't just list blogs unless they have something you think is helpful with my specific problem.  I have already read all of the blogs that deal generally with the sender file adapter and file content conversion, and I need more specific help at this point.

    I made one error before, it IS showing up in the Recovered Adapter Audit Log (it took that log about 10 minutes to open that particular tab so I didn't notice them there).
    Here is what it says there:
    2006-06-12 11:22:59 Success Channel CC_S_File_FIPM_Buildings: Entire file content converted to XML format
    2006-06-12 11:22:59 Warning Channel CC_S_File_FIPM_Buildings: Empty document found. Proceed without sending message
    2006-06-12 11:22:59 Success File "/interfaces/one line building.txt" archived after processing
    Here are my parameters in the file content conversion:
    Buildings.fieldNames     RecordType,PLTXT,STORT,STREET,POST_CODE1,CITY1,REGION,PARNR,X_COORD,Y_COORD,ASSIGN_SQ_FT,BLDG_NUM,CAMPUS,GR_SQ_FT,NET_SQ_FT
    Buildings.keyFieldValue     'B'
    Buildings.fieldSeparator     ','
    Buildings.endSeparator     'nl'
    Buildings.keyFieldInStructure     ignore
    Additions.fieldNames     RecordType,ASSIGN_SQ_FT,BLDG_ABBR,CAMPUS,ADDITION,BLDG_USE,BLDG__NUMBER
    Additions.keyFieldValue     'A'
    Additions.fieldSeparator     ','
    Additions.endSeparator     'nl'
    Additions.keyFieldInStructure     ignore
    Floors.fieldNames     RecordType,BLDG_ABBR,CAMPUS,ADDITION,FLOOR,ASSIGNABLE_SQUARE_FOOT,BLDG_NUMBER
    Floors.keyFieldValue     'F'
    Floors.fieldSeparator     ','
    Floors.endSeparator     'nl'
    Floors.keyFieldInStrucutre     ignore
    Rooms.fieldNames     RecordType,SHTXT,MSGRP,ADDITION,ASSIGNED_DEPT,BLDG_ABBV,FLOOR_CAMPUS,AREA,RCD_CODE,DEPT_CODE,BUILDING_NUMBER,ROOM_COMMON_KEY
    Rooms.keyFieldValue     'R'
    Rooms.fieldSeparator     ','
    Rooms.endSeparator     'nl'
    Rooms.keyFieldInStructure     ignore
    And here is my data type:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_FIPM_BuildingUpdate xmlns:ns0="urn:XXXXXX:FIPM:Buildings:SYS">
       <Buildings>
          <PLTXT/>
          <STORT/>
          <STREET/>
          <POST_CODE1/>
          <CITY1/>
          <REGION/>
          <PARNR/>
          <X_COORD/>
          <Y_COORD/>
          <ASSIGN_SQ_FT/>
          <BLDG_NUM/>
          <CAMPUS/>
          <GR_SQ_FT/>
          <NET_SQ_FT/>
       </Buildings>
       <Additions>
          <ASSIGN_SQ_FT/>
          <BLDG_ABBR/>
          <CAMPUS/>
          <ADDITION/>
          <BLDG_USE/>
          <BLDG_NUMBER/>
       </Additions>
       <Floors>
          <BLDG_ABBR/>
          <CAMPUS/>
          <ADDITION/>
          <FLOOR/>
          <ASSIGNABLE_SQUARE_FOOT/>
          <BLDG_NUMBER/>
       </Floors>
       <Rooms>
          <SHTXT/>
          <MSGRP/>
          <ADDITION/>
          <ASSIGNED_DEPT/>
          <BLDG_ABBV/>
          <FLOOR/>
          <CAMPUS/>
          <AREA/>
          <RCD_CODE/>
          <DEPT_CODE/>
          <BUILDING_NUMBER/>
          <ROOM_COMMON_KEY/>
       </Rooms>
    </ns0:MT_FIPM_BuildingUpdate>
    I'm going to recheck everything again, but maybe you guys will see something?  I don't.
    Vanda

  • KeyFieldValue not picking out key

    I have a sender file adapter - I have a file with structure HEADER,1,DETAIL,*,TRAILER,1
    My data is:
    RRELMAG  01000001138 etc.................
    RRELMAG  04000002138 etc................
    RRELMAG  04000003138 etc.................
    RRELMAG  09000004138 etc.................
    The content conversion is:
    key field name = HRECTYPE,DRECTYPE,TRECTYPE
    ignoreRecordsetName  true
    HEADER.fieldNames   FILE_TYPE,FILE_NAME,FILLER1,HRECTYPE,SEQNO,................
    HEADER.fieldFixedLengths   1,6,2,2,6,3,4,6,3,3,20,1,..............
    HEADER.keyFieldValue   01
    HEADER.fixedLengthTooShortHandling   Ignore
    DETAIL.fieldNames  FILE_TYPE,FILE_NAME,FILLER1,DRECTYPE,SEQNO,FA..............
    DETAIL.fieldFixedLengths   1,6,2,2,6,3,4,6,3,3,20..............
    DETAIL.keyFieldValue   04
    DETAIL.fixedLengthTooShortHandling   Ignore
    DETAIL.lastFieldsOptional   yes
    TRAILER.fieldNames   FILE_TYPE,FILE_NAME,FILLER1,TRECTYPE,SEQNO,FACT..........
    TRAILER.fieldFixedLengths   1,6,2,2,6,3,4,6,3,3,............
    TRAILER.keyFieldValue   09
    TRAILER.fixedLengthTooShortHandling   Ignore
    When I process this I get error:
    Warning:  Channel CC_SND_FACTOREM_local: Empty document found. Proceed without sending message
    When I pick out FILE_TYPE which is at the beginning of file and edit the file data to be A, B and C - it works ok
    Is there a problem picking out a key in the middle of a file?????
    (There are spaces before the key - but even when I replace them with characters like AA it still doesn't work.  Any ideas?????

    You should have only one keyfield name, i.e keyfield name = RECTYPE.
    then:
    HEADER.fieldNames FILE_TYPE,FILE_NAME,FILLER1,RECTYPE,SEQNO,................
    HEADER.fieldFixedLengths 1,6,2,2,6,3,4,6,3,3,20,1,..............
    HEADER.keyFieldValue 01
    HEADER.fixedLengthTooShortHandling Ignore
    DETAIL.fieldNames FILE_TYPE,FILE_NAME,FILLER1,RECTYPE,SEQNO,FA..............
    DETAIL.fieldFixedLengths 1,6,2,2,6,3,4,6,3,3,20..............
    DETAIL.keyFieldValue 04
    DETAIL.fixedLengthTooShortHandling Ignore
    DETAIL.lastFieldsOptional yes
    TRAILER.fieldNames FILE_TYPE,FILE_NAME,FILLER1,RECTYPE,SEQNO,FACT..........
    TRAILER.fieldFixedLengths 1,6,2,2,6,3,4,6,3,3,............
    TRAILER.keyFieldValue 09
    TRAILER.fixedLengthTooShortHandling Ignore
    The value for RECTYPE in your source file should be different for header, detail and tailer, i.e 'HEAD', 'DETAIL' and 'TAILER'
    Jayson

  • File Content Conversion: Empty File

    Dear Experts,
    I'm doing a file to file scenario with FCC. My file gets picked up from the source folder but the communication channel doesn't send the file for processing ahead. This is the error I get in Communication channel monitoring:
    Channel Send_Acceptance_File: Entire file content converted to XML format
    2008-10-10 12:09:38| Warning |Channel Send_Acceptance_File: Empty document found. Proceed without sending message
    2008-10-10 12:09:38| Success |Confirmation mode test found. File will be resent next time
    I don't see any entry in sxmb_moni.
    What could be the possible reason for this.
    Thanks and Regards,
    Merrilly

    Hi Merrily
    Problem is with your FCC.
    Are you using Key field in FCC with and keyFieldInStructure      as ignore?
    This problem arises due to incorrect keys or Data type mis match for the record structure in FCC.
    Thanks
    Gaurav

  • Content Conversion XI 7.0

    Hi
    I have configured a sender file adapter to convert csv file to xml. The incomming records are comma separated and optional field will just come as ",". The file adapter is giving following message
    2006-10-16 17:22:36 Success Channel CC_TW_TLOG_SENDER: Entire file content converted to XML format
    2006-10-16 17:22:36 Warning Channel CC_TW_TLOG_SENDER: Empty document found. Proceed without sending message
    If I process records without any blank values it is processing properly
    Example : TWS001,01,,XXX,ABC -- Fails
              TWS001,01,A,XXX,ABC -- Works
    In the second case the value A is populated.
    Content conversion configuration, I have made sure that KeyField value is not empty.
    Any help on this.
    Regards
    Prahllad

    Prahllad,
    MDT is a Visual Administrator tool.
    XML messages that are successfully delivered to the Adapter Engine, can be monitored with the Message Display Tool (MDT).
    This can either be started directly via the URL http://<Host>:<PORT>/mdt/index.jsp or from the Runtime Workbench.
    Adapter Engine’s Messaging System (MS) receives the message, processes it and forwards it to the receiver (that is, the file adapter)
    Hope this helps.
    Regards
    Senthil

  • Error: Empty document found - proceed without sending message.

    Hi,
    I am using FCC in my Sender CC.
    Error:  Information     Channel CC_XXXXXXXXXXXXXXXXXX: Converted complete file content to XML format.
              Warning     Channel CC_XXXXXXXXXXXX: Empty document found - proceed without sending message.
    Thnaks,
    Satya

    Hi,
    Check this link.. Do you create input file similar to the link describe?
    Empty document found. Proceed without sending message

  • File Content Conversion : Recordset Structure with * not reading file

    Hallo all,
    we have the following problem.
    we implemented a scenario as sown in this blog
    /people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
    but there is a problem.
    If the file structure is declared as :
    Header,1,Items,*
    then the adapter does not even read the file from the directory (so I assume that for some reason the file structure is not as expected).
    If on the other had the structured is declared as :
    Header,1,Items,3
    everything works.
    Obviously though, this is not satisfying since we need variable cardinalities.
    Here is an example :
    I have a specific file in a standard directory, called xi_input.
    The file is edited straight into that directory, so there can't be filename errors etc.
    If the file is left empty :
    Nothing happens . No message of any kind in sxmb_moni/monitoring xml messages .
    If the file contains the following (data is random) , where 'H' is the key for the header and 'I' is the key for the items :
    H 20060403 16 3 316001 kapou lalla morellala 20060403 F3 23
    I 277101010 2
    I 277101011 3
    I 277101012 4
    There are to cases :
    if the file structure is declared as :
    Header,1,Items,*
    Then nothing happens .
    If on the other had the structured is declared as :
    Header,1,Items,3
    everything works .
    Any suggestions and help is appreciated
    Thank you .

    Actually yes, there is an error message :
    Error     5/30/08 3:12:45 PM     fda9d3c5-4775-4df8-17b8-dfd14191171d     
    Retry interval started. Length: 5.0 seconds
    Error     5/30/08 3:12:45 PM     fda9d3c5-4775-4df8-17b8-dfd14191171d     
    Could not archive file 'E:\tmp\NetBeauty\In\xi_input.dat' after processing
    5/30/08 3:12:45 PM           Processing started
    And the details are :
    2008-05-30 16:07:00     Success     Channel CC_File_adapter: Entire file content converted to XML format
    2008-05-30 16:07:00     Warning     Channel CC_File_adapter: Empty document found. Proceed without sending message
    2008-05-30 16:07:00     Error     Attempt to archive file "E:\tmp\NetBeauty\In\xi_input.dat" after processing failed. Retry
    Only that they don't look very helpful. From this I only understand that the data in my input.dat file is not in the format expexced.
    I Have configured key fields as :
    keyfield name : keyfield
    Header.fieldNames : keyfield,CreationDate,CentralCustomerCode,CustomerCode,ReferenceDocumentNumber,DeliveryPlace,Message,ReturnMessage,DeliveryDate,SalesmanCode,Rest
    Items.fieldNames : keyfield,Material,Quantity
    Header.keyFieldValue     "H"
    Items.keyFieldValue     "I"

  • XI File Content Conversion Issue

    Peace to All,
    I am having this funny problem in File Content Conversion:
    com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:ZIN_MT. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    What did I do:
    DATA TYPE1.
    Structure1:                 TESTOUT_DT           Complex Type
                                             REC               Element                      1-1
                                                   Name11   Element xsd:string        1-1
                                                    Name12   Element xsd:string       1-1
    Structure2:              TESTIN_DT    Complex Type
                                                     Name21   Element xsd:string        1-1
                                                    Name22   Element xsd:string       1-1
    Mapping:
                              name11-name21
                            name12-name22
    Configuration of Sender File :
        DocumentName            :  TESTOUT_DT
        Document NameSpace  : http:/myspace.com/test1
        RecordSetName            :          Recordset
        Recordset Structure       : Rec,1
    Rec.fieldNames                 :name11,name12
    Rec.fieldSeparator             :,
    Rec.endSeparator             :'nl'
    So when I test it it picks up the file but is unable to map it to destination.
    Can anyone help me to find out why?.
    One more hint is that I am using Third party Business System and I use the same for both file CC sender channel and Filereceiver channel.
    I will appreciate your help.
    Thanks

    Many thanks to your guidance...SDN is the best...It worked
    Moving forward I encountered another issue, when I extend it a Trail to it and end up with this mapping:
      ZOUT_MT  11      -ZIN_MT 11
         Recordset 1--1
                 Rec 1unboundedTest01 1-----unbounded
                       key(string)           1...1----
    key 1..1(string)
                       name11(string)    1..1----
    name21   1..1(string)
                       name12(string)    1..1----
    name22  1..1(string)
                 Trail 1...1   -
    Trail 1---1  
                       key(string)   1..1 -
    key 1..1(string)
                        test(string) 1...1 -
    test1..1 (string)
    In Config: Sender File CC
    Doc Name                     :ZOUT_MT
    Doc namspace               : http://mytest.com/test1 
    RecordsetName              : Recordset
    Recordset Structure         : Rec,*,Trail,1
    Key Field Name               : key
    Recordset per message    : 1
    Rec.fieldNames      :   key,name11,name12
    Rec.fieldSeparator  : ,
    Rec.endSeparator  : 'nl'
    Rec.processConfiguration:  FromConfiguration
    Rec.keyFieldValue          : 1
    Trail.fieldNames: key,test
    Trail.endSeparator:  'nl'
    Trail.processConfiguration : FromConfiguration
    Trail.keyFieldValue           : 1
    Trail.fieldSeparator           : ,
    From all this work above , when I put the file having:
       1,111,112
       1,222,223
       1,333,334
       1,99
    The output file in empty (null)...
    Does anyone out there understand why the output file is becoming null..
    here is the log I get in workbecnh (commuunication channel)
    Audit Log for Message: c1a434f5-ad9f-4a26-08c1-e7d579a5927a
    Time Stamp     Status     Description
    21.01.2009 11:48:22     Success     Channel ztest_sender_cc: Entire file content converted to XML format
    21.01.2009 11:48:22     Warning     Channel ztest_sender_cc: Empty document found. Proceed without sending message
    21.01.2009 11:48:22     Success     File "/mylocation/interface/SCM/somefolder/in/shilpagirlsinput.txt" deleted after processing

Maybe you are looking for

  • Apple Maps Navigation Doesn't Work on 3G on iPhone 5

    Has anyone else noticed that on iPhone 5, Apple Maps defaults to non-voice guided navigation when LTE is purposely turned off? Since navigation is supposed to work on the iPhone 4S, I assumed that while on 3G the navigation should work. But it doesn'

  • Account number at the customer

    Hi, My client is running CRM 2007. They want to replicate the field KNVV - EIKTO (Account number at the customer) between CRM and R/3 (actually from CRM to R/3 since they maintain the business partners here). I can´t find this field in CRM. Have anyo

  • SharePoint 2007 + Java InfoView (Kerberos SSO v/ Vintela)

    At one point I was able to get the Document List web part working with SharePoint 2007 + Java InfoView, but now I'm back to getting the dreaded error: Unable to access the BusinessObjects Enterprise infrastructure at RP-BOEXI31 for user: . Contact yo

  • What Presets to choose from PRE8?

    Preface to my questions: The Photos are from a Canon SD600:  photos were taken at high resolution 2816 x 2112 From PSE8 Editor:  I used “process multiple files” button to reduce the size of the photos to “JPEG medium” because my system was crashing w

  • Query BP History

    Hi Experts I need a query to show me all BPs where the Payment Terms Group has been changed in the last month, ideally showing the user who changed it too.   is this possible? Regards Geoff