TCC – Min Mid & Max Salaries

The minimum, mid-point and maximum salaries are fairly important things that come up when importing requisitions or on new hire exports. So this should be a simple process to identify right? I mean there should be a MinimumSalary, MidPointSalary and a MaximumSalary, it’s a no brainer or so one would think.

Unfortunately a naming convention like this would make things too easy and that’s just not allowed. So for posterity I’ve listed these to keep me from banging my head against the wall next time I need them (from the requisition entity):

MinimumSalary – JobInformation,OfferParameter,PayValue
MidPointSalary – JobInformation,MidPointSalary
MaximumSalary – JobInformation,OfferParameter,MaximumSalary


TCC – EEO Question Update

So there are times when you’re loading candidates and you want to bring in the EEO that’s been answered in another system. The MOS has an article on how to answer one question, but what if you want to answer more than one?

Create a file called CandidateDiversityAnswerUpdate_ld.xml

Add the following XML to the file:

<?xml version="1.0" encoding="UTF-8"?>
<load:load productCode="RC1502" model="http://www.taleo.com/ws/tee800/2009/01" root="Candidate" operation="merge" locale="en" header="true" delimiter="," quote=""" xmlns:load="http://www.taleo.com/ws/integration/load">
    <load:columns>
        <load:column parameter="1" type="DATA" path="EmailAddress" searchType="SEARCH_AND_VALUE" searchTarget="." localeType="NONE"/>
        <load:column parameter="1" type="DATA" path="FirstName" localeType="NONE"/>
        <load:column parameter="1" type="DATA" path="LastName" localeType="NONE"/>
        <load:column parameter="1" type="DATA" path="DiversityAnswers,PossibleAnswer,Question,Code" searchType="SEARCH" searchTarget=".." entityMarker="true" entityTarget="../.." localeType="NONE"/>
        <load:column parameter="1" type="DATA" path="DiversityAnswers,PossibleAnswer,Sequence" searchType="SEARCH" searchTarget="." localeType="NONE"/>
        <load:column parameter="1" type="DATA" path="DiversityAnswers,PossibleAnswer,Question,Code" searchType="SEARCH" searchTarget=".." entityMarker="true" entityTarget="../.." localeType="NONE"/>
        <load:column parameter="1" type="DATA" path="DiversityAnswers,PossibleAnswer,Sequence" searchType="SEARCH" searchTarget="." localeType="NONE"/>
    </load:columns>
    <load:processingInstructions/>
</load:load>

TCC – File extension from file name

For some reason this has come up and I’d been attending to it in XSL but I really needed it strait out of TCC. Here is the projection that will give that to you.

<quer:projection alias="FileExtension" xmlns:quer="http://www.taleo.com/ws/integration/query">
<quer:substring>
<quer:field path="FileName"/>
<quer:customFunction name="instr">
<quer:field path="FileName"/>
<quer:string>.</quer:string>
<quer:integer>-1</quer:integer>
</quer:customFunction>
<quer:integer>99</quer:integer>
</quer:substring>
</quer:projection>

TCC – Requisition Approved Date

Ran across a need to pull the approved date (latest) from a requisition export and it seems like something I could run across again so here it is:

<quer:projection alias="Recruiting_Start_Date" xmlns:quer="http://www.taleo.com/ws/integration/query">
  <quer:query projectedClass="Requisition" alias="sqLocation" preventDuplicates="true" pagingsize="1">
    <quer:projections>
      <quer:projection alias="ApproveDate" projectedValueType="string">
        <quer:customFunction name="TO_CHAR">
          <quer:field path="RequisitionEvent,EventDate"/>
          <quer:string>yyyy-MM-dd</quer:string>
        </quer:customFunction>
      </quer:projection>
    </quer:projections>
    <quer:filterings>
      <quer:filtering>
        <quer:equal>
          <quer:field path="Number"/>
          <quer:field ownerQuery="MainQuery" path="Number"/>
        </quer:equal>
      </quer:filtering>
      <quer:filtering>
        <quer:equal>
          <quer:field path="RequisitionEvent,WorkActionNumber"/>
          <quer:string>12</quer:string>
        </quer:equal>
      </quer:filtering>
      <quer:filtering>
        <quer:equal>
          <quer:field path="RequisitionEvent,EventDate"/>
          <quer:query projectedClass="Requisition" alias="sqMotives" preventDuplicates="true" pagingsize="1">
            <quer:subQueries/>
            <quer:projections>
              <quer:projection>
                <quer:maximum>
                  <quer:field path="RequisitionEvent,EventDate"/>
                </quer:maximum>
              </quer:projection>
            </quer:projections>
            <quer:filterings>
              <quer:filtering>
                <quer:equal>
                  <quer:field path="Number"/>
                  <quer:field ownerQuery="MainQuery" path="Number"/>
                </quer:equal>
              </quer:filtering>
              <quer:filtering>
                <quer:equal>
                  <quer:field path="RequisitionEvent,WorkActionNumber"/>
                  <quer:string>12</quer:string>
                </quer:equal>
              </quer:filtering>
            </quer:filterings>
          </quer:query>
        </quer:equal>
      </quer:filtering>
    </quer:filterings>
  </quer:query>
</quer:projection>

TCC – Current DateTime (NOW)

On occasion you need to export the current date/time for one reason or another. This is how you get it out of the export:

<quer:projection alias="CurrentDateTime" xmlns:quer="http://www.taleo.com/ws/integration/query">
	<quer:customFunction name="TO_CHAR">
		<quer:date type="now"/>
		<quer:string>yyyy-MM-dd</quer:string>
	</quer:customFunction>
</quer:projection>
[


TCC – Approximate Attachment Export Time

One of the big questions that’s asked of us in the computer field is how long is it going to take? I cringe when asked for dates in situations like this as the true answer is it will be completed when it’s completed. Computer programing is part (mostly) science but there is an art to it also. And to have the first without the last is to have something that works but doesn’t flow.

In any case my rough estimate on export of attachments out of the Oracle Taleo production zone is 74,848 attachments in a 24 hour period that in total are 10.26 GB in size. This is an extremely rough estimate and your mileage will certainly vary.


TCC – ORA-00936: missing expression

So it turns out if you try to alias any projection with “Number” it will expect something and you’ll get the SAX error, in the profiler you’ll get this:

<Code>ServerError</Code>
<Subcode>itk:ExportQueryExecutionError</Subcode>
<Reason>An error occurred during the query execution: ORA-00936: missing expression</Reason>

Not sure if that error is thrown for anything else but this was the fix to my issue.


TCC – Expected Elements

So I found myself having to create an export for only UDF’s and had to code it for the type coming out of the custom dictionary so that if it was a string it would output just the field and if it was a date it would apply a TO_CHAR function along with a date specification. As I hang my head in shame I did it in Excel because I didn’t have time to write the Python version of it and inadvertently misspelled field.

To make a long story short the GUI threw an error saying this is the list of expected elements, I’m sure this is somewhere in an XSD but it’s now here for reference:

Read More


TCC – Time Offset

Sometimes you will notice some strange things dealing with time when using TCC and the LRD (last run date). You’ll find that even your export is scheduled for every 10 minutes you’re not getting the people that you just switched to the conditions of the filters. This is especially infuriating when you’re just bringing something to fruition and just testing.

The reason for this is that TCC by default is using [CURRENT_TIME] – 5 minutes for the LRD.

You can set this by adding a line to the *_sq.xml file advanced options with a value lrd.filtering.minute.adjustment.zone with the value being time in minutes.

This is documented on the MOS under Doc ID 1590569.1