Verify SSN in the string

Hi ,
I have a requirement while reading the input file.
Input file is mixed up with several header records and data records
Every data record has SSN starting at fixed position.
So we need to identify the SSN in the data record and store that entire record and skip other records.
SSN format is xxx-xx-xxxx . All are numbers .
I think there might be easier to way to compare and identify this format.
Could anyone suggest the best way to do these.(May be comparing patterns,some string operation etc).Also i need to check all the 'X' are numbers.
Thanks for the help.
Regards

Try this code by cut & paste into a test program and try
report zars
  no standard page heading line-size 255.
parameters : ssn(15) type c.
data matcher type ref to cl_abap_matcher.
matcher = cl_abap_matcher=>create(
             pattern = `^d{3}-d{2}-d{4}$`
             ignore_case = 'X'
             text = ssn ).
if matcher->match( ) is initial.
  message 'Invalid ssn Format' type 'I'.
else.
  message 'Valid ssn format' type 'I'.
endif.

Similar Messages

  • Import-SPWeb Error - The string was not recognized as a valid DateTime. There is an unknown word starting at index 0

    Using the Export-SPWeb PowerShell command on a server to move a document library from one site colelction in a content database to another site collection in a seperate content database.
    Am using the following command:
    Export-SPWeb
    -Identity
    https://sp.bacl.net/legal/rr
    -Path
    \\bacvsspa01\backups\rr\rr.cmp
    -ItemUrl
    rr
    -IncludeVersions
    All
    -IncludeUserSecurity
    Not all documents are transferred hwoever. I get some errors like the following:
    [11/02/2014 2:21:44 PM] [ListItem] [16Jun11 17.32.09_BAC employees provid_Tom Heading.msg] Progress: Importing
    [11/02/2014 2:21:44 PM] [ListItem] [16Jun11 17.32.09_BAC employees provid_Tom Heading.msg]   Verbose: List URL: /legal/legal/rr
    [11/02/2014 2:21:44 PM] [ListItem] [16Jun11 17.32.09_BAC employees provid_Tom Heading.msg]   Error: The string was not recognized as a valid DateTime. There is an unknown word starting at index 0.
    [11/02/2014 2:21:44 PM] [ListItem] [16Jun11 17.32.09_BAC employees provid_Tom Heading.msg]   Debug:    at System.DateTime.Parse(String s, IFormatProvider provider)
       at System.Convert.ToDateTime(String value, IFormatProvider provider)
       at System.Runtime.Serialization.SerializationInfo.GetDateTime(String name)
       at Microsoft.SharePoint.Deployment.MetaInfoProperty..ctor(SerializationInfoHelper infoHelper)
       at Microsoft.SharePoint.Deployment.FileSerializer.GetMetaInfo(SerializationInfoHelper infoHelper)
       at Microsoft.SharePoint.Deployment.FileSerializer.CreateOrUpdateFile(Object fileOrListItem, SPLoggerObject loggerObject, SPWeb web, Guid id, String& fileUrl, Boolean fileExistsInDb, Boolean isFirstVersion, Boolean hasWebParts, SerializationInfoHelper
    infoHelper, SerializationInfoHelper infoHelperListitem, StreamingContext context)
       at Microsoft.SharePoint.Deployment.FileSerializer.CreateOrUpdateFileAndAssocData(Object fileOrListItem, SPLoggerObject loggerObject, SPWeb web, Guid id, String& fileUrl, Boolean fileExistsInDb, SerializationInfoHelper infoHelper, SerializationInfoHelper
    infoHelperListitem, StreamingContext context, ISurrogateSelector selector)
       at Microsoft.SharePoint.Deployment.ListItemSerializer.AddOrUpdateDoclibItem(SerializationInfoHelper infoHelper, SPListItem& listItem, SPLoggerObject loggerObject, SPWeb web, Guid newId, String& listItemServerRelativeUrl, Boolean bIsPublish,
    Boolean exists, StreamingContext context, ISurrogateSelector selector)
       at Microsoft.SharePoint.Deployment.ListItemSerializer.SetObjectData(Object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
    I had a look in the .cmp file that was created (Changed extensions to .cab) and had a look at the Manifest.xml file. Relevant XML below:
    <SPObject Id="b18cc711-e5df-4ee7-9639-866e5b6613b0" ObjectType="SPFile" ParentId="1ad76e87-43e6-4cbf-a0a1-53af4975668f" ParentWebId="4be7e61f-b1c7-473f-acc3-0bae06e32024" ParentWebUrl="/legal/rr" Url="/legal/rr/rr/Employees
    giving First Aid/16Jun11 17.32.09_BAC employees provid_Tom Heading.msg">
            <File Url="rr/Employees giving First Aid/16Jun11 17.32.09_BAC employees provid_Tom Heading.msg" Id="b18cc711-e5df-4ee7-9639-866e5b6613b0" ParentWebId="4be7e61f-b1c7-473f-acc3-0bae06e32024"
    ParentWebUrl="/legal/rr" Name="16Jun11 17.32.09_BAC employees provid_Tom Heading.msg" ListItemIntId="37" ListId="020f8304-a50f-413b-be27-40d0ccc9e497" ParentId="1ad76e87-43e6-4cbf-a0a1-53af4975668f" TimeCreated="2011-11-16T07:02:00"
    TimeLastModified="2011-11-16T07:02:00" Version="1.0" CheckinComment="Loaded Using Dell Solutions for SharePoint" FileValue="00000013.dat" Author="29" ModifiedBy="24">
                <Properties>
                    <Property Name="vti_title" Type="String" Access="ReadOnly" Value="BAC employees providing first aid" />
                    <Property Name="source_item_id" Type="String" Access="ReadWrite" Value="source_item_id:1" />
                    <Property Name="vti_foldersubfolderitemcount" Type="Integer" Access="ReadOnly" Value="0" />
                    <Property Name="Attach Count" Type="String" Access="ReadWrite" Value="Attach Count:0" />
                    <Property Name="Created By" Type="Boolean" Access="ReadWrite" Value="Created By:BNE_AIR1\\jbrown" />
                    <Property Name="Importance" Type="String" Access="ReadWrite" Value="Importance:1" />
                    <Property Name="From1" Type="Time" Access="ReadWrite" Value="From1:Tom Heading" />
                    <Property Name="AttachCount" Type="String" Access="ReadWrite" Value="AttachCount:0" />
                    <Property Name="ContentTypeId" Type="String" Access="ReadWrite" Value="0x0101003699C96894FF79479322E4A235852946000530E240279BA54D8F621B39A4E09CF3"
    />
                    <Property Name="Modified By" Type="Boolean" Access="ReadWrite" Value="Modified By:BNE_AIR1\\jbrown" />
                    <Property Name="vti_folderitemcount" Type="Integer" Access="ReadOnly" Value="0" />
                    <Property Name="display_urn\:schemas-microsoft-com\:office\:office#Author" Type="String" Access="ReadWrite" Value="Jenny Brown"
    />
                    <Property Name="Document Created By" Type="Boolean" Access="ReadWrite" Value="Document Created By:BNE_AIR1\\jbrown" />
                    <Property Name="Created_x0020_By" Type="Boolean" Access="ReadWrite" Value="Created_x0020_By:BNE_AIR1\\jbrown" />
                    <Property Name="vti_cachedtitle" Type="String" Access="ReadOnly" Value="BAC employees providing first aid" />
                    <Property Name="Modified_x0020_By" Type="Boolean" Access="ReadWrite" Value="Modified_x0020_By:BNE_AIR1\\jbrown" />
                    <Property Name="ContentType" Type="String" Access="ReadWrite" Value="Legal Document" />
                    <Property Name="Attach_x0020_Count" Type="String" Access="ReadWrite" Value="Attach_x0020_Count:0" />
                    <Property Name="display_urn\:schemas-microsoft-com\:office\:office#Editor" Type="String" Access="ReadWrite" Value="Jenny Brown"
    />
                    <Property Name="vti_parserversion" Type="String" Access="ReadOnly" Value="15.0.0.4535" />
                    <Property Name="To" Type="Boolean" Access="ReadWrite" Value="To:Barry Peach" />
    <Property Name="From" Type="Time" Access="ReadWrite" Value="From:Tom Heading" />
                    <Property Name="Document Modified By" Type="Boolean" Access="ReadWrite" Value="Document Modified By:BNE_AIR1\\jbrown"
    />
                </Properties>
            </File>
        </SPObject>
    Now, looking at the source document library, this document has the field in question set to String, so why has it been marked as a Time filed type in the expiort file?
    Is anyone aware of any issues with the Export-SPWeb commandlet?
    SharePoint 2013 + March PU + AUG 2013 CU.
    Any help appreciated.

    Hi Richard,
    According to your description, the error occurred when you ran the Export-SPWeb command.
    I recommend to verify the things below for troubleshooting:
    Save the document library as an template(include content) and create a new document library based on the template, then run the Export-SPWeb command to export the new document library to see if the issue still occurs.
    Did this issue occur with other document library? If not, you can delete the string field with error, then run the Export-SPWeb command to narrow the issue scope.
    As a workaround, you can save the library as a template and deploy it to the site collection where you want to move the library, then create the new library in the site collection.
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • Failed to load the string PRKC-PRKC-1036 : CRS_HOME name passed to the meth

    Hi Experts,
    During Oracle database 11gR2 installation using ASM, I am facing below issue, please look into this and suggest
    Scope: 1- Install Grid Infrastructure and then rdbms software with creating db.
    Issue:
    1- ASM Grid (Grid Infrastructure software) has been installed successfully.
    2- When rdbms (database) Installer start DBCA for database creation it stuck and have same status after hour. When I check the logs I found below error (dbca: log), I am trying to get something more, if I get I will let you know, meanwhile I am also seeking your suggestion..
    Error:
    [main] [ 2012-08-08 14:46:19.600 GST ] [MessageBundle.getMessageFields:338] MessageBundle.getMessage() failed to load the string PRKC-PRKC-1036 : CRS_HOME name passed to the method was null Exception: java.util.MissingResourceException: Can't find resource for bundle oracle.ops.mgmt.resources.PrkcMsg, key PRKC-1036 : CRS_HOME name passed to the method was null
    [main] [ 2012-08-08 14:46:19.600 GST ] [ClusterUtils.getCRSActiveVersion:1797] Error getting CRS active version: PRKC-PRKC-1036 : CRS_HOME name passed to the method was null : <null>
    Note:
    1- I checked, ASM instance is up, listener is also up, and all disk are in mount status
    2- I am installation both (grid and rdbms) with same user (oracle) using same group (oinstall). (I did this because client want one user for both.
    3- Its Standalone server
    Please Help.
    Regards

    Doing things because "the client wants" is not a way to be successful.
    Do things the way Oracle recommends and then use sudo where required to give the customer what the customer wants.
    Show us the output of running Cluster Verify.
    My suspicion is that there are a number of things wrong with your installation.

  • The String class depracated?

    I am porting our application to Solaris 10, Oracle 11, yada, yeda.
    Anyway, our long written code used the GNU C++ Class Library - the String class. It appears that the String class does not exist in the latest distribution (4.2).
    Can anyone verify if that is true or if I am mistaken?
    If this is true, I will have to implement the functionality I need in the class that we have built on top of the Sting class.
    Some of the functionality of that class I need fcompare, before, after, gsub and freq.
    Thanks

    Upon further research, it is the String class from libg++ that is no longer included.
    I am currently trying to compile the older version of this library, but having many issues using the newer compilers.

  • Unable to capture the String[] from a JavaCallOut

    Hi all,
    I am doing an application in which I need to do a java callout which accepts string and return a String array as output. The java class alone is working fine but when I do the Java Callout and pass the string I am getting *"<con:java-content      ref="jcid:-31630335:136f3572827:-3925" xmlns:con="http://www.bea.com/wli/sb/context"/>"* as a response. How should I access array variable in OSB?
    Kindly help me in this.
    Regards
    Phanindra.

    in Java Callouts I would avoid types which are not in THE list of supported types:
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/eclipsehelp/ui_ref.html#wp1290279
    java.lang.String[] is supported for INPUT ONLY
    just return some CSV in a String and you will be happy
    or return a XmlObject containing multiple elements
    A con:java-content thingie can be processed only in another Java callout, and not in a OSB message flow....

  • Seperation of contents in the string

    Hi Guru's,
    I was assigned a little bit query related to updation of text for LFA1 object. I would like to expalin my requirement in details. I have 2 texts like Z001 & Z002. Z001 stores range of PRO numbers. Z002 is for display the current PRO number related to perticular vendor. we need to update that Z002 by code it self. Suppose Z001 contains the range like this (ROADWAY 444 100 , ROADWAY 444 999). I need to update Z002 with the next value starting from lower value like
    (ROADWAY 444100,ROADWAY 444 101,ROADWAY 444 102...........). For each vendor length of PRO # may change. Now my problem is how can i seperate alphabates and numerics in this string (ROADWAY 444 100..) for updating Z002 with next PRO#. Kindly help me out in this scenario and your help will be greatly appriciated.
    Regards,
    Ravi.

    Hi Ravi,
    You can split the string into parts..
    DATA : begin of itab OCCURS 0,
                 line type char100,
    end of itab.
    SPLIT z001
         AT space
    INTO TABLE itab.
    Now if you are sure that the 3rd record will be which you need to use..
    Then, LOOP AT itab INDEX 3.
    MOVE itab-line TO w_num.
    w_num = w_num + 1.
    ENDLOOP.
    Thanks and Best Regards,
    Vikas Bittera.
    **Reward if useful**

  • How can labview update the string control (text-edit box) after we have pressed the carriage return key on the keyboard during text-editing within that box?

    Dear readers,
    I have been trying to work out how to get labview to detect the event when a 'string' control has been modified, where the user has finished editing the string either by 1) pressing the enter key on the keyboard, or by 2) taking the focus away from the string control again. For example.. if I use the mouse to click on the string control and then I type 1234 into the box, I would like to have a routine that does something once the user hits the Enter key of the keyboard, or when the user takes the focus away from the string control again by clicking on something else. I would like the routine to respond even when the user didn't change anything in the text box (such as when we mouse-click on the edit box to go into edit mode, and then mouse-click on something else to remove the focus with no changes to the contents in edit-box).
    The purpose of my routine is to have a edit-box for a user to change for example the centre-frequency of a vector network analyser, so that the centre-frequency of the network analyser can change once the user finishes entering a new value in the text-edit box by hitting Enter key after the number is keyed in. Even if the user has clicked on the edit box, but changes their mind by mouse-clicking on something else to remove focus from the edit box, I would still like labview to detect the event when the control loses focus, so that the centre frequency can be updated anyway (to the same value that was already in the edit box).
    So far, I've tried set the string control option to 'limit to single line', so that I can try to scan for a carriage return .. '\n' ... pattern in the string. Unfortunately this doesn't work because labview doesn't seem to attach the '\n' to the end of that single line.
    Could someone please suggest ways to set a flag when a user hits Enter during text-edit mode of a string control, or when focus has been removed from the string control?
    While I've only described my problem for controlling a single control parameter on the gpib device, I'd like to make this feature work so that I can do the same kind of thing with other control parameters as well.
    Thanks so much in advance.
    Kenny

    Hi Kenny,
    instead of using the event structure, you can directly achieve to what you want by the KeyFocus property of the string control.
    - Enable Limit to single line option
    - Create the property KeyFocus in read mode and connect an indicator
    Each time you click on the string to modify it KeyFocus is True; when you click away or hit Enter KeyFocus is False.
    You can toggle your settings when KeyFocus changes from True to False.
    Alberto

  • How to count number of vowels in the String?

    Write a program that calculates the total number of vowels contained in the String" Event Handlers is dedicated to making your event a most memorable one."
    Please help!

    http://leepoint.net/notes/javanotes/40other/20examples/60Strings/example_countVowels.html

  • I would like to do a program that have one string control and one string indicator, any character that I type in the string control in the same time it will be appear in another string (indicator). How can help me?

    I would like to do a program that have one string control and one string indicator, any character that I type in the string control in the same time it will be appear in another string (indicator). How can help me?

    Why not use an event
    Add a While Loop, inside the loop add the Event Sructure.
    Now in the event structure selecd the String Controls.value change event to
    react
    and the new value inside the event that you get,( connect to the String
    indicator box.
    On Sun, 10 Aug 2003 15:58:47 -0500 (CDT), WiltonFilho wrote:
    > I would like to do a program that have one string control and one
    > string indicator, any character that I type in the string control in
    > the same time it will be appear in another string (indicator). How can
    > help me?
    >
    > I would like to do a program that have one string control and one
    > string indicator, any character that I type in the string control in
    > the same time it will be appear in another string (indicator). How can
    > help me?
    >
    Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

  • Issue with the String return from com.sap.aii.af.mp.module.ModuleData

    Hi Friends,
    We are developing Adapter for XI using java, XI is giving String in the form of ModuleData, we r getting the String from ModuleData but in the logic we need to split the String in parts based on character '…', but I observed that in the communication channel symbol is showing as ' '.
    We have written the java code based on '…' but splitting is not working, then I tried with the following code
    String[] molecules = null;
    if(filedata.indexOf(" ") != -1){               molecules = filedata.split(" ");
    }else if(filedata.indexOf("?") != -1){
                    molecules = filedata.split("?");
    }else if(filedata.indexOf("…") != -1){
                    molecules = filedata.split("…");     
    Still it is not working, please help in case of ModuleData text splitting..
    Thanks in advance.
    Satinder Saini

    Check with a hex editor, what the  ' '. really is.
    Maybe it is a tab? Then you can use "\t" in a Java progam.
    See also here:
    http://en.wikipedia.org/wiki/ASCII#ASCII_control_characters
    Regards
    Stefan
    Edited by: Stefan Grube on Mar 26, 2008 2:22 PM

  • How do I copy the string portion of an enum into the string portion of a cluster?

    I want to do this for the an entire array of clusters.  I'm trying to use a for loop.  Can't figure out how to parse the string portion of the enum into the string portion of the cluster.
    Alternatively, I'd be happy if I could figure out some way to tie the enum to the array of clusters, but I figure that gets problematic.
    DH
    Solved!
    Go to Solution.

    Dark Hollow wrote:
    OK, let's say that the enumerated type has N elements.  I want to initialize an N element array of strings.  How do I reference each string in the enumerated type to get to each string?
    Easy way to do this is to use GetNumericInfo.vi, part of the Variant library, found in vi.lib\utility\VariantDataType\GetNumericInfo.vi.  Wire your enumeration to the Variant input; one of the outputs is an array of the strings in the enumerated type.
    The more complicated way is a for loop, in which you typecast the iterator terminal value to the enumerated type, then use Format Value.  You can get the maximum value of the enumeration by casting 0 to the enumerated type, then decrementing; cast that back to a numeric and add one to get the right value to wire to the N terminal.
    EDIT: just thought I'd add, since RavensFan's reply popped up while I was writing mine - I don't like the Strings[] approach because it doesn't work on RT targets, and I lost a lot of time once due to this trying to figure out why my code wouldn't run properly on an RT system but worked great on my development computer.

  • How to calculate length of the string in transformation file

    Hello all
    I have tried a number of ways and I am not able to calculate the length of the incoming field in transformation file for my data load. Here is the issue.
    I have an incoming string of length 10 and I need to use it to update multiple dimensions which will need first 2, 4 ,6 , 8 characters respectively.
    Now in transformation file ID=ID(1:2) works perfect. However, the BW InfoObject will have multiple values as shown below:
    ID
    Description
    AB
    Business
    ABCD
    Business Organization
    ABCDEF
    Business Line
    ABCDEFGH
    Product Family
    ABCDEFGHIJ
    Product Line
    ABCDEFGHIJKL
    Brand
    I want to update my dimension for Business Organization. I need to update only the records where the length of the incoming string is 4. If I do ID(1:4), I will get the duplicate records and will see the ID less than 4 characters in rejected records. The latter is not such a big issue but the former one is as I need to fetch the right description as well. The formula should check the length and then only pass the record else a dummy value.
    A formula to achieve this in the transformation file is what I am looking for.
    Regards
    Gajendra

    Thanks Vadim for the quick response!
    I am also trying something similar and really appreciate your input here. However, I am not sure if the conversion is really happening.
    Here is what I have done:
    But the strings <> 4 in length are still passing through.

  • Problems with the Strings Urgent Help needed

    I have a unique problem. I have to retrieve a particular value from a String. I tried using String tokeniser but in vain. I cannot use java.util.regex package to match the expressions as the version of java on the client m/c is 1.1.8 and they are not ready to upgrade the same.
    The string From which I have is a very long one running into more than 100 lines which can vary from case to case all I know is to retrieve the value which is just in front of "TestValue" which occur only once in the String Can Anybody suggest a bettter alternative.
    Thanx.
    ebistrio

    StringTokenize on TestValueHow would you suggest that was done?
    As I understand it StringTokenizer tokens = new StringTokenizer(string, "TestValue"); would not tokenize on the string "TestValue" but on any of the characters 'T', 'e', 's', 't', 'V', 'a', 'l' or 'u'. This is a common java pitfall in my opinion due to bady named parameters (I feel it should be called "delims" not "delim") or in other people's opinion due to bad parameter type (should be a char[] not a string).
    A clearer explanation of the problem would help.

  • How to get these substrings based on the string entered

    Hi friends
    i want the substring entered in the string
    the string is something like this: 1234,3653,7684,3254,8777,987,234
    now i want
    the substrings between commas
    can some one help me with it pls
    in the first substring i need 1234
    in the second i need 3653...
    so on till the end..
    what ever the string be until the last one
    pls help

    Hi,
    You can do something like this:
    SELECT     txt
    ,     REGEXP_SUBSTR (txt, '[^,]+', 1, 1)     AS part_1
    ,     REGEXP_SUBSTR (txt, '[^,]+', 1, 2)     AS part_2
    ,     REGEXP_SUBSTR (txt, '[^,]+', 1, 3)     AS part_3
    FROM     table_x
    ;If there are fewer than n parts, then the technique above will not raise an error; it will just return NULL for part_n.
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only), and the results you want from that data.
    Explain how you get those results from that data.
    What do you want if the input is like this"
    {code}
    'foo,,bar'
    {code}
    ? Do you want to consider this as 2 parts ('bar' is the 2nd) or a s 3 (the 2nd is NULL, and 'bar' is the 3rd)? Include examples in your sample data and results.
    Always say what version of Oracle you're using.

  • Provide steps to send Root CA certificate to the Lync client, getting error" There was a problem verifying certificate from the server"

    Hi,
      I Build an Lync 2013 set up with FEpool, Director pool and Exchange server is integrated. I have windows 8 client machine, with Lync client installed. When I try to login to the lync client, I am getting error like"There was a problem verifying
    certificate from the server".
    When I installed ROOT CA cert  manually on client machine I am able to login to the lync client. similarly if I add my client machine in my domain, I am able to login to the Lync client.
    Now is there any other way to send the certificate automatically to the client machine (Which are NOT part of the DOMAIN) from the server, instead of manual installation process.
    Please help me troubleshoot this problem

    Agree with S Guna, there is no easy way to push a certificate automatically to a client that you don't control other than building an installer package and asking them to run it.  In this situation, if there are a lot of non-domain joined machines
    a third party certificate is the way you need to go.
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question please click "Mark As Answer".
    SWC Unified Communications

Maybe you are looking for