-- The following SQL shows the major components of an Order Orchestration Definition (DOO_OrderFulfillmentGenericProcess)- not all attributes are shown and these can be added as required.
SELECT
dpdv.doo_process_ID
, dpdv.PROCESS_NAME
, TL.STEP_NAME
, b.STEP_NUMBER
, b.STEP_TYPE
, b.PARENT_STEP_NUMBER
, b.STEP_FILTER_RLS_ID
, b.MANUAL_STEP_FLAG
, b.COMP_PATTERN_RLS_ID
, b.LEAD_TIME_RLS_ID
, b.DEFAULT_LEAD_TIME
, b.DEFAULT_LEAD_TIME_UOM
, b.CUSTOMER_LAST_STEP_FLAG
, b.SWITCH_RLS_ID
, b.SWITCH_CONDITION_EVAL_SEQ
, b.DEFAULT_BRANCH_FLAG
, b.DEFAULT_EXIT_STATUS_CODE
, b.EXIT_CRITERIA_STATUS_CODE
, b.USE_DYNAMIC_ATTR_IN_DELTA_COMP
, b.USE_FLEX_ATTR_IN_DELTA_COMP
, b.HOLD_ON_WAIT
, b.OTHERWISE_FLAG
, b.START_AFTER_COND_RLS_ID
, b.START_AFTER_COND_RLS_NAME
, b.ATTRIBUTE_CATEGORY START_DATE_ACTIVE
, b.END_DATE_ACTIVE
, b.SUB_PROCESS_IDENTIFIER
, b.UPDATE_SERVICE_ID
, b.CANCEL_SERVICE_ID
, b.HOLD_SERVICE_ID
, b.ORCHESTRATION_APPLICATION_ID
, dpdv.DOO_PROCESS_ID
, dtdv.NAME
, dtdv.DISPLAY_NAME
, dtdv.TASK_CODE
, dttv.TASK_TYPE
, dttv.description
FROM
fusion.DOO_PROCESS_DEFINITIONS_VL dpdv
, fusion.doo_process_steps_b b
, fusion.doo_process_steps_tl tl
, fusion.DOO_TASK_DEFINITIONS_VL dtdV
, fusion.DOO_TASK_TYPES_VL dttv
WHERE
dpdv.PROCESS_NAME = 'DOO_OrderFulfillmentGenericProcess'
AND dpdv.DOO_PROCESS_VERSION =
(
SELECT
MAX (Mdpdv.DOO_PROCESS_VERSION)
FROM
fusion.DOO_PROCESS_DEFINITIONS_VL Mdpdv
WHERE
mdpdv.process_name =dpdv.process_name
AND PROCESS_RELEASE_STATUS_CODE = 'RELEASED'
)
AND dpdv.DOO_PROCESS_ID = b.DOO_PROCESS_ID
AND b.step_id = tl.step_id
AND tl.language = userenv('LANG')
AND b.task_id = dtdv.task_id (+)
AND dtdv.TASK_TYPE_ID = dttv.TASK_TYPE_ID (+)
ORDER BY
tl.STEP_ID
-- The following SQL shows all the major components of an Order Orchestration Definition (DOO_OrderFulfillmentGenericProcess) and includes task statuses, orchestration and fulfillment status conditions.
SELECT
dpdv.doo_process_ID
, dpdv.PROCESS_NAME
, TL.STEP_NAME
, b.STEP_NUMBER
, b.STEP_TYPE
, b.PARENT_STEP_NUMBER
, b.STEP_FILTER_RLS_ID
, b.MANUAL_STEP_FLAG
, b.COMP_PATTERN_RLS_ID
, b.LEAD_TIME_RLS_ID
, b.DEFAULT_LEAD_TIME
, b.DEFAULT_LEAD_TIME_UOM
, b.CUSTOMER_LAST_STEP_FLAG
, b.SWITCH_RLS_ID
, b.SWITCH_CONDITION_EVAL_SEQ
, b.DEFAULT_BRANCH_FLAG
, b.DEFAULT_EXIT_STATUS_CODE
, b.EXIT_CRITERIA_STATUS_CODE
, b.USE_DYNAMIC_ATTR_IN_DELTA_COMP
, b.USE_FLEX_ATTR_IN_DELTA_COMP
, b.HOLD_ON_WAIT
, b.OTHERWISE_FLAG
, b.START_AFTER_COND_RLS_ID
, b.START_AFTER_COND_RLS_NAME
, b.ATTRIBUTE_CATEGORY START_DATE_ACTIVE
, b.END_DATE_ACTIVE
, b.SUB_PROCESS_IDENTIFIER
, b.UPDATE_SERVICE_ID
, b.CANCEL_SERVICE_ID
, b.HOLD_SERVICE_ID
, b.ORCHESTRATION_APPLICATION_ID
, dpdv.DOO_PROCESS_ID
, dtdv.NAME
, dtdv.DISPLAY_NAME
, dtdv.TASK_CODE
, dttv.TASK_TYPE
, dttv.description
, dts.STATUS_CODE
, dpsc.SEQUENCE_NUMBER
, dtdv.task_id
, dpsc.CONDITION
, dtdv.task_id
, dlsc.condition
FROM
fusion.DOO_PROCESS_DEFINITIONS_VL dpdv
, fusion.doo_process_steps_b b
, fusion.doo_process_steps_tl tl
, fusion.DOO_TASK_DEFINITIONS_VL dtdV
, fusion.DOO_TASK_TYPES_VL dttv
, fusion.DOO_TASK_STATUSES dts
, fusion.DOO_PROCESS_STATUS_CONDITIONS dpsc
, fusion.DOO_STATUS_RULESET_ASSIGNMENTS dsra
, fusion.DOO_STATUS_RULESETS_VL dsrv
, fusion.DOO_LINE_STATUS_CONDITIONS dlsc
WHERE
dpdv.PROCESS_NAME = 'DOO_OrderFulfillmentGenericProcess'
AND dpdv.DOO_PROCESS_VERSION =
(
SELECT
MAX (Mdpdv.DOO_PROCESS_VERSION)
FROM
fusion.DOO_PROCESS_DEFINITIONS_VL Mdpdv
WHERE
mdpdv.process_name =dpdv.process_name
AND PROCESS_RELEASE_STATUS_CODE = 'RELEASED'
)
AND dpdv.DOO_PROCESS_ID = b.DOO_PROCESS_ID
AND b.step_id = tl.step_id
AND tl.language = userenv('LANG')
AND b.task_id = dtdv.task_id (+)
AND dtdv.TASK_TYPE_ID = dttv.TASK_TYPE_ID (+)
AND dtdv.task_type_id = dts.TASK_TYPE_ID (+)
AND dpdv.doo_process_id = dsra.process_id
AND dsra.STATUS_RULESET_ID = dsrv.STATUS_RULESET_ID
AND dsrv.STATUS_RULESET_ID = dlsc.STATUS_RULESET_ID(+)
AND dpdv.doo_process_id = dpsc.process_id (+)
AND
(
dts.status_code = dpsc.status_code (+)
AND dpsc.condition(+) LIKE '"' || dtdv.task_id || '%"'
)
AND
(
dts.status_code = dlsc.status_code (+)
AND dlsc.condition(+) LIKE '"' || dtdv.task_id || '%"'
)
ORDER BY
tl.STEP_ID
-- The following SQL can be executed to identify the Fulfillment line Status Conditions. This is useful to identify which conditions raise business events or email notifications.
SELECT
dpdv.process_name
, dlsc.STATUS_CODE
, dlsc.condition
, dlsc.SEQUENCE_NUMBER
, dlsc.COMPLETE_FLAG
, dlsc.NOTIFY_FLAG
, dlsc.EVENT_EMAIL_ENABLED_FLAG
FROM
fusion.DOO_STATUS_RULESETS_VL dsrv
, fusion.DOO_STATUS_RULESET_ASSIGNMENTS dsra
, fusion.DOO_LINE_STATUS_CONDITIONS dlsc
, fusion.DOO_PROCESS_DEFINITIONS_VL dpdv
WHERE
dsrv.STATUS_RULESET_ID = dsra.STATUS_RULESET_ID
AND dsra.STATUS_RULESET_ID = dlsc.STATUS_RULESET_ID
AND process_id = doo_process_id
AND process_name = 'DOO_OrderFulfillmentGenericProcess'
ORDER BY
dpdv.process_name
, dlsc.SEQUENCE_NUMBER