Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Program to Mass Select Purchase Order and print history

4.6x

* Mass check PO history instead of doing it one at time via transaction ME22N.

report ZPOHISTORY line-size 132 no standard page heading.

tables : ekko,
ekpo,
ekbe,
mseg,
mkpf,
bkpf,
rbkp,
lfa1.

select-options: xebeln for ekko-ebeln memory id bes.

data: wttlqty like ekbe-menge,
wttlamt like ekbe-dmbtr,
wgrqty like ekbe-menge,
wgramt like ekbe-dmbtr,
wirqty like ekbe-menge,
wiramt like ekbe-dmbtr.

data: wtxt1(4),
wrefno like mkpf-xblnr,
wbktxt like mkpf-bktxt.

data: begin of awkey,
belnr like rbkp-belnr,
gjahr like rbkp-gjahr,
end of awkey.

field-groups: header.

insert
ekko-ebeln
ekko-lifnr
ekbe-belnr
ekbe-gjahr
ekbe-ebelp
ekbe-bwart
ekbe-budat
ekbe-menge
ekbe-dmbtr
ekbe-waers
ekbe-bewtp
ekpo-matnr
ekpo-meins
ekpo-txz01
* bkpf-belnr
wbktxt
wrefno
wtxt1
into header.

select * from ekko where ebeln in xebeln.
select * from ekpo where ebeln = ekko-ebeln.
select * from ekbe where ebeln = ekko-ebeln and
ebelp = ekpo-ebelp and
( bewtp = 'R' or
bewtp = 'E' or
bewtp = 'Q' ).
if ekbe-bewtp = 'E'.
wtxt1 = 'GR'.
select single * from mkpf where mblnr = ekbe-belnr and
mjahr = ekbe-gjahr.
if sy-subrc = 0.
wrefno = mkpf-xblnr.
wbktxt = mkpf-bktxt.
endif.
else.
if ekbe-bewtp = 'R'.
select single * from bkpf where BUKRS = '0001' and
BELNR = ekbe-belnr and
gjahr = ekbe-gjahr.
wtxt1 = 'IR'.
wrefno = bkpf-xblnr.
wbktxt = bkpf-bktxt.
else.
select single * from rbkp where belnr = ekbe-belnr and
gjahr = ekbe-gjahr.
wtxt1 = 'IR-L'.
wrefno = rbkp-xblnr.
wbktxt = rbkp-bktxt.
endif.
endif.
if ekbe-shkzg = 'H'.
ekbe-dmbtr = ekbe-dmbtr * -1.
ekbe-menge = ekbe-menge * -1.
endif.
extract header.
clear: wrefno, wbktxt.
endselect.
endselect.
endselect.

sort by ekko-ebeln ekbe-ebelp ekbe-bewtp ekbe-belnr.

loop.
at new ekko-ebeln.
perform po_head.
endat.
at new ekbe-ebelp.
format color col_group inverse.
write:/ '|', ekpo-matnr, ekpo-txz01,
130 '|'.
format inverse off.
endat.
format color col_normal.
shift ekbe-ebelp.
write:/ '|' no-gap,
wtxt1 no-gap, '|' no-gap,
ekbe-belnr no-gap, '|' no-gap,
(4) ekbe-ebelp no-gap, '|' no-gap,
ekbe-bwart no-gap, '|' no-gap,
ekbe-budat dd/mm/yy no-gap, '|' no-gap,
(15) ekbe-menge , ekpo-meins no-gap, '|' no-gap,
(15) ekbe-dmbtr,
* (3) ekbe-waers no-gap, '|' no-gap,
'SGD' no-gap, '|' no-gap,
* bkpf-belnr, '|' no-gap,
wrefno no-gap, '|' no-gap,
wbktxt no-gap, '|' no-gap.
hide: ekbe-belnr, ekbe-gjahr, ekbe-bewtp.
wttlqty = wttlqty + ekbe-menge.
wttlamt = wttlamt + ekbe-dmbtr.
at end of ekbe-bewtp.
format color col_total.
if wtxt1 = 'GR'.
write:/ '|' ,
'Item', ekbe-ebelp, 'Goods Receipts'.
* 25 '|'.
* 130 '|'.
wgrqty = wgrqty + wttlqty.
wgramt = wgramt + wttlamt.
elseif wtxt1 = 'IR' or
wtxt1 = 'IR-L'.
write:/ '|' ,
'Item', ekbe-ebelp, 'Invoices'.
wirqty = wirqty + wttlqty.
wiramt = wiramt + wttlamt.
endif.
write: 35 '|' no-gap,
(15) wttlqty,
' |' no-gap,
(15) wttlamt,
' |' no-gap,
130 '|'.
clear: wttlqty, wttlamt.
endat.
at end of ekbe-ebelp.
uline at /1(130).
endat.
at end of ekko-ebeln.
format color col_positive.
write:/ '|' ,
'Total Goods Receipts',
35 '|' no-gap,
(15) wgrqty,
' |' no-gap,
(15) wgramt,
' |' no-gap,
130 '|'.
write:/ '|' ,
'Total Invoices',
35 '|' no-gap,
(15) wirqty,
' |' no-gap,
(15) wiramt,
' |' no-gap,
130 '|'.
clear: wirqty, wgrqty, wiramt, wgramt.
uline at /1(130).
endat.
endloop.

at line-selection.

if sy-lisel+1(2) = 'GR'.
*if ekbe-bewtp = 'E'.
set parameter id: 'MBN' field ekbe-belnr,
'MJA' field ekbe-gjahr.
call transaction 'MB03'.
elseif sy-lisel+1(4) = 'IR-L'.
set parameter id: 'RBN' field rbkp-belnr,
'GJR' field ekbe-gjahr.
call transaction 'MIR4' and skip first screen.
elseif sy-lisel+1(2) = 'IR'.
* ekbe-bewtp = 'R'.
set parameter id: 'BLN' field ekbe-belnr,
'BUK' field '0001',
'GJR' field ekbe-gjahr.
call transaction 'FB03' and skip first screen.
endif.

*---------------------------------------------------------------------*
* FORM PO_HEAD *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form po_head.
skip.
uline at 1(130).
format color col_key.
select single * from lfa1 where lifnr = ekko-lifnr.
write:/ '|', ekko-ebeln, lfa1-name1, '(', ekko-lifnr, ')',
130 '|'.
uline at /1(130).
format color col_heading.
write:/ '|' no-gap,
'Cat ' no-gap, '|' no-gap,
'Doc No ' no-gap, '|' no-gap,
'Itm', '|' no-gap,
'Mvt' no-gap, '|' no-gap,
'Pstg.dt', '|' no-gap,
' Qty in OUn', '|' no-gap,
'Value in local curr' no-gap, '|' no-gap,
* 'Acc Doc ', '|' no-gap,
'Ref No ', '|' no-gap,
'Doc Text ', '|' no-gap.
uline at /1(130).
endform.

Program to Mass Select Purchase Order and print history

4.6x

* Mass check PO history instead of doing it one at time via transaction ME22N.

report ZPOHISTORY line-size 132 no standard page heading.

tables : ekko,
ekpo,
ekbe,
mseg,
mkpf,
bkpf,
rbkp,
lfa1.

select-options: xebeln for ekko-ebeln memory id bes.

data: wttlqty like ekbe-menge,
wttlamt like ekbe-dmbtr,
wgrqty like ekbe-menge,
wgramt like ekbe-dmbtr,
wirqty like ekbe-menge,
wiramt like ekbe-dmbtr.

data: wtxt1(4),
wrefno like mkpf-xblnr,
wbktxt like mkpf-bktxt.

data: begin of awkey,
belnr like rbkp-belnr,
gjahr like rbkp-gjahr,
end of awkey.

field-groups: header.

insert
ekko-ebeln
ekko-lifnr
ekbe-belnr
ekbe-gjahr
ekbe-ebelp
ekbe-bwart
ekbe-budat
ekbe-menge
ekbe-dmbtr
ekbe-waers
ekbe-bewtp
ekpo-matnr
ekpo-meins
ekpo-txz01
* bkpf-belnr
wbktxt
wrefno
wtxt1
into header.

select * from ekko where ebeln in xebeln.
select * from ekpo where ebeln = ekko-ebeln.
select * from ekbe where ebeln = ekko-ebeln and
ebelp = ekpo-ebelp and
( bewtp = 'R' or
bewtp = 'E' or
bewtp = 'Q' ).
if ekbe-bewtp = 'E'.
wtxt1 = 'GR'.
select single * from mkpf where mblnr = ekbe-belnr and
mjahr = ekbe-gjahr.
if sy-subrc = 0.
wrefno = mkpf-xblnr.
wbktxt = mkpf-bktxt.
endif.
else.
if ekbe-bewtp = 'R'.
select single * from bkpf where BUKRS = '0001' and
BELNR = ekbe-belnr and
gjahr = ekbe-gjahr.
wtxt1 = 'IR'.
wrefno = bkpf-xblnr.
wbktxt = bkpf-bktxt.
else.
select single * from rbkp where belnr = ekbe-belnr and
gjahr = ekbe-gjahr.
wtxt1 = 'IR-L'.
wrefno = rbkp-xblnr.
wbktxt = rbkp-bktxt.
endif.
endif.
if ekbe-shkzg = 'H'.
ekbe-dmbtr = ekbe-dmbtr * -1.
ekbe-menge = ekbe-menge * -1.
endif.
extract header.
clear: wrefno, wbktxt.
endselect.
endselect.
endselect.

sort by ekko-ebeln ekbe-ebelp ekbe-bewtp ekbe-belnr.

loop.
at new ekko-ebeln.
perform po_head.
endat.
at new ekbe-ebelp.
format color col_group inverse.
write:/ '|', ekpo-matnr, ekpo-txz01,
130 '|'.
format inverse off.
endat.
format color col_normal.
shift ekbe-ebelp.
write:/ '|' no-gap,
wtxt1 no-gap, '|' no-gap,
ekbe-belnr no-gap, '|' no-gap,
(4) ekbe-ebelp no-gap, '|' no-gap,
ekbe-bwart no-gap, '|' no-gap,
ekbe-budat dd/mm/yy no-gap, '|' no-gap,
(15) ekbe-menge , ekpo-meins no-gap, '|' no-gap,
(15) ekbe-dmbtr,
* (3) ekbe-waers no-gap, '|' no-gap,
'SGD' no-gap, '|' no-gap,
* bkpf-belnr, '|' no-gap,
wrefno no-gap, '|' no-gap,
wbktxt no-gap, '|' no-gap.
hide: ekbe-belnr, ekbe-gjahr, ekbe-bewtp.
wttlqty = wttlqty + ekbe-menge.
wttlamt = wttlamt + ekbe-dmbtr.
at end of ekbe-bewtp.
format color col_total.
if wtxt1 = 'GR'.
write:/ '|' ,
'Item', ekbe-ebelp, 'Goods Receipts'.
* 25 '|'.
* 130 '|'.
wgrqty = wgrqty + wttlqty.
wgramt = wgramt + wttlamt.
elseif wtxt1 = 'IR' or
wtxt1 = 'IR-L'.
write:/ '|' ,
'Item', ekbe-ebelp, 'Invoices'.
wirqty = wirqty + wttlqty.
wiramt = wiramt + wttlamt.
endif.
write: 35 '|' no-gap,
(15) wttlqty,
' |' no-gap,
(15) wttlamt,
' |' no-gap,
130 '|'.
clear: wttlqty, wttlamt.
endat.
at end of ekbe-ebelp.
uline at /1(130).
endat.
at end of ekko-ebeln.
format color col_positive.
write:/ '|' ,
'Total Goods Receipts',
35 '|' no-gap,
(15) wgrqty,
' |' no-gap,
(15) wgramt,
' |' no-gap,
130 '|'.
write:/ '|' ,
'Total Invoices',
35 '|' no-gap,
(15) wirqty,
' |' no-gap,
(15) wiramt,
' |' no-gap,
130 '|'.
clear: wirqty, wgrqty, wiramt, wgramt.
uline at /1(130).
endat.
endloop.

at line-selection.

if sy-lisel+1(2) = 'GR'.
*if ekbe-bewtp = 'E'.
set parameter id: 'MBN' field ekbe-belnr,
'MJA' field ekbe-gjahr.
call transaction 'MB03'.
elseif sy-lisel+1(4) = 'IR-L'.
set parameter id: 'RBN' field rbkp-belnr,
'GJR' field ekbe-gjahr.
call transaction 'MIR4' and skip first screen.
elseif sy-lisel+1(2) = 'IR'.
* ekbe-bewtp = 'R'.
set parameter id: 'BLN' field ekbe-belnr,
'BUK' field '0001',
'GJR' field ekbe-gjahr.
call transaction 'FB03' and skip first screen.
endif.

*---------------------------------------------------------------------*
* FORM PO_HEAD *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form po_head.
skip.
uline at 1(130).
format color col_key.
select single * from lfa1 where lifnr = ekko-lifnr.
write:/ '|', ekko-ebeln, lfa1-name1, '(', ekko-lifnr, ')',
130 '|'.
uline at /1(130).
format color col_heading.
write:/ '|' no-gap,
'Cat ' no-gap, '|' no-gap,
'Doc No ' no-gap, '|' no-gap,
'Itm', '|' no-gap,
'Mvt' no-gap, '|' no-gap,
'Pstg.dt', '|' no-gap,
' Qty in OUn', '|' no-gap,
'Value in local curr' no-gap, '|' no-gap,
* 'Acc Doc ', '|' no-gap,
'Ref No ', '|' no-gap,
'Doc Text ', '|' no-gap.
uline at /1(130).
endform.

Write BDC Program to Update Source List by Material Group - MM01

The SCREEN SEQUENCE FOLLOWS

4.6x.

***********************************************************************
* Update Source List by Material Group
* Blocking / Unblocking the Vendor
* The Vendor code is retrieve from the Purchasing Info Record
***********************************************************************

REPORT ZSOURCE.
TABLES: EORD,
EINA,
MARC.

* Batch Input Name
PARAMETERS P-BTCHSN(12) DEFAULT 'ME01'.
* Vendor Code
PARAMETERS P-LIFNR LIKE LFA1-LIFNR DEFAULT 'XXXXX'.
* Material Group
PARAMETERS P-MATKL LIKE MARA-MATKL DEFAULT 'XXXXXXX'.
* Plants
PARAMETERS P-WERKS LIKE EORD-WERKS DEFAULT 'XX'.
* Tick Block/Untick Unblock
PARAMETERS P-NOTKZ LIKE EORD-NOTKZ DEFAULT 'X'.
* Auto / Manual run the Batch Input Program
PARAMETERS P-RUN AS CHECKBOX DEFAULT 'X'.

* INTERNAL TABLE FOR DATA
DATA: BEGIN OF ULTAB OCCURS 50,
MATNR LIKE EORD-MATNR, "Material No.
WERKS LIKE EORD-WERKS, "Plants
ZEORD LIKE EORD-ZEORD, "NO
LIFNR LIKE EINA-LIFNR, "Vendor Code
END OF ULTAB.

* INTERNAL TABLE FOR BATCH INPUT DATA
DATA: BEGIN OF IPUTTAB OCCURS 50.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF IPUTTAB.

* INTERNAL TABLE FOR BATCH INPUT ERROR MESSAGE.
DATA: BEGIN OF MESSTAB OCCURS 50.
INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF MESSTAB.

DATA: C_TAXKM LIKE MG03STEUER-TAXKM VALUE '1',
W-LINE-NO TYPE I.

REFRESH ULTAB.
SELECT * FROM EINA WHERE LIFNR = P-LIFNR
AND LOEKZ = SPACE.
SELECT SINGLE * FROM MARC WHERE MATNR = EINA-MATNR
AND WERKS = P-WERKS.
CHECK MARC-LVORM = SPACE.
CLEAR ULTAB.
SELECT * FROM EORD WHERE MATNR = EINA-MATNR
AND WERKS = P-WERKS
AND LIFNR = P-LIFNR.
ULTAB-MATNR = EORD-MATNR.
ULTAB-WERKS = EORD-WERKS.
ULTAB-ZEORD = EORD-ZEORD.
ULTAB-LIFNR = EORD-LIFNR.
APPEND ULTAB.
ENDSELECT.

IF SY-SUBRC = 4.
ULTAB-MATNR = EINA-MATNR.
ULTAB-WERKS = P-WERKS.
ULTAB-ZEORD = ''.
ULTAB-LIFNR = EINA-LIFNR.
APPEND ULTAB.
ENDIF.
ENDSELECT.

* CHECK WHETHER TABLE IS EMPTY
IF ULTAB[] is initial.
WRITE: / 'TABLE EMPTY'.
ENDIF.

* Create Batch session
PERFORM CRE-BATCH-SESS.

** LOOP TABLE TO CREATE SCREEN INPUT
SORT.
LOOP AT ULTAB.
REFRESH IPUTTAB.
PERFORM SCREEN1.
PERFORM SCREEN2.
PERFORM PRN_ULTAB.
PERFORM CLOSE-SESS.
ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

* END OF MAIN PROGRAM

FORM SCREEN1.
* SCREEN #1: INITAL SCREEN FOR MAINTAINING SOURCE LIST
CLEAR IPUTTAB.
IPUTTAB-PROGRAM = 'SAPLMEOR'.
IPUTTAB-DYNPRO = '200'.
IPUTTAB-DYNBEGIN = 'X'.
APPEND IPUTTAB.

* Source List : Material No.
CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-MATNR'.
IPUTTAB-FVAL = ULTAB-MATNR.
APPEND IPUTTAB.

* Source List : Plants.
CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-WERKS'.
IPUTTAB-FVAL = ULTAB-WERKS.
APPEND IPUTTAB.

