Hinweis 1033893

Alle Fragen rund um Basisthemen
20 Beiträge • Seite 1 von 2 (current) Nächste
20 Beiträge Seite 1 von 2 (current) Nächste

Hinweis 1033893

Beitrag von Anfänger (Specialist / 106 / 0 / 1 ) »
Hallo,
dieses ist keine ABAP-Frage, ansonsten würde ich sie im Anfängerforum stellen.

Jetzt zu meinem Problem, ich soll Hinweis 1033893 vei uns ins System spielen. SNOTE geht leider nicht, es kommt die Meldung "Nicht einspielbar". Owohl es im Hinweis eine Passage:

Implementieren Sie den Hinweis manuell, so legen Sie bitte noch in der Transaktion SE91 in der Nachrichtenklasse F0 die Nachricht 750 mit folgendem Text an:
"Fehler beim Versenden per Mail: Returncode &1, LIFNR/KUNNR &2 Bukrs &3" Und die Nachricht 751 mit folgendem Text: "Fehler bei Archivierung der Mail: Returncode &1, LIFNR/KUNNR &2 Bukrs &3"

Da Stellt sich bei mir die Frage wie installiere ich es nicht Manuell?
Im Übrigen gibt es bei uns die beiden erwähnten Nachrichten schon.


Hinterlegen Sie dazu in der Transaktion SO10 unter der Text-ID FIKO einen einleitenden Text (sprachabhängig), den Textnamen wählen Sie selbst ...
Ist mir ach noch klar.
Kopfschmerzen bereitet mir aber:

... füllen Sie ihn im Prozess-Exit 2040 (Aufruf aus Include RFFORI06) in das Feld FINAA-MAIL_BODY_TEXT (das Feld
FINAA-NAMEP sollte in diesem Fall leer sein, wenn es gefüllt ist, wird der Text unter diesem Namen gesucht). Der Name muss in Grossbuchstaben angegeben werden.
Für die Betreff-Zeile der Mail füllen Sie das Feld ITCPO-TDTITLE im Prozess Exit-2050 (aus Include RFFORI06). Um nicht zustellbare Mails dem Kreditor zuzuordnen, können Sie das Feld REGUH-LIFNR in der Betreff-Zeile im Exit 2050 inkludieren. Wollen Sie die Mail an mehrere Empfänger versenden, so füllen Sie das Feld FINAA-INTAD
mit den Mailadressen, jeweils durch ein Leerzeichen getrennt, es stehen insgesamt 130 Zeichen in FINAA-INTAD zur Verfügung....



Was ist ein Prozess-Exit 2040, 2050 und wie veränderde ich diesen?
Ich habe mir in der SE80 schon das Include RFFORI06 angeschaut. Wenn ich dann im Quelltext suche finde ich keinen Exit 2040.
Vieleicht kann ja einer von euch licht in den Tunnel bringen.
Wir haben im übrigen SAP_APPL 6.0.

Danke & Gruß

Thomas


Re: Hinweis 1033893

Beitrag von ratsnus (Specialist / 352 / 2 / 53 ) »
Hallo Thomas,

ja das sind Funktionsbausteine die du da suchst. in deinem Fall den SAMPLE_PROCESS_00002040 und SAMPLE_PROCESS_00002050 in der Doku der Sample Bausteine ist es relativ gut geschrieben.
via FIBF direkt in der BTE Framework solltest du dann sowas hier einrichten:
event_2040.jpg
Ich nehme mal an, das damit etwas Licht in deinen Tunnel gekommen ist :D

Folgende Benutzer bedankten sich beim Autor ratsnus für den Beitrag:
s.brand-craemer

<:: XING-Gruppe Tricktresor::>

Re: Hinweis 1033893

Beitrag von Anfänger (Specialist / 106 / 0 / 1 ) »
Hallo ratsnus ,
vielen Dank für die Antwort.
Soweit konnte ich das ganze nachvollziehen. Leider komme ich trozdem nicht weiter. Ich habe mir die Funktionsbausteine SAMPLE_PROCESS_00002040 und ZSAMPLE_PROCESS_00002050 in der SE37 angeschaut.
Dort kann das Feld FINAA-MAIL_BODY_TEXT nicht finden.
Wenn ich globaler suche kann ich das Feld FINAA-MAIL_BODY_TEXT in dem Include RFFORI06 finden.

Dort kann ich die Anweisung 2202 ld_name = finaa-mail_body_text. finden.
Was mir nicht wirklich weiter hilft.

Du hast schon Licht ins Dunkle gebracht. Leider bin ich so Blind das mir das wenig nützt. Vieleicht könntest du mir ja einen Blindenhund in Form eines Tipps, wie ein Anfänger den Hinweis einspielen muss, zur seite stellen.

Gruß

Thomas

Folgende Benutzer bedankten sich beim Autor Anfänger für den Beitrag:
s.brand-craemer


Re: Hinweis 1033893

Beitrag von ratsnus (Specialist / 352 / 2 / 53 ) »
na dann hier mal noch a bissl mehr Info bzw. ich mach mal ganz Hell das Licht an: die Bausteine sind wie gesagt zu kopieren und entsprechend meiner Anleitung in der FIBF zu hinterlegen.
dann kannst du dich daran machen und die Bausteine fertig programmieren :

SAMPLE_PROCESS_00002050 --> ZSAMPLE_PROCESS_00002050

Code: Alles auswählen.

FUNCTION ZSAMPLE_PROCESS_00002050.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(I_REGUH) LIKE  REGUH STRUCTURE  REGUH
*"     VALUE(I_GJAHR) LIKE  REGUD-GJAHR
*"     VALUE(I_NACHA) LIKE  FINAA-NACHA
*"     VALUE(I_AFORN) LIKE  T042B-AFORN
*"  CHANGING
*"     VALUE(C_ITCPO) LIKE  ITCPO STRUCTURE  ITCPO
*"     VALUE(C_ARCHIVE_INDEX) LIKE  TOA_DARA STRUCTURE  TOA_DARA
*"       DEFAULT SPACE
*"     VALUE(C_ARCHIVE_PARAMS) LIKE  ARC_PARAMS STRUCTURE  ARC_PARAMS
*"       DEFAULT SPACE
*"----------------------------------------------------------------------
IF I_NACHA EQ 'I'.
concatenate 'Max Mustermann AG' c_itcpo-tdtitle into c_itcpo-tdtitle separated by ' '.
endif.
ENDFUNCTION.
SAMPLE_PROCESS_00002040 --> ZSAMPLE_PROCESS_00002040

Code: Alles auswählen.

FUNCTION ZSAMPLE_PROCESS_00002040.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(I_REGUH) LIKE  REGUH STRUCTURE  REGUH
*"  TABLES
*"      T_FIMSG STRUCTURE  FIMSG
*"  CHANGING
*"     VALUE(C_FINAA) LIKE  FINAA STRUCTURE  FINAA
*"----------------------------------------------------------------------

* data declaration for address routines
  tables: t000.
  TYPE-POOLS szadr.
  DATA: l_addr1_complete TYPE szadr_addr1_complete,
        adsmtp           TYPE szadr_adsmtp_line occurs 0 with header line,
        adfax            type szadr_adfax_line occurs 0 with header line.

 clear t_fimsg.

* default: print payment advice
  c_finaa-nacha = '1'.

* Testen auf Produktivsystem
  select single * from t000
    where mandt eq sy-mandt.
  if t000-cccategory eq 'P'. " T =Test C= Cust P= Prod


* check that address number is available
    IF NOT i_reguh-zadnr IS INITIAL.

*   read complete address of vendor/customer
      CALL FUNCTION 'ADDR_GET_COMPLETE'
        EXPORTING
          addrnumber     = i_reguh-zadnr
        IMPORTING
          addr1_complete = l_addr1_complete
        EXCEPTIONS
          OTHERS         = 4.

      IF sy-subrc EQ 0.

*     check that internet address is available
        loop at l_addr1_complete-adsmtp_tab INTO adsmtp.
          append adsmtp.
        endloop.

        loop at adsmtp.
          case adsmtp-adsmtp-remark.
            when 'ZV'.
              concatenate adsmtp-adsmtp-smtp_addr c_finaa-intad into c_finaa-intad separated by ' '.
          endcase.
        endloop.

        if c_finaa-intad cs '@'.

          c_finaa-nacha = 'I'.
          c_FINAA-MAIL_BODY_TEXT = 'Z_AVIS_MAIL'.

          t_fimsg-msort = 'E-MAIL'.
          t_fimsg-msgid = 'ZFS'.
          t_fimsg-msgty = 'I'.
          t_fimsg-msgno = 1.
          t_fimsg-msgv2 = c_finaa-intad.
          t_fimsg-msgv3 = i_reguh-vblnr.

          if not i_reguh-kunnr is initial.
            select single name1 into t_fimsg-msgv1 from kna1
              where kunnr eq i_reguh-kunnr.
            concatenate t_fimsg-msgv1 i_reguh-kunnr+4(6) into t_fimsg-msgv1 separated by ' / '.
          else.
            select single name1 into t_fimsg-msgv1 from lfa1
              where lifnr eq i_reguh-lifnr.
            concatenate t_fimsg-msgv1 i_reguh-lifnr+4(6) into t_fimsg-msgv1 separated by ' / '.
          endif.
          append t_fimsg.
        else.

          loop at l_addr1_complete-adfax_tab INTO adfax.
            append adfax.
          endloop.

          loop at adfax.
            case adfax-adfax-remark.
              when 'ZV'.
                move: adfax-adfax-fax_number to c_finaa-tdtelenum,
                      adfax-adfax-COUNTRY    to c_finaa-tdteleland.
            endcase.
          endloop.

          if c_finaa-tdtelenum ne space.
            c_finaa-nacha      = '2'.                 "Fax
            c_finaa-tdschedule = 'IMM'.               "Sofort
*            c_finaa-tdteleland = i_reguh-zland.       "Land der Faxnummer
*            c_finaa-tdtelenum  = i_reguh-ztlfx.       "Faxnummer
*            c_finaa-formc      = 'FI_FAX_COVER_A4'.   "SAPscript Deckblatt

            t_fimsg-msort = 'FAX'.
            t_fimsg-msgid = 'ZFS'.
            t_fimsg-msgty = 'I'.
            t_fimsg-msgno = 2.
            t_fimsg-msgv2 = c_finaa-tdtelenum.
            t_fimsg-msgv3 = i_reguh-vblnr.

            if not i_reguh-kunnr is initial.
              select single name1 into t_fimsg-msgv1 from kna1
                where kunnr eq i_reguh-kunnr.
              concatenate t_fimsg-msgv1 i_reguh-kunnr+4(6) into t_fimsg-msgv1 separated by ' / '.
            else.
              select single name1 into t_fimsg-msgv1 from lfa1
                where lifnr eq i_reguh-lifnr.
              concatenate t_fimsg-msgv1 i_reguh-lifnr+4(6) into t_fimsg-msgv1 separated by ' / '.
            endif.
            append t_fimsg.

          else.
            c_finaa-nacha = '1'.

            t_fimsg-msort = 'Druck'.
            t_fimsg-msgid = 'ZFS'.
            t_fimsg-msgty = 'I'.
            t_fimsg-msgno = 3.
*            t_fimsg-msgv2 = c_finaa-tdtelenum.
            t_fimsg-msgv2 = i_reguh-vblnr.

            if not i_reguh-kunnr is initial.
              select single name1 into t_fimsg-msgv1 from kna1
                where kunnr eq i_reguh-kunnr.
              concatenate t_fimsg-msgv1 i_reguh-kunnr+4(6) into t_fimsg-msgv1 separated by ' / '.
            else.
              select single name1 into t_fimsg-msgv1 from lfa1
                where lifnr eq i_reguh-lifnr.
              concatenate t_fimsg-msgv1 i_reguh-lifnr+4(6) into t_fimsg-msgv1 separated by ' / '.
            endif.
            append t_fimsg.

          endif.
        endif.
      ENDIF.
    ENDIF.

* if email was not possible: try fax (message type 2)
    IF c_finaa-nacha NE 'I'.
*    IF NOT i_reguh-ztlfx IS INITIAL.
*      c_finaa-nacha      = '2'.                 "Fax
*      c_finaa-tdschedule = 'IMM'.               "Sofort
*      c_finaa-tdteleland = i_reguh-zland.	       "Land der Faxnummer
*      c_finaa-tdtelenum  = i_reguh-ztlfx.	       "Faxnummer
*      c_finaa-formc      = 'FI_FAX_COVER_A4'.   "SAPscript Deckblatt
*    ENDIF.
    ENDIF.

  endif.

ENDFUNCTION.
überall im Coding wo ZV abgefragt wird, hat den Hintergrund das ich aus mehreren E-Mail oder Fax Nummern die haben will
die zum Avis verschicken relevant ist.
kreditor_ZV_mail.jpg
ZFS ist eine Nachrichtenklasse Transaktion SE91:
ZFS.jpg
der c_FINAA-MAIL_BODY_TEXT = 'Z_AVIS_MAIL'. Z_AVIS_MAIL ist ein SO10 Text der mit Text-id FIKO angelegt werden muss,
der Name spielt natürlich keine Rolle, den kannst du ja ändern.

so ich hoffe mal das Licht is jetzt richtig hell :D


wenn man jetzt meine beiden postings zusammenfässt, hat man eigentlich eine pfannenfertige Umsetzung des HW 1033893 vielleicht ist das was für den Anleitungsthread.

Folgende Benutzer bedankten sich beim Autor ratsnus für den Beitrag (Insgesamt 2):
km216s.brand-craemer

<:: XING-Gruppe Tricktresor::>

Re: Hinweis 1033893

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Hallo ratsnus,

auch, wenn ich keinen Hinweis einzuspielen hab, bekommst du für mich ein dickes Danke! für deinen Beitrag.
Schöne Erklärung der Vorgehensweise, sollte wirklich irgendwo angepinnt werden.

Re: Hinweis 1033893

Beitrag von Anfänger (Specialist / 106 / 0 / 1 ) »
Hallo,

auch von mir ein dickes Danke.
Ich hätte gerne eine Rückmeldung gegeben, ob es geklappt hat oder nicht, deshalb melde ich mich auch erst jetzt.
Bei uns sind nur die Entscheidungswege so lang, dass ich noch nicht den Auftrag habe es einzuspielen.
Ich melde mich wenn ich das ganze durchgeführt habe noch einmal.
Gruß
Thomas

Re: Hinweis 1033893

Beitrag von Anfänger (Specialist / 106 / 0 / 1 ) »
Hallo,

ich habe immer noch Probleme. Zur Vorgeschichte:
Ich habe wie von beschrieben den ZSAMPLE_PROCESS_00002050 angelegt.
Den ZSAMPLE_PROCESS_00002040 gab es schon, den habe ich nach deinen Vorgaben editiert.

Soweit so gut jetzt kommt aber mein Problem. Ich wollte noch die Einträge in die FIBF machen.
Für den ZSAMPLE_PROCESS_00002040 gab es schon einen Eintrag. Ist OK, hatte ichauch mit gerechnet.
Für den ZSAMPLE_PROCESS_00002050 gab es aber auch schon einen Eintrag. Damit hatte ich nicht gerechnet . :mrgreen:

In der FIBF steht:

Prozess Applk Funktionsbaustein Produkt
00001040 FI-FI ZFI_OPT_ARCHIVE_DUNNING_NOTICE MAHNARCH
00002040 ZSAMPLE_PROCESS_00002040 AVISMAIL
00002050 ZFI_OPT_ARCHIVE_PAYMENT_ADVICE AVISARCH
00002310 ZFI_OPT_ARCHIVE_CORRESPONDENCE CORRARCH
________ ___ ______ ______________________________ ________

Was für Handlungmöglichkeiten habe ich? Kann ich eine Zeil wie:
00002050 ZFI_OPT_ARCHIVE_PAYMENT_ADVICE AVISMAIL

einfügen und den in den Funktionsbaustein ZFI_OPT_ARCHIVE_PAYMENT_ADVICE die
IF-Schleife :
IF I_NACHA EQ 'I'.
concatenate 'Max Mustermann AG' c_itcpo-tdtitle into c_itcpo-tdtitle separated by ' '.
endif.
einfügen?
Oder kann ich einfach
00002040 ZSAMPLE_PROCESS_00002050 AVISMAIL
eintragen?
Für Unterstützung wäre ich dankbar.

Gruß
Thomas
Zuletzt geändert von Anfänger am 21.09.2011 11:37, insgesamt 1-mal geändert.

Re: Hinweis 1033893

Beitrag von ratsnus (Specialist / 352 / 2 / 53 ) »
Hallo Thomas,

ja du kannst im FUBA ZFI_OPT_ARCHIVE_PAYMENT_ADVICE also der der schon hinterlegt ist die Schleife:

Code: Alles auswählen.

IF I_NACHA EQ 'I'.
concatenate 'Max Mustermann AG' c_itcpo-tdtitle into c_itcpo-tdtitle separated by ' '.
endif.
einfügen, sollte funktionieren.
<:: XING-Gruppe Tricktresor::>

Re: Hinweis 1033893

Beitrag von Anfänger (Specialist / 106 / 0 / 1 ) »
Hallo Danke,

muss ich in der Prozess-BTE noch die Zeile
00002050 ZFI_OPT_ARCHIVE_PAYMENT_ADVICE AVISMAIL

einfügen?

Gruß

Thomas

Re: Hinweis 1033893

Beitrag von ratsnus (Specialist / 352 / 2 / 53 ) »
Hallo Thomas,

nein musst du nicht. der ist ja schon registriert. du musst halt nur schauen ob das andere Produkt aktiv ist damit er auch ausgeführt wird.

unter: Einstellungen-->Produkte-->eines Kunden

kannst du das nachsehen. falls es nicht aktiv ist, könntest du auch den Eintrag ändern und dein Produkt nehmen.

gruss
tony
<:: XING-Gruppe Tricktresor::>

Re: Hinweis 1033893

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
Hallo zusammen,

hätte noch eine Frage bezüglich des Body Textes, welcher durch die Übergabe eines SO10 Textes realisiert ist.

Kann ich da auch &VARIABLE& im SO10 Text hinterlegen?

Die sollten dann durch einen TEXT_SYMBIL_REPLACE ersetzt werden?

VG
Piero

Re: Hinweis 1033893

Beitrag von Andree (ForumUser / 5 / 0 / 0 ) »
Hallo zusammen,

wie kann ich Variablen aus dem SO10 Text ersetzen, wenn der SO10 Text erst viel später geladen wird?

c_FINAA-MAIL_BODY_TEXT = 'Z_AVIS_MAIL'.

Re: Hinweis 1033893

Beitrag von a-dead-trousers (Top Expert / 3590 / 124 / 933 ) »
Das kommt drauf an, wie dein Progamm aufgebaut ist:
Wenn du die Formularausgabe direkt aufgerufen hast (OPEN_FORM), kannst du mit TEXT_SYMBOL_REPLACE und dann WRITE_FORM_LINES die Ausgabe beliebig aufbauen.
Wenn du in einem "Standard"-Druckprogramm hängst, reicht es deine neuen Variablen in eben diesem bekannt zu machen. Das ist aber je nach Implementierung anders gelöst. Mal über includes im Kundennamensraum, dann über Angabe eines Programmnamens in dem die Variablen gesucht werden. Wenn nichts hilft, hilft im schlimmsten Fall eine Standardmodifikation.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: Hinweis 1033893

