rightFax / SAP-Connect / SAPScript

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

rightFax / SAP-Connect / SAPScript

Beitrag von jspranz (ForumUser / 76 / 5 / 0 ) »
Hallo,

wir haben rightFax 9.3.2.421 im Einsatz.

Bisher haben wir über einen Drucker bzw. Druckertreiber gedruckt.
Wir konnten auch FAX-Commands für SAP-Script benutzen. Vor allem einen "undokumentierten" <WHO:&SY-UNAME&>.

Wir wollen zukünftig über SAP-Connect drucken.
Leider schaffen wir es nicht, daß die Faxe unter dem Benutzer, sondern unter einem Standardbenutzer im RightFax angezeigt werden.

Laut "Vertriebler" ist es so gewollt, daß die Benutzer ihre Faxe im SAP-System unter der Transaktion SOST anschauen sollen.
Wir sind uns unsicher, ob die Fehlermeldungen aus rightFax tatsächlich im SAP-System ankommen bzw. daß diese im rightFaxUtil aussagekräftiger sind.
Deshalb wollen wir, daß die Benutzer diese auch im rifhtFaxUtil anschauen können und nachverfolgen können.

Leider steht bei den meisten FaxCommands in der englischen Beschreibung, daß diese für das Fax-Deckblatt (das wir gar nicht senden wollen) benutzt werden. Auch unsere Tests bestätigen, daß diese nicht in der Fax-Übersicht angezeigt werden bzw. zur Steuerung dort angezeigt werden (d.h. daß jeder SAP-Benutzer (der in WIN den gleichen Namen hat) seine eigenen Faxe sieht).

Vielleicht gibt es ja doch einen Trick. Deshalb sende ich mal den Programmcode mit in meinem Beitrag.

Ich freue mich über Kommentare und Hilfestellungen.

Code: Alles auswählen.

REPORT  ZZZ_SPRANZ_DEMO_SAPSCRIPT.
 PARAMETERS:  lv_LAND   LIKE SOXFX-REC_STATE DEFAULT 'DE' OBLIGATORY.
 PARAMETERS:  lv_faxn1  LIKE SOXFX-REC_FAX OBLIGATORY.
 PARAMETERS:  lv_faxn2  LIKE SOXFX-REC_FAX OBLIGATORY.

 data: gv_title type TDTITLE.
 data: gv_RECIPIENT_ID LIKE SWOTOBJID.
 data: gv_APPL_OBJECT_ID LIKE SWOTOBJID.
 data: gs_options LIKE ITCPO.
 data: begin of lt_testdata occurs 0.
 data:    KUNNR type kunnr.
 data:    name3 type AD_NAME3.
 data:    land type SOXFX-REC_state.
 data:    faxnr type SOXFX-REC_FAx.
 data: end of lt_testdata.

 lt_testdata-kunnr = '507101'.
 lt_testdata-name3 = 'Saemann, Heilbronn'.
 lt_testdata-land  = lv_land.
 lt_testdata-faxnr = lv_faxn1.
 append lt_testdata.

 lt_testdata-kunnr = '504630'.
 lt_testdata-name3 = 'Voswinkel, Dortmund'.
 lt_testdata-faxnr = lv_faxn2.
 append lt_testdata.

 loop at lt_testdata.

   CLEAR gs_OPTIONS.

   concatenate lt_testdata-kunnr
               '|'
               lt_testdata-name3
               '|'
                'Auftragsrückstände'
             into gs_options-tdtitle separated by space.

   CALL FUNCTION 'ZIDE_FAX_PREPARE_SAPSCRIPT'
     EXPORTING
       LAND           = lt_testdata-land
       NUMBER         = lt_testdata-faxnr
     IMPORTING
       RECIPIENT_ID   = gv_RECIPIENT_ID
       APPL_OBJECT_ID = gv_APPL_OBJECT_ID.

   CALL FUNCTION 'OPEN_FORM'
     EXPORTING
     DEVICE           = 'MAIL'
     DIALOG           = 'X'
     FORM             = 'ZZZ_SPRANZ_DEMO'
       OPTIONS                           = gs_options
