cancel
Showing results for 
Search instead for 
Did you mean: 

Cancelling the Provider Contract using WSDL in CC

anilm1
Explorer
0 Kudos
803

Hello Experts,

I wanted to cancel the Provider Contract in CC using soap UI with CO_ISX_CC_CONTRACT_STATE_MANAG. But I am unable to execute it. Please help

Thanks

Anil

View Entire Topic

Hi,

It depends what you would like to do.

1) Webservice https://help.sap.com/doc/d847860d561a47568a936d5f3cbeb9da/2020.2/en-US/core_wsdoc/wsdl/contractprovi...

is removing contract from CC. It is not only changing status to "cancelling" as we can have it in CRM.

This webservice can be called via SoapUI or from ABAP(using proxy port).

In SoapUI you need to add a header with Username and password to make it work. For example:

Optionally you can call this webservice in ABAP where you can use PORT defined in SOAMANAGER. And define service consumer:

Something like this:

ls_cancel_INPUT-REQUEST-ID = IV_CONTRACT_ID.

" call webservice
CALL METHOD proxy->CHARGING_CONTRACT_CANCEL
EXPORTING
INPUT = ls_cancel_input
IMPORTING
OUTPUT = ls_cancel_output.

2) If you need only "cancellation" so contract ends, but still exists in database than you can use https://help.sap.com/doc/d847860d561a47568a936d5f3cbeb9da/2020.2/en-US/core_wsdoc/chargingContractMa...

there is an optional field <end>, but then you need to create a new revision (revision=version in the history for new period).

Here screenshot from SoapUI:

You can use earlier Find webservice to find contract data with all previous revisions(history of changes).

I hope it will help you

best regards

Rafal

anilm1
Explorer
0 Kudos

Thanks a Lot, Rafal for your detailed response.

I could able to execute chargingContractCancelRequest but I am unable to execute ChargingContractMaintain due to invalid data passing to at chargePlanClassId and Id fields.

Could you please help me understand what exactly to be passed for above fields. I've tried passing ChargePlan name, External code but nothing worked out.

Thanks

Anil

0 Kudos

Hi,

the best to understand the webservice calls is to enable trace in Admin+ for Webservices. Next step is to execute contract change in an external system and see how it works.

You can use such command:

set LS_TRC_DOMAIN WS memory

set LS_TRC_SEVERITY DEBUG memory

Redo your tests and then rollback the trace modification :

reset LS_TRC_DOMAIN

reset LS_TRC_SEVERITY

You should see in LDF2 file the request and the response.

Context of you question is unknown for me.

Using WS calls to modify contract is dangerous and will lead to loosing synchronization between CC and an external system (i.e.CI,CRM).

But... if you need to fix a contract which is already out of sync...there might be other option.

Take a look at export/import webservice Export and Import of Customer Data

best regards

Rafal