Business Service 'SIS OM PMT Service' Method 'Iterate Process For Selected Rows' Crash If The 'All Asset List" Parameter Contains A property Set Which Is Empty. (Doc ID 1637370.1)

Last updated on MARCH 02, 2017

Applies to:

Siebel CRM - Version 8.1.1.10 [23021] and later
Information in this document applies to any platform.

Symptoms

The business service 'SIS OM PMT Service' method 'Iterate Process For Selected Rows' causes the application to crash if The 'All Asset List" parameter contains a property set which is empty. In the log we find the following statement from upper method:

...
FROM
SIEBEL.S_PROD_INT T1,
SIEBEL.S_PROD_INT T2,
SIEBEL.S_ORG_EXT T3,
SIEBEL.S_ASSET_BU T4,
SIEBEL.S_PROD_LN T5,
SIEBEL.S_ASSET_OM T6,
SIEBEL.S_ORG_EXT T7,
SIEBEL.S_ORG_EXT T8,
SIEBEL.S_ASSET T9,
SIEBEL.S_PARTY T10,
SIEBEL.S_ASSET T11
WHERE
T11.BILL_ACCNT_ID = T7.PAR_ROW_ID (+) AND
T11.ROOT_ASSET_ID = T9.ROW_ID (+) AND
T9.PROD_ID = T2.ROW_ID (+) AND
T11.PROD_ID = T1.ROW_ID (+) AND
T1.PR_PROD_LN_ID = T5.ROW_ID (+) AND
T11.SERV_ACCT_ID = T3.PAR_ROW_ID (+) AND
T11.ROW_ID = T6.PAR_ROW_ID (+) AND
T11.BU_ID = T4.BU_ID (+) AND T11.ROW_ID = T4.ASSET_ID (+) AND
T4.BU_ID = T10.ROW_ID (+) AND
T4.BU_ID = T8.PAR_ROW_ID (+) AND
('')
ORDER BY
T11.ASSET_NUM

ObjMgrLog Error 1 000000d852e6170c:0 2014-01-27 08:11:25 (oracon.cpp (3870))
SBL-DBC-00105: An error has occurred executing a Sql statement.


Please note the incorrect where clause ('')!

Callstack:
CSSObjectBase::DoGetErrorMsg() +0x39
CSSObjectBase::GetErrorMsg() +0x37
CSSObjectBase::CopyErrorMsg() +0x1d8
CSSObjectBase::DoSetErrorMsg() +0x174
CSSObjectBase::SetErrorMsg() +0xde
CSSPMTService::IterateProcess() +0x3fd9
CSSPMTService::DoInvokeMethod() +0x271b
CSSService::InvokeMethod() +0x456
CSSWfStepExec::InvokeService() +0x313
...

Repro steps in 8.1.1.10 with IRM:

  1. Take the workflow "SIS OM Modify Products & Services Process" and modify it as follows: 
    1. Join "Get All Asset List" to "Edit Asset Selections".
    2. Add new property set "All Asset List Copy" which is copy of "All Asset List".
    3. Step "Edit Asset Selections", change input parameter "All Asset List" to "All Asset List Copy"
    4. Activate and deploy.
  2. Create a customizable product with a couple of child records. 
  3. Create account test. 
  4. Create order, add customizable product and child records. 
  5. Asset records. 
  6. In account summary, select customizable product and click "Modify". 
  7. Due date popup appears. Click continue. 
  8. Get Server experiencing problems message. 
  9. Review log and you will see above SQL just prior to crash.

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms