Program to Mass Select Purchase Order and print history

Posted by Krishh Webworld | 12:39 PM | | 0 comments »

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

Posted by Krishh Webworld | 12:38 PM | | 0 comments »

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

Posted by Krishh Webworld | 12:38 PM | | 0 comments »

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

Posted by Krishh Webworld | 12:37 PM | | 0 comments »

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


Refer to the Unix SAP Internet Mail Gateway installation steps.

Send SAP Purchase Order with Microsoft Outlook

Posted by Krishh Webworld | 12:35 PM | | 0 comments »

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.

SAP Send mail via ABAP functions SO_NEW_DOCUMENT_SEND_API1

Posted by Krishh Webworld | 12:35 PM | | 0 comments »

This abap mail sending program demonstrate how you can send a mail to the user SAP Office mailbox.

REPORT ZSEND .

TABLES: KNA1.

* data for send function
DATA DOC_DATA LIKE SODOCCHGI1.
DATA OBJECT_ID LIKE SOODK.
DATA OBJCONT LIKE SOLI OCCURS 10 WITH HEADER LINE.
DATA RECEIVER LIKE SOMLRECI1 OCCURS 1 WITH HEADER LINE.

SELECT * FROM KNA1 WHERE ANRED LIKE 'C%'.
WRITE:/ KNA1-KUNNR, KNA1-ANRED.

* send data internal table
CONCATENATE KNA1-KUNNR KNA1-ANRED
INTO OBJCONT-LINE SEPARATED BY SPACE.

APPEND OBJCONT.
ENDSELECT.

* insert receiver (sap name)
REFRESH RECEIVER.
CLEAR RECEIVER.
MOVE: SY-UNAME TO RECEIVER-RECEIVER,
'X' TO RECEIVER-EXPRESS,
'B' TO RECEIVER-REC_TYPE.
APPEND RECEIVER.

* insert mail description
WRITE 'Sending a mail through abap'
TO DOC_DATA-OBJ_DESCR.

CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_DATA
IMPORTING
NEW_OBJECT_ID = OBJECT_ID
TABLES
OBJECT_CONTENT = OBJCONT
RECEIVERS = RECEIVER
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.

Send Purchase Order via Output Determination

Posted by Krishh Webworld | 12:34 PM | | 0 comments »

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

Posted by Krishh Webworld | 12:33 PM | | 0 comments »

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.

Tips by : Vinod Iyer

Create a new Purchase Order Document Type

Posted by Krishh Webworld | 12:33 PM | | 0 comments »

4.6x

If you have more than one company code, you might want to define a new document type and number range to differentiate between the two company.

Define a new number range not in used
OMH6 - Number Ranges for Purchasing Documents

Copy the NB - Standard PO to e.g. ZB
OMEC - Define Document types

Maintain :
Text for Document Header/Item
Text for Document Supplement
OMF6 - Messages Header Texts

Automatic default the Purchase Order Text

Posted by Krishh Webworld | 12:32 PM | | 0 comments »

Adopt Purchase Order Header Text

To default the Header Text into the Purchase Order

Step 1 :- Maintain text in Vendor Master

  • MK02 - Change Vendor
  • Choose Extras -> Texts - Input the text in Purchasing memo
Step 2 :- Link Text types to Header text in Purchase Order
  • OMFV - Define rules for copying (adoption of) text
  • Choose Header Text
  • Choose Goto -> Linkage: text types -> To vendor
  • Filled in the field No. (e.g. 01 - Header Text), next tick whether you want the text to be adopted or for displayed only
  • Choose Update to save

Unable To Create PO Due To Language Error

Posted by Krishh Webworld | 12:29 PM | | 0 comments »

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.

Difference between Contracts and Scheduling agreement

Posted by Krishh Webworld | 12:29 PM | | 0 comments »

In the MM Purchasing component, a contract is a type of outline purchase agreement against which release orders (releases) can be issued for agreed materials or services as and when required during a certain overall time-frame.

Contracts are of two types:

1. Quantity contracts - Use this type of contract if the total quantity to be ordered during the validity period of the contract is
known in advance.

2. Value contracts - Use this type of contract if the total value of all release orders issued against the contract is not to exceed a certain predefined value.

But a scheduling agreement is a form of outline purchase agreement under which materials are procured on predetermined dates within a certain time period. A scheduling agreement consists of a number of items, for each of which a procurement type is defined. The

The following are the procurement types:
- Standard
- Subcontracting
- Consignment
- Stock transfer

Delivery of the total quantity of material specified in a scheduling agreement item is spread over a certain period in a delivery schedule, consisting of lines indicating the individual quantities with their corresponding planned delivery dates.

SAP menu to create Contracts and Scheduling Agreement:-

Contracts and Scheduling Agreement Menu Path

Tips by : Manjunath

Item Wise Display of Invoice Amt to be Paid to Vendor

Posted by Krishh Webworld | 12:28 PM | | 0 comments »

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.

Tips by : Ramesh

Auto PO creation During GR Posting

Posted by Krishh Webworld | 12:28 PM | | 0 comments »

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

Posted by Krishh Webworld | 12:27 PM | | 0 comments »

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.

K.Annamalai.

Purchasing Organization at Client level

Posted by Krishh Webworld | 12:27 PM | | 0 comments »

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.

Sumit

Where to find the MIGO_GR Components button?

Posted by Krishh Webworld | 12:26 PM | | 0 comments »

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

Posted by Krishh Webworld | 12:25 PM | | 0 comments »

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

Check your PO Release Configuration

Posted by Krishh Webworld | 11:31 AM | , | 0 comments »

Finally, check your PO Release Strategy configuration to make sure that there are no errors.

OMGSCK - Check Release Strategies
(make sure there are no error messages)

Once the Purchase Order is not release, buyers will not be able to print the Purchase Order.

Goods Receipts will be shown with Message no. ME 390 - Purchasing document XXXXXXX not yet released.

In 4.6c, Purchase Order with Release Strategy have a tabs at the end of the Header. This allowed the buyers to check the release status of the Purchase Order.

The person with the release authorization have to use ME28 to release the Purchase Order.

Define the PO Release Procedure

Posted by Krishh Webworld | 11:30 AM | , | 0 comments »

OMGS - Define Release Procedure for Purchase Order Type

Release Group - New entries
Rel.group Rel. Object Class Description
02 REL_PUR Rel. Strategy for PO
Save your entries.

Release codes - New entries
Grp Code
02 01
Save your entries.

Release indicators - New entries
Release indicators Release Description
0 Blocked
1 X Release
Save your entries

Release Strategy - New entries
Release group 02

Rel.strategy 01 - Release

Release codes 01

Release status 0 - Blocked
1 - Release

Click the Release prerequisities button

Click the Relase statuses button the click the Continue button

Click the Classification button

Choose your check values

Click the Back button

Save your entries

Create the Class of the PO Release Strategy

Posted by Krishh Webworld | 11:29 AM | , | 0 comments »

Transaction code : CL02 - Class

  • Class - Create REL_PUR
  • Class type - 032
  • Click Create button
  • Description - Release Procedure for Purchase Order
  • In the Same Classification section, click Check with error
  • In the Char. (characteristic) tabstrips, type NETVALUE to assign your characteristics to the class
  • Save your data and this message will appear :-

  • Class type 032: Class REL_PUR created

Create the PO Characteristic

Posted by Krishh Webworld | 11:29 AM | , | 0 comments »

Transaction code : CT04 - Create Characteristic e.g. NETVALUE

  • Click Additional data tabstrips
  • Table name CEKKO Field name GNETW and press enter and you will see this information message :-

  • Format data taken from Data Dictionary (press enter)
  • (for currency dependent field, you are prompt to enter the currency which the system then converts the currency of the Purchasing document into this currency)
  • In the Basic data tabsritps (X refers to tick),

  • X Mutliple values
    X Interval values
  • In the Value data, in the Char. value column, type >=10000 (equal or greater than 10000) and press enter
  • Save your data

Configuring the PO Release Strategy

Posted by Krishh Webworld | 11:27 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:27 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:26 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:26 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:25 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:25 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:24 AM | , | 0 comments »

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.

Posted by Krishh Webworld | 11:24 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:23 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:23 AM | , | 0 comments »

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)

Posted by Krishh Webworld | 11:22 AM | , | 0 comments »

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)

Posted by Krishh Webworld | 11:22 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:21 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:20 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:18 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:17 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:17 AM | , | 0 comments »

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

Posted by Krishh Webworld | 11:14 AM | , | 0 comments »

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 Functional Transaction Codes

Posted by Krishh Webworld | 11:13 AM | , | 0 comments »

Customer               
XD01 Create Customer (Centrally)
XD02 Change Customer (Centrally)
XD03 Display Customer (Centrally)
XD04 Customer Changes (Centrally)
XD05 Block customer (centrally)
XD06 Mark customer for deletion (centr.)
XD07 Change Customer Account Group
XD99 Customer master mass maintenance
XDN1 Maintain Number Ranges (Customer)
Vendor
XEIP Number range maintenance: EXPIMP
XK01 Create vendor (centrally)
XK02 Change vendor (centrally)
XK03 Display vendor (centrally)
XK04 Vendor Changes (Centrally)
XK05 Block Vendor (Centrally)
XK06 Mark vendor for deletion (centrally)
XK07 Change vendor account group
Sales Order
VA00 Initial Sales Menu
VA01 Create Sales Order
VA02 Change Sales Order
VA03 Display Sales Order
VA05 List of Sales Orders
VA07 Compare Sales - Purchasing (Order)
VA08 Compare Sales - Purchasing (Org.Dt.)
Inquiry
VA11 Create Inquiry
VA12 Change Inquiry
VA13 Display Inquiry
VA14L Sales Documents Blocked for Delivery
VA15 Inquiries List
Quotation
VA21 Create Quotation
VA22 Change Quotation
VA23 Display Quotation
VA25 Quotations List
VA26 Collective Processing for Quotations
Contract
VA41 Create Contract
VA42 Change Contract
VA42W Workflow for master contract
VA43 Display Contract
VA44 Actual Overhead: Sales Order
VA45 List of Contracts
VA46 Coll.Subseq.Processing f.Contracts
Item Proposal
VA51 Create Item Proposal
VA52 Change Item Proposal
VA53 Display Item Proposal
VA55 List of Item Proposals
VA88 Actual Settlement: Sales Orders
Delivery (Outbound)
VL00 Shipping
VL01 Create Delivery
VL01N Create Outbound Dlv. with Order Ref.
VL01NO Create Outbound Dlv. w/o Order Ref.
VL02 Change Outbound Delivery
VL02N Change Outbound Delivery
VL03 Display Outbound Delivery
VL03N Display Outbound Delivery
VL04 Process Delivery Due List
VL06 Delivery Monitor
VL06C List Outbound Dlvs for Confirmation
VL06D Outbound Deliveries for Distribution
VL06F General delivery list - Outb.deliv.
VL06G List of Oubound Dlvs for Goods Issue
VL06I Inbound Delivery Monitor
VL06IC Confirmation of putaway inb. deliv.
VL06ID Inbound Deliveries for Distribution
VL06IF Selection inbound deliveries
VL06IG Inbound deliveries for goods receipt
VL06IP Inbound deliveries for putaway
VL06L Outbound Deliveries to be Loaded
VL06O Outbound Delivery Monitor
VL06P List of Outbound Dlvs for Picking
VL06T List Outbound Dlvs (Trans. Planning)
VL06U List of Uncheckd Outbound Deliveries
VL08 Confirmation of Picking Request
VL09 Cancel Goods Issue for Delivery Note
VL10 Edit User-specific Delivery List
VL10A Sales Orders Due for Delivery
VL10B Purchase Orders Due for Delivery
Customer management
FD01 Create Customer (Accounting)
FD02 Change Customer (Accounting)
FD02CORE Maintain customer
FD03 Display Customer (Accounting)
FD04 Customer Changes (Accounting)
FD05 Block Customer (Accounting)
FD06 Mark Customer for Deletion (Acctng)
FD08 Confirm Customer Individually(Actng)
FD09 Confirm Customer List (Accounting)
FD10 Customer Account Balance
FD10N Customer Balance Display
FD10NA Customer Bal. Display with Worklist
FD10NET Customer Balance Display
FD11 Customer Account Analysis
FD15 Transfer customer changes: send
FD16 Transfer customer changes: receive
FD24 Credit Limit Changes
FD32 Change Customer Credit Management
FD33 Display Customer Credit Management
FD37 Credit Management Mass Change
Pricing
V/03 Create Condition Table (SD Price)
V/04 Change Condition Table (Sales pr.)
V/05 Display Condition Table: (Sales Pr.)
V/06 Condition Categories: SD Pricing
V/07 Maintain Access (Sales Price)
V/08 Conditions: Procedure for A V
V/09 Condition Types: Account Determin.
V/10 Account Determination: Access Seqnc
V/11 Conditions: Account Determin.Proced.
V/12 Account Determination: Create Table
V/13 Account Determination: Change Table
V/14 Account Determination: Display Table
BOM
CS00 BOM Menu
CS01 Create Material BOM
CS02 Change Material BOM
CS03 Display Material BOM
CS05 Change Material BOM Group
CS06 Display Material BOM Group
CS07 Allocate Material BOM to Plant
CS08 Change Material BOM - Plant Alloc.
CS09 Display Allocations to Plant
CS11 Display BOM Level by Level
CS12 Multilevel BOM
CS13 Summarized BOM
CS14 BOM Comparison
CS15 Single-Level Where-Used List
CS20 Mass Change: Initial Screen
CS21 Mass Material Change: Initial Screen
CS22 Mass Document Change: Initial Screen
CS23 Mass Class Change: Initial Screen
CS25 Archiving for BOMs
CS26 BOM deletion
CS27 Retrieval of BOMs
CS28 Archiving for BOMs
CS31 Create class BOM
CS32 Change class BOM
CS33 Display class BOM
CS40 Create Link to Configurable Material
CS41 Change Material Config. Allocation
CS42 Display Material Config. Assignment
CS51 Create standard BOM
CS52 Change standard BOM
CS53 Display standard BOM
CS61 Create Order BOM
CS62 Change Order BOM
CS63 Display Order BOM
CS71 Create WBS BOM
CS72 Change WBS BOM
CS73 Display WBS BOM
CS74 Create multi-level WBS BOM
CS75 Change multi-level WBS BOM
CS76 Display multi-level WBS BOM
CS80 Change Documents for Material BOM
CS81 Change Documents for Standard BOM
CS82 Change documents for sales order BOM
CS83 Change documents for WBS BOM
CS84 Change documents for class BOM
CS90 Material BOM Number Ranges
CS91 Number Ranges for Standard BOMs
CS92 Number Ranges for Sales Order BOMs

Step by Step Legacy System Migration Workbench - LSMW

Posted by Krishh Webworld | 11:12 AM | | 0 comments »

The Legacy System Migration Workbench (LSMW) is a tool recommended by SAP that you can use to transfer data once only or periodically from legacy systems
into an R/3 System.

The LSM Workbench covers the following steps:

(1) Read the legacy data from one or several files (e.g. spreadsheet tables, sequential files).
(2) Convert the data from source format to target format.
(3) Import the data using standard interfaces (Batch Input, Direct Input, BAPI, IDoc).

The Steps for LSMW are:

Example: Customer Master upload:

LSMW to Update Customer Master Records with Transaction Recording

Call Legacy System Migration Workbench by entering transaction code LSMW. Every conversion task is grouped together as Project / Subproject / Object structure. Create a Project called LSMW_DEMO and a Subproject as CUSTOMERS and Object as CUST_REC

Step 1: Maintain Object attributes

In this example, you will be updating the customer master records with the help of recording a transaction (XD02). Choose radio button Batch Input Recording and click on the recording overview icon to record the R/3 transaction. Enter the Recording name as XD02_REC, the description as Customer Master Updates Recording, and the transaction code as XD02.

Step 2. Maintain Source Structures

Give a name and a description to the source structure.

Step 3. Maintain Source Fields

In this step, you need to list what fields are present in the source structure. The easiest way is to click on ‘Table Maintenance’ icon to enter Fieldname, Type and Length for each field.

Step 4: Maintain Structure Relations

Execute a step to ‘Maintain Structure Relations’. Since, there is only one Source and Target Structure, the relationship is defaulted automatically.

Step 5: Maintain field mapping and conversion rules

Field RF02D-D0310 represents that you chose ‘Sales view’ for the customer Master screen accordingly its value should be set to X. Keep your cursor on field
RF02D-D0310 and click on Constant rule icon to choose the constant value of ‘X’.

If your source file already has the field value, you choose rule ‘Source Field’. Keep cursor on field ‘KUNNR’ and click on ‘Assign Source field’ icon to choose source field CUSTOMER from structure XD02S

Step 6: Maintain fixed values, translations, user-defined routines

You can also maintain re-usable translations and user-defined routines, which can be used across conversion tasks. In this case, that step is not required.

Step 7: Specify files

In this step, we define how the layout of the input file is. The input file is a Tab delimited with the first row as field names. It is present on my PC (local drive) as C:\XD02.txt.

Step 8: Assign files

Execute step ‘Assign Files’ and the system automatically defaults the filename to the source structure.

Step 9: Read data

In this step, LSMW reads the data from the source file (from your PC’s local drive). You have the option to read only selected rows and convert data values to Internal format.

Step 10: Display read data

This step is optional. If required, you can review the field contents for the rows of data read.

Step 11: Convert data

This is the step that actually converts the source data (in source format) to a target format. Based on the conversion rules defined, source fields are mapped to target fields.

Step 12: Display Converted data

Again this is an optional step to view how the source data is converted to internal SAP format.

Step 13: Create batch input session

Once the source data is converted in an internal format, you can create a batch session to process updates.

Step 14: Run Batch Input Session

You can execute the BDC session by Run Batch input session. Executing a batch input session is a standard SM35 transaction for managing BDC sessions. Once you have successfully executed the batch input session, the customer master records are updated in the system. You can confirm this by viewing the customer master records (XD03).

What is SAP Production Support - Ticket Resolving

Posted by Krishh Webworld | 11:11 AM | | 0 comments »

1. How the tickets in production support are resolved?
2. Give some examples with solutions?

What are the types of ticket and its importance?

This depends on the SLA. It can be like:

1. Critical.
2. Urgent.
3. High.
4. Medium
5. Low.

The response times and resolution times again are defined in the SLA based on the clients requirement and the charges.

This is probably from the viewpoint of Criticality of the problem faced by the client as defined by SAP.

1) First Level Ticketing:

Not severe problem. Routine errors. Mostly handled by Service desk arrangement of the company (if have one).

Eg: a) Say Credit limit block in working on certain documents?
b) Pricing Condition Record not found even though conditions are maintained?
c) Unable to print a delivery document or Packing list?

PS: In the 4th phase of ASAP Implementation Methodology( i.e Final Preparations for GO-LIVE) SAP has clearly specified that a Service desk needs to be arranged for any sort of Implementation for better handling of Production errors.

Service desk lies with in the client.

2) Second Level Ticketing:

Some sort of serious problems. Those Could not be solved by Service Desk. Should be referred to the Service Company (or may be company as prescribed in SLA).

Eg: a) Credit Exposure (especially open values) doesn't update perfectly to KNKK Table.
b) Inter company Billing is taking a wrong value of the Bill.
c) Need a new order type to handle reservation process
d) New product has been added to our selling range. Need to include this into SAP. (Material Masters, Division attachements, Stock Handling etc.)

3) Third Level Ticketing:

Problems could not be solved by both of the above, are referred to Online Service Support (OSS) of SAP Itself. SAP tries to solve the Problem, sometimes by providing the perfect OSS Notes, fits to the error and rarely SAP logs into our Servers (via remote log-on)for post mortem the problem. (The Medical check-up client, connections, Login id and Passwords stuff are to be provided to SAP whenever they need or at the time of opening OSS Message.)

There are lots of OSS Notes on each issue, SAP Top Notes and Notes explaining about the process of raising a OSS Message.

Sometimes SAP Charges to the client / Service company depending on the Agreement made at the time of buying License from SAP.

Eg: 1) Business Transation for the Currency 'EUR' is not possible. Check OSS Note - This comes at the time of making Billing.
2) Transaction MMPI- Periods cannot be opened – See OSS Note.

There are many other examples on the issue.

4) Fourth Level Ticketing:

Where rarely, problems reach this level.

Those problem needs may be re-engineering of the business process due to change in the Business strategy. Upgradation to new Version. More or less this leads to extinction of the SAP Implementation.

System Path and Transaction Code Mapping

Posted by Krishh Webworld | 11:10 AM | | 0 comments »

When I know the System Path in the menu bar, I can find out the transaction code through System --> Status in menu bar. However, it seems no way to vice versa, it's that correct?? That means, if I have a transaction code, can we know the System Path in the menu bar?

"To find out the Easy Access Menu path of a particular transaction or screen, you can use the following method:

- Go to Transaction "Search_SAP_menu" by entering this in on the transaction slot at the upper left hand corner
of the screen. You may need to click on a faded right pointing arrow to see this slot. Also you may need to proceed the "Search_SAP_menu" with /n.

- In the dialog box that then shows up, enter the name of the screen you want to get to (i.e. the name that appears at the top of the screen (e.g. Create inspection lot on t- code qqr5) OR enter the transaction code.

- The result will be a report showing all of the Easy Access Menu paths to your transaction. Note that you may find different paths using the t-code than using the screen title."

When I type transaction code /nsearch_sap_menu, I will see "dynamic menu" button. After I click that button, i will see the tree
structures of the system path and I am able to expand on the path and find out the transaction code.

However, is there another way to find the system path by just entering the transaction code, and it will display the tree system
path automatically??

In R/3 4.6C - when I use Tx search_sap_menu - I don't get any buttons. All I get is a small pop-up box with a single line,
titled "Enter transaction code or menu text", where a string can be entered. When text is entered, and 'enter' is pressed, it returns a screen where there are blocks listed that show the menu paths. As an example, if I enter SM37 in the text box and hit enter, this is the top few lines that are returned:

Node Transaction code Text

Nodes SM37 Job Overview
Preceding node Mass Processing
Preceding node Planning
Preceding node Flexible planning
Preceding node Planning
Preceding node Sales Information System
Preceding node Sales and Distribution
Preceding node Logistics

Nodes SM37 Logs
Preceding node Queue
Preceding node R/2-R/3 Link
Preceding node Internal Whse Processes
Preceding node Logistics Execution
Preceding node Logistics

Nodes SM37 Job Overview
Preceding node Mass Processing
Preceding node Planning
Preceding node SOP
Preceding node Production
Preceding node Logistics

To run the SSM_SEME program you can use the Tcode SE38. Enter SSM_SEME in the text field and hit F8 to execute. You'll then get a popup where you type in what you want to search for.

To check versions of SAP, OS and DB you can do the following:
1. Log on to SAP
2. Click "System" in the menu line and choose "Status"
Then you'll get the info you need.
This is also a good way to find out which transaction code you are currently using.

For more details click the button with the yellow arrow in the bottom of that screen.

What is ASAP Methodology

Posted by Krishh Webworld | 11:09 AM | | 0 comments »

ASAP: Accelerated Systems Application and Products in Data Processing

All implementation projects have the the following phases:

Scoping - What is to be implemented i.e. which submodules are to be implemented some clients may not require credit management for example. Look at the project scope document carefully it will tell you what SAP sub-modules in SAP you should be prepared for. Usually the sales people along with project manager do it.

As is - Here you understand the existing business processes of the client . Your BPOcollect all the ISO-documentation (if client is ISO certified), reports and forms at this stage and you analyse how and when the reports/forms are generated, where the data is coming from. You also do a Level -2 training for your BPO so he is made aware of all the required transactions in SAP.

Once this is over BPO can start learning with the consultants help more about SAP. This is crucial because if you miss out any transactions the BPO may forget about some of his Business processes which may come up later. It is a good practice to ask the BPO to make flow charts to explain business processes.

To-Be - Parallely you map these processes to SAP. Processes that you are not sure of as to whether they are present in SAP or not you try to do a configuration of those processes, and along with the BPO(Business process owner he is the clients employee who knows about the clients business processes probably a middle management guy, ther can more than one), BPO involvement is required as he may be able to tell you his requirements better. Once you do the business modelling you
will also be made aware of the gaps between as-is and to-be , here decisons have to be made as to wether a ABAP development/system modification is required or not and so on. Involve the BPO as much as possible and document everything it is good practice do not be lazy about it.

Business blueprint: Here the as-is and to-be and gap analysis is explained. This is the document that you will be using to do your configuration in the realization phase.

Realization phase: Here you do the configuration in the development server (there are three clients -development,quality, production). You also decide on the master data format, so that BPO can go collect the master data. You also gove ABAP specifications for forms, reports etc, system modifications etc. Unit testing: Your BPOs and a few key users sit down and test your configuration in your module only. It is good to test the BDCs that you need for uploading data at this stage so you have more realistic data and your BDCs are tested.

Integration testing:
Once all modules unit testing is over then the configuration is trasported to the Quality server, where testing for all the modules is done by BPOs and end user, this is to check if any problems are there in integration between various modules. Once all is okay from the QA server config is transported to the production server.

Go live preparation
Data uploading: The collected master data is checked and the uploaded into production server(sever and client I have used interchangeably). Now you are ready for go live i.e. users can now use the production server.

Thirumallasetty

ASAP methodoligy means nothing but standard process for implementation of SAP, It consists of 5 phases.

1. Project preperation - consists of identifying team members and developing strategy as how to go.

2. Business Blue print - consists of identifying the client current process, reqeirement and how SAP provides solution.
Consists of detailed documentaion

3. Realization -The purpose of this phase is to implement all the business and process requirements based on the
Business Blueprint.

4. Final Preparation - The purpose of this phase is to complete testing, end-user training,

5. Go Live and Support

All the functinal consultatns need good rapo with Abapers. right from uploading of legacy data, devoloping customised reports, BDC's, Forms etc, here functinal consultatns need to give guidence as to get the requried data for reports and all.. like the table name, fields etc

Kittu Kittu

What is baseline configuration in sap?

Base line and Final config is the third phase in ASAP methadology. The purpose of this phase is to implement all the business & process requirements based on business blue print. You customize the system step by step in 2 work packages: Base Line Configuration & Final Configuration.

- Base Line Configuration: this phase comprises the priority requirements of the enterprise, ensuring that they can be implemented quickly. This phase can be completed without programming or enhancements to SAP systems.
- Final Configuration: in this phase you confirm that all your requirements are met in the R/3 system. Final configuration is a transportation process that expands that base line solution.

Archives

Subscribe Now: Feed Icon