Page 1 of 1

Nette Möglichkeit um kurze Nachrichten an User zu verschicke

PostPosted: Tue Oct 04, 2005 11:03 am
by Mehmet1061
HI,

hab hier ein kleines Schnuckeliges Progrämmchen mit dem man schnell und ohne Probleme an Kollegen Nachrichten schicken kann, die er gleich auf den Bildschirm bekommt(per PopUp).

Sehr nützlich um an mehrere Kollegen gleichzeitzig zu sagen, das jetzt Kaffeepause ist. ;)

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. REPORT ZKAFFEE NO STANDARD PAGE HEADING.
  2.  
  3. TABLES: USR03, UINFO.
  4.  
  5. DATA: MARK(1),
  6.       MSG LIKE SM04DIC-POPUPMSG,
  7.       P_MSG(115) VALUE 'hier Nachricht eingeben'.
  8.  
  9. DATA: BEGIN OF ITAB_UINFO OCCURS   0,
  10.         BNAME LIKE UINFO-BNAME,
  11.         TCODE LIKE UINFO-TCODE,
  12.         NAME1 LIKE USR03-NAME1,
  13.         NAME2 LIKE USR03-NAME2,
  14.         NAME3 LIKE USR03-NAME3,
  15.         NAME4 LIKE USR03-NAME4,
  16.         ABTLG LIKE USR03-ABTLG,
  17.       END OF ITAB_UINFO.
  18.  
  19. DATA: LAENGE TYPE I, FLAG_SYBILLE.
  20.  
  21. SELECTION-SCREEN BEGIN OF SCREEN 1001.
  22. SELECT-OPTIONS S_BNAME FOR UINFO-BNAME.
  23. SELECTION-SCREEN END OF SCREEN 1001.
  24.  
  25. S_BNAME-SIGN = 'I'.
  26. S_BNAME-OPTION = 'CP'.
  27. S_BNAME-LOW = 'I*'.
  28. APPEND S_BNAME.
  29.  
  30.  
  31. PERFORM BENUTZER_ERMITTELN.
  32.  
  33. PERFORM GRUNDLISTE.
  34.  
  35.  
  36. ********
  37. AT PF06.
  38. ********
  39.   PERFORM BENUTZER_ERMITTELN.
  40.   PERFORM GRUNDLISTE.
  41.  
  42.  
  43. ********
  44. AT PF07.
  45. ********
  46.   CALL SELECTION-SCREEN 1001 STARTING AT 3 3.
  47.   PERFORM BENUTZER_ERMITTELN.
  48.   PERFORM GRUNDLISTE.
  49.  
  50.  
  51. ********
  52. AT PF08.
  53. ********
  54. * Versenden
  55.   CLEAR: USR03.
  56.   CALL FUNCTION 'TMS_WBO_READ_USER_ADDRESS'
  57.        EXPORTING
  58.             IV_USER_NAME           = SY-UNAME
  59.        IMPORTING
  60.             ES_USR03               = USR03
  61.        EXCEPTIONS
  62.             USER_ADDRESS_NOT_FOUND = 1
  63.             INTERNAL_ERROR         = 2
  64.             OTHERS                 = 3.
  65.  
  66.   READ LINE 1 FIELD VALUE P_MSG.
  67.  
  68.   CONCATENATE USR03-NAME1 ':' INTO MSG.
  69.   CONCATENATE MSG P_MSG INTO MSG SEPARATED BY ' '.
  70.   LAENGE = STRLEN( MSG ).
  71.  
  72.   DO.
  73.     CLEAR MARK.
  74.     READ LINE SY-INDEX FIELD VALUE MARK.
  75.     IF SY-SUBRC <> 0. EXIT. ENDIF.
  76.     CHECK: MARK = 'X'.
  77.  
  78.     CALL FUNCTION 'TH_POPUP'
  79.          EXPORTING
  80.               CLIENT         = SY-MANDT
  81.               USER           = ITAB_UINFO-BNAME
  82.               MESSAGE        = MSG
  83.          MESSAGE_LEN    = LAENGE
  84. *         CUT_BLANKS     = ' '
  85.          EXCEPTIONS
  86.               USER_NOT_FOUND = 1
  87.               OTHERS         = 2.
  88.  
  89.   ENDDO.
  90.  
  91. *---------------------------------------------------------------------*
  92. *       FORM GRUNDLISTE                                               *
  93. *---------------------------------------------------------------------*
  94. *       ........                                                      *
  95. *---------------------------------------------------------------------*
  96. FORM GRUNDLISTE.
  97.   SET BLANK LINES ON.
  98.   SY-LSIND = 0.
  99.   WRITE: / P_MSG INPUT ON.
  100.   SKIP.
  101.   WRITE: / '<F8> Versenden an markierte Empfänger / ' &
  102.            '<F6> Auffrischen / ' &
  103.            '<F7> andere Benutzerauswahl'
  104.            COLOR COL_NEGATIVE INVERSE ON.
  105.   ULINE.
  106.   CLEAR MARK.
  107.  
  108.   LOOP AT ITAB_UINFO.
  109.     WRITE: / MARK AS CHECKBOX, ITAB_UINFO-BNAME COLOR COL_KEY,
  110.                                ITAB_UINFO-NAME1 COLOR COL_HEADING,
  111.                                ITAB_UINFO-NAME2 COLOR COL_NORMAL,
  112.                                ITAB_UINFO-ABTLG COLOR COL_HEADING.
  113.     HIDE: ITAB_UINFO-BNAME.
  114.  
  115.  
  116. *---------------------------------------------------------------------*
  117. *       FORM BENUTZER_ERMITTELN                                       *
  118. *---------------------------------------------------------------------*
  119. *       ........                                                      *
  120. *---------------------------------------------------------------------*
  121. FORM BENUTZER_ERMITTELN.
  122.   DATA: UINFO LIKE TABLE OF UINFOS WITH HEADER LINE.
  123.  
  124.   REFRESH ITAB_UINFO.
  125.  
  126.   CALL FUNCTION 'TH_SYSTEMWIDE_USER_LIST'
  127.        TABLES
  128.             LIST   = UINFO
  129.        EXCEPTIONS
  130.             OTHERS = 1.
  131.  
  132.   SORT UINFO BY BNAME.
  133.   DELETE ADJACENT DUPLICATES FROM UINFO COMPARING BNAME.
  134.  
  135.   LOOP AT UINFO WHERE BNAME IN S_BNAME.
  136.  
  137.     CLEAR: USR03.
  138.     CALL FUNCTION 'TMS_WBO_READ_USER_ADDRESS'
  139.          EXPORTING
  140.               IV_USER_NAME           = UINFO-BNAME
  141.          IMPORTING
  142.               ES_USR03               = USR03
  143.          EXCEPTIONS
  144.               USER_ADDRESS_NOT_FOUND = 1
  145.               INTERNAL_ERROR         = 2
  146.               OTHERS                 = 3.
  147.     MOVE-CORRESPONDING UINFO TO ITAB_UINFO.
  148.     MOVE-CORRESPONDING USR03 TO ITAB_UINFO.
  149.     APPEND ITAB_UINFO.
  150.  
  151.  
