SP_SBO_DispBanc_Master.sql 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. USE [Inversiones]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[SP_SBO_DispBanc_Master] Script Date: 05/13/2019 18:49:57 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author: Bladimir Cortez
  10. -- Create date:
  11. -- Description:
  12. -- =============================================
  13. ALTER PROCEDURE [dbo].[SP_SBO_DispBanc_Master]
  14. -- Add the parameters for the stored procedure here
  15. @Agrupacion varchar(4) = 'E'
  16. AS
  17. BEGIN
  18. -- SET NOCOUNT ON added to prevent extra result sets from
  19. -- interfering with SELECT statements.
  20. SET NOCOUNT ON;
  21. -- Insert statements for procedure here
  22. DECLARE @CodEmpr varchar(50),@NombreEmpr varchar(100), @EMPRESA_DB nvarchar(100)
  23. DECLARE @SQL nVarchar(4000)
  24. DECLARE @DISP_BANC TABLE(
  25. CodEmpr varchar(50)
  26. ,NombreEmpresa varchar(100)
  27. ,BankCode nVarchar(30)
  28. ,BankName nVarchar(250)
  29. ,Account nVarchar(50)
  30. ,GLAccount nVarchar(15)
  31. ,Segment_0 nVarchar(20)
  32. ,Segment_1 nVarchar(20)
  33. ,AcctName nVarchar(100)
  34. ,Country nVarChar(3)
  35. ,CountryName nVarChar(100)
  36. ,Currency nVarChar(3)
  37. ,CurrTotal numeric(19,6)
  38. ,CurrTotalSYS numeric(19,6)
  39. ,Saldo numeric(19,6)
  40. ,SaldoSYS numeric(19,6)
  41. )
  42. DECLARE EMPRESAS_CUR CURSOR STATIC FOR
  43. SELECT
  44. T0.CodEmpr
  45. ,T0.Descrip 'NombreEmpr'
  46. ,T0.[SAP_DB]
  47. FROM [dbo].[EMPR] T0
  48. WHERE LEN(ISNULL(T0.SAP_DB,''))>0
  49. OPEN EMPRESAS_CUR
  50. FETCH NEXT FROM EMPRESAS_CUR INTO @CodEmpr,@NombreEmpr ,@EMPRESA_DB
  51. WHILE @@fetch_status = 0
  52. BEGIN
  53. PRINT @EMPRESA_DB
  54. IF EXISTS (SELECT COUNT(1) FROM master.sys.databases WHERE name=@EMPRESA_DB)
  55. BEGIN
  56. PRINT 'DEMOLE'
  57. SET @SQL='
  58. SELECT
  59. '+CHAR(39)+@CodEmpr+CHAR(39)+'
  60. ,'+CHAR(39)+@NombreEmpr+CHAR(39)+'
  61. ,T1.BankCode
  62. ,(SELECT S0.BankName FROM ['+@EMPRESA_DB+'].[dbo].[ODSC] S0 WHERE S0.BankCode = T1.BankCode)
  63. ,T1.Account
  64. ,T1.GLAccount
  65. ,T2.Segment_0
  66. ,T2.Segment_1
  67. ,T2.AcctName
  68. ,T1.Country
  69. ,(SELECT S0.Name FROM ['+@EMPRESA_DB+'].[dbo].[OCRY] S0 WHERE S0.Code = T1.Country)
  70. ,T1.Currency
  71. ,T2.CurrTotal
  72. FROM ['+@EMPRESA_DB+'].[dbo].[DSC1] T1
  73. INNER JOIN ['+@EMPRESA_DB+'].[dbo].[OACT] T2 ON T2.AcctCode = T1.GLAccount
  74. WHERE T2.FrozenFor=''N'''
  75. INSERT INTO @DISP_BANC(
  76. CodEmpr
  77. ,NombreEmpresa
  78. ,BankCode
  79. ,BankName
  80. ,Account
  81. ,GLAccount
  82. ,Segment_0
  83. ,Segment_1
  84. ,AcctName
  85. ,Country
  86. ,CountryName
  87. ,Currency
  88. ,CurrTotal
  89. ) EXEC(@SQL)
  90. END
  91. ELSE
  92. BEGIN
  93. PRINT 'NADA'
  94. END
  95. FETCH NEXT FROM EMPRESAS_CUR INTO @CodEmpr,@NombreEmpr ,@EMPRESA_DB
  96. END
  97. CLOSE EMPRESAS_CUR
  98. DEALLOCATE EMPRESAS_CUR
  99. SELECT * FROM @DISP_BANC
  100. --IF @Agrupacion = 'D' --DETALLADO
  101. --BEGIN
  102. -- SELECT * FROM @DISP_BANC
  103. --END
  104. --IF @Agrupacion = 'E' --DISPONIBILIDAD POR EMPRESA
  105. --BEGIN
  106. -- SELECT
  107. -- T0.CodEmpr
  108. -- ,(SELECT S0.Descrip FROM [dbo].[EMPR] S0 WHERE S0.CodEmpr = T0.CodEmpr) 'NombreEmpr'
  109. -- ,SUM(T0.CurrTotal) 'DispContable'
  110. -- FROM @DISP_BANC T0
  111. -- GROUP BY T0.CodEmpr
  112. --END
  113. --IF @Agrupacion = 'P' --DISPONIBILIDAD POR PAIS
  114. --BEGIN
  115. -- SELECT T0.Country ,SUM(T0.CurrTotal) 'CurrTotal'
  116. -- FROM @DISP_BANC T0
  117. -- GROUP BY T0.Country
  118. --END
  119. --IF @Agrupacion = 'EP' --DISPONIBILIDAD POR EMPRESA
  120. --BEGIN
  121. -- SELECT T0.CodEmpr,T0.Country ,SUM(T0.CurrTotal) 'CurrTotal'
  122. -- FROM @DISP_BANC T0
  123. -- GROUP BY T0.CodEmpr,T0.Country
  124. -- ORDER BY T0.CodEmpr
  125. --END
  126. --SELECT T0.CodEmpr
  127. --, SUM(T0.CurrTotal) 'CurrTotal'
  128. --FROM @DISP_BANC T0
  129. --GROUP BY T0.CodEmpr
  130. --ORDER BY T0.CodEmpr
  131. --SELECT T0.* FROM @DISP_BANC T0 WHERE T0.CodEmpr='INV'
  132. -- PAIS
  133. --DECLARE @CodPais varchar(3)
  134. --PRINT '@CodEmpr ' + @CodEmpr
  135. --SELECT T0.* FROM @DISP_BANC T0 WHERE T0.Country=ISNULL(@CodEmpr,T0.CodEmpr)
  136. --SELECT T0.* FROM @DISP_BANC T0
  137. END