Eigener Modus für RFC-Call (Singleton)

Alle Fragen rund um Basisthemen
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Eigener Modus für RFC-Call (Singleton)

Beitrag von just (ForumUser / 35 / 0 / 0 ) »
Hallo,

ich muss von einem Fremdsystem (Non-SAP) einen RFC-Fuba in meinem CRM 4.0 (WebAS 6.20) asyncron aufrufen.
Dabei soll für den User ein eigener Modus erzeugt werden, dieser aber bei dem nächsten RFC-Call wieder überschreiben werden.

D.h. es gibt für mich 2 Möglichkeiten:
a) ich rufe es so auf, dass ich wieder den alten Modus treffe (also quasi ein Singleton)
b) ich erstelle einfach noch einen Modus und beende den alten

Was könnt ihr mir hier empfehlen?
Zur Ausgangslage:
Es handelt sich dabei um ein Java bassiertes e-Mail Programm und jeweils beim Anklicken der Mail soll im CRM schon mal ein Prozess starten und die Mail analysieren. Allerdings wird der User evtl. uch erst mal alle Mails nacheinander lesen, bevor er sch wirklich entscheidet, welche Mail er bearbeitet.

Um das ganze zu simulieren rufe ich den Fuba im Moment von einem anderen SAP-System aus auf:

Code: Alles auswählen.

  CALL FUNCTION 'Z_RFC_START'
    STARTING NEW TASK 'myTask'
    DESTINATION 'XYZCLNT100'
    EXPORTING
      x_email              = l_email
      x_datum              = l_datum
      x_zeit               = l_uzeit
      x_mail               = l_mail
    EXCEPTIONS
       OTHERS = 1.
Dabei wird allerdings jedes mal ein neuer modus gestartet und der alte nleibt weiter bestehen.

Was könnte man da anders machen?

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


Beitrag von just (ForumUser / 35 / 0 / 0 ) »
so, ich hab nun ne einigermaßen machbare lösung...

Aufruf des Fubas aus Java mit dem RFCUSER

anschließend löschen der benutzer mit rfc-modus

Code: Alles auswählen.

** Restliche RFC-Verbindungen beenden
  CALL FUNCTION 'TH_USER_LIST'
    TABLES
      list = lt_user.

  DELETE lt_user WHERE bname <> x_user.

  LOOP AT lt_user INTO ls_user
              WHERE type = '32'.
    CALL FUNCTION 'TH_DELETE_USER'
      EXPORTING
        user             = ls_user-bname
        client           = sy-mandt
        only_pooled_user = ' '
        tid              = ls_user-tid
      EXCEPTIONS
        authority_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.
  ENDLOOP.
aufruf eines neuen fubas mit neuer destination.
bei dieser destination wird der eigentliche user hinterlegt. so spart man sich auch gleichzeitig das passwort, wenn es ein trusted system ist ;)

nachteil:
es muss pro user eine destination in der sm59 angelegt werden.

Seite 1 von 1

Vergleichbare Themen

11
Antw.
8006
Views
Singleton
von Meex » 20.02.2006 09:02 • Verfasst in ABAP Objects®
4
Antw.
2657
Views
Singleton einmal anders
von ralf.wenzel » 31.12.2018 10:23 • Verfasst in ABAP Objects®
11
Antw.
6422
Views
Singleton vs. statische Klasse
von ralf.wenzel » 17.12.2013 09:26 • Verfasst in ABAP Objects®
1
Antw.
2803
Views
CALL FUNCTION und CALL TRANSACTION
von phil1982 » 10.08.2007 11:00 • Verfasst in ABAP® für Anfänger
6
Antw.
4176
Views
ALV im Fullscreen-Modus
von ihrken » 20.12.2006 10:39 • Verfasst in ABAP® Core

Über diesen Beitrag

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

Aktuelle Forenbeiträge

Mahnung erstellen
Gestern von wreichelt 2 / 49
Absprung VA02 Position
Gestern von gs3rr4 gelöst 3 / 65
OPD Druck im SPOOL
Gestern von Manfred K. 1 / 37

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

Mahnung erstellen
Gestern von wreichelt 2 / 49
Absprung VA02 Position
Gestern von gs3rr4 gelöst 3 / 65
OPD Druck im SPOOL
Gestern von Manfred K. 1 / 37