Module ORDERHEA.DD

     1//DDB-FileStart
     2//DDB-HeaderStart
     3
     4// File Name : ORDERHEA.DD
     5// Class Name: Orderhea_DataDictionary
     6// Revision  : 3
     7
     8Use  Windows           // Basic Definitions
     9Use  DataDict          // DataDictionary Class Definition
    10Use  DDvalTbl          // Validation Table Class Definitions
    11
    12Open Orderhea
    13Open Orderdtl
    14Open Customer
    15Open Salesp
    16Open Ordsys
    17
    18//DDB-HeaderEnd
    19//DDB-ValidationStart
    20
    21Register_Object Terms_table
    22Register_Object Ship_Table
    23
    24Object Terms_table  is a DescriptionValidationTable
    25
    26    Procedure Fill_List
    27        Forward Send Fill_List
    28        Send Add_Table_Value  "NONE"  "None established"
    29        Send Add_Table_Value  "COD"  "COD"
    30        Send Add_Table_Value  "NET30"  "Net 30"
    31        Send Add_Table_Value  "NET60"  "Net 60"
    32        Send Add_Table_Value  "NET90"  "Net 90"
    33        Send Add_Table_Value  "PREPAY"  "Pre-payment required"
    34    End_Procedure    // Fill_List
    35End_Object   // Terms_table
    36
    37Object Ship_Table  is a CodeValidationTable
    38    Set Type_Value        To "SHIPPING"
    39    Set Allow_Blank_State To TRUE
    40End_Object   // Ship_Table
    41//DDB-ValidationEnd
    42//DDB-SelectionStart
    43//DDB/ ExternalSelectionList ORDERHEA_SL  ORDERHEA.SL
    44Register_Object ORDERHEA_SL
    45//DDB-SelectionEnd
    46
    47Class Orderhea_DataDictionary is a DataDictionary
    48
    49    Procedure Define_Fields
    50        Forward Send Define_Fields
    51        //DDB-DefineFieldStart
    52
    53        Set Main_File            To Orderhea.File_Number
    54
    55        Set Foreign_Field_Options  DD_KEYFIELD   To DD_FINDREQ
    56        Set Foreign_Field_Options  DD_INDEXFIELD To DD_NOPUT
    57        Set Foreign_Field_Options  DD_DEFAULT    To DD_DISPLAYONLY
    58
    59        // Child (Client) file structure................
    60        Send Add_Client_File  Orderdtl.File_Number
    61
    62        // Parent (Server) file structure...............
    63        Send Add_Server_File  Customer.File_Number
    64        Send Add_Server_File  Salesp.File_Number
    65
    66        // External (System) file structure.............
    67        Send Add_System_File  Ordsys.File_Number  DD_LOCK_ON_NEW_SAVE_DELETE
    68
    69        Define_Auto_Increment  Ordsys.Order_Number  To Orderhea.Order_Number
    70
    71        // Field-based properties.......................
    72
    73        // Orderhea.Order_Number
    74        Set Field_Options          Field Orderhea.Order_Number    To DD_AUTOFIND
    75        Set Field_Prompt_Object    Field Orderhea.Order_Number    To (ORDERHEA_SL(self))
    76        Set Key_Field_State        Field Orderhea.Order_Number    To TRUE
    77        Set Status_Help            Field Orderhea.Order_Number    To "Order Number - New orders are assigned numbers automatically"
    78
    79        // Orderhea.Customer_Number
    80
    81        // Orderhea.Order_Date
    82        Set Field_Class_Name       Field Orderhea.Order_Date      To "dbSpinForm"
    83        Set Field_Entry_msg        Field Orderhea.Order_Date      To Entry_Order_Date
    84        Set Field_Mask_Type        Field Orderhea.Order_Date      To MASK_DATE_WINDOW
    85        Set Field_Prompt_Object    Field Orderhea.Order_Date      To (ORDERHEA_SL(self))
    86        Set Status_Help            Field Orderhea.Order_Date      To "Date on which the order was placed"
    87
    88        // Orderhea.Terms
    89        Set Field_Class_Name       Field Orderhea.Terms           To "dbComboForm"
    90        Set Field_Value_Table      Field Orderhea.Terms           To (Terms_table(self))
    91        Set Status_Help            Field Orderhea.Terms           To "Payment terms"
    92
    93        // Orderhea.Ship_Via
    94        Set Field_Class_Name       Field Orderhea.Ship_Via        To "dbComboForm"
    95        Set Field_Value_Table      Field Orderhea.Ship_Via        To (Ship_Table(self))
    96        Set Status_Help            Field Orderhea.Ship_Via        To "Shipping method"
    97
    98        // Orderhea.Ordered_By
    99        //DDB/ Comment_Short       Field Orderhea.Ordered_By      To "This is just a suggested list. No parent files support this"
   100        Set Status_Help            Field Orderhea.Ordered_By      To "Order placed by"
   101
   102        // Orderhea.Salesperson_Id
   103        Set Field_Label_Long       Field Orderhea.Salesperson_Id  To "Sales Person Id"
   104        Set Field_Label_Short      Field Orderhea.Salesperson_Id  To "Sales ID"
   105        Set Status_Help            Field Orderhea.Salesperson_Id  To "Sales Person who initiated the order"
   106
   107        // Orderhea.Order_Total
   108        //DDB/ Comment_Short       Field Orderhea.Order_Total     To "Maintained by the Orderdtl DD"
   109        Set Field_Mask_Type        Field Orderhea.Order_Total     To MASK_CURRENCY_WINDOW
   110        Set Field_Options          Field Orderhea.Order_Total     To DD_DISPLAYONLY
   111
   112        // Orderhea.Last_Detail_Num
   113        //DDB/ Comment_Short       Field Orderhea.Last_Detail_Num To "This is the "
   114
   115        //DDB-DefineFieldEnd
   116    End_Procedure  // Define_Fields
   117
   118    Procedure Field_Defaults
   119        Forward Send Field_Defaults
   120        //DDB-FieldDefaultStart
   121        //DDB-FieldDefaultEnd
   122    End_Procedure
   123
   124    // Add a default date if the field is blank
   125    Procedure Entry_Order_Date Integer iField Date dDate
   126         Integer Changed
   127         Get Field_Changed_State iField to Changed
   128         If ( Changed=0 AND dDate = 0) Begin
   129           SysDate4 dDate
   130           Set Field_Default_Value iField to dDate
   131         End
   132    End_Procedure
   133
   134    Procedure Update
   135        Forward Send Update
   136        Send Adjust_Balances OrderHea.Order_Total
   137    End_procedure
   138
   139    Procedure Backout
   140        Forward Send Backout
   141        Send Adjust_Balances (-OrderHea.Order_Total)
   142    End_procedure
   143
   144    Procedure Adjust_Balances Number Amt
   145        Add Amt to Customer.purchases
   146        Add Amt to Customer.Balance
   147    End_Procedure
   148
   149    Procedure Deleting
   150        Forward Send Deleting
   151        // see if we can decrement the order number in sys file...can only do
   152        // this if this is the newest order.
   153        If OrderHea.Order_Number eq OrdSys.Order_Number Begin // if this is
   154           Decrement OrdSys.Order_Number          // the last number,
   155           SaveRecord Ordsys                      // decrement and save.
   156        End
   157    End_Procedure
   158
   159End_Class    //  Orderhea_DataDictionary
   160
   161//DDB-Selection-pkg-Start
   162Use ORDERHEA.SL      // ORDERHEA_SL
   163//DDB-Selection-pkg-End
   164//DDB-FileEnd
   165