Automatischer Transaktions Refresh alle x Minuten

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Automatischer Transaktions Refresh alle x Minuten

Beitrag von hsiebert (ForumUser / 12 / 0 / 0 ) »
Hallo,
ich suche eine Möglichkeit, eine (beliebige) SAP Transaktion automatisch und ohne User Interaktion zu 'refreshen', d.h. automatisiert die F8 Taste zu drücken.
Hab dazu mal ein (VBS-)Script bekommen, weiss aber weder, wo ich das einbaue, noch wo ich es anpassen muss. Any sugestions? Irgend welche anderen Ideen, GUI-XT o.ä.
Vielen Dank für Eure Hilfe,
H. Siebert

--------------------------------------------------------------------------
Set SapGui = GetObject("SAPGUI")
Set application = SapGui.GetScriptingEngine
Set connection = application.OpenConnection("SYS01 SY1 Production System'
Set connection = application.children(0)
Set session = connection.children(0)

session.findById("wnd[0]").maximize
session.findById("wnd[0]/usr/txtRSYST-BNAME").text = "XXXXXXXXXX"
session.findById("wnd[0]/usr/pwdRSYST-BCODE").text = "kunde"
session.findById("wnd[0]/usr/txtRSYST-LANGU").text = "en"
session.findById("wnd[0]/usr/txtRSYST-LANGU").setFocus
session.findById("wnd[0]/usr/txtRSYST-LANGU").caretPosition = 2
session.findById("wnd[0]").sendVKey 0
' hier
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]").sendVKey 0

Dim iCall_Variant
Dim iCall
iCall_Variant = 1
Dim iDate1
Dim iDate2
Do While (iCall_Variant = 1)
iDate1 = Date
' session.findById("wnd[0]").resizeWorkingPane 135,27,false
session.findById("wnd[0]/tbar[0]/okcd").text = "zvxxxxxx"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[17]").press
session.findById("wnd[1]/usr/txtV-LOW").text = "xxx"
session.findById("wnd[1]/usr/txtENAME-LOW").text = ""
session.findById("wnd[1]/usr/txtENAME-LOW").setFocus
session.findById("wnd[1]/usr/txtENAME-LOW").caretPosition = 0
session.findById("wnd[1]").sendVKey 0
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/mbar/menu[3]/menu[2]/menu[1]").select
session.findById("wnd[1]/usr/lbl[1,3]").setFocus
session.findById("wnd[1]/usr/lbl[1,3]").caretPosition = 4
session.findById("wnd[1]").sendVKey 2

iCall = 1
Do While (iCall = 1)
' wait for 20 minutes
Wscript.Sleep(1200000)

' permanente Update Datum
iDate2 = Date
If iDate1 <> iDate2 Then
iCall = 0
session.findById("wnd[0]/tbar[0]/btn[3]").press
session.findById("wnd[0]/tbar[0]/btn[3]").press
Exit Do
End If
session.findById("wnd[0]/tbar[0]/btn[3]").press
session.findById("wnd[0]/tbar[1]/btn[8]").press
Loop
Loop
Zuletzt geändert von hsiebert am 19.05.2008 09:47, insgesamt 2-mal geändert.
H. Siebert
SAP Application Specialist PP/QM/PM
Frankfurt am Main

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Hallo,
Hier ein Fundstück zum Thema TIMER in SAP implementieren.
Es ist die Klasse CL_GUI_TIMER erforderlich. Dieses Beispiel erzeugt eine TIMER-Instanz und löst eine Unterbrechung ca. alle 3 Sek. aus. Du kannst die Klasse und den Eventhandler in Deine Anwendung einbauen und in der Ereignisbehandlungsroutine deinen Dynpro refresh (hier auskommentiert) unterbringen. Das Dynpro kannst Du sicherlich selbst erzeugen.

viel Erfolg :wink:

Code: Alles auswählen.

REPORT  ytest_timer_test.

DATA: timer TYPE REF TO CL_GUI_TIMER.
data: timeout_interval type i value '3'.

data dtime type tims.

DATA val TYPE char10.
DATA valint TYPE d.

*----------------------------------------------------------------------*
* VARIABLES                                                            *
*----------------------------------------------------------------------*
DATA: okcode       TYPE sy-ucomm.

*---------------------------------------------------------------------*
*       CLASS lcl_application DEFINITION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
class lcl_application definition.

  public section.
    methods:
      time_out
        for event FINISHED
        of CL_GUI_TIMER.

endclass.
*---------------------------------------------------------------------*
*       CLASS lcl_application IMPLEMENTATION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
class lcl_application implementation.

  method time_out.
****Resond to the double click on an item in the ALV Grid -
****Start Playing the song that the user selected.

    data rc type i.


break bcuser.

* Start Timer again
    timer->interval = timeout_interval.
    call method timer->run.


* cause PAI
*    call method cl_gui_cfw=>set_new_ok_code
*             exporting
*                 new_code = 'REFR'.


****Trigger an OK_Code - This will cause the PBO/PAI to
****fire.  Otherwise the title bar doesn't get updated.
*    call method cl_gui_cfw=>set_new_ok_code
*       exporting new_code = 'ENT'
*       importing rc = rc.
  endmethod.




endclass.

data: g_application type ref to lcl_application.


START-OF-SELECTION.

dtime = sy-uzeit.



  CALL SCREEN 100.
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'S1'.
*  SET TITLEBAR 'xxx'.

  IF timer IS INITIAL.

****Create the local event callback class
  if g_application is initial.
    create object g_application.
  endif.


CREATE OBJECT timer.
timer->interval = timeout_interval.

****Set Event handler for Timer
  set handler g_application->time_out for timer.



  ENDIF.
ENDMODULE.                 " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  CASE okcode.
    WHEN 'RUN'.

CALL METHOD timer->run
  EXCEPTIONS
    error  = 1
    others = 2.

IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


    WHEN 'BCK'.
      IF NOT timer IS INITIAL.
        CALL METHOD timer->free.
        FREE timer.
      ENDIF.

      LEAVE PROGRAM.
  ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Seite 1 von 1

Vergleichbare Themen

7
Antw.
4037
Views
OO automatischer Refresh des ALV
von Betze » 30.03.2006 08:31 • Verfasst in ABAP Objects®
0
Antw.
1404
Views
automatischer Refresh im OO-ALV ...
von jensschladitz » 15.03.2006 10:00 • Verfasst in ABAP Objects®
1
Antw.
1384
Views
automatischer Refresh im OO-ALV ...
von jensschladitz » 14.03.2006 10:09 • Verfasst in ABAP® Core
3
Antw.
7779
Views
Transaktions-ID entschlüsseln
von KleinerEisbaer » 02.11.2011 22:35 • Verfasst in ABAP® für Anfänger
1
Antw.
1283
Views
Auswertung Transaktions- und Programmaufrufe
von schuessler » 07.12.2006 08:43 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor einer Stunde von ralf.wenzel 21 / 11244
Dialog-Container mit Toolbar/Status
vor 23 Stunden von black_adept gelöst 27 / 4336
IT0024 Qualifikationen CP-ID
Gestern von ArjenR 1 / 230

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor einer Stunde von ralf.wenzel 21 / 11244
Dialog-Container mit Toolbar/Status
vor 23 Stunden von black_adept gelöst 27 / 4336
IT0024 Qualifikationen CP-ID
Gestern von ArjenR 1 / 230

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
Gestern von ArjenR 1 / 230
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 3157
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9749