Previous Topic: dtscli Command—Use Skip LogicNext Topic: dtscli Command—Apply Filters


Use Skip Logic in a Sequential Transfer Job

Given the following example: If Transfer A succeeds, skip Transfers B-D and perform Transfers E-G; but if Transfer A fails, perform Transfers B-D and skip Transfers E-G. If any other transfer besides Transfer A fails, abort the entire job.

Follow these steps:

  1. Create a sequential transfer job and add Transfers A-G to the job, in sequential order.
  2. For Transfer A:
    dtscli "ipath=ipath" "rpath=rpath" ... -t cskip=3 fskip=0
    
  3. For Transfer B:
    dtscli "ipath=ipath" "rpath=rpath" ... -t cskip=0 fskip=-1
    
  4. For Transfer C:
    dtscli "ipath=ipath" "rpath=rpath" ... -t cskip=0 fskip=-1
    

    If Transfers B and C succeed, the next transfer is activated, but if either transfer fails, the entire job aborts according to the original requirements for this example.

  5. For Transfer D:
    dtscli "ipath=ipath" "rpath=rpath" ... -t cskip=-1 fskip=-1
    

    Note that Transfer D specifies -1 for both the cskip and fskip values. As a result, if Transfers B-D are performed, no more transfers are performed after Transfer D succeeds or fails.

  6. For Transfer E:
    dtscli "ipath=ipath" "rpath=rpath" ... -t cskip=0 fskip=-1
    
  7. For Transfer F:
    dtscli "ipath=ipath" "rpath=rpath" ... -t cskip=0 fskip=-1
    

    If Transfers E and F succeed, the next transfer is activated, but if either transfer fails, the entire job aborts.

Note: No skip logic settings are needed for Transfer G, because it is the final transfer in the job.