[59992] in SAPr3-news

home help back first fref pref prev next nref lref last post

Re: Sachbearbeiterinfos in Mahnung

daemon@ATHENA.MIT.EDU (Gerhard Fricke)
Tue Sep 18 00:23:26 2007

To: sapr3-news@mit.edu
Date: Tue, 18 Sep 2007 06:23:15 +0200
From: Gerhard Fricke <gerhard.fricke@lsw.de>
Message-ID: <1190089395.52@user.newsoffice.de>

Hallo,

hier ein funktionierendes Beispiel von mir, allerdings aus dem Bereich 
SD/PM.

Über die Felder &VBDKA-ERNAM& und &VBDKA-VBELN& ermittele ich im Angebot 
die weiteren Daten.

Sapscript-Formular

/: PERFORM Z_READ_ADDRESS IN PROGRAM Z_007_USEREXIT_ANGEBOT
/: USING &VBDKA-ERNAM&
/: USING &VBDKA-VBELN&
/: CHANGING &ANREDE&
/: CHANGING &TELNR&
/: CHANGING &FAXNR&
/: CHANGING &EMAIL&
/: CHANGING &NAME_KBS&
ENDPERFORM

und hier das Coding im Userexit

ABAP Z_007_USEREXIT_ANGEBOT

FORM Z_READ_ADDRESS TABLES INPUT  STRUCTURE ITCSY
                           OUTPUT STRUCTURE ITCSY.

  DATA: NAME       LIKE   VBDKA-ERNAM,
        FAX        LIKE   ADCP-FAX_NUMBER,
        VBELN      LIKE   VBDKA-VBELN.
  data: RETURN     type   BAPIRET2  occurs 0.
  data: ADDRESS    like   BAPIADDR3.
  data: tel(40).
  data: wa_VBPA    like   VBPA,
        wa_PA0105  like   PA0105.

  READ TABLE INPUT WITH KEY 'VBDKA-ERNAM'.
  NAME = INPUT-VALUE.

  READ TABLE INPUT WITH KEY 'VBDKA-VBELN'.
  VBELN = INPUT-VALUE.

* wenn 2. Ansprechpartner angegeben, dann dessen Daten ermitteln;
* hat Partnerrolle = 'ZM'
* 2. Ansprechpartner mit Partnerrolle = 'ZM'
  select single * from VBPA
                  into wa_VBPA
                  where vbeln = VBELN and
                        PARVW = 'ZM'.
  if sy-subrc = 0.
    select single * from PA0105
                    into wa_PA0105
                    where PERNR = wa_VBPA-PERNR.
    if sy-subrc = 0.
      NAME = wa_PA0105-USRID.
    endif.
  endif.

  CALL FUNCTION 'BAPI_USER_GET_DETAIL'
       EXPORTING
            USERNAME = NAME
       IMPORTING
            ADDRESS  = ADDRESS
       TABLES
            RETURN   = RETURN.
*--> RC: innerhalb ADRRESS stehen gewünschte Angaben.

* PERSNUMBER
  READ TABLE OUTPUT WITH KEY 'PERSNUMBER'.
  OUTPUT-VALUE = ADDRESS-PERS_NO.
  MODIFY OUTPUT INDEX 1.

* ANREDE
  READ TABLE OUTPUT WITH KEY 'ANREDE'.
  OUTPUT-VALUE = ADDRESS-TITLE_P.
  MODIFY OUTPUT INDEX 2.

* TELNR
  concatenate ADDRESS-TEL1_NUMBR ADDRESS-TEL1_EXT into tel.
  READ TABLE OUTPUT WITH KEY 'TELNR'.
  OUTPUT-VALUE = TEL.
  MODIFY OUTPUT INDEX 3.

* FAXNR
  concatenate ADDRESS-FAX_NUMBER ADDRESS-FAX_EXTENS into fax.
  READ TABLE OUTPUT WITH KEY 'FAXNR'.
  OUTPUT-VALUE = FAX.
  MODIFY OUTPUT INDEX 4.

* EMAIL
  READ TABLE OUTPUT WITH KEY 'EMAIL'.
  OUTPUT-VALUE = ADDRESS-E_MAIL.
  MODIFY OUTPUT INDEX 5.

* NAME in Kleinbuchstaben
  READ TABLE OUTPUT WITH KEY 'NAME_KBS'.
  OUTPUT-VALUE = ADDRESS-LASTNAME.
  MODIFY OUTPUT INDEX 6.

ENDFORM.


Vielleicht hilft es dir ja weiter.

Ciao

Gerd



St. Kother schrieb am 09.17.2007:

> Hallo,

> Christian Wallner schrieb:
>> <FORM> IN PROGRAM <ZREP> im Fenster INFO gelöst.

> Ich bekomme bloß die Emailadresse nicht aus dem Programm in mein Formular:

> FORM get_email tables in_tab  structure itcsy
>                        out_tab structure itcsy.

> * Ermittlung der Emailadresse
> * steht in adr6-smtp_addr

>    move 'EMAIL' to out_tab-name.
>    move adr6-smtp_addr to out_tab-value.
>    append out_tab.

> ENDFORM.

> Die Adresse selber wird korrekt ermittelt.

> Wenn ich in das Programm noch einen Funktionsaufruf mit simplen "write" 
> packe und die Funktion anpasse (using usw.), dann sehe ich die 
> Emailadresse. Ich stehe bissl auf'm Schlauch. Von dem Funktionsaufruf, 
> bei dem ich abgeguckt habe, der macht im Endeffekt auch nichts and(ere)s.



home help back first fref pref prev next nref lref last post