Advertisement
Guest User

Untitled

a guest
Jul 5th, 2018
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 3.00 KB | None | 0 0
  1. CREATE PROCEDURE [dbo].[SAP_Translations]
  2. -- Add the parameters for the stored procedure here
  3. (@DocKey@ INT, @ObjectId@ INT)
  4.  
  5. AS BEGIN
  6.  
  7. -- SET NOCOUNT ON added to prevent extra result sets from
  8. -- interfering with SELECT statements.
  9. SET NOCOUNT ON;
  10.  
  11. DECLARE @object NVARCHAR(4000)
  12.  
  13. IF (@ObjectId@=13) SET @object = 'INV'
  14. ELSE IF (@ObjectId@=14) SET @object = 'RIN'
  15. ELSE IF (@ObjectId@=15) SET @object = 'DLN'
  16. ELSE IF (@ObjectId@=16) SET @object = 'RDN'
  17. ELSE IF (@ObjectId@=17) SET @object = 'RDR'
  18. ELSE IF (@ObjectId@=18) SET @object = 'PCH'
  19. ELSE IF (@ObjectId@=19) SET @object = 'RPC'
  20. ELSE IF (@ObjectId@=20) SET @object = 'PDN'
  21. ELSE IF (@ObjectId@=21) SET @object = 'RPD'
  22. ELSE IF (@ObjectId@=22) SET @object = 'POR'
  23. ELSE IF (@ObjectId@=23) SET @object = 'QUT'
  24. ELSE IF (@ObjectId@=24) SET @object = 'RCT'
  25. ELSE IF (@ObjectId@=25) SET @object = 'DPS'
  26. ELSE IF (@ObjectId@=46) SET @object = 'VPM'
  27. ELSE IF (@ObjectId@=58) SET @object = 'INM'
  28. ELSE IF (@ObjectId@=59) SET @object = 'IGN'
  29. ELSE IF (@ObjectId@=60) SET @object = 'IGE'
  30. ELSE IF (@ObjectId@=67) SET @object = 'WTR'
  31. ELSE IF (@ObjectId@=68) SET @object = 'WKO'
  32. ELSE IF (@ObjectId@=69) SET @object = 'IPF'
  33. ELSE IF (@ObjectId@=112) SET @object = 'DRF'
  34. ELSE IF (@ObjectId@=132) SET @object = 'CIN'
  35. ELSE IF (@ObjectId@=140) SET @object = 'PDF'
  36. ELSE IF (@ObjectId@=162) SET @object = 'MRV'
  37. ELSE IF (@ObjectId@=163) SET @object = 'CPI'
  38. ELSE IF (@ObjectId@=164) SET @object = 'CPV'
  39. ELSE IF (@ObjectId@=165) SET @object = 'CSI'
  40. ELSE IF (@ObjectId@=166) SET @object = 'CSV'
  41. ELSE IF (@ObjectId@=191) SET @object = 'SCL'
  42. ELSE IF (@ObjectId@=198) SET @object = 'FCT'
  43. ELSE IF (@ObjectId@=199) SET @object = 'MSN'
  44. ELSE IF (@ObjectId@=202) SET @object = 'WOR'
  45. ELSE IF (@ObjectId@=203) SET @object = 'DPI'
  46. ELSE IF (@ObjectId@=204) SET @object = 'DPO'
  47. ELSE IF (@ObjectId@=321) SET @object = 'ITR'
  48. ELSE IF (@ObjectId@=140000009) SET @object = 'OEI'
  49. ELSE IF (@ObjectId@=140000010) SET @object = 'IEI'
  50. ELSE IF (@ObjectId@=540000006) SET @object = 'PQT'
  51.  
  52. CREATE TABLE #Language (LanguageID INT)
  53. INSERT INTO #Language
  54. EXEC
  55. (
  56.     'SELECT LangCode FROM O' + @object + ' WHERE DocEntry = ' + @DocKey@
  57. )
  58.  
  59. Declare @LanguageID INT
  60. SELECT @LanguageID = LanguageID FROM #Language
  61. DROP TABLE #Language
  62.  
  63. DECLARE @LKeys VARCHAR(MAX)
  64. SELECT  @LKeys = STUFF
  65. (
  66.     (
  67.         SELECT '],[' + ltrim(Name) FROM [@LAYOUTTRANSLATIONS] FOR XML PATH('')
  68.     ), 1, 2, ''
  69. ) + ']'
  70.  
  71. CREATE TABLE #SAP_TRANSLATIONS
  72. (
  73.     DocEntry INT,
  74.     LKey NVARCHAR(100), Translation NVARCHAR(MAX)
  75. )
  76. INSERT INTO #SAP_TRANSLATIONS EXEC
  77. (
  78.     'SELECT ' + @DocKey@ + ', T0.Name, ISNULL(T2.Trans, '''')
  79.     FROM OMLT T1 INNER JOIN MLT1 T2
  80.     ON T1.TranEntry = T2.TranEntry
  81.     RIGHT JOIN [@LAYOUTTRANSLATIONS] T0
  82.     ON(T1.PK = T0.Code AND T1.TableName =
  83.     ''@LAYOUTTRANSLATIONS'' AND T1.FieldAlias = ''Name'')
  84.      WHERE T2.LangCode =' + @LanguageID
  85. )
  86.  
  87.  
  88. EXEC
  89. (
  90.     'SELECT * FROM #SAP_TRANSLATIONS
  91.     pivot
  92.     (
  93.  
  94.     MAX(Translation)
  95.     FOR LKey in (' + @LKeys + ')
  96.     ) AS Translations'
  97. )
  98.  
  99. END
  100.  
  101. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement