· 8 years ago · Oct 12, 2017, 04:56 PM
1**********************************************************************************************
2* Program....: clsIpopr_CreateOrder.PRG
3* Author.....: Nasim Huq
4* Date.......: March, 2009
5* Notice.....: Copyright (c) 2005 CGS, Inc., All Rights Reserved.
6* Techreq....: 1033062
7* Abstract...: EDI 850 inbound Create open order
8* Changes....:
9***********************************************************************************************
10
11#include edi.h
12#include system.h
13
14#Define LARGEST_DATE {^2999-01-01}
15#Define EDI_NOT_PROCESSORIGINAL_MSG "Control Flag set to Not Process Original EDI orders into Live Table."
16#Define EDI_NOT_PROCESSCONFIRM_MSG "Control Flag set to Not Process Confirm EDI orders into Live Table."
17#Define EDI_NOT_PROCESSDUPLICATE_MSG "Control Flag set to Not Process Duplicate EDI orders into Live Table."
18#Define NOT_YET_PROCESS "Not yet process."
19#Define NO_UOM_CONVERSION_REF "Require Style UOM."
20#Define UOM_NOT_DIVISIBLE "Total Units must be divisible by "
21#Define NO_UOM_CONVERSION_FACTOR "No conversion factor."
22#Define NO_PREPACK "Unable to determine Prepack code."
23#Define EDI_BULK_ORDER "BK"
24#Define EDI_BLANKET_ORDER "BL"
25#Define EDI_DISCOUNT_CODE "EDI"
26
27
28Define Class clsIpopr_CreateOrder As clsIpopr_delegatebase
29
30 *--- trans cursor
31 ceipoTH = ""
32 ceipoTD = ""
33 ceipoTH_nt = ""
34 ceipoTD_nt = ""
35 ceipoTC = ""
36 ceipoTA = ""
37 ceipoTS = ""
38 ceipoTR = "" &&--- charges
39 ceiPOtsac = ""
40
41 *--- trans work tables
42 cZzeipoTH = ""
43 cZzeipoTD = ""
44 cZzeipoTH_nt = ""
45 cZzeipoTD_nt = ""
46 cZzeipoTC = ""
47 cZzeipoTA = ""
48 cZzeipoTS = ""
49 cZzeipoTDExt = ""
50 cZzeipoTR = "" &&-- Charges
51 cZzeiPOtsac = ""
52
53 *--- trans history work tables
54 cZzeipoHH = ""
55 cZzeipoHD = ""
56 cZzeipoHA = ""
57 cZzeipoHC = ""
58 cZzeipoHH_nt = ""
59 cZzeipoHD_nt = ""
60 cZzeipoHS = ""
61
62 *--- order work tables
63 cZzoordrh = ""
64 cZzoordrd = ""
65 cZzoordsp = ""
66
67 cZzoordad = ""
68 cZzootadr = ""
69 cZzoordcd = ""
70
71 cZzoordrh_nt = ""
72 cZzoordrd_nt = ""
73 cZzoordrdExt = ""
74 cZzoordrd_chrg = ""
75 cZzoordsac = ""
76
77 cZzoordrh_cncl = ""
78 cZzoordrd_cncl = ""
79 cZzoordrh_del = ""
80 cZzoordrd_del = ""
81 cZzoordsp_del = ""
82
83 cZzoordrh_Open = ""
84 cZzoordrd_Open = ""
85
86
87 ** TR 1050538 FH 11/10/10
88 ceiPOcr = ""
89 cZzeipoCr = ""
90
91 *--- bulk nibbler
92 cZzoordwh = ""
93 cZzoordwd = ""
94 cZzxniblr = ""
95
96 *--- TechRec 1054619 08-Jun-2011 MANI. ---
97 ceiPOtWHSE = ""
98 czzedatawhse = ""
99 cZzeiPOtWHSE = ""
100 *=== TechRec 1054619 08-Jun-2011 MANI. ===
101
102 DIMENSION aOrdTbls[1]
103 nOrdTbls = 0
104
105 *--- 1044208
106 oAfterUpdate = NULL
107 oBulk = NULL
108 oBulkMatch = NULL
109 *--- 1044208
110 *--- TR 1075041 9-12-2013 VKK
111 oSB = NULL
112 *=== TR 1075041 9-12-2013 VKK
113
114 *------------------------------------------------------------------------
115
116 PROCEDURE INIT
117 Lparameters toHostProcess
118
119 DODEFAULT(toHostProcess)
120 this.oCopyUtil = NULL
121
122 SET PROCEDURE TO copyutil ADDITIVE
123 this.ocopyutil = CREATEOBJECT("IPO_CopyUtil")
124
125 *--- TR 1075041 9-12-2013 VKK
126 this.oSB = NEWOBJECT("SQLStringBuilder","clsgnstr.fxp")
127 *=== TR 1075041 9-12-2013 VKK
128
129 ENDPROC
130
131
132 PROCEDURE DESTROY
133
134 this.oAfterUpdate = NULL
135 this.oBulk = NULL
136 this.oBulkMatch = NULL
137
138 *--- TR 1075041 9-12-2013 VKK
139 this.oSB = NULL
140 *=== TR 1075041 9-12-2013 VKK
141
142 RETURN DODEFAULT()
143
144 ENDPROC
145
146 *--------------------------------------------------------------------------
147
148 *-- [Main Process]
149 PROCEDURE CreateOrders
150
151 LOCAL llRetVal, lnOldSelect
152 llRetVal = .t.
153 lnOldSelect = SELECT()
154
155 *#--- Send data to Server
156 WITH this
157 .LogMajorStage("Sales Order Creation.")
158 Local l_nThermoCnt
159 l_nThermoCnt = 0
160
161 CREATE CURSOR curTabDrop (tabname CHAR(100))
162
163 *--- 1044208
164 .oAfterUpdate = NEWOBJECT("clsIpoPr_AfterUpdateBeforeCommit","clsIpoPr_AfterUpdateBeforeCommit.fxp",null,this.oHostPROCESS,this)
165 .oBulk = NEWOBJECT("clsIpoPr_BulkNibbler","clsIpopr_BulkNibbler.fxp",null,this.oHostProcess,this)
166 .oBulkMatch = NEWOBJECT("clsipopr_EdiBulkMatching","clsipopr_EdiBulkMatching.fxp","",null,this.oHostProcess)
167 *=== 1044208
168
169 *=-=-=-=-=-=-=--=-=-=-=-=-===-
170 this.cFilterCriteria = " WHERE h.pkey IN (SELECT pkey FROM " + this.oHostProcess.cFilterTempTable + ")"
171 *=-=-=-=-=-=-=--=-=-=-=-=-===-
172
173 .AdvanceThermoTotalWithCaptionPlus("Creating single orders.", vcLogName)
174 This.InitThermoWithCaption(@l_nThermoCnt, 10, "Sending transaction data to server...")
175
176 llRetVal = llRetVal and .SendDataToTransWorkTables()
177 .LogEntry("Send transaction data to server work tables " + IIF(llRetVal,"completed.","failed."))
178
179 *--- TR 1044017 07-JAN-2010 HNISAR
180*!* This.AdvanceThermoPlus(@l_nThermoCnt,"Update 850 transaction server tables")
181 This.AdvanceThermoPlus(@l_nThermoCnt,"Update " + This.oHostProcess.cProcessNo +" transaction server tables")
182 *=== TR 1044017 07-JAN-2010 HNISAR
183
184 llRetVal = llRetVal and .UpdateTransactionTables()
185 *--- TR 1044017 07-JAN-2010 HNISAR
186*!* .LogEntry("Update 850 transaction server tables " + IIF(llRetVal,"completed.","failed."))
187 .LogEntry("Update " + This.oHostProcess.cProcessNo +" transaction server tables " + IIF(llRetVal,"completed.","failed."))
188 *=== TR 1044017 07-JAN-2010 HNISAR
189
190 This.AdvanceThermoPlus(@l_nThermoCnt,"Remove error records from transaction work tables")
191
192 llRetVal = llRetVal and .DeleteErrorRecordsFromTransWorkTables()
193 .LogEntry("Remove error records from transaction work tables " + IIF(llRetVal,"completed.","failed."))
194 This.AdvanceThermoPlus(@l_nThermoCnt)
195
196 llRetVal = llRetVal and .CreateOrderWorkTables()
197
198 llRetVal = llRetVal and .PopulateOrderWorkTables()
199 .LogEntry("Populate order work tables " + IIF(llRetVal,"completed.","failed."))
200 This.AdvanceThermoPlus(@l_nThermoCnt,"Populate order work tables")
201
202 llRetVal = llRetVal and .PrepareOrderForUpdate()
203 .LogEntry("Prepare order data for update " + IIF(llRetVal,"completed.","failed."))
204 This.AdvanceThermoPlus(@l_nThermoCnt,"Prepare order data for update")
205
206 llRetVal = llRetVal and .PopuldateTransHistoryWorkTables()
207 .LogEntry("Populate data in transaction history work tables " + IIF(llRetVal,"completed.","failed."))
208 This.AdvanceThermoPlus(@l_nThermoCnt,"Populate data in transaction history work tables")
209
210 *llRetVal = llRetVal and .StampTimeAndUserID()
211
212 llRetVal = llRetVal and .UpdateAllTables()
213 .LogEntry("Sales Order Creation " + IIF(llRetVal,"completed.","failed."))
214 This.AdvanceThermoPlus(@l_nThermoCnt)
215
216 ** Populate Allocation tables based on Data warehouse
217 llRetVal = llRetVal AND InsertAllocationRuleFromEDIWarehouse(this.czzedatawhse)
218
219
220 IF llRetVal AND USED("curTabDrop")
221 SELECT curTabDrop
222 SCAN
223 v_sqlexecnoerror("DROP TABLE " + ALLTRIM(curTabDrop.tabname))
224 ENDSCAN
225 ENDIF
226 USE IN SELECT("curTabDrop")
227
228 *--- 1044208
229 .oAfterUpdate = NULL
230 .oBulk = NULL
231 .oBulkMatch = NULL
232 *--- 1044208
233
234
235 *#--- Prepare Date before order Creation
236 *#--- Create order headers
237 *#--- Create Order Header Notes
238 *#--- create order Sp
239
240
241 *##-- credit card
242 *--- TR 1012711 17-OCT-2005 RG
243 * For credit card transaction, update Credit Card table and factor infor in Sales Order table.
244 *THIS.CreateCreditRecord('O','vzzoordrd',loRecordset.pkey,.T.)
245
246
247 *#-- Create Order Detail - Newline logic -
248 *--- Create Order Detail Notes
249
250 *#-- FRM
251 *--- Create FRM records
252 *--- Copy_UDF_Data(This.nOldHeaderPKey, This.nNewHeaderPkey)
253
254 *#-- Multi discount
255 *--- create multi discount - tcSACDetail - m.pkey = v_nextPkey('zzoordsac')
256
257 *#--- create transaction history header
258 *#--- create transaction history detail
259
260 *#-- set credit card encription
261 *--- encription - loeipoth_ccard.cc_number = XP_ENCRYPT(loeipoth_ccard.CardNo)
262
263 *#-- Charge
264 *--- set fappv_amt With ChargeAmt, fexpn_date With ftran_date + facExpir_days
265 *#--- ResolveTax - exists
266
267
268 *#--- split order detail line base on detail start_date and end_date
269
270 *--- create SAC records (ZZOORDSAC)
271 *--- Customer Price - This.oBPOSalesOrder.GetCustomerPrice(Evaluate(pceipoTH + ".customer"), lcDivision, ;
272
273 *--- RollUpCanceledBuckets("tcUnavail", "tcCanceled")
274 *--- lnFKey = CreateCancelHdr(tcOrderHeader, lnCancQty, tcHistHeader)
275 *--- CreateCancelDtl("tcCanceled", tcOrderDetail, lnFKey, lcCancType, lcCancRsn)
276 *--- CreateCancelDtlHist("tcUnAvail", tcHistDetail, lnFKey, lcCancType, lcCancRsn)
277 *--- llUseBulkMatch - This.InheritDataFromBulk(lnCurrOrderHeaderPkey, Evaluate(pceipoTH + ".rr_pkey"), ;
278 tcOrderHeader, tcOrderDetail,"tcBulkMatch",tcOrderh_notes,tcOrderD_notes,@llHeaderNotes)
279
280 *#--- Comments
281 *--- Create order comment - ZZOORDCD
282 *--- Create order Address - 'OT' - ZZOORDAD
283 *--- Create order Address - 'BT' - ZZOOTADR
284 *--- Create order Address - 'SO' - ZZOOTADR
285
286 *#--- BULK
287 *--- Create bulk nibbler Trx records
288 *--- If llRetVal And .GetNibblerTrxNumsAndPkeys(This.CountTotalRecs (tcOrderHeader), This.CountTotalRecs (tcOrderDetail),;
289 *--- @lnStrZZXNIBLR, @lnStrZZOORDWH, @lnStrZZOORDWD)
290 * recording work records for AutoBulkReduction when have some bulk for this customer
291 *--- This.oBPOSalesOrder.CreateNibblerQueuesForAddModeOnly
292 * recording work records for nibbler summary
293 *--- This.oBPOSalesOrder.CreateNibblerQueuesForAddModeOnly(;
294
295 *#--- resolve Terms
296
297 *--- 1009014 02/05 CB - Resolve the merchandise code on the sales order detail table:
298
299 *--- Resolve MultiCurrency - exists
300
301 ENDWITH
302
303 SELECT(lnOldSelect)
304 RETURN llRetVal
305 ENDPROC
306
307 *--------------------------------------------------------------------------
308
309 PROCEDURE SetTransTables
310 LPARAMETERS pceipoTH, pceipoTD, pceipoTC, pceipoTA,pceipoTS, pceipoTR, pceiPOtsac, pceiPOcr, pceipotWHSE
311 *--- TechRec 1054619 08-Jun-2011 MANI. Added pceipotWHSE ===
312 * TR 1050538 FH 11/10/10 - added pceiPOcr to parameter
313
314 LOCAL llRetVal
315 llRetVal = .t.
316 this.ceipoTH = pceipoTH
317 this.ceipoTD = pceipoTD
318 this.ceipoTC = pceipoTC
319 this.ceipoTA = pceipoTA
320 this.ceipoTS = pceipoTS
321 this.ceipoTR = pceipoTR &&--- Charges
322 this.ceiPOtsac = pceiPOtsac
323 this.ceiPOcr = pceiPOcr && * TR 1050538 FH
324
325 *--- TechRec 1054619 08-Jun-2011 MANI. ---
326 This.ceiPOtWHSE = pceipotWHSE
327 *=== TechRec 1054619 08-Jun-2011 MANI. ===
328
329 RETURN llRetVal
330 ENDPROC
331
332 *--------------------------------------------------------------------------
333
334 PROCEDURE SendDataToTransWorkTables
335
336 LOCAL llRetVal, lcUnique, lcSql
337 llRetVal = .t.
338 lcUnique = SYS(2015)
339 WITH this
340 .cZzeipoTH = "#zzeipoth" + lcUnique
341 llRetVal = llRetVal and this.oCopyUtil.SendCursorToSqlTbl(this.ceipoTH, this.cZzeipoTH)
342
343 lcSql = "create index pkey on " + this.cZzeipoTH + " (pkey) "
344 llRetVal = llRetVal and v_sqlexec(lcSql)
345
346 *---- trans detail
347 LOCAL lcZzeipoTD
348 lcZzeipoTD = "#zzeipotdTmp" + lcUnique
349 .cZzeipoTD = "#zzeipotd" + lcUnique
350 llRetVal = llRetVal and this.oCopyUtil.SendCursorToSqlTbl(this.ceipoTD, lcZzeipoTD)
351 *--- add a order detail link pkey field - which will be poupulated when order detail is created from tran detail
352
353 lcSql = "select *, pkey as zzoordrd_pkey into " + this.cZzeipoTD + " from " + lcZzeipoTD
354 llRetVal = llRetVal and v_sqlexec(lcSql)
355
356 IF llRetVal
357 .RegisterTable(this.cZzeipoTD)
358 ENDIF
359
360
361 lcSql = "create index pkey on " + this.cZzeipoTD + " (pkey) "
362 llRetVal = llRetVal and v_sqlexec(lcSql)
363
364 lcSql = "create index fkey on " + this.cZzeipoTD + " (fkey) "
365 llRetVal = llRetVal and v_sqlexec(lcSql)
366
367 lcSql = "create index zzoordrd_pkey on " + this.cZzeipoTD + " (zzoordrd_pkey) "
368 llRetVal = llRetVal and v_sqlexec(lcSql)
369
370 .cZzeipoTA = "#zzeipota" + lcUnique
371 llRetVal = llRetVal and this.oCopyUtil.SendCursorToSqlTbl(this.ceipoTA, this.cZzeipoTA)
372
373 .cZzeipoTC = "#zzeipotc" + lcUnique
374 llRetVal = llRetVal and this.oCopyUtil.SendCursorToSqlTbl(this.ceipoTC, this.cZzeipoTC)
375
376 *--- TechRec 1052693 20-Apr-2011 asharma ---
377
378 lcSql = "create index " + This.cZzeipoTC + "_pkey on " + This.cZzeipoTC + " (pkey) "
379 llRetVal = llRetVal and v_sqlexec(lcSql)
380
381 *=== TechRec 1052693 20-Apr-2011 asharma ===
382
383 .cZzeipoTH_nt = "#zzeipoth_nt" + lcUnique
384 lcSql = "Select n.* into " + this.cZzeipoTH_nt + " from sysnotes n inner join " + this.cZzeipoTH + " h on h.pkey = n.fkey " + ;
385 " and n.table_name = 'ZZEIPOTH'"
386 llRetVal = llRetVal and v_sqlexec(lcSql)
387
388 *--- TechRec 1052693 20-Apr-2011 asharma ---
389
390 lcSql = "create index " + this.cZzeipoTH_nt + "_pkey on " + this.cZzeipoTH_nt + " (pkey) "
391 llRetVal = llRetVal and v_sqlexec(lcSql)
392
393 *=== TechRec 1052693 20-Apr-2011 asharma ===
394
395 IF llRetVal
396 .RegisterTable(this.cZzeipoTH_nt )
397 ENDIF
398
399
400 *--- trans detail notes
401 .cZzeipoTD_nt = "#zzeipotd_nt" + lcUnique
402 lcSql = "Select n.*, n.fkey as zzoordrd_pkey into " + this.cZzeipotd_nt + " from sysnotes n inner join " + this.cZzeipotd + " d on d.pkey = n.fkey " + ;
403 " and n.table_name = 'ZZEIPOTD'"
404
405 *--- add a order detail link pkey field - which will be poupulated when order detail is created from tran detail
406 llRetVal = llRetVal and v_sqlexec(lcSql)
407
408 *--- TechRec 1052693 20-Apr-2011 asharma ---
409
410 lcSql = "create index " + this.cZzeipotd_nt + "_pkey on " + this.cZzeipotd_nt + " (pkey) "
411 llRetVal = llRetVal and v_sqlexec(lcSql)
412
413 *=== TechRec 1052693 20-Apr-2011 asharma ===
414
415 IF llRetVal
416 .RegisterTable(this.cZzeipotd_nt )
417 ENDIF
418
419 *--- trans extender table
420 .cZzeipoTDExt = "#zzzUdfDt_ipo" + lcUnique
421 lcSql = "select zzzUdfDt.*, HdrFKey as OldHdrFKey, DtlFKey as OldDtlFKey, g.UDF_Field " + ;
422 " ,u.Grp_T_Key, Grp_O_Key " + ;
423 " into " + .cZzeipoTDExt + ;
424 " from zzzUdfDt inner join " + .cZzeipoTH + " h on zzzUdfDt.HdrFKey = h.PKey " + ;
425 " inner join zzzUdfCR c on c.PKey = zzzUdfDt.GrpFKey and c.Module = 'ZZEIPOTH' " + ;
426 " inner join zzzUdfGd g on g.PKey = zzzUdfDt.UdfFKey " + ;
427 " inner join ( select u.UDF_Field, ci.PKey as Grp_I_Key, ct.PKey as Grp_T_Key, co.PKey as Grp_O_Key " + ;
428 " from zzzUdfGD u join zzzUdfGH g on g.PKey = u.FKey " + ;
429 " join zzzUdfCr ci on ci.FKey = g.PKey and ci.Module = 'ZZEIPOIH' and ci.Link_Table = 'ZZEIPOID' " + ;
430 " join zzzUdfCr ct on ct.FKey = g.PKey and ct.Module = 'ZZEIPOTH' and ct.Link_Table = 'ZZEIPOTD' " + ;
431 " join zzzUdfCr co on co.FKey = g.PKey and co.Module = 'ZZOORDRH' and co.Link_Table = 'ZZOORDRD') u " + ;
432 " on u.Udf_field = g.Udf_field "
433
434 llRetVal = llRetVal and v_sqlexec(lcSql)
435
436 IF llRetVal
437 .RegisterTable(this.cZzeipoTDExt )
438 ENDIF
439
440 *--- charges
441 .cZzeipoTR = "#ZzeipoTR" + lcUnique
442 llRetVal = llRetVal and this.oCopyUtil.SendCursorToSqlTbl(this.ceipoTR, this.cZzeipoTR)
443
444 *--- add field hasChrgs to trans detail (zzeipotd) - it is need in rollup - ipotd => oordrd
445 lcSql = "alter table " + this.cZzeipotd + " add hasCharges char(1) DEFAULT(' ') not null "
446 llRetVal = llRetVal and v_sqlexec(lcSql)
447 lcSql = "Update d Set hasCharges = 'Y' FROM " + this.cZzeipotd + " d INNER JOIN " + this.cZzeipotr + ;
448 " r on r.fkey = d.pkey "
449 llRetVal = llRetVal and v_sqlexec(lcSql)
450
451 *--- multi discount
452 .cZzeiPOtsac = "#ZzeiPOtsac" + SYS(2015)
453 lcSql = llRetval and this.oCopyUtil.SendCursorToSqlTbl(.ceiPOtsac,.cZzeiPOtsac)
454
455 *--- TR 1044485
456 * SLN
457 .cZzeipoTS = "#ZzeiPOts" + SYS(2015)
458 lcSql = llRetval and this.oCopyUtil.SendCursorToSqlTbl(.ceipoTS,.cZzeipoTS)
459 *=== TR 1044485
460
461 *--- TechRec 1052693 20-Apr-2011 asharma ---
462
463 lcSql = "create index " + .cZzeipoTS + "_pkey on " + .cZzeipoTS + " (pkey) "
464 llRetVal = llRetVal and v_sqlexec(lcSql)
465
466 *=== TechRec 1052693 20-Apr-2011 asharma ===
467
468 * TR 1050538 FH 11/10/10
469 .cZzeipoCr = "#zzeipocr" + lcUnique
470 llRetVal = llRetVal and this.oCopyUtil.SendCursorToSqlTbl(this.ceiPOcr, this.cZzeipoCr)
471
472 *--- TechRec 1054619 09-Jun-2011 MANI. ---
473 .cZzeiPOtWHSE = "#ZzeiPOtWHSE" + lcUnique
474 llRetVal = llRetVal and this.oCopyUtil.SendCursorToSqlTbl(this.ceiPOtWHSE, this.cZzeiPOtWHSE)
475 *--- TechRec 1056973 08-Dec-2011 jisingh Commented ---
476 *llRetVal = llRetVal and this.PrepareDataForWhse()
477 *=== TechRec 1056973 08-Dec-2011 jisingh ===
478 *=== TechRec 1054619 09-Jun-2011 MANI. ===
479
480 ENDWITH
481
482 RETURN llRetVal
483 ENDPROC
484
485 *--------------------------------------------------------------------------
486
487 PROCEDURE UpdateTransactionTables
488
489 LOCAL llRetVal, lcSql_update, lcSql_dtl_update, lcSql_delete, lcSql_Dtl_delete, lcSql_insert, lcSql_Dtl_insert, llNotExists
490 LOCAL lcSql_update_zzeipotsac, lcSql_insert_zzeipotsac, lcSql_delete_zzeipotsac
491 LOCAL lcSQL_update_zzeipots, lcSQL_insert_zzeipots, lcSQL_delete_zzeipots,lcSqlInsert_zzeipoWhse, lcSqlDelete_zzeipoWhse
492
493 *--- TR 1059065 01-Feb-12 SK ===
494 LOCAL lcSqlUpdate_zzeipotwhse
495
496 *--- TechRec 1056973 18-Nov-2011 jisingh Added lcSqlDelete_zzeipoWhse ===
497 &&--- TechRec 1054619 29-Sep-2011 MANI. Added variable lcSqlInsert_zzeipoWhse ===
498 llRetVal = .t.
499 llNotExists = .t.
500 STORE " " TO lcSql_update, lcSql_dtl_update, lcSql_delete, lcSql_Dtl_delete, lcSql_insert, lcSql_Dtl_insert
501 STORE " " TO lcSql_update_zzeipotr, lcSql_insert_zzeipotr, lcSql_delete_zzeipotr
502 STORE " " TO lcSql_update_zzeipotsac, lcSql_insert_zzeipotsac, lcSql_delete_zzeipotsac
503 STORE " " TO lcSQL_update_zzeipots, lcSQL_insert_zzeipots, lcSQL_delete_zzeipots, lcSqlInsert_zzeipoWhse, lcSqlDelete_zzeipoWhse
504
505 *--- TR 1059065 01-Feb-12 SK ===
506 STORE " " TO lcSqlUpdate_zzeipotwhse
507
508 *--- TechRec 1056973 18-Nov-2011 jisingh Added lcSqlDelete_zzeipoWhse ===
509 &&--- TechRec 1054619 29-Sep-2011 MANI. Added variable lcSqlInsert_zzeipoWhse ===
510 *--- transaction temp tables
511
512 lcZzeipoth = this.cZzeipoTH
513 lcZzeipotd = this.cZzeipoTD
514
515 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSql_update,this.cZzeipoth,"zzeipoth")
516 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSql_dtl_update,this.cZzeipotd,"zzeipotd")
517
518 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql_Insert,this.cZzeipoth,"zzeipoth")
519 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql_dtl_Insert,this.cZzeipotd,"zzeipotd")
520
521 llRetVal = llRetVal and this.oCopyUtil.GetDeleteSql(@lcSql_Delete,this.cZzeipoth,"zzeipoth",.t.,this.cFilterCriteria,"d","h")
522 llRetVal = llRetVal and this.GetDeleteSql_TransDtl(@lcSql_dtl_Delete)
523
524 *--- charges
525 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSql_update_zzeipotr,this.cZzeipotR,"zzeipotr","'pkey'")
526 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql_insert_zzeipotr,this.cZzeipotR,"zzeipotr","'pkey'")
527* llRetVal = llRetVal and this.oCopyUtil.GetDeleteSql(@lcSql_delete_zzeipotr,this.cZzeipotR,"zzeipotr",.t.)
528 llRetVal = llRetVal and this.GetDeleteSQL_TransCharges(@lcSql_delete_zzeipotr)
529
530 *--- multi discount
531 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSql_update_zzeipotsac,this.cZzeipotsac,"zzeipotsac")
532
533 *- TR 1059993 FH/YIK 03/09/12
534 *--- TR 1045120 FEB-18-2010 BR
535*!* llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql_insert_zzeipotsac,this.cZzeipotsac,"zzeipotsac",,,,.t.)
536*!* llRetVal = llRetVal and this.oCopyUtil.GetDeleteSql(@lcSql_delete_zzeipotsac,this.cZzeipotsac,"zzeipotsac",,this.cFilterCriteria,,,"zzeipoth","hfkey","h")
537 *=== TR 1045120 FEB-18-2010 BR
538
539 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql_insert_zzeipotsac,this.cZzeipotsac,"zzeipotsac")
540 llRetVal = llRetVal and this.oCopyUtil.GetDeleteSql(@lcSql_delete_zzeipotsac,this.cZzeipotsac,"zzeipotsac",.T.,this.cFilterCriteria,,,"zzeipoth","hfkey","h")
541 *- TR 1059993 FH/YIK 03/09/12
542
543 *- update - address, comment, notes
544 LOCAL lcSqlUpdate_zzeipota, lcSqlUpdate_zzeipotc,lcSqlUpdate_zzeipoth_nt,lcSqlUpdate_zzeipotd_nt
545 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSqlUpdate_zzeipota,this.cZzeipota,"zzeipota")
546 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSqlUpdate_zzeipotc,this.cZzeipotc,"zzeipotc")
547 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSqlUpdate_zzeipoth_nt,this.cZzeipoth_nt,"sysnotes")
548 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSqlUpdate_zzeipotd_nt,this.cZzeipotd_nt,"sysnotes")
549* llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSql_update_zzeipotr,this.cZzeipotr,"zzeipotr")
550 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSQL_update_zzeipots,this.cZzeipots,"zzeipots")
551
552 *--- TR 1059065 01-Feb-12 SK Creating update string for zzeipotwhse (warehouse) table.
553 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@lcSqlUpdate_zzeipotwhse,this.cZzeipotWhse,"zzeipotwhse")
554 *=== TR 1059065 01-Feb-12 SK
555
556 *- insert - address, comment, notes
557 LOCAL lcSqlInsert_zzeipota, lcSqlInsert_zzeipotc,lcSqlInsert_zzeipoth_nt,lcSqlInsert_zzeipotd_nt
558 llRetVal = llRetVal and this.oCopyUtil.GetInsertSQL(@lcSqlInsert_zzeipota,this.cZzeipota,"zzeipota")
559 llRetVal = llRetVal and this.oCopyUtil.GetInsertSQL(@lcSqlInsert_zzeipotc,this.cZzeipotc,"zzeipotc")
560 llRetVal = llRetVal and this.oCopyUtil.GetInsertSQL(@lcSqlInsert_zzeipoth_nt,this.cZzeipoth_nt,"sysnotes")
561 llRetVal = llRetVal and this.oCopyUtil.GetInsertSQL(@lcSqlInsert_zzeipotd_nt,this.cZzeipotd_nt,"sysnotes")
562* llRetVal = llRetVal and this.oCopyUtil.GetInsertSQL(@lcSql_insert_zzeipotr,this.cZzeipotr,"zzeipotr")
563 llRetVal = llRetVal and this.oCopyUtil.GetInsertSQL(@lcSQL_insert_zzeipots,this.cZzeipotS,"zzeipots")
564
565 *--- TechRec 1054619 09-Jun-2011 MANI. ---
566 llRetVal = llRetVal and this.oCopyUtil.GetInsertSQL(@lcSqlInsert_zzeipoWhse,this.cZzeipotWhse,"zzeipotwhse")
567 *=== TechRec 1054619 09-Jun-2011 MANI. ===
568
569 LOCAL lcSqlDelete_zzeipota, lcSqlDelete_zzeipotc,lcSqlDelete_zzeipoth_nt,lcSqlDelete_zzeipotd_nt
570 llRetVal = llRetVal and this.GetDeleteSQL_TransAddr(@lcSqlDelete_zzeipota)
571 llRetVal = llRetVal and this.GetDeleteSQL_TransCmt(@lcSqlDelete_zzeipotc)
572 llRetVal = llRetVal and this.GetDeleteSQL_TransHdrNotes(@lcSqlDelete_zzeipoth_nt)
573 llRetVal = llRetVal and this.GetDeleteSQL_TransDtlNotes(@lcSqlDelete_zzeipotd_nt)
574 llRetVal = llRetVal and this.GetDeleteSQL_TransSLN(@lcSQL_delete_zzeipots)
575 *--- TechRec 1056973 18-Nov-2011 jisingh ---
576 llRetVal = llRetVal and this.GetDeleteSQL_TransEDIS(@lcSqlDelete_zzeipoWhse)
577 *=== TechRec 1056973 18-Nov-2011 jisingh ===
578
579 Local llBeganTransaction,lnTranErrCount,lcTranFailedMsg
580 llBeganTransaction = This.BeginTransaction()
581 lnTranErrCount = 0
582 lcTranFailedMsg = ""
583
584
585 If llBeganTransaction And llRetVal
586 &&*--- TR 1044017 07-JAN-2010 HNISAR && REplace 850 WITH " + This.oHostProcess.cProcessNo + " in All the statements below
587 this.SqlExecInTran(lcSql_update, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Update " + This.oHostProcess.cProcessNo + " transaction header failed.")
588 this.SqlExecInTran(lcSql_dtl_update, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Update " + This.oHostProcess.cProcessNo + " transaction detail failed.")
589
590 this.SqlExecInTran(lcSqlUpdate_zzeipota, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Update " + This.oHostProcess.cProcessNo + " transaction address failed.")
591 this.SqlExecInTran(lcSqlUpdate_zzeipotc, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Update " + This.oHostProcess.cProcessNo + " transaction comment failed.")
592 this.SqlExecInTran(lcSqlUpdate_zzeipoth_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Update " + This.oHostProcess.cProcessNo + " transaction header notes failed.")
593 this.SqlExecInTran(lcSqlUpdate_zzeipotd_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Update " + This.oHostProcess.cProcessNo + " transaction detail notes failed.")
594 this.SqlExecInTran(lcSql_update_zzeipotr, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Update " + This.oHostProcess.cProcessNo + " transaction detail charges failed.")
595 this.SqlExecInTran(lcSql_update_zzeipotsac, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Update " + This.oHostProcess.cProcessNo + " transaction multi discount failed.")
596 this.SqlExecInTran(lcSQL_update_zzeipots, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Update " + This.oHostProcess.cProcessNo + " transaction sln failed.")
597
598 *--- TR 1059065 01-Feb-12 SK Executing update string for warehouse table
599 this.SqlExecInTran(lcSqlUpdate_zzeipotwhse, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Update " + This.oHostProcess.cProcessNo + " transaction address failed.")
600 *=== TR 1059065 01-Feb-12 SK
601
602 this.SqlExecInTran(lcSql_delete, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete " + This.oHostProcess.cProcessNo + " transaction header failed.")
603 this.SqlExecInTran(lcSql_Dtl_delete, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete " + This.oHostProcess.cProcessNo + " transaction detail failed.")
604
605 this.SqlExecInTran(lcSqlDelete_zzeipota, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete " + This.oHostProcess.cProcessNo + " transaction address failed.")
606 this.SqlExecInTran(lcSqlDelete_zzeipotc, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete " + This.oHostProcess.cProcessNo + " transaction comment failed.")
607 this.SqlExecInTran(lcSqlDelete_zzeipoth_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete " + This.oHostProcess.cProcessNo + " transaction header notes failed.")
608 this.SqlExecInTran(lcSqlDelete_zzeipotd_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete " + This.oHostProcess.cProcessNo + " transaction detail notes failed.")
609 this.SqlExecInTran(lcSql_delete_zzeipotr, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete " + This.oHostProcess.cProcessNo + " transaction detail charges failed.")
610
611 *--- TechRec 1056973 18-Nov-2011 jisingh ---
612 this.SqlExecInTran(lcSqlDelete_zzeipoWhse, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete " + This.oHostProcess.cProcessNo + " transaction edis failed.")
613 *=== TechRec 1056973 18-Nov-2011 jisingh ===
614
615 this.SqlExecInTran(lcSQL_delete_zzeipots, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete " + This.oHostProcess.cProcessNo + " transaction sln failed.")
616
617 *--- multi discount
618 this.SqlExecInTran(lcSql_delete_zzeipotsac, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete " + This.oHostProcess.cProcessNo + " transaction multi discount failed.")
619
620 this.SqlExecInTran(lcSql_insert, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert " + This.oHostProcess.cProcessNo + " transaction header failed.")
621 this.SqlExecInTran(lcSql_Dtl_insert, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert " + This.oHostProcess.cProcessNo + " transaction detail failed.")
622
623 this.SqlExecInTran(lcSqlInsert_zzeipota, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert " + This.oHostProcess.cProcessNo + " transaction address failed.")
624 this.SqlExecInTran(lcSqlInsert_zzeipotc, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert " + This.oHostProcess.cProcessNo + " transaction comment failed.")
625 this.SqlExecInTran(lcSqlInsert_zzeipoth_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert " + This.oHostProcess.cProcessNo + " transaction header notes failed.")
626 this.SqlExecInTran(lcSqlInsert_zzeipotd_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert " + This.oHostProcess.cProcessNo + " transaction detail notes failed.")
627 this.SqlExecInTran(lcSql_insert_zzeipotr, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert " + This.oHostProcess.cProcessNo + " transaction detail charges failed.")
628 this.SqlExecInTran(lcSql_insert_zzeipotsac, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert " + This.oHostProcess.cProcessNo + " transaction multi discount failed.")
629 this.SqlExecInTran(lcSql_insert_zzeipots, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert " + This.oHostProcess.cProcessNo + " transaction sln failed.")
630
631 *--- TR 1059065 01-Feb-12 SK Executing Insert string for warehouse table
632 this.SqlExecInTran(lcSqlInsert_zzeipoWhse, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert " + This.oHostProcess.cProcessNo + " transaction warehouse failed.")
633 *=== TR 1059065 01-Feb-12 SK
634
635 If llRetVal
636 This.EndTransaction()
637 This.LogEntry(" " + This.oHostProcess.cProcessNo + " Transaction successful.")
638 *--- increase toProcess vaulue for new transaction records.
639 Else
640 This.RollbackTransaction()
641 This.LogEntry("---------------------------------------------")
642 This.LogEntry(lcTranFailedMsg)
643 This.LogEntry(" " + This.oHostProcess.cProcessNo + " Transaction rolled back.")
644 This.LogEntry("=============================================")
645 Endif
646 Else
647 If llRetVal && and not llBeganTransaction
648 *--- LogEntry : unable to open Transaction
649 This.LogEntry("Fatal error : Fail to open transaction.")
650 Endif
651 Endif
652
653 RETURN llRetVal
654
655 ENDPROC
656
657 *--------------------------------------------------------------------------
658
659 PROCEDURE GetDeleteSQL_TransAddr
660 LPARAMETERS pcSql
661
662 LOCAL llRetVal, lcSQL, lcFilter
663
664
665 llRetVal = .t.
666 IF EMPTY(this.cFilterCriteria)
667 lcFilter = "Where "
668 ELSE
669 lcFilter = IIF(AT("WHERE", UPPER(this.cFilterCriteria)) > 0, "","Where") + this.cFilterCriteria + " and "
670 ENDIF
671 lcSQL = "delete d from zzeipota d inner join zzeipoth h on h.pkey = d.fkey " + lcFilter + ;
672 " not exists ( select td.pkey from " + this.cZzeipota + " td where td.pkey = d.pkey )"
673 pcSql = lcSql
674 RETURN llRetVal
675
676 ENDPROC
677
678 *-------------------------------------------------------------------------
679
680 PROCEDURE GetDeleteSQL_TransSLN
681 LPARAMETERS pcSQL
682
683
684 LOCAL llRetVal, lcSQL, lcFilter
685
686
687 llRetVal = .t.
688 IF EMPTY(this.cFilterCriteria)
689 lcFilter = "Where "
690 ELSE
691 lcFilter = IIF(AT("WHERE", UPPER(this.cFilterCriteria)) > 0, "","Where") + this.cFilterCriteria + " and "
692 ENDIF
693 lcSQL = "delete d from zzeipots s inner join zzeipotd d on d.pkey = s.fkey join zzeipoth h on d.fkey = h.pkey " + lcFilter + ;
694 " not exists ( select * from " + this.cZzeipots + " td where td.pkey = s.pkey )"
695 pcSql = lcSql
696 RETURN llRetVal
697
698 ENDPROC
699
700 *--- TechRec 1056973 18-Nov-2011 jisingh ---
701 *-------------------------------------------------------------------------
702
703 PROCEDURE GetDeleteSQL_TransEDIS
704 LPARAMETERS pcSQL
705
706
707 LOCAL llRetVal, lcSQL, lcFilter
708
709
710 llRetVal = .t.
711 IF EMPTY(this.cFilterCriteria)
712 lcFilter = "Where "
713 ELSE
714 lcFilter = IIF(AT("WHERE", UPPER(this.cFilterCriteria)) > 0, "","Where") + this.cFilterCriteria + " and "
715 ENDIF
716
717 *--- TR 1059065 01-Feb-12 SK deleting only EDIS records by filtering sfkey > 0
718*!* lcSQL = "delete w from zzeipotwhse w join zzeipoth h on w.hfkey = h.pkey " + lcFilter + ;
719*!* " not exists ( select * from " + this.cZzeipots + " td where td.pkey = w.sfkey ) " + ;
720*!* " and h.errs_flg_h <> 'Y' and (h.warn_flg_h <> 'Y' " + ;
721*!* " or (h.warn_flg_h = 'Y' and h.ignore_warn = 'Y'))"
722
723 lcSQL = "delete w from zzeipotwhse w join zzeipoth h on w.hfkey = h.pkey " + lcFilter + ;
724 " w.sfkey > 0 and not exists ( select * from " + this.cZzeipots + " td where td.pkey = w.sfkey ) " + ;
725 " and h.errs_flg_h <> 'Y' and (h.warn_flg_h <> 'Y' " + ;
726 " or (h.warn_flg_h = 'Y' and h.ignore_warn = 'Y'))"
727 *--- TR 1059065 01-Feb-12 SK
728
729 pcSql = lcSql
730 RETURN llRetVal
731
732 ENDPROC
733 *=== TechRec 1056973 18-Nov-2011 jisingh ===
734
735 *--------------------------------------------------------------------------
736
737 PROCEDURE GetDeleteSQL_TransCmt
738 LPARAMETERS pcSql
739
740 LOCAL llRetVal, lcSQL, lcFilter
741
742
743 llRetVal = .t.
744 IF EMPTY(this.cFilterCriteria)
745 lcFilter = "Where "
746 ELSE
747 lcFilter = IIF(AT("WHERE", UPPER(this.cFilterCriteria)) > 0, "","Where") + this.cFilterCriteria + " and "
748 ENDIF
749 lcSQL = "delete d from zzeipotc d inner join zzeipoth h on h.pkey = d.fkey " + lcFilter + ;
750 " not exists ( select td.pkey from " + this.cZzeipotc + " td where td.pkey = d.pkey )"
751 pcSql = lcSql
752 RETURN llRetVal
753
754 ENDPROC
755
756 *--------------------------------------------------------------------------
757
758*--- TR 1052729 / 1044208 10-Mar-11 SK Procedure was missedout when retrofits the TR 1044208
759 PROCEDURE GetDeleteSQL_TransCharges
760 LPARAMETERS pcSQL
761
762 LOCAL llRetVal, lcSQL, lcFilter
763
764 llRetVal = .t.
765 IF EMPTY(this.cFilterCriteria)
766 lcFilter = "Where "
767 ELSE
768 lcFilter = IIF(AT("WHERE", UPPER(this.cFilterCriteria)) > 0, "","Where") + this.cFilterCriteria + " and "
769 ENDIF
770 lcSQL = "delete s from zzeipotr s inner join zzeipotd d on d.pkey = s.fkey join zzeipoth h on d.fkey = h.pkey " + lcFilter + ;
771 " not exists ( select * from " + this.cZzeipotr + " td where td.pkey = s.pkey )"
772 pcSql = lcSql
773 RETURN llRetVal
774
775 ENDPROC
776
777 *--------------------------------------------------------------------------
778*=== TR 1052729 / 1044208 10-Mar-11 SK
779
780 PROCEDURE GetDeleteSQL_TransHdrNotes
781 LPARAMETERS pcSql, plExists
782
783 LOCAL llRetVal, lcSQL, lcFilter
784
785
786 llRetVal = .t.
787 IF EMPTY(this.cFilterCriteria)
788 lcFilter = "Where "
789 ELSE
790 lcFilter = IIF(AT("WHERE", UPPER(this.cFilterCriteria)) > 0, "","Where") + this.cFilterCriteria + " and "
791 ENDIF
792
793 IF plExists
794 lcSQL = "delete d from sysnotes d inner join " + this.cZzeipoTh_nt + " h on h.pkey = d.pkey and d.table_name = 'ZZEIPOTH' "
795 ELSE
796 *--- need to join with original transaction header to apply filter
797 lcSQL = "delete d from sysnotes d inner join zzeipoth h on h.pkey = d.fkey and d.table_name = 'ZZEIPOTH' " +;
798 lcFilter + " not exists ( select td.pkey from " + this.cZzeipoTh_nt + " td where td.pkey = d.pkey )"
799 ENDIF
800 pcSql = lcSql
801 RETURN llRetVal
802
803 ENDPROC
804
805 *--------------------------------------------------------------------------
806
807 PROCEDURE GetDeleteSQL_TransDtlNotes
808 LPARAMETERS pcSql, plExists
809
810 LOCAL llRetVal, lcSQL, lcFilter
811
812 llRetVal = .t.
813 IF EMPTY(this.cFilterCriteria)
814 lcFilter = "Where "
815 ELSE
816 lcFilter = IIF(AT("WHERE", UPPER(this.cFilterCriteria)) > 0, "","Where") + this.cFilterCriteria + " and "
817 ENDIF
818
819 IF plExists
820 lcSQL = " delete n from sysnotes n inner join " + this.cZzeipoTd_nt + " td on td.pkey = n.pkey and n.table_name = 'ZZEIPOTD' "
821 ELSE
822 lcSQL = " delete n from sysnotes n inner join zzeipotd td on td.pkey = n.fkey and n.table_name = 'ZZEIPOTD' " + ;
823 " inner join zzeipoth h on h.pkey = td.fkey " +;
824 lcFilter + " not exists ( select td.pkey from " + this.cZzeipoTd_nt + " tn where tn.pkey = n.pkey )"
825 ENDIF
826 pcSql = lcSql
827 RETURN llRetVal
828
829 ENDPROC
830
831 *--------------------------------------------------------------------------
832
833 PROCEDURE GetDeleteSql_TransDtl
834 LPARAMETERS pcSql
835
836 LOCAL llRetVal, lcSQL, lcFilter
837
838
839 llRetVal = .t.
840 IF EMPTY(this.cFilterCriteria)
841 lcFilter = "Where "
842 ELSE
843 lcFilter = IIF(AT("WHERE", UPPER(this.cFilterCriteria)) > 0, "","Where") + this.cFilterCriteria + " and "
844 ENDIF
845 lcSQL = "delete d from zzeipotd d inner join zzeipoth h on h.pkey = d.fkey " + lcFilter + ;
846 " not exists ( select * from " + this.cZzeipotd + " td where td.pkey = d.pkey )"
847 pcSql = lcSql
848 RETURN llRetVal
849
850 ENDPROC
851
852 *--------------------------------------------------------------------------
853
854 PROCEDURE DeleteErrorRecordsFromTransWorkTables
855
856 LOCAL llRetVal, lcSql
857 llRetVal = .t.
858
859*!* *--- 1010206 12/05/2005 Ilya: Add check for the warning flags
860*!* Select customer, division, po_num, pkey From (pceipoTH) ;
861*!* WHERE Errs_flg_h= "N" And (warn_flg_h <> 'Y' Or ignore_warn = 'Y') ;
862*!* ORDER By customer, division, po_num ;
863*!* INTO Cursor tcOrdList
864
865 *--- detail notes
866 this.LogEntry("Delete Error Records from Trans started...")
867 *--- TechRec 1055684 27-Jul-2011 jjanand === Changed h.ignore_warn = 'Y' to h.ignore_warn = 'N'
868 lcSql = "delete dnt from " + this.cZzeipotd_nt + " dnt inner join " + this.cZzeipoTd + " d " + ;
869 " on d.pkey = dnt.fkey inner join " + this.cZzeipoTh + " h on h.pkey = d.fkey " + ;
870 " where (h.Errs_flg_h = 'Y' or (h.warn_flg_h = 'Y' and h.ignore_warn = 'N'))"
871 llRetVal = llRetVal and v_sqlexec(lcSql)
872 this.LogEntry("delete detail notes " + IIF(llRetVal, "completed.","failed."))
873
874 *--- SLN
875 *--- TechRec 1055684 27-Jul-2011 jjanand === Changed h.ignore_warn = 'Y' to h.ignore_warn = 'N'
876 lcSql = "delete s from " + this.cZzeipots + " s inner join " + this.cZzeipotd + " d on d.pkey = s.fkey " + ;
877 " inner join " + this.cZzeipoth + " h ON h.pkey = d.fkey " + ;
878 " where (h.Errs_flg_h= 'Y' or (h.warn_flg_h = 'Y' and h.ignore_warn = 'N'))"
879 llRetVal = llRetVal and v_sqlexec(lcSql)
880 this.LogEntry("delete sln " + IIF(llRetVal, "completed.","failed."))
881
882
883 *--- detail
884 *--- TechRec 1055684 27-Jul-2011 jjanand === Changed h.ignore_warn = 'Y' to h.ignore_warn = 'N'
885 lcSql = "delete d from " + this.cZzeipoTh + " h inner join " + this.cZzeipoTd + " d " + ;
886 " on h.pkey = d.fkey WHERE (h.Errs_flg_h= 'Y' or (h.warn_flg_h = 'Y' and h.ignore_warn = 'N'))"
887 llRetVal = llRetVal and v_sqlexec(lcSql)
888 this.LogEntry("delete details " + IIF(llRetVal, "completed.","failed."))
889
890 *--- address
891 *--- TechRec 1055684 27-Jul-2011 jjanand === Changed h.ignore_warn = 'Y' to h.ignore_warn = 'N'
892 lcSql = "delete d from " + this.cZzeipoTh + " h inner join " + this.cZzeipoTa + " d " + ;
893 " on h.pkey = d.fkey WHERE (h.Errs_flg_h= 'Y' or (h.warn_flg_h = 'Y' and h.ignore_warn = 'N'))"
894 llRetVal = llRetVal and v_sqlexec(lcSql)
895 this.LogEntry("delete address " + IIF(llRetVal, "completed.","failed."))
896
897 *--- comment
898 *--- TechRec 1055684 27-Jul-2011 jjanand === Changed h.ignore_warn = 'Y' to h.ignore_warn = 'N'
899 lcSql = "delete d from " + this.cZzeipoTh + " h inner join " + this.cZzeipoTc + " d " + ;
900 " on h.pkey = d.fkey WHERE (h.Errs_flg_h= 'Y' or (h.warn_flg_h = 'Y' and h.ignore_warn = 'N'))"
901 llRetVal = llRetVal and v_sqlexec(lcSql)
902 this.LogEntry("delete comments " + IIF(llRetVal, "completed.","failed."))
903
904 *--- header notes
905 *--- TechRec 1055684 27-Jul-2011 jjanand === Changed h.ignore_warn = 'Y' to h.ignore_warn = 'N'
906 lcSql = "delete d from " + this.cZzeipoTh + " h inner join " + this.cZzeipoTh_nt + " d " + ;
907 " on h.pkey = d.fkey WHERE (h.Errs_flg_h= 'Y' or (h.warn_flg_h = 'Y' and h.ignore_warn = 'N'))"
908 llRetVal = llRetVal and v_sqlexec(lcSql)
909 this.LogEntry("delete header notes " + IIF(llRetVal, "completed.","failed."))
910
911 *--- TR 1059065 23-Jan-12 SK Deleting warning records only h.ignore_warn = 'N' instead of h.ignore_warn = 'Y'
912 *--- TechRec 1054619 10-Jun-2011 MANI. ---
913 *- TR 1061758 FH - removed join on doc_num, and replace with h.pkey, wh.hfkey
914 *-- Remove error record from ware house transaction table.
915 lcSql = "delete wh from " + this.cZzeipoTh + " h inner join " + this.czzeipotwhse + " wh " + ;
916 " on h.pkey = wh.hfkey WHERE (h.Errs_flg_h= 'Y' or (h.warn_flg_h = 'Y' and h.ignore_warn = 'N'))"
917 llRetVal = llRetVal and v_sqlexec(lcSql)
918 this.LogEntry("delete Ware house record" + IIF(llRetVal, "completed.","failed."))
919 *=== TechRec 1054619 10-Jun-2011 MANI. ===
920 *=== TR 1059065 23-Jan-12 SK
921
922 *--- multi discount
923 *--- TechRec 1055684 27-Jul-2011 jjanand === Changed h.ignore_warn = 'Y' to h.ignore_warn = 'N'
924 lcSql = "delete d from " + this.cZzeipotsac + " d inner join " + this.cZzeipoth + " h on h.pkey = d.hfkey " + ;
925 " where (h.Errs_flg_h= 'Y' or (h.warn_flg_h = 'Y' and h.ignore_warn = 'N'))"
926 llRetVal = llRetVal and v_sqlexec(lcSql)
927 this.LogEntry("delete multi notes " + IIF(llRetVal, "completed.","failed."))
928
929 *--- TechRec 1055684 27-Jul-2011 jjanand === Changed h.ignore_warn = 'Y' to h.ignore_warn = 'N'
930 lcSql = "delete h from " + this.cZzeipoTh + " h WHERE (Errs_flg_h = 'Y' or (warn_flg_h = 'Y' and ignore_warn = 'N'))"
931 llRetVal = llRetVal and v_sqlexec(lcSql)
932 this.LogEntry("delete header " + IIF(llRetVal, "completed.","failed."))
933
934
935 *--- extender - zzzUdfDt
936
937
938 RETURN llRetVal
939 ENDPROC
940
941 *--------------------------------------------------------------------------
942
943 PROCEDURE PopulateOrderWorkTables
944 LOCAL llRetVal
945
946 WITH this
947 llRetVal = .t.
948 llRetVal = llRetVal and .PopulateOrderWorkHeader()
949 llRetVal = llRetVal and .PopulateOrderWorkDetail()
950 llRetVal = llRetVal and .PopulateOrderWorkAddress()
951 llRetVal = llRetVal and .PopulateOrderWorkComment()
952 llRetVal = llRetVal and .PopulateOrderHeaderWorkNotes()
953 llRetVal = llRetVal and .PopulateOrderDtlWorkNotes()
954 llRetVal = llRetVal and .PopulateOrderExtender()
955 llRetVal = llRetVal and .PopulateOrderCharges()
956 llRetVal = llRetVal and .PopulateOrderDiscount()
957 *--- TR 1053708 19-05-2011 RKI ---*
958 *--- TR 1056306 09-13-2011 RKI ---*
959 *Commented here. Because at this stage div_rate is not updated in order header.
960*!* llRetVal = llRetVal and setbased_calculateweightedprodcostorstd(.czzoordrd)
961 *=== TR 1056306 09-13-2011 RKI ===*
962 *=== TR 1053708 19-05-2011 RKI ===*
963
964 ENDWITH
965 RETURN llRetVal
966 ENDPROC
967
968 *--------------------------------------------------------------------------
969
970 PROCEDURE PopulateOrderExtender
971
972 LOCAL llRetVal, lcSql
973 llRetVal = .t.
974
975 *--- this.cZzeipotd.zzoordrd_pkey still have transaction detail pkey - but
976 *--- repeated with same pkey for sizebuckets rows those are suppose to be rollup for order detail
977 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,this.cZzeipoTDExt, this.cZzoordrdExt,,,,.t.,"dex")
978 lcSql = lcSql + " where exists ( " + ;
979 " select d.zzeipotd_pkey from " + this.cZzoordrd + " d " + ;
980 " where d.zzeipotd_pkey = dex.oldDtlFkey )"
981 llRetVal = llRetVal and v_sqlexec(lcSql)
982
983 RETURN llRetVal
984
985 ENDPROC
986
987 *--------------------------------------------------------------------------
988
989 PROCEDURE PopulateOrderCharges
990
991 LOCAL llRetVal, lcSql
992 llRetVal = .t.
993
994 *--- this.cZzeipotd.zzoordrd_pkey still have transaction detail pkey - but
995 *--- repeated with same pkey for sizebuckets rows those are suppose to be rollup for order detail
996 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,this.cZzeipoTR, this.cZzoordrd_chrg,,,,.t.,"ch")
997 lcSql = lcSql + " where exists ( " + ;
998 " select d.zzeipotd_pkey from " + this.cZzoordrd + " d " + ;
999 " where d.zzeipotd_pkey = ch.fkey )"
1000
1001 llRetVal = llRetVal and v_sqlexec(lcSql)
1002
1003 RETURN llRetVal
1004
1005 ENDPROC
1006
1007 *--------------------------------------------------------------------------
1008
1009 PROCEDURE PopulateOrderDiscount
1010
1011 LOCAL llRetVal, lcSql, lcSql_d
1012 llRetVal = .t.
1013 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,this.cZzeiPOtsac, this.cZzoordsac,,,,.t.,"md")
1014
1015 *--- get header multi discount
1016 lcSql_h = lcSql + " where exists ( " + ;
1017 " select h.zzeipoth_pkey from " + this.cZzoordrh + " h " + ;
1018 " where h.zzeipoth_pkey = md.hfkey ) and md.line_seq = 0 "
1019 llRetVal = llRetVal and v_sqlexec(lcSql_h)
1020
1021 *--- get detail multi discount
1022 lcSql_d = lcSql + " where exists ( " + ;
1023 " select d.zzeipotd_pkey from " + this.cZzoordrd + " d " + ;
1024 " where d.zzeipotd_pkey = md.dfkey ) and md.line_seq > 0 "
1025 llRetVal = llRetVal and v_sqlexec(lcSql_d)
1026
1027 RETURN llRetVal
1028
1029 ENDPROC
1030
1031 *--------------------------------------------------------------------------
1032
1033 PROCEDURE PopulateOrderWorkHeader
1034
1035 LOCAL llRetVal, lcSql
1036 llRetVal = .t.
1037
1038 WITH this
1039 llRetVal = llRetVal and this.oCopyUtil.GetInsertSQL(@lcSQL,.cZzeipoTH,.cZzoordrh,"'zzeipoth_pkey'","zzeipoth_pkey","h.pkey")
1040 llRetVal = llRetVal and v_sqlexec(lcSQL)
1041 ENDWITH
1042
1043 RETURN llRetVal
1044
1045 ENDPROC
1046
1047 *--------------------------------------------------------------------------
1048
1049 PROCEDURE CreateOrderWorkTables
1050
1051 LOCAL llRetVal, lcSql
1052 llRetVal = .t.
1053
1054 WITH this
1055
1056 LOCAL lcUnique
1057 lcUnique = SYS(2015)
1058 *--- SO order work tables
1059 .cZzoordrh = "#zzoordrh" + lcUnique
1060 *--- create link field between order hearder and transaction header
1061 lcSql = "select *, pkey as zzeipoth_pkey into " + .cZzoordrh + " from zzoordrh where 1=2"
1062 llRetVal = llRetVal and v_sqlexec(lcSql)
1063 llRetVal = llRetVal and this.AddToOrdTbls(.cZzoordrh)
1064
1065 lcSql = "Create Index pkey on " + .cZzoordrh+ " (pkey ) "
1066 llRetVal = llRetVal and v_sqlexec(lcSql)
1067
1068 lcSql = "Create Index zzeipoth_pkey on " + .cZzoordrh+ " (zzeipoth_pkey ) "
1069 llRetVal = llRetVal and v_sqlexec(lcSql)
1070
1071
1072 *--- order detail
1073 .cZzoordrd = "#zzoordrd" + lcUnique
1074 lcSql = "select *, pkey as zzeipotd_pkey into " + .cZzoordrd + " from zzoordrd where 1=2"
1075 llRetVal = llRetVal and v_sqlexec(lcSql)
1076 llRetVal = llRetVal and this.AddToOrdTbls(.cZzoordrd)
1077
1078 lcSql = "Create Index pkey on " + .cZzoordrd + " (pkey) "
1079 llRetVal = llRetVal and v_sqlexec(lcSql)
1080
1081 lcSql = "Create Index fkey on " + .cZzoordrd + " (fkey) "
1082 llRetVal = llRetVal and v_sqlexec(lcSql)
1083
1084 lcSql = "Create Index man_bulk_seq on " + .cZzoordrd + " (man_bulk,bulk_seq ) "
1085 llRetVal = llRetVal and v_sqlexec(lcSql)
1086
1087 .cZzoordsp = "#zzoordsp" + lcUnique
1088 lcSql = "select * into " + .cZzoordsp + " from zzoordsp where 1=2"
1089 llRetVal = llRetVal and v_sqlexec(lcSql)
1090 llRetVal = llRetVal and this.AddToOrdTbls(.cZzoordsp)
1091
1092 *--- One time addresses
1093 .cZzoordad = "#zzoordad" + lcUnique
1094 lcSql = "select * into " + .cZzoordad + " from zzoordad where 1=2"
1095 llRetVal = llRetVal and v_sqlexec(lcSql)
1096 llRetVal = llRetVal and this.AddToOrdTbls(.cZzoordad)
1097
1098 .cZzootadr = "#zzootadr" + lcUnique
1099 lcSql = "select * into " + .cZzootadr + " from zzootadr where 1=2"
1100 llRetVal = llRetVal and v_sqlexec(lcSql)
1101 llRetVal = llRetVal and this.AddToOrdTbls(.cZzootadr)
1102
1103 .cZzoordcd = "#zzoordcd" + lcUnique
1104 lcSql = "select * into " + .cZzoordcd + " from zzoordcd where 1=2"
1105 llRetVal = llRetVal and v_sqlexec(lcSql)
1106 llRetVal = llRetVal and this.AddToOrdTbls(.cZzoordcd)
1107
1108 *--- Notes
1109 .cZzoordrh_nt = "#zzoordrh_nt" + lcUnique
1110 lcSql = "select * into " + .cZzoordrh_nt + " from sysnotes where 1=2"
1111 llRetVal = llRetVal and v_sqlexec(lcSql)
1112 llRetVal = llRetVal and this.AddToOrdTbls(.cZzoordrh_nt)
1113
1114 .cZzoordrd_nt = "#zzoordrd_nt" + lcUnique
1115 lcSql = "select * into " + .cZzoordrd_nt + " from sysnotes where 1=2"
1116 llRetVal = llRetVal and v_sqlexec(lcSql)
1117 llRetVal = llRetVal and this.AddToOrdTbls(.cZzoordrd_nt)
1118
1119 *--- Extender object
1120
1121 *--- trans extender table
1122 .cZzoordrdExt = "#zzzUdfDt_ordrd" + lcUnique
1123 lcSql = "select * into " + .cZzoordrdExt + " from " + .cZzeipoTDExt + " where 1=2"
1124 llRetVal = llRetVal and v_sqlexec(lcSql)
1125 llRetVal = llRetVal and this.AddToOrdTbls(.cZzoordrdExt)
1126
1127 *--- charges
1128 .cZzoordrd_chrg = "#zzxChrDS_ordrd" + lcUnique
1129 lcSql = "select * into " + .cZzoordrd_chrg + " from zzxchrds where 1=2"
1130 llRetVal = llRetVal and v_sqlexec(lcSql)
1131
1132 llRetVal = llRetVal AND v_sqlexec("ALTER TABLE " + .cZzoordrd_chrg + " DROP COLUMN pkey ")
1133 llRetVal = llRetVal AND v_sqlexec("ALTER TABLE " + .cZzoordrd_chrg + " ADD pkey INT ")
1134
1135 llRetVal = llRetVal and this.AddToOrdTbls(.cZzoordrd_chrg)
1136
1137 *--- multi discount (orig TR 1018184)
1138 .cZzoordsac = "#Zzoordsac" + lcUnique
1139 lcSql = "select *, pkey as hfkey, pkey as dfkey into " + .cZzoordsac + " from zzoordsac where 1=2"
1140 llRetVal = llRetVal and v_sqlexec(lcSql)
1141 llRetVal = llRetVal and this.AddToOrdTbls(.cZzoordsac)
1142
1143 *--- Transaction history tables
1144 .cZzeipoHH = "#zzeipohh" + lcUnique
1145 lcSql = "select * into " + .cZzeipoHH + " from zzeipohh where 1=2"
1146 llRetVal = llRetVal and v_sqlexec(lcSql)
1147 llRetVal = llRetVal and this.AddToOrdTbls(.cZzeipoHH)
1148
1149 .cZzeipoHD = "#zzeipohd" + lcUnique
1150 lcSql = "select * into " + .cZzeipoHD + " from zzeipohd where 1=2"
1151 llRetVal = llRetVal and v_sqlexec(lcSql)
1152 llRetVal = llRetVal and this.AddToOrdTbls(.cZzeipoHD)
1153
1154 .cZzeipoHC = "#zzeipohc" + lcUnique
1155 lcSql = "select * into " + .cZzeipoHC + " from zzeipohc where 1=2"
1156 llRetVal = llRetVal and v_sqlexec(lcSql)
1157 llRetVal = llRetVal and this.AddToOrdTbls(.cZzeipoHC)
1158
1159 .cZzeipoHA = "#zzeipoha" + lcUnique
1160 lcSql = "select * into " + .cZzeipoHA + " from zzeipoha where 1=2"
1161 llRetVal = llRetVal and v_sqlexec(lcSql)
1162 llRetVal = llRetVal and this.AddToOrdTbls(.cZzeipoHA)
1163
1164 .cZzeipoHH_nt = "#zzeipohh_nt" + lcUnique
1165 lcSql = "select * into " + .cZzeipoHH_nt + " from sysnotes where 1=2"
1166 llRetVal = llRetVal and v_sqlexec(lcSql)
1167 llRetVal = llRetVal and this.AddToOrdTbls(.cZzeipoHH_nt)
1168
1169 .cZzeipoHD_nt = "#zzeipohd_nt" + lcUnique
1170 lcSql = "select * into " + .cZzeipoHD_nt + " from sysnotes where 1=2"
1171 llRetVal = llRetVal and v_sqlexec(lcSql)
1172 llRetVal = llRetVal and this.AddToOrdTbls(.cZzeipoHD_nt)
1173
1174 .cZzeipoHS = "#zzeipots" + lcUnique
1175 lcSql = "select * into " + .cZzeipoHS + " from zzeipohs where 1=2"
1176 llRetVal = llRetVal and v_sqlexec(lcSql)
1177 llRetVal = llRetVal and this.AddToOrdTbls(.cZzeipoHS)
1178
1179 *--- TechRec 1054619 09-Jun-2011 MANI. ---
1180 *--- EDID/EIDH Records czzedatawhse
1181 .czzedatawhse = "#zzedatawhse" + lcUnique
1182 lcSql = "select * into " + .czzedatawhse + " from zzedatawhse where 1=2"
1183 llRetVal = llRetVal and v_sqlexec(lcSql)
1184 llRetVal = llRetVal and this.AddToOrdTbls(.czzedatawhse)
1185 *=== TechRec 1054619 09-Jun-2011 MANI. ===
1186
1187
1188 ENDWITH
1189 RETURN llRetVal
1190 ENDPROC
1191
1192 *--------------------------------------------------------------------------
1193
1194 PROCEDURE AddToOrdTbls
1195 LPARAMETERS pcTblName
1196
1197 WITH this
1198 .nOrdTbls = .nOrdTbls + 1
1199 DIMENSION .aOrdTbls[.nOrdTbls]
1200 .aOrdTbls[.nOrdTbls]= pcTblName
1201
1202 .RegisterTable(pcTblName)
1203
1204 ENDWITH
1205 RETURN .t.
1206 ENDPROC
1207
1208 *--------------------------------------------------------------------------
1209
1210 PROCEDURE PopuldateTransHistoryWorkTables
1211
1212 LOCAL llRetVal
1213 llRetVal = .t.
1214 WITH this
1215
1216 llRetVal = llRetVal and this.PopulateTransHdrHistory()
1217 llRetVal = llRetVal and this.PopulateTransDtlHistory()
1218 llRetVal = llRetVal AND this.PopulateTransSLNHistory()
1219 llRetVal = llRetVal and this.PopulateTransAddressHistory()
1220 llRetVal = llRetVal and this.PopulateTransCommentHistory()
1221 llRetVal = llRetVal and this.PopulateTransHdrNotesHistory()
1222 llRetVal = llRetVal and this.PopulateTransDtlNotesHistory()
1223 *--- update pkey
1224 llRetVal = llRetVal and this.SetPkey_TransHistory()
1225 ENDWITH
1226
1227 RETURN llRetVal
1228
1229 ENDPROC
1230
1231 *--------------------------------------------------------------------------
1232
1233 PROCEDURE PopulateTransHdrHistory
1234
1235 LOCAL llRetVal, lcSql
1236 LOCAL lcFlds, lcValues,lcExcludeFlds,lcCalFlds,lcCalFldsValues
1237 llRetVal = .t.
1238 WITH this
1239 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeipoTH,.cZzeipoHH,,,,.t.)
1240 llRetVal = llRetVal and v_sqlexec(lcSQL)
1241 ENDWITH
1242
1243 RETURN llRetVal
1244 ENDPROC
1245
1246 *--------------------------------------------------------------------------
1247 PROCEDURE PopulateTransSLNHistory
1248
1249 LOCAL llRetVal, lcSql
1250 LOCAL lcFlds, lcValues,lcExcludeFlds,lcCalFlds,lcCalFldsValues
1251 llRetVal = .t.
1252 WITH this
1253 llRetVal = llRetVal and v_sqlexec(;
1254 "UPDATE s set line_seq = d.line_seq, dtl_pkey = d.zzoordrd_pkey, ord_num = d.ord_num FROM " + .cZzeipoTS + " s JOIN " + .cZzeipoTD + " d ON s.fkey = d.pkey ")
1255 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeipoTS,.cZzeipoHS,,,,.t.)
1256 llRetVal = llRetVal and v_sqlexec(lcSQL)
1257 *--- TechRec 1056973 08-Dec-2011 jisingh ---
1258 llRetVal = llRetVal and this.PrepareDataForWhse()
1259 *=== TechRec 1056973 08-Dec-2011 jisingh ===
1260 ENDWITH
1261
1262 RETURN llRetVal
1263
1264 ENDPROC
1265
1266 *--------------------------------------------------------------------------
1267
1268 PROCEDURE PopulateTransDtlHistory
1269
1270 LOCAL llRetVal, lcSql
1271 llRetVal = .t.
1272 WITH this
1273 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeipoTD,.cZzeipoHD,,,,.t.)
1274 llRetVal = llRetVal and v_sqlexec(lcSQL)
1275 ENDWITH
1276 RETURN llRetVal
1277 ENDPROC
1278
1279 *--------------------------------------------------------------------------
1280
1281 PROCEDURE PopulateTransAddressHistory
1282
1283 LOCAL llRetVal, lcSql
1284 LOCAL lcFlds, lcValues,lcExcludeFlds,lcCalFlds,lcCalFldsValues
1285 llRetVal = .t.
1286 WITH this
1287 lcFlds = ""
1288 lcValues = ""
1289 lcExcludeFlds = ""
1290 lcCalFlds = ""
1291 lcCalFldsValues = ""
1292 llRetVal = llRetVal And .oCopyUtil.GetFldsValues(@lcFlds, @lcValues, .cZzeipoHA, .cZzeipota, ;
1293 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,'d')
1294
1295 lcSql = " INSERT INTO " + .cZzeipoHA + " ( " + lcFlds + " ) " + ;
1296 " SELECT " + lcValues + " FROM " + .cZzeipoTA + " d where ADDR_TYPE in ('OT','BT','SO')"
1297 llRetVal = llRetVal and v_sqlexec(lcSQL)
1298 ENDWITH
1299 RETURN llRetVal
1300 ENDPROC
1301
1302 *--------------------------------------------------------------------------
1303
1304 PROCEDURE PopulateTransCommentHistory
1305
1306 LOCAL llRetVal, lcSql
1307 llRetVal = .t.
1308 WITH this
1309 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeipoTC,.cZzeipoHC,,,,.t.)
1310 llRetVal = llRetVal and v_sqlexec(lcSQL)
1311 ENDWITH
1312 RETURN llRetVal
1313 ENDPROC
1314
1315 *--------------------------------------------------------------------------
1316
1317 PROCEDURE PopulateTransHdrNotesHistory
1318
1319 LOCAL llRetVal, lcSql
1320 llRetVal = .t.
1321 WITH this
1322 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeipoTH_nt,.cZzeipoHH_nt,"'table_name'","table_name","'ZZEIPOHH'",.t.)
1323 llRetVal = llRetVal and v_sqlexec(lcSQL)
1324 ENDWITH
1325 RETURN llRetVal
1326 ENDPROC
1327
1328 *--------------------------------------------------------------------------
1329
1330 PROCEDURE PopulateTransDtlNotesHistory
1331
1332 LOCAL llRetVal, lcSql
1333 llRetVal = .t.
1334 WITH this
1335 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeipoTD_nt,.cZzeipoHD_nt,"'table_name'","table_name","'ZZEIPOHD'",.t.)
1336 llRetVal = llRetVal and v_sqlexec(lcSQL)
1337 ENDWITH
1338 RETURN llRetVal
1339 ENDPROC
1340
1341 *--------------------------------------------------------------------------
1342
1343 PROCEDURE SetPkey_TransHistory
1344
1345 Local llRetVal, lnOldSelect,lcUnique, lcSQL
1346 llRetVal = .T.
1347 lnOldSelect = Select()
1348
1349 *--- TR 1043347
1350 this.oHostProcess.FixBcSysNumForEDI850()
1351 *=== TR 1043347
1352
1353 DECLARE laOrdDtls[6,4]
1354 laOrdDtls[1,1] = this.cZzeipohd
1355 laOrdDtls[1,2] = "fkey" && update field of detail table
1356 laOrdDtls[1,3] = "fkey" && relation field of Detail table
1357 laOrdDtls[1,4] = "pkey" && relation field of Header table
1358
1359 laOrdDtls[2,1] = this.cZzeipoha
1360 laOrdDtls[2,2] = "fkey" && update field of detail table
1361 laOrdDtls[2,3] = "fkey" && relation field of Detail table
1362 laOrdDtls[2,4] = "pkey" && relation field of Header table
1363
1364 laOrdDtls[3,1] = this.cZzeipohc
1365 laOrdDtls[3,2] = "fkey" && update field of detail table
1366 laOrdDtls[3,3] = "fkey" && relation field of Detail table
1367 laOrdDtls[3,4] = "pkey" && relation field of Header table
1368
1369 laOrdDtls[4,1] = this.cZzeipohh_nt
1370 laOrdDtls[4,2] = "fkey" && update field of detail table
1371 laOrdDtls[4,3] = "fkey" && relation field of Detail table
1372 laOrdDtls[4,4] = "pkey" && relation field of Header table
1373
1374 laOrdDtls[5,1] = this.cZzeipohd_nt
1375 laOrdDtls[5,2] = "parentKey" && update field of detail table
1376 laOrdDtls[5,3] = "parentKey" && relation field of Detail table
1377 laOrdDtls[5,4] = "pkey" && relation field of Header table
1378
1379 laOrdDtls[6,1] = this.cZzeipohs
1380 laOrdDtls[6,2] = "hfkey" && update field of detail table
1381 laOrdDtls[6,3] = "hfkey" && relation field of Detail table
1382 laOrdDtls[6,4] = "pkey" && relation field of Header table
1383
1384 lcSQL = "SELECT count(*) newCount from " + this.cZzeipohh
1385 llRetVal = llRetVal and v_sqlexec(lcSQL,"HdrRecord")
1386 IF llRetVal AND HdrRecord.newCount > 0
1387 lnMaxPkey = v_nextPkey("ZZEIPOHH",HdrRecord.newCount)
1388 llRetVal = llRetVal and this.oCopyUtil.HdrDtlNumKeyFldUpdate(this.cZzeipohh,"pkey",@laOrdDtls,lnMaxPkey,HdrRecord.newCount,;
1389 "pkey_I")
1390 ENDIF
1391
1392 llRetVal = llRetVal and this.SetPkey_TransDtlHistory()
1393 llRetVal = llRetVal and this.SetPkey(this.cZzeipoha,'zzeipoha')
1394 llRetVal = llRetVal and this.SetPkey(this.cZzeipohc,'zzeipohc')
1395 llRetVal = llRetVal and this.SetPkey(this.cZzeipohh_nt,'sysnotes')
1396 llRetVal = llRetVal and this.SetPkey(this.cZzeipohd_nt,'sysnotes')
1397
1398 SELECT(lnOldselect)
1399 RETURN llRetVal
1400
1401 ENDPROC
1402
1403 *--------------------------------------------------------------------------
1404
1405 PROCEDURE SetPkey_TransDtlHistory
1406
1407 Local llRetVal, lnOldSelect,lcSQL
1408 llRetVal = .T.
1409 lnOldSelect = Select()
1410
1411 DECLARE laOrdDtls[2,4]
1412 laOrdDtls[1,1] = this.cZzeipohd_nt
1413 laOrdDtls[1,2] = "fkey" && update field of detail table
1414 laOrdDtls[1,3] = "fkey" && relation field of Detail table
1415 laOrdDtls[1,4] = "pkey" && relation field of Header table
1416
1417 laOrdDtls[2,1] = this.cZzeipohs
1418 laOrdDtls[2,2] = "fkey" && update field of detail table
1419 laOrdDtls[2,3] = "fkey" && relation field of Detail table
1420 laOrdDtls[2,4] = "pkey" && relation field of Header table
1421
1422 lcSQL = "SELECT count(*) newCount from " + this.cZzeipohd
1423 llRetVal = llRetVal and v_sqlexec(lcSQL,"HdrRecord")
1424 IF llRetVal AND HdrRecord.newCount > 0
1425 lnMaxPkey = v_nextPkey("ZZEIPOHD",HdrRecord.newCount)
1426 llRetVal = llRetVal and this.oCopyUtil.HdrDtlNumKeyFldUpdate(this.cZzeipohd,"pkey",@laOrdDtls,lnMaxPkey,HdrRecord.newCount,;
1427 "pkey_I")
1428 ENDIF
1429
1430 SELECT(lnOldSelect)
1431 RETURN llRetVal
1432
1433 ENDPROC
1434
1435 *--------------------------------------------------------------------------
1436
1437
1438 PROCEDURE PopulateOrderWorkDetail
1439
1440 LOCAL llRetVal, lcTrnsDtl_hor, lcSQL, lcUnique
1441 LOCAL lcFlds, lcValues,lcExcludeFlds,lcCalFlds,lcCalFldsValues
1442 llRetVal = .t.
1443
1444 WITH this
1445 *--- create trans detail horizontal
1446 lcTrnsDtl_hor = ""
1447 llRetVal = llRetVal and this.GetHorizontalTransDetail(@lcTrnsDtl_hor)
1448 llRetVal = llRetVal and this.oCopyUtil.GetInsertSQL(@lcSQL,lcTrnsDtl_hor,.cZzoordrd)
1449 llRetVal = llRetVal and v_sqlexec(lcSQL)
1450 ENDWITH
1451
1452 RETURN llRetVal
1453
1454 ENDPROC
1455
1456 *--------------------------------------------------------------------------
1457
1458 PROCEDURE PopulateOrderWorkAddress
1459
1460 LOCAL llRetVal, lcSql
1461 LOCAL lcFlds, lcValues,lcExcludeFlds,lcCalFlds,lcCalFldsValues
1462 llRetVal = .t.
1463 WITH this
1464 lcSql = ""
1465 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeipoTA ,.cZzoordad,,,,,"h")
1466 lcSQL = lcSQL + " and h.addr_type = 'OT'"
1467 llRetVal = llRetVal and v_sqlexec(lcSQL)
1468 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeipoTA,.cZzootadr,,,,,"h")
1469 *--- TechRec 1056973 22-Nov-2011 jisingh ---
1470 *lcSQL = lcSQL + " and h.addr_type in ('BT','SO') "
1471 lcSQL = lcSQL + " and h.addr_type not in ('OT') "
1472 *=== TechRec 1056973 22-Nov-2011 jisingh ===
1473 llRetVal = llRetVal and v_sqlexec(lcSQL)
1474
1475 *--- TechRec 1054619 13-Jun-2011 MANI. ---
1476 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeiPOtWHSE,.czzedatawhse,,,,,"h")
1477 llRetVal = llRetVal and v_sqlexec(lcSQL)
1478 *=== TechRec 1054619 13-Jun-2011 MANI. ===
1479
1480
1481 *-TR 1059065 FH
1482 llRetVal = llRetVal and .UpdateWarehouseSizebucket(.czzedatawhse, .cZzeipoTD)
1483 llRetVal = llRetVal and .UpdateWarehouseSLNSizebucket(.czzedatawhse, .cZzeipoTS)
1484
1485 *-TR 1059065 FH
1486
1487
1488 ENDWITH
1489
1490 RETURN llRetVal
1491
1492 ENDPROC
1493
1494 *--------------------------------------------------------------------------
1495
1496 PROCEDURE PopulateOrderWorkComment
1497
1498 LOCAL llRetVal, lcSql
1499 LOCAL lcFlds, lcValues,lcExcludeFlds,lcCalFlds,lcCalFldsValues
1500 llRetVal = .t.
1501 WITH this
1502 *--- set line seq for trans comments
1503 llRetVal = llRetVal and this.SetLineSeqInTransComment()
1504 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeipoTC,.cZzoordcd)
1505 llRetVal = llRetVal and v_sqlexec(lcSQL)
1506 ENDWITH
1507
1508 RETURN llRetVal
1509
1510 ENDPROC
1511
1512 *--------------------------------------------------------------------------
1513
1514 PROCEDURE PopulateOrderHeaderWorkNotes
1515
1516 LOCAL llRetVal, lcSql
1517 LOCAL lcFlds, lcValues,lcExcludeFlds,lcCalFlds,lcCalFldsValues
1518 llRetVal = .t.
1519 WITH THIS
1520 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,.cZzeipoTh_nt,.cZzoordrh_nt,"'table_name'","table_name","'ZZOORDRH'")
1521 llRetVal = llRetVal and v_sqlexec(lcSQL)
1522 ENDWITH
1523
1524 RETURN llRetVal
1525
1526 ENDPROC
1527
1528 *--------------------------------------------------------------------------
1529
1530 PROCEDURE PopulateOrderDtlWorkNotes
1531
1532 LOCAL llRetVal, lcSql
1533 LOCAL lcFlds, lcValues,lcExcludeFlds,lcCalFlds,lcCalFldsValues
1534 llRetVal = .t.
1535 WITH this
1536
1537 *--- First group by field zzoodrd_pkey ( this field currently contain trans detail pkey
1538 *--- but can be repeated when multiple trans detail line becomes one order detail line )
1539 LOCAL lcZzeipoTd_nt
1540 lcZzeipoTd_nt = "#Zzeipoth_nt" + SYS(2015)
1541 .RegisterTable(lcZzeipoTd_nt)
1542
1543 llRetVal = llRetVal and this.RollupTransDtlNotes(@lcZzeipoTd_nt)
1544 llRetVal = llRetVal and this.SetDtlNotesLineSeqFromOrderDtl(lcZzeipoTd_nt)
1545 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcSql,lcZzeipoTd_nt,.cZzoordrd_nt,"'TABLE_NAME'","TABLE_NAME","'ZZOORDRD'")
1546 llRetVal = llRetVal and v_sqlexec(lcSQL)
1547
1548 ENDWITH
1549
1550 RETURN llRetVal
1551
1552 ENDPROC
1553
1554 *--------------------------------------------------------------------------
1555
1556 PROCEDURE RollupTransDtlNotes
1557 LPARAMETERS pcZzeipotd_nt
1558 *--- First group by field zzoodrd_pkey ( this field currently contain trans detail pkey
1559 *--- but can be repeated when multiple trans detail line becomes one order detail line )
1560 LOCAL llRetVal, lcZzeipotd_nt_cur, lnOldSelect
1561 lnOldSelect = SELECT()
1562 lcZzeipotd_nt = IIF(EMPTY(pcZzeipotd_nt),"#zzeipotd_nt" + SYS(2015),pcZzeipotd_nt)
1563 lcZzeipotd_nt_cur = "Dtl_nt" + SYS(2015)
1564 llRetVal = .t.
1565
1566 *--- bring transaction detail notes to client cursor for rollup on order detail line
1567 lcSql = "select * from " + this.cZzeipotd_nt
1568 llRetVal = llRetVal and v_sqlexec(lcSql, lcZzeipotd_nt_cur)
1569
1570 LOCAL lnZzoordrd_pkey, lcNotes, lcZzeipotd_nt_Rolled, lont, lnSeq, lnParentKey, lcNote_type, lontPrev
1571 lnZzoordrd_pkey = 0
1572 lcNotes = ""
1573 lcZzeipotd_nt_Rolled = "Dtl_ntOut" + SYS(2015)
1574 lnSeq = 0
1575 lnParentKey = 0
1576 lcNote_type = ""
1577
1578 *-- create rolled up holding cursor
1579 SELECT * FROM (lcZzeipotd_nt_cur) WHERE 1=2 INTO CURSOR (lcZzeipotd_nt_Rolled) readwrite
1580
1581 IF llRetVal
1582 SELECT (lcZzeipotd_nt_cur)
1583 INDEX on STR(zzoordrd_pkey) + note_type tag ord_pkey
1584 SELECT(lcZzeipotd_nt_cur)
1585 SCAN
1586 SCATTER NAME lont memo
1587 IF lnZzoordrd_pkey = lont.zzoordrd_pkey AND lcNote_Type = lont.Note_Type
1588 *-TR 1078653 FH - lets check if the note does not exist already (non-opt does this)
1589 IF Not (lont.notes $ &lcZzeipotd_nt_Rolled..notes )
1590 replace notes WITH notes + lont.notes IN (lcZzeipotd_nt_Rolled)
1591 endif
1592 ELSE
1593 lnSeq = lnSeq + 1
1594 lont.Seq = lnSeq
1595 lont.fkey = lont.zzoordrd_pkey
1596 SELECT(lcZzeipotd_nt_Rolled)
1597 APPEND BLANK
1598 GATHER name lont memo
1599 ENDIF
1600 IF lnZzoordrd_pkey <> lont.zzoordrd_pkey
1601 lnSeq = 0
1602 ENDIF
1603 lnZzoordrd_pkey = lont.zzoordrd_pkey
1604 lcNote_Type = lont.Note_Type
1605 ENDSCAN
1606 ENDIF
1607
1608 *--- send cursor data back to server temp table
1609 llRetVal = llRetVal and this.oCopyUtil.SendCursorToSqlTbl(lcZzeipotd_nt_Rolled, lcZzeipotd_nt)
1610
1611 IF EMPTY(pcZzeipotd_nt)
1612 pcZzeipotd_nt = lcZzeipotd_nt
1613 ENDIF
1614
1615 SELECT(lnOldSelect)
1616 RETURN llRetval
1617 ENDPROC
1618
1619 *--------------------------------------------------------------------------
1620
1621 PROCEDURE SetDtlNotesLineSeqFromOrderDtl
1622 LPARAMETERS pcZzeipoTd_nt
1623
1624 LOCAL llRetVal, lcSql
1625 llRetVal = .t.
1626 *--- get the line_seq from the order detail
1627 lcSql = "Update nt set line_seq = d.line_seq from " + pcZzeipoTd_nt + " nt " + ;
1628 " inner join " + this.cZzoordrd + " d on d.pkey = nt.fkey "
1629 llRetVal = llRetVal and v_sqlexec(lcSql)
1630
1631 RETURN llRetVal
1632 ENDPROC
1633
1634 *--------------------------------------------------------------------------
1635
1636 PROCEDURE GetHorizontalTransDetail
1637 LPARAMETERS pcTrnsDtl_hor
1638 *--- TechRec 1062694 26-Jul-2012 jjanand === Added lcSelectLst
1639 LOCAL llRetVal, lcTrnsDtl_hor, lcUnique, lcGrpFlds
1640 llRetVal = .t.
1641 lcUnique = SYS(2015)
1642 lcTrnsDtl_hor = "#zzeipotd_hor" + lcUnique
1643 lcTrnsDtl_Grp = "#zzeipotd_grp" + lcUnique
1644
1645*!* llNewLine = m.Set_ID # lcSet_ID Or;
1646*!* llDupeUPCs Or !llMan_bulk_match;
1647*!* or lcPreviousPO1_SKU # m.po1_sku;
1648*!* or lcPreviousPO1_UPC # m.po1_upc;
1649*!* or lnPreviousPrice # m.price;
1650*!* or lnPreviousOrg_Price # m.org_price;
1651*!* or lcPreviousStyle # m.Style;
1652*!* or lcPreviousColor_code # m.color_code;
1653*!* or lcPreviousLbl_code # m.lbl_code;
1654*!* or lcPreviousDimension # m.Dimension;
1655*!* or lcPreviousRng_Style # m.Rng_Style;
1656*!* or lcPreviousRng_Color # m.Rng_color;
1657*!* or lcPreviousRng_Lbl # m.Rng_Lbl;
1658*!* or lcPreviousRng_Pack # m.Rng_pack;
1659*!* or lcPreviousStart_Date # Dtos(m.start_date);
1660*!* or lcPreviousEnd_Date # Dtos(m.end_date);
1661*!* or lcPreviousAssortment # m.Assortment ;
1662*!* or (This.lExtD And Empty(m.Set_ID) And Reccount("vzzeIPOTE_FKey")>0);
1663*!* or (This.lHaveChrgs And Reccount("vzzeIPOTR_FKey")>0)
1664
1665 *--- Extender logic - if extender exists for zzeipotd and zzeipotd.Set_id field is blank then it is a new order detail line (per sizebucket)
1666 *--- - if extender exists for zzeipotd and zzeipotd.Set_id field differ between sizebucket line then it is a new order detail line (per sizebucket)
1667 *--- - if extender does not exists then ignore this field
1668 LOCAL lcZzeipotd_OrigSet_id
1669 llRetVal = llRetVal and this.SetUniqueSet_id(this.cZzeipoTD, @lcZzeipotd_OrigSet_id)
1670
1671 *--- Multi discount - in group by we need to group by on sac_code, sac_rate
1672 llRetVal = llRetVal and this.SetSac_IDandRate(this.cZzeipoTD,this.cZzeiPOtsac)
1673
1674 llRetVal = llRetVal and this.SetDupeUpc(this.cZzeipoTH,this.cZzeipoTD) &&--- TechRec 1063128 04-Sep-2012 jjanand ===
1675
1676 *--- max group field limit in sql 2005 is 16 fields
1677 *--- TechRec 1063128 04-Sep-2012 jjanand === Added ,dupeUpcSeq
1678 lcGrpFlds = "fkey, price, org_price, division, style, color_code, lbl_code, dimension, rng_style" + ;
1679 ", rng_color, rng_pack, start_date, end_date, Assortment, Set_id, hasCharges, man_bulk, sac_id, sac_rate, dupeUpcSeq "
1680 lcGrpFlds = STRTRAN(lcGrpFlds, " ", "")
1681
1682 * --- TR 1044713 01/07/10 CM
1683 *--- TR 1049551 BR - ADDED price, org_price, hasCharges, man_bulk, sac_id
1684 *--- TechRec 1063128 04-Sep-2012 jjanand === Added ,dupeUpcSeq
1685 lcOrderBy = "fkey, division, style, color_code, lbl_code, dimension, rng_style, rng_color, rng_pack" + ;
1686 ", start_date, end_date, Assortment, Set_id, sac_rate, price, org_price, hasCharges, man_bulk, sac_id, dupeUpcSeq "
1687
1688 *--- TechRec 1062694 26-Jul-2012 jjanand ---
1689 *--- TechRec 1063128 04-Sep-2012 jjanand === Added ,dupeUpcSeq
1690 lcSelectLst = ", division, style, color_code, lbl_code, dimension, rng_style, rng_color, rng_pack" + ;
1691 ", start_date, end_date, Assortment, Set_id, sac_rate, price, org_price, hasCharges, man_bulk, sac_id, dupeUpcSeq "
1692 *=== TechRec 1062694 26-Jul-2012 jjanand ===
1693
1694 lcOrderBy = STRTRAN(lcOrderBy, " ", "")
1695 * === TR 1043394 01/07/10 CM
1696
1697 *pcSrcDtl, pcDtl_hor, pcGrpFlds, pcPkeyFld, pcSizebkFld, pcSize_qtyFld, pcTotal_qtyFld
1698 * --- TR 1043394 01/07/10 CM --- Changed lcGrpFlds to lcOrderBy
1699 llRetVal = llRetVal and this.oCopyUtil.GetHorizontalDetail(this.cZzeipoTD,lcTrnsDtl_Grp,lcOrderBy,"pkey","sizebucket","total_qty","total_qty")
1700
1701 lcSql = "select d.*, dg.pkey as zzeipotd_pkey " + ;
1702 " ,dg.size01_qty,dg.size02_qty,dg.size03_qty,dg.size04_qty,dg.size05_qty,dg.size06_qty,dg.size07_qty,dg.size08_qty,dg.size09_qty,dg.size10_qty " + ;
1703 " ,dg.size11_qty,dg.size12_qty,dg.size13_qty,dg.size14_qty,dg.size15_qty,dg.size16_qty,dg.size17_qty,dg.size18_qty,dg.size19_qty,dg.size20_qty " + ;
1704 " ,dg.size21_qty,dg.size22_qty,dg.size23_qty,dg.size24_qty " + ;
1705 " into " + lcTrnsDtl_hor + ;
1706 " from " + this.cZzeipoTD + " d inner join " + lcTrnsDtl_Grp + " dg on d.pkey = dg.pkey " + ;
1707 " order by d.fkey, d.division, d.style, d.color_code, d.lbl_code, d.dimension, d.rng_style, d.start_date "
1708 llRetval = llRetVal and v_sqlexec(lcSql)
1709
1710 .RegisterTable(lcTrnsDtl_hor)
1711 .RegisterTable(lcTrnsDtl_Grp)
1712
1713 *--- put back original set_id value in trans detail and horizontal trans detail
1714 llRetVal = llRetVal and this.ResetOriginalSet_id(lcZzeipotd_OrigSet_id,this.cZzeipoTD)
1715 llRetVal = llRetVal and this.ResetOriginalSet_id(lcZzeipotd_OrigSet_id,lcTrnsDtl_hor)
1716
1717 *--- update grouped pkey field
1718 * --- TR 1043394 01/07/10 CM --- Changed lcGrpFlds to lcOrderBy
1719 llRetVal = llRetVal and this.SetTransDetailNotesLinkFld(lcTrnsDtl_Grp,lcOrderBy)
1720
1721 *--- UPDATE total qty
1722 lcSql = "update d set total_qty = dg.total_qty from " + lcTrnsDtl_hor + " d inner join " + lcTrnsDtl_Grp + " dg on d.pkey = dg.pkey "
1723 llRetval = llRetVal and v_sqlexec(lcSql)
1724
1725 * --- TR 1043394 01/07/10 CM
1726 *llRetVal = llRetVal and this.oCopyUtil.SetLineSeq(lcTrnsDtl_hor, "line_seq", "fkey", "fkey, pkey", "d", "")
1727 *--- TechRec 1058326 15-Dec-2011 jisingh Added STRTRAN with lcOrderBy (Existing Issue) ===
1728 *--- TechRec 1062694 26-Jul-2012 jjanand ==== Added lcSelectLst and set paramater plUseRowNum to .T.
1729 llRetVal = llRetVal and this.oCopyUtil.SetLineSeq(lcTrnsDtl_hor, "line_seq", "fkey", "fkey, pkey" + lcSelectLst, "d", "", .F., STRTRAN(lcOrderBy,"fkey","d.fkey"),.T.)
1730 * === TR 1043394 01/07/10 CM
1731
1732 pcTrnsDtl_hor = lcTrnsDtl_hor
1733
1734 *- 1041844 YIK 08/04/09
1735 *- Assign Line sequence to this.cZzeipoTD
1736 *- Use set of fields from original 850 to determine detail break
1737*-- lcipotd_temp = '#impotd_temp' + lcUnique
1738*-- lcSQL = 'Select * into ' + lcipotd_temp + ' from ' + this.cZzeipoTD + ;
1739*-- " order by fkey, division, style, color_code, lbl_code, dimension, rng_style, start_date "
1740*-- llRetval = llRetVal and v_sqlexec(lcSql)
1741
1742*--- TR 1052428 1-Nov-2011 Goutam. Order by must be same to create line seq for transaction detail table and order detail table. Commented following line.
1743* lcOrderBy = 'd.fkey, d.division, d.style, d.color_code, d.lbl_code, d.dimension, d.rng_style, d.start_date'
1744*=== TR 1052428 1-Nov-2011 Goutam
1745
1746 *- added parameter to select distinct and order by (= .T.)
1747 *--- TechRec 1058326 15-Dec-2011 jisingh Added STRTRAN with lcOrderBy (Existing Issue) ===
1748 *--- TechRec 1061494 18-May-2012 jjanand === set paramater plUseRowNum to .T.
1749 llRetVal = llRetVal and this.oCopyUtil.SetLineSeq(this.cZzeipoTD, "line_seq", "fkey", lcGrpFlds, "d", "", .T., STRTRAN(lcOrderBy,"fkey","d.fkey"),.T.)
1750 llRetval = llRetVal and v_sqlexec(lcSql)
1751 *===
1752
1753 RETURN llRetVal
1754
1755 ENDPROC
1756
1757 *--------------------------------------------------------------------------
1758
1759 PROCEDURE SetTransDetailNotesLinkFld
1760 LPARAMETERS pcTrnsDtl_Grp,pcGrpFlds
1761
1762 LOCAL llRetVal, lcTrnsDtl_Grp,lcGrpFlds
1763 llRetVal = .t.
1764 lcTrnsDtl_Grp = pcTrnsDtl_Grp
1765 lcGrpFlds = pcGrpFlds
1766
1767 dimension laFlds[1]
1768 LOCAL lnIndex, lcJoin, lcFld
1769 lcJoin = ""
1770 this.oCopyUtil.StringToArray(lcGrpFlds,@laFlds)
1771
1772 FOR lnIndex = 1 TO ALEN(laFlds)
1773 lcFld = laFlds[lnIndex]
1774 lcJoin = lcJoin + " d." + lcFld + " = g." + lcFld + " and "
1775 ENDFOR
1776
1777 lcJoin = this.oCopyUtil.RemoveLastChar(lcJoin, " and")
1778 lcSql = " update d Set zzoordrd_pkey = g.pkey from " + this.cZzeipoTD + " d inner join " + lcTrnsDtl_Grp + " g " + ;
1779 " on " + lcJoin
1780 llRetval = llRetVal and v_sqlexec(lcSql)
1781
1782 *--- update link pkey field in transaction detail notes
1783 lcSql = " update dnt Set zzoordrd_pkey = d.zzoordrd_pkey from " + this.cZzeipoTD + " d inner join " + this.cZzeipoTD_nt + " dnt " + ;
1784 " on d.pkey = dnt.fkey "
1785 llRetval = llRetVal and v_sqlexec(lcSql)
1786
1787
1788 RETURN llRetVal
1789 ENDPROC
1790
1791 *--------------------------------------------------------------------------
1792
1793 *--- TechRec 1063128 04-Sep-2012 jjanand ---
1794 PROCEDURE SetDupeUpc
1795 LPARAMETERS pcZzeipoTH, pcZzeipoTD
1796
1797 LOCAL llRetVal, lcSql
1798
1799 llRetVal = .T.
1800
1801 lcSql = " alter table " + pcZzeipoTD + " add dupe_upc char(1) not null default('N')"
1802 llRetval = llRetVal and v_sqlexec(lcSql)
1803
1804 lcSql = " alter table " + pcZzeipoTD + " add dupeUpcSeq int not null default(0)"
1805 llRetval = llRetVal and v_sqlexec(lcSql)
1806
1807 lcSql = " Update d Set dupe_upc = h. dupe_upc From " + pcZzeipoTH + " h join " + pcZzeipoTD + " d on d.fkey = h.pkey "
1808 llRetval = llRetVal and v_sqlexec(lcSql)
1809
1810 lcSql = " Update " + pcZzeipoTD + " set dupeUpcSeq = case when dupe_upc = 'Y' then line_Seq else 0 end"
1811 llRetval = llRetVal and v_sqlexec(lcSql)
1812
1813 RETURN llRetVal
1814
1815 ENDPROC
1816 *=== TechRec 1063128 04-Sep-2012 jjanand ===
1817
1818 PROCEDURE PopulateOrderWorkSp
1819
1820 LOCAL llRetVal, lcSql
1821 LOCAL lcFlds, lcValues,lcExcludeFlds,lcCalFlds,lcCalFldsValues
1822 llRetVal = .t.
1823 WITH this
1824 lcFlds = ""
1825 lcValues = ""
1826 lcExcludeFlds = ""
1827 lcCalFlds = ""
1828 lcCalFldsValues = ""
1829
1830 llRetVal = llRetVal And .oCopyUtil.GetFldsValues(@lcFlds, @lcValues, .cZzoordsp, .cZzoordrh , ;
1831 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,'h')
1832
1833 lcSql = " INSERT INTO " + .cZzoordsp + " ( " + lcFlds + " ) " + ;
1834 " SELECT " + lcValues + " FROM " + .cZzoordrh + " h "
1835 llRetVal = llRetVal and v_sqlexec(lcSQL)
1836
1837 llRetVal = llRetVal and this.SetPkey(.cZzoordsp,"ZZOORDSP")
1838
1839 lcSql = "Update sp SET cartons = 'N', carton_seq = 0, carton_cls = 'S', packs = 'N' from " + .cZzoordsp + " sp "
1840 llRetVal = llRetVal and v_sqlexec(lcSQL)
1841
1842 ENDWITH
1843
1844 RETURN llRetVal
1845
1846 ENDPROC
1847
1848 *--------------------------------------------------------------------------
1849
1850 PROCEDURE PrepareOrderForUpdate
1851
1852 LOCAL llRetVal
1853 llRetVal = .t.
1854
1855 this.LogEntry("Setting Pkey for all tables...")
1856 *--- set new pkey for order header
1857 llRetVal = llRetVal and this.SetPkey_OrderHeader()
1858
1859 *--- set new order number
1860 llRetVal = llRetVal and this.SetOrderNumber()
1861
1862 *--- set registration
1863 llRetVal = llRetval and this.SetRegistrationNumber()
1864
1865 *--- set new pkey for order detail
1866 llRetVal = llRetVal and this.SetPkey_OrderDetail()
1867 llRetVal = llRetVal and this.SetPkey(this.cZzoordad,'ZZOORDAD')
1868 llRetVal = llRetVal and this.SetPkey(this.cZzootadr,'ZZOOTADR')
1869 llRetVal = llRetVal and this.SetPkey(this.cZzoordcd,'ZZOORDCD')
1870 llRetVal = llRetVal and this.SetPkey(this.cZzoordrh_nt,'sysnotes')
1871 llRetVal = llRetVal and this.SetPkey(this.cZzoordrd_nt,'sysnotes')
1872 llRetVal = llRetVal and this.SetPkey(this.cZzoordsac,'Zzoordsac')
1873 llRetVal = llRetVal and this.SetPkey(this.cZzoordrd_chrg,'zzxchrds')
1874
1875 *--- TechRec 1054619 09-Jun-2011 MANI. ---
1876 llRetVal = llRetVal and this.SetPkey(this.czzedatawhse,'ZZEDATAWHSE')
1877 *=== TechRec 1054619 09-Jun-2011 MANI. ===
1878
1879 .LogEntry("Setting Pkey for all Tables " + IIF(llRetVal,"completed.","failed."))
1880
1881 llRetVal = llRetVal and this.PrepareDataAfter_OrderHeader()
1882 llRetVal = llRetVal and this.PrepareDataAfter_OrderDetail()
1883
1884 ASSERT .f.
1885 llRetVal = llRetVal and this.PopulateOrderWorkSp()
1886 llRetVal = llRetVal and this.PrepareOrderExtender()
1887 llRetVal = llRetVal and this.PrepareOrderDiscount()
1888
1889 *--- TR 1044208 Used object obulkmatch amd obulk instead of variable. puts us in better control of destroying it.
1890 *LOCAL loEdiBulkMatch
1891 *llRetval = llRetVal and this.GetInstance_EDIBulkMatching(@loEdiBulkMatch)
1892 llRetVal = llRetVal and .oBulkMatch.RegisterFinalOrdTbls(this.cZzoordrh,this.cZzoordrd)
1893 llRetVal = llRetVal and .oBulkMatch.RegisterBulkCursor("tcBulkMatch")
1894 llRetVal = llRetVal and .oBulkMatch.RegisterCreateOrderObject(this)
1895 llRetVal = llRetVal and .oBulkMatch.PrepareBulkMatch()
1896
1897 *LOCAL loBulkNibbler
1898 *llRetVal = llRetVal and this.GetInstance_BulkNibbler(@loBulkNibbler)
1899 llRetVal = llRetVal and .oBulk.RegisterOrdTbls(this.cZzoordrh,this.cZzoordrd)
1900 llRetVal = llRetVal and .oBulk.CreateNibblerQueuesForAddMode()
1901 *=== TR 1044208 Used object obulkmatch amd obulk instead of variable. puts us in better control of destroying it.
1902
1903 llRetVal = llRetVal and this.SetUserIdAndTimeStampForAllTbls()
1904 RETURN llRetVal
1905
1906 ENDPROC
1907
1908 *--------------------------------------------------------------------------
1909
1910 PROCEDURE SetUserIdAndTimeStampForAllTbls
1911
1912 LOCAL llRetVal
1913 llRetVal = .t.
1914 WITH this
1915 LOCAL lnIndex
1916 FOR lnIndex = 1 TO .nOrdTbls
1917 llRetVal = llRetVal and this.SetUserIdAndTimeStamp(.aOrdTbls[lnIndex])
1918 ENDFOR
1919 ENDWITH
1920 RETURN llRetVal
1921
1922 ENDPROC
1923
1924 *--------------------------------------------------------------------------
1925
1926 PROCEDURE SetUserIdAndTimeStamp(pcTbl)
1927
1928 Local llRetVal, lcSQL
1929 llRetVal = .T.
1930 lcSQL = "UPDATE h SET last_mod = convert(datetime,convert(char,getdate(),120))," + ;
1931 " user_id = '" + goEnv.cUser + "' FROM " + pcTbl + " h "
1932 llRetVal = llRetVal and v_sqlexec(lcSQL)
1933
1934 Return llRetVal
1935 ENDPROC
1936
1937 *--------------------------------------------------------------------------
1938
1939 PROCEDURE SetPkey_OrderDetail
1940
1941 LOCAL llRetVal, lnOldSelect
1942 llRetVal = .t.
1943 lnOldSelect = SELECT()
1944
1945 DECLARE laOrdDtls[3,4]
1946 laOrdDtls[1,1] = this.cZzoordrd_nt
1947 laOrdDtls[1,2] = "fkey" && update field of detail table
1948 laOrdDtls[1,3] = "fkey" && relation field of Detail table
1949 laOrdDtls[1,4] = "pkey" && relation field of Header table
1950
1951 laOrdDtls[2,1] = this.cZzoordrd_chrg
1952 laOrdDtls[2,2] = "fkey" && update field of detail table
1953 laOrdDtls[2,3] = "fkey" && relation field of Detail table
1954 laOrdDtls[2,4] = "pkey" && relation field of Header table
1955
1956 *--- multi discount
1957 laOrdDtls[3,1] = this.cZzoordsac
1958 laOrdDtls[3,2] = "dFkey" && update field of detail table
1959 laOrdDtls[3,3] = "dFkey" && relation field of Detail table
1960 laOrdDtls[3,4] = "pkey" && relation field of Header table
1961
1962 lcSQL = "SELECT count(*) newCount from " + this.cZzoordrd
1963 llRetVal = llRetVal and v_sqlexec(lcSQL,"HdrRecord")
1964 IF llRetVal AND HdrRecord.newCount > 0
1965 lnMaxPkey = v_nextPkey("ZZOORDRD",HdrRecord.newCount)
1966 llRetVal = llRetVal and this.oCopyUtil.HdrDtlNumKeyFldUpdate(this.cZzoordrd,"pkey",@laOrdDtls,lnMaxPkey,HdrRecord.newCount,;
1967 "pkey_I")
1968 ENDIF
1969
1970 SELECT(lnOldSelect)
1971 RETURN llRetVal
1972
1973 ENDPROC
1974
1975 *--------------------------------------------------------------------------
1976
1977 PROCEDURE CreateFrmCode
1978
1979 LOCAL llRetVal
1980 llRetVal = .t.
1981
1982
1983
1984 RETURN llRetVal
1985
1986 ENDPROC
1987
1988 *--------------------------------------------------------------------------
1989
1990 PROCEDURE SetPkey_OrderHeader
1991
1992 Local llRetVal, lnOldSelect,lcUnique, lcSQL
1993 llRetVal = .T.
1994 lnOldSelect = Select()
1995
1996 DECLARE laOrdDtls[10,4] &&--- TechRec 1054619 09-Jun-2011 MANI. Changed from 9 to 10 ===
1997 laOrdDtls[1,1] = this.cZzoordrd
1998 laOrdDtls[1,2] = "fkey" && update field of detail table
1999 laOrdDtls[1,3] = "fkey" && relation field of Detail table
2000 laOrdDtls[1,4] = "pkey" && relation field of Header table
2001
2002 *--- one time address
2003 laOrdDtls[2,1] = this.cZzoordad
2004 laOrdDtls[2,2] = "fkey" && update field of detail table
2005 laOrdDtls[2,3] = "fkey" && relation field of Detail table
2006 laOrdDtls[2,4] = "pkey" && relation field of Header table
2007
2008 laOrdDtls[3,1] = this.cZzootadr
2009 laOrdDtls[3,2] = "fkey" && update field of detail table
2010 laOrdDtls[3,3] = "fkey" && relation field of Detail table
2011 laOrdDtls[3,4] = "pkey" && relation field of Header table
2012
2013 laOrdDtls[4,1] = this.cZzootadr
2014 laOrdDtls[4,2] = "fkey" && update field of detail table
2015 laOrdDtls[4,3] = "fkey" && relation field of Detail table
2016 laOrdDtls[4,4] = "pkey" && relation field of Header table
2017
2018 laOrdDtls[5,1] = this.cZzoordcd
2019 laOrdDtls[5,2] = "fkey" && update field of detail table
2020 laOrdDtls[5,3] = "fkey" && relation field of Detail table
2021 laOrdDtls[5,4] = "pkey" && relation field of Header table
2022
2023
2024 laOrdDtls[6,1] = this.cZzoordrh_nt
2025 laOrdDtls[6,2] = "fkey" && update field of detail table
2026 laOrdDtls[6,3] = "fkey" && relation field of Detail table
2027 laOrdDtls[6,4] = "pkey" && relation field of Header table
2028
2029 *--- detail notes
2030 laOrdDtls[7,1] = this.cZzoordrd_nt
2031 laOrdDtls[7,2] = "Parentkey" && update field of detail table
2032 laOrdDtls[7,3] = "Parentkey" && relation field of Detail table
2033 laOrdDtls[7,4] = "pkey" && relation field of Header table
2034
2035 *--- detail charges
2036 laOrdDtls[8,1] = this.cZzoordrd_chrg
2037 laOrdDtls[8,2] = "hdrFkey" && update field of detail table
2038 laOrdDtls[8,3] = "hdrFkey" && relation field of Detail table
2039 laOrdDtls[8,4] = "pkey" && relation field of Header table
2040
2041 *--- multi discount
2042 laOrdDtls[9,1] = this.cZzoordsac
2043 laOrdDtls[9,2] = "hFkey" && update field of detail table
2044 laOrdDtls[9,3] = "hFkey" && relation field of Detail table
2045 laOrdDtls[9,4] = "pkey" && relation field of Header table
2046
2047 *--- TechRec 1054619 09-Jun-2011 MANI. ---
2048 *--- data Warehouse
2049 laOrdDtls[10,1] = this.czzedatawhse
2050 laOrdDtls[10,2] = "Hfkey" && update field of detail table
2051 laOrdDtls[10,3] = "Hfkey" && relation field of Detail table
2052 laOrdDtls[10,4] = "pkey" && relation field of Header table
2053 *=== TechRec 1054619 09-Jun-2011 MANI. ===
2054
2055
2056 lcSQL = "SELECT count(*) newCount from " + this.cZzoordrh
2057 llRetVal = llRetVal and v_sqlexec(lcSQL,"HdrRecord")
2058 IF llRetVal AND HdrRecord.newCount > 0
2059 lnMaxPkey = v_nextPkey("ZZOORDRH",HdrRecord.newCount)
2060 llRetVal = llRetVal and this.oCopyUtil.HdrDtlNumKeyFldUpdate(this.cZzoordrh,"pkey",@laOrdDtls,lnMaxPkey,HdrRecord.newCount,;
2061 "pkey_I")
2062
2063 ENDIF
2064
2065 Select(lnOldSelect)
2066 Return llRetVal
2067
2068 ENDPROC
2069
2070 *--------------------------------------------------------------------------
2071
2072 PROCEDURE SetOrderNumber
2073
2074 Local llRetVal, lnOldSelect,lcUnique, lcSQL, lnNewOrdCount
2075 llRetVal = .T.
2076 lnOldSelect = Select()
2077 lnNewOrdCount = 0
2078
2079 lcSQL = " select COUNT(*) as NewOrderCount FROM " + this.cZzoordrh + " h "
2080 llRetVal = llRetVal and v_sqlexec(lcSQL,"NewOrderCount")
2081
2082 IF USED("NewOrderCount")
2083 lnNewOrdCount = NewOrderCount.NewOrderCount
2084 USE IN NewOrderCount
2085 ENDIF
2086
2087 IF NOT (llRetVal AND lnNewOrdCount > 0)
2088 SELECT(lnOldSelect)
2089 RETURN llRetVal
2090 ENDIF
2091
2092 *--- update order number in order detail
2093 DECLARE laOrdDtls[12,4] &&--- TechRec 1054619 09-Jun-2011 MANI. Changed from 11 to 12 ===
2094 laOrdDtls[1,1] = this.cZzoordrd
2095 laOrdDtls[1,2] = "ord_num" && update field of detail table
2096 laOrdDtls[1,3] = "fkey" && relation field of Detail table
2097 laOrdDtls[1,4] = "pkey" && relation field of Header table
2098
2099 *--- update order number in transaction header
2100 laOrdDtls[2,1] = this.cZzeipoTH
2101 laOrdDtls[2,2] = "ord_num" && update field of detail table
2102 laOrdDtls[2,3] = "pkey" && relation field of Detail table
2103 laOrdDtls[2,4] = "zzeipoth_pkey" && relation field of Header table
2104
2105 *--- update order number in transaction detail
2106 laOrdDtls[3,1] = this.cZzeipoTD
2107 laOrdDtls[3,2] = "ord_num" && update field of detail table
2108 laOrdDtls[3,3] = "fkey" && relation field of Detail table
2109 laOrdDtls[3,4] = "zzeipoth_pkey" && relation field of Header table
2110
2111
2112 *--- update order number for one time address
2113 laOrdDtls[4,1] = this.cZzoordad
2114 laOrdDtls[4,2] = "ord_num" && update field of detail table
2115 laOrdDtls[4,3] = "fkey" && relation field of Detail table
2116 laOrdDtls[4,4] = "pkey" && relation field of Header table
2117
2118 laOrdDtls[5,1] = this.cZzootadr
2119 laOrdDtls[5,2] = "ord_num" && update field of detail table
2120 laOrdDtls[5,3] = "fkey" && relation field of Detail table
2121 laOrdDtls[5,4] = "pkey" && relation field of Header table
2122
2123 *--- update order number in comment
2124 laOrdDtls[6,1] = this.cZzoordcd
2125 laOrdDtls[6,2] = "ord_num" && update field of detail table
2126 laOrdDtls[6,3] = "fkey" && relation field of Detail table
2127 laOrdDtls[6,4] = "pkey" && relation field of Header table
2128
2129 laOrdDtls[7,1] = this.cZzoordrh_nt
2130 laOrdDtls[7,2] = "ord_num" && update field of detail table
2131 laOrdDtls[7,3] = "fkey" && relation field of Detail table
2132 laOrdDtls[7,4] = "pkey" && relation field of Header table
2133
2134
2135 laOrdDtls[8,1] = this.cZzoordrd_nt
2136 laOrdDtls[8,2] = "ord_num" && update field of detail table
2137 laOrdDtls[8,3] = "parentkey" && relation field of Detail table
2138 laOrdDtls[8,4] = "pkey" && relation field of Header table
2139
2140 laOrdDtls[9,1] = this.cZzoordrd_chrg
2141 laOrdDtls[9,2] = "ord_num" && update field of detail table
2142 laOrdDtls[9,3] = "hdrfkey" && relation field of Detail table
2143 laOrdDtls[9,4] = "pkey" && relation field of Header table
2144
2145 *--- multi discount
2146 laOrdDtls[10,1] = this.cZzoordsac
2147 laOrdDtls[10,2] = "ord_num" && update field of detail table
2148 laOrdDtls[10,3] = "hFkey" && relation field of Detail table
2149 laOrdDtls[10,4] = "pkey" && relation field of Header table
2150
2151 *--- multi discount
2152 laOrdDtls[11,1] = this.cZzeipoTS
2153 laOrdDtls[11,2] = "ord_num" && update field of detail table
2154 laOrdDtls[11,3] = "hFkey" && relation field of Detail table
2155 laOrdDtls[11,4] = "pkey" && relation field of Header table
2156
2157 *--- TechRec 1054619 09-Jun-2011 MANI. ---
2158 *--- update order number for ware house
2159 laOrdDtls[12,1] = this.czzedatawhse
2160 laOrdDtls[12,2] = "ord_num" && update field of detail table
2161 laOrdDtls[12,3] = "Hfkey" && relation field of Detail table
2162 laOrdDtls[12,4] = "pkey" && relation field of Header table
2163 *=== TechRec 1054619 09-Jun-2011 MANI. ===
2164
2165 *--- Set ord_num to new order header
2166 lnMaxOrd_num = v_NextId('ZZXCOMPR','ORD_NUM', lnNewOrdCount)
2167 llRetVal = llRetVal and this.oCopyUtil.HdrDtlNumKeyFldUpdate(this.cZzoordrh,"ord_num",@laOrdDtls,lnMaxOrd_num,lnNewOrdCount,;
2168 "Ord_Num_I")
2169 Select(lnOldSelect)
2170 Return llRetVal
2171
2172 ENDPROC
2173
2174 *--------------------------------------------------------------------------
2175
2176 PROCEDURE PrepareDataAfter_OrderHeader
2177
2178 Local llRetVal, lnOldSelect, lcSQL, lcAssign
2179 llRetVal = .T.
2180 lnOldSelect = Select()
2181
2182
2183 llRetVal = llRetval and this.SetDefaultDate_OrderHeader()
2184 llRetVal = llRetVal and this.ClearShippingFields(this.cZzoordrh)
2185 * TR 1050538 FH 11/10/10 - UpdateTerms
2186 llRetVal = llRetVal and this.UpdateTerms(this.cZzoordrh,this.cZzeipoTH, this.cZzeipoCr)
2187
2188 *--- set order status
2189 lcAssign = ""
2190 lcAssign = lcAssign + ",ack_prn = 'N'"
2191 lcAssign = lcAssign + ",AR_POST = 'N'"
2192 lcAssign = lcAssign + ",bulk_red = 'Y'"
2193 lcAssign = lcAssign + ",ENT_USER = '" + EDI_USER + "'"
2194 lcAssign = lcAssign + ",Bulk_num = case when h.Conf_type = 'B' THEN h.Ord_num ELSE h.Bulk_num End"
2195
2196 *--- TR 1075041 9-12-2013 VKK
2197 lcAssign = lcAssign + ",fappv_amt = case when h.factor like 'CC_%' THEN " + ;
2198 " Coalesce((Select Top 1 ChargeAmt From " + this.czzeipoth + " where pkey = h.zzeipoth_pkey), 0) ELSE h.fappv_amt End"
2199 lcAssign = lcAssign + ",fexpn_date = case when h.factor like 'CC_%' THEN h.ftran_date + h.facExpir_days ELSE h.fexpn_date End"
2200 *=== TR 1075041 9-12-2013 VKK
2201
2202 lcSql = "Update h Set ord_status = 'O'" + lcAssign + ;
2203 " from " + this.cZzoordrh + " h "
2204 llRetVal = llRetVal and v_sqlexec(lcSql)
2205
2206 llRetVal = llRetVal and this.SetDefaultsFromCustomerMaster()
2207
2208 *--- TechRec 1048804 23-Aug-2010 TShenbagavalli ---
2209 llRetVal = llRetVal and this.SetSpsBillOptn()
2210 *=== TechRec 1048804 23-Aug-2010 TShenbagavalli ===
2211
2212 *--- Set hasnotes field
2213 lcSql = "Update h Set hasnotes = case when hn.pkey is null then 'N' else 'Y' END from " +;
2214 this.cZzoordrh + " h left outer join " + this.cZzoordrh_nt + " hn " + ;
2215 " on hn.ord_num = h.ord_num and hn.Table_name = 'ZZOORDRH'"
2216 llRetVal = llRetVal and v_sqlexec(lcSql)
2217
2218 this.LogEntry("Prepare Order Header " + IIF(llRetVal,"completed.","failed."))
2219
2220 Select(lnOldSelect)
2221 Return llRetVal
2222
2223 ENDPROC
2224
2225 *--------------------------------------------------------------------------
2226
2227 *--------------------------------------------------------------------------
2228 * TR 1050538 FH 11/10/10 - Update terms to be org_terms if control ref, has term_deft=E and accept_TCode <> Y
2229 PROCEDURE UpdateTerms
2230 LPARAMETERS pcOrderTbl, pcTranTbl, pcControlTbl
2231
2232
2233 LOCAL lcTerms, lcUnique, lcZzeIPOcr, lcSql, llRetVal
2234
2235 llRetVal = .T.
2236
2237 lcSql = "update h "+;
2238 " set terms = t.org_terms "+;
2239 " from " + pcOrderTbl + " h"+;
2240 " join " + pcTranTbl + " t "+;
2241 " on h.ord_num = t.ord_num"+;
2242 " join " + pcControlTbl+ " c "+;
2243 " on c.customer = h.customer "+;
2244 " and c.division = h.division "+;
2245 " where c.term_deft = 'E' "+;
2246 " and c.accept_TCode <> 'Y' "
2247
2248 llRetVal = llRetVal and v_sqlexec(lcSql)
2249
2250
2251 RETURN llRetVal
2252
2253 ENDPROC
2254 *--------------------------------------------------------------------------
2255
2256 PROCEDURE SetDefaultDate_OrderHeader
2257
2258 LOCAL llRetVal, lcSql, lcDefaultDate, lcCurDate
2259 llRetVal = .t.
2260 lcDefaultDate = SQLFormatTS({//})
2261 lcCurDate = SQLFormatTS(TTOD(ServerDatetime()))
2262
2263 *--- TR 1071867 06/24/13 ATHIRUNAVU Set default date for isr_Start_date
2264 lcSql = "Update h Set Act_ship_date = " + lcDefaultDate + ;
2265 ", FEXPN_DATE = " + lcDefaultDate + ;
2266 ", ISSUE_DATE = " + lcDefaultDate + ;
2267 ", POST_DATE = " + lcDefaultDate + ;
2268 ", ROUT_OBT_DATE = " + lcDefaultDate + ;
2269 ", ROUT_REQ_DATE = " + lcDefaultDate + ;
2270 ", SENT_856 = " + lcDefaultDate + ;
2271 ", TRANS_DATE = " + lcDefaultDate + ;
2272 ", ENT_DATE = " + lcCurDate + ;
2273 ", ISR_START_DATE = " + lcDefaultDate + ;
2274 " FROM " + this.cZzoordrh + " h "
2275
2276 llRetVal = llRetVal and v_sqlexec(lcSql)
2277
2278 RETURN llRetVal
2279
2280 ENDPROC
2281
2282 *--------------------------------------------------------------------------
2283
2284 PROCEDURE SetDefaultsFromCustomerMaster
2285
2286 LOCAL llRetVal, lcSql, lcAssign
2287 llRetVal = .t.
2288
2289 *--- take any value came through 850 flat file first, only if that is empty then take exempted flag from customer
2290 lcAssign = ", tax_empt = case when h.tax_empt = '' then r.tax_empt else h.tax_empt end"
2291
2292 *--- original TR 1029370 - PopulateBkordInvAlloc("Vzzoordrh_iPOproc")
2293 lcAssign = lcAssign + ",Invc_Bkord_Cncl = r.Invc_Bkord_Cncl"
2294 lcAssign = lcAssign + ",Invc_Cncl_Type = r.Invc_Cncl_Type"
2295 lcAssign = lcAssign + ",Invc_Cncl_Rsn = r.Invc_Cncl_Rsn"
2296 lcAssign = lcAssign + ",Alc_Bkord_Cncl = r.Alc_Bkord_Cncl"
2297 lcAssign = lcAssign + ",Alc_Cncl_Type = r.Alc_Cncl_Type"
2298 lcAssign = lcAssign + ",Alc_Cncl_Rsn = r.Alc_Cncl_Rsn"
2299
2300 * TR 1070508- only stamp org code if it is empty on source table
2301 lcSql = "Update h Set org_code = CASE WHEN h.org_code = '' THEN r.org_code ELSE h.org_code END " + lcAssign + " from " + this.cZzoordrh + " h inner join zzxcustr r (nolock) " + ;
2302 " on h.customer = r.customer where r.active_ok = 'Y' "
2303 llRetVal = llRetVal and v_sqlexec(lcSql)
2304
2305 RETURN llRetVal
2306
2307 ENDPROC
2308
2309 *--------------------------------------------------------------------------
2310
2311 PROCEDURE PrepareDataAfter_OrderDetail
2312
2313
2314 Local llRetVal, lnOldSelect, lcSQL
2315 llRetVal = .T.
2316 lnOldSelect = Select()
2317
2318 *--- update on hasnotes field
2319 lcSql = " update d Set hasnotes = case when n.pkey is null then 'N' ELSE 'Y' end from " + this.cZzoordrd + " d " + ;
2320 " left outer join " + this.cZzoordrd_nt + " n on n.ord_num = d.ord_num and n.line_seq = d.line_seq "
2321
2322 llRetVal = llRetVal and V_sqlexec(lcSql)
2323
2324 llRetval = llRetVal and this.SetOrderDtlLot()
2325
2326 llRetVal = llRetVal and this.SetDefaultDate_OrderDetail()
2327 *--- cascade fields from order header to detail
2328 llRetVal = llRetval and this.CascadeFldsHdrToDtl()
2329
2330 llRetVal = llRetVal and this.SetDefault_OrderDetail()
2331 *--- update order header with detail fields
2332 llRetVal = llRetval and this.UpdateHdrFromDtl()
2333 this.LogEntry("Prepare Order Detail " + IIF(llRetVal,"completed.","failed."))
2334 Select(lnOldSelect)
2335 Return llRetVal
2336
2337 ENDPROC
2338
2339 *---------------------------------------------------------------------------
2340
2341 PROCEDURE SetDefault_OrderDetail
2342
2343 LOCAL llRetVal, lcSql, lcAssign
2344 llRetVal = .t.
2345
2346 lcAssign = "price = case when r.price_flg = 'E' then d.org_price else d.price end "
2347
2348 lcSql = "Update d Set " + lcAssign + " from " + this.cZzoordrd + " d inner join " + ;
2349 this.cZzoordrh + " h on h.pkey = d.fkey " + ;
2350 " inner join zzeipocr r on r.customer = h.customer and r.division = d.division "
2351
2352 llRetVal = llRetVal and v_sqlexec(lcSql)
2353
2354
2355
2356*!* Select (pceipoTD)
2357*!* lnPrice= Iif(tceIPOcr.price_flg = "E", org_price, price)
2358*!* *=
2359*!* * --- 1009014 02/05 CB - Resolve the merchandise code on the sales order detail table:
2360*!* If This.lResl_Mchm
2361*!* lnSelect = Select()
2362*!* lcSQLString = ;
2363*!* "SELECT Merch_Code FROM zzxmchmr " + ;
2364*!* " WHERE " + SQLFormatTS(&pceipoTD..start_date) + ;
2365*!* " BETWEEN From_Date AND To_Date"
2366
2367*!* llRetVal = llRetVal And v_sqlExec(lcSQLString, "tcMerchResl")
2368*!* If Used("tcMerchResl") And Reccount("tcMerchResl") > 0
2369*!* Replace Merch_Code With tcMerchResl.Merch_Code In (tcOrderDetail)
2370*!* Endif
2371
2372*!* Use In Select("tcMerchResl")
2373*!* Select (lnSelect)
2374*!* Endif
2375 lcSql = "Update d Set Merch_code = r.Merch_Code from " + this.cZzoordrd + " d inner join " + ;
2376 " zzxmchmr r on d.start_date between r.from_date and r.to_date"
2377 llRetVal = llRetVal and v_sqlexec(lcSql)
2378
2379
2380
2381*!* * --- 1009844 05/05 CB - Moved the following code to clsSlsDf:
2382*!* *!* * --- 1009014 02/05 CB - Resolves the Delivery Code from the Season table.
2383
2384*!* *--- TAN 37141 02/14/03 PL & HH - Modify the automated bulk order reduction logic
2385*!* * to allow for correct matching of distro orders
2386*!* Replace fkey With lnCurrOrderHeaderPkey,; && ord_num with tnOrd_num,
2387*!* total_qty With 0, price With lnPrice,; &¬ proper price in transdetail
2388*!* line_seq With lnLine_seq, ; &¬ proper line_seq when explode range style
2389*!* line_status With "O", ;
2390*!* bulk_red With "Y" In (tcOrderDetail) && , notes with lcNotes
2391 *=== TAN 37141 02/14/03
2392
2393 *--- TR 1034971 29-Sep-2008 Partha ---
2394*!* Replace STAGE_UD WITH IIF(EMPTY(lcSTAGE_UD), lcShpst_Code, lcStage_UD) ;
2395*!* In (tcOrderDetail)
2396
2397 Return llRetVal
2398
2399 ENDPROC
2400
2401 *---------------------------------------------------------------------------
2402
2403 PROCEDURE SetOrderDtlLot
2404
2405 LOCAL llRetVal, lcSql, llFill_lot
2406 llRetval = .t.
2407 IF PEMSTATUS(this.oHostProcess,"lFill_Lot",5)
2408 llFill_lot = this.oHostProcess.lFill_Lot
2409 ELSE
2410 llFill_Lot = goEnv.SV("850_FILL_LOT", "N") = 'Y'
2411 ENDIF
2412*!* If This.lFill_Lot And !Empty(m.UDFOORDD6C)
2413*!* m.Lot = Transform(tnOrd_num, "@L 9999999") +;
2414*!* Transform(lnLine_seq, "@L 999")
2415*!* Endif
2416
2417 IF llFill_Lot
2418 lcSql = " Update d Set lot = a.lot from " + this.cZzoordrd + " d " + ;
2419 " inner join ( " + ;
2420 " select pkey, stuff('0000000',7 - len(ord_num) + 1,len(ord_num), ord_num) + " + ;
2421 " stuff('000', 3 - len(line_seq) + 1, len(line_seq), line_seq) as lot " + ;
2422 " from ( select pkey, left(ltrim(str(ord_num)),7) ord_num, left(ltrim(str(line_seq)),3) line_seq " + ;
2423 " from " + this.cZzoordrd + " where UDFOORDD6C > '' ) a ) a " + ;
2424 " on a.pkey = d.pkey " + ;
2425 " where d.UDFOORDD6C > '' "
2426 llRetVal = llRetVal and v_sqlexec(lcSql)
2427 ENDIF
2428 Return llRetVal
2429
2430 ENDPROC
2431
2432 *---------------------------------------------------------------------------
2433
2434 PROCEDURE CascadeFldsHdrToDtl
2435
2436 Local llRetVal, lnOldSelect, lcSQL, lcAssign, lcfac
2437 llRetVal = .T.
2438 lnOldSelect = Select()
2439
2440 LOCAL lcOrderDtl
2441 lcOrderDtl = "tcOrdDtl" + SYS(2015)
2442 lcSql = " select * from " + this.cZzoordrd + " where 1=2"
2443 llRetVal = llRetVal and v_sqlexec(lcSql, lcOrderDtl)
2444
2445 LOCAL lcFlds
2446 DIMENSION laFlds[1]
2447 AFIELDS(laFlds,lcOrderDtl)
2448 lcDeli = ","
2449 lcFlds = this.GetFldList(@laFlds,lcDeli)
2450 lcAssign = " "
2451 lcAssign = lcAssign + ",discount = case when d.discount > ' ' then d.discount else h.discount end "
2452 lcAssign = lcAssign + ",bulk_red = h.bulk_red "
2453
2454 lcfac = ",facclient_num = h.facclient_num,facExpir_basis = h.facExpir_basis,facExpir_days = h.facExpir_days" + ;
2455 ",fact_Bulk = h.fact_Bulk, fact_status = h.fact_status, factor = h.factor, factor_ok = h.factor_ok " && TR 1061569 FH - added factor, factor_ok
2456 lcAssign = lcAssign + lcfac
2457
2458 lcAssign = lcAssign + ",location = case when d.location > ' ' then d.location else h.location end "
2459 * --- TR 1040687 6/3/09 CM --- Added hold_rsn,priority, Also Added Slsperson 1-4 and Commission 1-4
2460 *lcAssign = lcAssign + ",hold_code = h.hold_code"
2461 *--- TR 1076947 16-May-2014 BNarayanan cascade only when column is empty ---
2462 *lcAssign = lcAssign + ",hold_code = h.hold_code,hold_rsn = h.hold_rsn,priority = h.priority"
2463 *lcAssign = lcAssign + ",Slsperson1 = h.Slsperson1,Slsperson2 = h.Slsperson2,Slsperson3 = h.Slsperson3,Slsperson4 = h.Slsperson4"
2464 *lcAssign = lcAssign + ",Comm1 = h.Comm1,Comm2 = h.Comm2,Comm3 = h.Comm3,Comm4 = h.Comm4"
2465
2466 lcAssign = lcAssign + ",hold_code = h.hold_code,hold_rsn = h.hold_rsn"
2467 lcAssign = lcAssign + ",priority = case when d.priority > ' ' then d.priority else h.priority end "
2468
2469 lcAssign = lcAssign + ",Slsperson1 = case when d.Slsperson1 > ' ' then d.Slsperson1 else h.Slsperson1 end"
2470 lcAssign = lcAssign + ",Slsperson2 = case when d.Slsperson2 > ' ' then d.Slsperson2 else h.Slsperson2 end"
2471 lcAssign = lcAssign + ",Slsperson3 = case when d.Slsperson3 > ' ' then d.Slsperson3 else h.Slsperson3 end"
2472 lcAssign = lcAssign + ",Slsperson4 = case when d.Slsperson4 > ' ' then d.Slsperson4 else h.Slsperson4 end"
2473
2474 lcAssign = lcAssign + ",Comm1 = case when d.Comm1 > ' ' then d.Comm1 else h.Comm1 end"
2475 lcAssign = lcAssign + ",Comm2 = case when d.Comm2 > ' ' then d.Comm2 else h.Comm2 end"
2476 lcAssign = lcAssign + ",Comm3 = case when d.Comm3 > ' ' then d.Comm3 else h.Comm3 end"
2477 lcAssign = lcAssign + ",Comm4 = case when d.Comm4 > ' ' then d.Comm4 else h.Comm4 end"
2478 *=== TR 1076947 16-May-2014 BNarayanan ===
2479
2480 * === TR 1040687 6/3/09 CM
2481 lcAssign = lcAssign + ",FTRAN_DATE = h.FTRAN_DATE"
2482*!* Replace ord_num With tnOrd_num,; && make it to live/hist-detail.
2483*!* bulk_num With Iif(&pceipoTH..conf_type= "B" ,tnOrd_num, 0), ;
2484*!* comm_calc WITH 'N' ;
2485*!* IN (pceipoTD)
2486
2487 *--- TR 1077221 03/18/14 ATHIRUNAVU Populated PRI_DATE from header if it is empty
2488 lcAssign = lcAssign + ",PRI_DATE = case when d.PRI_DATE > {ts '1900-01-01 00:00:00' } then d.PRI_DATE else h.PRI_DATE end "
2489 *=== TR 1077221 03/18/14 ATHIRUNAVU
2490
2491 lcAssign = lcAssign + ",ord_num = h.ord_num "
2492 lcAssign = lcAssign + ",bulk_num = case when h.conf_type = 'B' then h.ord_num else 0 end "
2493 lcAssign = lcAssign + this.CheckFldAndAssign(lcFlds, "comm_calc","'N'",",")
2494
2495
2496 *--- cascaded fields - should we take it from short builder
2497
2498 LOCAL lcCasacade
2499 this.oCopyUtil.GetCascadedAssignsql(@lcCasacade, this.cZzoordrh, this.cZzoordrd, "_CASCADED",'h')
2500 lcAssign = lcAssign + "," + lcCasacade
2501 lcSql = "Update d set line_status = h.ord_status " + lcAssign + " from " + this.cZzoordrd + ;
2502 " d inner join " + this.cZzoordrh + " h on h.pkey = d.fkey "
2503 llRetVal = llRetVal and v_sqlexec(lcSql)
2504
2505 *--- TR 1074921 9-JUN-14 Venuk
2506 lcSql = "Update d set orig_ord_type = h.ord_type from " + this.cZzoordrd + ;
2507 " d inner join " + this.cZzoordrh + " h on h.pkey = d.fkey " + ;
2508 " join zzocntrc c on h.division = c.division and c.dtl_ord_type_edit ='Y' "
2509 llRetVal = llRetVal and v_sqlexec(lcSql)
2510 *=== TR 1074921 9-JUN-14 Venuk
2511
2512 Select(lnOldSelect)
2513 Return llRetVal
2514
2515 ENDPROC
2516
2517 *--------------------------------------------------------------------------
2518
2519 PROCEDURE UpdateHdrFromDtl
2520
2521 LOCAL llRetVal, lcSql
2522 llRetVal = .t.
2523 lcSql = " Update h Set ord_qty = d.ord_qty, next_line = d.next_line + 1 from " + this.cZzoordrh + " h inner join " + ;
2524 " (select di.fkey, SUM(di.total_qty) as ord_qty, MAX(line_seq) as next_line from " + this.cZzoordrd + ;
2525 " di group by di.fkey) d on h.pkey = d.fkey "
2526
2527 llRetVal = llRetVal and v_sqlexec(lcSql)
2528 Return llRetVal
2529
2530 ENDPROC
2531
2532 *--------------------------------------------------------------------------
2533
2534 PROCEDURE SetRegistrationNumber
2535
2536 Local llRetVal, lnOldSelect, lcSQL, lnNewOrdCount
2537 llRetVal = .T.
2538 lnOldSelect = Select()
2539
2540 *- FH 1060901 - rewrite how to set registaration number.
2541 LOCAL lcUnique, lcTempGroupByPo
2542 lcUnique = SYS(2015)
2543 lcTempGroupByPo = "#zzoordrh_GroupByPo" + lcUnique
2544
2545
2546 lcSQL = "SELECT DISTINCT PO_NUM into " + lcTempGroupByPo + " from " + this.cZzoordrh + " WHERE REG_NUM = 0 ORDER BY PO_NUM"
2547 llRetVal = llRetVal and v_sqlexec(lcSQL)
2548
2549 this.oCopyUtil.AddIdentityColumn(lcTempGroupByPo, "Po_Num_I")
2550
2551 lnNewOrdCount = 0
2552 lcSQL = " select COUNT(*) as NewOrderCount FROM " + lcTempGroupByPo + " h "
2553 llRetVal = llRetVal and v_sqlexec(lcSQL,"NewOrderCount")
2554
2555 IF USED("NewOrderCount")
2556 lnNewOrdCount = NewOrderCount.NewOrderCount
2557 USE IN NewOrderCount
2558 ENDIF
2559
2560 IF NOT (llRetVal AND lnNewOrdCount > 0)
2561 SELECT(lnOldSelect)
2562 RETURN llRetVal
2563 ENDIF
2564
2565 LOCAL lnMaxReg_num, lnStartNum
2566 lnMaxReg_num = v_NextID('ZZXCOMPR', "REG_NUM", lnNewOrdCount)
2567 lnStartNum = lnMaxReg_num - lnNewOrdCount
2568
2569 lcSQL = "UPDATE H SET REG_NUM = D.PO_NUM_I + " + STR(LNSTARTNUM) + ;
2570 " FROM " + this.cZzoordrh + " H "+ ;
2571 " JOIN " + lcTempGroupByPo + " D "+;
2572 " ON D.PO_NUM = H.PO_NUM " +;
2573 " WHERE H.REG_NUM = 0 "
2574
2575 llRetVal = llRetVal and v_sqlexec(lcSQL)
2576
2577 *-update this table as well
2578 lcSQL = "UPDATE H SET REG_NUM = D.PO_NUM_I + " + STR(LNSTARTNUM) +;
2579 " FROM " + this.cZzeipoTH + " H"+;
2580 " JOIN " + lcTempGroupByPo + " D "+;
2581 " ON D.PO_NUM = H.PO_NUM "+;
2582 " WHERE H.REG_NUM = 0"
2583
2584 llRetVal = llRetVal and v_sqlexec(lcSQL)
2585
2586
2587
2588
2589
2590
2591*!* lnNewOrdCount = 0
2592*!* lcSQL = " select COUNT(*) as NewOrderCount FROM " + this.cZzoordrh + " h "
2593*!* llRetVal = llRetVal and v_sqlexec(lcSQL,"NewOrderCount")
2594*!*
2595*!* IF USED("NewOrderCount")
2596*!* lnNewOrdCount = NewOrderCount.NewOrderCount
2597*!* USE IN NewOrderCount
2598*!* ENDIF
2599*!* 0
2600*!* IF NOT (llRetVal AND lnNewOrdCount > 0)
2601*!* SELECT(lnOldSelect)
2602*!* RETURN llRetVal
2603*!* ENDIF
2604
2605*!* *--- update order number in order detail
2606*!* DECLARE laOrdDtls[1,4]
2607*!* laOrdDtls[1,1] = this.cZzeipoTH
2608*!* laOrdDtls[1,2] = "reg_num" && update field of detail table
2609*!* laOrdDtls[1,3] = "pkey" && relation field of Detail table
2610*!* laOrdDtls[1,4] = "zzeipoth_pkey" && relation field of Header table
2611*!*
2612*!* LOCAL lnMaxReg_num
2613*!* lnMaxReg_num = v_NextID('ZZXCOMPR', "REG_NUM", lnNewOrdCount)
2614*!* llRetVal = llRetVal and this.oCopyUtil.HdrDtlNumKeyFldUpdate(this.cZzoordrh,"REG_NUM",@laOrdDtls,lnMaxReg_num,lnNewOrdCount,;
2615*!* "Reg_Num_I")
2616*-TR 1060901 FH
2617
2618 Select(lnOldSelect)
2619 Return llRetVal
2620
2621 ENDPROC
2622
2623 *--------------------------------------------------------------------------
2624
2625 PROCEDURE UpdateAllTables
2626
2627 LOCAL llRetVal, lnOldSelect
2628 llRetVal = .t.
2629 lnOldSelect = SELECT()
2630
2631 Local lcInsertSQL_zzoordrh, lcInsertSQL_zzoordrd, lcInsertSQL_zzoordSP
2632 Local lcInsertSQL_zzoordad, lcInsertSQL_zzootadr, lcInsertSQL_zzoordcd, lcInsertSQL_zzedatawhse &&--- TechRec 1054619 09-Jun-2011 MANI. Added lcInsertSQL_zzedatawhse ===
2633 LOCAL lcDeleteSQL_zzeipotwhse && TR 1059065 01-Feb-12 SK
2634 LOCAL lcInsertSQL_zzoordrh_nt, lcInsertSQL_zzoordrd_nt
2635 Local lcInsertSQL_zzoordwh, lcInsertSQL_zzoordwd, lcInsertSQL_zzxniblr
2636 LOCAL lcUpdate_Zzzudfdt
2637 LOCAL lcInsert_Zzxchrds, lcInsert_Zzoordsac
2638
2639 LOCAL lcInsertSQL_Zzeipohh,lcInsertSQL_Zzeipohd, lcInsertSQL_Zzeipoha, lcInsertSQL_Zzeipohc, lcInsertSQL_Zzeipohh_nt, lcInsertSQL_Zzeipohd_nt
2640 Local lcInsertSQL_zzoordrh_cncl, lcInsertSQL_zzoordrd_cncl
2641 Local lcDeleteSQL_zzoordrh, lcDeleteSQL_zzoordrd, lcDeleteSQL_zzoordSP
2642
2643 LOCAL lcInsertSQL_Zzeipoth,lcInsertSQL_Zzeipotd
2644 LOCAL lcUpdateSQL_Zzeipoth,lcUpdateSQL_Zzeipotd
2645 LOCAL lcDeleteSQL_Zzeipoth,lcDeleteSQL_Zzeipotd
2646 LOCAL lcDeleteSQL_Zzeipota,lcDeleteSQL_Zzeipotc
2647 LOCAL lcDeleteSQL_Zzeipoth_nt, lcDeleteSQL_Zzeipotd_nt
2648 LOCAL lcDeleteSQL_Zzeipotr, lcDelete_Zzeipotsac
2649 LOCAL lcDeleteSQL_Zzeipots,lcInsertSQL_Zzeipohs
2650 *--- TR 1075041 9-12-2013 VKK
2651 LOCAL lcInsertCreditCardSQL
2652 STORE "" TO lcInsertCreditCardSQL
2653 *=== TR 1075041 9-12-2013 VKK
2654
2655 STORE " " to lcInsertSQL_zzoordrh, lcInsertSQL_zzoordrd, lcInsertSQL_zzoordSP
2656 STORE " " TO lcInsertSQL_zzoordad, lcInsertSQL_zzootadr, lcInsertSQL_zzoordcd, lcInsertSQL_zzedatawhse &&--- TechRec 1054619 09-Jun-2011 MANI. lcInsertSQL_zzedatawhse ===
2657 STORE " " TO lcDeleteSQL_zzeipotwhse && TR 1059065 01-Feb-12 SK
2658 STORE " " TO lcInsert_Zzxchrds, lcInsert_Zzoordsac
2659 STORE " " TO lcUpdate_Zzzudfdt
2660 STORE " " TO lcInsertSQL_Zzeipohh, lcInsertSQL_Zzeipohd, lcInsertSQL_Zzeipoha, lcInsertSQL_Zzeipohc, lcInsertSQL_Zzeipohh_nt, lcInsertSQL_Zzeipohd_nt
2661 STORE " " TO lcDeleteSQL_Zzeipotr, lcDelete_Zzeipotsac
2662
2663 STORE " " to lcInsertSQL_Zzeipoth, lcInsertSQL_Zzeipotd
2664 STORE " " to lcUpdateSQL_Zzeipoth, lcUpdateSQL_Zzeipotd
2665 STORE " " to lcDeleteSQL_Zzeipoth, lcDeleteSQL_Zzeipotd
2666 STORE " " TO lcDeleteSQL_Zzeipota,lcDeleteSQL_Zzeipotc
2667 STORE " " TO lcDeleteSQL_Zzeipoth_nt,lcDeleteSQL_Zzeipotd_nt
2668
2669 STORE " " TO lcInsertSQL_zzoordrh_nt, lcInsertSQL_zzoordrd_nt
2670 STORE " " TO lcInsertSQL_zzoordwh, lcInsertSQL_zzoordwd, lcInsertSQL_zzxniblr
2671
2672 STORE " " TO lcInsertSQL_zzoordrh_cncl, lcInsertSQL_zzoordrd_cncl
2673 STORE " " TO lcDeleteSQL_zzoordrh, lcDeleteSQL_zzoordrd, lcDeleteSQL_zzoordSP
2674 STORE " " TO lcDeleteSQL_Zzeipots,lcInsertSQL_Zzeipohs
2675
2676 *--- TR 1044208
2677 * Do not use this object to a variable. the object will be a class property now.
2678 *LOCAL loAfterUpdateBeforeCommit
2679 *loAfterUpdateBeforeCommit = null
2680 *llRetVal = llRetVal and this.GetInstance_AfterUpdateBeforeCommit(@loAfterUpdateBeforeCommit)
2681ASSERT .f.
2682 *--- create order sql
2683 llRetVal = llRetVal And this.GetOrderInsertSQL(@lcInsertSQL_zzoordrh, @lcInsertSQL_zzoordrd, @lcInsertSQL_zzoordSP ;
2684 , @lcInsertSQL_zzoordad, @lcInsertSQL_zzootadr, @lcInsertSQL_zzoordcd, @lcInsertSQL_zzoordrh_nt, @lcInsertSQL_zzoordrd_nt, @lcInsertSQL_zzedatawhse) &&--- TechRec 1054619 09-Jun-2011 MANI. Added @lcInsertSQL_zzedatawhse ===
2685 *--- create transaction history sql
2686 llRetVal = llRetVal And this.GetTransHistoryInsertSQL(@lcInsertSQL_Zzeipohh, @lcInsertSQL_Zzeipohd, @lcInsertSQL_Zzeipoha ;
2687 , @lcInsertSQL_Zzeipohc, @lcInsertSQL_Zzeipohh_nt,@lcInsertSQL_Zzeipohd_nt,@lcInsertSQL_Zzeipohs)
2688
2689 *--- create transaction delete sql
2690 llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDeleteSQL_Zzeipoth,this.cZzeipoTH,"zzeipoth")
2691 llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDeleteSQL_Zzeipotd,this.cZzeipoTD,"zzeipotd")
2692
2693 llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDeleteSQL_Zzeipotc,this.cZzeipoTC,"zzeipotc")
2694 llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDeleteSQL_Zzeipota,this.cZzeipoTA,"zzeipota")
2695
2696 *--- TR 1059065 01-Feb-12 SK Creating delete string for warehouse table
2697 llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDeleteSQL_zzeipotwhse,this.cZzeiPOtWHSE,"zzeipotwhse")
2698 *=== TR 1059065 01-Feb-12 SK
2699
2700 *llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDeleteSQL_Zzeipotr,this.cZzeipoTR,"zzeipotr")
2701 lcDeleteSQL_Zzeipotr = "DELETE FROM zzeipotr where hdrfkey IN (SELECT pkey FROM " + this.cZzeipoTH + ")"
2702
2703 llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDelete_Zzeipotsac,this.cZzeipotsac,"Zzeipotsac")
2704 llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDeleteSQL_Zzeipots,this.cZzeipots,"Zzeipots")
2705
2706 llRetVal = llRetVal and this.GetDeleteSQL_TransHdrNotes(@lcDeleteSQL_Zzeipoth_nt,.t.)
2707 llRetVal = llRetVal and this.GetDeleteSQL_TransDtlNotes(@lcDeleteSQL_Zzeipotd_nt,.t.)
2708
2709 llRetVal = llRetVal and this.GetUpdateSQL_OrderExtender(@lcUpdate_Zzzudfdt)
2710
2711 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcInsert_Zzxchrds,this.cZzoordrd_chrg,'zzxchrds',"'pkey'",,,.t.)
2712
2713 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcInsert_Zzoordsac,this.cZzoordsac,'zzoordsac')
2714
2715 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcInsertSQL_zzxniblr,this.cZzxniblr,"zzxniblr",,,,.t.)
2716 *--- 1070384 04/22/13 Ilya: trx_pkey is now identity key, so exclude it from the sql query
2717 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcInsertSQL_zzoordwh,this.cZzoordwh,"zzoordwh","'trx_pkey'",,,.t.)
2718 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcInsertSQL_zzoordwd,this.cZzoordwd,"zzoordwd","'trx_pkey'",,,.t.)
2719 *=== 1070384 04/22/13 Ilya.
2720
2721
2722 *--- create cancel orders
2723 IF !EMPTY(this.cZzoordrh_cncl)
2724 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcInsertSQL_zzoordrh_cncl,this.cZzoordrh_cncl,"zzoordrh",,,,.t.)
2725 lcInsertSQL_zzoordrh_cncl = lcInsertSQL_zzoordrh_cncl + " where sql_action = 'I'"
2726
2727 llRetVal = llRetVal and this.oCopyUtil.GetInsertSql(@lcInsertSQL_zzoordrd_cncl,this.cZzoordrd_cncl,"zzoordrd",,,,.t.)
2728 lcInsertSQL_zzoordrd_cncl = lcInsertSQL_zzoordrd_cncl + " where sql_action = 'I'"
2729
2730 *--- delete open orders
2731 llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDeleteSQL_Zzoordrh,this.cZzoordrh_del,"zzoordrh")
2732 llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDeleteSQL_Zzoordrd,this.cZzoordrd_del,"zzoordrd")
2733 llRetVal = llRetVal And this.oCopyUtil.GetDeleteSQL(@lcDeleteSQL_Zzoordsp,this.cZzoordsp_del,"zzoordsp")
2734 ENDIF
2735
2736 *--- TR 1075041 9-12-2013 VKK
2737 llRetVal = llRetVal AND This.GetInsertSQLForCreditCard(@lcInsertCreditCardSQL)
2738 *=== TR 1075041 9-12-2013 VKK
2739
2740 LOCAL lcAfterCommitErrorCursor
2741 Local llBeganTransaction,lnTranErrCount,lcTranFailedMsg
2742 llBeganTransaction = This.BeginTransaction()
2743 lnTranErrCount = 0
2744 lcTranFailedMsg = ""
2745
2746 If llBeganTransaction And llRetVal
2747 this.SqlExecInTran(lcInsertSQL_zzoordrh, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order header failed.")
2748 this.SqlExecInTran(lcInsertSQL_zzoordrd, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order detail failed.")
2749 this.SqlExecInTran(lcInsertSQL_zzoordSP, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order carton link records creation failed.")
2750 this.SqlExecInTran(lcInsertSQL_zzoordad, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order address failed.")
2751 this.SqlExecInTran(lcInsertSQL_zzootadr, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order one time address failed.")
2752 this.SqlExecInTran(lcInsertSQL_zzoordcd, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order comment failed.")
2753 this.SqlExecInTran(lcInsertSQL_zzoordrh_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order header notes failed.")
2754 this.SqlExecInTran(lcInsertSQL_zzoordrd_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order detail notes failed.")
2755 this.SqlExecInTran(lcUpdate_Zzzudfdt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order detail extender failed.")
2756 this.SqlExecInTran(lcInsert_Zzxchrds, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order detail charges failed.")
2757 this.SqlExecInTran(lcInsert_Zzoordsac, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create order multi discount failed.")
2758
2759 *--- TechRec 1054619 09-Jun-2011 MANI. ---
2760 this.SqlExecInTran(lcInsertSQL_zzedatawhse, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create data warehouse failed.")
2761 *=== TechRec 1054619 09-Jun-2011 MANI. ===
2762
2763 IF !EMPTY(lcInsertSQL_zzoordrh_cncl)
2764 this.SqlExecInTran(lcInsertSQL_zzoordrh_cncl, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create cancel order header failed.")
2765 this.SqlExecInTran(lcInsertSQL_zzoordrd_cncl, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Create cancel order detail failed.")
2766
2767 this.SqlExecInTran(lcDeleteSQL_Zzoordrh, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete open order header failed.")
2768 this.SqlExecInTran(lcDeleteSQL_Zzoordrd, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete open order detail failed.")
2769 this.SqlExecInTran(lcDeleteSQL_Zzoordsp, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete open order sp failed.")
2770 ENDIF
2771
2772 *--- insert transaction data to history
2773 this.SqlExecInTran(lcInsertSQL_Zzeipohh, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert transaction header history failed.")
2774 this.SqlExecInTran(lcInsertSQL_Zzeipohd, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert transaction detail history failed.")
2775 this.SqlExecInTran(lcInsertSQL_Zzeipoha, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert transaction address history failed.")
2776 this.SqlExecInTran(lcInsertSQL_Zzeipohc, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert transaction comment history failed.")
2777 this.SqlExecInTran(lcInsertSQL_Zzeipohh_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert transaction header notes history failed.")
2778 this.SqlExecInTran(lcInsertSQL_Zzeipohd_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert transaction detail notes history failed.")
2779 this.SqlExecInTran(lcInsertSQL_Zzeipohs, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert transaction detail sln history failed.")
2780
2781 *--- TR 1075041 9-12-2013 VKK
2782 this.SqlExecInTran(lcInsertCreditCardSQL, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert credit card failed.")
2783 *=== TR 1075041 9-12-2013 VKK
2784
2785 *--- delete transaction that are good, at this point all records in this.cZzeipoTH are good
2786 this.SqlExecInTran(lcDeleteSQL_Zzeipoth, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete transaction header failed.")
2787 this.SqlExecInTran(lcDeleteSQL_Zzeipotd, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete transaction detail failed.")
2788 this.SqlExecInTran(lcDeleteSQL_Zzeipota, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete transaction address failed.")
2789 this.SqlExecInTran(lcDeleteSQL_Zzeipotc, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete transaction comment failed.")
2790 this.SqlExecInTran(lcDeleteSQL_Zzeipoth_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete transaction header notes failed.")
2791 this.SqlExecInTran(lcDeleteSQL_Zzeipotd_nt, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete transaction detail notes failed.")
2792 this.SqlExecInTran(lcDeleteSQL_Zzeipotr, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete transaction detail charges failed.")
2793 this.SqlExecInTran(lcDeleteSQL_Zzeipots, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete transaction detail slns failed.")
2794 this.SqlExecInTran(lcDelete_Zzeipotsac, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete transaction SACs failed.")&& TR 1046111
2795
2796 *-- TR 1059065 01-Feb-12 SK Executing the delete string for warehouse table
2797 this.SqlExecInTran(lcDeleteSQL_zzeipotwhse, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Delete transaction warehouse failed.")
2798 *=== TR 1059065 01-Feb-12 SK
2799
2800 *--- bulk nibbler
2801 this.SqlExecInTran(lcInsertSQL_zzxniblr, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert nibbler failed.")
2802 this.SqlExecInTran(lcInsertSQL_zzoordwh, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert nibbler work header failed.")
2803 this.SqlExecInTran(lcInsertSQL_zzoordwd, @llRetVal, @lnTranErrCount, @lcTranFailedMsg, "Insert nibbler work detail failed.")
2804
2805 *--- TR 1044208
2806 *llRetVal = llRetVal and loAfterUpdateBeforeCommit.AfterUpdateBeforeCommit(@lcAfterCommitErrorCursor)
2807 llRetVal = llRetVal and .oAfterUpdate.AfterUpdateBeforeCommit(@lcAfterCommitErrorCursor)
2808 *=== TR 1044208
2809
2810 If llRetVal
2811 This.EndTransaction()
2812 This.LogEntry("Transaction successful.")
2813 *--- increase toProcess vaulue for new transaction records.
2814 *this.IncreaseToProcessCount(lcZzeipcth_new)
2815 Else
2816 This.RollbackTransaction()
2817 This.LogEntry("---------------------------------------------")
2818 This.LogEntry(lcTranFailedMsg)
2819 This.LogEntry("Transaction rolled back.")
2820 This.LogEntry("=============================================")
2821 ENDIF
2822 llRetVal = llRetVal and this.LogAfterUpdateBeforeCommitError(lcAfterCommitErrorCursor)
2823 Else
2824 If llRetVal && and not llBeganTransaction
2825 *--- LogEntry : unable to open Transaction
2826 This.LogEntry("Fatal error : Fail to open transaction.")
2827 Endif
2828 Endif
2829
2830
2831 llRetVal = llRetVal and this.UpdateProcessStatus()
2832
2833 Select(lnOldSelect)
2834 RETURN llRetVal
2835
2836 ENDPROC
2837
2838 *--- TR 1075041 9-12-2013 VKK
2839*============================================================
2840
2841 FUNCTION GetInsertSQLForCreditCard
2842 LPARAMETERS tcInsertCreditCardSQL
2843 LOCAL llRetVal, lnSelect
2844
2845 llRetVal = true
2846 lnSelect = SELECT()
2847
2848 WITH This
2849 IF vl_compr(,"creditcard_ok") = "Y"
2850
2851 lcEncAlogorithm = goEnv.sv("CC_XP_CRYPT_ENCRYPTION_MODE")
2852
2853 lcCrypt_password = 'üÇPOôqa?¦d--(ä¦' && (suggested password)
2854 lcCrypt_key = '@¡å®–¥§©' && (suggested key)
2855
2856
2857*!* lcSQLString = " SELECT c.address1, c.address2, c.city, c.state, c.zipcode, c.country, c.customer, c.card_type, " + ;
2858*!* " c.card_name, c.cc_number, c.expirationdate AS cc_expirationdate, c.cc_cvv, oh.pkey " + ;
2859*!* " FROM " + .cZzoordrh + " oh " + ;
2860*!* " JOIN zzwfactr f " + ;
2861*!* " ON f.factor = oh.factor " + ;
2862*!* " AND f.ccard_ok = 'Y' " + ;
2863*!* " JOIN zzxccard c " + ;
2864*!* " ON c.customer = oh.customer " + ;
2865*!* " AND c.card_type = CASE WHEN oh.factor = 'CC_A' THEN 'A' " + ;
2866*!* " WHEN oh.factor = 'CC_V' THEN 'V' " + ;
2867*!* " WHEN oh.factor = 'CC_M' THEN 'M' " + ;
2868*!* " WHEN oh.factor = 'CC_D' THEN 'D' " + ;
2869*!* " WHEN oh.factor = 'CC_O' THEN 'O' END " + ;
2870*!* " AND c.pkey = (SELECT MIN(pkey) FROM zzxccard " + ;
2871*!* " WHERE customer = c.customer " + ;
2872*!* " AND card_type = c.card_type) " + ;
2873*!* " WHERE oh.conf_type = 'A' " + ;
2874*!* " AND oh.autofact <> 'Y' "
2875
2876*!* lcTmpTable = SQLTableFromQuery(lcSQLString)
2877
2878 IF llRetVal
2879 WITH .oSB
2880 .SB_Reset()
2881 .cSB_Target = "zzocrdcr"
2882 .cSB_Source = this.czzeipoth
2883 .cSB_SourceAlias = "h"
2884
2885 .cSB_FROMExpandedString = " Join " + this.czzoordrh + " ordh " + ;
2886 " on ordh.ord_num = h.ord_num " + ;
2887 " And ordh.division = h.division "
2888
2889 .cSB_WhereString = " NOT EXISTS(SELECT 1 FROM zzocrdcr " + ;
2890 " WHERE " + ;
2891 " fkey = ordh.pkey) " + ;
2892 " AND h.cardno > '' "
2893
2894 .SB_SetLiteralFieldValue("last_mod",SQLFormatTS(DATETIME()))
2895 .SB_SetLiteralFieldValue("user_id",SQLFormatChar(goEnv.envLogin.cUserName))
2896 .SB_SetLiteralFieldValue("notes",SQLFormatChar(""))
2897
2898 .SB_KeySetAddKeySpec("pkey","Int","h.pkey")
2899
2900 .SB_SetLiteralFieldValue("fkey", "ordh.pkey")
2901
2902 IF This.oHostProcess.lAuthorizeNetMode
2903 .SB_SetLiteralFieldValue("use_chrg_amt", "'N'")
2904 .SB_SetLiteralFieldValue("cc_number", "h.cardno")
2905 .SB_SetLiteralFieldValue("cardno", "h.cardno")
2906 .SB_SetLiteralFieldValue("expirationdate", "h.expirationdate")
2907 .SB_SetLiteralFieldValue("cc_expirationdate", "''")
2908 ELSE
2909 .SB_SetLiteralFieldValue("use_chrg_amt", "'Y'")
2910
2911 lccc_number= " dbo.BCFN_XP_encrypt( h.cardno,'" + ;
2912 lcEncAlogorithm + "','" + lcCrypt_key + "','" + lcCrypt_password + "')"
2913 .SB_SetLiteralFieldValue("cc_number", lccc_number)
2914 .SB_SetLiteralFieldValue("cardno", "''")
2915
2916 lccc_expdate= " dbo.BCFN_XP_encrypt( h.expirationdate,'" + ;
2917 lcEncAlogorithm + "','" + lcCrypt_key + "','" + lcCrypt_password + "')"
2918
2919 .SB_SetLiteralFieldValue("cc_expirationdate", lccc_expdate)
2920 .SB_SetLiteralFieldValue("expirationdate", "''")
2921 ENDIF
2922
2923* .SB_SetLiteralFieldValue("cc_cvv", "h.cc_cvv")
2924
2925 llRetVal = llRetVal AND .SB_GenerateSQLInsertString()
2926 tcInsertCreditCardSQL = .cSQLString
2927 ENDWITH
2928
2929 ENDIF
2930 ENDIF
2931
2932 ENDWITH
2933
2934 SELECT (lnSelect)
2935 RETURN llRetVal
2936 ENDFUNC
2937*=== TR 1075041 9-12-2013 VKK
2938
2939 *--------------------------------------------------------------------------
2940
2941 PROCEDURE LogAfterUpdateBeforeCommitError
2942 LPARAMETERS pcAfterCommitErrorCursor
2943 LOCAL llRetVal
2944 llRetVal = .t.
2945
2946
2947 RETURN llRetVal
2948 ENDPROC
2949
2950 *--------------------------------------------------------------------------
2951
2952 PROCEDURE GetOrderInsertSQL
2953 LPARAMETERS pcInsertSQL_zzoordrh, pcInsertSQL_zzoordrd, pcInsertSQL_zzoordSP, pcInsertSQL_zzoordad ;
2954 , pcInsertSQL_zzootadr, pcInsertSQL_zzoordcd, pcInsertSQL_zzoordrh_nt, pcInsertSQL_zzoordrd_nt, ;
2955 pcInsertSQL_zzedatawhse
2956 &&--- TechRec 1054619 09-Jun-2011 MANI. pcInsertSQL_zzedatawhse ===
2957
2958 Local llRetVal, lnOldSelect
2959 llRetVal = .t.
2960 lnOldSelect = Select()
2961 llRetVal = .T.
2962
2963 LOCAL lcInsertSQL_zzoordrh, lcInsertSQL_zzoordrd, lcInsertSQL_zzoordSP
2964 LOCAL lcInsertSQL_zzoordad, lcInsertSQL_zzootadr, lcInsertSQL_zzoordcd, lcInsertSQL_zzedatawhse &&--- TechRec 1054619 09-Jun-2011 MANI. lcInsertSQL_zzedatawhse ===
2965 LOCAL lcInsertSQL_zzoordrh_nt, lcInsertSQL_zzoordrd_nt
2966 STORE " " TO lcInsertSQL_zzoordrh, lcInsertSQL_zzoordrd, lcInsertSQL_zzoordSP
2967 STORE " " TO lcInsertSQL_zzoordad, lcInsertSQL_zzootadr, lcInsertSQL_zzoordcd, lcInsertSQL_zzedatawhse &&--- TechRec 1054619 09-Jun-2011 MANI. lcInsertSQL_zzedatawhse ===
2968 STORE " " TO pcInsertSQL_zzoordrh_nt, lcInsertSQL_zzoordrd_nt
2969
2970 LOCAL lcZzoordrh, lcZzoordrd, lcZzoordsp,lcZzoordad, lcZzootadr, lcZzoordcd, lcZzoordrh_nt, lcZzoordrd_nt, lczzedatawhse &&--- TechRec 1054619 09-Jun-2011 MANI. Added lczzedatawhse ===
2971 lcZzoordrh = this.cZzoordrh
2972 lcZzoordrd = this.cZzoordrd
2973 lcZzoordsp = this.cZzoordsp
2974 lcZzoordad = this.cZzoordad
2975 lcZzootadr = this.cZzootadr
2976 lcZzoordcd = this.cZzoordcd
2977 lcZzoordrh_nt = this.cZzoordrh_nt
2978 lcZzoordrd_nt = this.cZzoordrd_nt
2979
2980 *--- TechRec 1054619 09-Jun-2011 MANI. ---
2981 lczzedatawhse = This.cZzedatawhse
2982 *=== TechRec 1054619 09-Jun-2011 MANI. ===
2983
2984 Local lcValues, lcExcludeFlds, lcCalFlds, lcCalFldsValues
2985 lnOldSelect = Select()
2986 llRetVal = .T.
2987
2988 lcFlds = ""
2989 lcValues = ""
2990 lcExcludeFlds = ""
2991 lcCalFlds = ""
2992 lcCalFldsValues = ""
2993
2994 *--- Order Header insert
2995 llRetVal = llRetVal And This.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzoordrh", lcZzoordrh, ;
2996 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,"h.")
2997
2998 lcInsertSQL_zzoordrh = " INSERT INTO zzoordrh (" + lcFlds + " ) SELECT " + lcValues + " FROM " + lcZzoordrh + " h "
2999
3000 *--- Order Detail insert
3001 lcFlds = ""
3002 lcValues = ""
3003 llRetVal = llRetVal And This.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzoordrd", lcZzoordrd, ;
3004 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,"d.")
3005
3006 lcInsertSQL_zzoordrd = " INSERT INTO zzoordrd (" + lcFlds + " ) SELECT " + lcValues + " FROM " + lcZzoordrd + " d "
3007
3008
3009 *--- Order sp insert
3010 lcFlds = ""
3011 lcValues = ""
3012 llRetVal = llRetVal And This.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzoordsp", lcZzoordsp, ;
3013 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,"sp.")
3014
3015 lcInsertSQL_zzoordsp = " INSERT INTO zzoordsp (" + lcFlds + " ) SELECT " + lcValues + " FROM " + lcZzoordsp + " sp "
3016
3017 *--- Order address insert
3018 lcFlds = ""
3019 lcValues = ""
3020 llRetVal = llRetVal And This.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzoordad", lcZzoordad, ;
3021 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,"a")
3022
3023 lcInsertSQL_zzoordad = " INSERT INTO zzoordad (" + lcFlds + " ) SELECT " + lcValues + " FROM " + lcZzoordad + " a "
3024
3025 *--- one time address insert
3026 lcFlds = ""
3027 lcValues = ""
3028 llRetVal = llRetVal And This.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzootadr", lcZzootadr, ;
3029 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,"a")
3030
3031 lcInsertSQL_zzootadr = " INSERT INTO zzootadr (" + lcFlds + " ) SELECT " + lcValues + " FROM " + lcZzootadr + " a "
3032
3033
3034 *--- Order comment insert
3035 lcFlds = ""
3036 lcValues = ""
3037 llRetVal = llRetVal And This.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzoordcd", lcZzoordcd, ;
3038 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,"c")
3039
3040 lcInsertSQL_zzoordcd = " INSERT INTO zzoordcd (" + lcFlds + " ) SELECT " + lcValues + " FROM " + lcZzoordcd + " c "
3041
3042
3043
3044
3045 *--- Order Header Notes insert
3046 lcFlds = ""
3047 lcValues = ""
3048 llRetVal = llRetVal And This.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "sysnotes", lcZzoordrh_nt, ;
3049 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,"h.")
3050
3051 lcInsertSQL_zzoordrh_nt = " INSERT INTO sysnotes (" + lcFlds + " ) SELECT " + lcValues + " FROM " + lcZzoordrh_nt + " h "
3052
3053 *--- Order Detail Notes Insert
3054
3055 lcFlds = ""
3056 lcValues = ""
3057 llRetVal = llRetVal And This.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "sysnotes", lcZzoordrd_nt, ;
3058 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,"d.")
3059
3060 lcInsertSQL_zzoordrd_nt = " INSERT INTO sysnotes (" + lcFlds + " ) SELECT " + lcValues + " FROM " + lcZzoordrd_nt + " d "
3061
3062 *--- TechRec 1054619 09-Jun-2011 MANI. ---
3063 *--- Data warehouse insert
3064 lcFlds = ""
3065 lcValues = ""
3066 llRetVal = llRetVal And This.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzedatawhse", lcZzedatawhse, ;
3067 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,"wh")
3068
3069 lcInsertSQL_zzedatawhse = " INSERT INTO zzedatawhse (" + lcFlds + " ) SELECT " + lcValues + " FROM " + lczzedatawhse+ " wh "
3070 *=== TechRec 1054619 09-Jun-2011 MANI. ===
3071
3072 pcInsertSQL_zzoordrh = lcInsertSQL_zzoordrh
3073 pcInsertSQL_zzoordrd = lcInsertSQL_zzoordrd
3074 pcInsertSQL_zzoordSP = lcInsertSQL_zzoordSP
3075 pcInsertSQL_zzoordad = lcInsertSQL_zzoordad
3076 pcInsertSQL_zzootadr = lcInsertSQL_zzootadr
3077 pcInsertSQL_zzoordcd = lcInsertSQL_zzoordcd
3078 pcInsertSQL_zzoordrh_nt = lcInsertSQL_zzoordrh_nt
3079 pcInsertSQL_zzoordrd_nt = lcInsertSQL_zzoordrd_nt
3080
3081 *--- TechRec 1054619 09-Jun-2011 MANI. ---
3082 pcInsertSQL_zzedatawhse = lcInsertSQL_zzedatawhse
3083 *=== TechRec 1054619 09-Jun-2011 MANI. ===
3084
3085 Select(lnOldSelect)
3086 Return llRetVal
3087
3088
3089 RETURN llRetVal
3090
3091 ENDPROC
3092
3093 *--------------------------------------------------------------------------
3094
3095 PROCEDURE GetTransHistoryInsertSQL
3096 LPARAMETERS pcInsertSQL_Zzeipohh, pcInsertSQL_Zzeipohd, pcInsertSQL_Zzeipoha, pcInsertSQL_Zzeipohc,;
3097 pcInsertSQL_Zzeipohh_nt, pcInsertSQL_Zzeipohd_nt,pcInsertSQL_Zzeipohs
3098
3099 LOCAL llRetVal
3100 LOCAL lcInsertSQL_Zzeipohh, lcInsertSQL_Zzeipohd, lcInsertSQL_Zzeipoha, lcInsertSQL_Zzeipohc
3101 LOCAL lcInsertSQL_Zzeipohh_nt, lcInsertSQL_Zzeipohd_nt,pcInsert_Zzeipohs,lcZZeipohs
3102 LOCAL lcZzeipohh, lcZzeipohd, lcZzeipoha, lcZzeipohc, lcZzeipohh_nt, lcZzeipohd_nt
3103 STORE " " TO lcInsertSQL_Zzeipohh, lcInsertSQL_Zzeipohd, lcInsertSQL_Zzeipoha, lcInsertSQL_Zzeipohc
3104 STORE " " TO lcInsertSQL_Zzeipohh_nt, lcInsertSQL_Zzeipohd_nt,lcInsert_Zzeipohs
3105
3106 llRetVal = .T.
3107 lcZzeipohh = this.cZzeipohh
3108 lcZzeipohd = this.cZzeipohd
3109 lcZzeipoha = this.cZzeipoha
3110 lcZzeipohc = this.cZzeipohc
3111 lcZzeipohh_nt = this.cZzeipohh_nt
3112 lcZzeipohd_nt = this.cZzeipohd_nt
3113 lcZZeipohs = this.cZzeipohs
3114
3115 LOCAL lcFlds, lcValues,lcExcludeFlds,lcCalFlds,lcCalFldsValues
3116
3117 lcFlds = ""
3118 lcValues = ""
3119 lcExcludeFlds = ""
3120 lcCalFlds = ""
3121 lcCalFldsValues = ""
3122
3123
3124 *--- insert new trans header in history
3125 llRetVal = llRetVal And this.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzeipohh", lcZzeipohh , ;
3126 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,'h')
3127
3128 lcInsertSQL_Zzeipohh = " INSERT INTO zzeipohh ( " + lcFlds + " ) " + ;
3129 " SELECT " + lcValues + " FROM " + lcZzeipohh + " h "
3130
3131 *--- insert new trans detail in history
3132 lcFlds = ""
3133 lcValues = ""
3134 llRetVal = llRetVal And this.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzeipohd", lcZzeipohd , ;
3135 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,'d')
3136
3137 lcInsertSQL_Zzeipohd = " INSERT INTO zzeipohd ( " + lcFlds + " ) " + ;
3138 " SELECT " + lcValues + " FROM " + lcZzeipohd + " d "
3139
3140
3141 *--- insert new trans detail in history
3142 lcFlds = ""
3143 lcValues = ""
3144 llRetVal = llRetVal And this.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzeipohs", lcZzeipohs , ;
3145 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,'d')
3146
3147 lcInsertSQL_Zzeipohs = " INSERT INTO zzeipohs ( " + lcFlds + " ) " + ;
3148 " SELECT " + lcValues + " FROM " + lcZzeipohs + " d "
3149
3150
3151 *--- insert new trans address in history
3152 lcFlds = ""
3153 lcValues = ""
3154 llRetVal = llRetVal And this.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzeipoha", lcZzeipoha , ;
3155 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,'a')
3156
3157 lcInsertSQL_Zzeipoha = " INSERT INTO zzeipoha ( " + lcFlds + " ) " + ;
3158 " SELECT " + lcValues + " FROM " + lcZzeipoha + " a "
3159
3160
3161 *--- insert new trans comment in history
3162 lcFlds = ""
3163 lcValues = ""
3164 llRetVal = llRetVal And this.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "zzeipohc", lcZzeipohc , ;
3165 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,'c')
3166
3167 lcInsertSQL_Zzeipohc = " INSERT INTO zzeipohc ( " + lcFlds + " ) " + ;
3168 " SELECT " + lcValues + " FROM " + lcZzeipohc + " c "
3169
3170
3171 *--- insert new trans header notes in history
3172 lcFlds = ""
3173 lcValues = ""
3174 llRetVal = llRetVal And this.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "sysnotes", lcZzeipohh_nt , ;
3175 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,'h')
3176
3177 lcInsertSQL_Zzeipohh_nt = " INSERT INTO sysnotes ( " + lcFlds + " ) " + ;
3178 " SELECT " + lcValues + " FROM " + lcZzeipohh_nt + " h "
3179
3180 lcFlds = ""
3181 lcValues = ""
3182 llRetVal = llRetVal And this.oCopyUtil.GetFldsValues(@lcFlds, @lcValues, "sysnotes", lcZzeipohd_nt , ;
3183 lcExcludeFlds,lcCalFlds,lcCalFldsValues,.f.,'h')
3184
3185 lcInsertSQL_Zzeipohd_nt = " INSERT INTO sysnotes ( " + lcFlds + " ) " + ;
3186 " SELECT " + lcValues + " FROM " + lcZzeipohd_nt + " h "
3187
3188 pcInsertSQL_Zzeipohh = lcInsertSQL_Zzeipohh
3189 pcInsertSQL_Zzeipohd = lcInsertSQL_Zzeipohd
3190 pcInsertSQL_Zzeipoha = lcInsertSQL_Zzeipoha
3191 pcInsertSQL_Zzeipohc = lcInsertSQL_Zzeipohc
3192 pcInsertSQL_Zzeipohh_nt = lcInsertSQL_Zzeipohh_nt
3193 pcInsertSQL_Zzeipohd_nt = lcInsertSQL_Zzeipohd_nt
3194 pcInsertSQL_Zzeipohs = lcInsertSQL_Zzeipohs
3195
3196 RETURN llRetVal
3197 ENDPROC
3198
3199 *--------------------------------------------------------------------------
3200
3201 PROCEDURE GetDeleteSQL
3202 LPARAMETERS pcDeleteSQL, pcSrc, pcDes, plNotExists
3203
3204 LOCAL llRetVal
3205 llRetVal = .T.
3206
3207 lcFilter = IIF(EMPTY(this.cFilterCriteria)," Where ", this.cFilterCriteria + " and ")
3208 lcExistsOrNot = IIF(plNotExists, " not ", "") + " exists "
3209 pcDeleteSQL = "DELETE h from " + pcDes + " h " + lcFilter + lcExistsOrNot + " (select h.pkey from " + pcSrc + ;
3210 " th where th.pkey = h.pkey ) "
3211
3212 RETURN llRetVal
3213
3214 ENDPROC
3215
3216 *--------------------------------------------------------------------------
3217
3218 PROCEDURE SqlExecInTran
3219 LPARAMETERS pcSql, plRetVal, pnTranErrCount, pcTranFailedMsg, pcErrMsg
3220
3221 *--- TR 1060326 25-Feb-13 SK Proceeding only when plRetVal is true (To avoid updating wrong error messages)
3222 IF plRetVal
3223
3224*!* plRetVal = plRetVal And v_SQLExec(pcSql)
3225 plRetVal = v_SQLExec(pcSql)
3226
3227 If pnTranErrCount = 0 And Not plRetVal
3228 pcTranFailedMsg = pcErrMsg
3229 lnTranErrCount = 1
3230 Endif
3231 ENDIF
3232 *=== TR 1060326 25-Feb-13 SK
3233 ENDPROC
3234
3235 *--------------------------------------------------------------------------
3236
3237 PROCEDURE SetPkey
3238 LPARAMETERS pcTbl, pcPkeySourceTbl
3239
3240 Local llRetVal, lnOldSelect,lcUnique, lcSQL, lnMaxPkey, lcPkeyIdentity
3241 llRetVal = .T.
3242 lnOldSelect = Select()
3243 lnMaxPkey = 0
3244
3245 lcSQL = "SELECT count(*) newCount from " + pcTbl
3246 llRetVal = llRetVal AND v_SqlExec(lcSQL,"TblRecord")
3247
3248 IF llRetVal AND TblRecord.newCount > 0
3249 lcPkeyIdentity = "pkey_I" + SYS(2015)
3250 lnMaxPkey = v_NextPKey(pcPkeySourceTbl,TblRecord.newCount)
3251 llRetVal = llRetVal and this.oCopyUtil.KeyFldUpdate(pcTbl, "pkey", lnMaxPkey, TblRecord.newCount, ;
3252 lcPkeyIdentity, "")
3253 ENDIF
3254
3255 IF USED("TblRecord")
3256 USE IN select("TblRecord")
3257 ENDIF
3258 Select(lnOldSelect)
3259 Return llRetVal
3260
3261 ENDPROC
3262
3263 *--------------------------------------------------------------------------
3264
3265 PROCEDURE UpdateProcessStatus
3266
3267 LOCAL llRetVal, lnOldSelect, lcSql, lcZzoordrh, lcZzoordrd
3268 llRetVal = .t.
3269 lnOldSelect = SELECT()
3270
3271 *--- number of order header created
3272 lcZzoordrh = "tcZzoordrh" + SYS(2015)
3273 lcSql = "select COUNT(*) as RecordCount from " + this.cZzoordrh
3274 llRetVal = llRetVal and v_sqlexec(lcSql,lcZzoordrh)
3275 IF llRetVal AND USED(lcZzoordrh)
3276 this.oHostProcess.nOrderHeader = EVALUATE(lcZzoordrh + ".RecordCount")
3277 USE IN SELECT(lcZzoordrh)
3278 ENDIF
3279
3280 *--- number of order detail created
3281 lcZzoordrd = "tcZzoordrd" + SYS(2015)
3282 lcSql = "select COUNT(*) as RecordCount from " + this.cZzoordrd
3283 llRetVal = llRetVal and v_sqlexec(lcSql,lcZzoordrd)
3284 IF llRetVal AND USED(lcZzoordrd)
3285 this.oHostProcess.nOrderDetail = EVALUATE(lcZzoordrd + ".RecordCount")
3286 USE IN SELECT(lcZzoordrd)
3287 ENDIF
3288
3289 Select(lnOldSelect)
3290 Return llRetVal
3291
3292 ENDPROC
3293
3294 *--------------------------------------------------------------------------
3295
3296*!* PROCEDURE GetInstance_AfterUpdateBeforeCommit
3297*!* LPARAMETERS poAfterUpdateBeforeCommit
3298*!*
3299*!* LOCAL llRetVal
3300*!* llRetVal = .t.
3301*!* poAfterUpdateBeforeCommit = NEWOBJECT("clsIpoPr_AfterUpdateBeforeCommit","clsIpoPr_AfterUpdateBeforeCommit.fxp",null,this.oHostPROCESS,this)
3302*!* llRetVal = (VARTYPE(poAfterUpdateBeforeCommit) == "O")
3303*!* RETURN llRetVal
3304*!* ENDPROC
3305
3306 *--------------------------------------------------------------------------
3307
3308 PROCEDURE SetLineSeqInTransComment
3309
3310 LOCAL llRetVal, lcZzeipotc
3311 llRetVal = .t.
3312 lcZzeipotc = "#zzeipotc" + SYS(2015)
3313 *--- move data with line_seq = 0 to temp table
3314 lcSql = "select pkey, fkey, line_num into " + lcZzeipotc + " from " + this.cZzeipotc + " where line_num = 0 "
3315 llRetVal = llRetVal and v_sqlexec(lcSql)
3316 THIS.RegisterTable(lcZzeipotc)
3317
3318 *--- set line seq in temp table
3319 llRetVal = llRetVal and this.oCopyUtil.SetLineSeq(lcZzeipotc, "line_num", "fkey", "fkey,pkey", "d")
3320 *--- update line seq in work table
3321 lcSql = "Update c Set line_num = d.line_num from " + this.cZzeipotc + " c inner join " + lcZzeipotc + ;
3322 " d on d.pkey = c.pkey "
3323 llRetVal = llRetVal and v_sqlexec(lcSql)
3324
3325
3326 RETURN llRetVal
3327
3328 ENDPROC
3329
3330 *--------------------------------------------------------------------------
3331
3332 PROCEDURE CheckFldAndAssign
3333 LPARAMETERS pcFlds, pcFld, pcValue, pcPrefixComma
3334 LOCAL lcAssign, lcFlds, lcFld, lcDeli
3335 lcAssign = ""
3336 lcDeli = ","
3337 lcFlds = lcDeli + pcFlds + lcDeli
3338 lcFld = lcDeli + UPPER(ALLTRIM(pcFld)) + lcDeli
3339 IF at(lcFld,lcFlds) > 0
3340 lcAssign = pcFld + " = " + pcValue
3341 ENDIF
3342
3343 IF !EMPTY(pcPrefixComma) AND !EMPTY(lcAssign)
3344 lcAssign = pcPrefixComma + lcAssign
3345 ENDIF
3346
3347 RETURN lcAssign
3348 ENDPROC
3349
3350 *--------------------------------------------------------------------------
3351
3352 PROCEDURE ClearShippingFields
3353 LPARAMETERS pcOrderTbl
3354
3355 LOCAL llRetVal, lcSql,lcAssign, lnOldSelect
3356 LOCAL lcDefaultDate, lcCurDate, lcOrderCur, lcDeli
3357
3358 llRetVal = .t.
3359 lnOldSelect = SELECT()
3360 lcDefaultDate = SQLFormatTS({//})
3361 lcCurDate = SQLFormatTS(TTOD(ServerDatetime()))
3362 lcOrderCur = "tcOrderCur" + SYS(2015)
3363 lcSql = " select * from " + pcOrderTbl + " where 1=2"
3364 llRetVal = llRetVal and v_sqlexec(lcSql, lcOrderCur)
3365
3366 DIMENSION laFlds[1]
3367
3368 AFIELDS(laFlds,lcOrderCur)
3369 lcDeli = ","
3370 lcFlds = this.GetFldList(@laFlds,lcDeli)
3371 lcAssign = ""
3372
3373 lcAssign = lcAssign + ", frgt_amt = case when Over_Frgt <> 'P' then 0 else h.frgt_amt end "
3374 lcAssign = lcAssign + ", misc_amt = case when Over_Frgt <> 'P' then 0 else h.misc_amt end "
3375 lcAssign = lcAssign + ", tax_amt = case when Tax_Empt <> 'P' then 0 else h.tax_amt end "
3376 *--- TechRec 1066657 28-Jan-2013 jjanand --- Removed , disc_amt = 0
3377 lcAssign = lcAssign + ", insu_amt = 0 "
3378 *=== TechRec 1066657 28-Jan-2013 jjanand ===
3379 lcAssign = lcAssign + ", mani_num = 0, bill_num = '', pro_num = '', consol_num = 0, ship_date = " + lcDefaultDate
3380
3381 lcAssign = lcAssign + ", RRC = '', Load_Id = '', stop_seq = 0, Sent_753 = '',Rcvd_754 = ''"
3382 lcAssign = lcAssign + ", first_pack_user = ''"
3383
3384 lcAssign = lcAssign + this.CheckFldAndAssign(lcFlds, "proc_940","''",",")
3385 lcAssign = lcAssign + this.CheckFldAndAssign(lcFlds, "proc_810","''",",")
3386 lcAssign = lcAssign + this.CheckFldAndAssign(lcFlds, "proc_810f","''",",")
3387 lcAssign = lcAssign + this.CheckFldAndAssign(lcFlds, "proc_870","''",",")
3388 lcAssign = lcAssign + this.CheckFldAndAssign(lcFlds, "opks_proc","''",",")
3389 lcAssign = lcAssign + this.CheckFldAndAssign(lcFlds, "pub_ship_date",lcDefaultDate,",")
3390 lcAssign = lcAssign + this.CheckFldAndAssign(lcFlds, "act_ship_date",lcDefaultDate,",")
3391
3392 *--- TR 1043347
3393 * Do not clear these fields.
3394 *lcAssign = lcAssign + this.CheckFldAndAssign(lcFlds, "ok_to_ship",lcDefaultDate,",")
3395
3396 *IF !vl_parmr("SOPRTNSHPR")
3397 * lcAssign = lcAssign + ",shipper = ''"
3398 *ENDIF
3399 *=== TR 1043347
3400
3401 lcAssign = lcAssign + ",AR_PERIOD = '', PRD_YEAR = 0, PRD_MONTH = 0"
3402 lcAssign = lcAssign + ",wave_num = 0, swc_num = 0"
3403 lcAssign = lcAssign + ",Proc_856 = 'N'"
3404
3405 *IF This.oHostProcess.lCCVerisignApproval ??????????
3406 lcAssign = lcAssign + this.CheckFldAndAssign(lcFlds, "appv_num","''",",")
3407 *ENDIF
3408
3409 lcSql = "Update h Set carton = 0, weight = 0, ord_volume = 0 " + lcAssign + ;
3410 " from " + pcOrderTbl + " h "
3411 llRetVal = llRetVal and v_sqlexec(lcSql)
3412
3413 SELECT(lnOldSelect)
3414 RETURN llRetVal
3415 ENDPROC
3416
3417 *-----------------------------------------------------------------------------
3418
3419*!* PROCEDURE GetInstance_BulkNibbler
3420*!* LPARAMETERS poBulkNibbler
3421*!* LOCAL llRetVal
3422*!* llRetVal = .t.
3423*!* poBulkNibbler = NEWOBJECT("clsIpoPr_BulkNibbler","clsIpopr_BulkNibbler.fxp",null,this.oHostProcess,this)
3424*!* llRetVal = VARTYPE(poBulkNibbler) == "O"
3425*!* RETURN llRetVal
3426*!* ENDPROC
3427
3428 *-----------------------------------------------------------------------------
3429
3430 PROCEDURE GetFldList
3431 LPARAMETERS paFlds, pcDeli
3432 LOCAL lcFlds, lnFld, lnMaxFld, lcDeli
3433
3434 lcFlds = ""
3435 lcDeli = IIF(EMPTY(pcDeli),",",pcDeli)
3436 lnMaxFld = ALEN(paFlds,1)
3437 FOR lnFld = 1 TO lnMaxFld
3438 lcFlds = lcFlds + UPPER(ALLTRIM(paFlds[lnFld,1])) + lcDeli
3439 ENDFOR
3440 IF !EMPTY(lcFlds)
3441 lcFlds = LEFT(lcFlds,LEN(lcFlds) - LEN(lcDeli))
3442 ENDIF
3443
3444 RETURN lcFlds
3445 ENDPROC
3446
3447 *--------------------------------------------------------------------------
3448
3449 PROCEDURE SetDefaultDate_OrderDetail
3450
3451 LOCAL llRetVal, lcSql, lcDefaultDate, lcCurDate
3452 llRetVal = .t.
3453 lcDefaultDate = SQLFormatTS({//})
3454 lcCurDate = SQLFormatTS(TTOD(ServerDatetime()))
3455
3456 *--- TR 1071867 06/24/13 ATHIRUNAVU Set default date for isr_Start_date
3457 *--- TR 1077221 03/18/14 ATHIRUNAVU Removed pri_Date update.
3458 *lcSql = "Update d Set CNCL_DATE = " + lcDefaultDate + ;
3459 ", FEXPN_DATE = " + lcDefaultDate + ;
3460 ", PRI_DATE = " + lcCurDate + ;
3461 ", ISR_START_DATE = " + lcDefaultDate + ;
3462 " FROM " + this.cZzoordrd + " d "
3463 lcSql = "Update d Set CNCL_DATE = " + lcDefaultDate + ;
3464 ", FEXPN_DATE = " + lcDefaultDate + ;
3465 ", ISR_START_DATE = " + lcDefaultDate + ;
3466 " FROM " + this.cZzoordrd + " d "
3467 llRetVal = llRetVal and v_sqlexec(lcSql)
3468
3469 RETURN llRetVal
3470
3471 ENDPROC
3472
3473 *--------------------------------------------------------------------------
3474
3475 PROCEDURE PrepareOrderExtender
3476
3477 LOCAL llRetVal,lcSql
3478 llRetVal = .t.
3479
3480 *--- Update three fields - hdrfkey, dtlfkey, GrpFKey in zzzudfdt table.
3481 *--- Now, cZzeipotd has final order pkey in zzoordrd_pkey field
3482 lcSql = "Update dex Set hdrfkey = d.fkey, DtlFkey = d.pkey, GrpFKey = dex.Grp_O_Key " + ;
3483 " from " + this.cZzoordrdExt + " dex inner join " + this.cZzoordrd + " d on d.zzeipotd_pkey = dex.oldDtlfkey "
3484 llRetVal = llRetVal and v_sqlexec(lcSql)
3485 this.LogEntry("Prepare Order extender " + IIF(llRetVal,"completed.","failed."))
3486
3487 RETURN llRetVal
3488 ENDPROC
3489
3490 *--------------------------------------------------------------------------
3491 PROCEDURE PrepareOrderDiscount
3492
3493 LOCAL llRetVal, lcSql, lcDefaultdt
3494 *,CUSTOMER,ORD_NUM,PICK_NUM,INV_NUM,ORD_DATE,PO_NUM,PO_DATE,
3495 llRetVal = .t.
3496 *, po_date = h.po_date - h.po_Date not exists
3497 lcDefaultdt = sqlformatTS({})
3498
3499 lcSql = " Update ds Set customer = h.customer, pick_num = 0, inv_num = 0, ord_date = h.ord_date, po_num = h.po_num" + ;
3500 ", po_date = " + lcDefaultdt + ;
3501 " from " + this.cZzoordsac + " ds inner join " + this.cZzoordrh + " h on h.ord_num = ds.ord_num "
3502 llRetVal = llRetVal and v_sqlexec(lcSql)
3503
3504 lcSql = " Update ds Set LINE_SEQ = D.line_seq from " + this.cZzoordsac + " ds inner join " + this.cZzoordrd + " d on d.ord_num = ds.ord_num " + ;
3505 " and d.pkey = ds.dfkey "
3506 llRetVal = llRetVal and v_sqlexec(lcSql)
3507
3508 this.LogEntry("Prepare Order Discount " + IIF(llRetVal,"completed.","failed."))
3509 RETURN llRetVal
3510 ENDPROC
3511
3512 *--------------------------------------------------------------------------
3513
3514 PROCEDURE PrepareOrderDiscount
3515
3516 LOCAL llRetVal, lcSql, lcDefaultdt
3517 *,CUSTOMER,ORD_NUM,PICK_NUM,INV_NUM,ORD_DATE,PO_NUM,PO_DATE,
3518 llRetVal = .t.
3519 *, po_date = h.po_date - h.po_Date not exists
3520 lcDefaultdt = sqlformatTS({})
3521
3522 lcSql = " Update ds Set customer = h.customer, pick_num = 0, inv_num = 0, ord_date = h.ord_date, po_num = h.po_num" + ;
3523 ", po_date = " + lcDefaultdt + ;
3524 " from " + this.cZzoordsac + " ds inner join " + this.cZzoordrh + " h on h.ord_num = ds.ord_num "
3525 llRetVal = llRetVal and v_sqlexec(lcSql)
3526
3527 lcSql = " Update ds Set LINE_SEQ = D.line_seq from " + this.cZzoordsac + " ds inner join " + this.cZzoordrd + " d on d.ord_num = ds.ord_num " + ;
3528 " and d.pkey = ds.dfkey "
3529 llRetVal = llRetVal and v_sqlexec(lcSql)
3530
3531 RETURN llRetVal
3532 ENDPROC
3533
3534 *--------------------------------------------------------------------------
3535
3536 PROCEDURE SetUniqueSet_id(pcZzeipoTD, pcOrigSet_id)
3537
3538 LOCAL llRetVal, lcSql, lcOrigSet_id, lcUnique, lcPrefix
3539 llRetVal = .t.
3540 lcUnique = SYS(2015)
3541 lcOrigSet_id = "#Uk_set_id" + lcUnique
3542 lcPrefix = RIGHT(lcUnique,5) + "@"
3543* ", case when d.set_id > '' then d.set_id else '" + lcPrefix + " + left(ltrim(str(d.line_seq)),3) +' end set_id_new " + ;
3544
3545 *--- create unique set_id for blank set_id
3546 lcSql = "select d.pkey, d.set_id" + ;
3547 ",'" + lcPrefix + "' + left(ltrim(str(d.line_seq)),4) set_id_new " + ;
3548 " into " + lcOrigSet_id + " from " + pcZzeipoTD + " d " + ;
3549 " where d.set_id = '' and exists (select ex.pkey from " + this.cZzeipoTDExt + " ex where ex.oldDtlFkey = d.pkey and ex.oldHdrFkey = d.fkey)"
3550 llRetval = llRetval and v_sqlexec(lcSql)
3551
3552 .RegisterTable(lcOrigSet_id)
3553
3554 lcSql = "Update d Set set_id = u.set_id_new from " + pcZzeipoTD + " d inner join " + lcOrigSet_id + " u on u.pkey = d.pkey "
3555 llRetval = llRetval and v_sqlexec(lcSql)
3556 pcOrigSet_id = lcOrigSet_id
3557
3558 RETURN llRetVal
3559 ENDPROC
3560
3561 *--------------------------------------------------------------------------
3562
3563 PROCEDURE ResetOriginalSet_id(pcZzeipotd_OrigSet_id,pcZzeipoTD)
3564
3565 LOCAL llRetVal, lcSql
3566
3567 llRetVal = .t.
3568 lcSql = "update d Set set_id = u.set_id from " + pcZzeipoTD + " d inner join " + pcZzeipotd_OrigSet_id + ;
3569 " u on u.pkey = d.pkey "
3570 llRetval = llRetval and v_sqlexec(lcSql)
3571
3572 RETURN llRetVal
3573 ENDPROC
3574
3575 *--------------------------------------------------------------------------
3576
3577 PROCEDURE GetUpdateSQL_OrderExtender(pcUpdateSql_zzzudfdt)
3578
3579 LOCAL llRetVal, lcSql
3580 llRetVal = .t.
3581 llRetVal = llRetVal and this.oCopyUtil.GetUpdateSql(@pcUpdateSql_zzzudfdt,this.cZzoordrdExt,"zzzudfdt")
3582 RETURN llRetVal
3583 ENDPROC
3584
3585 *--------------------------------------------------------------------------
3586
3587*!* PROCEDURE GetInstance_EDIBulkMatching(poEdiBulkMatch)
3588*!*
3589*!* LOCAL llRetVal, lcSql
3590*!* llRetVal = .t.
3591*!* IF VARTYPE(this.oHostProcess.oPostValidation) == "O" AND VARTYPE(this.oHostProcess.oPostValidation.oEdiBulkMatching) == "O"
3592*!* poEdiBulkMatch = this.oHostProcess.oPostValidation.oEdiBulkMatching
3593*!* ELSE
3594*!* poEdiBulkMatch = NEWOBJECT("clsipopr_EdiBulkMatching","clsipopr_EdiBulkMatching.fxp","",null,this.oHostProcess)
3595*!* ENDIF
3596*!* llRetval = llRetVal and (VARTYPE(poEdiBulkMatch) == "O")
3597*!* RETURN llRetVal
3598*!* ENDPROC
3599
3600 *--------------------------------------------------------------------------
3601
3602 PROCEDURE SetSac_IDandRate
3603 LPARAMETERS pcZzeipoTD, pcZzeiPOtsac
3604
3605 LOCAL llRetVal, lcSql
3606
3607 llRetVal = .t.
3608 lcSql = "alter table " + pcZzeipoTD + " add sac_id varchar(250) not null default('')"
3609 llRetval = llRetVal and v_sqlexec(lcSql)
3610 lcSql = "alter table " + pcZzeipoTD + " add sac_rate numeric(7,3) not null default(0)"
3611 llRetval = llRetVal and v_sqlexec(lcSql)
3612
3613 TEXT TO lcSql NOSHOW
3614 declare curSac CURSOR FORWARD_ONLY FOR
3615 select c.hfkey, c.dfkey
3616 FROM zzeipotsac c inner join #zzeipotd d on c.hfkey = d.fkey and c.dfkey = d.pkey order by hfkey, dfkey
3617 OPEN curSac
3618
3619 declare @sac_id as varchar(250);
3620 set @sac_id = ''
3621 declare @sac_rate as numeric(7,3);
3622 set @sac_rate = 0.0
3623 declare @hfkey as int
3624 declare @dfkey as int
3625
3626 FETCH NEXT FROM curSac INTO @hfkey,@dfkey
3627 while @@fetch_status = 0
3628 begin
3629 set @sac_id = ''
3630 set @sac_rate = 0.0
3631 select @sac_id = @sac_id + sac_code, @sac_rate = @sac_rate + sac_rate from zzeipotsac a
3632 where hfkey = @hfkey and dfkey = @dfkey order by a.hfkey, a.dfkey, a.sac_code, a.sac_rate
3633 update d set sac_id = @sac_id, sac_rate = @sac_rate from #zzeipotd d where d.pkey = @dfkey and d.fkey = @hfkey
3634 FETCH NEXT FROM curSac INTO @hfkey,@dfkey
3635 end
3636 close curSac;
3637 DEALLOCATE curSac;
3638 create index sac_id on #zzeipotd (sac_id,sac_rate)
3639 ENDTEXT
3640
3641 lcSql = STRTRAN(lcSql,"#zzeipotd", pcZzeipoTD)
3642 lcSql = STRTRAN(lcSql,"#zzeipotsac", pcZzeiPOtsac)
3643 llRetval = llRetVal and v_sqlexec(lcSql)
3644
3645 RETURN llRetVal
3646
3647 ENDPROC
3648
3649 *--------------------------------------------------------------------------
3650
3651 PROCEDURE AdvanceThermoPlus(l_nThermoCnt, pcCaption)
3652 If This.lUserInterface
3653 dodefault(@l_nThermoCnt)
3654 IF !EMPTY(pcCaption) AND VARTYPE(pcCaption) = "C"
3655 this.UpdateThermoCaption(pcCaption)
3656 ENDIF
3657 ENDIF
3658 ENDPROC
3659
3660 *--------------------------------------------------------------------------
3661
3662 *--- TechRec 1048804 23-Aug-2010 TShenbagavalli ---
3663 PROCEDURE SetSpsBillOptn
3664 LOCAL llRetVal, lcSql
3665 llRetVal = .t.
3666
3667
3668 *--- TR 1060588 01-29-2013 RKI ---*
3669 *Bill_optn from Shipper Reference
3670 lcSQL = "Update h set bill_optn = r.bill_optn " + ;
3671 " from " + this.cZzoordrh + " h " + ;
3672 " inner join zzxshipr r (nolock) " + ;
3673 " on h.shipper = r.shipper where h.bill_optn = '' "
3674 llRetVal = llRetVal and v_sqlexec(lcSql)
3675 *=== TR 1060588 01-29-2013 RKI ===*
3676
3677 *--- TR 1062786 5-8-2012 VKK
3678 lcSql = "Update h Set bill_optn = r.bill_optn " + ;
3679 "from " + this.cZzoordrh + " h " + ;
3680 " inner join zzxcslsr r (nolock) " + ;
3681 " on r.pkey = dbo.bcfn_customer_sales_res(h.customer, h.division, h.store, h.department,h.ord_type) " + ;
3682 " where h.bill_optn = '' " && TR 1060588 02-12-2013 RKI
3683 llRetVal = llRetVal and v_sqlexec(lcSql)
3684 *=== TR 1062786 5-8-2012 VKK
3685
3686
3687 lcSql = "Update h Set bill_optn = r.bill_optn from " + this.cZzoordrh + " h inner join zzxstorr r (nolock) " + ;
3688 " on h.customer = r.customer and h.store = r.store where r.active_ok = 'Y'" + ;
3689 " and h.bill_optn = '' " && *--- TR 1062786 5-8-2012 VKK
3690 llRetVal = llRetVal and v_sqlexec(lcSql)
3691
3692 lcSql = "Update h Set bill_optn = r.bill_optn from " + this.cZzoordrh + " h inner join zzxcustr r (nolock) " + ;
3693 " on h.customer = r.customer where h.bill_optn = '' "
3694 llRetVal = llRetVal and v_sqlexec(lcSql)
3695
3696 RETURN llRetVal
3697 ENDPROC
3698 *--------------------------------------------------------------------------
3699 *=== TechRec 1048804 23-Aug-2010 TShenbagavalli ===
3700
3701 PROCEDURE RegisterTable
3702 LPARAMETERS tcTable
3703
3704
3705 IF USED("curTabDrop") AND NOT EMPTY(tcTable)
3706 INSERT INTO curTabDrop VALUES (tcTable)
3707 ENDIF
3708
3709 ENDPROC
3710
3711 *--- TechRec 1054619 13-Jun-2011 MANI. ---
3712 *==============================================================
3713 *-- Function : PrepareDataForWhse
3714 *-- Syopsis : Update field values to ware house table
3715 *-- (zzedatawhse) from oder detail.
3716 *==============================================================
3717
3718 FUNCTION PrepareDataForWhse
3719 LOCAL llRetVal, lcSQL
3720 llRetVal = true
3721 lcSQL = ""
3722
3723 WITH This
3724 *--- TechRec 1056973 15-Nov-2011 jisingh ---
3725*!* lcSQL = "UPDATE wh SET Table_name = (CASE WHEN wh.hfkey = h.pkey and Wh.dfkey = 0 THEN 'ZZOORDRH' ELSE " + ;
3726*!* " (CASE WHEN wh.Dfkey = COALESCE(D.pkey, 0) THEN 'ZZOORDRD' END) END), " + ;
3727*!* " line_seq = CASE WHEN wh.Dfkey = COALESCE(D.pkey,0) THEN COALESCE(D.Line_seq,0) ELSE wh.line_seq END, " + ;
3728*!* " sizebucket = CASE WHEN wh.Dfkey = COALESCE(D.pkey,0) THEN COALESCE(D.sizebucket,0) ELSE Wh.sizebucket END, " + ;
3729*!* " user_id = " + SQLFormatchar(EDI_USER) + ;
3730*!* "FROM " + .cZzeiPOtWHSE + " Wh JOIN " + .cZzeipoth + " h ON h.pkey = wh.Hfkey " + ;
3731*!* "LEFT OUTER JOIN " + .cZzeipotd + " D ON D.Pkey = wh.dfkey "
3732
3733*!* llRetVal = v_SQLExec(lcSQL)
3734
3735
3736 lcSQL = "UPDATE wh1 SET sfkey = s.pkey " + ;
3737 "FROM " + .cZzedataWHSE + " wh1 " + ;
3738 "JOIN " + .czzeipotwhse + " wh " + ;
3739 " ON wh.sfkey = wh1.sfkey " + ;
3740 " AND wh.dfkey = wh1.dfkey " + ;
3741 "JOIN " + .cZzeipots + " s " + ;
3742 " ON s.doc_num = wh.doc_num " + ;
3743 " AND s.sln_line = wh.edi_line " + ;
3744 " AND s.sln01 = wh.sln_line "
3745
3746 llRetVal = llRetVal AND v_SQLExec(lcSQL)
3747
3748 *--- TechRec 1059747 27-Apr-2012 jisingh ---
3749 * EDIS
3750 lcSQL = "UPDATE wh1 SET wh1.dfkey = d.pkey " + ;
3751 " ,wh1.sizebucket = d.sizebucket " + ;
3752 "FROM " + .cZzedataWHSE + " wh1 " + ;
3753 "JOIN " + .czzeipotwhse + " wh " + ;
3754 " ON wh.sfkey = wh1.sfkey " + ;
3755 " AND wh.dfkey = wh1.dfkey " + ;
3756 "JOIN " + .cZzeipotd + " d " + ;
3757 " ON d.doc_num = wh.doc_num " + ;
3758 " AND d.po1_line = wh.edi_line " + ;
3759 " AND d.sln01 = wh.sln_line " + ;
3760 " AND d.store = wh.store " + ;
3761 "WHERE wh.sfkey > 0 "
3762
3763 llRetVal = llRetVal AND v_SQLExec(lcSQL)
3764
3765 * EDID
3766 lcSQL = "UPDATE wh1 SET wh1.dfkey = d.pkey " + ;
3767 " ,wh1.sizebucket = d.sizebucket " + ;
3768 "FROM " + .cZzedataWHSE + " wh1 " + ;
3769 "JOIN " + .czzeipotwhse + " wh " + ;
3770 " ON wh.sfkey = wh1.sfkey " + ;
3771 " AND wh.dfkey = wh1.dfkey " + ;
3772 "JOIN " + .cZzeipotd + " d " + ;
3773 " ON d.doc_num = wh.doc_num " + ;
3774 " AND d.po1_line = wh.edi_line " + ;
3775 " AND d.store = wh.store " + ;
3776 "WHERE wh.sfkey = 0 "
3777
3778 llRetVal = llRetVal AND v_SQLExec(lcSQL)
3779 *=== TechRec 1059747 27-Apr-2012 jisingh ===
3780
3781*!* *- TR 1059065 FH - why do we need to update dfkey again?
3782*!* *- - this update doesn't work on SDQ orders where 2 lines have the same doc_num, po1_line, sln01 but belongs to different
3783*!* *- - header so it has different hfkey and dfkey.
3784*!* lcSQL = "UPDATE wh1 SET dfkey = d.pkey " + ;
3785*!* "FROM " + .cZzedataWHSE + " wh1 " + ;
3786*!* "JOIN " + .czzeipotwhse + " wh " + ;
3787*!* " ON wh.sfkey = wh1.sfkey " + ;
3788*!* " AND wh.dfkey = wh1.dfkey " + ;
3789*!* "JOIN " + .cZzeipotd + " d " + ;
3790*!* " ON d.doc_num = wh.doc_num " + ;
3791*!* " AND d.po1_line = wh.edi_line " + ;
3792*!* " AND d.sln01 = wh.sln_line "
3793
3794*!* llRetVal = llRetVal AND v_SQLExec(lcSQL)
3795
3796
3797 *--- TechRec 1058326 13-Dec-2011 jisingh ---
3798 *lcSQL = "UPDATE wh SET table_name = (CASE WHEN wh.sfkey = s.pkey THEN 'ZZEIPOHS' ELSE " + ;
3799 " (CASE WHEN wh.hfkey > 0 AND wh.dfkey = 0 THEN 'ZZOORDRH' ELSE " + ;
3800 " (CASE WHEN wh.dfkey = COALESCE(d.pkey, 0) THEN 'ZZOORDRD' ELSE wh.table_name END) END) END), " + ;
3801 " line_seq = CASE WHEN wh.dfkey = COALESCE(d.pkey,0) THEN COALESCE(d.line_seq,0) ELSE wh.line_seq END, " + ;
3802 " sizebucket = CASE WHEN wh.sfkey = COALESCE(s.pkey,0) THEN COALESCE(s.sizebucket,0) ELSE d.sizebucket END, " + ;
3803 " user_id = " + SQLFormatchar(EDI_USER) + ;
3804 "FROM " + .cZzedataWHSE + " wh " + ;
3805 "LEFT OUTER JOIN " + .cZzeipotd + " d ON d.pkey = wh.dfkey " + ;
3806 "LEFT OUTER JOIN " + .cZzeipots + " s ON s.pkey = wh.sfkey "
3807
3808*!* lcSQL = "UPDATE wh SET table_name = (CASE WHEN wh.sfkey > 0 THEN 'ZZEIPOHS' ELSE " + ;
3809*!* " (CASE WHEN wh.hfkey > 0 AND wh.dfkey = 0 THEN 'ZZOORDRH' ELSE " + ;
3810*!* " (CASE WHEN wh.dfkey = COALESCE(d.pkey, 0) THEN 'ZZOORDRD' ELSE wh.table_name END) END) END), " + ;
3811*!* " line_seq = (CASE WHEN COALESCE(d.slntodtl,'') IN ('Y','I') THEN COALESCE(d1.line_seq,0) ELSE " + ;
3812*!* " (CASE WHEN wh.dfkey = COALESCE(d.pkey,0) THEN COALESCE(d.line_seq,0) ELSE wh.line_seq END) END), " + ;
3813*!* " sizebucket = (CASE WHEN wh.sfkey = COALESCE(s.pkey,0) THEN COALESCE(s.sizebucket,0) ELSE " + ;
3814*!* " (CASE WHEN d.sizebucket IS NOT NULL THEN d.sizebucket ELSE wh.sizebucket END) END), " + ;
3815*!* " user_id = " + SQLFormatchar(EDI_USER) + ;
3816*!* "FROM " + .cZzedataWHSE + " wh " + ;
3817*!* "LEFT OUTER JOIN " + .cZzeipotd + " d ON d.pkey = wh.dfkey " + ;
3818*!* "LEFT OUTER JOIN " + .cZzeipots + " s ON s.pkey = wh.sfkey " + ;
3819*!* "LEFT OUTER JOIN (SELECT ord_num, assortment , po1_line, MIN(line_seq) AS line_seq " + ;
3820*!* " FROM " + .cZzeipotd + " GROUP BY ord_num, assortment, po1_line) d1 " + ;
3821*!* " ON d.ord_num = d1.ord_num AND d.assortment = d1.assortment AND d.po1_line = d1.po1_line "
3822*!*
3823
3824 *=== TechRec 1058326 13-Dec-2011 jisingh ===
3825
3826
3827
3828 *- FH 1074465 - Added zzoordrd_pkey to group by. zzoordrh.line_seq MUST MATCH zzedatawhse.line_seq
3829 *-TR 1059065 FH - took out sizebucket, we updated sizebucket from before
3830 lcSQL = "UPDATE wh SET table_name = (CASE WHEN wh.sfkey > 0 THEN 'ZZEIPOHS' ELSE " + ;
3831 " (CASE WHEN wh.hfkey > 0 AND wh.dfkey = 0 THEN 'ZZOORDRH' ELSE " + ;
3832 " (CASE WHEN wh.dfkey = COALESCE(d.pkey, 0) THEN 'ZZOORDRD' ELSE wh.table_name END) END) END), " + ;
3833 " line_seq = (CASE WHEN COALESCE(d.slntodtl,'') IN ('Y','I') THEN COALESCE(d1.line_seq,0) ELSE " + ;
3834 " (CASE WHEN wh.dfkey = COALESCE(d.pkey,0) THEN COALESCE(d.line_seq,0) ELSE wh.line_seq END) END), " + ;
3835 " user_id = " + SQLFormatchar(EDI_USER) + ;
3836 "FROM " + .cZzedataWHSE + " wh " + ;
3837 "LEFT OUTER JOIN " + .cZzeipotd + " d ON d.pkey = wh.dfkey " + ;
3838 "LEFT OUTER JOIN " + .cZzeipots + " s ON s.pkey = wh.sfkey " + ;
3839 "LEFT OUTER JOIN (SELECT ord_num, assortment , po1_line, MIN(line_seq) AS line_seq , zzoordrd_pkey " + ; && FH 1074465 zzoordrd_pkey
3840 " FROM " + .cZzeipotd + " GROUP BY ord_num, assortment, po1_line, zzoordrd_pkey ) d1 " + ; && FH 1074465 zzoordrd_pkey
3841 " ON d.ord_num = d1.ord_num AND d.assortment = d1.assortment AND d.po1_line = d1.po1_line " +;
3842 " AND d.zzoordrd_pkey = d1.zzoordrd_pkey "
3843
3844 llRetVal = llRetVal AND v_SQLExec(lcSQL)
3845 *=== TechRec 1056973 15-Nov-2011 jisingh ===
3846
3847 *-FH 1074465 - If SLNTODTL, we need to set min(sizebucket) for assortment, otherwise set sizebucket to what was set above
3848 *- Moved this below to try and get the min(line_seq) for EDID lines.
3849 *- If this was above then line_seq on EDID won't necessary be the min(line_seq) per assortment (set by query above). (outbound won't pick it up)
3850 lcSQL = " Update wh set " + ;
3851 " sizebucket = (case " + ;
3852 " when COALESCE(d.slntodtl, '') in ('Y', 'I') then COALESCE(d1.sizebucket, 0) " + ;
3853 " else COALESCE(wh.sizebucket , 0) end) " + ;
3854 " , line_seq = (CASE WHEN COALESCE(d.slntodtl,'') IN ('Y','I') THEN COALESCE(d1.line_seq,0) ELSE " +;
3855 " (CASE WHEN wh.dfkey = COALESCE(d.pkey,0) THEN COALESCE(d.line_seq,0) ELSE wh.line_seq END) END) " +;
3856 " FROM " + .cZzedataWHSE + " wh " + ;
3857 " left outer join " + .cZzeipotd + " d " + ;
3858 " on d.pkey = wh.dfkey " + ;
3859 " left outer join ( " + ;
3860 " select ord_num " + ;
3861 " , assortment " + ;
3862 " , po1_line " + ;
3863 " , min(sizebucket) as sizebucket " + ;
3864 " , MIN(line_seq) as line_seq " +;
3865 " from " + .cZzeipotd + ;
3866 " group by ord_num, assortment, po1_line) d1 " + ;
3867 " on d.ord_num = d1.ord_num " + ;
3868 " and d.assortment = d1.assortment " + ;
3869 " and d.po1_line = d1.po1_line " + ;
3870 " where wh.sfkey = 0 "
3871 llRetVal = llRetVal AND v_SQLExec(lcSQL)
3872
3873 ENDWITH
3874
3875 RETURN llRetVal
3876 ENDFUNC && PrepareDataForWhse
3877
3878
3879 *=== TechRec 1054619 13-Jun-2011 MANI. ===
3880*-TR 1059065 FH
3881PROCEDURE UpdateWarehouseSizebucket
3882 LPARAMETERS pcDataWhse, pcSrcDtl
3883
3884 LOCAL llRetval, lcSql
3885 llRetval = .t.
3886
3887 lcSql = " update wh set wh.sizebucket = d.sizebucket " + ;
3888 " from " + pcDataWhse + " wh " + ;
3889 " join " + pcSrcDtl + " d " + ;
3890 " on wh.dfkey = d.pkey " +;
3891 " where wh.sfkey = 0"
3892
3893 llRetval = llRetVal and v_sqlexec(lcSql)
3894
3895 RETURN llRetval
3896
3897ENDPROC
3898
3899PROCEDURE UpdateWarehouseSLNSizebucket
3900 LPARAMETERS pcDataWhse, pcSrcDtl
3901
3902 LOCAL llRetval, lcSql
3903 llRetval = .t.
3904
3905 lcSql = " update wh set wh.sizebucket = s.sizebucket " + ;
3906 " from " + pcDataWhse + " wh " + ;
3907 " join " + pcSrcDtl + " s " + ;
3908 " on wh.sfkey = s.pkey " +;
3909 " where wh.sfkey > 0"
3910
3911 llRetval = llRetVal and v_sqlexec(lcSql)
3912
3913 RETURN llRetval
3914
3915ENDPROC
3916
3917
3918
3919*-TR 1059065 FH
3920
3921
3922ENDDEFINE
3923
3924*==========================================================
3925DEFINE CLASS IPO_CopyUtil AS CopyUtil
3926
3927 *--------------------------------------------------
3928 PROCEDURE SendCursorToSqlTbl
3929 Lparam pcSrcDbf, pcDesTable, plDesTableExists
3930
3931 LOCAL llRetVal
3932 llRetVal = .T.
3933
3934 llRetVal = DODEFAULT(pcSrcDbf, pcDesTable, plDesTableExists)
3935
3936 IF llRetVal AND USED("curTabDrop") AND NOT EMPTY(pcDesTable)
3937 INSERT INTO curTabDrop VALUES (pcDesTable)
3938 ENDIF
3939
3940 ENDPROC
3941
3942ENDDEFINE