Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Orders05 .. Very Urgent..Not yet clear please answer

former_member588853
Active Contributor
0 Kudos

Hi guys, Please help me..

I need to send an IDOC outbound when ever a PO is changed or created..

Where and how can i find the exit..

My Functional guy has given me "IDOC_OUTPUT_ORDCHG" and "IDOC_OUTPUT_ORDERS" for change and create and EXIT "EXIT_SAPLEINM_011".. Is it correct..

Please tell me the flow what should be done..

And What should be done inorder to trigger the code I am going to write in the EXIT..(put a break point and how cal I come to that break point..)

REwards guaranteed..

regards,

nazeer

Message was edited by:

nazeer shaik

Message was edited by:

nazeer shaik

7 REPLIES 7

Former Member
0 Kudos

Hi,

Hi,

You can use the PO business object BUS2012 and send a mail to the needed person after saving or creation. You have to copy the object and have to write the code in that object program.

see the sample code written like that.

          • Implementation of object type ZBUS2012 *****

INCLUDE <object>.

begin_data object. " Do not change.. DATA is generated

  • only private members may be inserted into structure private

DATA:

" begin of private,

" to declare private attributes remove comments and

" insert private attributes here ...

" end of private,

BEGIN OF key,

purchaseorder LIKE ekko-ebeln,

END OF key.

end_data object. " Do not change.. DATA is generated

************************************************************************

begin_method sparesstatuschange changing container.

DATA: v_ebeln LIKE ekko-ebeln,

v_str(43), v_str1(4), v_str2(7), v_str3(2),v_text(90),

v_ernam LIKE ekko-ernam,

v_mstae1 LIKE mara-mstae,

v_sendor TYPE syuname,

v_receiver TYPE string,

v_header TYPE string,

v_body TYPE string.

CONSTANTS: v_sign VALUE ';'.

v_str = 'Please Change the Status of Spares Material'.

v_str2 = 'in PO #'.

v_str1 = 'from'.

v_str3 = 'to'.

DATA : BEGIN OF i_mat OCCURS 0,

ebeln LIKE ekko-ebeln, " PO Number

ebelp LIKE ekpo-ebelp, " PO Item

matnr LIKE ekpo-matnr, " Material Number

END OF i_mat.

DATA : BEGIN OF i_mara OCCURS 0,

matnr LIKE mara-matnr,

mstae LIKE mara-mstae,

END OF i_mara.

DATA: BEGIN OF i_text OCCURS 0,

text(90),

END OF i_text.

swc_get_element container 'ponum' v_ebeln.

CLEAR: v_ernam, v_text.

SELECT SINGLE ernam INTO v_ernam FROM ekko

WHERE ebeln = v_ebeln.

SELECT ebeln ebelp matnr

INTO TABLE i_mat

FROM ekpo

WHERE ebeln = v_ebeln.

SELECT matnr mstae INTO TABLE i_mara FROM mara.

LOOP AT i_mat.

  • Check for PO Spares Material Status

CLEAR i_mara.

READ TABLE i_mara WITH KEY matnr = i_mat-matnr.

IF sy-subrc = 0.

IF ( i_mara-mstae = 'CO' OR i_mara-mstae = 'RR' ).

IF i_mara-mstae = 'CO'.

v_mstae1 = 'CP'.

ELSEIF i_mara-mstae = 'RR'.

v_mstae1 = 'RP'.

ENDIF.

CONCATENATE v_str i_mat-matnr v_str2 i_mat-ebeln v_str1

i_mara-mstae v_str3 v_mstae1 INTO v_text SEPARATED BY space.

i_text-text = v_text.

APPEND i_text. CLEAR i_text.

ENDIF.

ENDIF.

ENDLOOP.

CLEAR v_body.

LOOP AT i_text.

CONCATENATE v_body i_text-text INTO v_body SEPARATED BY v_sign.

ENDLOOP.

v_receiver = 'xxxxx@yahoo.com'.

v_sendor = v_ernam.

v_header = 'Check for PO Spares Material Status'.

  • Call Function Module To send mail

CALL FUNCTION 'UWSP_SEND_MAIL_TO_WEB'

EXPORTING

id_header = v_header

id_body = v_body

id_receiver = v_receiver

id_sender = v_sendor

  • ID_HTML_MAIL =

id_commit_work = 'X'

EXCEPTIONS

error = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

end_method.

************************************************************************

begin_method noteditemcreate changing container.

DATA: v_ebeln LIKE ekko-ebeln,

v_str(54),

v_sendor TYPE syuname,

v_receiver TYPE string,

v_header TYPE string,

v_ernam LIKE ekko-ernam,

v_body TYPE string.

swc_get_element container 'ponum' v_ebeln.

CLEAR: v_ernam.

SELECT SINGLE ernam FROM ekko

INTO v_ernam

WHERE ebeln = v_ebeln.

v_receiver = 'aalhaider@sipchem.com'.

v_sendor = v_ernam.

v_header = 'Noted Item Notification'.

v_str = 'Please Create a Noted Item/Down Payment for the PO #'.

CONCATENATE v_str v_ebeln INTO v_body.

  • Call Function Module To send mail

CALL FUNCTION 'UWSP_SEND_MAIL_TO_WEB'

EXPORTING

id_header = v_header

id_body = v_body

id_receiver = v_receiver

id_sender = v_sendor

  • ID_HTML_MAIL =

id_commit_work = 'X'

EXCEPTIONS

error = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

end_method.

************************************************************************

BEGIN_METHOD SEND_MAIL CHANGING CONTAINER.

tables : usr21,t16fw.

data : v_ebeln like ekko-ebeln,

v_str(37), v_str1(16), v_str2(25),

v_ernam like ekko-ernam,

v_rel_code LIKE rm06b-frgab,

v_pos like t16fw-objid,

v_pernr like adr6-persnumber,

v_adrnr like adr6-addrnumber,

v_usrid like pa0105-usrid,

v_mail like adr6-smtp_addr,

v_sendor type syuname,

v_receiver type string,

v_header type string,

v_body type string.

swc_get_element container 'ponum' v_ebeln.

swc_get_element container 'ReleaseCode' v_rel_code.

clear: v_pos, v_pernr, v_usrid, v_adrnr, v_mail,

v_sendor, v_receiver, v_header, v_body , v_ernam.

select single ernam into v_ernam

from ekko where ebeln = v_ebeln.

select single objid from t16fw into v_pos

where frgco = v_rel_code

and otype = 'S'.

if sy-subrc eq 0.

select single pernr into v_pernr from pa0001

where endda eq '99991231' and

plans eq v_pos.

if sy-subrc = 0.

select single usrid into v_usrid from pa0105

where endda eq '99991231' and

subty eq '0001' and

pernr eq v_pernr.

if sy-subrc = 0.

select single persnumber addrnumber from usr21

into (v_pernr,v_adrnr)

where bname = v_usrid.

if sy-subrc = 0.

select single smtp_addr into v_mail from adr6

where addrnumber = v_adrnr and

persnumber = v_pernr.

if sy-subrc <> 0.

concatenate v_usrid '@sipchem.com' into v_mail.

v_receiver = v_mail.

else.

v_receiver = v_mail.

endif.

v_sendor = v_ernam.

v_header = 'Purchase Order Release'.

v_str = 'Pls release it through your SAP Inbox'.

v_str1 = 'Purchase Order #'.

v_str2 = 'is awaiting your release.'.

concatenate v_str1 v_ebeln v_str2 v_str into v_body separated by space.

  • Call Function Module To send mail

CALL FUNCTION 'UWSP_SEND_MAIL_TO_WEB'

EXPORTING

id_header = v_header

id_body = v_body

id_receiver = v_receiver

ID_SENDER = v_ernam

  • ID_HTML_MAIL =

ID_COMMIT_WORK = 'X'

EXCEPTIONS

ERROR = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

endif.

endif.

endif.

endif.

END_METHOD.

<b>Reward points</b>

Regards

0 Kudos

HI,

Can you please let me know if "EXIT_SAPLEINM_002" is the correct EXIT..

Till now I was using "EXIT_SAPLEINM_011"

regards,

Nazeer

former_member404244
Active Contributor
0 Kudos

Hi,

instead of going for userexit use message control method for creating idoc for change/create.

The following are the configurations

The transaction codes that are required for this method are

We81(check the message type)->ORDERS

We30(Check the basic type)->ORDERS05

We31(check the segments)

We82(Check the assignment of message type to basic type)

SM59(Create RFC destination)

We21(Craete the port (TRFC port)

We20(Create the partner profiles)and in the output parametrs specify the basic and message type and in the message control tab specify the appilcation as EF.Output type ,and process code is ME10 for create and for change ME11.

Bd64(generate the modelview)

Now go to Me22n (purchase order),In the messages tab give the output type and the distribution medium as distribution-ale and then save it.

Before doing this u should maintain the nace transaction code.

Regards,

nagaraj

Ex: purchase order.

Message type: ORDERS

Idoc type: ORDERS05

Outbound process code for purchase order: me10

0 Kudos

HI Nagaraj,

Every thig is done..

created an IDOC extension, custom output type ..

I want to know where do I need to write my code to insert the data into custom segments..

And how do I trigger it ..

In Me22N I change the PO details and save..then it should trigger..

Can you please let me know how can I test in debug mode..

regards,

nazeer

former_member404244
Active Contributor
0 Kudos

Hi,

u can test from the transaction code ME22N only.In the messages tab give the output type and the distribution medium as distribution-ale and then save it.

but i am in doubt as the userexit which u specifed is not correct user exit becoz it doesn't contain any data record information.So ask ur functional consultant for the correct one .I have done coding for order confirmation.It will just give u an idea how to populate the custom segments.Please have a look.

&----


*& Include ZXVEDU02

&----


**--


Data Declaration--


*--


Constant Declaration--


CONSTANTS: c_1(1) TYPE c VALUE '1',

c_langu LIKE t005t-spras VALUE 'E',

c_parvw LIKE vbpa-parvw VALUE 'RG',

c_e1edk01(7) TYPE c VALUE 'E1EDK01',

c_e1edk02(7) TYPE c VALUE 'E1EDK02',

c_e1edk17(7) TYPE c VALUE 'E1EDK17',

c_e1edka1(7) TYPE c VALUE 'E1EDKA1',

c_e1edk14(7) TYPE c VALUE 'E1EDK14',

c_004(3) TYPE c VALUE '004',

c_001(3) TYPE c VALUE '001',

c_002(3) TYPE c VALUE '002',

c_re(2) TYPE c VALUE 'RE',

c_we(2) TYPE c VALUE 'WE',

c_ag(2) TYPE c VALUE 'AG',

c_0010(4) TYPE c VALUE '0010',

c_zzdochdr(8) TYPE c VALUE 'ZZDOCHDR',

c_ze1edk02(8) TYPE c VALUE 'ZE1EDK02',

c_zze1edk17(9) TYPE c VALUE 'ZZE1EDK17',

c_zze1edka1(9) TYPE c VALUE 'ZZE1EDKA1',

c_pe(2) TYPE c VALUE 'PE',

c_y(1) TYPE c VALUE 'Y',

c_zze1email(9) TYPE c VALUE 'ZZE1EMAIL',

c_zzsalorg(8) TYPE c VALUE 'ZZSALORG',

c_zze1edp01(9) TYPE c VALUE 'ZZE1EDP01',

c_e1edp01(7) TYPE c VALUE 'E1EDP01'.

*--


Variables Declaration--


DATA: lv_vbeln LIKE vbak-vbeln,

lv_country LIKE t005t-landx,

lv_text1 LIKE t042z-text1,

lv_vzskz LIKE knb1-vzskz,

lv_inco LIKE tinct-bezei,

lv_cadnr LIKE akkp-cadnr,

lv_pernr LIKE pa0105-pernr,

lv_parvw LIKE tpar-parvw,

lv_adrnr LIKE tvko-adrnr,

lv_zinso LIKE t056z-zinso,

  • Begin of Mod-002

lv_stceg TYPE stceg.

  • End of Mod-002

    • Begin of MOD-003

  • lv_min_tol TYPE KWMENG,

  • lv_max_tol TYPE KWMENG.

    • End Of MOD-003

TYPES:BEGIN OF t_vbfa,

vbelv LIKE vbfa-vbeln,

erdat TYPE erdat,

END OF t_vbfa.

DATA: i_akkp TYPE akkp.

*--


WorkArea Declaration--


DATA : wa_zdochdr TYPE zzdochdr,

wa_ze1edk02 TYPE zze1edk02,

wa_ze1edk17 TYPE zze1edk17,

wa_zze1email TYPE zze1email,

wa_zzsalorg TYPE zzsalorg,

wa_zze1edp01 TYPE zze1edp01,

wa_e1edk02 TYPE e1edk02,

wa_e1edk17 TYPE e1edk17,

wa_e1edka1 TYPE e1edka1,

wa_e1edk01 TYPE e1edk01,

wa_e1edp01 TYPE e1edp01,

wa_adrc TYPE adrc,

wa_pa0105 TYPE pa0105,

wa_zze1edka1 TYPE zze1edka1,

wa_zzdochdr TYPE zzdochdr,

wa_vbfa TYPE t_vbfa,

wa_vbpa TYPE vbpa.

*--


Move data to ZZDOCHDR Segment--


CASE int_edidd-segnam.

WHEN c_e1edk01.

MOVE int_edidd-sdata TO wa_e1edk01.

*--


Begin of MOD001+(Modification ID 001)--


*--


Filling of ZZSALORG segment--


SELECT SINGLE adrnr

FROM tvko

INTO lv_adrnr

WHERE vkorg EQ dxvbak-vkorg.

IF sy-subrc EQ 0.

SELECT SINGLE *

FROM adrc

INTO wa_adrc

WHERE addrnumber EQ lv_adrnr.

wa_zzsalorg-salorg = dxvbak-vkorg.

wa_zzsalorg-name1 = wa_adrc-name1.

wa_zzsalorg-name2 = wa_adrc-name2.

wa_zzsalorg-stras = wa_adrc-street.

wa_zzsalorg-telf1 = wa_adrc-tel_number.

wa_zzsalorg-telfx = wa_adrc-fax_number.

wa_zzsalorg-land1 = wa_adrc-country.

wa_zzsalorg-strs2 = wa_adrc-str_suppl1.

wa_zzsalorg-street2 = wa_adrc-str_suppl2.

wa_zzsalorg-street3 = wa_adrc-str_suppl3.

wa_zzsalorg-ort01 = wa_adrc-city1.

wa_zzsalorg-pstlz = wa_adrc-post_code1.

wa_zzsalorg-regio = wa_adrc-region.

int_edidd-segnam = c_zzsalorg.

CLEAR int_edidd-sdata.

MOVE wa_zzsalorg TO int_edidd-sdata.

APPEND int_edidd.

CLEAR: wa_adrc,

wa_zzsalorg.

ENDIF.

*--


End of MOD001+(Modification ID 001)--


SELECT SINGLE text1

FROM t042z

INTO lv_text1

WHERE land1 EQ dxvbpa-land1

AND zlsch EQ dxvbkd-zlsch.

READ TABLE dxvbpa INTO wa_vbpa WITH KEY vbeln = dxvbpa-vbeln

parvw = c_parvw.

IF sy-subrc EQ 0.

  • Begin of Mod-002

SELECT SINGLE stceg

FROM kna1

INTO lv_stceg

WHERE kunnr = wa_vbpa-kunnr.

  • End of Mod-002

SELECT SINGLE vzskz

FROM knb1

INTO lv_vzskz

WHERE kunnr EQ wa_vbpa-kunnr

AND bukrs EQ dxvbak-bukrs_vf.

IF sy-subrc EQ 0.

SELECT SINGLE zinso

FROM t056z

INTO lv_zinso

WHERE vzskz EQ lv_vzskz

AND waers EQ wa_e1edk01-curcy.

wa_zzdochdr-zdoctitle = dobject-objky.

wa_zzdochdr-zdate = dobject-erdat.

wa_zzdochdr-zmestyp = dobject-kschl.

wa_zzdochdr-zmedium = dobject-nacha.

wa_zzdochdr-zlang = dobject-spras.

wa_zzdochdr-zttype = dxvbkd-kdkg1.

wa_zzdochdr-zpaymethod = dxvbkd-zlsch.

wa_zzdochdr-zpaytext = lv_text1.

wa_zzdochdr-zintonpymt = lv_zinso.

  • Begin of Mod-002

wa_zzdochdr-zstceg = lv_stceg.

  • End of Mod-002

int_edidd-segnam = c_zzdochdr.

CLEAR int_edidd-sdata.

MOVE wa_zzdochdr TO int_edidd-sdata.

APPEND int_edidd.

CLEAR : wa_zzdochdr.

ENDIF.

ENDIF.

*--


Move data to ZZE1EDK02 Segment--


WHEN c_e1edk02.

MOVE int_edidd-sdata TO wa_e1edk02.

IF wa_e1edk02-qualf EQ c_004.

SELECT SINGLE vbelv FROM vbfa INTO wa_vbfa

WHERE vbeln EQ lv_vbeln

AND vbtyp_v EQ 'B'.

IF sy-subrc EQ 0.

SELECT SINGLE erdat FROM vbak INTO wa_vbfa

WHERE vbeln EQ wa_vbfa-vbelv.

int_edidd-segnam = c_ze1edk02.

CLEAR int_edidd-sdata.

MOVE wa_vbfa TO int_edidd-sdata.

APPEND int_edidd.

CLEAR wa_vbfa.

ENDIF.

ENDIF. " IF ended for "IF wa_e1edk02-qualf = '004'" condition.

**--


Move data to ZZE1EDK17 Segment--


WHEN c_e1edk17.

MOVE int_edidd-sdata TO wa_e1edk17.

IF NOT dxvbkd-lcnum IS INITIAL.

SELECT SINGLE inco1

inco2

FROM akkp

INTO i_akkp

WHERE lcnum EQ dxvbkd-lcnum.

IF sy-subrc EQ 0.

IF wa_e1edk17-qualf EQ c_001.

wa_ze1edk17-lkond = i_akkp-inco1.

wa_ze1edk17-qualf = wa_e1edk17-qualf.

SELECT SINGLE bezei

FROM tinct

INTO lv_inco

WHERE spras EQ 'E'

AND inco1 EQ i_akkp-inco1.

IF sy-subrc EQ 0.

wa_ze1edk17-lktext = lv_inco.

ENDIF.

ELSEIF wa_e1edk17-qualf EQ c_002.

wa_ze1edk17-qualf = wa_e1edk17-qualf.

wa_ze1edk17-lktext = i_akkp-inco2.

ELSE.

ENDIF.

int_edidd-segnam = c_zze1edk17.

CLEAR int_edidd-sdata.

MOVE wa_ze1edk17 TO int_edidd-sdata.

APPEND int_edidd.

CLEAR wa_ze1edk17.

ENDIF.

ENDIF. " IF ended for not initial condition.

*--


Move data to zze1edka1 Segment--


WHEN c_e1edka1.

MOVE int_edidd-sdata TO wa_e1edka1.

*--


Checking the wa_e1edka1-parvw field for 'RE'--


IF wa_e1edka1-parvw EQ c_re.

IF NOT dxvbkd-lcnum IS INITIAL.

SELECT SINGLE cadnr

FROM akkp

INTO lv_cadnr

WHERE lcnum EQ dxvbkd-lcnum.

IF sy-subrc EQ 0.

SELECT SINGLE *

FROM adrc

INTO wa_adrc

WHERE addrnumber EQ lv_cadnr.

wa_zze1edka1-parvw = wa_e1edka1-parvw.

wa_zze1edka1-partn = wa_e1edka1-partn.

wa_zze1edka1-land1 = wa_adrc-country.

wa_zze1edka1-name1 = wa_adrc-name1.

wa_zze1edka1-name2 = wa_adrc-name2.

wa_zze1edka1-stras = wa_adrc-street.

wa_zze1edka1-strs2 = wa_adrc-str_suppl1.

wa_zze1edka1-ort01 = wa_adrc-city1.

wa_zze1edka1-pstlz = wa_adrc-post_code1.

wa_zze1edka1-regio = wa_adrc-region.

int_edidd-segnam = c_zze1edka1.

CLEAR int_edidd-sdata.

MOVE wa_zze1edka1 TO int_edidd-sdata.

APPEND int_edidd.

CLEAR: wa_adrc,

wa_zze1edka1.

ENDIF.

ENDIF.

ENDIF. " IF ended for "IF wa_e1edka1-parvw EQ 'RE'" condition.

*--


Checking the wa_e1edka1-parvw field for 'WE'--


IF wa_e1edka1-parvw EQ c_we.

IF NOT dxvbkd-lcnum IS INITIAL.

SELECT SINGLE cadnr

FROM akkp

INTO lv_cadnr

WHERE lcnum EQ dxvbkd-lcnum.

IF sy-subrc EQ 0.

SELECT SINGLE *

FROM adrc

INTO wa_adrc

WHERE addrnumber EQ lv_cadnr.

wa_zze1edka1-parvw = wa_e1edka1-parvw.

wa_zze1edka1-partn = wa_e1edka1-partn.

wa_zze1edka1-land1 = wa_adrc-country.

wa_zze1edka1-name1 = wa_adrc-name1.

wa_zze1edka1-name2 = wa_adrc-name2.

wa_zze1edka1-stras = wa_adrc-street.

wa_zze1edka1-strs2 = wa_adrc-str_suppl1.

wa_zze1edka1-ort01 = wa_adrc-city1.

wa_zze1edka1-pstlz = wa_adrc-post_code1.

wa_zze1edka1-regio = wa_adrc-region.

int_edidd-segnam = c_zze1edka1.

CLEAR int_edidd-sdata.

MOVE wa_zze1edka1 TO int_edidd-sdata.

APPEND int_edidd.

CLEAR: wa_adrc,

wa_zze1edka1.

ENDIF.

ENDIF.

ENDIF. " IF ended for "IF wa_e1edka1-parvw EQ 'WE'" condition.

*--


Checking the wa_e1edka1-parvw field for 'AG'--


IF wa_e1edka1-parvw EQ c_ag.

IF NOT dxvbkd-lcnum IS INITIAL.

SELECT SINGLE cadnr

FROM akkp

INTO lv_cadnr

WHERE lcnum EQ dxvbkd-lcnum.

IF sy-subrc EQ 0.

SELECT SINGLE *

FROM adrc

INTO wa_adrc

WHERE addrnumber EQ lv_cadnr.

wa_zze1edka1-parvw = wa_e1edka1-parvw.

wa_zze1edka1-partn = wa_e1edka1-partn.

wa_zze1edka1-land1 = wa_adrc-country.

wa_zze1edka1-name1 = wa_adrc-name1.

wa_zze1edka1-name2 = wa_adrc-name2.

wa_zze1edka1-stras = wa_adrc-street.

wa_zze1edka1-strs2 = wa_adrc-str_suppl1.

wa_zze1edka1-ort01 = wa_adrc-city1.

wa_zze1edka1-pstlz = wa_adrc-post_code1.

wa_zze1edka1-regio = wa_adrc-region.

int_edidd-segnam = c_zze1edka1.

CLEAR int_edidd-sdata.

MOVE wa_zze1edka1 TO int_edidd-sdata.

APPEND int_edidd.

CLEAR: wa_adrc,

wa_zze1edka1.

ENDIF.

ENDIF. " IF ended for "IF NOT dxvbkd-lcnum IS INITIAL" condition.

ENDIF. " IF ended for "IF wa_e1edka1-parvw EQ c_ag" condition.

*--


Checking the wa_e1edka1-parvw field for 'Y'--


IF wa_e1edka1-parvw+0(1) EQ c_y.

SELECT SINGLE parvw

FROM tpar

INTO lv_parvw

WHERE parvw EQ wa_e1edka1-parvw

AND nrart EQ c_pe.

IF sy-subrc EQ 0.

SELECT SINGLE pernr

FROM vbpa

INTO lv_pernr

WHERE vbeln EQ dxvbpa-vbeln

AND parvw EQ lv_parvw.

IF sy-subrc EQ 0.

SELECT SINGLE usrid_long

FROM pa0105

INTO wa_pa0105-usrid_long

WHERE pernr EQ lv_pernr

AND usrty EQ c_0010. " communication type email

wa_zze1email-zparvw = wa_e1edka1-parvw.

wa_zze1email-zname = wa_e1edka1-name1.

wa_zze1email-zemail = wa_pa0105-usrid_long.

int_edidd-segnam = c_zze1email.

CLEAR int_edidd-sdata.

MOVE wa_zze1email TO int_edidd-sdata.

APPEND int_edidd.

CLEAR: wa_adrc,

wa_zze1email,

wa_pa0105.

ENDIF.

ENDIF.

ENDIF. " IF ended for "IF wa_e1edka1-parvw EQ 'Y'" condition.

*--


Begin of MOD003 (Modification ID 003)--


*--


Move data to ZZE1EDP01 Segment--


WHEN c_e1edp01.

MOVE int_edidd-sdata TO wa_e1edp01.

wa_zze1edp01-posex = wa_e1edp01-posex.

  • wa_zze1edp01-uebto = dxvbap-kwmeng + ( dxvbap-kwmeng * dxvbap-uebto / 100 ).

  • wa_zze1edp01-untto = dxvbap-kwmeng - ( dxvbap-kwmeng * dxvbap-untto / 100 ).

wa_zze1edp01-uebto = dxvbap-uebto.

wa_zze1edp01-untto = dxvbap-untto.

int_edidd-segnam = c_zze1edp01.

CLEAR int_edidd-sdata.

MOVE wa_zze1edp01 TO int_edidd-sdata.

APPEND int_edidd.

CLEAR: wa_zze1edp01.

*--


End of MOD003 (Modification ID 003)--


WHEN OTHERS.

ENDCASE.

get the correct exit and put breakpoint on it and as i told u can test from the transaction itself.

Regards,

Nagaraj

former_member404244
Active Contributor
0 Kudos

Hi,

Sorry NAZEER i was wrong the exit which u r using is the correct one...In my previous post i have already mentioned how to populate the custyom segments.I have done coding for exit - > EXIT_SAPLVEDC_002.Please go through the exit in SE37 and compare with ur exit EXIT_SAPLEINM_011.ucan see that the data record is present in DINT_EDIDD and control record is CONTROL_RECORD_OUT.

Please look at the code i have given in my previous post.U need to write like this only in the include ZXM06U33.After taht u need to create a project in CMOD and attache the enahancement (MM06E001).now activate ur userexit as well as project.

Put a break point the user exit EXIT_SAPLEINM_011then go to tcode ME22N.In the messages tab give the output type and the distribution medium as distribution-ale and then save it.It will stop at ur exit..

reward points if u find useful.

regards,

Nagaraj

0 Kudos

Thanks Nagaraj,,

I will try to implement it and give you full marks when I get clear..

regards,

Nazeer