Module OrderHea.dd

     1Use  Windows.pkg           // Basic Definitions
     2Use  DataDict.pkg          // DataDictionary Class Definition
     3Use  DDvalTbl.pkg          // Validation Table Class Definitions
     4
     5Open OrderHea
     6Open OrderDtl
     7Open Customer
     8Open SalesP
     9Open OrdSys
    10
    11
    12Register_Object Terms_table
    13Register_Object Ship_Table
    14
    15Object Terms_table  is a DescriptionValidationTable
    16
    17    Procedure Fill_List
    18        Forward Send Fill_List
    19        Send Add_Table_Value  "NONE"  "None established"
    20        Send Add_Table_Value  "COD"  "COD"
    21        Send Add_Table_Value  "NET30"  "Net 30"
    22        Send Add_Table_Value  "NET60"  "Net 60"
    23        Send Add_Table_Value  "NET90"  "Net 90"
    24        Send Add_Table_Value  "PREPAY"  "Pre-payment required"
    25    End_Procedure    // Fill_List
    26End_Object   // Terms_table
    27
    28Object Ship_Table  is a CodeValidationTable
    29    Set Type_Value        To "SHIPPING"
    30    Set Allow_Blank_State To True
    31End_Object   // Ship_Table
    32Register_Object OrderHea_sl
    33
    34Class OrderHea_DataDictionary Is A DataDictionary
    35
    36    Procedure Construct_Object
    37        Forward Send Construct_Object
    38
    39        Set Main_File To OrderHea.File_Number
    40
    41        Set Foreign_Field_Option DD_KEYFIELD DD_FINDREQ to True
    42        Set Foreign_Field_Option DD_INDEXFIELD DD_NOPUT to True
    43        Set Foreign_Field_Option DD_DEFAULT DD_DISPLAYONLY to True
    44
    45        Set Add_Client_File to OrderDtl.File_Number
    46
    47        Set Add_Server_File to Customer.File_Number
    48        Set Add_Server_File to SalesP.File_Number
    49
    50        Set Add_System_File to OrdSys.File_Number DD_LOCK_ON_NEW_SAVE_DELETE
    51
    52        Set Field_Auto_Increment Field OrderHea.Order_Number to File_Field OrdSys.Order_Number
    53
    54
    55        Set Field_Option Field OrderHea.Order_Number DD_AUTOFIND to True
    56        Set Field_Prompt_Object Field OrderHea.Order_Number to OrderHea_SL
    57        Set Key_Field_State Field OrderHea.Order_Number To True
    58        Set Status_Help Field OrderHea.Order_Number To "Order Number - New orders are assigned numbers automatically"
    59
    60
    61        Set Field_Class_Name Field OrderHea.Order_Date To "dbSpinForm"
    62        Set Field_Entry_msg Field OrderHea.Order_Date To Entry_Order_Date
    63        Set Field_Mask_Type Field OrderHea.Order_Date To MASK_DATE_WINDOW
    64        Set Field_Prompt_Object Field OrderHea.Order_Date to OrderHea_SL
    65        Set Status_Help Field OrderHea.Order_Date To "Date on which the order was placed"
    66
    67        Set Field_Class_Name Field OrderHea.Terms To "dbComboForm"
    68        Set Field_Value_Table Field OrderHea.Terms to Terms_table
    69        Set Status_Help Field OrderHea.Terms To "Payment terms"
    70
    71        Set Field_Class_Name Field OrderHea.Ship_Via To "dbComboForm"
    72        Set Field_Value_Table Field OrderHea.Ship_Via to Ship_Table
    73        Set Status_Help Field OrderHea.Ship_Via To "Shipping method"
    74
    75        Set Status_Help Field OrderHea.Ordered_By To "Order placed by"
    76
    77        Set Field_Label_Long Field OrderHea.Salesperson_ID To "Sales Person ID"
    78        Set Field_Label_Short Field OrderHea.Salesperson_ID To "Sales ID"
    79        Set Status_Help Field OrderHea.Salesperson_ID To "Sales Person who initiated the order"
    80
    81        Set Field_Mask_Type Field OrderHea.Order_Total To MASK_CURRENCY_WINDOW
    82        Set Field_Option Field OrderHea.Order_Total DD_DISPLAYONLY to True
    83
    84
    85    End_Procedure  // Construct_Object
    86
    87    Procedure Field_Defaults
    88        Forward Send Field_Defaults
    89    End_Procedure
    90
    91    // Add a default date if the field is blank
    92    Procedure Entry_Order_Date Integer iField Date dDate
    93         Integer iChanged
    94         
    95         Get Field_Changed_State iField To iChanged
    96         If (iChanged=0 And dDate=0) Begin
    97            SysDate dDate
    98            Set Field_Default_Value iField To dDate
    99         End
   100    End_Procedure
   101
   102    Procedure Update
   103        Forward Send Update
   104        Send Adjust_Balances OrderHea.Order_Total
   105    End_Procedure
   106
   107    Procedure Backout
   108        Forward Send Backout
   109        Send Adjust_Balances (-OrderHea.Order_Total)
   110    End_Procedure
   111
   112    Procedure Adjust_Balances Number Amt
   113        Add Amt To Customer.Purchases
   114        Add Amt To Customer.Balance
   115    End_Procedure
   116
   117    Procedure Deleting
   118        Forward Send Deleting
   119        // see if we can decrement the order number in sys file...can only do
   120        // this if this is the newest order.
   121        If (OrderHea.Order_Number=OrdSys.Order_Number) Begin // if this is
   122           Decrement OrdSys.Order_Number          // the last number,
   123           Saverecord OrdSys                      // decrement and save.
   124        End
   125    End_Procedure
   126
   127End_Class    //  OrderHea_DataDictionary
   128#IFDEF Is$WebApp
   129#ELSE
   130
   131Use OrderHea.sl      // OrderHea_sl
   132
   133#ENDIF
   134
   135