Folgende Benutzer bedankten sich beim Autor ratsnus für den Beitrag (Insgesamt 2):
s.brand-craemer • INFDOC
Folgende Benutzer bedankten sich beim Autor Anfänger für den Beitrag:
s.brand-craemer
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.
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.
Folgende Benutzer bedankten sich beim Autor ratsnus für den Beitrag (Insgesamt 2):
km216 • s.brand-craemer
Code: Alles auswählen.
IF I_NACHA EQ 'I'.
concatenate 'Max Mustermann AG' c_itcpo-tdtitle into c_itcpo-tdtitle separated by ' '.
endif.
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.a-dead-trousers hat geschrieben: ↑10.11.2020 07:57Das 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.