E.1 Change Mode Notes

  • The field name BEGDA indicates the Starting validity date of a value

  • The field name ENDDA indicates the Ending validity date of a value.

  • The term “active value” indicates a value that has a BEGDA less than or equal to the current date and an ENDDA greater than or equal to the current date.

  • Although the driver can handle multiple value synchronization of any particular Communication Subtype on either the Publisher or Subscriber channel, there are issues related to the IDocs generated by SAP value deletion/delimit events that make multiple-value synchronization unadvised and unsupported by the Subscriber channel. It is recommended that only one value for each Communication subtype is maintained.

  • Because multiple fields are available in the Internal Control Data infotype, a remove-value operation does not result in the deletion of the record instance. The result is the removal of the specified field value from the record instance.

  • For Communication values (Infotype P0105), this functionality is only available in SAP R/3 version 4.6A or later and on all Web Application Server versions. On 4.5 systems (no support prior to 4.5B) the driver uses the BAPI_HRMASTER_SAVE_REPL_MULT function for all operations. <remove-value> and <remove-all-value> operations remove all values of the specified Communication Subtype. <add-value> operations remove all values of the Communication Subtype and create a new value with a BEGDA of (current date -1) and an ENDDA of 99991231.

  • For Internal Control Data values (Infotype P0032), the DELIMIT mode is not available prior to SAP R/3 version 4.6A.

The following sections describe the driver’s behavior for each event type and change mode.

E.1.1 <remove-all-values>

The following operations occur when a <remove-all-values/> element exists in a <modify-attr> command. This is a non-standard XDS Subscriber operation that is generate by a policy.

Delimit Mode: The driver obtains a list of all active values of the specified Infotype record. The driver delimits the validity of each instance (set ENDDA) to (current date -1). This is the standard SAP delimitation method. If BEGDA is equal to the current date, the value is deleted. This is also standard functionality.

Delete Mode: The driver obtains a list of all active values of the specified Infotype record and deletes each instance.

Change Mode: The driver obtains a list of all active values of the specified Infotype record and deletes each instance.

E.1.2 <remove-value> without an Accompanying <add-value>

The following operations occur when a <remove-value> element without an accompanying <add-value> element exists in a <modify-attr> command. This is the format of a standard Subscriber value remove XDS event.

Delimit Mode: The driver obtains a list of all active values of the specified Infotype record. The driver tries to match the existing values to the removed value. If a match is found, the driver delimits the validity of the matching value to (current date -1.)

Delete Mode: The driver obtains a list of all active values of the specified Infotype record. The driver tries to match the existing values to the removed value. If a match is found, the driver deletes the matching value.

Change Mode: The driver obtains a list of all active values of the specified Infotype record. The driver tries to match the existing values to the removed value. If a match is found, the driver deletes the matching value.

E.1.3 <remove-value> with an Accompanying <add-value>

The following operations occur when a <remove-value> element with an accompanying <add-value> element exists in a <modify-attr> command. This is the format of a standard Subscriber value change XDS format.

Delimit Mode: The driver obtains a list of all active values of the specified Infotype record. The driver tries to match the existing values to the removed value. If a match is found, the driver delimits the validity of the matching value to (current date -1.) If the added value is not already an active value, the added value is created.

Delete Mode: The driver obtains a list of all active values of the specified Infotype record. The driver tries to match the existing values to the removed value. If a match is found, the driver deletes the matching value. If the added value is not already an active value, the added value is created.

Change Mode: The driver obtains a list of all active values of the specified Infotype record. The driver tries to match the existing values to the removed value. If a match is found, the driver changes the matching value to the added value. If a match is not found, the driver deletes the removed value. If the added value is not already an active value, the added value is created.

E.1.4 <add-value> without a Prior <remove-value>

If the added value is not already an active value, the driver creates the added Infotype for all modes.

This functionality is only available on SAP R/3 version 4.6A or later and on all Web Application Server versions. On 4.5 systems (no support prior to 4.5B), the driver uses the BAPI_HRMASTER_SAVE_REPL_MULT function for all operations. <remove-value> and <remove-all-value> operations remove all values of the specified Communication Subtype. <add-value> operations remove all values of the Communication Subtype and create a new value with a BEGDA of (current date -1) and an ENDDA of 99991231.