TCC – LRD when it doesn’t exist

As you know the automated process for producing exports relies heavily on the last run date. I’ve always been curious as to what happens when you pull the trigger on one that uses it without a lrd, turns out if there is no lrd file is gives you the last 24 hours and instantiates the lrd. I’ll sleep better tonight knowing this.


Taleo SSO Metadata URL

I can’t for the life of me keep track of this so here it is so I know where to look for it.

https://ZONE.taleo.net/smartorg/sp/metadata.jss?target={ENTITY-ID}

https://ZONE.taleo.net/careersection/sp/metadata.jss?target={ENTITY-ID}


TCC – Date Certain Step/Status Achieved

I ran into an issue trying to get everyone within the last 24 hours that had achieved a certain step/status combination. The hitch was that they could have been moved out of the target step/status so we have to muck around in the history to get it. As it’s a date you need to make sure the projected value you’re comparing to is a date as well since the last 24 hours is always going to be date time. This did the trick. Remember to pay attention to the value types in sub queries like this.

<quer:filtering xmlns:quer="http://www.taleo.com/ws/integration/query">
	<quer:greaterThan>
		<quer:query projectedClass="Application" alias="sqLocation" preventDuplicates="true" pagingsize="1">
			<quer:projections>
				<quer:projection alias="AnotherDate">
					<quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingHistoryItem.CreationDate"/>
				</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="ProfileInformation,HistoryItems,ApplicationTrackingCSWItem.Step,Mnemonic"/>
						<quer:string>RequiredStep</quer:string>
					</quer:equal>
				</quer:filtering>
				<quer:filtering>
					<quer:equal>
						<quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingCSWItem.Status,Mnemonic"/>
						<quer:string>RequiredStatus</quer:string>
					</quer:equal>
				</quer:filtering>
				<quer:filtering>
					<quer:equal>
						<quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingHistoryItem.CreationDate"/>
						<quer:query projectedClass="Application" alias="sqMotives" preventDuplicates="true" pagingsize="1">
							<quer:subQueries/>
							<quer:projections>
								<quer:projection>
									<quer:maximum>
										<quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingHistoryItem.CreationDate"/>
									</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="ProfileInformation,HistoryItems,ApplicationTrackingCSWItem.Step,Mnemonic"/>
										<quer:string>RequiredStep</quer:string>
									</quer:equal>
								</quer:filtering>
								<quer:filtering>
									<quer:equal>
										<quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingCSWItem.Status,Mnemonic"/>
										<quer:string>RequiredStatus</quer:string>
									</quer:equal>
								</quer:filtering>
							</quer:filterings>
						</quer:query>
					</quer:equal>
				</quer:filtering>
			</quer:filterings>
		</quer:query>
		<quer:castAsDate>
			<quer:addDays>
				<quer:date type="now"/>
				<quer:integer>-1</quer:integer>
			</quer:addDays>
		</quer:castAsDate>
	</quer:greaterThan>
</quer:filtering>

TCC – Setting a Select Value Back to ‘Not Specified’

This is a common request I run across. You’ve got a selection list and you need to reset it back to ‘Not Specified’ for whatever reason.
Although I swear I’ve done this before, every time it comes up I’m scratching my head trying to figure out what I did the last time it came up.
As I was looking for help on another issue I ran across Doc ID 2478146.1 on MOS that spells out the ‘correct’ way to do it, leaving it here for my reference:

Read More


TCC – Following a CSW

I’m sure we’ve all had that wonderful fun time trying to figure out what steps and statuses and what order they are supposed to go in. With same named CSW’s and the other craziness it can certainly be frustrating. But there is hope, a properly crafted CSWWorkflow export will reveal all. Simply name a blank file: CSWWorkflowExport_sq.xml
Then add the following code:

<?xml version="1.0" encoding="UTF-8"?>
<quer:query productCode="RC1704" model="http://www.taleo.com/ws/tee800/2009/01" projectedClass="CSWWorkflow" locale="en" mode="CSV" csvheader="true" largegraph="true" preventDuplicates="false" xmlns:quer="http://www.taleo.com/ws/integration/query"><quer:subQueries/><quer:projections><quer:projection>
            <quer:field path="Number"/>
        </quer:projection><quer:projection>
            <quer:field path="Mnemonic"/>
        </quer:projection><quer:projection>
            <quer:field path="Name"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Sequence"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,Mnemonic"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,Name"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,Sequence"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,Status,CSWStatus.Mnemonic"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,Status,CSWStatus.Name"/>
        </quer:projection><quer:projection>
            <quer:field path="Description"/>
        </quer:projection><quer:projection>
            <quer:field path="Available"/>
        </quer:projection><quer:projection>
            <quer:field path="IsDefault"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Active"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,ConditionalEntryAllowed"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Mandatory"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,NewEntryNotificationNumber"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Restricted"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,Number"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,Description"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,Available"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,ShortName"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,Active"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,AllConstraintsMustBeValid"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,AutoFlow"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,ConditionnalCompletenessAllowed"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,Initial"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,MeetingCompliant"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,NewEntryNotificationNumber"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,QueueAndRouteShortcutNumber"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,RsCSWAskForCommentModeNumber"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,RsCSWAskForMotiveModeNumber"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,Status,CSWStatus.Description"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,Status,CSWStatus.ActiveEventDate"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,Status,CSWStatus.Available"/>
        </quer:projection><quer:projection>
            <quer:field path="StepUsage,Step,StatusUsages,Status,CSWStatus.Number"/>
        </quer:projection></quer:projections><quer:projectionFilterings/><quer:filterings/><quer:sortings><quer:sorting ascending="true">
            <quer:field path="Mnemonic"/>
        </quer:sorting><quer:sorting ascending="true">
            <quer:field path="StepUsage,Sequence"/>
        </quer:sorting><quer:sorting ascending="true">
            <quer:field path="StepUsage,Step,StatusUsages,Sequence"/>
        </quer:sorting></quer:sortings><quer:sortingFilterings/><quer:groupings/><quer:joinings/></quer:query>

