[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference iosg::all-in-1_v30

Title:*OLD* ALL-IN-1 (tm) Support Conference
Notice:Closed - See Note 4331.l to move to IOSG::ALL-IN-1
Moderator:IOSG::PYE
Created:Thu Jan 30 1992
Last Modified:Tue Jan 23 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:4343
Total number of notes:18308

1439.0. "DDS SUBSCRIBER DSAB" by VNASWS::HELENE (Helene ENZ @WBG, 754-1609) Wed Sep 16 1992 23:38

    Hi,
    
    my customer wants to write a user interface for DDS that can be 
    handled by non-techy persons to manage user entries and FAX
    adresses  (the MBMAN utility is not acceptable ...)
    
    He is one of our biggest ALL-IN-1 customers with much programming
    experience and he intends to use the SUBSCRIBER DSAB of ALL-IN-1.
    
    Some questions arose out of this where I would appreciate your comment:
    
    API to DDS
    Is it still correct that there is no API to DDS available for 
    customers?
    
    NOX400SEND
    In David Hare's Booklet the DSAB fields listed contain all necessary
    fields that have to be managed except one: NOX400SEND
    since the customer is using X.400 as well and the default is that all
    people having an entry in DDS are allowed to send X.400 mails, he would 
    like to set the DDS entry to NOX400 during creation. 
    Any idea, how he could do this? Has this been solved by somebody?
    
    Performance 
    Is there documentation or experience available about which keys are
    used for access in DDS, which fields to choose for best performance?
    
    Action attribute fields
    Is it documented somewhere which DDS fields are action attribute
    fields?
    
    Remote Access to DDS
    My customer has many systems, some of them are very small, and he would
    like to get remote access to a DDS server.
    Is it possible to implement a sort of remote access to DDS for
    retrieving recipient addresses for ALL-IN-1 (as it was done for
    DECmailworks)? 
    
    Cache refresh
    Does a cache refresh update the entries in the cachefile or delete
    them (impacts the frequency of world searches)
    
    Thank you for inputs 
    
	Helene 
T.RTitleUserPersonal
Name
DateLines
1439.1Some weak responsesSIOG::T_REDMONDThoughts of an Idle MindThu Sep 17 1992 11:5237
    API to DDS.
    
    Correct: Undocumented.  The closest thing to a documented interface is
    SUBSCRIBER, and the only reason why it is available to the field is
    that ALL-IN-1 can't hide very much in forms and scripts.
    
    NOX400SEND.
    
    I don't know the answer to this, but it would be simple enough to send
    a command to a privileged account to update this field from DCL.
    
    Performance.
    
    DDS uses its own key into the database - DDSID, that fairly horrible
    value which is dumped into users' profile records.  Apart from that I
    believe it's pretty well the same for all the other fields, although it
    would be logical to have surnames available as a keyed lookup.
    
    Action attribute fields.
    
    I don't know.  Maybe Andrew Wicks can cast some light here.
    
    Remote access to DDS.
    
    You can access a remote DDS server from a DEC MAILworks client, but
    only if a mail server is running on that system.  The clients access
    DDS via the remote mail server.  As far as I am aware ALL-IN-1 does not
    support this kind of setup, but it's always possible that I am wrong.
    
    Cache refresh.
    
    I believe it updates the entry in the cache.  Why would it delete them?
    
    Some help, not much, you clearly need someone who has implemented DDS
    on a large scale.  I haven't had this "opportunity".
    
    Tony
1439.2A typically uninformed response from meAIMTEC::WICKS_AIt wasn't supposed to end this wayThu Sep 17 1992 18:2725
    Helene,
    
    /X400SEND was only added in MBMAN 3.2 so I doubt whether ALL-IN-1
    supports it - do you know what DDS field it maps to as I don't see one
    with this name in my copy of the callable interface.
    
    As Tony says the API was never published either to the SUBSCRIBER Dsab
    (apart from Sir David's book) or to DDS itself as that interface is
    protected with zeal by the nice MR people.
    
    As for the performance and action attribute questions I think the
    information on that was not made public either - sorry but that 
    wasn't my decision either.
    
    Cache refresh is a function of the Application calling DDS and is
    implemented differently be ALL-IN-1 and DEC MAIlworks so if both are
    present on a system you can see some very eccentric behaviour
    
    Was any of that helpful i'm typing from a very fading memory....
    
    regards,
    
    Andrew.D.Wicks
    
    
1439.3FFPOSTADDR DDS Field name ??NEWOA::FLACK_I"One Mail Short of a Full Inbox"Tue Sep 22 1992 13:439
	I have a customer trying to READ the DDS field FFPOSTADDR
	from the DSAB SUBSCRIBER.

	Can anyone tell me the corresponding field name in the 
	DSAB ?! Is it possible to read this DDS field ??!!

	Thanks in advance.
	Ian.
1439.4BRUMMY::MARTIN::BELLMartin Bell, TCC, Birmingham UKTue Sep 22 1992 14:0211
There are 8 fields that you require:

FFPOSTADDR1
FFPOSTADDR2
     to
FFPOSTADDR8

Have a look at the script SUBSCRIBER_ADD for more details of the PROFIL to
DDS (the SUBSCRIBER DSAB) mapping.

mb
1439.6Aggggghhhhh !!NEWOA::FLACK_I"One Mail Short of a Full Inbox"Tue Sep 22 1992 17:4432
        OK, fine. I can get to .FFPOSTADDR1, but why does the first of 
        these examples work and the second not. The "containing" 
        example is even stranger ? Am I going crazzy ??
        
        1) This works...
        
        FOR SUBSCRIBER WITH -
         .SURNAME1 = "Flack" AND .FFPOSTADDR1 = "" -
         DO GET ":" .FFPOSTADDR1 ":"
        
        Result...
        :Gateway House.:
        
        2) This does NOT work...
        
        FOR SUBSCRIBER WITH -
         .SURNAME1 = "Flack" AND .FFPOSTADDR1 = "Gate" -
         DO GET ":" .FFPOSTADDR1 ":"
        
        Result... Nothing (No match)
        
        3) But this does work...
        
        FOR SUBSCRIBER WITH -
         .SURNAME1 = "Flack" AND .FFPOSTADDR1 <=> "Gate" -
         DO GET ":" .FFPOSTADDR1 ":"
        
        Result...
        :Gateway House.:
        
        Help ??!!
        
