Add new user variable segments and Multi-Entity History (MEH) partitions in SAS® Fraud Management


By default, a maximum of eight user variable segments is set when you install SAS Fraud Management, and MEH partitions are created for the eight user variable segments in the FMH_V_DATA table. According to your business needs, you can increase the number of user variable segments in the database by completing the following steps:

  1. Update FCMCORE.FCM_PROPERTY. Set PROPERTY_VALUE = '<no. of UDV segments that user needs>' where property_name = 'max_user_segments'.
  2. COMMIT;

Here is an example:

  1. Update FCMCORE.FCM_PROPERTY. Set PROPERTY_VALUE = '10' where property_name = 'max_user_segments'; /* This confirms that the user wanted to add two new segments - default eight plus 2 new segments equals ten segments. */
  2. COMMIT;

After you increase the number of user variable segments, you are required to restart the SAS Fraud Management WebApp server to make the changes effective. This change enables you to create more user variables from the web application, but you will also need to create the additional MEH partitions for each new user variable segment.

To create additional MEH partitions, complete the following steps:

  1. You must update the database.xml on each SAS® OnDemand Decision Engine server before you can use the new segments or variables in the rules.

    cd !SASConfig/Lev1/Applications/SASFraudManagement/<SFM version>/<implementation-name>/engine/ServerX/etc
    vi database.xml
    <bean name="VTableOracle" class="com.sas.finance.fraud.engine.meh.MEHTable">
            <constructor-arg name="type" value="V" />
            <constructor-arg name="name" value="FMH_V_DATA" />
            <constructor-arg name="whereColumns">
             .
             </constructor-arg>
            <property name="segmentLimit" value="8"/>
        </bean>

  2. Update the following property under the specific bean according to your database type.

    Database Type

     Bean Name

    DB2

    VTableDB2

    Oracle

    VTableOracle

    PostgreSQL

    VTablePOSTGRESQL

The following are sample alter statements for an Oracle database:

alter table FMH_V_DATA add partition PART8250 values less than ('08',250) TABLESPACE MEH_DATA;

alter table FMH_V_DATA add partition PART8500 values less than ('08',500) TABLESPACE MEH_DATA;

alter table FMH_V_DATA add partition PART8750 values less than ('08',750) TABLESPACE MEH_DATA;

alter table FMH_V_DATA add partition PART81000 values less than ('08',1000) TABLESPACE MEH_DATA;

 The following are sample alter statements for a DB2 database:

ALTER TABLE FMH_V_DATA ADD PARTITION PART8250 STARTING ('08',0) INCLUSIVE ENDING ('08',249) INCLUSIVE IN TS_VDAT_32K INDEX IN IX_VDAT_8K;

ALTER TABLE FMH_V_DATA ADD PARTITION PART8500 STARTING ('08',250) INCLUSIVE ENDING ('08',499) INCLUSIVE IN TS_VDAT_32K INDEX IN IX_VDAT_8K;

ALTER TABLE FMH_V_DATA ADD PARTITION PART8750 STARTING ('08',500) INCLUSIVE ENDING ('08',749) INCLUSIVE IN TS_VDAT_32K INDEX IN IX_VDAT_8K;

ALTER TABLE FMH_V_DATA ADD PARTITION PART81000 STARTING ('08',750) INCLUSIVE ENDING ('08',999) INCLUSIVE IN TS_VDAT_32K INDEX IN IX_VDAT_8K;

Note: You can name the new partitions based on the existing partition if the name follows a different sequence. However, you will need to add all four partitions per the user variable segment. 

Use the number 08 from the ('08',250) syntax to indicate your user-defined variable (UDV) segment. You need to replace the initial number (08) with a UDV segment like 09, 10. In addition, correct the TABLESPACE name if it differs from the default name.