200 lines
8.4 KiB
Plaintext
200 lines
8.4 KiB
Plaintext
Compile function Copy_COMPANY_Record_To_SQL(Connection, Key, Record)
|
|
|
|
/*****************************************************************************\
|
|
Copies the given COMPANY record to the MSSQL database.
|
|
|
|
History
|
|
-------
|
|
04/21/2010 KRF Original Programmer
|
|
\*****************************************************************************/
|
|
|
|
Declare function SQL_Write, SQL_Write_MV, SQL_Format
|
|
Ans = ""
|
|
|
|
// Parse record into a dimensioned array for speed
|
|
Dim Rec(71)
|
|
MatParse Record into Rec
|
|
|
|
// List of key names and their values
|
|
Keys = "CO_NO":@VM:SQL_Format(Key, "INT")
|
|
|
|
// List of data fields and their values
|
|
DataFields = "ENTRY_DATE" :@VM:SQL_Format(Rec(1), "DATE"):@FM
|
|
DataFields := "ENTRY_ID" :@VM:SQL_Format(Rec(2), "STR"):@FM
|
|
DataFields := "CATEGORY" :@VM:SQL_Format(Rec(3), "STR"):@FM
|
|
DataFields := "CO_NAME" :@VM:SQL_Format(Rec(4), "STR"):@FM
|
|
DataFields := "CITY" :@VM:SQL_Format(Rec(6), "STR"):@FM
|
|
DataFields := "STATE" :@VM:SQL_Format(Rec(7), "STR"):@FM
|
|
DataFields := "ZIP" :@VM:SQL_Format(Rec(8), "STR"):@FM
|
|
DataFields := "CO_TYPE" :@VM:SQL_Format(Rec(14), "STR"):@FM
|
|
DataFields := "DIVISION" :@VM:SQL_Format(Rec(15), "STR"):@FM
|
|
DataFields := "TERMS" :@VM:SQL_Format(Rec(16), "STR"):@FM
|
|
DataFields := "BILL_TO_ATTN" :@VM:SQL_Format(Rec(18), "STR"):@FM
|
|
DataFields := "BILL_TO_CO" :@VM:SQL_Format(Rec(19), "STR"):@FM
|
|
DataFields := "BILL_TO_CITY" :@VM:SQL_Format(Rec(21), "STR"):@FM
|
|
DataFields := "BILL_TO_STATE" :@VM:SQL_Format(Rec(22), "STR"):@FM
|
|
DataFields := "BILL_TO_ZIP" :@VM:SQL_Format(Rec(23), "STR"):@FM
|
|
DataFields := "SHIP_TO_ATTN" :@VM:SQL_Format(Rec(24), "STR"):@FM
|
|
DataFields := "SHIP_TO_CO" :@VM:SQL_Format(Rec(25), "STR"):@FM
|
|
DataFields := "SHIP_TO_CITY" :@VM:SQL_Format(Rec(27), "STR"):@FM
|
|
DataFields := "SHIP_TO_STATE" :@VM:SQL_Format(Rec(28), "STR"):@FM
|
|
DataFields := "SHIP_TO_ZIP" :@VM:SQL_Format(Rec(29), "STR"):@FM
|
|
DataFields := "COUNTRY" :@VM:SQL_Format(Rec(30), "STR"):@FM
|
|
DataFields := "VREMIT_CITY" :@VM:SQL_Format(Rec(33), "STR"):@FM
|
|
DataFields := "VREMIT_STATE" :@VM:SQL_Format(Rec(34), "STR"):@FM
|
|
DataFields := "VREMIT_ZIP" :@VM:SQL_Format(Rec(35), "STR"):@FM
|
|
DataFields := "VREMIT_PHONE" :@VM:SQL_Format(Rec(36), "STR"):@FM
|
|
DataFields := "VACCT_NO" :@VM:SQL_Format(Rec(37), "STR"):@FM
|
|
DataFields := "VREMIT_PHONE_TYPES" :@VM:SQL_Format(Rec(38), "STR"):@FM
|
|
DataFields := "VREMIT_COMPANY" :@VM:SQL_Format(Rec(39), "STR"):@FM
|
|
DataFields := "INVOICE_NOTES" :@VM:SQL_Format(Rec(40), "STR"):@FM
|
|
DataFields := "SALES_REP" :@VM:SQL_Format(Rec(41), "STR"):@FM
|
|
DataFields := "ABBREV" :@VM:SQL_Format(Rec(42), "STR"):@FM
|
|
DataFields := "BUSINESS_DESC" :@VM:SQL_Format(Rec(43), "STR"):@FM
|
|
DataFields := "DIRECTIONS" :@VM:SQL_Format(Rec(44), "STR"):@FM
|
|
DataFields := "ACCT_REP" :@VM:SQL_Format(Rec(48), "STR"):@FM
|
|
DataFields := "SALES_OFFICE" :@VM:SQL_Format(Rec(49), "STR"):@FM
|
|
DataFields := "PRODUCT" :@VM:SQL_Format(Rec(50), "STR"):@FM
|
|
DataFields := "APPLICATION" :@VM:SQL_Format(Rec(51), "STR"):@FM
|
|
DataFields := "INDUSTRY" :@VM:SQL_Format(Rec(52), "STR"):@FM
|
|
DataFields := "ENDUSER_CUST" :@VM:SQL_Format(Rec(53), "STR"):@FM
|
|
DataFields := "CUST_COMPETITION" :@VM:SQL_Format(Rec(54), "STR"):@FM
|
|
DataFields := "OUR_COMPETITION" :@VM:SQL_Format(Rec(55), "STR"):@FM
|
|
DataFields := "MANUF_TYPE" :@VM:SQL_Format(Rec(56), "STR"):@FM
|
|
DataFields := "STATUS" :@VM:SQL_Format(Rec(57), "STR"):@FM
|
|
DataFields := "ORACLE_SITE_ID" :@VM:SQL_Format(Rec(58), "INT"):@FM
|
|
DataFields := "SHIPPING_EXPORT_TEMPLATE":@VM:SQL_Format(Rec(59), "STR"):@FM
|
|
DataFields := "COA_FOLDER" :@VM:SQL_Format(Rec(60), "STR"):@FM
|
|
DataFields := "VISION_CUST_NO" :@VM:SQL_Format(Rec(61), "STR"):@FM
|
|
DataFields := "BILL_TO_CUST_NO" :@VM:SQL_Format(Rec(62), "STR"):@FM
|
|
DataFields := "CAPTIVE" :@VM:SQL_Format(Rec(64), "BIT"):@FM
|
|
DataFields := "CONSIGNMENT" :@VM:SQL_Format(Rec(65), "BIT"):@FM
|
|
DataFields := "MU_WAFERS" :@VM:SQL_Format(Rec(66), "BIT"):@FM
|
|
DataFields := "REPORT_EXCLUDE" :@VM:SQL_Format(Rec(67), "BIT"):@FM
|
|
DataFields := "INCO_CODE" :@VM:SQL_Format(Rec(68), "STR"):@FM
|
|
DataFields := "SAP_CUST_NO" :@VM:SQL_Format(Rec(69), "STR"):@FM
|
|
DataFields := "VEND_CD" :@VM:SQL_Format(Rec(70), "STR")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write(Connection, "COMPANY", Keys, DataFields)
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
// Multi-valued Fields
|
|
|
|
// Address Lines
|
|
If Ans EQ "" AND Rec(5) NE "" then
|
|
|
|
// List of data fields and their values
|
|
MvFields = "ADDRESS":@FM:SQL_Format(Rec(5), "STR")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write_MV(Connection, "COMPANY_ADDRESS_LINES", Keys, MvFields);
|
|
|
|
end
|
|
|
|
// Phone Numbers
|
|
If Ans EQ "" AND Rec(9) NE "" then
|
|
|
|
// List of data fields and their values
|
|
MvFields = "PHONES" :@FM:SQL_Format(Rec(9), "STR"):@RM
|
|
MvFields := "PHONE_TYPES":@FM:SQL_Format(Rec(10), "STR")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write_MV(Connection, "COMPANY_PHONES", Keys, MvFields);
|
|
|
|
end
|
|
|
|
// International Phone Numbers
|
|
If Ans EQ "" AND Rec(11) NE "" then
|
|
|
|
// List of data fields and their values
|
|
MvFields = "INTL_PHONES" :@FM:SQL_Format(Rec(11), "STR"):@RM
|
|
MvFields := "INTL_PHONE_TYPES":@FM:SQL_Format(Rec(12), "STR")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write_MV(Connection, "COMPANY_INTL_PHONES", Keys, MvFields);
|
|
|
|
end
|
|
|
|
// Notes
|
|
If Ans EQ "" AND Rec(13) NE "" then
|
|
|
|
// List of data fields and their values
|
|
MvFields = "NOTE":@FM:SQL_Format(Rec(13), "STR")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write_MV(Connection, "COMPANY_NOTES", Keys, MvFields);
|
|
|
|
end
|
|
|
|
// Shipper Info
|
|
If Ans EQ "" AND (Rec(17) NE "" OR Rec(31) NE "") then
|
|
|
|
// List of data fields and their values
|
|
MvFields = "SHIPPER_INFO":@FM:SQL_Format(Rec(17), "STR"):@RM
|
|
MvFields := "ACCOUNT_NO" :@FM:SQL_Format(Rec(31), "STR")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write_MV(Connection, "COMPANY_SHIPPER_INFO", Keys, MvFields);
|
|
|
|
end
|
|
|
|
// Bill-to Address Lines
|
|
If Ans EQ "" AND Rec(20) NE "" then
|
|
|
|
// List of data fields and their values
|
|
MvFields = "BILL_TO_ADDRESS":@FM:SQL_Format(Rec(20), "STR")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write_MV(Connection, "COMPANY_BILL_TO_ADDRESS_LINES", Keys, MvFields);
|
|
|
|
end
|
|
|
|
// Ship-to Address Lines
|
|
If Ans EQ "" AND Rec(26) NE "" then
|
|
|
|
// List of data fields and their values
|
|
MvFields = "SHIP_TO_ADDRESS":@FM:SQL_Format(Rec(26), "STR")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write_MV(Connection, "COMPANY_SHIP_TO_ADDRESS_LINES", Keys, MvFields);
|
|
|
|
end
|
|
|
|
// Remit Address Lines
|
|
If Ans EQ "" AND Rec(32) NE "" then
|
|
|
|
// List of data fields and their values
|
|
MvFields = "VREMIT_ADDR":@FM:SQL_Format(Rec(32), "STR")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write_MV(Connection, "COMPANY_VREMIT_ADDR_LINES", Keys, MvFields);
|
|
|
|
end
|
|
|
|
// Credit Info
|
|
If Ans EQ "" AND Rec(45) NE "" then
|
|
|
|
// List of data fields and their values
|
|
MvFields = "CREDIT_LIMIT" :@FM:SQL_Format(Rec(45), "DEC", 2):@RM
|
|
MvFields := "CREDIT_APPROVED_BY":@FM:SQL_Format(Rec(46), "STR"):@RM
|
|
MvFields := "CREDIT_REVIEW_DATE":@FM:SQL_Format(Rec(47), "DATE")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write_MV(Connection, "COMPANY_CREDIT_INFO", Keys, MvFields);
|
|
|
|
end
|
|
|
|
// Ship to Customer Numbers
|
|
If Ans EQ "" AND Rec(63) NE "" then
|
|
|
|
// List of data fields and their values
|
|
MvFields = "SHIP_TO_CUST_NO":@FM:SQL_Format(Rec(63), "STR")
|
|
|
|
// Write the data to the SQL database
|
|
Ans = SQL_Write_MV(Connection, "COMPANY_SHIP_TO_CUST_NOS", Keys, MvFields);
|
|
|
|
end
|
|
|
|
Return Ans
|