/*********************************************************************
* Copyright (C) 2000 by Progress Software Corporation ("PSC"),       *
* 14 Oak Park, Bedford, MA 01730, and other contributors as listed   *
* below.  All Rights Reserved.                                       *
*                                                                    *
* The Initial Developer of the Original Code is PSC.  The Original   *
* Code is Progress IDE code released to open source December 1, 2000.*
*                                                                    *
* The contents of this file are subject to the Possenet Public       *
* License Version 1.0 (the "License"); you may not use this file     *
* except in compliance with the License.  A copy of the License is   *
* available as of the date of this notice at                         *
* http://www.possenet.org/license.html                               *
*                                                                    *
* Software distributed under the License is distributed on an "AS IS"*
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. You*
* should refer to the License for the specific language governing    *
* rights and limitations under the License.                          *
*                                                                    *
* Contributors: MIP Holdings (Pty) Ltd ("MIP")                       *
*               PSC                                                  *
*                                                                    *
*********************************************************************/

TRIGGER PROCEDURE FOR CREATE OF gsm_flow_step .

/* Created automatically using ERwin ICF Trigger template db/af/erw/afercustrg.i
   Do not change manually. Customisations to triggers should be placed in separate
   include files pulled into the trigger. ICF auto generates write trigger custom
   include files. Delete or create customisation include files need to be created
   manually. Be sure to put the hook in ERwin directly so as not to have you changes
   overwritten.
   User defined Macro (UDP) Summary (case sensitive)
   gsm_flow_step           Expands to full table name, e.g. gsm_user
   %TableFLA            Expands to table unique code, e.g. gsmus
   %TableObj            If blank or not defined expands to table_obj with no prefix (framework standard)
                        If defined, uses this field as the object field
                        If set to "none" then indicates table does not have an object field
   XYZ                  Do not define so we can compare against an empty string

   See docs for explanation of replication macros 
*/   

&SCOPED-DEFINE TRIGGER_TABLE gsm_flow_step
&SCOPED-DEFINE TRIGGER_FLA gsmfs
&SCOPED-DEFINE TRIGGER_OBJ flow_step_obj


DEFINE BUFFER lb_table FOR gsm_flow_step.      /* Used for recursive relationships */
DEFINE BUFFER lb1_table FOR gsm_flow_step.     /* Used for lock upgrades */

DEFINE BUFFER o_gsm_flow_step FOR gsm_flow_step.

/* Standard top of CREATE trigger code */
{af/sup/aftrigtopc.i}

  



/* Generated by ICF ERwin Template */
/* ryc_smartobject is run during gsm_flow_step ON CHILD INSERT SET NULL */
IF NOT(CAN-FIND(FIRST ryc_smartobject WHERE
    gsm_flow_step.object_obj = ryc_smartobject.smartobject_obj)) THEN
  DO:
    
    ASSIGN gsm_flow_step.object_obj = 0 .
  END.



/* Generated by ICF ERwin Template */
/* gsm_login_company requires a specialised gsm_flow_step ON CHILD INSERT SET NULL */
IF NOT(CAN-FIND(FIRST gsm_login_company WHERE
    gsm_flow_step.login_company_obj = gsm_login_company.login_company_obj)) THEN
  DO:
    
    ASSIGN gsm_flow_step.login_company_obj = 0 .
  END.



/* Generated by ICF ERwin Template */
/* gsm_flow is run during gsm_flow_step ON CHILD INSERT SET NULL */
IF NOT(CAN-FIND(FIRST gsm_flow WHERE
    gsm_flow_step.flow_step_flow_obj = gsm_flow.flow_obj)) THEN
  DO:
    
    ASSIGN gsm_flow_step.flow_step_flow_obj = 0 .
  END.



/* Generated by ICF ERwin Template */
/* gsm_flow consists of gsm_flow_step ON CHILD INSERT RESTRICT */
IF 
    ( gsm_flow_step.flow_obj <> 0 ) THEN
  DO:
    IF NOT(CAN-FIND(FIRST gsm_flow WHERE
        gsm_flow_step.flow_obj = gsm_flow.flow_obj)) THEN
        DO:
          /* Cannot create child because parent does not exist ! */
          ASSIGN lv-error = YES lv-errgrp = "AF ":U lv-errnum = 102 lv-include = "gsm_flow_step|gsm_flow":U.
          RUN error-message (lv-errgrp, lv-errnum, lv-include).
        END.
    
    
  END.






ASSIGN gsm_flow_step.{&TRIGGER_OBJ} = getNextObj() NO-ERROR.
IF ERROR-STATUS:ERROR THEN 
DO:
    ASSIGN lv-error = YES lv-errgrp = "AF ":U lv-errnum = 31 lv-include = "gsm_flow_step|the specified object number.  Please ensure your database sequences have been set correctly":U.
    RUN error-message (lv-errgrp, lv-errnum, lv-include).
END.







/* Update Audit Log */
IF CAN-FIND(FIRST gsc_entity_mnemonic
            WHERE gsc_entity_mnemonic.entity_mnemonic = 'gsmfs':U
              AND gsc_entity_mnemonic.auditing_enabled = YES) THEN
  RUN af/app/afauditlgp.p (INPUT "CREATE":U, INPUT "gsmfs":U, INPUT BUFFER gsm_flow_step:HANDLE, INPUT BUFFER o_gsm_flow_step:HANDLE).

/* Standard bottom of CREATE trigger code */
{af/sup/aftrigendc.i}


/* Place any specific CREATE trigger customisations here */
