CF10 is evaluating strings with comma's as complex types (Array), formerly they were just Strings

Coldfusion 10's behaviour appears to have changed in the evaluation of strings with commas.
Example:
FORM.IDS = 123456, 654321, 789101  (Form Submission)
<cfset fieldname="IDS" />
<cfset test1 = FORM[fieldname] />
<cfset test2 = evalute("FORM.#fieldname#") />
In Coldfusion 9 the value of test1 and test2 is reported as "123456, 654321, 789101".
In Coldfusion 10 the value of test1 and test2 is reported as an array. "Array (3)".
Is this expected behaviour?  This is jacking up an application we are trying to upgrade and did not expect this one.  Any help will be much appreciated.
Cheers
Lee 

ldavis101 wrote:
Coldfusion 10's behaviour appears to have changed in the evaluation of strings with commas.
Example:
FORM.IDS = 123456, 654321, 789101  (Form Submission)
<cfset fieldname="IDS" />
<cfset test1 = FORM[fieldname] />
<cfset test2 = evaluate("FORM.#fieldname#") /> [BKBK: typo corrected]
In Coldfusion 9 the value of test1 and test2 is reported as "123456, 654321, 789101".
In Coldfusion 10 the value of test1 and test2 is reported as an array. "Array (3)".
Is this expected behaviour? 
No, that is unexpected. Please report it as a bug.

Similar Messages

  • How to use Adaptive WebService Model with CAF WebService and Complex Type

    Hi All,
    I am trying to use the Adaptive Web Service Model and call a WebService generated by the CAF. The return type of the WebService is a Complex Type.. I receive an exception when trying to instantiate the Model Node.
    Does anybody know how to use the Adpative Web Service Model with CAF WebServices and Complex Types as return type?
    Help is appreciated..
    Thanks, Johannes

    Thanks Mukesh.
    It is not possible to apply the Service Controller Template on Enterprise Java Bean Models as described in the Document. When I try to aply the template on the EJB Model, NWDS says: Only Webservice Models and RFC Models are supported...???
    I did not find any information about how to return complex types in AWS.. in this document???
    Is there such information available? Has anybody ever done that? There must be a way to do that.. Is is the standard approach, isn't it...? Please help me out there.. I need to get this running..
    Thanks, Johannes

  • Help with BPEL - copy values inside of complex type array ???

    I have a jirasoapservice-v2.wsdl with:
    <complexType name="RemoteIssue">
    <complexContent>
    <extension base="tns1:AbstractRemoteEntity">
    <sequence>
    <element name="customFieldValues" nillable="true" type="impl:ArrayOf_tns1_RemoteCustomFieldValue"/>
    <complexType name="ArrayOf_tns1_RemoteCustomFieldValue">
    <complexContent>
    <restriction base="soapenc:Array">
    <attribute ref="soapenc:arrayType"> wsdl:arrayType="tns1:RemoteCustomFieldValue[]"/>
    </restriction>
    </complexContent>
    </complexType>
    <complexType name="RemoteCustomFieldValue">
    <sequence>
    <element name="customfieldId" nillable="true" type="xsd:string"/>
    <element name="key" nillable="true" type="xsd:string"/>
    <element name="values" nillable="true" type="impl:ArrayOf_xsd_string"/>
    </sequence>
    </complexType>
    And in BPEL I'm trying this code:
    <?xml version="1.0" encoding="UTF-8"?>
    <process
    name="CosimaJiraProcess"
    targetNamespace="http://enterprise.netbeans.org/bpel/BpelModuleCosimaJira/CosimaJiraProcess"
    xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace"
    xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor"
    xmlns:sxat="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Attachment"
    xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling"
    xmlns:tns="http://enterprise.netbeans.org/bpel/BpelModuleCosimaJira/CosimaJiraProcess" xmlns:sxed2="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor2" xmlns:ns0="un:CosimaJira:JiraObject" xmlns:ns1="un:CosimaJira:CosimaObject" xmlns:impl="http://localhost/rpc/soap/jirasoapservice-v2" xmlns:ns2="http://beans.soap.rpc.jira.atlassian.com" xmlns:ns3="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:sxxf="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/XPathFunctions">
    <import namespace="http://enterprise.netbeans.org/bpel/jirasoapservice-v2Wrapper" location="jirasoapservice-v2Wrapper.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
    <import namespace="http://localhost/rpc/soap/jirasoapservice-v2" location="binding/jirasoapservice-v2.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
    <import namespace="http://j2ee.netbeans.org/wsdl/BpelModuleCosimaJira/JMSCosimaJiraWSDL" location="binding/JMSCosimaJiraWSDL.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
    <partnerLinks>
    <partnerLink name="PartnerLink1" xmlns:tns="http://j2ee.netbeans.org/wsdl/BpelModuleCosimaJira/JMSCosimaJiraWSDL" partnerLinkType="tns:JMSCosimaJiraWSDL" myRole="JMSInPortTypeRole"/>
    <partnerLink name="plJira" xmlns:tns="http://enterprise.netbeans.org/bpel/jirasoapservice-v2Wrapper" partnerLinkType="tns:JiraSoapServiceLinkType" partnerRole="JiraSoapServiceRole"/>
    </partnerLinks>
    <variables>
    <variable name="JMSInOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/BpelModuleCosimaJira/JMSCosimaJiraWSDL" messageType="tns:JMSInputMessage"/>
    <variable name="Token" messageType="impl:loginResponse"/>
    <variable name="LoginIn" messageType="impl:loginRequest"/>
    <variable name="newIssue" type="ns2:RemoteIssue"/>
    <variable name="CreateIssueOut" xmlns:impl="http://localhost/rpc/soap/jirasoapservice-v2" messageType="impl:createIssueResponse"/>
    <variable name="CreateIssueIn" xmlns:impl="http://localhost/rpc/soap/jirasoapservice-v2" messageType="impl:createIssueRequest"/>
    </variables>
    <sequence>
    <receive name="Receive1" createInstance="yes" partnerLink="PartnerLink1" operation="JMSInOperation" xmlns:tns="http://j2ee.netbeans.org/wsdl/BpelModuleCosimaJira/JMSCosimaJiraWSDL" portType="tns:JMSInPortType" variable="JMSInOperationIn"/>
    <scope name="Scope1">
    <variables>
    <variable name="cusField1" type="ns2:RemoteCustomFieldValue"/>
    </variables>
    <sequence name="Sequence1">
    <assign name="AssignNewIssue">
    <copy>
    <from>'probe'</from>
    <to>$cusField1/customfieldId</to>
    </copy>
    <copy>
    <from>'summary'</from>
    <to>$newIssue/summary</to>
    </copy>
    <copy>
    <from variable="cusField1"/>
    <to>$newIssue/customFieldValues[1]**</to>
    </copy>
    </assign>
    </sequence>
    </scope>
    <assign name="LoginAssign">
    <copy>
    <from>'test'</from>
    <to variable="LoginIn" part="in0"/>
    </copy>
    <copy>
    <from>'test'</from>
    <to variable="LoginIn" part="in1"/>
    </copy>
    </assign>
    <invoke name="loginJira" partnerLink="plJira" operation="login" portType="impl:JiraSoapService" inputVariable="LoginIn" outputVariable="Token"/>
    <assign name="IssueAssign">
    <copy>
    <from variable="newIssue"/>
    <to variable="CreateIssueIn" part="in1"/>
    </copy>
    <copy>
    <from variable="Token" part="loginReturn"/>
    <to variable="CreateIssueIn" part="in0"/>
    </copy>
    </assign>
    <invoke name="createIssue" partnerLink="plJira" operation="createIssue" xmlns:impl="http://localhost/rpc/soap/jirasoapservice-v2" portType="impl:JiraSoapService" inputVariable="CreateIssueIn" outputVariable="CreateIssueOut"/>
    </sequence>
    </process>
    None of the 3 ways work:
    <copy>
    <from variable="cusField1"/>
    <to>$newIssue/customFieldValues[1]/ns2:RemoteCustomFieldValue</to>
    </copy>
    <copy>
    <from variable="cusField1"/>
    <to>$newIssue/customFieldValues/impl:RemoteCustomFieldValue[1]</to>
    </copy>
    <copy>
    <from variable="cusField1"/>
    <to>$newIssue/customFieldValues[1]*</to>
    </copy>
    Any ideas, advice or suggestions ???
    Thanks,

    Hi,
    My requirement is to retrieve those task which satisfying some input criteria. and that input criteria are in payload attribute of task.
    we can use ITaskQueryService API, for retrieving task list, but I am not able to see any function through which I can find my task based on payload attribute,
    Lets take a example
    I created a task with atribute functionID="ABC" (payload attribute). now i want to query the task list which have functionID attribute value "ABC".
    for this I have found some flex fields are there, but even not sure what flex fields are.
    still trying for the same.

  • My apps on my ipod touch wont open! Whats up with that? They were just working a few days back. The only thing that opens is my music. Please help!!!!!

    Is anyone out there? I need help a.s.a.p!

    Have you tried a hard reset of your iPod to see if that makes a difference?  To do this, press and hold both the Sleep/Wake and Home buttons together long enough for the Apple logo to appear.
    B-rock

  • Where are ICC profiles stored in Aperture? Formerly they were stored in the home map. I make my own ICC profiles, with  Color Munki. I can't find them back in  the /library/colorSync/Profiles. I'm using a Canon printer iPF5100

    ICC profiles
    Formerly ICC profiles where placed in the Home map: library/colorcync/profiles. But the home map does

    Kees, the color profiles are still stored in your user library in
    ~/ColorSync/Profiles/
    I can't find them back in  the /library/colorSync/Profiles.
    Are you looking in the System Library folder /Library/colorSync/Profiles  at the top level of your system drive?
    As you probably know, your User Library is hidden since Mac OS X Lion.
    You can reveal it from the Finder's "Go" menu in the main menu bar:
    Finder > Go
    Then hold down to options-key ⌥, until Library appears in the drop-down menu. Select it and open the Library.
    Regards
    Léonie

  • Problem with abstract complex type in substitution group.

    Hi all,
    I have three xsds, A, B, C.XSD respectively. A.xsd:There is a substitution group and its complex type declared as abstract and element that uses them. B.xsd has the same structure as A except that it has complex type derived from complex type from A. C.xsd is same as B.xsd.
    The xml files of A and B validate but not of C.
    It gives the following error:
    This file is not valid. Unexpected element'signatureString' in element author. Expected signatureString,signatureText.
    Any help at the earliest is greatly appreciated.
    the code of each xsds is as follows:
    A.XSD:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:PARTICIPATION="Participation" targetNamespace="Participation">
         <!-- ================================================= -->
         <!-- Package: Participation -->
         <!-- ================================================= -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- Class: <<ST>> SignatureString -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <xs:element name="signatureString" type="PARTICIPATION:SignatureString" substitutionGroup="PARTICIPATION:signatureText"/>
         <xs:complexType name="SignatureString">
              <xs:complexContent>
                   <xs:extension base="PARTICIPATION:SignatureText">
                        <xs:attribute name="value" type="xs:string" use="required"/>
                   </xs:extension>
              </xs:complexContent>
         </xs:complexType>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- Class: SignatureText -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <xs:element name="signatureText" type="PARTICIPATION:SignatureText" abstract="true"/>
         <xs:complexType name="SignatureText" abstract="true"/>
    </xs:schema>
    B.xsd:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:CM3202="Common3202" xmlns:PARTICIPATION="Participation" targetNamespace="Common3202">
         <xs:import namespace="Participation" schemaLocation="Datatypes3203/RDT/Participation.xsd"/>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- Class: <<Participation>> PractitionerParticipation -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <xs:element name="practitionerParticipation" type="CM3202:PractitionerParticipation" abstract="true"/>
         <xs:complexType name="PractitionerParticipation" abstract="true">
              <xs:sequence>
                   <!--xs:element name="signatureText" type="PARTICIPATION:SignatureText" minOccurs="0"/-->
                   <xs:element ref="PARTICIPATION:signatureText"/>
                   </xs:sequence>
         </xs:complexType>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- Class: <<Participation>> Author -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <xs:element name="author" type="CM3202:Author" substitutionGroup="CM3202:practitionerParticipation"/>
         <xs:complexType name="Author">
              <xs:complexContent>
                   <xs:extension base="CM3202:PractitionerParticipation"/>
              </xs:complexContent>
         </xs:complexType>
    </xs:schema>
    C.xsd
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:VS3203="VitalSigns3203" xmlns:CM3202="Common3202" targetNamespace="VitalSigns3203">
         <xs:import namespace="Common3202" schemaLocation="Common3202.xsd"/>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- Class: <<Observation>> VitalSignsObservationEvent -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <xs:element name="vitalSignsObservationEvent" type="VS3203:VitalSignsObservationEvent"/>
         <xs:complexType name="VitalSignsObservationEvent">
              <xs:sequence>
                   <xs:element name="author" type="CM3202:Author" minOccurs="0">
                   </xs:element>
              </xs:sequence>
         </xs:complexType>
    </xs:schema>

    Hi all,
    This seems to be a bug unless someone of you have a solution.
    Also I ma new to xml/xsd world, so could someone please give the differences between xsi:type vs substitution groups with both element and complex type being abstract. Can this scenario be accomplished by usuage of choice groups.
    Also can anyone suggest any other good xml forums.
    Please let me know.
    Thanks in advance.

  • Please help! I defragged my hard drive and now Illustrator CS6 is trying to open all of my complex Illustrator files with a "Text Import Options" box as if they are text files, and they are not opening!

    Please help! Illustrator CS6 started trying to open all of my complex.ai files with a "Text Import Options" box as if they were text files, and they are not opening!  Help!

    Hi Monika,
    I have spent the last two or three days trying to do what you suggested.  I uninstalled Adobe 6 from Windows.  Some files that CS6 placed on my system during installation remained, including fonts and .dll files.
    I had to abandon the Cleaner Tool you suggested because in one screen it allowed me to specify removing CS6 only, but on the following screen it only gave on option to remove ALL Adobe programs.  I could not do that because I didn't have the serial number handy for CS3 in case I want to reinstall it at some point.
    I tried to get technical help with the Cleaner Tool problem but no definitive help was available, so I reinstalled CS6 again without having the benefit of the Cleaner Tool.  I tried to get the serial number for CS3 so I could use the Cleaner Tool but spent 2 wasted hours in chat.  Even though I had a customer number, order number, order date, place of purchase, the email address used AND 16 digits of the serial number, in two hours the agent couldn't give me the serial number.  After two hours I had nothing but instructions to wait another 20 minutes for a case number.
    Illustrator CS6 is still trying to open some backups as Text and otherNone of the problems have been fixed.  I have tried to open/use the .ai files in CS6 installed on another system and am getting the same result, so I don't think the software was damaged by the cleaner.  The hard drive cleaner is well-known and I've run it many times without any problem to previous versions of Illustrator or any other programs.
    When I ordered, the sale rep promised good technical support and gave me an 800 number, but after I paid the $2000, I learned that the 800 number she gave me doesn't support CS6 and hangs up on me.  Adobe doesn't call it a current product even though they just sold it to me about 3 weeks ago.
    Would appreciate any help you experts can offer.  If I can't solve this, the last backup I can use was from June and I will have lost HUNDREDS of hours of work and assets that I cannot replace.
    Exhausted and still desperately in need of help...

  • Problem weblogic with complex types

    I have deployed a web service in weblogic 10.3. I have created it with axis, and use complex types. The problem is when I test the WS:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header />
    <env:Body>
    <PruebaRequest xmlns="http://servicioweb.dispensaciones.es/">
    <!--Optional:-->
    <result>6</result>
    </PruebaRequest>
    </env:Body>
    </env:Envelope>
    Service Response
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header />
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Server CodecHandler Failed to decode
    -> Failed to decode message
    </faultstring>
    <detail>
    <bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">weblogic.wsee.codec.CodecException: Failed to decode message
    at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:186)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.decode(CodecHandler.java:139)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.handleRequest(CodecHandler.java:40)
    at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:141)
    at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:114)
    at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
    at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
    at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
    at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
    at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=PruebaRequest@http://servicioweb.dispensaciones.es/
    at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:361)
    at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:316)
    at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalElement(UnmarshalResult.java:226)
    at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshalElement(UnmarshallerImpl.java:166)
    at weblogic.wsee.bind.runtime.internal.LiteralDeserializerContext.unmarshalElement(LiteralDeserializerContext.java:89)
    at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.internalDeserializeElement(BaseDeserializerContext.java:182)
    at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.deserializeElement(BaseDeserializerContext.java:117)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodePart(SoapDecoder.java:494)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodeParams(SoapDecoder.java:287)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodeParts(SoapDecoder.java:172)
    at weblogic.wsee.codec.soap11.SoapDecoder.decode(SoapDecoder.java:125)
    at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:180)
    ... 22 more
    Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=PruebaRequest@http://servicioweb.dispensaciones.es/
    at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:361)
    at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:316)
    at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalElement(UnmarshalResult.java:226)
    at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshalElement(UnmarshallerImpl.java:166)
    at weblogic.wsee.bind.runtime.internal.LiteralDeserializerContext.unmarshalElement(LiteralDeserializerContext.java:89)
    at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.internalDeserializeElement(BaseDeserializerContext.java:182)
    at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.deserializeElement(BaseDeserializerContext.java:117)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodePart(SoapDecoder.java:494)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodeParams(SoapDecoder.java:287)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodeParts(SoapDecoder.java:172)
    at weblogic.wsee.codec.soap11.SoapDecoder.decode(SoapDecoder.java:125)
    at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:180)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.decode(CodecHandler.java:139)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.handleRequest(CodecHandler.java:40)
    at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:141)
    at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:114)
    at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
    at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
    at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
    at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
    at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    </bea_fault:stacktrace>
    </detail>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    Could anyone help?

    It seems WLS is not comfortable with complex types in WebServices signature. In fact, it seems so for array of classes too. When I exposed a java method with a signature like:
    public myClass\[] myMethod(myClass\[] param) {}
    I got the same exception. However, the same WebService is working well on oc4j (embedded in jDev)
    Edited by: speakingTree on Aug 17, 2009 12:57 AM

  • Trying to embed a video file in HTML5: ERROR=No video with supported format and MIME type found?

    Hello all!
    I am desparate for a solution. I am testing my site on Firefox and Explorer and still no sign of a functional video yet.
    Firefox: I get the error: No video with supported format and MIME type found.
    Explorer: I just get a distorted layout.
    Here is the code I am working on:
    <table id="Table_01" width="480" height="801" border="0" cellpadding="0" cellspacing="0">
        <tr>
            <td colspan="6">
                <img src="images/Video_01.jpg" width="480" height="114" alt=""></td>
        </tr>
        <tr>
            <td rowspan="3">
                <img src="images/Video_02.jpg" width="52" height="486" alt=""></td>
            <td colspan="4">
               <video controls width="376" height="221">
                 <source src="C:\Users\aalmeida\Videos\AEMC PEL 103 6 Channel, Power & Energy Logger - with Display (Part 1).mp4" type="Video/Mp4"/>
                 <source src="C:\Users\aalmeida\Videos\AEMC PEL 103 6 Channel, Power & Energy Logger - with Display (Part 1).webm" type="Video/WebM"/>
                 <source src="C:\Users\aalmeida\Videos\AEMC PEL 103 6 Channel, Power & Energy Logger - with Display (Part 1).oggtheora.ogv" type="Video/Ogg"/>
                 </video>
    Please tell me that there is something missing in the code. I have spent a lot of time uninstalling-updating Firefox plugins, added MIME types in the Internet Information Manager (I'm on Windows 7)
    and  seriuously hit a dead end with this!
    Any advice would be muchly appreciated!!!
    Thanks
    ~LA

    As Jon said, you must declare the page as HTML5.
    And your server may not be set up to deliver video as a binary file if it is an .OGG file. I have not seen this problem with .MP4 or .M4V in the past, but every server is a little different.
    To add a MIME type, you need to change your .htaccess file on an Apache server thusly:
    AddType audio/ogg .oga
    AddType video/ogg .ogv
    AddType application/ogg .ogg
    AddHandler application-ogg .ogg .ogv .oga
    Additionally, MIME types can usually be changed on a server's Control Panel. One can also ask one's hosting provider to do this as well.
    Firefox makes it necessary to use OGG files. Webkit-based browsers will deal with .M4V or .MP4 and I understand Internet Exploder will work with the latter two as well.

  • How to create a String with comma ?

    Hi All,
    I have a table with 10 records(employee name) and i have to make a string
    with comma delimiter and at the end with "."
    Can anybody tell me how to write a Java program for this ?
    Thanks in advance.

    // I believe the following example gives you the answer.
    class stringEG {
         public static void main(String args[]) {
         String emprs[] ={"1","2","3","4","5","6","7","8","9","10"};
         String vempname = "";
         for(int i=0; i<emprs.length; i++) {
         if(i == (emprs.length-1))
              vempname = vempname + emprs[i] + ".";
         else
              vempname = vempname + emprs[i] + ", ";
         System.out.println("vempname : "+vempname);
    Here dont assume that I asked you to get all the results and putting
    it into the string arrays. But its a simple example to suit your requirement.
    The half-way coding below answers your question, I hope.
    vempname = "";
    while (emprs.next()) {
    if(emprs.isLast())
    vempname = vempname + emprs.getString("empname") + ".";
    else
    vempname = vempname + emprs.getString("empname") + ", ";
    // nats.

  • Problem with comma and point

    Hello,
    I have a problem with comma and point in a double-digit.
    I use a english driver for HM8142. When I get the values then I only get
    int-digits. How can I change "Use comma as separator" . I tried to change
    the option in LabVIEW.
    I changed it, then I got the window. "To change, restart the programm". I
    have done this. But when I have a look at the option, it is not changed.
    What can I do?
    I am not the admin on the computer.
    Martin

    Hi Martin,
    you do not have to change any system settings neither in LabVIEW nor in your windows.
    All instrument drivers should use a point as decimal separator. You can overwrite the decimal point handling in the string functions "Scan from string" and "Format into string".
    Make a right click on the function and use "Edit Scan String". In the dialog open the ring under "Selected operation", the last entry allows you to set the character for the decimal separator. This separator will be used for all the following floating point numbers.
    From your name and problem I think you are located in central europe. I do not have a german version of LV so I cannot tell you how the elements are named in german.
    Waldemar
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • How to store a file in application server with comma as a delimiter !!

    <i>Hi,
       I'm Creating a file in app. server using "open dataset" statment and populating the file using Transfer stmt.
    I like to store the data fields with comma delimiter, since it normally fixed length.
    Please let me know Any method available.
    Thank You,
    Senthil</i>

    No problem,  just concatenate all your fields into one field separated by a comma.  Then transfer that field only.
    data: your_dataset type localfile default '/usr/sap/TST/SYS/Data1.txt'.
    data: output type string.
    open dataset your_dataset for output in text mode.
    loop at itab.
      concatenate itab-fld1
                  itab-fld2
                  itab-fld3
                       into output separated by ','.
      transfer output to your_dataset.
    endloop.
    close dataset your_dataset.
    REgards,
    Rich Heilman

  • Separating number in inputext with comma

    hi all
    I need to separate numbers with comma without using Enter .
    I have an input text and used an clientListner on it : code is bellow
      <f:view>
        <af:document id="d1">  
         <af:resource type="javascript" source="/js/accounting.js"/>
         <af:resource type="javascript" source="/js/functions.js"/>
         <!--<af:resource type="javascript" source="/js/accounting.min.js"/>-->
          <af:form id="f1">
    <af:panelGroupLayout id="pgl1">
    <af:inputText label="Label 1" id="it1">
    <af:clientListener method="formatNum" type="keyUp"/>
    </af:inputText>
            </af:panelGroupLayout>
          </af:form>
        </af:document>
      </f:view>
    I run this JavaScript on HTML page that is OK and my input text show separated number during entering ,
    but I run my above jspx page ,it does not show until press the Enter key ...
    please guide me .... I have an emergency condition please answer me soon
    and then use this function for handling...
    function.js :
    function formatNum(evt) {
        var inputfield = evt.getSource();
        var num = accounting.unformat(inputfield.getValue());
        var formatNum = accounting.formatNumber(num);
        inputfield.setValue(formatNum);
        return true;
    accounting.js
    * accounting.js v0.3.2
    * Copyright 2011, Joss Crowcroft
    * Freely distributable under the MIT license.
    * Portions of accounting.js are inspired or borrowed from underscore.js
    * Full details and documentation:
    * http://josscrowcroft.github.com/accounting.js/
    (function(root, undefined) {
    /* --- Setup --- */
    // Create the local library object, to be exported or referenced globally later
    var lib = {};
    // Current version
    lib.version = '0.3.2';
    /* --- Exposed settings --- */
    // The library's settings configuration object. Contains default parameters for
    // currency and number formatting
    lib.settings = {
    currency: {
    symbol : "$", // default currency symbol is '$'
    format : "%s%v", // controls output: %s = symbol, %v = value (can be object, see docs)
    decimal : ".", // decimal point separator
    thousand : ",", // thousands separator
    precision : 2, // decimal places
    grouping : 3 // digit grouping (not implemented yet)
    number: {
    precision : 0, // default precision on numbers is 0
    grouping : 3, // digit grouping (not implemented yet)
    thousand : ",",
    decimal : "."
    /* --- Internal Helper Methods --- */
    // Store reference to possibly-available ECMAScript 5 methods for later
    var nativeMap = Array.prototype.map,
    nativeIsArray = Array.isArray,
    toString = Object.prototype.toString;
    * Tests whether supplied parameter is a string
    * from underscore.js
    function isString(obj) {
    return !!(obj === '' || (obj && obj.charCodeAt && obj.substr));
    * Tests whether supplied parameter is a string
    * from underscore.js, delegates to ECMA5's native Array.isArray
    function isArray(obj) {
    return nativeIsArray ? nativeIsArray(obj) : toString.call(obj) === '[object Array]';
    * Tests whether supplied parameter is a true object
    function isObject(obj) {
    return obj && toString.call(obj) === '[object Object]';
    * Extends an object with a defaults object, similar to underscore's _.defaults
    * Used for abstracting parameter handling from API methods
    function defaults(object, defs) {
    var key;
    object = object || {};
    defs = defs || {};
    // Iterate over object non-prototype properties:
    for (key in defs) {
    if (defs.hasOwnProperty(key)) {
    // Replace values with defaults only if undefined (allow empty/zero values):
    if (object[key] == null) object[key] = defs[key];
    return object;
    * Implementation of `Array.map()` for iteration loops
    * Returns a new Array as a result of calling `iterator` on each array value.
    * Defers to native Array.map if available
    function map(obj, iterator, context) {
    var results = [], i, j;
    if (!obj) return results;
    // Use native .map method if it exists:
    if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
    // Fallback for native .map:
    for (i = 0, j = obj.length; i < j; i++ ) {
    results[i] = iterator.call(context, obj[i], i, obj);
    return results;
    * Check and normalise the value of precision (must be positive integer)
    function checkPrecision(val, base) {
    val = Math.round(Math.abs(val));
    return isNaN(val)? base : val;
    * Parses a format string or object and returns format obj for use in rendering
    * `format` is either a string with the default (positive) format, or object
    * containing `pos` (required), `neg` and `zero` values (or a function returning
    * either a string or object)
    * Either string or format.pos must contain "%v" (value) to be valid
    function checkCurrencyFormat(format) {
    var defaults = lib.settings.currency.format;
    // Allow function as format parameter (should return string or object):
    if ( typeof format === "function" ) format = format();
    // Format can be a string, in which case `value` ("%v") must be present:
    if ( isString( format ) && format.match("%v") ) {
    // Create and return positive, negative and zero formats:
    return {
    pos : format,
    neg : format.replace("-", "").replace("%v", "-%v"),
    zero : format
    // If no format, or object is missing valid positive value, use defaults:
    } else if ( !format || !format.pos || !format.pos.match("%v") ) {
    // If defaults is a string, casts it to an object for faster checking next time:
    return ( !isString( defaults ) ) ? defaults : lib.settings.currency.format = {
    pos : defaults,
    neg : defaults.replace("%v", "-%v"),
    zero : defaults
    // Otherwise, assume format was fine:
    return format;
    /* --- API Methods --- */
    * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value
    * alias: accounting.`parse(string)`
    * Decimal must be included in the regular expression to match floats (defaults to
    * accounting.settings.number.decimal), so if the number uses a non-standard decimal
    * separator, provide it as the second argument.
    * Also matches bracketed negatives (eg. "$ (1.99)" => -1.99)
    * Doesn't throw any errors (`NaN`s become 0) but this may change in future
    var unformat = lib.unformat = lib.parse = function(value, decimal) {
    // Recursively unformat arrays:
    if (isArray(value)) {
    return map(value, function(val) {
    return unformat(val, decimal);
    // Fails silently (need decent errors):
    value = value || 0;
    // Return the value as-is if it's already a number:
    if (typeof value === "number") return value;
    // Default decimal point comes from settings, but could be set to eg. "," in opts:
    decimal = decimal || lib.settings.number.decimal;
    // Build regex to strip out everything except digits, decimal point and minus sign:
    var regex = new RegExp("[^0-9-" + decimal + "]", ["g"]),
    unformatted = parseFloat(
    ("" + value)
    .replace(/\((.*)\)/, "-$1") // replace bracketed values with negatives
    .replace(regex, '')         // strip out any cruft
    .replace(decimal, '.')      // make sure decimal point is standard
    // This will fail silently which may cause trouble, let's wait and see:
    return !isNaN(unformatted) ? unformatted : 0;
    * Implementation of toFixed() that treats floats more like decimals
    * Fixes binary rounding issues (eg. (0.615).toFixed(2) === "0.61") that present
    * problems for accounting- and finance-related software.
    var toFixed = lib.toFixed = function(value, precision) {
    precision = checkPrecision(precision, lib.settings.number.precision);
    var power = Math.pow(10, precision);
    // Multiply up by precision, round accurately, then divide and use native toFixed():
    return (Math.round(lib.unformat(value) * power) / power).toFixed(precision);
    * Format a number, with comma-separated thousands and custom precision/decimal places
    * Localise by overriding the precision and thousand / decimal separators
    * 2nd parameter `precision` can be an object matching `settings.number`
    var formatNumber = lib.formatNumber = function(number, precision, thousand, decimal) {
      // Resursively format arrays:
    if (isArray(number)) {
    return map(number, function(val) {
    return formatNumber(val, precision, thousand, decimal);
    // Clean up number:
    number = unformat(number);
    // Build options object from second param (if object) or all params, extending defaults:
    var opts = defaults(
    (isObject(precision) ? precision : {
    precision : precision,
    thousand : thousand,
    decimal : decimal
    lib.settings.number
    // Clean up precision
    usePrecision = checkPrecision(opts.precision),
    // Do some calc:
    negative = number < 0 ? "-" : "",
    base = parseInt(toFixed(Math.abs(number || 0), usePrecision), 10) + "",
    mod = base.length > 3 ? base.length % 3 : 0;
    // Format the number:
    return negative + (mod ? base.substr(0, mod) + opts.thousand : "") + base.substr(mod).replace(/(\d{3})(?=\d)/g, "$1" + opts.thousand) + (usePrecision ? opts.decimal + toFixed(Math.abs(number), usePrecision).split('.')[1] : "");
    * Format a number into currency
    * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)
    * defaults: (0, "$", 2, ",", ".", "%s%v")
    * Localise by overriding the symbol, precision, thousand / decimal separators and format
    * Second param can be an object matching `settings.currency` which is the easiest way.
    * To do: tidy up the parameters
    var formatMoney = lib.formatMoney = function(number, symbol, precision, thousand, decimal, format) {
    // Resursively format arrays:
    if (isArray(number)) {
    return map(number, function(val){
    return formatMoney(val, symbol, precision, thousand, decimal, format);
    // Clean up number:
    number = unformat(number);
    // Build options object from second param (if object) or all params, extending defaults:
    var opts = defaults(
    (isObject(symbol) ? symbol : {
    symbol : symbol,
    precision : precision,
    thousand : thousand,
    decimal : decimal,
    format : format
    lib.settings.currency
    // Check format (returns object with pos, neg and zero):
    formats = checkCurrencyFormat(opts.format),
    // Choose which format to use for this value:
    useFormat = number > 0 ? formats.pos : number < 0 ? formats.neg : formats.zero;
    // Return with currency symbol added:
    return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), checkPrecision(opts.precision), opts.thousand, opts.decimal));
    * Format a list of numbers into an accounting column, padding with whitespace
    * to line up currency symbols, thousand separators and decimals places
    * List should be an array of numbers
    * Second parameter can be an object containing keys that match the params
    * Returns array of accouting-formatted number strings of same length
    * NB: `white-space:pre` CSS rule is required on the list container to prevent
    * browsers from collapsing the whitespace in the output strings.
    lib.formatColumn = function(list, symbol, precision, thousand, decimal, format) {
    if (!list) return [];
    // Build options object from second param (if object) or all params, extending defaults:
    var opts = defaults(
    (isObject(symbol) ? symbol : {
    symbol : symbol,
    precision : precision,
    thousand : thousand,
    decimal : decimal,
    format : format
    lib.settings.currency
    // Check format (returns object with pos, neg and zero), only need pos for now:
    formats = checkCurrencyFormat(opts.format),
    // Whether to pad at start of string or after currency symbol:
    padAfterSymbol = formats.pos.indexOf("%s") < formats.pos.indexOf("%v") ? true : false,
    // Store value for the length of the longest string in the column:
    maxLength = 0,
    // Format the list according to options, store the length of the longest string:
    formatted = map(list, function(val, i) {
    if (isArray(val)) {
    // Recursively format columns if list is a multi-dimensional array:
    return lib.formatColumn(val, opts);
    } else {
    // Clean up the value
    val = unformat(val);
    // Choose which format to use for this value (pos, neg or zero):
    var useFormat = val > 0 ? formats.pos : val < 0 ? formats.neg : formats.zero,
    // Format this value, push into formatted list and save the length:
    fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), checkPrecision(opts.precision), opts.thousand, opts.decimal));
    if (fVal.length > maxLength) maxLength = fVal.length;
    return fVal;
    // Pad each number in the list and send back the column of numbers:
    return map(formatted, function(val, i) {
    // Only if this is a string (not a nested array, which would have already been padded):
    if (isString(val) && val.length < maxLength) {
    // Depending on symbol position, pad after symbol or at index 0:
    return padAfterSymbol ? val.replace(opts.symbol, opts.symbol+(new Array(maxLength - val.length + 1).join(" "))) : (new Array(maxLength - val.length + 1).join(" ")) + val;
    return val;
    /* --- Module Definition --- */
    // Export accounting for CommonJS. If being loaded as an AMD module, define it as such.
    // Otherwise, just add `accounting` to the global object
    if (typeof exports !== 'undefined') {
    if (typeof module !== 'undefined' && module.exports) {
    exports = module.exports = lib;
    exports.accounting = lib;
    } else if (typeof define === 'function' && define.amd) {
    // Return the library as an AMD module:
    define([], function() {
    return lib;
    } else {
    // Use accounting.noConflict to restore `accounting` back to its original value.
    // Returns a reference to the library's `accounting` object;
    // e.g. `var numbers = accounting.noConflict();`
    lib.noConflict = (function(oldAccounting) {
    return function() {
    // Reset the value of the root's `accounting` variable:
    root.accounting = oldAccounting;
    // Delete the noConflict method:
    lib.noConflict = undefined;
    // Return reference to the library to re-assign it:
    return lib;
    })(root.accounting);
    // Declare `fx` on the root (global/window) object:
    root['accounting'] = lib;
    // Root will be `window` in browser or `global` on the server:
    }(this));

    hi all
    I have an input text that I want to separate it's value with comma
    this is my input text :
    <af:inputText value="#{bindings.LacreditAmt.inputValue}"
    label="#{bindings.LacreditAmt.hints.label}"
    required="#{bindings.LacreditAmt.hints.mandatory}"
    columns="#{bindings.LacreditAmt.hints.displayWidth}"
    shortDesc="#{bindings.LacreditAmt.hints.tooltip}"
    id="it8"
    maximumLength="#{bindings.LacreditAmt.hints.precision}"
    converter="converter.BIGDECIMALMONEYCONVERTER"
    clientComponent="true">
    <f:validator binding="#{bindings.LacreditAmt.validator}"/>
    <!--<af:convertNumber groupingUsed="false"
    pattern="#{bindings.LacreditAmt.format}"/>-->
    <af:clientListener method="handleNumberFormatConversion" type="keyUp"/>
    </af:inputText>
    and use this  java Script for comma separated value :
    problem is : when I used firebug for testing this java Script ,everything is OK and 'result' variable shown
    the correct value (comma separated value) but in fact the correct value did not show
    in input text  !!!!!
    please guide me soon.
    I appreciated in advance
    function handleNumberFormatConversion(evt){
            var inputField = evt.getCurrentTarget();
            var keyPressed = evt.getKeyCode();
            var oldValue = inputField.getSubmittedValue();
            var validKeys = new Array(48,49,50,51,52,53,54,55, 56,57,96,97,98,99,100, 101,102,103,104,105,AdfKeyStroke.ARROWRIGHT_KEY, AdfKeyStroke.ARROWLEFT_KEY, AdfKeyStroke.BACKSPACE_KEY, AdfKeyStroke.DELETE_KEY, AdfKeyStroke.END_KEY, AdfKeyStroke.ESC_KEY, AdfKeyStroke.TAB_KEY);
            var numberKeys = new Array(48,49,50,51,52,53,54,55, 56,57,96,97,98,99,100, 101,102,103,104,105, AdfKeyStroke.BACKSPACE_KEY, AdfKeyStroke.DELETE_KEY);
            var isValidKey = false;
            for (var i=0; i < validKeys.length; ++i){
                if (validKeys[i] == keyPressed) {
                    isValidKey = true;
                    break;
            if(isValidKey){
                    var isNumberKey = false;
                for (var n=0; n < numberKeys.length; ++n){
                    if(numberKeys[n] == keyPressed){
                        isNumberKey = true;
                        break;
                if(isNumberKey){
                    var formatLength = 25;
                    if(formatLength == oldValue.length){
                        inputField.setValue(oldValue);
                        evt.cancel();
                    else {
                        var firstNeg = false;
                        var lastNeg = false;
                        if (oldValue.charAt(0) == '(')
                            firstNeg = true;
                        if(oldValue.contains(')')){
                          lastNeg = true;                              
                        oldValue = oldValue.replace('(', "");
                        oldValue = oldValue.replace(')', "");
                        var result = "";
                        while (oldValue.contains(",")) {
                            oldValue = oldValue.replace(",", "");
                        for (i = oldValue.length - 3;i > 0;i -= 3) {
                            result = ",".concat(oldValue.substring(i, i + 3), result);
                        result = oldValue.substring(0, (oldValue.length % 3 == 0) ? 3 : oldValue.length % 3).concat(result);
                        if (firstNeg)
                            result = '(' + result;
                        if (lastNeg) {
                            result = result + ')';
                        inputField.setValue(result);
                        evt.cancel();
                        return true;                   
            else {
                inputField.setValue(oldValue);
                evt.cancel();

  • Currency field to be displayed with commas and asterisks(formatting)

    I have a field REGUH-RWBTR in my sap script code. I need to have the currency displayed with commas. And also if the digits are less, then left pad it with asterisks for remaining spaces.
    For eg, If the Digit is 12345678912.23 (max value), it should print as 12345,678,912.23.
    And If the digit is 12345.89, it should print as ******12,345.89
    Please help me to solve this problem.Its urgent.
    Thanks,
    Sandeep.

    Hello,
    You can use the WRITE using EDIT MASK.
    USING { {NO EDIT MASK}|{EDIT MASK mask} }
    Effect
    This addition overrides a conversion routine defined through reference to the ABAP Dictionary. The addition NO EDIT MASK only switches off the execution of an assigned conversion routine. The addition EDIT MASK calls either another conversion routine or defines an edit mask. For mask, a data object of the same name is expected.
    In order to call an arbitrary conversion routine CONV, mask must contain two equals signs, followed directly by the name of the conversion routine: "==CONV". During output, the content of dobj is passed to the function module CONVERSION_EXIT_CONV_OUTPUT, converted there, and then the result is displayed. If the function module is not found, an exception that can be handled is triggered (as of Release 6.10). The statement DESCRIBE FIELD contains an addition in order to fill mask accordingly.
    If the output length is specified explicitly with len, the conversion routine is executed for the specified length; otherwise for the implicit output length. If * or ** is specified for the output length, the appropriate rules are used for the converted result.
    If the first two characters in mask are not equals signs, the content is interpreted as an edit mask in which some characters have a particular meaning. The WRITE statement does not then output the content of dobj directly, but the character string in mask as follows:
    If the first two characters in mask are "LL" or "RR ", these are not output, They control whether the edit mask is left-justified or right-justified. If the first two characters are other characters, the edit mask is left-justified.
    All "_" characters are replaced from the left (in the case of "LL") or from the right (in the case of "RR") with characters for character-type types or numbers for the types p or i from dobj. In the case of fields of type c, closing blanks are ignored. Data objects of type f or x are converted into type c before editing. Superfluous characters "_" in mask are replaced by blanks. Characters from dobj for which there are no characters "_" in mask are not displayed.
    If dobj is of type i or p, the first character from the left "V" in mask is replaced with "-" in the case of a negative number and by blank in the case of a positive number.
    All the other characters of the edit mask are displayed unchanged.
    If no output length is specified, the implicit output length of dobj is used. If len is specified for the output length, the value of len is used. If * is specified for the output length, exactly that length that is required for the list display is set. If, in Unicode systems, characters of the edit mask are replaced by characters that take up more than one column on the list, the output length is increased accordingly and the output is filled with blanks in the list buffer. If ** is specified for the output length, double the length of the edit mask mask is used.
    If other formatting options are specified concurrently for an edit mask, these are used first and then the special characters in the edit mask are replaced by the interim result. The date masks date_mask are an exception to this. If these are specified, the edit mask is ignored.
    Notes
    In Unicode systems, you must remember that a character "_"in the edit mask does not necessarily correspond to a column in the list display since the space required in the display depends on the character to be replaced.
    The minus sign for a negative number is not displayed if no edit character "V" is specified. The decimal separator of a packed number with decimal places must be specified at the required position in the edit mask.
    Example
    Edited output of time duration. In the first output, the function module CONVERSION_EXIT_DURA_OUTPUT is executed. This converts the duration specified in seconds into minutes. In the second output, the edit mask is output according to the above rules. However, the underscore characters "_" are replaced by the characters from time.
    DATA: dura TYPE i,
          time TYPE t VALUE '080000'.
    dura = sy-uzeit - time.
    time = dura.
    WRITE /(30) dura USING EDIT MASK '==SDURA'.
    WRITE /(30) time USING EDIT MASK
                           'RRThe duration is __:__:__'.
    Regards,

  • Unable to Load CSV file with comma inside the column(Sql Server 2008)

    Hi,
    I am not able load an CSV file with Comma inside a column. 
    Here is sample File:(First row contain the column names)
    _id,qp,c
    "1","[ ""0"", ""0"", ""0"" ]","helloworld"
    "1","[ ""0"", ""0"", ""0"" ]","helloworld"
    When i specify the Text Qualifier as "(Double quotes) it work in SQL Server 2012, where as fail in the SQL Server 2008, complaining with error:
    TITLE: Microsoft Visual Studio
    The preview sample contains embedded text qualifiers ("). The flat file parser does not support embedding text qualifiers in data. Parsing columns that contain data with text qualifiers will fail at run time.
    BUTTONS:
    OK
    I need to do this in sql server 2008 R2 with Service pack 2, my build version is 10.50.1600.1.
    Can someone let me know it is possible in do the same way it is handle in SQL Server 2012?
    Or
    It got resolved in any successive Cumulative update after 10.50.1600.1?
    Regards Harsh

    Hello,
    If you have CSV with double quotes inside double quotes and with SSIS 2008, I suggest:
    in your data flow you use a script transformation component as Source, then define the ouput columns id signed int, Gp unicode string and C unicode string. e.g. Ouput 0 output colmuns
    Id - four-byte signed
    gp - unicode string
    cc - unicode string
    Do not use a flat file connection, but use a user variable in which you store the name of the flat file (this could be inside a for each file loop).
    The user variable is supplied as a a readonly variable argument to the script component in your dataflow.
    In the script component inMain.CreateNewOutputRows use a System.IO.Streamreader with the user variable name to read the file and use the outputbuffer addrow method to add each line to the output of the script component.
    Between the ReadLine instraction and the addrow instruction you have to add your code to extract the 3 column values.
    public override void CreateNewOutputRows()
    Add rows by calling the AddRow method on the member variable named "<Output Name>Buffer".
    For example, call MyOutputBuffer.AddRow() if your output was named "MyOutput".
    string line;
    System.IO.StreamReader file = new System.IO.StreamReader( Variables.CsvFilename);
    while ((line = file.ReadLine()) != null)
    System.Windows.Forms.MessageBox.Show(line);
    if (line.StartsWith("_id,qp,c") != true) //skip header line
    Output0Buffer.AddRow();
    string[] mydata = Yourlineconversionher(line);
    Output0Buffer.Id = Convert.ToInt32(mydata[0]);
    Output0Buffer.gp = mydata[1];
    Output0Buffer.cc = mydata[2];
    file.Close();
    Jan D'Hondt - SQL server BI development

Maybe you are looking for

  • HELP ME! Nokia 5230 does not work after update

    My nokia 5230 will not boot after update. I've also tried everything and red green camera button intedruken but nothing worked. Can someone help me I am so on vacation. Sorry for my English I am Dutch

  • Monitor won't work via mini-dvi to dvi adapter

    It's a brand spanking new mac mini. I attached a 5 year old lcd monitor (always used before as VGA) using the mini-dvi to dvi adapter. I am using the monitor's dvi connector. The monitor resolution is 1280x1024. The monitor does not work when using t

  • Query related to Service Entry Sheet for maintenance order

    Dear Gurus, I am little bit confusing while entering SES for maintenance order, Do we need to enter both Maintenance Order# & Cost Center# in Account assignment tab of SES? What is impact of entering both in SES? What is standard procedure of accepti

  • Send SMS with GSM Modems (D-Link DWM-156)

    Hi I am developing an application for GSM Modems (D-Link DWM-156) in C#.Net using AT commands. I have a problem sending English SMS. I try to send "hello", But I receive "e2□y" in my phone or ...exept hello! when I send "h"(one character) ,I receive

  • Dump while cancelling Lead in Webui

    If one tries to create a lead on webui and hits cancel button he is getting a dump . Debugging analysis : Dump is being obtained in CL_BSP_WD_HIST_MANAGER_BAS->RESTORE_VIEW_STATE method when it tries to restore view controller by calling bind_view me