<p>Want to talk about?</p>
<p>It&#8217;s a boring time for a recruiter. SAP knows well how to it his job, there is nothing to do about. Position requests from managers are being processed themselves, posted to internal and external web-portals or agencies. Feedbacks are being sent back to managers by themselves and automatically. Everything is integrated. CV is being read from email hireme@saphcmsolutions.com, parsed to bones and stored in candidate database. Interviews are being initiated from a mobile phone, rooms are reserved. Boring, no fun at all.</p>
<p>Everything is clear except CV. We know every resume is made of a typical skeleton, where is personal info, contacts, work experience. Every part could be formalized, parsed to its components and analyzed by a number of factors and variants of appearance.</p>
<p>We understand that First and Last names could match file name, never is written with punctuation characters, always start with a capital letter or are all capital and resides in the top part of a doc.</p>
<p>We also understand that contact phone number has fixed number of digits, patterns are also well known and it&#8217;s placed somewhere by name or e-mail address.</p>
<p>We understand that work experience is a consequence of the same type blocks with company, period, position and job functions specification. It&#8217;s just a table which can be retrieved from CV somehow. Let&#8217;s say exported in XML format, where we can easily find repeating elements that appear more than once.</p>
<p><!--more--><br />
But how to find it in a plain text? Elementary! There are so-called regular expressions. <a href="https://regexr.com/" rel="noopener" target="_blank">Google it</a>. Let&#8217;s use them to do resume parsing.</p>
<p>Here is the way to work with them in ABAP:<br />
FIND REGEX ‘A*B’ IN ‘ABAP’.<br />
REPLACE ALL OCCURRENCES OF REGEX regpattern<br />
IN text<br />
WITH new<br />
REPLACEMENT COUNT cnt.</p>
<p>Or any email address could be found in a text with this code:</p>
<p>Data v_pattern = ‘^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$’.</p>
<p>lr_matcher = cl_abap_matcher=>; create (pattern = v_pattern Text = ’test@gmail.com’).</p>
<p>CALL METHOD lr_matcher->;match RECEIVING success = v_sucess.</p>
<p>IF v_sucess = abap_false.</p>
<p>Message ‘Invalid email id’ TYPE ‘I’.</p>
<p>ENDIF.</p>
<p>(?) Code samples are from SDN. Author is:<br />
Author: Shaira Madhu<br />
Company: Applexus Software Solutions (P) Ltd<br />
Created on: 25 October 2010</p>
<p> ;</p>