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

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

26.0. "SET directive questions " by CLUSTA::TAMER () Mon Oct 30 1989 14:08

I have two questions about a set directive (DIRECTIVE_TYPE = MODIFY).

1. How can I define a dispatch entry for an individual attribute such as 
   "Controller Count" below ? What is defined below (in *_vector.mar) does
   not work. I get the following message:

   MCC> SET SUBSYSTEM sub Controller Count = value
   %MCC-E-NOTFOUND,  Dispatch entry for the specified entity does not exist  

	;+
	; Dispatch entry for SET SUBSYSTEM * Controller Count = value
	; Dispatch entry for SET SUBSYSTEM * test Count       = value
	;-
	mcc$dispatch_entry - 
		SET,-
		<MCC$ENTITY <SUBSYSTEM, *>>, -
 		CHAR,-
		MCC___SUBSYSTEM_AM_SET



2. It seems that for each identifier with ACCESS = SETABLE, I have to define  
   it explicitly as an argument of the directive request. Otherwise, the parse
   table builder will not create a parse table entry for each settable 
   attribute.
   Any other way around it ? 


        .
        .

	CHARACTERISTIC ATTRIBUTES

	ATTRIBUTE Controller Count = 2 : Integer8
	   ACCESS = SETABLE,
	   DISPLAY = TRUE,
	   CATEGORIES = (CONFIGURATION),
	   SYMBOL = SUBSYS_CONT_CNT
	END ATTRIBUTE Controller Count;

	ATTRIBUTE  Test Count = 3 : Integer8
	   ACCESS = SETABLE,
	   DISPLAY = TRUE,
	   CATEGORIES = (CONFIGURATION),
	   SYMBOL = SUBSYS_TEST_CNT
	END ATTRIBUTE Test Count;

	END ATTRIBUTES; (* CHARACTERISTIC *)

       (* Begin DIRECTIVE definitions *)

	DIRECTIVE SET= 6 :
	   DIRECTIVE-TYPE = MODIFY,
	   CATEGORIES = (CONFIGURATION),

         (* Description: retrieves values for specified attribute(s).
            Attributes must be from the same attribute group *)

        (* Begin REQUEST definition *)
         
	REQUEST

	(* Begin REQUEST ARGUMENT definitions *)

	ARGUMENT Controller Count = 10 : Integer8
	   ECHO = TRUE,
	   DISPLAY = TRUE,
	   DEFAULT = 10,
           REQUIRED = TRUE,
	   SYMBOL = SET_CONT_CNT
	END ARGUMENT Controller Count ;

	ARGUMENT Test Count = 11 : Integer8
	   ECHO = TRUE,
	   DISPLAY = TRUE,
	   DEFAULT = 15,
           REQUIRED = TRUE,
	   SYMBOL = SET_TEST_CNT
	END ARGUMENT Test Count;

        (* End REQUEST ARGUMENT definitions *)
         
	END REQUEST ;

        (* End REQUEST definition *)

        (* Begin RESPONSE definition *)
         
	RESPONSE MODIFY_COMP =  10 :
		SYMBOL = SUBSYS_SET_SUCCESS,
		TEXT = "SUBSYSTEM AM Modify Success ",

	END RESPONSE MODIFY_COMP;

        (* End RESPONSE definition *)

        (* Begin EXCEPTION definitions *)
	 
	EXCEPTION Nonsettable Field = 99 :
		SYMBOL = SUBSYS_NST_FIELD,
		TEXT = "Cannot set this field",
	END EXCEPTION Nonsettable field;


	END DIRECTIVE SET;

        .
        .
        .



Thanks,
Phil
T.RTitleUserPersonal
Name
DateLines
26.1INFO - did you try the worksheets in the release notes?GOSTE::CALLANDERThu Nov 02 1989 09:3115
    
    There could be a number of problems. Starting with the easiest,
    you might simply have a problem with code mismatches. In the release
    notes there are a set of worksheets for helping you work through
    problems. There is at least one on the dispatch entry not found
    problem. Have you tried using this to verify that the codes being
    used in your code match those in the dictionary? Also are you aware
    of the problem in the baselevel you are using of codes in the
    dictionary that are greater than 255 (they are not supported)?
    
    Try these as a starting point. I will look into the set problem
    with PTB and see what might be causing it.
    
    jill
    
26.2INFO - use ATTRIB_LISTGOSTE::CALLANDERThu Nov 02 1989 10:0342
    
    I took a look at the section of an MS file that you supplied and
    see where you are having a problem. Every directive must define
    all of the valid request arguments. To simplify things for the modify
    directives there is an ATTRIB_LIST which allows you to specify with
    one statement that all attributes apply. Using this PTB will then
    check for all attributes and only use those flagged as settable.
    
            DIRECTIVE Set = 2 :
               DIRECTIVE-TYPE = MODIFY,
               DISPLAY = TRUE,
               SYMBOL = SAMPLE_SET,
               CATEGORIES = (CONFIGURATION),
    
                    REQUEST
                        ARGUMENT Arg set value list = 1 : ATTRIB_LIST
                                    ECHO = TRUE,
                                    DISPLAY = TRUE,
                                    REQUIRED = FALSE,
                                    DEFAULT = NO DEFAULT,
                                    SYMBOL = ARG_SET_VALUE_LIST
                            END ARGUMENT Arg set value list;
                    END REQUEST;
    
                     RESPONSE SET_SUCCESS = 1 :
                             SYMBOL = SET_SUCCESS,
                             TEXT = "Examination of Attributes Shows",
                             ARGUMENT Arg set list = 1 : ATTRIB_LIST
                                    DISPLAY = TRUE,
                                    SYMBOL = ARG_SET_LIST
                             END ARGUMENT Arg set list;
                     END RESPONSE SET_SUCCESS;
                    (* EXCEPTION Common exceptions only *)
    
            END DIRECTIVE Set;
    

    This is an excerpt from the sample AMs service interface. Hope it
    helps.
    
    jill
        
26.3Problem with directive code CLUSTA::TAMERThu Nov 02 1989 16:2121
    The problem was a code mismatch between the mgmt spec. and the dispatch
    table.  This problem also caused PTB not to expand on the settable
    attributes based on the ATTRIB_LIST type.
    The problem is isolated below:
    As you can see in .0,  DIRECTIVE SET = 6 : (assigned code SIX) 
    This caused all the problem and it does not work. The only code
    that works (and solves the above two problems) is DIRECTIVE SET = 2 :
    NO OTHER CODE WILL WORK!  
    Why is that ?  How does the dispatch table assign codes? I know it 
    assigned code 2 (using MCC_PTB> DUMP/ACCESS)to the SET directive but why ?
    
    Finally, my simple model works.
    Thanks a lot for all your input,
    Phil
    
    
    
    
    
    
       
26.4INFO - flat space registry codesGOSTE::CALLANDERMon Nov 06 1989 08:539
    
    
    Directive codes, as well as partition and entity codes, are all
    flat space codes. These are registered and must be unique across
    all entities. For more information regarding the registry please
    refer to the MCC System Reference Manual or post a note with specific
    registry questions.