ENDFORM.
***********************************************************************
* FORM : SCREEN1 *
***********************************************************************
FORM SCREEN2.
* Modify screen for SOURCE LIST
CLEAR IPUTTAB.
IPUTTAB-PROGRAM = 'SAPLMEOR'.
IPUTTAB-DYNPRO = '205'.
IPUTTAB-DYNBEGIN = 'X'.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-VDATU(1)'.
IPUTTAB-FVAL = '01.01.2001'.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-BDATU(1)'.
IPUTTAB-FVAL = '31.12.9999'.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-LIFNR(1)'.
IPUTTAB-FVAL = P-LIFNR.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-EKORG(1)'.
IPUTTAB-FVAL = 'ALL'.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-NOTKZ(1)'.
IPUTTAB-FVAL = P-NOTKZ.
APPEND IPUTTAB.

CLEAR IPUTTAB.
IPUTTAB-FNAM = 'EORD-AUTET(1)'.
IPUTTAB-FVAL = '1'.
APPEND IPUTTAB.

* Specify that we are now done with this screen (Save it with F11)
CLEAR IPUTTAB.
IPUTTAB-FNAM = 'BDC_OKCODE'.
IPUTTAB-FVAL = '/11'.
APPEND IPUTTAB.
ENDFORM.

***********************************************************************
* FORM : CLOSE-SESS *
* DESCRIPTION : CLOSE THE SESSION *
***********************************************************************
FORM CLOSE-SESS.
* closing the session.
IF P-RUN = 'X'.
* Auto run the Batch Input Program
CALL TRANSACTION 'ME01'
USING IPUTTAB
MODE 'E'
UPDATE 'S'
MESSAGES INTO MESSTAB.
ELSE.
* Maual run the Batch Input Program
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'ME01'
TABLES
DYNPROTAB = IPUTTAB.
ENDIF.

ENDFORM.

***********************************************************************
* FORM : PRN-ULTAB *
* DESCRIPTION : PRINT OK TABLE *
***********************************************************************
FORM PRN_ULTAB.
WRITE: / ULTAB-MATNR, ULTAB-WERKS, ULTAB-ZEORD, ULTAB-LIFNR.
W-LINE-NO = W-LINE-NO + 1.
WRITE: ' RECORD# ', W-LINE-NO.
ENDFORM.

***********************************************************************
* FORM : CRE-BATCH-SESS *
* DESCRIPTION : CREATE BATCH SESSION *
***********************************************************************
FORM CRE-BATCH-SESS.
** Create BTCI session **
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = P-BTCHSN
USER = SY-UNAME
KEEP = 'X'.
ENDFORM.

How to use e-mail with ERS Invoice verifcation

Can anyone help me with information on how to use e-mail for sending ERS invoices. I want to sent the ERS invoices to a vendor how performed a service.

The first problem I encounter is that in the Vendor masterdata I can't fill in an e-mailaddress. And therefor I can't assign it to a partnerroll.

Is it also possible to use a distributionlist? That the ERS invoice is sent to that list and from there to email-recipents?

Georg Herder

You can store an email address at the vendor master (address). The fields must have been set to inactive in the configuration.

Please review the settings in the IMG.

Then go to Mat.Management/Logisitc Invoice Verification/Message Determination (IMG)

Here you can maintain the necessary message types ( I used the SAP standard ERS, copied to ZERS),
added Mail title "Automatic Invoice Verification &RBKP-BELNR&",
added Processing routine "5" External Send with program RM08NAST,
form-routine ENTRY_ERS, form MR_PRINT (or whatever copy you like to use),
in partner functions addedd medium "5" (now I have print, fax and email).

In detail of ZERS: Access sequence 0004 etc (all from output type ERS), Replacement of text...program RM08NAST,
Form routine MAILTEXT_REPLACE (to get the doc number into the email title),
Deflt values: "4" (immediate), Medium "5",
Partner function VN (you can use PI if required),
Communication strategy "ANZ" for fax and email, Timing 1 and 4 allowed (1 for RSNAST00, variant for "MR", "ZERS")

Next: Maintain Message Schema: MR0004 ERS Procedure (MRRL)(standard),
step 10 ERS6 (EDI), 20 ZERS (email/fax),
30 ERS (print). This schema is hardcoded!

Then "Maintain Conditions" ( or trans. MRM1, MRM2, MRM3), create the necessary output condition records
for e.g. ZERS for company code with medium "5" and timing "4" or per vendor...depends what you need

((Check what communication strategy is defined in your system)).

Marc

PS: had some trouble setting this up because the output type ERS and scheam MR0004 were only in client 000.
Had to copy the missing entries from 000 by table. ERS: TNATI has language "" which forces trouble when
you use it directly. I adjusted via SE16N (okcode &sap_edit) and transport manually. Also T683S was creating
a dump with SM31, used my own util-prog to copy from 000, transport manually.

Sending mail directly from SAP via Microsoft Exchange

If you want to send your mail directly via Microsoft Exchange, you have to install the SAP Exchange Connector Software on your Microsoft Exchange Server.

The setup program SETUP.EXE is located on the R/3 Presentation CD in the directory :\GUI\WINDOWS\WIN32\SXC.

Then you have to setup :-

  • SM59 - The RFC destination
  • SCOT - SAPconnect

Send SAP Purchase Order with Microsoft Outlook

This is how it work:-

Install the SAP setup program on the SAP Presentation CD-ROM under \GUI\WINDOWS\WIN32
Execute the SAPsetup program and choose the Desktop Interfaces.
Then choose the SAP MAPI Service Provider (select Change Options to display the selection)

Once the SAP MAPI is installed. You can create your logon profile for SAPoffice.
Go into your Control Panel of your windows.
Select the Mail option from the Control Panel to call the MAPI profile manager.
Choose Add to call up the new logon profile setup wizard
Select Add from the Services and select the SAP MAPI Service Provider
Type in the required R/3 information (client, sap user name, password)
The supplied PST file is sapwrk.pst

Now, logon to your Microsoft Outlook and see whether you can access all your SAPoffice folders.

If you send the file using SP01 -> System -> List -> Send, the file will have the extention ALI. Use the Windows Explorer to default open with the Windows Notepad.

Send Purchase Order via Output Determination

Read note 191470 - Purchase order as an e-mail

From release 4.5, you can send your purchase order via output determination. This note have indicate all the requirement and settings necessary to send purchase order via the output determination once your SAP have been connected to an External Mail System.

Sending P.O. By Mail To Vendor

Is there any standard programm for sending P.O.'s by e-mail to vendor's email-id?

You need to do some configuration for this.

- Goto NACE .
- Select EF and click on OUTPUT TYPES.
- Then select Output Type NEU and click on processing routines .
- In that you have to add a new entry - medium 5 .
- Then you need to assign a program, form routine and form.
- You can use the standard program i.e. SAPFM06P, FORM routine is always ENTRY_NEU and standard MEDRUCK.
- Then in PARTNER FUNCTION you need to add a new entry : medium - 5 and function - VN .
- For subject of the mail goto Mail Title and Texts. In title give PO No. &EKKO-EBELN& .
- Under General data -> Replacement of text symbols give programm as SAPMM06E and Form Routine as
TEXT_SYMBOL_REPLACE .
- Now the subject will be PO No. 1800004202.
- You need to maintain your email id in tcode SU01 and also the vendor's email id.
- Now while creating a new purchase order , change the medium to External Send .
- Then goto Communication Method and select CS01 . ALSO make sure that the Cover Page Text has value PO No. &EKKO-EBELN& .
- Goto tcode ME9F .
- Execute.
- Select the checkbox and click on Output Message.
- You will get a message MAII 00000000000001 generated .

If the BASIS guys have made the necessary configuration for sending mail then the mail will go .

You can see the status in tcode SOST.

If you want to use a z-programm and z-form then you need add the functions used in standard programm SAPFM06P for generating mail in your z-programm.

Unable To Create PO Due To Language Error

PO Error No short text maintained in language ES - Short text in MM01

Question: I have a short text maintained in Material master in EN. The vendor master has a language set as ES( Spanish)

I logged in EN

When I try to create a PO i get a error "No short text maintained in language ES (please re-maintain material 106)" error number is ME095.

If I change the vendor lang to EN & maintain the ES lang in Material master, I am overcoming the error.

Can any one throw light on the importance of these texts & their effects.Vendor language is responsible for Po Prints I suppose & entry & display of text

Answer:
Basically, you need a communication strategy.
- What languages will you use to communicate to your vendor.
- Do not think theoretical, do it like it is done in real life.
- If you talk to your vendor in Spain, what language do you use?
- If you use English then put EN as communication langauge in your vendor master.
- You need to have material descriptions and many customizing settings available in the desired communication languages.

We usually use the local language for local vendors and English for all foreign vendors. If we have plants e.g. in Germany and Spain, then the spanish plants uses spanish for his local vendors and the german plant uses german language for the local vendors in Germany.

Both are using english for their foreign vendors. Shared vendors will have english too, as a german buyer is not able to talk in spanish or an spanish buyer is not able to talk in german language. Hence they would not know if it is accurate what will show up on a PO they create. They both can only validate the accuracy in a english written text.

Vendor language is responsible for PO Prints and I suppose also the entry and display of text. The language that SAP will be taken is from the Vendor language (Communication section) if I am not mistaken and this is the standard functionality of SAP. Of course, you can be able to manually change the language directly in the PO.

Item Wise Display of Invoice Amt to be Paid to Vendor

I have a Reqt wherein I should be able to know line itemwise the Materials Received(GR), Invoice Price and Qty Raised, Invoice to be Paid so that pending Qty and Amt can be calculated.

I will explain the scenario in Detail----

Say a PO has 3 Line Items A,B,C of 10 Quantities each has been ordered to a vendor.

Out of which for Item A---------All the 10 Nos have been delivered.
For Item B-----------5 Nos have been delivered.
For Item C, Nothing has been delivered.
So Invoice(MIRO)has been posted for 10, 5, 0 Nos for the three Items.

In FI side, is there any transaction code where in we can go and see Line Item display of which material---------how much is the PO Qty, GR Qty, Invoice Qty and the Invoice Amt to be paid individually line itemwise?

In F.13 we could see the consolidated amt for each vendor but we want the PO Line Itemwise Qties delivered and payment amt so that the remaining Qty and Amt can be calculated.

Goto Transaction MB5S - List of GR/IR Balances

Fill in the mandatory inputs and check the result list.

Auto PO creation During GR Posting

In the movement type config - there is an auto PO creation flag, which allows the system to automatically create PO in the background from within the GR posting transaction. Has anyone used this feature -please share your experience. We are on 46c, and I don't see any existing movement type in the system which has this flag turned on.

For business process control purpose, I suggest avoiding auto PO from GR unless it is really necessary. Instead, use "traditional" PR-PO-GR process.

Actually what is the rational of using a automatic PO function, what is the benefit and what is the disadvantages of using this function? and under what business practise is best suit to use this function?

Sometimes the SAP help portal give you a lot of technical but didn't explain thoroughly from the business perspective point of view.

One of the benefits of using this feature is that you are taking delivery of the raw materials which are delivered by trucks and since it is not possible to capture the actual receipted quantity at the time of PO creation. Other benefits is to reduce the workload of purchasing department for the case of consignment process.

How to create AUTO PO during MIGO ?

Check in customizing whether you have maintained creation of automatic PO during good receipt.
Menu path : MM -> Inventory Management -> Goods Receipt -> Create Purchase order Automatically -> Activate Auto PO creation for Mvt type.

And then activate Auto PO creation in vendor master.

GR Creation for Schedule Agreement

I am facing problem in GR creation for Schedule agreement. When I am creating GR, it is telling no items exists even though Schedule agreement & schedule lines maintain for that. Some times when they are many lines and if we do GR for one line automatically all lines disapper and won't come stock or don't show in schedule lines.
I am in 4.7 version.

Please check whether you have attached SA in the source list with line items.

The following are the steps in 4.6B.

T-code:ME01
Enter Mat.code & Plant.
In the next screen pl.do the following:

Valid from - commencement date of the SA
Valid to - End date of the SA
Vendor - Vendor on whom the SA is released
POrg - Your purchase organisation
PPL - Leave it blank(This is only for interplant)
OUn - Ordering unit
Agreement - SA number
Item - 1
MRP - 2 - Record relevant to MRP, Schedule line generated automatically

If you are having several items in one SA,you have to do the above repeatedly by giving the 'Item'1,2,3 etc.in each line.
Then run MRP.You will have the sch.lines and you can receive the materials without any problem.

If you have already done the MRP, pl.maintain the sch.lines in ME38 by selecting each items.

Purchasing Organization at Client level

I'm struck at creating the Purch Organisation at Client level for the client purcahses. The purchasings are done at the client (Group of company level). could any one let me know how tocreate the Purchasing Org at client level.

The Purchasing Org at the client level is called Reference Purchasing Org. create a Purchasing Org and assign all the Pur Org to this Purchasing Org.

This again depends on the requirement.......precisely tell me what is your requirement?

Sumit

Ref Pur Org is not for the client level purchases dear. Can you raise the PO with ref Pur Org. If at all you try to raise what plant give in PO as with out plant you cannot create PO.
My requirement is to create corporate purchases with a corporate Pur Org without mentioning plant at the PO level. I guess fico won't be having any problems with the accounting & valuaion. Eg: Tata Group wishes 2 purchase one lakh of computers for all its company codes in all the parts of word with a singlw PO with out mentining plant in the PO.

P Rao

Ref Purchasing Org creates Contract and it is at the corporate/client level. Now, that contract is used by the respective Pur Org at the Company Code level.

Now if you want to procure Computers for all the company code then you can do that like this:

Suppose you have plants 1, 2,3,4. and company code a,b,c,d. Pur Org you have P1, P2, P3 and P4.

Assign 1 to a, 2 to b, 3 to c and 4 to d. one plant has to be assigned to one company code.

Now in PO, plant comes in the item level, that means you have to buy the material for a plant which belongs to a company code.

Now you can assign one or more plants to one pur org. like 1 and 2 to P1, 3 to P2 and 4 to P3 and 1,2,3,4 to P4.

Now don't assign pur org P4 to any company code. that means P4 can procure for all plants across all company code.

Now you can raise a PO for all company code through P4. But this can be done for respective plants.

Now you can create another Pur Org P5 and assign p1 to P4 to P5. and keep a contract at P5. That means the contract can be used by any Pur org to procure computers for respective plants.

Sumit

Now don't assign pur org P4 to any company code. that means P4 can procure for all plants across all company code.

but in this secnario, if I raise PO I have to give the data of company code in PO. which company code will put here. also how the GL acounts are updated by the purchases as it belongs to the entire client but not the comapny codes.

P Rao

You want to purchase across all Company code that is correct.

But how can you purchase without company code. You have to give it.

Max you can do, you can create a virtual Plant and consolidate all the requirements there and raise a PO from that Plant and Company code and receive it at the same plant and Transfer the material to the company codes.

But, you have to define the vendor and material at the virtual plant. In that way, you can take care of the vendor payment and proper account posting. Account posting cannot be done at the client level.

I hope this helps.

Where to find the MIGO_GR Components button?

Tested in 4.6c

To see the components button tree display.

Create a default variant.

Called transaction MIGO_GR again. You must see a Line column before the components columns can be display.

Prompt the last Purchase Order Price for the Material

If you want the system to take the price from the last Purchase Order, then do not maintain the conditions in the info record because it has precedence over the last PO. This means that the netprice field in the info record should be left blank.

In the case when you have already maintained the conditions in the info record (or netprice), try to delete them or make them invalid by changing the validity date.

Even though no price was maintained, the info record will still keep track of the Order price history.

To check the Order price history, go into the material info record and click Environment -> Order price history

Configuring the PO Release Strategy

4.6x

The aim of the sap purchase order release procedure is to replace the manual written authorization procedures. An electronic signatures is used instead, maintaining the dual control principle. The person responsible for the processes of the requisition or other purchasing document in the system have to approve by marking an "electronic signature" which can give the document legal force for further processing.

Briefly, this is how the purchase order release strategy works :-

The release code is a two character ID allowing a person to release (clear, or approve) a requisition or an external purchasing document. The release codes is basically controlled via a system of authorizations (authorization object M_EINK_FRG).

Use SE12, structure CEKKO to check all the fields available for controlling the Purchase Order.

An example of configuring a Purchase Order Release Strategy :-

If the total value for the Purchase Order exceeds 10,000, release strategy 01 is assigned to the Purchase Order. There is only one characteristic created in this example. For controlling the Purchase Order type, create characteristic for CEKKO-BSTYP and the value NB.

Steps for configuring the PO release strategy :-
  1. Create the PO Characteristic
  2. Create the Class of the PO Release Strategy
  3. Define the Release Procedure
  4. Check your PO release configuration

User Defaults for Purchase Order

There are some fields which you can set as defaults for the buyer in transaction ME21.

Transaction SU01
Input the user name and click Parameters

PID Parameter value
LIF - Vendor number
BES - Purchase Order Number
BSA - Order type
EKG - Purchasing group
EKO - Purchasing organization
WRK - Plant
LAG - Storage location
MKL - Material group
WAK - Promotion

Purchase Order Layout Sets, Message Types

Create a new message types for a different layout of Purchase Order

  • M/34 - Maintain message types
    • Click the Partner definition button
    • Insert the new message type to the Partner
  • OMQN - Fined-tuned Message Control
    • Add a new Printer Operation 1 - New 2 - Change
  • OMFE - Layout sets for Purchase Order
    • Attach the new message type to the new layout sets
  • M/36 - Maintain message detemination schema : Purchase Order
  • OMQS - Assign schema to Purchase Order
  • OMGF - Assign Output devices to Purchasing Groups
  • MN05 - Assign default Message Type to Purchasing Groups

Information Structure S012

In the SAP standard info structure S012 is updated by the Purchase Order creation date, not the Goods Receipt date. e.g. a Purchase Order is created in January and good receipt is in February and March, S012 will shows the values in period January.

  • Transaction MC26
  • Info structure S012 Update group (stats) SAP
  • Double click on Goods received qty
  • In the section Date field for period determination

Vendor Discount Condition

Automatic Discount for Vendor when creating Purchase Order

  • Transaction M/06
  • Double click on the Discount Condition you want to set e.g. R003
  • In the Access Sequence type 0006 - Vendor Discount
  • Save it and goto Transaction MEKE
  • Enter the Vendor code you want to set and click execute
  • Put your cursor on the Vendor Code and click Create
  • Type in the Discount Rate and save it
    • for larger vendor discount for larger quantity, click the Scales button
If you create your own condition table, you will not be able to use the standard transaction found in the menu Purchasing -> Master data -> Conditions (excluding Other). Instead, you used the transaction MEK1 (Other Condition) to maintain your condition type.

e.g. Transaction MEKE points to the program RM06K023

  • In the program RM06K023, double click on the module SAPFM06K
  • Click Edit -> Search/replace, type in 044 (condition table for vendor)
  • Tick in program SAPFM06K

  • You can see that SAP hardcoded the standard condition table for the standard transaction found in the menu Purchasing -> Master data -> Conditions (excluding Other)

Puchase Order Condition

Suppose you want to calculate the GST and DISCOUNT for a Net Value of 1000.
Net value 1000
GST 10% of 1000 100
DISCOUNT 10% of 1000 100

Final Net value 900

This is what you do :-

  • M/08 - Define calculation schema
  • First check the conditions column Steps e.g. PB00 and PBXX belongs to step 1.
  • Next check the last Steps after Actual Price
  • Now, look at the column Fro To
  • If you want the DISCOUNT to be calculated based on 1000, put the Steps number in the column Fro

  • The Fro To controls the calculation.

Define default values for buyers

Transaction OMFI

  • Double click on the default values you want to change.
  • Save it.
  • Next, you've got to associate via SU01
    • Click Parameters, insert a new parameter id EVO to the authorization code.
    • Type in Parameters value you want e.g. 01
    • You have to assign the control for ALL the SAP buyers via thier SAP users id.
    • Logoff and login again. Then try to create a Purchase Order and check the default values.
In the Fast Processing button :-
  • you can choose whether to adopt automatically all the line items fields in the Purchaes Requisitions.

Force buyers to create Purchase Order with ref. to a Pur. Req., Quotation or Pur. Ord.

Transaction OMET

  • Create a new entry, give it a name and tick :-
    • Ref. to PReq
    • Ref. to P.O.
    • Ref. to quotation
  • Next, you've got to associate via SU01
    • Click Parameters, insert a new parameter id EFB to the authorization code.
    • Type in Parameters value you want e.g. XX
    • You have to assign the control for ALL the SAP buyers via thier SAP users id.
    • Logoff and login again. Then try to create a Purchase Order without a reference.

Purchasing Tax

ME12 - Purchasing Info Record -> In the Control Section, look for the field Tax Code

Maintaining the Tax Code :-

SM31 - Table T007A - Tax keys
Click Customizing

FTXP - Maintain Tax Code

Purchasing List for Open Purchase Order, Goods Receipt, Invoices

Open Purchase Order = Open Goods Receipts ( Selection parameters WE101)

This two parameters determined what information is shown:

  • selection parameter
  • scope-of-list parameter
The configuation transaction code is OMEM
You can define additonal selection parameter for your users as well as untick those fields which you does not want it to be printed.

Your can have the Purchasing Documents by :-

  • ME2L - Vendor
  • ME2M - Material
  • ML93 - Service
  • ME2K - Account Assignment
  • ME2C - Material Group
  • ME2B - Requirement Tracking Number
  • ME2N - Purchase Order Number
  • ME2W - Supplying Plant

Subsequent Adjustment (121)

You must post a subsequent adjustment to correct the goods issue posting when the vendor informs you after goods receipt that a greater or smaller quantity of the components was actually consumed than planned in the purchase order.

To do this, proceed as follows:

MB04 - Subcontracting Subsequent Adjustment
Fill in the Purchase Order Number and hit enter
Tick the checkbox of the components you want to adjust and click the Adopt button or press F5
Enter the quantity difference. If more of the components were consumed, enter a positive amount, if fewer were consumed enter a negative amount.
Finally, post the document.
After saving, the value of the goods receipt is recalculated to include the subsequent quantity.

Controlling the subcontracting to Vendor (541)

SAP system allows user to issue material to the vender through 541 movement type (transfer posting -MB1B) without refering to any purchasing document.

It's a standard SAP functionality which you can control in two ways:

1. Field settings : Change fields settings for 541 to include Purchase Order number field as mandatory in the screen. But, this is a weak control as you can enter a Purchase Order and send any material to vendor.

OMBW - double click 541 -> double click Material Management

2. Change the IMG settings for movement type 541 and remove the transaction code MB1B as allowed transaction code. Use ME2O only. If you want to issue excess material to vendor, you will have to change the Purchase Order components.

OMJJ - click the Select all button
Type 541 for the Movement Type
Click the Back button
Click Allowed Transactions
Delete transaction code for MB1B

The Subcon Process in SAP Purchasing Modules

Subcontracting Processing

When a main BOM item is a subcontract item (in the item category field of PO/PR line item, the value is "L"), then the system will automatically know that the sub items need to be issued out. Such issue, from the internal system processing view point, is only a transfer from one storage location to the subcontractor vendor storage location rather than a consumption. It will only be deemed a consumption when the parent item is received back from the vendor. The system will automatically track all the items sent to the vendor waiting to be receieved back.

The following are the pre-requisite procedure for handling subcontract items:

  • When setting up the subcontracted parent item (material type HALB), the material master has a procurement type of "F" and special procurement of 30. The effect is that when the purchase requistion was created by MRP or manually, the item category will be "L".
  • BOM items for the main part has been setup to contain all the materials which must be supplied FOC to the vendor.
  • There is no need to setup the routing for the sub-contracted main item.
The following are subcontracted related procedures:
  • Finding out what sub-items need to be issued to subcontractors and issue them.
  • Finding out what sub-items have been issued to subcontractors and waiting to come back.
  • Receiving subcontracting item (from the store viewpoint, there is no difference from normal receiving).
  • Invoice processing : the invoice is only for the services and is no difference from normal processing.
Invoke transaction ME2O
  • Leave the Date required, Material and Plant blank unless you wish to limit the listing to a specific area. Check the Only Negative available SC stocks if you only want to look at the cases where materials need to be handed to the subcontractor. If you do not check this, then items which have already been issued to the subcontractor and waiting to come back will also be shown.
  • To issue the items to the subcontractor, select the item, then click Post goods issue button.
  • Enter the storage location from which the sub-items is taken out, and the quantity given.
  • If there is not sufficient on hand stock to be given to the subcontractor, then the system will issue a "0 items posted" message. If there is sufficient quantity, the system will transfer the quantity to the vendor storage location. On this screen, you can also check the on hand stock balance by clicking the stock overview and stock/requirement buttons. You may also palce the cursor on a PO number and display the PO details giving rise to this SC issuing requirement.
Subcontract Posting

Material Document
101 + Receive in the new Material after sub-contract
543 - Clear the quantity in Material Provision for Vendor

Accounting Document
Debit Inventory - New Part 150
Credit Inventory - Purchase Offset 150

Debit Service cost for sub-contract 50
Credit GR/IR - Inventory 50

Debit ROH - Material Consumed 100
Credit ROH - Material Consumed 100

Material Returns To Vendor Without Reference To Any PO

Assuming that you have some raw materials which have been in the store for some periods of time. A few months later, some were found to be faulty. So you need to return back the materials to your vendor but it does not relate to any particular PO.

Vendor Returns Without PO Reference

You can used Return Purchase Order, transaction code ME21N

At the item details, look for the Return columns and tick it.

MIGO_GR - Goods Receipt for Return Purchase Order
Movement type will be 161 to deduct the stock and 162 for reversal.
During Goods Receipt for Return Purchase Order, you do not have to change the movement type from 101 to 161 as the system will automatically assign the movement type to 161 upon saving the postings. However, before saving, check if there is a tick in the Return Column to ensure that it is a return Purchase Order.

Create a new Purchase Order Number range to differentiate
OMH6 - Define Number Ranges

Create a new Purchase Order Type to differentiate e.g ZB
OMEC - Define Document Type

Changing the PO Layout sets
OMFE - Messages: Output Programs

/: IF &EKKO-BSART& = 'ZB'.
/ RETURNED PURCHASE ORDER
: ELSE.
/ PURCHASE ORDER
/: ENDIF.

UB - Internal Purchase Order Process

Internal Purchase Order is known as Stock Transport Order in SAP. It is use when a company have multiple plants which purchase from each other.

1. Buying Plant create Purchase Order Type UB directly from ME21N or convert from MD04 during MRP run.

2. A requirement will be prompt by MRP in Selling Plant.

3. If there available stocks, Selling Plant will trasferred it to the designated storage location before Buying Plant can do a
receiving.

SAP Postings in 4.6x :-
Selling Plant Transfer via transaction code MB1B movement type 351 to transfer storage location.
Receiving Plant recieve it via transaction code MIGO_GR movement 101 transfer storage location.

351 - Transfer Posting by Selling Plant
MM documents
Stocks move from Selling Plant unrestricted to Buying Plants transfer in MMBE
In MMBE, double click Buying Plant and check the field stock in transit to check the stocks that were being transfer from
the Selling Plant

FI documents
Debit Buying Plant Inventory 999
Credit Selling Plant Inventory -999

