anchor.diff:  post_request_scur(SubscriberIds, SvcContextId,
   		SessionId, MSCC, Location, interim, a) ->
   	Path = get_option(nrf_uri) ++ get_ref(SessionId) ++ "/" ++ "update",
  -	ServiceRating = update_service_rating_b(MSCC, binary_to_list(SvcContextId),
  -			Location),
  +	ServiceRating = update_service_rating(MSCC, binary_to_list(SvcContextId),
  +			Location, a),
   	post_request_scur1(SubscriberIds, SessionId, ServiceRating, Path);
   post_request_scur(SubscriberIds, SvcContextId,
   		SessionId, MSCC, Location, interim, b) ->
   	Path = get_option(nrf_uri) ++ get_ref(SessionId) ++ "/" ++ "update",
  -	ServiceRating = update_service_rating_b(MSCC, binary_to_list(SvcContextId),
  -			Location),
  +	ServiceRating = update_service_rating(MSCC, binary_to_list(SvcContextId),
  +			Location, b),
   	post_request_scur1(SubscriberIds, SessionId, ServiceRating, Path);
   post_request_scur(SubscriberIds, SvcContextId,
   		SessionId, MSCC, Location, final, a) ->
  
positive.code: initial_service_rating([], _SCID, _SI, _Des, _Class, Acc) ->
  	Acc.
  
  -spec update_service_rating_b(MSCC, ServiceContextId, ServiceInformation) -> ServiceRating
  	when
  		MSCC :: [#'3gpp_ro_Multiple-Services-Credit-Control'{}],
  		ServiceContextId :: string(),
  		ServiceInformation :: [tuple()],
  		ServiceRating :: [{struct, [tuple()]}].
  %% Create list of service elements to be rated.
  update_service_rating_b(MSCC, ServiceContextId, ServiceInformation) ->
  	SCID = {"serviceContextId", ServiceContextId},
  	update_service_rating_b1(MSCC, SCID, ServiceInformation, []).
  %% @hidden
  update_service_rating_b1([#'3gpp_ro_Multiple-Services-Credit-Control'{
  		'Requested-Service-Unit' = RSU, 'Used-Service-Unit' = USU,
  		'Service-Identifier' = SI, 'Rating-Group' = RG} = _MSCC | T], SCID, SInfo, Acc) ->
  	Acc1 = case SI of
  		[] ->
  			[];
  
negative.code: 		_ ->
  			[SInfo | Acc2]
  	end,
  	case Class of
  	a ->
  		update_service_rating1(T, SCID, SInfo, Class, [{struct, [SCID | Acc3]} | Acc]);
  	b ->
  		case {used_unit(USU), reserved_unit(RSU)} of
  			{[], []} ->
  				ServiceRating = {struct, [SCID, {"requestSubType", "RESERVE"} | Acc3]},
  				update_service_rating1(T, SCID, SInfo, Class, [ServiceRating | Acc]);
  			{ConsumedUnits, []} ->
  				ServiceRating = {struct, [SCID, {"consumedUnit", {struct, ConsumedUnits}},
  						{"requestSubType", "DEBIT"} | Acc3]},
  				update_service_rating1(T, SCID, SInfo, Class, [ServiceRating | Acc]);
  			{[], ReservedUnits} ->
  				ServiceRating = {struct, [SCID, {"requestedUnit", {struct, ReservedUnits}},
  						{"requestSubType", "RESERVE"} | Acc3]},
  				update_service_rating1(T, SCID, SInfo, Class, [ServiceRating | Acc])
  		end
  	end;
  update_service_rating1([], _SCID, _SI, _Class, Acc) ->
  	Acc.
  
  -spec final_service_rating(MSCC, ServiceContextId,
  