GeSHi ©

PostPosted: Mon Nov 07, 2005 12:38 pm
by Leonardo3909
Kann es sein, dass das Programm nur funktioniert, wenn der User, an den die Message gesendet wird, auf dem selben Server angemeldet ist?

Gruß,
realtimeedv

PostPosted: Mon Nov 07, 2005 1:44 pm
by Mehmet1061
realtimeedv hat geschrieben:Kann es sein, dass das Programm nur funktioniert, wenn der User, an den die Message gesendet wird, auf dem selben Server angemeldet ist?

Gruß,
realtimeedv


Bin mir grad nicht ganz sicher.
Der User muss auf jedenfall im System angemeldet sein.
Wir haben das Programm bei uns nur im Entwicklungssystem und das ist bei uns nur auf einem Server.

EDIT:
Upps, funkt wirklich nur für den Server, auf dem man angemeldet ist.
Diese FuBa´s prüfen auf den angemeldeten Server ab.

PostPosted: Thu Nov 30, 2006 4:37 pm
by Jano2162
Diese Transaktion kann man auch nutzen, einfach und schnell:

/BEV2/ED_INT_S3 => Expressnachricht an R3 Benutzer (Rel. 4.7)

PostPosted: Thu Dec 14, 2006 3:17 pm
by Pelin1208
In ECC 6.0 ist das dann /BEV2/ED_TOOL_BRKMSG
donny

PostPosted: Wed Jun 23, 2010 10:34 am
by Atakan3195
donny hat geschrieben:In ECC 6.0 ist das dann /BEV2/ED_TOOL_BRKMSG
donny


Das ist der Programmname und nicht die Transaktion!

PostPosted: Wed Jun 23, 2010 2:56 pm
by Pelin1208
midget hat geschrieben:Das ist der Programmname und nicht die Transaktion!

:P falls das nach dreieinhalb Jahren wirklich noch einer wissen will, ist das sicher eine wertvolle Information :P