Siebel Finance Guide > Managing Product Group Visibility > Process for Establishing Confidential Mode Visibility >

Changing the View Layer for Confidential Mode Visibility


The CSSSWEFAFramePGVisibility and CSSSWEFAFrameListPGVisibility classes implement the product group visibility logic.

The following user properties described in this procedure are supported for these two classes and support product group visibility functionality.

  • FINS PGV Confidential Flag. If the value is Y, the product group visibility functionality is enabled in confidential mode and the visibility is determined using the public flag. The FINS PGV Confidential Flag is used for Opportunity, Call Report, Opportunity Notes, and Activities. If the value is N, the product group visibility is not enabled in confidential mode.
  • FINS PGV Suppress Flag. If the value of this field is Y, the product group visibility functionality is enabled in the suppress mode and the visibility is determined using the suppress flag field of the creator's product group. If the value of this field is N, the product group visibility is not enabled in confidential mode.

    The product group visibility works in two different ways, confidential mode and suppress mode. In confidential mode, there is a public flag field, FINS Product Group Public Flag, in the business component of the object and if the flag value of a given record is Y, then the record is public and there are no visibility restrictions that apply to the record. If the flag value is N, then the record is visible only to the associated product groups. In suppress mode, a given record is public if the product group of the creator of the record has the Suppress Flag field set to N. If the flag is set to Y, then only the users of the associated product groups of the record can see the record.

    In order to get the suppress flag value of the creator's product group, there should a join field, FINS Creator Product Group Suppress Flag, in the business component of the corresponding object.

    NOTE:  If both the FINS PGV Confidential Flag and the FINS PGV Suppress Flag are given, the FINS PGV Confidential Flag is used and the FINS PGV Suppress Flag is ignored.

  • FINS PGV Public Flag Field. The value of this field is the name of the public flag field for the confidential type or the join field which joins to the Suppress Flag field of the creator's product group for the Suppress type. The default values include:
    • FINS Creator Product Group Suppress Flag for suppress mode
    • FINS Product Group Public Flag for confidential mode
  • FINS PGV Sales Team Visibility. For this field:

    <SalesTeamType> : <SalesTeamFieldName>

    <SalesTeamType> => valid values are "Position", "User"

    For <SalesTeamFieldName> =>, this is the business component multivalue field name which corresponds to the Position Id or the User Id. This user property specifies whether the business component that the position is based on or the user based visibility, and this field corresponds to the sales team. If this property is not given or is invalid, then the user will not have visibility to the record even though the user is part of sales team, unless the user's product group is associated with the record.

  • FINS PGV Visibility Field. The value of this field is the multivalue field name of the business component, which corresponds to the Product Group Id. If this property is not given, the default value is the same as the FINS Product Group Id value.
  • FINS PGV ShowMyPGRecordsOnly. When this user property value is set to Y, then you will not get the shared product groups while generating the product group visibility searchspec.

This step is part of Process for Establishing Confidential Mode Visibility.

To change the View layer for Confidential mode visibility

  1. Add fields Product Group and Public Flag to MyApplet.
  2. Add the following user properties:

    Name: FINS PGV Confidential Flag, Value: Y

    Name: FINS PGV UseBaseTable, Value: Y / N

    Use Y if you are using base table mode.

    Use N if you are using intersection table mode.

    Name: FINS PGV ShowMyPGRecordsOnly, Value: Y / N

  3. Choose whether you want to use PGV Frame Classes or to write a script. If you want to use PGV Frame Classes, then go to step 4. If you want to use a script, then go to step 5.
  4. Using PGV Frame Classes, set the class of the applet to CSSSWEFAFrameListPGVisibility or CSSSWEFAFramePGVisibility, depending on whether it is a List applet or a Form applet.

    These classes are derived from classes CSSSWEFrameListFINSBase and CSSSWEFrameFINSBase respectively.

    Do not proceed to step 5. Steps 4 and 5 are mutually exclusive.

  5. Write PGV Scripts. In some cases, you might want to use another class instead of the PGV-specific classes named in step 4. In that situation, attach the script given below to your applet. To associate the script:
    1. Right-click MyApplet and choose Edit ServerScripts.
    2. Select eScript as the language.
    3. Copy and paste the following script into the WebAppletLoad event:

    var opropset;

    opropset = TheApplication().NewPropertySet();

    var searchspec;

    var Inputs;

    Inputs = TheApplication().NewPropertySet();

    Inputs.SetProperty("FINS PGV Confidential Flag", "Y");

    Inputs.SetProperty("FINS PGV Suppress Flag", "N");

    //In case of Suppress Mode, reverse the Y/N values in the above two statements.

    var servicename = TheApplication().GetService("FINS Product Group Visibility Service");

    Inputs.SetProperty("FINS PGV Sales Team Visibility", "Position : Position Id");

    servicename.InvokeMethod("getPGVisibilitySearchSpec", Inputs, opropset);

    var searchspec = opropset.GetValue();

    var servicename;

    var searchname = "FINS PGV Search";

    this.BusComp().SetNamedSearch(searchname,searchspec);

    var sConfidentialFlag = Inputs.GetProperty("FINS PGV Confidential Flag");

    var sSuppressFlag = Inputs.GetProperty("FINS PGV Suppress Flag");

    //If we are in "Suppress" mode

    if ( sConfidentialFlag != "Y" && sSuppressFlag == "Y" )

    {

    var sPublicFlagField = Inputs.GetProperty("FINS PGV Public Flag Field");

    if (sPublicFlagField == "")

    {

    sPublicFlagField = "FINS CI Creator Product Group Suppress Flag";

    }

    this.BusComp().ActivateField ("FINS CI Created By Position Id");

    this.BusComp().ActivateField ("FINS CI Created By Product Group Id");

    this.BusComp().ActivateField (sPublicFlagField);

    }

Siebel Finance Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.