Module OrderHea.DD

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