Advertisement
dj_romeo

arhstock

Sep 7th, 2015
1,076
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. SET DELETED ON
  2. SET DATE germ
  3. SET SAFETY OFF  
  4. SET ENGINEBEHAVIOR 70
  5. PUBLIC PochDate
  6.  
  7. USE arstock
  8. PochDate=date
  9. USE
  10. *USE salinh.dbf SHARED
  11. *APPEND FROM salinhop.dbf
  12. *APPEND FROM salinhT.dbf
  13.  
  14. *USE salinld.dbf excl
  15. *APPEND FROM salinldop.dbf
  16. *APPEND FROM salinldT.dbf
  17. *DELETE ALL FOR Salinld.localcode="                    " or  Salinld.localcode="2                   "
  18. *PACK
  19. *use
  20.  
  21. SELECT Salouth.date, Saloutld.qty, Saloutld.localcode;
  22.  FROM ;
  23.      saloutld ;
  24.     LEFT OUTER JOIN salouth ;
  25.    ON  Saloutld.invoice_no = Salouth.invoice_no;
  26. union all;
  27. SELECT Salinh.date, Salinld.qty*(-1) as qty, Salinld.localcode;
  28.  FROM ;
  29.      salinld ;
  30.     LEFT OUTER JOIN salinh ;
  31.    ON  Salinld.invoice_no = Salinh.invoice_no;
  32.    into cursor obig
  33.    
  34. SELECT "3                   " as WAREH_code, obig.localcode as localcode,;
  35.         "                    " as lot_id,;
  36.         obig.qty as stock, obig.date as date;
  37. FROM obig;
  38. INTO CURSOR OBIG
  39.    
  40. PUBLIC MaxDate, MinDate, RecnMax, NumStr, PromDate
  41. MaxDate=obig.date
  42. MinDate=obig.date
  43.  
  44. GO bott
  45. recnmax=RECNO()
  46. FOR Numstr=1 TO recnMax STEP 1
  47.     GO numstr
  48.     MaxDate=MAX(maxDate, obig.date)
  49.     MinDate=Min(minDate, obig.date)
  50. endf
  51.  
  52. SELECT arstock.*;
  53. FROM arstock;
  54. WHERE arstock.DATE=PochDate;
  55. INTO CURSOR STOCK
  56.  
  57.  
  58. SELECT obig.*;
  59. FROM obig;
  60. WHERE obig.DATE<PochDate;
  61. UNION all;
  62. SELECT stock.*;
  63. FROM stock;
  64. INTO CURSOR OBIG
  65.        
  66. PromDate=MaxDate
  67.  
  68. DO while PromDate>=MinDate
  69.     SELECT stock.*;
  70.     FROM stock;
  71.     UNION all;
  72.     SELECT OBIG.WAREH_CODE, obig.localcode, OBIG.lot_id,;
  73.         OBIG.STOCK, PROMDATE AS DATE;
  74.     FROM obig;
  75.     WHERE OBIG.DATE>=PROMDATE;
  76.     INTO CURSOR stock
  77.  
  78.  
  79.     promdate=promdate-1
  80. endd
  81.  
  82. SELECT stock.WAREH_CODE, stock.localcode, stock.lot_id,;
  83.         SUM(stock.STOCK) AS STOCK, stock.DATE;
  84.     FROM stock;
  85.     GROUP BY stock.DATE, stock.LOCALCODE;
  86.     ORDER BY DATE DESC;
  87.     INTO TABLE ARstock
  88.  
  89.  
  90. USE outlets
  91. REPLACE ALL outlets.address WITH RIGHT(Outlets.address,len(Outlets.address)-1)
  92. REPLACE ALL outlets.deliv_addr WITH RIGHT(Outlets.deliv_addr,len(Outlets.deliv_addr)-1)
  93. u
  94. *USE salinh.dbf SHARED
  95. *APPEND FROM salinhop.dbf
  96. *APPEND FROM salinhT.dbf
  97.  
  98. *USE salinld.dbf excl
  99. *APPEND FROM salinldop.dbf
  100. *APPEND FROM salinldT.dbf
  101. *DELETE ALL FOR Salinld.localcode="                    " or  Salinld.localcode="2                   "
  102. *PACK
  103. *use
  104.  
  105. SELECT Salouth.date, Saloutld.qty, Saloutld.localcode;
  106.  FROM ;
  107.      saloutld ;
  108.     LEFT OUTER JOIN salouth ;
  109.    ON  Saloutld.invoice_no = Salouth.invoice_no;
  110. union all;
  111. SELECT Salinh.date, Salinld.qty*(-1) as qty, Salinld.localcode;
  112.  FROM ;
  113.      salinld ;
  114.     LEFT OUTER JOIN salinh ;
  115.    ON  Salinld.invoice_no = Salinh.invoice_no;
  116.    into cursor obig
  117.    
  118. SELECT "3                   " as WAREH_code, obig.localcode as localcode,;
  119.         "                    " as lot_id,;
  120.         obig.qty as stock, obig.date as date;
  121. FROM obig;
  122. INTO CURSOR OBIG
  123.    
  124. PUBLIC MaxDate, MinDate, RecnMax, NumStr, PromDate
  125. MaxDate=obig.date
  126. MinDate=obig.date
  127.  
  128. GO bott
  129. recnmax=RECNO()
  130. FOR Numstr=1 TO recnMax STEP 1
  131.     GO numstr
  132.     MaxDate=MAX(maxDate, obig.date)
  133.     MinDate=Min(minDate, obig.date)
  134. endf
  135.  
  136. SELECT arstock.*;
  137. FROM arstock;
  138. WHERE arstock.DATE=PochDate;
  139. INTO CURSOR STOCK
  140.  
  141.  
  142. SELECT obig.*;
  143. FROM obig;
  144. WHERE obig.DATE<PochDate;
  145. UNION all;
  146. SELECT stock.*;
  147. FROM stock;
  148. INTO CURSOR OBIG
  149.        
  150. PromDate=MaxDate
  151.  
  152. DO while PromDate>=MinDate
  153.     SELECT stock.*;
  154.     FROM stock;
  155.     UNION all;
  156.     SELECT OBIG.WAREH_CODE, obig.localcode, OBIG.lot_id,;
  157.         OBIG.STOCK, PROMDATE AS DATE;
  158.     FROM obig;
  159.     WHERE OBIG.DATE>=PROMDATE;
  160.     INTO CURSOR stock
  161.  
  162.  
  163.     promdate=promdate-1
  164. endd
  165.  
  166. SELECT stock.WAREH_CODE, stock.localcode, stock.lot_id,;
  167.         SUM(stock.STOCK) AS STOCK, stock.DATE;
  168.     FROM stock;
  169.     GROUP BY stock.DATE, stock.LOCALCODE;
  170.     ORDER BY DATE DESC;
  171.     INTO TABLE ARstock
  172.  
  173.  
  174. USE outlets
  175. REPLACE ALL outlets.address WITH RIGHT(Outlets.address,len(Outlets.address)-1)
  176. REPLACE ALL outlets.deliv_addr WITH RIGHT(Outlets.deliv_addr,len(Outlets.deliv_addr)-1)
  177. u
  178. *APPEND FROM salinhop.dbf
  179. *APPEND FROM salinhT.dbf
  180.  
  181. *USE salinld.dbf excl
  182. *APPEND FROM salinldop.dbf
  183. *APPEND FROM salinldT.dbf
  184. *DELETE ALL FOR Salinld.localcode="                    " or  Salinld.localcode="2                   "
  185. *PACK
  186. *use
  187.  
  188. SELECT Salouth.date, Saloutld.qty, Saloutld.localcode;
  189.  FROM ;
  190.      saloutld ;
  191.     LEFT OUTER JOIN salouth ;
  192.    ON  Saloutld.invoice_no = Salouth.invoice_no;
  193. union all;
  194. SELECT Salinh.date, Salinld.qty*(-1) as qty, Salinld.localcode;
  195.  FROM ;
  196.      salinld ;
  197.     LEFT OUTER JOIN salinh ;
  198.    ON  Salinld.invoice_no = Salinh.invoice_no;
  199.    into cursor obig
  200.    
  201. SELECT "3                   " as WAREH_code, obig.localcode as localcode,;
  202.         "                    " as lot_id,;
  203.         obig.qty as stock, obig.date as date;
  204. FROM obig;
  205. INTO CURSOR OBIG
  206.    
  207. PUBLIC MaxDate, MinDate, RecnMax, NumStr, PromDate
  208. MaxDate=obig.date
  209. MinDate=obig.date
  210.  
  211. GO bott
  212. recnmax=RECNO()
  213. FOR Numstr=1 TO recnMax STEP 1
  214.     GO numstr
  215.     MaxDate=MAX(maxDate, obig.date)
  216.     MinDate=Min(minDate, obig.date)
  217. endf
  218.  
  219. SELECT arstock.*;
  220. FROM arstock;
  221. WHERE arstock.DATE=PochDate;
  222. INTO CURSOR STOCK
  223.  
  224.  
  225. SELECT obig.*;
  226. FROM obig;
  227. WHERE obig.DATE<PochDate;
  228. UNION all;
  229. SELECT stock.*;
  230. FROM stock;
  231. INTO CURSOR OBIG
  232.        
  233. PromDate=MaxDate
  234.  
  235. DO while PromDate>=MinDate
  236.     SELECT stock.*;
  237.     FROM stock;
  238.     UNION all;
  239.     SELECT OBIG.WAREH_CODE, obig.localcode, OBIG.lot_id,;
  240.         OBIG.STOCK, PROMDATE AS DATE;
  241.     FROM obig;
  242.     WHERE OBIG.DATE>=PROMDATE;
  243.     INTO CURSOR stock
  244.  
  245.  
  246.     promdate=promdate-1
  247. endd
  248.  
  249. SELECT stock.WAREH_CODE, stock.localcode, stock.lot_id,;
  250.         SUM(stock.STOCK) AS STOCK, stock.DATE;
  251.     FROM stock;
  252.     GROUP BY stock.DATE, stock.LOCALCODE;
  253.     ORDER BY DATE DESC;
  254.     INTO TABLE ARstock
  255.  
  256.  
  257. USE outlets
  258. REPLACE ALL outlets.address WITH RIGHT(Outlets.address,len(Outlets.address)-1)
  259. REPLACE ALL outlets.deliv_addr WITH RIGHT(Outlets.deliv_addr,len(Outlets.deliv_addr)-1)
  260. u
  261. *APPEND FROM salinhT.dbf
  262. *USE salinld.dbf excl
  263. *APPEND FROM salinldop.dbf
  264. *APPEND FROM salinldT.dbf
  265. *DELETE ALL FOR Salinld.localcode="                    " or  Salinld.localcode="2                   "
  266. *PACK
  267. *use
  268.  
  269. SELECT Salouth.date, Saloutld.qty, Saloutld.localcode;
  270.  FROM ;
  271.      saloutld ;
  272.     LEFT OUTER JOIN salouth ;
  273.    ON  Saloutld.invoice_no = Salouth.invoice_no;
  274. union all;
  275. SELECT Salinh.date, Salinld.qty*(-1) as qty, Salinld.localcode;
  276.  FROM ;
  277.      salinld ;
  278.     LEFT OUTER JOIN salinh ;
  279.    ON  Salinld.invoice_no = Salinh.invoice_no;
  280.    into cursor obig
  281.    
  282. SELECT "3                   " as WAREH_code, obig.localcode as localcode,;
  283.         "                    " as lot_id,;
  284.         obig.qty as stock, obig.date as date;
  285. FROM obig;
  286. INTO CURSOR OBIG
  287.    
  288. PUBLIC MaxDate, MinDate, RecnMax, NumStr, PromDate
  289. MaxDate=obig.date
  290. MinDate=obig.date
  291.  
  292. GO bott
  293. recnmax=RECNO()
  294. FOR Numstr=1 TO recnMax STEP 1
  295.     GO numstr
  296.     MaxDate=MAX(maxDate, obig.date)
  297.     MinDate=Min(minDate, obig.date)
  298. endf
  299.  
  300. SELECT arstock.*;
  301. FROM arstock;
  302. WHERE arstock.DATE=PochDate;
  303. INTO CURSOR STOCK
  304.  
  305.  
  306. SELECT obig.*;
  307. FROM obig;
  308. WHERE obig.DATE<PochDate;
  309. UNION all;
  310. SELECT stock.*;
  311. FROM stock;
  312. INTO CURSOR OBIG
  313.        
  314. PromDate=MaxDate
  315.  
  316. DO while PromDate>=MinDate
  317.     SELECT stock.*;
  318.     FROM stock;
  319.     UNION all;
  320.     SELECT OBIG.WAREH_CODE, obig.localcode, OBIG.lot_id,;
  321.         OBIG.STOCK, PROMDATE AS DATE;
  322.     FROM obig;
  323.     WHERE OBIG.DATE>=PROMDATE;
  324.     INTO CURSOR stock
  325.  
  326.  
  327.     promdate=promdate-1
  328. endd
  329.  
  330. SELECT stock.WAREH_CODE, stock.localcode, stock.lot_id,;
  331.         SUM(stock.STOCK) AS STOCK, stock.DATE;
  332.     FROM stock;
  333.     GROUP BY stock.DATE, stock.LOCALCODE;
  334.     ORDER BY DATE DESC;
  335.     INTO TABLE ARstock
  336.  
  337.  
  338. USE outlets
  339. REPLACE ALL outlets.address WITH RIGHT(Outlets.address,len(Outlets.address)-1)
  340. REPLACE ALL outlets.deliv_addr WITH RIGHT(Outlets.deliv_addr,len(Outlets.deliv_addr)-1)
  341. u
  342. *USE salinld.dbf excl
  343. *APPEND FROM salinldop.dbf
  344. *APPEND FROM salinldT.dbf
  345. *DELETE ALL FOR Salinld.localcode="                    " or  Salinld.localcode="2                   "
  346. *PACK
  347. *use
  348.  
  349. SELECT Salouth.date, Saloutld.qty, Saloutld.localcode;
  350.  FROM ;
  351.      saloutld ;
  352.     LEFT OUTER JOIN salouth ;
  353.    ON  Saloutld.invoice_no = Salouth.invoice_no;
  354. union all;
  355. SELECT Salinh.date, Salinld.qty*(-1) as qty, Salinld.localcode;
  356.  FROM ;
  357.      salinld ;
  358.     LEFT OUTER JOIN salinh ;
  359.    ON  Salinld.invoice_no = Salinh.invoice_no;
  360.    into cursor obig
  361.    
  362. SELECT "3                   " as WAREH_code, obig.localcode as localcode,;
  363.         "                    " as lot_id,;
  364.         obig.qty as stock, obig.date as date;
  365. FROM obig;
  366. INTO CURSOR OBIG
  367.    
  368. PUBLIC MaxDate, MinDate, RecnMax, NumStr, PromDate
  369. MaxDate=obig.date
  370. MinDate=obig.date
  371.  
  372. GO bott
  373. recnmax=RECNO()
  374. FOR Numstr=1 TO recnMax STEP 1
  375.     GO numstr
  376.     MaxDate=MAX(maxDate, obig.date)
  377.     MinDate=Min(minDate, obig.date)
  378. endf
  379.  
  380. SELECT arstock.*;
  381. FROM arstock;
  382. WHERE arstock.DATE=PochDate;
  383. INTO CURSOR STOCK
  384.  
  385.  
  386. SELECT obig.*;
  387. FROM obig;
  388. WHERE obig.DATE<PochDate;
  389. UNION all;
  390. SELECT stock.*;
  391. FROM stock;
  392. INTO CURSOR OBIG
  393.        
  394. PromDate=MaxDate
  395.  
  396. DO while PromDate>=MinDate
  397.     SELECT stock.*;
  398.     FROM stock;
  399.     UNION all;
  400.     SELECT OBIG.WAREH_CODE, obig.localcode, OBIG.lot_id,;
  401.         OBIG.STOCK, PROMDATE AS DATE;
  402.     FROM obig;
  403.     WHERE OBIG.DATE>=PROMDATE;
  404.     INTO CURSOR stock
  405.  
  406.  
  407.     promdate=promdate-1
  408. endd
  409.  
  410. SELECT stock.WAREH_CODE, stock.localcode, stock.lot_id,;
  411.         SUM(stock.STOCK) AS STOCK, stock.DATE;
  412.     FROM stock;
  413.     GROUP BY stock.DATE, stock.LOCALCODE;
  414.     ORDER BY DATE DESC;
  415.     INTO TABLE ARstock
  416.  
  417.  
  418. USE outlets
  419. REPLACE ALL outlets.address WITH RIGHT(Outlets.address,len(Outlets.address)-1)
  420. REPLACE ALL outlets.deliv_addr WITH RIGHT(Outlets.deliv_addr,len(Outlets.deliv_addr)-1)
  421. u
  422. *APPEND FROM salinldop.dbf
  423. *APPEND FROM salinldT.dbf
  424. *DELETE ALL FOR Salinld.localcode="                    " or  Salinld.localcode="2                   "
  425. *PACK
  426. *use
  427.  
  428. SELECT Salouth.date, Saloutld.qty, Saloutld.localcode;
  429.  FROM ;
  430.      saloutld ;
  431.     LEFT OUTER JOIN salouth ;
  432.    ON  Saloutld.invoice_no = Salouth.invoice_no;
  433. union all;
  434. SELECT Salinh.date, Salinld.qty*(-1) as qty, Salinld.localcode;
  435.  FROM ;
  436.      salinld ;
  437.     LEFT OUTER JOIN salinh ;
  438.    ON  Salinld.invoice_no = Salinh.invoice_no;
  439.    into cursor obig
  440.    
  441. SELECT "3                   " as WAREH_code, obig.localcode as localcode,;
  442.         "                    " as lot_id,;
  443.         obig.qty as stock, obig.date as date;
  444. FROM obig;
  445. INTO CURSOR OBIG
  446.    
  447. PUBLIC MaxDate, MinDate, RecnMax, NumStr, PromDate
  448. MaxDate=obig.date
  449. MinDate=obig.date
  450.  
  451. GO bott
  452. recnmax=RECNO()
  453. FOR Numstr=1 TO recnMax STEP 1
  454.     GO numstr
  455.     MaxDate=MAX(maxDate, obig.date)
  456.     MinDate=Min(minDate, obig.date)
  457. endf
  458.  
  459. SELECT arstock.*;
  460. FROM arstock;
  461. WHERE arstock.DATE=PochDate;
  462. INTO CURSOR STOCK
  463.  
  464.  
  465. SELECT obig.*;
  466. FROM obig;
  467. WHERE obig.DATE<PochDate;
  468. UNION all;
  469. SELECT stock.*;
  470. FROM stock;
  471. INTO CURSOR OBIG
  472.        
  473. PromDate=MaxDate
  474.  
  475. DO while PromDate>=MinDate
  476.     SELECT stock.*;
  477.     FROM stock;
  478.     UNION all;
  479.     SELECT OBIG.WAREH_CODE, obig.localcode, OBIG.lot_id,;
  480.         OBIG.STOCK, PROMDATE AS DATE;
  481.     FROM obig;
  482.     WHERE OBIG.DATE>=PROMDATE;
  483.     INTO CURSOR stock
  484.  
  485.  
  486.     promdate=promdate-1
  487. endd
  488.  
  489. SELECT stock.WAREH_CODE, stock.localcode, stock.lot_id,;
  490.         SUM(stock.STOCK) AS STOCK, stock.DATE;
  491.     FROM stock;
  492.     GROUP BY stock.DATE, stock.LOCALCODE;
  493.     ORDER BY DATE DESC;
  494.     INTO TABLE ARstock
  495.  
  496.  
  497. USE outlets
  498. REPLACE ALL outlets.address WITH RIGHT(Outlets.address,len(Outlets.address)-1)
  499. REPLACE ALL outlets.deliv_addr WITH RIGHT(Outlets.deliv_addr,len(Outlets.deliv_addr)-1)
  500. u
  501. *APPEND FROM salinldT.dbf
  502. *DELETE ALL FOR Salinld.localcode="                    " or  Salinld.localcode="2                   "
  503. *PACK
  504. *use
  505.  
  506. SELECT Salouth.date, Saloutld.qty, Saloutld.localcode;
  507.  FROM ;
  508.      saloutld ;
  509.     LEFT OUTER JOIN salouth ;
  510.    ON  Saloutld.invoice_no = Salouth.invoice_no;
  511. union all;
  512. SELECT Salinh.date, Salinld.qty*(-1) as qty, Salinld.localcode;
  513.  FROM ;
  514.      salinld ;
  515.     LEFT OUTER JOIN salinh ;
  516.    ON  Salinld.invoice_no = Salinh.invoice_no;
  517.    into cursor obig
  518.    
  519. SELECT "3                   " as WAREH_code, obig.localcode as localcode,;
  520.         "                    " as lot_id,;
  521.         obig.qty as stock, obig.date as date;
  522. FROM obig;
  523. INTO CURSOR OBIG
  524.    
  525. PUBLIC MaxDate, MinDate, RecnMax, NumStr, PromDate
  526. MaxDate=obig.date
  527. MinDate=obig.date
  528.  
  529. GO bott
  530. recnmax=RECNO()
  531. FOR Numstr=1 TO recnMax STEP 1
  532.     GO numstr
  533.     MaxDate=MAX(maxDate, obig.date)
  534.     MinDate=Min(minDate, obig.date)
  535. endf
  536.  
  537. SELECT arstock.*;
  538. FROM arstock;
  539. WHERE arstock.DATE=PochDate;
  540. INTO CURSOR STOCK
  541.  
  542.  
  543. SELECT obig.*;
  544. FROM obig;
  545. WHERE obig.DATE<PochDate;
  546. UNION all;
  547. SELECT stock.*;
  548. FROM stock;
  549. INTO CURSOR OBIG
  550.        
  551. PromDate=MaxDate
  552.  
  553. DO while PromDate>=MinDate
  554.     SELECT stock.*;
  555.     FROM stock;
  556.     UNION all;
  557.     SELECT OBIG.WAREH_CODE, obig.localcode, OBIG.lot_id,;
  558.         OBIG.STOCK, PROMDATE AS DATE;
  559.     FROM obig;
  560.     WHERE OBIG.DATE>=PROMDATE;
  561.     INTO CURSOR stock
  562.  
  563.  
  564.     promdate=promdate-1
  565. endd
  566.  
  567. SELECT stock.WAREH_CODE, stock.localcode, stock.lot_id,;
  568.         SUM(stock.STOCK) AS STOCK, stock.DATE;
  569.     FROM stock;
  570.     GROUP BY stock.DATE, stock.LOCALCODE;
  571.     ORDER BY DATE DESC;
  572.     INTO TABLE ARstock
  573.  
  574.  
  575. USE outlets
  576. REPLACE ALL outlets.address WITH RIGHT(Outlets.address,len(Outlets.address)-1)
  577. REPLACE ALL outlets.deliv_addr WITH RIGHT(Outlets.deliv_addr,len(Outlets.deliv_addr)-1)
  578. u
  579. *DELETE ALL FOR Salinld.localcode="                    " or  Salinld.localcode="2                   "
  580. *PACK
  581. *use
  582.  
  583. SELECT Salouth.date, Saloutld.qty, Saloutld.localcode;
  584.  FROM ;
  585.      saloutld ;
  586.     LEFT OUTER JOIN salouth ;
  587.    ON  Saloutld.invoice_no = Salouth.invoice_no;
  588. union all;
  589. SELECT Salinh.date, Salinld.qty*(-1) as qty, Salinld.localcode;
  590.  FROM ;
  591.      salinld ;
  592.     LEFT OUTER JOIN salinh ;
  593.    ON  Salinld.invoice_no = Salinh.invoice_no;
  594.    into cursor obig
  595.    
  596. SELECT "3                   " as WAREH_code, obig.localcode as localcode,;
  597.         "                    " as lot_id,;
  598.         obig.qty as stock, obig.date as date;
  599. FROM obig;
  600. INTO CURSOR OBIG
  601.    
  602. PUBLIC MaxDate, MinDate, RecnMax, NumStr, PromDate
  603. MaxDate=obig.date
  604. MinDate=obig.date
  605.  
  606. GO bott
  607. recnmax=RECNO()
  608. FOR Numstr=1 TO recnMax STEP 1
  609.     GO numstr
  610.     MaxDate=MAX(maxDate, obig.date)
  611.     MinDate=Min(minDate, obig.date)
  612. endf
  613.  
  614. SELECT arstock.*;
  615. FROM arstock;
  616. WHERE arstock.DATE=PochDate;
  617. INTO CURSOR STOCK
  618.  
  619.  
  620. SELECT obig.*;
  621. FROM obig;
  622. WHERE obig.DATE<PochDate;
  623. UNION all;
  624. SELECT stock.*;
  625. FROM stock;
  626. INTO CURSOR OBIG
  627.        
  628. PromDate=MaxDate
  629.  
  630. DO while PromDate>=MinDate
  631.     SELECT stock.*;
  632.     FROM stock;
  633.     UNION all;
  634.     SELECT OBIG.WAREH_CODE, obig.localcode, OBIG.lot_id,;
  635.         OBIG.STOCK, PROMDATE AS DATE;
  636.     FROM obig;
  637.     WHERE OBIG.DATE>=PROMDATE;
  638.     INTO CURSOR stock
  639.  
  640.  
  641.     promdate=promdate-1
  642. endd
  643.  
  644. SELECT stock.WAREH_CODE, stock.localcode, stock.lot_id,;
  645.         SUM(stock.STOCK) AS STOCK, stock.DATE;
  646.     FROM stock;
  647.     GROUP BY stock.DATE, stock.LOCALCODE;
  648.     ORDER BY DATE DESC;
  649.     INTO TABLE ARstock
  650.  
  651.  
  652. USE outlets
  653. REPLACE ALL outlets.address WITH RIGHT(Outlets.address,len(Outlets.address)-1)
  654. REPLACE ALL outlets.deliv_addr WITH RIGHT(Outlets.deliv_addr,len(Outlets.deliv_addr)-1)
  655. u
  656. *PACK
  657. *use
  658.  
  659. SELECT Salouth.date, Saloutld.qty, Saloutld.localcode;
  660.  FROM ;
  661.      saloutld ;
  662.     LEFT OUTER JOIN salouth ;
  663.    ON  Saloutld.invoice_no = Salouth.invoice_no;
  664. union all;
  665. SELECT Salinh.date, Salinld.qty*(-1) as qty, Salinld.localcode;
  666.  FROM ;
  667.      salinld ;
  668.     LEFT OUTER JOIN salinh ;
  669.    ON  Salinld.invoice_no = Salinh.invoice_no;
  670.    into cursor obig
  671.    
  672. SELECT "3                   " as WAREH_code, obig.localcode as localcode,;
  673.         "                    " as lot_id,;
  674.         obig.qty as stock, obig.date as date;
  675. FROM obig;
  676. INTO CURSOR OBIG
  677.    
  678. PUBLIC MaxDate, MinDate, RecnMax, NumStr, PromDate
  679. MaxDate=obig.date
  680. MinDate=obig.date
  681.  
  682. GO bott
  683. recnmax=RECNO()
  684. FOR Numstr=1 TO recnMax STEP 1
  685.     GO numstr
  686.     MaxDate=MAX(maxDate, obig.date)
  687.     MinDate=Min(minDate, obig.date)
  688. endf
  689.  
  690. SELECT arstock.*;
  691. FROM arstock;
  692. WHERE arstock.DATE=PochDate;
  693. INTO CURSOR STOCK
  694.  
  695.  
  696. SELECT obig.*;
  697. FROM obig;
  698. WHERE obig.DATE<PochDate;
  699. UNION all;
  700. SELECT stock.*;
  701. FROM stock;
  702. INTO CURSOR OBIG
  703.        
  704. PromDate=MaxDate
  705.  
  706. DO while PromDate>=MinDate
  707.     SELECT stock.*;
  708.     FROM stock;
  709.     UNION all;
  710.     SELECT OBIG.WAREH_CODE, obig.localcode, OBIG.lot_id,;
  711.         OBIG.STOCK, PROMDATE AS DATE;
  712.     FROM obig;
  713.     WHERE OBIG.DATE>=PROMDATE;
  714.     INTO CURSOR stock
  715.  
  716.  
  717.     promdate=promdate-1
  718. endd
  719.  
  720. SELECT stock.WAREH_CODE, stock.localcode, stock.lot_id,;
  721.         SUM(stock.STOCK) AS STOCK, stock.DATE;
  722.     FROM stock;
  723.     GROUP BY stock.DATE, stock.LOCALCODE;
  724.     ORDER BY DATE DESC;
  725.     INTO TABLE ARstock
  726.  
  727.  
  728. USE outlets
  729. REPLACE ALL outlets.address WITH RIGHT(Outlets.address,len(Outlets.address)-1)
  730. REPLACE ALL outlets.deliv_addr WITH RIGHT(Outlets.deliv_addr,len(Outlets.deliv_addr)-1)
  731. u
  732. *use
  733.  
  734. SELECT Salouth.date, Saloutld.qty, Saloutld.localcode;
  735.  FROM ;
  736.      saloutld ;
  737.     LEFT OUTER JOIN salouth ;
  738.    ON  Saloutld.invoice_no = Salouth.invoice_no;
  739. union all;
  740. SELECT Salinh.date, Salinld.qty*(-1) as qty, Salinld.localcode;
  741.  FROM ;
  742.      salinld ;
  743.     LEFT OUTER JOIN salinh ;
  744.    ON  Salinld.invoice_no = Salinh.invoice_no;
  745.    into cursor obig
  746.    
  747. SELECT "3                   " as WAREH_code, obig.localcode as localcode,;
  748.         "                    " as lot_id,;
  749.         obig.qty as stock, obig.date as date;
  750. FROM obig;
  751. INTO CURSOR OBIG
  752.    
  753. PUBLIC MaxDate, MinDate, RecnMax, NumStr, PromDate
  754. MaxDate=obig.date
  755. MinDate=obig.date
  756.  
  757. GO bott
  758. recnmax=RECNO()
  759. FOR Numstr=1 TO recnMax STEP 1
  760.     GO numstr
  761.     MaxDate=MAX(maxDate, obig.date)
  762.     MinDate=Min(minDate, obig.date)
  763. endf
  764.  
  765. SELECT arstock.*;
  766. FROM arstock;
  767. WHERE arstock.DATE=PochDate;
  768. INTO CURSOR STOCK
  769.  
  770.  
  771. SELECT obig.*;
  772. FROM obig;
  773. WHERE obig.DATE<PochDate;
  774. UNION all;
  775. SELECT stock.*;
  776. FROM stock;
  777. INTO CURSOR OBIG
  778.        
  779. PromDate=MaxDate
  780.  
  781. DO while PromDate>=MinDate
  782.     SELECT stock.*;
  783.     FROM stock;
  784.     UNION all;
  785.     SELECT OBIG.WAREH_CODE, obig.localcode, OBIG.lot_id,;
  786.         OBIG.STOCK, PROMDATE AS DATE;
  787.     FROM obig;
  788.     WHERE OBIG.DATE>=PROMDATE;
  789.     INTO CURSOR stock
  790.  
  791.  
  792.     promdate=promdate-1
  793. endd
  794.  
  795. SELECT stock.WAREH_CODE, stock.localcode, stock.lot_id,;
  796.         SUM(stock.STOCK) AS STOCK, stock.DATE;
  797.     FROM stock;
  798.     GROUP BY stock.DATE, stock.LOCALCODE;
  799.     ORDER BY DATE DESC;
  800.     INTO TABLE ARstock
  801.  
  802.  
  803. USE outlets
  804. REPLACE ALL outlets.address WITH RIGHT(Outlets.address,len(Outlets.address)-1)
  805. REPLACE ALL outlets.deliv_addr WITH RIGHT(Outlets.deliv_addr,len(Outlets.deliv_addr)-1)
  806. use
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement