Skip to Content
author's profile photo Former Member
Former Member

PRAA user exit to update vendor email address

I appoigize for the lenght.

I want to copy the Email address from a HR record to the corresponding Vendor record through PRAA, so that we can send out payment notifications from F110 to vendors. In reading other threads it sounds like this is possible but I have not been able to figure out how.

There are 2 email addresses on the Vendor:

- in the communication section of the 1st vendor screen in XK02 field SZAL_D0100-SMTP_ADDR(this goes to ADR6-SMTP_ADDR). I have been told that this is a u2018generalu2019 email address.

- the clerk email address in the correspondence section the last screen of the Vender in XK02 field BLFB1-INTAD. I have been told that this is used as an accounting or AR clerk.

Since F110 can only be configured to use one email address I have been told that the standard is to use the clerks email address in the correspondence section for both outside vendors and employee vendors. Is this true?

For employee vendors I would like to copy the email address to both places via PRAA or put a comment in the communication section mail address pointing the user to the correspondence section.

I see the following predefined user exits predefined:

RPRAPAEX

- FORM SET_MC_FIELD_BY_USER - changes the sortfield of the A/P-account BLAF1

- FORM SET_ADDRESS_BY_USER - changes the adress fields in blfa1

RPRAPAEX_001

- form set_vendor_no_by_user - changes the sortfield of the A/P-account BLAF1

Neither of these have access to BLAF1 or to Adr6.

In include RPRAPAFO_ALV I can see the assignment of some of the fields in BLFB2 but all of them. I can also see that it clears out the entire structure before it does any of the assignment.

I see the call method user_exit->set_values_for_blfb1, which calls IF_EX_BADI_EXITS_RPRAPA00~SET_VALUES_FOR_BLFB1. I have seen a reference to this in other threads.

I went into the HR record and changed the email address and stepped through the program in the debugger. Just prior to the call method user_exit->set_values_for_blfb1 BLFB1-INTAD is blank I can go into the debugger and manually change the value and the vendor record is updated. So I must be closeu2026

I could use the modification assistant and change RPRAPAFO_ALV to retrieve the email address from the HR record and populate the BLFB1-INTAD, but from reading other threads it sounds like there is a user exit to allow for this.

Am Iu2019m missing something?

Is it possible to update the Communication and correspondence email address on the Vendor record from the HR record using a user exit or does it have to be a code change using the modification assistant?

Thanks for reading this, I hope someone can help me.

Jerry

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Mar 11, 2011 at 11:57 PM

    I just found another related thread so I will put in a link to it:

    populating-the-email-address-smtpaddr-in-vendor-ma

    I was able to copy the emplyee email address to the vendor correspondence section email address.

    Here is what I did.

    program RPRAPA00

    include RPRAPAFO_ALV

    ...

    include ZRPRAPAFO_ALV_LOAD_BLFB1

    CALL METHOD user_exit->set_values_for_blfb1 "HASK036614

    EXPORTING

    i_pernr = p0009-pernr

    CHANGING "HASK036614

    c_blfb1 = blfb1. "HASK036614

    ...

    include ZRPRAPAFO_ALV_LOAD_BLFB1

    • insert code that will populate BLFB1 fields that are not currently

    • being populated

    *

    ...

    • get the email address using info type 0105 subtype 0010

    • put it in the correspondence section of the vendor record

    DATA l_usrid_long TYPE comm_id_long. "email address

    SELECT SINGLE usrid_long

    FROM pa0105

    INTO l_usrid_long

    WHERE pernr = pernr-pernr

    AND subty = '0010' "email sub type

    AND objps = ''

    AND sprps = ''

    AND endda >= sy-datum

    AND begda <= sy-datum

    AND seqnr = ''.

    blfb1-intad = l_usrid_long+0(130).

    • end of get email address section

    ...

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.