anchor.diff:  	service_rating1(T, SCID, SI, [{struct, Parameters} | Acc]);
   service_rating1([#'3gpp_ro_Multiple-Services-Credit-Control'{
   		'Requested-Service-Unit' = [#'3gpp_ro_Requested-Service-Unit'{
  +		'CC-Time' = []}], 'Used-Service-Unit' = [#'3gpp_ro_Used-Service-Unit'{
  +		'CC-Time' = [CCTime]}]} = MSCC | T], SCID, SI, Acc)
  +		when is_integer(CCTime), CCTime > 0 ->
  +	RequestedUnits = {"consumedUnit", {struct, [{"time", CCTime}]}},
  +	Parameters = lists:flatten([SCID, get_si(MSCC), get_rg(MSCC),
  +			SI, RequestedUnits, {"requestSubType", "DEBIT"}]),
  +	service_rating1(T, SCID, SI, [{struct, Parameters} | Acc]);
  +service_rating1([#'3gpp_ro_Multiple-Services-Credit-Control'{
  +		'Requested-Service-Unit' = [#'3gpp_ro_Requested-Service-Unit'{
   		'CC-Total-Octets' = [CCTotalOctets]}]} = MSCC | T], SCID, SI, Acc)
   		when is_integer(CCTotalOctets), CCTotalOctets > 0 ->
   	RequestedUnits = {"requestedUnit", {struct, [{"totalVolume", CCTotalOctets}]}},
  
positive.code: 	RequestedUnits = {"requestedUnit", {struct, [{"serviceSpecificUnit", CCSpecUnits}]}},
  	Parameters = lists:flatten([SCID, get_si(MSCC), get_rg(MSCC), SI,
  			RequestedUnits, {"requestSubType", "RESERVE"}]),
  	service_rating1(T, SCID, SI, [{struct, Parameters} | Acc]);
  service_rating1([#'3gpp_ro_Multiple-Services-Credit-Control'{
  		'Requested-Service-Unit' = [#'3gpp_ro_Requested-Service-Unit'{}]}
  
negative.code: 	service_rating1(T, SCID, SI, [{struct, Parameters} | Acc]);
  service_rating1([#'3gpp_ro_Multiple-Services-Credit-Control'{
  		'Requested-Service-Unit' = [#'3gpp_ro_Requested-Service-Unit'{
  		'CC-Total-Octets' = []}], 'Used-Service-Unit' = [#'3gpp_ro_Used-Service-Unit'{
  		'CC-Total-Octets' = [CCTotalOctets]}]} = MSCC | T], SCID, SI, Acc)
  		when is_integer(CCTotalOctets), CCTotalOctets > 0 ->
  	RequestedUnits = {"consumedUnit", {struct, [{"totalVolume", CCTotalOctets}]}},
  	Parameters = lists:flatten([SCID, get_si(MSCC), get_rg(MSCC), SI,
  			RequestedUnits, {"requestSubType", "DEBIT"}]),
  	service_rating1(T, SCID, SI, [{struct, Parameters} | Acc]);
  service_rating1([#'3gpp_ro_Multiple-Services-Credit-Control'{
  		'Requested-Service-Unit' = [#'3gpp_ro_Requested-Service-Unit'{
  		'CC-Output-Octets' = [CCOutputOctets],
  		'CC-Input-Octets' = [CCInputOctets]}]} = MSCC | T], SCID, SI, Acc)
  		when is_integer(CCInputOctets), is_integer(CCOutputOctets),
  		CCInputOctets > 0, CCOutputOctets > 0 ->
  	RequestedUnits = {"requestedUnit", {struct, [{"uplinkVolume", CCInputOctets},
  			{"downlinkVolume", CCOutputOctets}]}},
  	Parameters = lists:flatten([SCID, get_si(MSCC), get_rg(MSCC), SI,
  			RequestedUnits, {"requestSubType", "RESERVE"}]),
  	service_rating1(T, SCID, SI, [{struct, Parameters} | Acc]);
  service_rating1([#'3gpp_ro_Multiple-Services-Credit-Control'{
  		'Requested-Service-Unit' = [#'3gpp_ro_Requested-Service-Unit'{
  		'CC-Output-Octets' = [], 'CC-Input-Octets' = []}],
  		'Used-Service-Unit' = [#'3gpp_ro_Used-Service-Unit'{
  		'CC-Output-Octets' = [CCOutputOctets],
  		'CC-Input-Octets' = [CCInputOctets]}]} = MSCC| T], SCID, SI, Acc)
  		when is_integer(CCInputOctets), is_integer(CCOutputOctets),
  		CCInputOctets > 0, CCOutputOctets > 0 ->
  	RequestedUnits = {"consumedUnit", {struct, [{"uplinkVolume", CCInputOctets},
  			{"downlinkVolume", CCOutputOctets}]}},
  	Parameters = lists:flatten([SCID, get_si(MSCC), get_rg(MSCC), SI,
  			RequestedUnits, {"requestSubType", "DEBIT"}]),
  	service_rating1(T, SCID, SI, [{struct, Parameters} | Acc]);
  service_rating1([#'3gpp_ro_Multiple-Services-Credit-Control'{
  		'Requested-Service-Unit' = [#'3gpp_ro_Requested-Service-Unit'{
  