Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.96 KB | None | 0 0
  1. DECLARE @INI VARCHAR(10)=‘2019-08-01’, @FIN VARCHAR(10)=‘2019-08-31’,@CTA VARCHAR(30)=‘2150.0011.0001.0004’,@Subtotal NUMERIC(19,4),@Iva NUMERIC(19,4),@Total NUMERIC(19,4),@CDML NUMERIC(19,4),@Divi NUMERIC(19,4)
  2. CREATE TABLE #General
  3. (No int IDENTITY(1,1),Fecha DATE,TransId int,BaseRef int,
  4. ContraAct varchar(50),LineMemo varchar(80),Segment_0 varchar(80),ML numeric(12,2),
  5. CardCode VARCHAR(20),RFC varchar(20),Name VARCHAR(80),Divi numeric(19,2),CardCode2 VARCHAR(20),RFC2 varchar(20),Name2 VARCHAR(80))
  6. INSERT INTO #General
  7. SELECT T0.RefDate,T0.TransId,T0.BaseRef,T0.ContraAct,T0.LineMemo,T1.Segment_0,CAST((T0.Debit+(- T0.Credit)) AS NUMERIC(11,2)) AS ‘C/D (ML)’,
  8. (SELECT TX.ShortName
  9. FROM JDT1 TX
  10. FULL OUTER JOIN OACT T1 ON T1.AcctCode=TX.Account
  11. FULL OUTER JOIN OCRD T2 ON TX.ContraAct=T2.CardCode
  12. INNER JOIN OJDT T3 ON T3.TransId=TX.TransId
  13. WHERE TX.RefDate between @INI and @FIN AND TX.TransId=T0.TransId AND TX.ShortName LIKE ‘[PC]%’
  14. )CardCode,
  15. (SELECT T2.LicTradNum
  16. FROM JDT1 TX
  17. FULL OUTER JOIN OACT T1 ON T1.AcctCode=TX.Account
  18. FULL OUTER JOIN OCRD T2 ON TX.ShortName=T2.CardCode
  19. INNER JOIN OJDT T3 ON T3.TransId=TX.TransId
  20. WHERE TX.RefDate between @INI and @FIN AND TX.TransId=T0.TransId AND TX.ShortName LIKE ‘[PC]%’
  21. )RFC,
  22. (SELECT T2.CardName
  23. FROM JDT1 TX
  24. FULL OUTER JOIN OACT T1 ON T1.AcctCode=TX.Account
  25. FULL OUTER JOIN OCRD T2 ON TX.ShortName=T2.CardCode
  26. INNER JOIN OJDT T3 ON T3.TransId=TX.TransId
  27. WHERE TX.RefDate between @INI and @FIN AND TX.TransId=T0.TransId AND TX.ShortName LIKE ‘[PC]%’
  28. )Name,
  29. CAST(((T0.Debit+(- T0.Credit))/.16) AS NUMERIC(11,2)) AS Divi
  30. ,
  31. ---------------------------Clave proveedor------------------------------------------
  32. (SELECT TOP 1
  33. COALESCE((
  34. SELECT DISTINCT TX.ShortName
  35. –,TX.TransId
  36. FROM ITR1 T0
  37. INNER JOIN OITR TB ON T0.ReconNum=TB.ReconNum
  38. INNER JOIN JDT1 TX ON T0.ReconNum=TX.BaseRef
  39. WHERE TX.TransId=TX1.TransId AND TX.ShortName LIKE ‘[P]%’ AND TX.RefDate BETWEEN @INI and @FIN
  40. ),(
  41. SELECT DISTINCT T0.ShortName
  42. FROM ITR1 T0
  43. INNER JOIN OITR TB ON T0.ReconNum=TB.ReconNum
  44. INNER JOIN JDT1 TX ON T0.ReconNum=TX.BaseRef
  45. WHERE TX.TransId=TX1.TransId AND T0.ShortName LIKE ‘[P]%’ AND TX.RefDate BETWEEN @INI and @FIN
  46. ))
  47. FROM ITR1 T0X
  48. INNER JOIN OITR TB ON T0X.ReconNum=TB.ReconNum
  49. INNER JOIN JDT1 TX1 ON T0X.ReconNum=TX1.BaseRef
  50. WHERE TX1.TransId=T0.TransId)CardCode2,
  51.  
  52. --------------------RFC-------------------------
  53. (SELECT TOP 1
  54. COALESCE((
  55. SELECT DISTINCT TT.LicTradNum
  56. –,TX.TransId
  57. FROM ITR1 T0
  58. INNER JOIN OITR TB ON T0.ReconNum=TB.ReconNum
  59. INNER JOIN JDT1 TX ON T0.ReconNum=TX.BaseRef
  60. INNER JOIN OCRD TT ON TX.ShortName=TT.CardCode
  61. WHERE TX.TransId=TX1.TransId AND TX.ShortName LIKE ‘[P]%’ AND TX.RefDate BETWEEN @INI and @FIN
  62. ),(
  63. SELECT DISTINCT TT.LicTradNum
  64. FROM ITR1 T0
  65. INNER JOIN OITR TB ON T0.ReconNum=TB.ReconNum
  66. INNER JOIN JDT1 TX ON T0.ReconNum=TX.BaseRef
  67. INNER JOIN OCRD TT ON T0.ShortName=TT.CardCode
  68. WHERE TX.TransId=TX1.TransId AND T0.ShortName LIKE ‘[P]%’ AND TX.RefDate BETWEEN @INI and @FIN
  69. ))
  70. FROM ITR1 T0X
  71. INNER JOIN OITR TB ON T0X.ReconNum=TB.ReconNum
  72. INNER JOIN JDT1 TX1 ON T0X.ReconNum=TX1.BaseRef
  73. WHERE TX1.TransId=T0.TransId)RFC2
  74. ,
  75.  
  76. ----------------Nombre Proveedor------------------------
  77. (SELECT TOP 1
  78. COALESCE((
  79. SELECT DISTINCT TT.CardName
  80. –,TX.TransId
  81. FROM ITR1 T0
  82. INNER JOIN OITR TB ON T0.ReconNum=TB.ReconNum
  83. INNER JOIN JDT1 TX ON T0.ReconNum=TX.BaseRef
  84. INNER JOIN OCRD TT ON TX.ShortName=TT.CardCode
  85. WHERE TX.TransId=TX1.TransId AND TX.ShortName LIKE ‘[P]%’ AND TX.RefDate BETWEEN @INI and @FIN
  86. ),(
  87. SELECT DISTINCT TT.CardName
  88. FROM ITR1 T0
  89. INNER JOIN OITR TB ON T0.ReconNum=TB.ReconNum
  90. INNER JOIN JDT1 TX ON T0.ReconNum=TX.BaseRef
  91. INNER JOIN OCRD TT ON T0.ShortName=TT.CardCode
  92. WHERE TX.TransId=TX1.TransId AND T0.ShortName LIKE ‘[P]%’ AND TX.RefDate BETWEEN @INI and @FIN
  93. ))
  94. FROM ITR1 T0X
  95. INNER JOIN OITR TB ON T0X.ReconNum=TB.ReconNum
  96. INNER JOIN JDT1 TX1 ON T0X.ReconNum=TX1.BaseRef
  97. WHERE TX1.TransId=T0.TransId)CardName2
  98.  
  99.  
  100. ------------------------------Termino de seleccion e inicio de condicion------------------------------------------
  101. FROM JDT1 T0
  102. FULL OUTER JOIN OACT T1 ON T1.AcctCode=T0.Account
  103. FULL OUTER JOIN OCRD T2 ON T0.ShortName=T2.CardCode
  104. INNER JOIN OJDT T3 ON T3.TransId=T0.TransId
  105. WHERE T0.RefDate between @INI and @FIN
  106. AND T1.Segment_0=@CTA
  107. ----------Condicion de clave de proveedor no vacias-----------------------------
  108. AND (SELECT TOP 1
  109. COALESCE((
  110. SELECT DISTINCT TX.ShortName
  111. –,TX.TransId
  112. FROM ITR1 T0
  113. INNER JOIN OITR TB ON T0.ReconNum=TB.ReconNum
  114. INNER JOIN JDT1 TX ON T0.ReconNum=TX.BaseRef
  115. WHERE TX.TransId=TX1.TransId AND TX.ShortName LIKE ‘[P]%’ AND TX.RefDate BETWEEN @INI and @FIN
  116. ),(
  117. SELECT DISTINCT T0.ShortName
  118. FROM ITR1 T0
  119. INNER JOIN OITR TB ON T0.ReconNum=TB.ReconNum
  120. INNER JOIN JDT1 TX ON T0.ReconNum=TX.BaseRef
  121. WHERE TX.TransId=TX1.TransId AND T0.ShortName LIKE ‘[P]%’ AND TX.RefDate BETWEEN @INI and @FIN
  122. ))
  123. FROM ITR1 T0X
  124. INNER JOIN OITR TB ON T0X.ReconNum=TB.ReconNum
  125. INNER JOIN JDT1 TX1 ON T0X.ReconNum=TX1.BaseRef
  126. WHERE TX1.TransId=T0.TransId)IS NOT NULL
  127. ORDER BY T0.RefDate asc,T0.TransId
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement