lockeweissnicht
Goto Top

4 Werte an cognos impromtu aus VBA übergeben

Hallo Liebe Forumsmitglieder, ich hoffe dass jemand eine Lösung für mein kleines Problem hat.

Ich habe eine Excel Datei, aus der via VBA ein Cognos bericht aufgerufen werden soll und gleichzeitig 4 Parameter übergeben werden sollen
mit dem der Bericht dann erstellt werden soll, siehe Beispiel, leider lässt sich jedoch nur ein Wert (strPrompt) übergeben, kann hier jemand freundlicherweise helfen ? Danke im Voraus.

Makro:

Sub Impromtu_Material_I()
'vom 14.08.2014
If Range("n3") > Range("f3") Then
msg = MsgBox("Die ausgewählte Menge ist größer der Restmenge ! trotzdem drucken ?", vbYesNo)
If msg = vbNo Then
GoTo Ende
Else

GoTo Beginn
End If
Else


Beginn:
Wert = Sheets("data").Range("A3")
' * deklarieren der Variablen
Dim objImpApp As Object
Dim objImpRep As Object
Dim strCatalog As String
Dim strReport As String
Dim strFile As String
Dim strCatalogUserId As String
Dim strCatalogPassword As String
Dim strDatabaseUserId As String
Dim strDatabasePassword As String
Dim strErrorMsg As String
Dim strSendTo As String
Dim strSubject As String
Dim strBody As String
Dim strSaveIt As String
' dimensionieren des Übergabewerts
'strPrompt1 , strPrompt2, strPrompt3, strPrompt4
Dim strPrompt As String ' dimensionieren des Übergabewerts
Dim ErrorCount As Integer
Const TheUserClassID As String = "Ersteller"
Const TheUserName As String = "cognos"
Const TheUserPassword As String = "cognos"
strPrompt = Sheets("data").Range("A3") ' Variable einlesen
'strText = Sheets("data").Range("G3") ' Variable einlesen
'strPrompt3 = Sheets("data").Range("H3") ' Variable einlesen
'strPrompt4 = Sheets("data").Range("I3") ' Variable einlesen


'
* Definieren der Variablen

' Vollständiger Pfad und Name des verwendeten Kataloges
strCatalog = "F:\Allgemein\Fertigungs-Steuerung\Cognos\Kataloge\MAT-ENTN-PROD (630).cat"
' Vollständiger Pfad und Name des verwendeten Berichtes
strReport = "F:\Allgemein\Fertigungs-Steuerung\PO_Data\Materialbereitstellung_t.imr"
' Vollständiger Pfad und Name der Ausgabedatei
strFile = "F:\Allgemein\Fertigungs-Steuerung\PO_Data\Materialbereitstellung_I.xlsx"
' Impromptu Catalog User Id
strCatalogUserId = "Ersteller" ' Optional
' Impromptu Catalog Passwort
strCatalogPassword = "cognos"
' Database User Id
strDatabaseUserId = "cognos" ' Optional
' Database Passwort
strDatabasePassword = "cognos" ' Optional
' Ausgabe folgender Fehlermeldung
strErrorMsg = " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!!!!."
' Recipient List

' * Beginn der Ausführung **

ErrorCount = 0
Set objImpApp = CreateObject("Impromptu.Application")
Set objImpRep = CreateObject("Impromptu.Application")
objImpApp.Visible -1
objImpApp.OpenCatalog strCatalog, strCatalogUserId, strCatalogPassword, _
strDatabaseUserId, strDatabasePassword, strPrompt, strText
Set objImpRep = objImpApp.OpenReport(strReport, strPrompt) ', strText)
objImpRep.RetrieveAll
objImpRep.ExportExcelWithFormat (strFile)
objImpRep.CloseReport

Exit_Main:
If ErrorCount = 0 Then
objImpApp.Quit
ActiveWorkbook.Save
End If

Workbooks.Open Filename:= _
"F:\Allgemein\Fertigungs-Steuerung\PO_Data\Materialbereitstellung_I.xlsx"
Cells.Select
Selection.Copy
Windows("Stüli_Auflösung_MB.xlsm").Activate
Sheets("Daten").Select
Application.DisplayAlerts = False
Cells.Select
ActiveSheet.Paste
Windows("Materialbereitstellung_I.xlsx").Activate
Application.DisplayAlerts = False
ActiveWindow.Close
ActiveWorkbook.Save
Calculate
Call Data_export

Sheets("Data").Select
Range("A3").Select
Ende:
End If
End Sub

Content-Key: 248155

Url: https://administrator.de/contentid/248155

Printed on: April 19, 2024 at 03:04 o'clock