TCC – Data Dictionaries

These are the last full data dictionaries for Taleo. Unfortunately 15a is the last version available but I’ve honestly rarely, if ever, had to look any further than this documentation.


TCC – ORA-01791: not a SELECTed expression

Love running into this error. What happens here is that I’m doing an export and I want it to return distinct rows and I want to sort it by a date, but I’ve modified the date to format it how I want to see it. For some reason when we preventDuplicates=”true” it sees that the date (having been converted) as not a selected expression.

So the trick is, on your sorting, you have to use the same custom function toChar to get it to sort by the order you want it to. Kind of a pain but in the end of the equation it makes sense that both the projection and the sort by are the same, too bad you can’t just use the alias…


TCC – Static Level Decode

This is for when you’re trying to list out location1, location2, etc…
Much easier to build as a complex projection but then the GUI converts it so you have to start from scratch to change.

<quer:projection alias="LocationLevel1" xmlns:quer="http://www.taleo.com/ws/integration/query">
        <quer:decode>
            <quer:field path="JobInformation,PrimaryLocation,Level"/>
            <quer:string>1</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Name"/>
            <quer:string>2</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Parent,Name"/>
            <quer:string>3</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Parent,Parent,Name"/>
            <quer:string>4</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Parent,Parent,Parent,Name"/>
            <quer:string>5</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Parent,Parent,Parent,Parent,Name"/>
        </quer:decode>
</quer:projection>

<quer:projection alias="LocationLevel2" xmlns:quer="http://www.taleo.com/ws/integration/query">
        <quer:decode>
            <quer:field path="JobInformation,PrimaryLocation,Level"/>
            <quer:string>1</quer:string>
            <quer:string/>
            <quer:string>2</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Name"/>
            <quer:string>3</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Parent,Name"/>
            <quer:string>4</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Parent,Parent,Name"/>
            <quer:string>5</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Parent,Parent,Parent,Name"/>
        </quer:decode>
</quer:projection>

<quer:projection alias="LocationLevel3" xmlns:quer="http://www.taleo.com/ws/integration/query">
        <quer:decode>
            <quer:field path="JobInformation,PrimaryLocation,Level"/>
            <quer:string>1</quer:string>
            <quer:string/>
            <quer:string>2</quer:string>
            <quer:string/>
            <quer:string>3</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Name"/>
            <quer:string>4</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Parent,Name"/>
            <quer:string>5</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Parent,Parent,Name"/>
        </quer:decode>
</quer:projection>

<quer:projection alias="LocationLevel4" xmlns:quer="http://www.taleo.com/ws/integration/query">
        <quer:decode>
            <quer:field path="JobInformation,PrimaryLocation,Level"/>
            <quer:string>1</quer:string>
            <quer:string/>
            <quer:string>2</quer:string>
            <quer:string/>
            <quer:string>3</quer:string>
            <quer:string/>
            <quer:string>4</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Name"/>
            <quer:string>5</quer:string>
            <quer:field path="JobInformation,PrimaryLocation,Parent,Name"/>
        </quer:decode>
</quer:projection>

TCC – WorkActionNumber

If you’ve ever tried to get at the requisition history, you’ll be aware of the WorkActionNumber that tells you what the event in the history is. The big issue is that even if you do an export on this table, it doesn’t give you all the elements (I have no idea why).
So here is the list in it’s full glory for your reference pleasure:

Read More


TCC – T-XML Subquery

So I’ve got a T-XML export from the requisition entity that needs to have the posting date on it. So I just created everything from the export to the SourcingRequest entity and all is good. Well not really, the destination folks that receive the file didn’t want to recode it on their side. So to make a long story short, here is how you pull the most recent open date in this situation from the requisition entity.

<quer:projection alias="LatestPostingDate" projectedValueType="string" projectedField="RuntimeString:LatestPostingDate" xmlns:quer="http://www.taleo.com/ws/integration/query">
	<quer:query projectedClass="SourcingRequest" alias="sqPostingDate" preventDuplicates="true" pagingsize="1">
		<quer:projections>
			<quer:projection alias="PostDate">
				<quer:maximum>
					<quer:customFunction name="TO_CHAR">
						<quer:field path="OpenDate"/>
						<quer:string>yyyy-MM-dd</quer:string>
					</quer:customFunction>
				</quer:maximum>
			</quer:projection>
		</quer:projections>
		<quer:filterings>
			<quer:filtering>
				<quer:equal>
					<quer:field path="Requisition,Number"/>
					<quer:field ownerQuery="PhenomExport" path="Number"/>
				</quer:equal>
			</quer:filtering>
		</quer:filterings>
	</quer:query>
</quer:projection>