101 - Goods Receipts by Buying Plant
MM documents
Stocks move from Buying Plant transfer to Buying Plant unrestricted in MMBE

No FI documents

Blocking Price Change in PO

I need to know how to block the price in a Purchase Order from being change on initial entry when the PO is with reference to an Outline Agreement (Contract) without blocking the ability to change the price for other types
of POs being entered. I have tried using Transaction OMF4 in configuration. But if I change for document type ME21 the Price and price unit to display only it changes it for all POs not just those that are created from contracts.

I think that the Invoice Verification component is part of the Materials Management (MM) system. It provides the link between the MM component and the Financial Accounting, Controlling, and Asset Accounting components.

Invoice Verification in Materials Management serves the following purposes:
- It completes the materials procurement process - which starts with the purchase requisition, continues with purchasing and Goods receipt and ends with the invoice receipt.
- It allows invoices that do not originate in materials procurement (for example, services, expenses, course costs, etc.) to be processed.
- It allows credit memos to be processed, either as invoice cancellations or discounts
Invoice Verification does not handle the payment or the analysis of invoices. The information required for these processes is passed on to other departments.
Invoice Verification tasks include:
- Entering invoices and credit memos that have been received
- Checking the accuracy of invoices with respect to contents, prices, and arithmetic
- Executing the account postings resulting from an invoice
- Updating certain data in the SAP system, for example, open items and material prices
- Checking invoices that were blocked because they varied too greatly from the purchase order
An example on how to enter an Invoice Receipts :-
Transaction code MRHR - MM Invoice Verification and Material Valuation

There are two ways to force close a PO:
1. You can set Delivery Completed Indicator in Purchase Order or at time of doing goods receipt. That simply means you cannot do further GR for that item. You can still process Open Invoices .
2. You can block material at purchase order level which means, you will not be able to do any GR , Invoice against that specific item in PO.
The recommended is the first option though.

Second option is used in case of : -
1. to cancel an item
2. An item is closed and can be archived

MEI1: Automatic purchasing document change.
MEI6: Delete purchasing document index.
ME52N: Change purchase REq.

Configure Goods/Invoice Receipts for PO in SAP

Goods Receipts/Invoice Receipts for Purchase Order

Transaction OMW1 allows you to set whether the Price Control is a mandatory "S" or "V".

V indicate that you want the system to value the stocks with the latest price.
S indicate that you want the system to value the stocks with a fixed price method.

Price Control V - Moving Average Price

Assume Material Master current price is 10

Goods Receipts for Purchase Order - Movement Type 101

  • Material Document Posting created - inventory increases
  • Accounting Document Posting created
    • Debit 12345 Inventory 12
    • Credit 67890 GR/IR 12
    • New Moving Average Price = ( GR value + Total value ) / ( GR quantity + Total stock )
Invoice Recipts for Purchase Order - MR01
  • Accounting Document Posting created
    • Debit 67890 GR/IR 12
    • Debit 12345 Inventory 3
    • Credit 45678 Vendor 15
    • New Moving Average Price = ( Inventory difference of 2 + Total value ) / ( Total Stock)
Price Control S - Standard Price

Material and Accounting Document is the same.
The one with the lower value will be posted with a price variance entry.

Goods Receipts for Purchase Order - Movement Type 101

  • Material Document Posting created - inventory increases
  • Accounting Document Posting created
    • Debit 12345 Inventory 10
    • Debit 23456 Price Variance 2
    • Credit 67890 GR/IR 12
    • No change in Standard Price
Invoice Recipts for Purchase Order - MR01
  • Accounting Document Posting created
    • Debit 67890 GR/IR 12
    • Debit 23456 Price Variance 3
    • Credit 45678 Vendor 15
    • No change in Standard Price
General Ledger Account Configuration
Transaction OMWB - Automatic posting for inventory
Inventory posting BSX
Goods receipt/inv.receipt clearing acct WRX
Cost (price) differences PRD
Transaction XK03 - Account Payable Vendor Master
Tick Accounting info. and hit the Enter key
Field name Reconcil.acct 45678

Purchase Order List Configuration

In the MM purchasing module, SAP provides numerous standard reports which is more than enough for the most users to used. For e.g. ME2N

User Report Menu Path:

Logistics -> Materials Management -> Purchasing -> Purchase Order -> List Display

As a MM consultant, you have the flexibility of defining the fields that can be display on the list.

Followings are the step where you can configure the fields that are display on the report such as tcode ME2N

Configuration for List and Selection Parameters: Purchasing Lists - OMEM

Purchase Order List Configuration

Click the Scope of lists Button or the Selection parameters Button.

In the Scope of lists - double click on the Scope of lists

In the Selection parameters - double click on the Selection parameters

SAP Materials Management Course Outline

Section 1: SAP Overview

Unit Introduction to SAP
Unit Basis
Unit SAP Services
Unit Co-operative Business Scenarios
Unit mySAP.com
Unit Navigation
Unit System-wide Concepts
Unit Enterprise Structure
Processes in Procurement

Section 2: Processes in Procurement

Unit Basics of Procurement Process
Unit Master Data
Unit Procurement of Stock Material
Unit Procurement of Consumable Material
Unit Procurement of External Services
Unit Reporting in MM

Section 3: Materials Planning

Unit Basics
Unit Planning Run
Unit Lot-Size Calculation
Unit Reorder Point Planning and Planning Evaluation

Section 4: Purchasing Details & Optimization

Unit Introduction to Purchasing Details
Unit Outline Agreements
Unit Source Determination
Unit Optimized Purchasing

Section 5: Inventory Management / Physical Inventory

Purchasing Details & Optimization
Unit Inventory Management: Overview
Unit Goods Receipts
Unit Reservations and Goods Issues
Unit Stock Transfers and Transfer Postings
Unit Consignment
Unit Subcontracting
Unit Physical Inventory Management
Unit Cycle Counting
Unit Inventory Sampling

Section 6: Valuation & Account Determination

Unit Introduction to Material Valuation
Unit Valuation and Account Assignment
Unit Material Price Changes
Unit Special Inventory Management Features

Section 7: Invoice Verification

Unit Introduction to Invoice Verification
Unit Basic Invoice Verification Procedure
Unit Taxes, Cash Discounts, and Foreign Currency
Unit Variances and Blocking Reasons
Unit Invoice Reduction
Unit Variances without Reference to an Item
Unit Invoices for POs with Account Assignment
Unit Delivery Costs
Unit Subsequent Debits/Credits
Unit Credit Memos and Reversals
Unit Invoice Verification in the Background
Unit ERS and Invoicing Plans
Unit Releasing Blocked Invoices
Unit GR/IR Account Maintenance
Unit Conventional Invoice Verification
Unit Customizing for Invoice Verification
Unit Conclusion

Section 8: Classification & Related Areas in MM Unit Classification

Unit Document Release (Approval) Procedure
Unit Batch Management

Section 9: ASAP

Unit ASAP Overview
Unit Implementation Roadmap

Section 10: Cross-Functional Customizing

Unit Global Settings
Unit MM Organizational Levels: Business Scenario
Unit Master Data in Materials Management
Unit Purchasing
Unit Pricing
Unit Inventory Management

Co-operative Business Scenarios

Co-operative Business Scenarios

  • Customer Relationship Management
  • Advanced Planner and Optimizer
  • Strategic Enterprise Management
  • Business to Business Procurement
  • Business Information Warehouse

Step-3 Basics of Procurement Process

Basics of Procurement Process

  • Organizational Levels
  • Purchase Order Processing
  • Goods Receipt
  • Invoice Verification

Step-4 Master Data

Master Data

  • Vendor Master Record
  • Material Master Record

Step-5 Procurement of Stock Material

Step-5 Procurement of Stock Material

  • Request for Quotation / Quotation Processing
  • Purchasing info Records
  • Purchase Order Processing
  • Goods Receipts into Quality Inspection
  • Invoices with Unplanned Delivery Costs

Step-6 Procurement of Consumable Material

Step-6 Procurement of Consumable Material

  • Purchase Requisitions
  • Purchase Order Processing
  • Goods Receipt
  • Invoice Verification
  • Blanket Purchase Order

Step-7 Procurement of External Services

Procurement of External Services

  • Master Data
  • Purchase Order
  • Maintaining and Releasing Service
  • Invoice Verification

Step-8 Procurement of External Services

Step-8 Procurement of External Services

  • Master Data
  • Purchase Order
  • Maintaining and Releasing Services Entry Sheets
  • Invoice Verification

Reporting in SAP MM

Step-9
Reporting in SAP MM

  • Reporting at Document Level
  • Reporting with the Logistics
    Information System (LIS)

Step-10 The Basics of Material Planning

Step-10 The Basics of Material Planning

  • Planning Requirements
  • Overall Procedure
  • MRP Types

Step 11 Planning Run

Step 11 Planning Run

  • Planning Types
  • Control Parameters in Planning

Step-12 Purchasing Details

Step-12 Purchasing Details

  • Optimized Purchasing (Overview)
  • Sources of Supply (Overview)
  • Purchasing Info Record

Step-13 Outline Agreements

Step-13 Outline Agreements

  • Contracts
  • Scheduling Agreements

