So one of the more painful points of pulling application data is to get at the motive. It’s hard because the motive is literally buried in the history of the application profile. Here’s a complex projection that can help with the excruciating process.

<quer:projection alias="CSWMotive" xmlns:quer="http://www.taleo.com/ws/integration/query">
  <quer:query projectedClass="Application" alias="sqMotives" preventDuplicates="true" pagingsize="1">
    <quer:projections>
      <quer:projection alias="Motive">
        <quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingCSWItem.CSWMotives,Mnemonic"/>
      </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:field ownerQuery="MainQuery" path="CSWLatestStep,Mnemonic"/>
        </quer:equal>
      </quer:filtering>
      <quer:filtering>
        <quer:equal>
          <quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingCSWItem.Status,Mnemonic"/>
          <quer:field ownerQuery="MainQuery" path="CSWLatestStatus,Mnemonic"/>
        </quer:equal>
      </quer:filtering>
      <quer:filtering>
        <quer:equal>
          <quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingCSWItem.Reverted"/>
          <quer:boolean>false</quer:boolean>
        </quer:equal>
      </quer:filtering>
      <quer:filtering>
        <quer:equal>
          <quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingHistoryItem.CreationDate"/>
          <quer:query projectedClass="Application" alias="sqMaxDate" preventDuplicates="true" pagingsize="1">
            <quer:projections>
              <quer:projection alias="Motive">
                <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:field ownerQuery="MainQuery" path="CSWLatestStep,Mnemonic"/>
                </quer:equal>
              </quer:filtering>
              <quer:filtering>
                <quer:equal>
                  <quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingCSWItem.Status,Mnemonic"/>
                  <quer:field ownerQuery="MainQuery" path="CSWLatestStatus,Mnemonic"/>
                </quer:equal>
              </quer:filtering>
              <quer:filtering>
                <quer:equal>
                  <quer:field path="ProfileInformation,HistoryItems,ApplicationTrackingCSWItem.Reverted"/>
                  <quer:boolean>false</quer:boolean>
                </quer:equal>
              </quer:filtering>
            </quer:filterings>
          </quer:query>
        </quer:equal>
      </quer:filtering>
    </quer:filterings>
  </quer:query>
</quer:projection>