1439.7ExplanationSCOTTC::MARSHALLDo you feel lucky?Wed Sep 23 1992 11:4434
Hi,

I wouldn't worry too much about this.

ALL-IN-1 RSEs are designed to work with RMS files, which have simple things
like key-fields.  DDS doesn't have keys, it has action-attributes (or whatever
they're called), which work differently.

Applying this to your example:

>> FOR SUBSCRIBER WITH -
>>      .SURNAME1 = "Flack" AND .FFPOSTADDR1 = ""

.FFPOSTADDR1 = "" is a no-op; it is always true.  So this is basically a search
for .SURNAME1 = "Flack", which works as you'd expect.

>> FOR SUBSCRIBER WITH -
>>       .SURNAME1 = "Flack" AND .FFPOSTADDR1 = "Gate" -

In this case, the RSE code tries (I think, and skipping a lot of the detail) to
get SUBSCRIBERS to perform a keyed lookup using both fields.  As DDS doesn't
work like this, it goes wrong.  I don't guarantee that's what's happening, but
it seems the most likely to me.

>> FOR SUBSCRIBER WITH -
>>       .SURNAME1 = "Flack" AND .FFPOSTADDR1 <=> "Gate"

The "containing" operator can't be used for keyed lookups, so the RSE code
just asks SUBSCRIBERS for .SURNAME1 = "Flack".  It then gets back one or more
records, and filters out any that don't match .FFPOSTADDR1 <=> "Gate"

I hope that helps.

Scott
1439.8There's a workroundIOSG::SHOVEDave Shove -- REO-D/3CThu Sep 24 1992 11:4311
    I've just reported a bug on this. However, it's likely to be answered
    as a restriction, as there's a workround:
    
    If you BIND a phantom to SUBSCRIBER, and then do your FOR loop on the
    phantom, you should find it'll work.
    
    BIND *FRED TO SUBSCRIBER [ with ... if you like ]
    
    FOR *FRED [ with ... if you like ] DO ...
    
    Dave.