Step-14 Basics of Procurement Process

Basics of Procurement Process

  • Organizational Levels
  • Purchase Order Processing
  • Goods Receipt
  • Invoice Verification

Source Determination

Source Determination

  • Source Lists
  • Quota Arrangements
  • Source Determination

Step-16 Procurement of Stock Material

Procurement of Stock Material

  • Request for Quotation / Quotation Processing
  • Purchasing info Records
  • Purchase Order Processing
  • Goods Receipts into Quality Inspection
  • Invoices with Unplanned Delivery Costs

Step-17 Optimized Purchasing

Step-17 Optimized Purchasing

  • Optimized Purchasing
  • User Parameters
  • Automated Procurement

Step-18 Goods Receipt

Step-18 Goods Receipt

  • Special Features of Goods Receipt

Reservations and Goods Issues

Reservations and Goods Issues

  • Reservations
  • Goods Issues

Step-20 Stock Transfer/Transfer Postings

Stock Transfer/Transfer Postings

  • Stock Transfer
  • Transfer Posting

Step-21 Consignment

Step-21 Consignment

  • Price Data for Consignment Material
  • Procurement of Consignment Material
  • Settlement of Consignment Liabilities

Subcontracting

Subcontracting

  • Purchase Order
  • Provision of Components
  • Goods Receipt and Consumption of Components
  • Postings
  • Scheduling Agreements with Subcontrating

Step-23 Valuation and Account Assignment

Valuation and Account Assignment

  • Configure Automatic Account Determination

Step-24 Material Price Changes

Step-24 Material Price Changes

  • Changes to the current valuation price
  • Price Changes in the previous posting period or previous year
  • Debits and Credits to Materials
  • Postings to the previous period

Special Inventory Management Features

Special Inventory Management Features

  • Split Valuation
  • Non-Valuated Material
  • Returnable Transport Packaging

Step-26 Introduction to Invoice Verification

Introduction to Invoice Verification

  • Invoice Verification as Part of Material Management
  • Invoice verification Tasks
  • Posting an Invoice
  • Account Movements
  • Price Control

Step-28 Taxes, Cash Discounts, and Foreign Currency

Taxes, Cash Discounts, and Foreign Currency

  • Enter and Post Taxes
  • Enter and Post Cash Discounts
  • Invoices in a Foreign Currency

Step-29 Variances and Blocking Reasons

Variances and Blocking Reasons

  • Types of Variances
  • Quantity Variances
  • Price Variance
  • Blocking due to Quality Inspection
  • Blocking due to Amount
  • Tolerances
  • Blocking invoices Manually
  • Stochastic Blocking

Step-30 Invoice Reduction

Invoice Reduction

  • Automatic Invoice Reduction at item Level
  • Posting Logic with Invoice Reduction

Step-31 Variances Without References to an Item

Step-31 Variances Without References to an Item

  • Total-Based Invoice Reduction
  • Total-Based Acceptance
  • Vendor-Specific Tolerances

Step-32 Invoices for POs with Account Assignment

Step-32 Invoices for POs with Account Assignment

  • Enter invoices for POs with Account Assignment
  • Posting Logic for Invoices for POs with Account Assignment
  • Invoices Relating to a Blanket Purchase Order

Step 33 Delivery Costs

Step 33 Delivery Costs

  • Planned Delivery Costs
  • Unplanned Delivery Costs
  • Posting Planned and Unplanned Delivery Costs

Step 34 Subsequent Debits/Credits

Step 34 Subsequent Debits/Credits

  • Enter and Post Subsequent Debits/Credits
  • Account Movements with Subsequent Debits/Credits

Step 35 Credit Memos and Reversals

Step 35 Credit Memos and Reversals

  • Enter and Post Credit Memos
  • Reverse Invoices

MM Business content: Reservation

We are going live this month but user just raised a query.
They want to do the analysis based on reservation and good issue (against reservation)items too.

Pls advise, where we can find reservation information in MM Business content?


answers

Could you explain what you mean by reservation. Is it stock reserved for a customer?

Yes, I am talking about material reservation.Basically they need to analyze good issue that made against reservation and whether reservation is completed or not.


I have a similar requirement too. Were you able to find a solution?

Alok

Create a view on tables RESV & RKPF.

create ODS and do full loads.




Inventory management process key values plz

can anyone help me with the process key values

in my update rules i have this for issues

process keys= 100,101,104,105,106,110

and for receipts 000,001,004,005,006,010

what do they mean i am using the standard update rules

its very urgent becoz i am getting the stock values wrong


answers

check oss note 352344 - Process key + reversals in Inventory Management ?
Symptom
This note is a consulting note and describes the use of the process key (0PROCESSKEY) in Inventory Management (MSEG). It focusses on the way the system deals with reversed transactions for DataSources 2lis_40_s279 and 2lis_03_bf.

To be able to use theses DataSources, you ABSOLUTELY MUST activate the transaction key generation (process key, PROCESSKEY) using Transaction MCB_ (from the OLTP IMG for BW: SBIW) (standard, retail or consumption goods).

The following transaction keys are available

(PROCESSKEY/Appl. Component/Description):

000/MM Misc. receipts

001/MM Goods receipt / vendor

004/MM Article transfer posting receipt

005/MM Stock correction inventory +

006/MM Stock correction other +

007/IS-R Receipt value-only article (single article
posting)

010/MM Receipt from stock transfer

002/IS-R Merchandise clearing receipt

003/IS-R GR from DC

100/MM Misc. issues

101/MM Returns / Vendor

104/MM Article transfer posting issue

105/MM Stock correction inventory -

106/MM Stock correction other -

107/IS-R Issue value-only article (single article
posting)

110/MM Issue from stock transfer

102/IS-R Merchandise clearing issue

103/IS-R GI from DC

450/IS-R Generic Article (not relevant)

Remark: Transaction keys 002/003, 102/103 break down the core keys 010/110 in more detail with respect to retail processes. They are only available in an R/3 Retail.

As you can see in the overview, the transaction keys can be divided according to receipts and issues in Inventory Management. Furthermore, the transaction keys are displayed according to reversed and regular transactions.

A regular receipt has a debit/credit indicator "S" (SHKZG, 0DCINDIC), whereas a regular issue has a debit/credit indicator "H".

For reverse transactions the opposite is true.

Transaction D/C ind. D/C ind.

S H

RECEIPTS

0 Misc. receipts regular reversed

1 Goods receipt / vendor regular reversed

2 Merchandise clearing receipt regular reversed

3 GR from DC regular reversed

4 Article transfer posting receipt regular reversed

5 Stock correction inventory + regular reversed

6 Stock correction other + regular reversed

7 Receipt value-only article regular reversed

10 Receipt from stock transfer regular reversed

____

ISSUES

100 Misc. issues reversed regular

101 Returns / vendor reversed regular

102 Merchandise clearing issue reversed regular

103 GI from DC reversed regular

104 Article transfer posting issue reversed regular

105 Stock correction inventory - reversed regular

106 Stock correction other - reversed regular

107 Issue value-only article reversed regular

110 Issue from stock transfer reversed regular

Note: You can also recognize a reversal for DataSource 2lis_03_bf by means of the entry 0STORNO = ´X´. The fields that are marked with X in the table are then transferred with negative +/- sign. This was not the case with DataSource 2LIS_40_S279!!! In the case of DataSource 2LIS_40_S279 more logic was required in the BW update rules to make sure that key figures were updated correctly.

Example:

In the delivered InfoCubes 0CP_IC_C1 (CP) and 0RT_C01 (Retail), for example in key "Stock correction +", transaction keys 5 and 6 were grouped together. Furthermore, distinction is to be made between the different stock types. Depending on which stock types you want to distinguish between in different key figures, you must use a corresponding condition (IF statement) in the update rules in the BW.

Example (pseudo source code):

  • Updating Routine "stock adjustment +" for 2lis_02_bfIF ( STOCKCAT is initial ) AND "Evaluated stocks ( PROCESSKEY = 5 OR PROCESSKEY = 6 )._ RESULT = TRANS_AMOUNT. RETURNCODE = 0. "Updating Key figureELSE. RETURNCODE = 4. "No Updating of KeyfigureENDIF.

The pseudo source code for 2LIS_40_S279 read as follows:

  • Updating Routine "stock adjustment +" for 2lis_40_s279IF ( STOCKCAT is initial ) AND "Evaluated stocks ( PROCESSKEY = 5 OR PROCESSKEY = 6 ). IF DCINDIC = 'S'. RESULT = TRANS_AMOUNT. "regular ELSE. RESULT = -1 * TRANS_AMOUNT. ENDIF. RETURNCODE = 0. "Updating Key figureELSE. RETURNCODE = 4. "No Updating of KeyfigureENDIF.

Here, the debit/credit indicator must be checked in accordance with the table above. Transactions 5 and 6 are receipts in Inventory Management. As the debit/credit indicator is set to "S", it is a regular transaction whose value(TRANS_AMOUNT) is assigned to the key figure. In the other case (debit/credit indicator = "H") it is a reversal, that is, the transaction should reverse a transaction that has already been updated. For this, the value is multiplied by -1 so that a corresponding decrease/reduction of this key figure is achieved during the update of the key figure in the InfoCube.

This logic is no longer required for the 2LIS_03_BF (see first pseudo source code), because the reversed quantity and values are automatically provided as negative with the help of the 0STORNO field.

Using this DataSource 2LIS_03_BF, it is for example possible to create a key figure such as "Reversed receipts", which is not a part of the Business Content delivered. The following pseudo source code of an update routine makes this clear:

  • Update routine "Reversed receipts"

IF ( PROCESSKEY = 1 ) AND (STORNO = ´X` ) "Reverse RESULT = -1 * TRANS_AMOUNT. RETURNCODE = 0.ELSE. RETURNCODE = 4. "no update of key figure!ENDIF.

Note: For DataSource 2LIS_40_S279 the pseudo source code read as follows:

  • Update routine "Reversed receipts"

  • for 2LIS_40_S279IF ( PROCESSKEY = 1 ) AND ( DCINDIC = H ) "Reverse RESULT = TRANS_AMOUNT. RETURNCODE = 0.ELSE. RETURNCODE = 4. "no update of key figure!ENDIF.

To be able to understand the overall scheme more comprehensively, you should have a look at the update rules of the Standard Business Content for retail or consumption goods (for example InfoCubes 0RT_C01 or 0CP_IC_C1).

user exit for checking the vendor emailid in me22n or me21n

can anybody suggest me a user exit for checking the email id of the vendor in me21n or me22n or me29n.


answers



This is a backend (SAP MM) issue. You need to post this issue in ERP forum to get the right solution.


PO user exits begin with EXIT_SAPMM06E_...
Maybe the user exit you are looking for is :
EXIT_SAPMM06E_012 (check customer specific data before saving)



i checked with the user exit that u suggested me, it is getting triggered, i am able to check whether the vendor email id is present or not, but this is happening all the time that is even when the user dont want to send a email to the vendor i.e. he just wants to print the purchase order, even at that time this user exit is getting triggered and giving a message that the vendor email id is not maintained.
the reson why this is happening is there is no import parameter to this user exit which gives the "medium of data transfer" the user has entered. if i get this parameter visible inside the user exit, then i can check this parameter inside the user exit and do the required operation. i checked up with all the user exits in "me" package and even the other related packages but none of them is getting triggered,
do u know a user exit or badi which imports this parameter and also gets triggered at the time of creation of purchase order.
plz give me a solution.

Typical FI MM issues

What are the typical issues which one faces during FI AP-MM intergartion.

answers

1) purchasing (MM-PUR)
2) Logistics Invoice Verification (MM-IV)



The main integration lies in transaction code OBYC. You may find a number of transaction keys which will assigned to the GL accounts. This is called the Automatic Account Assignment. The most important among them are
1. BSX : Stock Account
2. WRX : GR/IR Clearing a/c
3. PRD : Price Difference Account
Hope this sovles the problem. If it is useful , assign the points.


From end user point of view majority of the problem is faces in the GI/IR clearing phase which happens during the invoice verification phases. The main problem that is encountered is blocking of invoices due to tolerance limit set in the system. And if the implementation is done recently then Price difference account are not setups to accommodate the price differences due to difference in price quote for GR & IR.

Well from the implementation point of view proper account assignment needs to taken into account, using OBYC T Codes.
pls assign points if helpful as a way to say thanks.




The main integration between FI-MM is

1) Valuation & Account determination
main transactions are OMWB/OBYC
Material price change -- MR21

2) Purchasing -- Account assigned PO's & PR's
Tax code integration with pricing schema

3) CIN activities
J1IT India localization

SAP Transaction Code for: Gain/loss substitution -Fixed asset

OA01

Alternative Release in SAP MM

Definition

Within the release sequence, you can define alternatives. This means that several employees can effect release (signify approval) at a certain point in the sequence. If just one of these employees has effected release, the next release status is reached. The other employees thus need take no action.

Five release codes are defined for purchase requisitions in an ascending hierarchy. The requisition item can be converted into either an RFQ or a PO if release has been effected either with the release codes 01, 02, 03 and 04 or - alternatively - with release code 05.

The box with the information on the release strategy also offers you the possible alternatives for selection (see Displaying Release Information).

An alternative release cannot be a prerequisite for the next release code. In the above example, the releases with codes 01, 02, 03 and 04 could not be prerequisites for release with 05.

Release Indicator in SAP MM

Definition

When a requisition or an external purchasing document has been processed via a release code, a release indicator is assigned to it.

When the system sets which release indicator is defined in the Customizing facility for Purchasing (in the release strategy via the release statuses).

What does the release indicator determine?

Requisitions...


External purchasing documents....

Whether the item may be changed by Purchasing or Materials Planning and Control after the start of the release procedure

Whether a new strategy is determined and whether existing releases must be cancelled in the event of changes

Whether an RFQ or a PO may be created with reference to the item


Whether the document may be changed by Purchasing after the start of the release procedure

Whether a new strategy is determined and whether existing releases must be cancelled in the event of changes

Whether the purchasing document is released for transmission



See also:

Changes After the Start of the Release Procedure

Release Prerequisites in SAP MM

Definition

The release prerequisites indicate the sequence in which a purchase requisition or an external purchasing document must be approved via the release codes. The release prerequisites are defined in the Purchasing Customizing facility (in the release strategy).

The approval procedure for purchase requisitions in an enterprise may be set up in such a way that a department manager must approve a requisition item before the next level of authority (e.g. the cost center manager). In this case, approval by the department manager is a prerequisite for approval by the cost center manager.

Release Code in SAP MM

Definition

The release code is a two-character ID allowing a person to release (clear, or approve) a requisition or an external purchasing document. Who may work with which release codes is basically controlled via a system of authorizations (authorization object M_EINK_FRG).

In addition, the assignment of release code to individual processor (processing staff member) is defined according to organizational requirements - that is to say, the various departments specify which users will be working with which release codes.

In the case of the release procedure with classification for purchase requisitions, the assignment of release code to processor can also be made via Customizing for Purchasing. In this case, there must be a linkage with SAP Business Workflow. The release codes are assigned to an Organization Management object in each case (e.g. a position). The system then determines the responsible processor (processing staff member) in each concrete case.

SAP Transaction Code for: JOA detailed information

GJ54

Release Strategy in SAP MM

Definition

The release strategy defines the approval process for purchase requisitions or external purchasing documents. The strategy specifies the release codes necessary and the sequence in which releases have to be effected. You can define a maximum of eight release codes.

The assignment of the release strategy to a requisition or a purchasing document is based on the release conditions.

Release Conditions in SAP MM

Definition

The release conditions determine the release strategy in accordance with which a requisition or an external purchasing document is to be released.

If a requisition or an external purchasing document does not meet the conditions for a release strategy, it is automatically released for further processing.

Procedure Without Classification (Requisition Items Only)

The conditions can be based on one of the following item characteristics or a combination of these:

* Account assignment category
* Material group
* Plant
* Total value

Procedure with Classification (Requisitions and External Purchasing Documents)

The conditions are formulated via characteristic values and are stored in the Purchasing Customizing facility (under the release strategy).

A precondition for this is that the characteristics are first created and then assigned to classes. For information on classification, refer to the documentation CA Characteristics and CA The Classification System and the Implementation Guide (IMG) for Purchasing (under Release Procedures).

To enable a release strategy to be assigned to it, a requisition or an external purchasing document must have one of the possible values for each characteristic.

Release (Approval) Procedure in SAP MM

Use

You use this component if you wish to set up approval procedures for purchase requisitions or other purchasing documents. Under such a procedure, if a purchase requisition or external purchasing document fulfills certain conditions (e.g. the total order value exceeds $10,000), it has to be approved (by the cost center manager, for instance) before it can be processed further. This process of approving (clearing, or giving the "green light" to) a proposed item of expenditure is replicated in the SAP System by the "release procedure".

It is sensible to define separate release procedures for different groups of materials for which different departments are responsible, and to define separate procedures for investment goods and consumption goods.

Features

Each person involved in the release procedure effects release (signifies approval) via a release transaction, using his or her release code. Once effected, a release can also be cancelled with the same code (that is to say, the original status is reinstated).
If linkage to SAP Business Workflow has been defined for a release code, rejection is also possible (only for requisitions however).

Which Documents Can be Released (Approved)?

Release procedures can be defined for the following documents:

* Purchase requisition

* The external purchasing documents purchase order (PO), contract, scheduling agreement, request for quotation (RFQ), and service entry sheet

Release Procedure for Purchase Requisitions

Two different procedures are available for requisitions:

* With classification

With this procedure, requisitions can be released both at item level (i.e. item-by-item) and in total. The latter approach is also termed "overall release".

* Without classification

With this procedure, requisitions can only be released at item level.

The two procedures are mutually exclusive (that is to say, you must decide in favor of one of them only - you cannot use both).

Release Procedure for External Purchasing Documents

External purchasing documents (i.e. purchasing documents other than requisitions) are released at header level. Item-by-item release is not possible. These documents can only be released using the release procedure with classification.

Google
 

Subscribe Here

AddThis Feed Button

Content