*      MAIL_SENDER      = SENDER_ID
      MAIL_RECIPIENT   = gv_RECIPIENT_ID
     EXCEPTIONS
       CANCELED         = 1
       DEVICE           = 2
       FORM             = 3
       OPTIONS          = 4
       UNCLOSED         = 5
       MAIL_OPTIONS     = 6
       OTHERS           = 7.

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

   CALL FUNCTION 'WRITE_FORM'
    EXCEPTIONS
      ELEMENT                        = 1
      FUNCTION                       = 2
      TYPE                           = 3
      UNOPENED                       = 4
      UNSTARTED                      = 5
      WINDOW                         = 6
      BAD_PAGEFORMAT_FOR_PRINT       = 7
      SPOOL_ERROR                    = 8
      CODEPAGE                       = 9
      OTHERS                         = 10
             .
   IF SY-SUBRC <> 0.
     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   ENDIF.

   CALL FUNCTION 'CLOSE_FORM'
    EXCEPTIONS
      UNOPENED                       = 1
      BAD_PAGEFORMAT_FOR_PRINT       = 2
      SEND_ERROR                     = 3
      SPOOL_ERROR                    = 4
      CODEPAGE                       = 5
      OTHERS                         = 6
             .
   IF SY-SUBRC <> 0.
     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   ENDIF.

   commit work and wait.

 endloop.

Und der 2. Code (Funktionsbaustein):

Code: Alles auswählen.


FUNCTION ZIDE_FAX_PREPARE_SAPSCRIPT.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     REFERENCE(LAND) TYPE  SOXFX-REC_STATE DEFAULT 'DE'
*"     REFERENCE(NUMBER) TYPE  SOXFX-REC_FAX
*"  EXPORTING
*"     REFERENCE(RECIPIENT_ID) TYPE  SWOTOBJID
*"     REFERENCE(APPL_OBJECT_ID) TYPE  SWOTOBJID
*"----------------------------------------------------------------------

* geklaut von report RSSOKIF2.
************************************************************************
*  Verwendung des Kommunikations-Interfaces über SAPscript:
*
*  Dieser Report zeigt an einem einfachen Beispiel, wie man auch
*  über SAPscript von der erweiterten Funktionalität des
*  neuen Kommunikations-Interfaces profitieren kann.
*  Hier gezeigt am Beispiel des FAXens.
*
************************************************************************
  TABLES: SOUD.

* Makros für Zugriff aufs BOR
  INCLUDE <CNTN01>.


* Datendeklaration
* * (BOR)
  DATA:
        SENDER_ID      LIKE SWOTOBJID,
*       APPL_OBJECT_ID LIKE SWOTOBJID,
*       RECIPIENT_ID   LIKE SWOTOBJID,
        RECIPIENT      TYPE SWC_OBJECT,
        SENDER         TYPE SWC_OBJECT,
        RECIPIENT_TAB  TYPE SWC_OBJECT OCCURS 0 WITH HEADER LINE,
        FOLDER         TYPE SWC_OBJECT,
        BEGIN OF SOFMFOL_KEY,
            FOLDERTYPE   LIKE SOFM-FOLTP,
            FOLDERYEAR   LIKE SOFM-FOLYR,
            FOLDERNUMBER LIKE SOFM-FOLNO,
            TYPE         LIKE SOFM-DOCTP,
            YEAR         LIKE SOFM-DOCYR,
            NUMBER       LIKE SOFM-DOCNO,
            FORWARDER    LIKE SOUB-USRNAM,
        END OF SOFMFOL_KEY,
        BOR_KEY        LIKE SWOTOBJID-OBJKEY,
        ADDRESS_STRING LIKE SOXNA-FULLNAME.
* * (SAPscript)
  DATA: HEADER LIKE THEAD,
        RESULT LIKE ITCPP,
        LINES LIKE TLINE OCCURS 0 WITH HEADER LINE,
        OTFDATA LIKE ITCOO OCCURS 0.
*      OPTIONS LIKE ITCPO.

* Deklaration eines Containers
  SWC_CONTAINER CONTAINER.


************************************************************************
*                    Sender (BOR-Objekt-ID)                            *
************************************************************************

