JDBC driver merge event deleting values

Hi,

We have an Oracle JDBC driver which rightly or wrongly strips the association for each user object processed.
As a result every modify to an existing record processes as a merge event.

The issue is that the driver doesn't query the database for empty values, it just strips them on the publisher event. As one or more of these are mandatory the event fails with:

modifyEntry -609 ERR_MISSING_MANDATORY

Full modify
  • You're not asking about this, but clearly your source format is not what
    is coming back, thus the error:


    [08/30/18 16:03:38.685]:sits PT: Action:
    do-set-local-variable("lvDelDateCtime",token-convert-time(dest-format="!CTIME",dest-tz="GMT",src-format="dd-MMM-yy",src-tz="GMT",token-local-variable("lvDelDatelcase"))).
    [08/30/18 16:03:38.685]:sits PT:
    arg-string(token-convert-time(dest-format="!CTIME",dest-tz="GMT",src-format="dd-MMM-yy",src-tz="GMT",token-local-variable("lvDelDatelcase")))
    [08/30/18 16:03:38.685]:sits PT:
    token-convert-time(dest-format="!CTIME",dest-tz="GMT",src-format="dd-MMM-yy",src-tz="GMT",token-local-variable("lvDelDatelcase"))
    [08/30/18 16:03:38.685]:sits PT:
    token-convert-time(dest-format="!CTIME",dest-tz="GMT",src-format="dd-MMM-yy",src-tz="GMT",token-local-variable("lvDelDatelcase"))
    [08/30/18 16:03:38.685]:sits PT:
    token-local-variable("lvDelDatelcase")
    [08/30/18 16:03:38.685]:sits PT: Token Value: "4102358400".
    [08/30/18 16:03:38.685]:sits PT: Arg Value: "4102358400".
    [08/30/18 16:03:38.685]:sits PT:
    DirXML Log Event -------------------
    Driver: \VAULT_IV\resources\IDMDriverSet\QL SITS
    Channel: Publisher
    Object: PK_INSTITUTION_ID=01010101,table=IDM_VIEW
    (\VAULT_IV\Vault\Users\Active\Students\01010101)
    Status: Warning
    Message: Code(-8033) Error in
    vnd.nds.stream://VAULT_IV/resources/IDMDriverSet/QL SITS/Publisher


    Compare src-format="dd-MMM-yy" with 4102358400 which looks like
    unixtime/CTIME.


    Regarding your questions, I'll bet your merge authority is not set
    correctly, but it would be nice to see the driver config startup in trace
    to verify. Right now removing Surname (as your merge is doing) is going
    to cause the -606 since Surname (sn via LDAP) is mandatory, so stop trying
    to remove that.

    It also seems odd that your final operation includes the attribute
    directly from the database; perhaps you have not configured your Schema
    Mapping Policy (SMP) to map eDirectory attributes and database, which
    could have all kinds of negative impact on your system. If you want to
    post your driver config export that may help.

    --
    Good luck.

    If you find this post helpful and are logged into the web interface,
    show your appreciation and click on the star below.

    If you want to send me a private message, please let me know in the
    forum as I do not use the web interface often.