Beitrag von Andree (ForumUser / 5 / 0 / 0 ) »
a-dead-trousers hat geschrieben:
10.11.2020 07:57
Das kommt drauf an, wie dein Progamm aufgebaut ist:
Wenn du die Formularausgabe direkt aufgerufen hast (OPEN_FORM), kannst du mit TEXT_SYMBOL_REPLACE und dann WRITE_FORM_LINES die Ausgabe beliebig aufbauen.
Wenn du in einem "Standard"-Druckprogramm hängst, reicht es deine neuen Variablen in eben diesem bekannt zu machen. Das ist aber je nach Implementierung anders gelöst. Mal über includes im Kundennamensraum, dann über Angabe eines Programmnamens in dem die Variablen gesucht werden. Wenn nichts hilft, hilft im schlimmsten Fall eine Standardmodifikation.
Danke für deine Antwort.. vill. kannst du mir hier etwas genauer erklären, wie ich die Variablen aus der SO10 füllen kann. Ich hab keine Ahnung wie das funktioniert... habe mir bereits alle Schulungsunterlagen dazu angeschaut, jedoch ohne Erfolg.

Die Lastschriftankündigung wird über die Transaktion F110 mit einer Variante aufgerufen. In dieser Variante ist ein PDF Formular für den Anhang der E-Mail angegeben. Wie das funktioniert ist mir soweit klar...der Anhang wurde ja an die E-Mail angehängt.

In der SO10 habe ich z.B. den Text Z_AVIS_MAIL angelegt wie hier beschrieben. Dies funktioniert auch einwandfrei. Ich sehe die E-Mail in der SOST und kann mir dort den Inhalt inkl. Anhang anschauen.

Nur verstehe ich nicht, wenn mein Body-Text aus der SO10 geladen wird, wie ich dort die Variablen aus dem SO10 Text ersetzen kann.
Ich befinde mich vom Programmablauf in dem Event 2040. Nun habe ich versucht, im SO10 Text eine Variable aus dem bereits geladenen zu verwenden. z.B. &FINAA-NAMEP&. Aber die ist in der E-Mail wieder nicht gefüllt ... :(


In der SO10 gibt es nun die Möglichkeit, dort ein Formular auszuwählen:
Lastschriftankündigung_Formular.png
Was hat das genau für einen Sinn? Ich sehe hier meine ZFormulare nicht, deshalb habe ich das Standard Formular ausgewählt. Als Druckprogramm soweit ich das richtig verstehe, wird das Programm "RFFOAVIS_DD_PRENOTIF" verwendet.
RFFOAVISF110.png
Wenn ich nun das Druckprogramm in der SO10 hinzufüge um die vorhanden Programmsymbole auszuwählen, sind die Variablen nicht gefüllt.
Druckprogramm_Formular1.png

Wäre klasse wenn ich mit eurer Hilfe verstehen könnte wie genau das funktioniert und zusammenhängt.

Merci

Re: Hinweis 1033893

Beitrag von a-dead-trousers (Top Expert / 3590 / 124 / 933 ) »
Leider kenn ich mich in dem Umfeld nicht so gut aus.
Ich könnte mir aber vorstellen, dass die "Übergabe" der Variablen in diesem Fall nicht klappt, weil das Druckprogramm, das du ausgewählt hast in einem andern "Aufrufstack" läuft (SUBMIT, CALL FUNCTION ... DESTINATION, CALL TRANSACTION) und daher die Variablen per "ASSIGN ('(Program)Variable')" nicht ausgelesen werden können.
Hast du irgendeine Möglichkeit an das Programmcoding ranzukommen, wo dein SO10-Text ausgelesen und verarbeitet wird? Dann könntest du dort nachschauen, was die SAP dafür so alles anbietet.
Alternativ könntest du in deinen SO10-Text auch einen PERFORM-Aufruf einbauen und so die notwendigen Variablen versorgen oder über diesen Weg und einem Break-Point in das aufrufende Progamm finden.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40


Vergleichbare Themen

SAP-Hinweis 525247
von Mrs. Hilflos » 23.07.2003 10:46
SAP Hinweis 537921
von autohandel7 » 20.12.2016 10:32
OSS Hinweis 632622
von Meex » 13.10.2003 08:23
Sap Hinweis 610636 zcl_uc_method_01
von Grado » 07.04.2005 13:49
Frage zu Hinweis 1171138
von Anfänger » 04.05.2012 13:55