* Objektreferenz auf ein RECIPIENT-Objekt erzeugen
  SWC_CREATE_OBJECT SENDER 'RECIPIENT' SPACE.
* Container leeren
  SWC_CLEAR_CONTAINER CONTAINER.
* Adresse (aufrufender interner Benutzer)
  SWC_SET_ELEMENT CONTAINER 'AddressString' SY-UNAME.
* Adreßtyp (interner Benutzer)
  SWC_SET_ELEMENT CONTAINER 'TypeId' 'B'.
* Aufruf der Methode RECIPIENT.FindAddress
  SWC_CALL_METHOD SENDER 'FindAddress' CONTAINER.
* Ausgabe der zur Ausnahme gehörigen Fehlermeldung
  IF SY-SUBRC NE 0.
    MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO.
  ENDIF.
* Ermittlung der BOR-Objekt-ID
  SWC_OBJECT_TO_PERSISTENT SENDER SENDER_ID.


************************************************************************
*                   Empfänger (BOR-Objekt-ID)                          *
************************************************************************

* Objektreferenz auf ein RECIPIENT-Objekt erzeugen
  SWC_CREATE_OBJECT RECIPIENT 'RECIPIENT' SPACE.
* Container leeren
  SWC_CLEAR_CONTAINER CONTAINER.
* Importparameter: Adreßtyp (FAX)
  SWC_SET_ELEMENT CONTAINER 'TypeId' 'F'.
* Importparameter: FAX-Nummer
  MOVE: LAND   TO ADDRESS_STRING,
        NUMBER TO ADDRESS_STRING+3.
  SWC_SET_ELEMENT CONTAINER 'AddressString' ADDRESS_STRING.
* Aufruf der Methode RECIPIENT.CreateAddress
  SWC_CALL_METHOD RECIPIENT 'CreateAddress' CONTAINER.
* Ausgabe der zur Ausnahme gehörigen Fehlermeldung
  IF SY-SUBRC NE 0.
    MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO.
  ENDIF.
* Ermittlung der BOR-Objekt-ID
  SWC_OBJECT_TO_PERSISTENT RECIPIENT RECIPIENT_ID.


* Auflösen des Recipient-Objekts in "flache" Recipient-Objekte mit
* Hilfe der Methode Expand.
* Bei diesem konkreten Beispiel (Recipient = genau eine Fax-Nummer)
* ist diese Auflösung eigentlich nicht nötig. Für den allgemeinen Fall
* wird diese Vorgehensweise jedoch dringend empfohlen und daher in
* diesem Beispiel vorgeführt.
  SWC_CLEAR_CONTAINER CONTAINER.
  REFRESH RECIPIENT_TAB.
  SWC_CALL_METHOD RECIPIENT 'Expand' CONTAINER.
  IF SY-SUBRC NE 0.
    MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO.
  ENDIF.
* "Flache" Recipient-Objekte aus Container lesen
  SWC_GET_TABLE CONTAINER 'ResultTable' RECIPIENT_TAB.
  IF SY-SUBRC NE 0.
    REFRESH RECIPIENT_TAB.
  ENDIF.


  ENDLOOP.

ENDFUNCTION.


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


Seite 1 von 1

Vergleichbare Themen

1
Antw.
1377
Views
MYSQL Connect
von kagel » 21.09.2006 15:10 • Verfasst in ABAP® Core
4
Antw.
3013
Views
FTP Connect als Job einplanen ???
von thesaint » 23.05.2005 08:47 • Verfasst in ABAP® Core
0
Antw.
1618
Views
SAP Connect Extension des Mailanhangs
von SAP_ENTWICKLER » 17.07.2017 16:12 • Verfasst in Sonstige Module
9
Antw.
19653
Views
Connect Fehler: NIECONN_REFUSED
von Thanatos82 » 20.03.2013 14:25 • Verfasst in ABAP® Core
0
Antw.
1988
Views
2EETW169 no connect possible beim Upgrade
von wuh001 » 08.02.2007 10:25 • Verfasst in Basis

Über diesen Beitrag

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

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1756
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2303

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

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1756
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2303

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 309
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 906
MS-Word als Editor
letzen Monat von tekko 1 / 4407