User exit for CIF - Transfer additional fields :Mat master

Question: Does anyone know about the user exit for CIF (Material Master) to transfer the additional fields from material master records over to APO product master.

Regards,
RVP

Answer:
Hello,

For this purpose, the user exit '001' from the function group 'CMAT' (program SAPLCMAT, enhancement CIFMAT01) must be implemented in your R/3 System. In this user exit, the contents of the new field must be transferred to one of the fields AT101 to AT105 of the CIF structure

Answer:
Hi,

Also if you want to put this additional fields in the selection option, u need to implement an SAP note., with few code modifications.

mangesh

Answer:
Thanks to those who have replied.
If I wanted to transfer the content of R/3 field to say "Safety Days' Supply" (Lot Size tab) instead of AT101 to AT105, is it possible?

Regards,
Rasik

Answer:
rvp_apo

use FUNCTION EXIT_SAPLCMAT_001 which will allow you to do what you require.

Regards

Parksy

Answer:
Hi

I have tried using the fields AT01 .... AT05 in order to pass some
additional data from MAterial master to APO using exit
EXIT_SAPLCMAT_001 but the data in these fields is not sent
to APO .

After CIFFing all data except data in fields AT01 to AT05 or Custom fields added by us are not sent to APO

has any 1 used this exit ...

thanks in advance
pp

Answer:
For this question :
If I wanted to transfer the content of R/3 field to say "Safety Days' Supply" (Lot Size tab) instead of AT101 to AT105, is it possible?

The answer is :

First you need to establish the logical system and RFC destination between R/3 and APO.
Maintain the relevant data in the R/3 material master : for e.g : in order to get the safety days supply in APO, you need to maintain safety time data in MRP 2 tab and activate the Integration model and then you can see the safety days supply field with R/3 data.Similarly you can get selected R/3 data to APO.

Happy time ahead !........................sam

Answer:
First mark relevant fields to be changed during transmittion of product master

LOOP AT ct_cif_matlocx INTO ls_cif_matlocx.
ls_cif_matlocx-at103 = 'X'.
ls_cif_matlocx-at104 = 'X'.
ls_cif_matlocx-at105 = 'X'.
MODIFY ct_cif_matlocx FROM ls_cif_matlocx.

Answer:
hi rasik,
here is the complete code you can paste in CIFMAT01
pls be notice that (in APO) value appears in material table will be different with the value showed in product master view
thus we need a convertion

* use method 'SM' if safty stock & time is transfered
* use method 'SB' if only safty stock is transfered
* use method 'SZ' if only safty time is transfered

IF CT_CIF_MATLOC IS REQUESTED.
LOOP AT CT_CIF_MATLOC.
select single maxlz into l_maxlz "bs14042003
from marc where matnr = CT_CIF_MATLOC-matnr and
werks = CT_CIF_MATLOC-locno.

* convertion : 1 day(R/3) equals to 240 milihours(APO) "bs24042003
l_maxlz = l_maxlz * 240000. "bs24042003
move: l_maxlz to CT_CIF_MATLOC-svtty. "bs14042003

LOOP AT CT_CIF_MATLOCX
WHERE MATNR = CT_CIF_MATLOC-MATNR AND
LOCNO = CT_CIF_MATLOC-LOCNO.
move: 'X' to CT_CIF_MATLOCX-svtty. "bs14042003

CT_CIF_MATLOCX-MSDPSBMETH = 'X'.

*APO und R/3: Safety stock
IF CT_CIF_MATLOCX-SAFTY = 'X' AND
NOT CT_CIF_MATLOC-SAFTY IS INITIAL.
*APO: Safety days' supply R/3: Safety time/act.cov.
IF CT_CIF_MATLOCX-SVTTY = 'X' AND
NOT CT_CIF_MATLOC-SVTTY IS INITIAL.
*Maximum of stock und safety time
CT_CIF_MATLOC-MSDPSBMETH = 'SM'."Maximum
ELSE.
*Safety Stock
CT_CIF_MATLOC-MSDPSBMETH = 'SB'.
ENDIF.
ELSE.
IF CT_CIF_MATLOCX-SVTTY = 'X' AND
NOT CT_CIF_MATLOC-SVTTY IS INITIAL.
*Safety days' supply
CT_CIF_MATLOC-MSDPSBMETH = 'SZ'.
ENDIF.
ENDIF.

clear CT_CIF_MATLOC-grprt. "bs29042003
clear CT_CIF_MATLOCx-grprt. "bs29042003

MODIFY CT_CIF_MATLOC.
MODIFY CT_CIF_MATLOCX.
ENDLOOP.
ENDLOOP.
endif.

Answer:
hi rasik,
here is the complete code you can paste in CIFMAT01
pls be notice that (in APO) value appears in material table will be different with the value showed in product master view
thus we need a convertion

* use method 'SM' if safty stock & time is transfered
* use method 'SB' if only safty stock is transfered
* use method 'SZ' if only safty time is transfered

IF CT_CIF_MATLOC IS REQUESTED.
LOOP AT CT_CIF_MATLOC.
select single maxlz into l_maxlz "bs14042003
from marc where matnr = CT_CIF_MATLOC-matnr and
werks = CT_CIF_MATLOC-locno.

* convertion : 1 day(R/3) equals to 240 milihours(APO) "bs24042003
l_maxlz = l_maxlz * 240000. "bs24042003
move: l_maxlz to CT_CIF_MATLOC-svtty. "bs14042003

LOOP AT CT_CIF_MATLOCX
WHERE MATNR = CT_CIF_MATLOC-MATNR AND
LOCNO = CT_CIF_MATLOC-LOCNO.
move: 'X' to CT_CIF_MATLOCX-svtty. "bs14042003

CT_CIF_MATLOCX-MSDPSBMETH = 'X'.

*APO und R/3: Safety stock
IF CT_CIF_MATLOCX-SAFTY = 'X' AND
NOT CT_CIF_MATLOC-SAFTY IS INITIAL.
*APO: Safety days' supply R/3: Safety time/act.cov.
IF CT_CIF_MATLOCX-SVTTY = 'X' AND
NOT CT_CIF_MATLOC-SVTTY IS INITIAL.
*Maximum of stock und safety time
CT_CIF_MATLOC-MSDPSBMETH = 'SM'."Maximum
ELSE.
*Safety Stock
CT_CIF_MATLOC-MSDPSBMETH = 'SB'.
ENDIF.
ELSE.
IF CT_CIF_MATLOCX-SVTTY = 'X' AND
NOT CT_CIF_MATLOC-SVTTY IS INITIAL.
*Safety days' supply
CT_CIF_MATLOC-MSDPSBMETH = 'SZ'.
ENDIF.
ENDIF.

clear CT_CIF_MATLOC-grprt. "bs29042003
clear CT_CIF_MATLOCx-grprt. "bs29042003

MODIFY CT_CIF_MATLOC.
MODIFY CT_CIF_MATLOCX.
ENDLOOP.
ENDLOOP.
endif.

CORRECTION:
pls REMARK these statements below :

* clear CT_CIF_MATLOC-grprt. "bs29042003
* clear CT_CIF_MATLOCx-grprt. "bs29042003

because it will initiate Good Receipt value.

thanx

Answer:
rvp_apo

use FUNCTION EXIT_SAPLCMAT_001 which will allow you to do what you require.

Regards

Parksy :how

Answer:
Read what Klaus and betboy have said then add those into the exit
Copyright ?2007 - 2008 www.jt77.com