SAP Jobsuche bei DV-Treff
BerndS
  • BerndS
  • SAP Forum - User Thema Starter
vor 11 Jahre
Hallo zusammen,

beim Start der Transaktion 'COOIS' soll mit Hilfe von GuiXT automatisch der Listentyp entsprechend geändert werden.

Nach meinen ersten Versuchen schaut mein Script so aus:

ppio_entry.d1000.txt

Screen PPIO_ENTRY.1000

if Q[Transaction=COOIS]

if V[_user=besc]

Set F[Liste] "PPIOA000"

Endif

Endif

Der Listentyp wird entsprechend geändert, das ist ja schon mal ok.

Jedoch wird der andauernd geändert und eben nicht nur einmalig bei Aufruf der Transaktion. D.h. es läßt sich dadurch auch kein anderer Listentyp mehr wählen.

Gibt es einen Befehl der das nur einmalig ausführt oder wie bekommt man das Problem sonst in den Griff?

Schon jetzt vielen Dank für Eure Hilfe.

Gruß Bernd

maxzottl
vor 11 Jahre
Hallo Bernd,

nimmst Du "DEFAULT" statt "SET"?

Gruß

Uwe

BerndS
  • BerndS
  • SAP Forum - User Thema Starter
vor 11 Jahre
Hallo,

vielen Dank erst einmal Uwe...

und natürlich auch allen anderen.

Wenn ich da aber SET durch DEFAULT ersetze tut sich gar nix.

Es wird kein Fehler angezeigt, geändert wird aber auch nichts.

Irgendwo mein ich gelesen haben, dass DEFAULT keine vorhandenen Inhalte ändert.

Bei der COOIS ist jedoch der Listentyp PPIOH000 - Auftragsköpfe bei Transaktionsaufruf voreingestellt.

Dieser soll eben in PPIOA000 - Objektübersicht geändert werden.

Vielleicht sonst noch'n Tipp?

Schon jetzt vielen Dank.

Gruß Bernd

ScriptMan
vor 11 Jahre
Hallo Bernd,

versuche u.U. folgendes:

Im übergeordneten Menü z.B.saplsmtr_navigation.d0100.txt:

set V[Liste] ""

und dann wie gehabt mit einer kleinen Erweiterung:

ppio_entry.d1000.txt

Screen PPIO_ENTRY.1000

if Q[Transaction=COOIS]

if V[_user=besc] and V[Liste=]

Set F[Liste] "PPIOA000"

Set V[Liste] "&F[Liste]"

Endif

Endif

Grüße

ScriptMan

BerndS
  • BerndS
  • SAP Forum - User Thema Starter
vor 11 Jahre
Hallo,

auch Dir vielen Dank für die Antwort Scriptman.

Soweit funktioniert das jetzt mit dem Selektionsfeld 'Liste'.

Leider hab ich jetzt das nächste Problem bemerkt...

Wird das Listenprofil 'PPIOA000' = Objektübersicht manuell gewählt, wird das darunterstehende Selektionsfeld 'Liste' ausgeblendet und durch das Selektionsfeld 'Profil' ersetzt.

Hab ich GUIXT mit dem Codeschnipsel aktiviert bleibt jedoch das Selektionsfeld 'Layout' stehen.

Erst wenn man bspw. einmal 'Enter' drückt, erscheint dann anstatt 'Layout' - 'Profil'

Hier nochmal das was ich bisher habe, wobei ich das ein klein wenig ändern mußte, da es bei Deinem Bespiel fehlenden Input-Assistensten anmoniert hatte.

if Q[Transaction=COOIS]

if V[_user=bescc] And V[Liste=]

SET F[LISTE] "PPIOA000"

SET V[Liste] "X"

// Enter "coois"

Endif

Endif

Aktiviere ich jetzt bspw. den Enter-Befehl hängt sich die Transaktion auf, warum auch immer.

Man sieht das nur noch das Bildschirmflackern.

Bei einem zusätzlichen SET F[Profil] "Z00000000001" heißt es nur Objekt nicht gefudnen.

Gibts auch dafür vielleicht eine einfache Lösung?

Vielen Dank schon mal

Gruß Bernd

ScriptMan
vor 11 Jahre
Hallo,

ich habe leider keinen Zugang zu TA COOIS. Daher sind alle meinen Vorschläge rein theoretisch zu betrachten.

Wie wär's wie folgt:

ppio_entry.d1000.txt

//Screen PPIO_ENTRY.1000

if Q[Transaction=COOIS]

if V[_user=besc] and V[Liste=]

Set F[Liste] "PPIOA000"

Set V[Liste] "&F[Liste]"

// Enter "coois"

Endif

Endif

D.h. Screen und Enter sind deaktiviert.

zu SET F[Profil] "Z00000000001":

Sieh in Screen Elements richtig nach. Vielleicht heißt es einfach wie folgt:

SET F[Reportprofil] "Z00000000001"

Wie du es aber abgeändert hast, weil du keinen InputAssistant hast, ist mir bis jetzt nicht ganz klar.

Grüße

ScriptMan

BerndS
  • BerndS
  • SAP Forum - User Thema Starter
vor 11 Jahre
Hallo,

erst Mal vielen Dank.

Es funktioniert jetzt, und jetzt sogar problemlos 😁

Folgende Scripts hab ich jetzt:

saplsmtr_navigation.d0100.txt

set V[Liste] ""

ppio_entry.d1000.txt

Screen PPIO_ENTRY.1000

if Q[Transaction=COOIS]

if V[_user=besc] And V[Liste=]

SET F[LISTE] "PPIOA000"

SET V[Liste] "X"

SetCursor F[Fertigungsauftrag]

Enter

Endif

Endif

Euch / Dir Scriptman noch einmal vielen Dank und nen schönen Tag, wieder was gelernt.

Gruß Bernd