SP_IngresosDetalle_20190710.sql 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  1. USE [Inversiones_20190711]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[SP_IngresosDetalle] Script Date: 10/7/2019 20:56:15 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author: BC
  10. -- Create date:
  11. -- Description:
  12. -- =============================================
  13. ALTER PROCEDURE [dbo].[SP_IngresosDetalle]
  14. -- Add the parameters for the stored procedure here
  15. @CodInv varchar(20),
  16. @IngresoId int
  17. AS
  18. BEGIN
  19. -- SET NOCOUNT ON added to prevent extra result sets from
  20. -- interfering with SELECT statements.
  21. SET NOCOUNT ON;
  22. -- Insert statements for procedure here
  23. DECLARE @TipoIF varchar(10)
  24. DECLARE @CodIF varchar(10)
  25. DECLARE @IngresoDetalle TABLE(
  26. [Codinv] varchar(20)
  27. ,[CodIF] varchar(10)
  28. ,[Estado] varchar(2)
  29. ,[CodEmpr] varchar(20)
  30. ,[CodEmis] int
  31. ,[CodECalRi] varchar(8)
  32. ,[NombreManIF] varchar(100)
  33. ,[CodManIF] varchar(50)
  34. ,[FechaVencimiento] datetime
  35. ,[Capital] numeric(18,6)
  36. ,[IngresoBruto] numeric(18,6)
  37. ,[ISR] numeric(18,6)
  38. ,[IngresoNeto] numeric(18,6)
  39. ,[Correlativo] int
  40. ,[EstadoIngreso] varchar(1)
  41. )
  42. SELECT @CodIF=T0.CodIF FROM [dbo].[INV0] T0 WHERE T0.CodInv=@CodInv
  43. SELECT @TipoIF=T0.Tipo FROM [dbo].[INFI] T0 WHERE T0.CodIF = @CodIF
  44. IF @TipoIF='ACC'
  45. BEGIN
  46. PRINT 'ACCIONES'
  47. INSERT INTO @IngresoDetalle (
  48. [Codinv]
  49. ,[CodIF]
  50. ,[Estado]
  51. ,[CodEmpr]
  52. ,[CodEmis]
  53. ,[CodECalRi]
  54. ,[NombreManIF]
  55. ,[CodManIF]
  56. ,[FechaVencimiento]
  57. ,[IngresoBruto]
  58. ,[ISR]
  59. ,[IngresoNeto]
  60. ,[Correlativo]
  61. ,[EstadoIngreso]
  62. )
  63. SELECT
  64. T0.CodInv
  65. ,T0.CodIF
  66. ,T0.DocEst
  67. ,T0.CodEmpr
  68. ,T0.CodEmis
  69. ,T0.CodECalRi
  70. ,T0.NombreManIF
  71. ,T0.CodManIF
  72. ,T1.Fecha
  73. ,T1.IngresoBruto
  74. ,T1.ISR
  75. ,T1.IngresoNeto
  76. ,T1.Correlativo
  77. ,T1.Estado
  78. FROM [dbo].[INV0] T0
  79. INNER JOIN [dbo].[ACC1] T1 ON T1.CodInv=T0.CodInv
  80. WHERE 1=1
  81. AND T0.CodInv=@CodInv
  82. AND T1.Correlativo=@IngresoId
  83. END
  84. IF @TipoIF='DAP'
  85. BEGIN
  86. PRINT 'DEPOSITOS A PLAZO'
  87. INSERT INTO @IngresoDetalle (
  88. [Codinv]
  89. ,[CodIF]
  90. ,[Estado]
  91. ,[CodEmpr]
  92. ,[CodEmis]
  93. ,[CodECalRi]
  94. ,[NombreManIF]
  95. ,[CodManIF]
  96. ,[FechaVencimiento]
  97. ,[IngresoBruto]
  98. ,[ISR]
  99. ,[IngresoNeto]
  100. ,[Correlativo]
  101. ,[EstadoIngreso]
  102. )
  103. SELECT
  104. T0.CodInv
  105. ,T0.CodIF
  106. ,T0.DocEst
  107. ,T0.CodEmpr
  108. ,T0.CodEmis
  109. ,T0.CodECalRi
  110. ,T0.NombreManIF
  111. ,T0.CodManIF
  112. ,T1.Fecha
  113. ,T1.IngrBruto
  114. ,T1.MontoImp
  115. ,T1.IngrNeto
  116. ,T1.Correlativo
  117. ,T1.Estado
  118. FROM [dbo].[INV0] T0
  119. INNER JOIN [dbo].[DAP1] T1 ON T1.CodInv=T0.CodInv
  120. WHERE 1=1
  121. AND T0.CodInv=@CodInv
  122. AND T1.Correlativo=@IngresoId
  123. END
  124. IF @TipoIF='BONO'
  125. BEGIN
  126. PRINT 'BONOS'
  127. INSERT INTO @IngresoDetalle (
  128. [Codinv]
  129. ,[CodIF]
  130. ,[Estado]
  131. ,[CodEmpr]
  132. ,[CodEmis]
  133. ,[CodECalRi]
  134. ,[NombreManIF]
  135. ,[CodManIF]
  136. ,[FechaVencimiento]
  137. ,[IngresoBruto]
  138. ,[ISR]
  139. ,[IngresoNeto]
  140. ,[Correlativo]
  141. ,[EstadoIngreso]
  142. )
  143. SELECT
  144. T0.CodInv
  145. ,T0.CodIF
  146. ,T0.DocEst
  147. ,T0.CodEmpr
  148. ,T0.CodEmis
  149. ,T0.CodECalRi
  150. ,T0.NombreManIF
  151. ,T0.CodManIF
  152. ,T1.[FechaCupon]
  153. ,T1.[Ingreso]
  154. ,T1.[MontoImpuesto]
  155. ,T1.[Liquido]
  156. ,T1.[NumCupon]
  157. ,T1.Estado
  158. FROM [dbo].[INV0] T0
  159. INNER JOIN [dbo].[BON1] T1 ON T1.CodInv=T0.CodInv
  160. WHERE 1=1
  161. AND T0.CodInv=@CodInv
  162. AND T1.[NumCupon]=@IngresoId
  163. END
  164. IF @TipoIF='CINV'
  165. BEGIN
  166. PRINT 'CERTIFICADOS DE INVERSION'
  167. INSERT INTO @IngresoDetalle (
  168. [Codinv]
  169. ,[CodIF]
  170. ,[Estado]
  171. ,[CodEmpr]
  172. ,[CodEmis]
  173. ,[CodECalRi]
  174. ,[NombreManIF]
  175. ,[CodManIF]
  176. ,[FechaVencimiento]
  177. ,[IngresoBruto]
  178. ,[ISR]
  179. ,[IngresoNeto]
  180. ,[Correlativo]
  181. ,[EstadoIngreso]
  182. )
  183. SELECT
  184. T0.CodInv
  185. ,T0.CodIF
  186. ,T0.DocEst
  187. ,T0.CodEmpr
  188. ,T0.CodEmis
  189. ,T0.CodECalRi
  190. ,T0.NombreManIF
  191. ,T0.CodManIF
  192. ,T1.[FechaCupon]
  193. ,T1.[Ingreso]
  194. ,T1.[MontoImpuesto]
  195. ,T1.[Liquido]
  196. ,T1.[NumCupon]
  197. ,T1.Estado
  198. FROM [dbo].[INV0] T0
  199. INNER JOIN [dbo].[CIN1] T1 ON T1.CodInv=T0.CodInv
  200. WHERE 1=1
  201. AND T0.CodInv=@CodInv
  202. AND T1.[NumCupon]=@IngresoId
  203. END
  204. IF @TipoIF='LETE'
  205. BEGIN
  206. PRINT 'LETES'
  207. INSERT INTO @IngresoDetalle (
  208. [Codinv]
  209. ,[CodIF]
  210. ,[Estado]
  211. ,[CodEmpr]
  212. ,[CodEmis]
  213. ,[CodECalRi]
  214. ,[NombreManIF]
  215. ,[CodManIF]
  216. ,[FechaVencimiento]
  217. ,[IngresoBruto]
  218. ,[ISR]
  219. ,[IngresoNeto]
  220. ,[Correlativo]
  221. ,[EstadoIngreso]
  222. )
  223. SELECT
  224. T0.CodInv
  225. ,T0.CodIF
  226. ,T0.DocEst
  227. ,T0.CodEmpr
  228. ,T0.CodEmis
  229. ,T0.CodECalRi
  230. ,T0.NombreManIF
  231. ,T0.CodManIF
  232. ,T1.[FVenc]
  233. ,T1.[IngrBruto]
  234. ,0 --T1.[MontoImpuesto]
  235. ,T1.[IngrNeto]
  236. ,1 --T1.[NumCupon]
  237. ,T1.Estado
  238. FROM [dbo].[INV0] T0
  239. INNER JOIN [dbo].[LET0] T1 ON T1.CodInv=T0.CodInv
  240. WHERE 1=1
  241. AND T0.CodInv=@CodInv
  242. AND 1=@IngresoId
  243. END
  244. IF @TipoIF='CETE'
  245. BEGIN
  246. PRINT 'CETES'
  247. INSERT INTO @IngresoDetalle (
  248. [Codinv]
  249. ,[CodIF]
  250. ,[Estado]
  251. ,[CodEmpr]
  252. ,[CodEmis]
  253. ,[CodECalRi]
  254. ,[NombreManIF]
  255. ,[CodManIF]
  256. ,[FechaVencimiento]
  257. ,[IngresoBruto]
  258. ,[ISR]
  259. ,[IngresoNeto]
  260. ,[Correlativo]
  261. ,[EstadoIngreso]
  262. )
  263. SELECT
  264. T0.CodInv
  265. ,T0.CodIF
  266. ,T0.DocEst
  267. ,T0.CodEmpr
  268. ,T0.CodEmis
  269. ,T0.CodECalRi
  270. ,T0.NombreManIF
  271. ,T0.CodManIF
  272. ,T1.[FVenc]
  273. ,T1.[IngrBruto]
  274. ,0 --T1.[MontoImpuesto]
  275. ,T1.[IngrNeto]
  276. ,1 --T1.[NumCupon]
  277. ,T1.Estado
  278. FROM [dbo].[INV0] T0
  279. INNER JOIN [dbo].[CET0] T1 ON T1.CodInv=T0.CodInv
  280. WHERE 1=1
  281. AND T0.CodInv=@CodInv
  282. AND 1=@IngresoId
  283. END
  284. IF @TipoIF='PBUR'
  285. BEGIN
  286. PRINT 'PAPEL BURSATIL'
  287. INSERT INTO @IngresoDetalle (
  288. [Codinv]
  289. ,[CodIF]
  290. ,[Estado]
  291. ,[CodEmpr]
  292. ,[CodEmis]
  293. ,[CodECalRi]
  294. ,[NombreManIF]
  295. ,[CodManIF]
  296. ,[FechaVencimiento]
  297. ,[IngresoBruto]
  298. ,[ISR]
  299. ,[IngresoNeto]
  300. ,[Correlativo]
  301. ,[EstadoIngreso]
  302. )
  303. SELECT
  304. T0.CodInv
  305. ,T0.CodIF
  306. ,T0.DocEst
  307. ,T0.CodEmpr
  308. ,T0.CodEmis
  309. ,T0.CodECalRi
  310. ,T0.NombreManIF
  311. ,T0.CodManIF
  312. ,T1.[FVenc]
  313. ,T1.[IngrBruto]
  314. ,0 --T1.[MontoImpuesto]
  315. ,T1.[IngrNeto]
  316. ,1 --T1.[NumCupon]
  317. ,T1.Estado
  318. FROM [dbo].[INV0] T0
  319. INNER JOIN [dbo].[PBUR] T1 ON T1.CodInv=T0.CodInv
  320. WHERE 1=1
  321. AND T0.CodInv=@CodInv
  322. AND 1=@IngresoId
  323. END
  324. IF @TipoIF='VCN'
  325. BEGIN
  326. PRINT 'VALORES COMERCIALES NEGOCIABLES'
  327. INSERT INTO @IngresoDetalle (
  328. [Codinv]
  329. ,[CodIF]
  330. ,[Estado]
  331. ,[CodEmpr]
  332. ,[CodEmis]
  333. ,[CodECalRi]
  334. ,[NombreManIF]
  335. ,[CodManIF]
  336. ,[FechaVencimiento]
  337. ,[IngresoBruto]
  338. ,[ISR]
  339. ,[IngresoNeto]
  340. ,[Correlativo]
  341. ,[EstadoIngreso]
  342. )
  343. SELECT
  344. T0.CodInv
  345. ,T0.CodIF
  346. ,T0.DocEst
  347. ,T0.CodEmpr
  348. ,T0.CodEmis
  349. ,T0.CodECalRi
  350. ,T0.NombreManIF
  351. ,T0.CodManIF
  352. ,T1.[FVenc]
  353. ,T1.[IngrBruto]
  354. ,0 --T1.[MontoImpuesto]
  355. ,T1.[IngrNeto]
  356. ,1 --T1.[NumCupon]
  357. ,T1.Estado
  358. FROM [dbo].[INV0] T0
  359. INNER JOIN [dbo].[VCN] T1 ON T1.CodInv=T0.CodInv
  360. WHERE 1=1
  361. AND T0.CodInv=@CodInv
  362. AND 1=@IngresoId
  363. END
  364. SELECT
  365. T0.[Codinv]
  366. ,T0.[CodIF]
  367. ,ISNULL(T0.Estado,'P')
  368. ,T0.[CodEmpr]
  369. ,(SELECT S0.Descrip FROM [dbo].[EMPR] S0 WHERE S0.CodEmpr=T0.[CodEmpr]) 'Empresa'
  370. ,T0.[CodEmis]
  371. ,(SELECT S0.Descrip FROM [dbo].[EMIS] S0 WHERE S0.CodEmis=T0.[CodEmis]) 'Emisor'
  372. ,T0.[CodECalRi]
  373. ,ISNULL((SELECT S0.Descrip FROM [dbo].[ECALRI] S0 WHERE S0.CodECalRi = T0.[CodECalRi]),'') 'Calificadora'
  374. ,T0.[NombreManIF]
  375. ,T0.[CodManIF]
  376. ,T0.[FechaVencimiento]
  377. ,T0.Capital
  378. ,T0.[IngresoBruto]
  379. ,T0.[ISR]
  380. ,T0.[IngresoNeto]
  381. ,T0.[Correlativo]
  382. ,(SELECT S0.SAP_BD FROM [dbo].[EMPR] S0 WHERE S0.CodEmpr=T0.[CodEmpr]) 'SAP_BD'
  383. ,ISNULL(T0.EstadoIngreso,'P') 'EstadoIngreso'
  384. FROM @IngresoDetalle T0
  385. END