Quantcast
Channel: SCN : Document List - SAP ERP - Logistics Materials Management (SAP MM)
Viewing all 264 articles
Browse latest View live

Integrating MM & SD Modules in Same Client to Create Delivery in Supplying Company Code & do GR in Receiving Company Code By I-Doc Message Type DESADV Part2

$
0
0

This document is in continuation of http://scn.sap.com/docs/DOC-45574

 

In this document I'm going to explain about processing Deliveries in SD & Goods Receipts in MM Modules using EDI- IDocs, Outbound and inbound deliveries in Logistics Execution.   After completion of GR in MM, a confirmation message is sent back to SD module as a Proof of delivery.

 

Prerequisites:

1. A sales order created against the PO as explained in above link.

2. Knowledge of Inbound and outbound deliveries.

 

 

Follow the below steps for processing outbound and inbound deliveries with IDocs.

Step1. Create Condition Record in transaction NACR for message type LAVA as shown below.


1.jpg

 

Enter the Sales Organization (6666) and Customer Number (100211) with Transmission medium 6 (EDI).


 

2.jpg

 

Note: The Partner function maintained here (SH) is to be used in step No. 2   as partner role.

 

Step2. In Transaction WE20 for partner profile customer (100211) maintain outbound parameters with partner role SH, message type DESADV & Basic Type DESADV01 as explained in the previous document Part1.


3.jpg

 

In Message control tab maintain message type LAVA with process code SD05 as shown below.

 

4.jpg

 

Step3. In Transaction WE20 for partner profile Logical System (RD2CLNT800) maintain inbound parameters with message type DESADV and process code DESA.

 

7.jpg

 

Follow the below steps for processing Proof of Delivery with IDocs.

 

Step4. In Transaction XD02 for Customer  100211 in sales area (6666, 66, 66) data shipping tab, mark the check box of relevant for POD as shown below.

 

8.jpg

Note: If you mark this check box you can bill the customer only after receipt of Proof of delivery from him. You can also mark this check box in sales order Item shipping tab.

 

2.jpg

 

Step5: Create Condition Record in transaction NACR for message type OPOD as shown below.

 

 

9.jpg

 

 

Enter the inbound delivery document type (EL) and vendor Number (2096) with Transmission medium 6 (EDI).

 

10.jpg

 

 

Note: The Partner function maintained here (VN) is to be used in step No. 6   as partner role.

 

Step6. In Transaction WE20 for partner profile vendor (2096) maintain outbound parameters with partner role VN, message type STPPOD & Basic Type DELVRY03 as explained in the previous document Part1.

 

11.jpg


In Message control tab maintain message type OPOD with process code OPOD as shown below.


12.jpg

 

Step7. In Transaction WE20 for partner profile Logical System (RD2CLNT800) maintain inbound parameters with message type STPPOD and process code DPOD.

13.jpg

 

Testing:

Step1. Create outbound delivery in Transaction VL01N for the sales order created in previous document Part1.

 

14.jpg

 

Carryout Post Goods Issue by entering storage location (0001) & Picked quantity (10).

 

15.jpg

 

Make sure that message LAVA was sent successfully in VL02N >> Extras >> Delivery Output >> Header.

 

Step2. In Transaction WE02 Check the outbound & inbound IDoc status of message type DESADV.


 

16.jpg

 

Step3. In Transaction ME23N check the Purchase order is updated with inbound delivery in Item confirmations tab. Note the Inbound delivery number and go to transaction VL32N

 

17.jpg

 

Step4. In Transaction VL32N carryout Post Goods Receipt by entering receiving storage location & Quantity in stock placement tab.

 

18.jpg

 

 

19.jpg

 

Make sure that message OPOD was sent successfully in VL32N >> Extras >> Delivery output.

 

Step5. In Transaction WE02 Check the outbound & inbound IDoc status of message type STPPOD.


20.jpg

 

Step6. In Transaction VLPODA check the Proof of delivery document created against the outbound delivery.

 

 

23.jpg

 

21.jpg

 

22.jpg

 

Step7. In Transaction VLPODL confirm the Proof of Delivery as shown below.

 

24.jpg

 

 

25.jpg

 

If the Status is success then you can process Billing to the customer.

 

26.jpg

 

 

-End Of Document Part2

 

In Continuation of this document I will explain about 'processing billing in SD and logistics invoice verification in MM for the above business process using IDocs' in my next document http://scn.sap.com/docs/DOC-45778

Thanks For Reading& Please share your reviews & feedback....

 

Regards

Satish

 

 

 

 

 

 

 

 

 

 

 

 



Increase the performance of MB51 by adding Material document year in MB51 selection

$
0
0

One way to increasing the performance of MB51 and MB59 reports is by using the Material document year in the input screen on MB51 and MB59 reports.

 

To increase the performance of the MB51. Include the material document Year field (MKPF-MJAHR) in the selction screen of the MB51 through the below mentioned SPRO path.

 

Configuration Path:

Path for configuration change is SPRO-MM-Inventory management and physical inventory-Reporting-Define field selection for material document list...which is as shown in screen shot one.

 

 

ScreenHunter_05 Sep. 05 17.49.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In the screen shot shown below select the tick mark of field MKPF-MJAHR for selection.

Click on Save.

ScreenHunter_01 Sep. 05 16.54.jpg

 

 

After saving the configuration, we will be able to see the material document filed in MB51 input screen as shown below.

 

ScreenHunter_04 Sep. 05 16.57.jpg

 

 

 

Now Do the test for performance:

 

In this MB51 screen, Give Plant, storage location and One month period in posting date fields.

 

Test the report with above inputs with Material document year and without Material document year.

 

See the difference.

Inter-company STO with SD Delivery, Billing & LIV

$
0
0

Dear Friends,

 

In this document I'm going to explain inter-Company Stock transport Order with SD Delivery, Billing & Logistics Invoice verification.

 

Prerequisites:

  1. Knowledge of MM & SD
  2. Two organization structures: one for purchasing and another for sales

          Purchasing: Company Code:8888, Plant: 8881, Sto. Loc: 0002, Purchase Organization: 8881,

          Sales: Company Code:6666, Delivering Plant: 6661, Sto. Loc: 0001, Sales Area:6666, 66, 66, Shipping Point 6666.


Step1. In Transaction XK01, Create Vendor Master to represent Supplying plant(6661) in receiving company code(8888) & Pur.Org(8881).

 

2.jpg

 

In Purchasing Data, Goto Menu Bar, Extras > & click on Additional Purchasing Data. Here Maintain the supplying plant(6661) so that it is linked to the vendor master.

 

3.jpg

 

Note: A Plant can only be assigned to one vendor number. So we have to extend the same vendor number to different Pur.Org if required.

 

Step2. In Transaction XD01, Create Customer Master to represent Receiving Plant(8881) in Supplying Company Code(6666) & Sales Area(6666,66,66).

 

 

5.jpg

 

In Sales Area Data, Shipping tab, Maintain Delivery Priority, Shipping Condition & Delivering Plant(6661) as shown below.

 

6.2.jpg

 

Step3. Create Material Master with below selected views, in Supplying Plant(6661), Sto.Loc.(0001), Sales Org(6666), Dist.Ch(66).

 

10.jpg

 

11.jpg

 

In Basic Data1 View maintain Division(66) & General Item Category Group Ex. Norm(Standard Item)

 

12.jpg

 

In Sales Org1 View, Maintain Delivering Plant(6661) & Tax Details as shown below

 

13.jpg

 

Note: If You are not able to see tax condition types or not maintaining any tax indicators then it is not possible to Create a delivery against STO. Same applies to Customer Master in Step2.

 

In Sales Org2 View, Maintain Item category Group Ex. Norm (Standard Item)

 

14.jpg.

 

Note: The Item Category group maintained here is preferred over general item category group and used to determine 'Item Category in Delivery'  Ex. NLC(For Inter Company) NLN(For Intra-Company).

 

In Sales General Plant Data, maintain Availability Check Group(Ex.01), Transportation Group(Ex.0001), Loading Group(Ex.0001).

 

15.jpg

 

Step4. Extend the Material Created in Step3 to Purchasing plant(8881) & Sto.Loc(0002) with below selected views.

 

16.jpg

 

17.jpg

 

 

Configuration Settings


Step5. Define Shipping Data for Plants in below path

 

SPRO > Materials Management > Purchasing > Purchase Order > Setup Stock Transport Order

 

1.jpg

 

For Supplying Plant(6661), assign Sales Area(6666,66,66) as shown below.

 

4.jpg

 

For Receiving Plant(8881), assign Customer Number(100216) Created in Step2.

 

7.jpg

 

Step6. If required Create a Checking Rule by entering a two digit code & Description. Ex. B - SD Delivery(Standard)

 

Step7. Define Checking rule Created in Step6 in combination with Availability Check Group(01) assigned in material master Step3. Here select the stocks, receipts & requirements as per requirement.

 

8.1.jpg

 

Step8. Assign Delivery type & Checking rule

 

Here Assign Delivery type(NLCC) & Checking rule(B) to the Purchase order Document type(NB) & Supplying plant(6661) Combination as shown below.

 

8.2.jpg

 

Step9.  Assign Document type, One Step Procedure & Under delivery Tolerance.

 

Here for Supplying & Receiving Plant(6661 & 8881 respectively) Combination Assign PO Document Type(NB).

 

Select One step Check box to post the Goods receipt while doing PGI itself. Otherwise Goods Receipt have to be carried out in another step.

 

If You Select tolerance limits check box, Then SAP closes the STO by marking final delivery Check box, if delivered Quantity is within the under delivery tolerance limits maintained in delivery tab of PO. It depends on Partial deliveries allowed or not. Then the remaining quantity will not be shown as open in requirements.

 

9.jpg

 

Step10. Define Shipping Point Determination in below path

 

SPRO > Logistics Execution > Shipping > Basic Shipping Function > Shipping point Determination > Assign Shipping Points.

 

19.jpg

 

Here assign Shipping Point(6666) for the Combination of Shipping Condition(01) (customer master step2), Loading Group(0001) (material master step3) & Supplying Plant(6661).

 

20.jpg

 

Step11. Define Item Category Determination in Deliveries in below path

 

SPRO > Logistics Execution > Shipping > Deliveries > Define Item Category Determination in Deliveries

 

21.jpg

 

Here assign Item Category (NLC - Replenishment delivery inter Company) for the combination of Delivery Document type (NLCC), Item Category Group (NORM), Usage V (Purchase order) & Higher level item category group ( ' '-blank) as shown below.

 

22.jpg

 

Assign Sales pricing procedure ICAA01 to the combination of Sales Area(6666,66,66), Document pricing grp ' I ' (for billing doument type IV) & Costomer pricing grp '1'

 

Testing:

Make sure You have sufficient stock in issuing storage location(0001) of supplying plant

 

Step1. Create Purchase Order in Transaction ME21N with Document type NB, Vendor(2122), Material(2116), PurOrg(8881) Pur Grp(001), Company Code(8888), Receiving Plant(8881).

 

Note: If you are using one step procedure the enter the receiving storage location(0002).

 

26.jpg

 

Here Observe the shipping tab with the above details as shown. Here first of all SAP checks for any plant assigned in vendor Master. if not assigned then it will be a standard PO

 

Note: You Can process inter Company STO by using PO document type UB with Clearing accounts, without delivery, w/o billing, w/o invoice(Mov.types 351 &101). If You are using document type NB then it is only possible with delivery & trigger point is vendor master.

 

make sure you have proper sales tax setup in SD > Basic Functions > Taxes.. Customer & Material Master is assigned to tax indicators. Create condition record for output tax condition type in Trasaction VK11. Ex. MWST output tax

 

In Transaction VK11 Create Condition Record for Condition type PR00 with the sales price if required.

 

Note: To adopt price from purchasing in to billing create a condition type with same name as PB00. In copy control enter reference as application purchasing & condition type PB00. Now assign this condition type in procedure ICAA01 after step of condition type IV01.  Now the PO price is adopted in to billing.

 

Step2. Generate Outbound delivery against purchase order in Transaction VL10G or VL10D

 

Here make sure that delivery date is in between the dates entered. & enter the shipping point triggered in PO shipping tab. Then Execute.

 

Then Select the Purchase order line item & click on back ground.

23.jpg

 

Note: If you are able to see an extra line item with status green proceed to next step or else click on log button as shown above.

 

Now click on line item & click on notes. now you will see some error messages & solve them.

24.jpg

 

Step3. Select the Line item & Click on Log Icon. Now click on documents & note down the outbound delivery document number.

 

27.jpg

 

Go to Transaction VL02N. Enter the outbound delivery document number & Click enter. Here in picking tab enter the issuing storage location & picked Quantity.

 

28.jpg

 

Check the Delivery item Category NLC. In Goods Movement tab observe the movement type 643( two step). In item Conditions Tab Observe conditions as shown below.

 

Note(movement type 645 is for one step procedure)

 

30.jpg

 

Carry out the post goods Issue.

If You are not able to process PGI, then check WM is activated in storage location or if one step procedure check PO whether receiving storage location entered or not.

Check The Accounting Document where stock account from BSX is credited & Cogs Account from GBB-VAX is debited with the price as per supplying plant material master

 

35.jpg

 

 

Step4. In Transaction VF01 Create billing document with reference to outbound delivery.

Create Condition record for Condtion type PI01 in transaction VK11.

 

31.jpg

 

The Condition type PR00 & PI00 are for Information purpose only & the Condtion type IV01 is the main condition type which is based on PI01.

Make Sure Account determination has been done and Save the billing document. Observe the accounting document. Where Customer account is debited with the sum of revenues(credited) & Tax(credited).

 

34.jpg

 

Step5. In Transaction MIGO do Goods receipt wrt Outbound delivery. Enter the receiving storage location & post the goods receipt.

 

 

29.jpg

 

Check the accounting document. Whre stock account from BSX is debited & GR/IR account from WRX is Credited with the price in PO.

 

36.jpg

 

Step6. In transaction MIRO carryout Logistics Invoice verification in receiving company code(8888).

 

32.jpg

 

 

Post the invoice & observe the accounting document. Where the vendor account is credited with the sum of amount entered in PO to GR/IR A/c(debited) & Input tax account(debited)

33.jpg

 

NAVICUTS (Check Points for Error Messages):-

 

1. Not possible to determine shipping point for item 00010 Message no. 06855

 

Check Step2, Step3, Step10

 

2. There is no item category available in item category determination in the delivery (table T184L) for the following entries: NLCC NORM V

    Error Message No. VL320

 

Check Step3, Step11

 

3. Enter Stor. Location Message no. M7018

 

Check Step1 in Testing

 

4. No sales and distribution data maintained for material & Message no. 06854

 

Check Step3.

 

5. No delivery type defined for supplying plant 6661 and document type NB Message no. 06694

 

Check Step8

 

6. Please maintain sales org./division/distr. channel in supplying plant 6661 Message no. 06846

 

Check Step5

 

7. Customer  does not exist (please change entry in plant 8881)

Message no. 06849

 

Check Step5

 

8. Not possible to determine shipping data for material & Message no.06280

 

This Error Message will not come in inter company stock transport orders & Will only come in Intra company STO with Delivery & W/o Billing

 

-End Of Document

 

Thanks For Reading. Please share your reviews & feedback....

 

Regards

Satish


IDoc Basics For Functional Consultants

$
0
0

ABSTRACT

IDocs are used in most of the SAP applications for transfer of message from SAP  to other systems and vice versa. A lot of documentation is available on web for IDocs but most of them are technical in nature.  This document is written from perspective of a functional consultant and this will help in dealing with support issues related to IDoc. An effort has been made to capture all the necessary information about IDocs that a functional consultant needs to be aware of.


OVERVIEW

IDoc is an SAP object that carries data of a business transaction from one system to another in the form of electronic message. IDoc is an acronym for Intermediate Document. The purpose of an IDoc is to transfer data or information from SAP to other systems and vice versa.  The transfer from SAP to non-SAP system is done via EDI (Electronic Data Interchange) subsystems whereas for transfer between two SAP systems, ALE is used.

 

IDoc can be triggered in SAP system or in EDI subsystem. This depends on the direction in which IDoc is sent and is called as Inbound IDoc and Outbound IDoc accordingly. In case of outbound flow, IDoc is triggered in SAP through document message control which is then sent to EDI subsystem. EDI converts the data from IDoc into XML or equivalent format and then sends the data to partner system through Internet.

For inbound flow, EDI converts partner data and IDoc is created in SAP. After successful processing of this IDoc, Application Document is posted in SAP.

1.png

EDI STANDARDS AND IDOC

“EDI is electronic exchange of business document between the computer systems of business partners, using a standard format over a communication network”. EDI stands for Electronic Data Interchange.

 

For transmission of information electronically, two widely used standards are ANSI ASC X12 and EDIFACT. ANSI ASC X12 is a committee formed by representatives of major organizations, government bodies and EDI software companies which defines standards and guidelines for information interchange over EDI. UN/EDIFACT stands for United Nations EDI for Administration, commerce and Transport and was formed in 1985 using ANSI X12 and UNTDI (United Nations Trade Data interchange) as base standards. ANSI X12 describes business document as transactions and each transaction is represented by three digit number e.g. 850 – Purchase Order, 855 - Purchase Order Acknowledgement. EDIFACT describes business document as messages, represented by standard names e.g. ORDERS for purchase order.

 

IDOC TERMINOLOGIES

IDOC (BASIC) TYPE

IDoc Types are based on the EDI standards and mostly on EDIFACT standards. 

Basic Types (or IDoc Type) defines the structure of an IDoc. Each basic type describes standard IDoc segments, format of data fields and their size. Basic Type also defines number of segments and fields in an IDoc. All the fields that are necessary for transmission of message for a particular business transaction are mapped in different segments. It also defines the structure and relationship of IDoc segments along with mandatory and optional segments.

 

2.png

 

 

IDOC EXTENSION

Basic type contains all the standard fields that are necessary for carrying out a business transaction. However, if any additional values are to be sent to the partner then we can make use of the IDoc Extension feature. IDoc extension is extension of basic type and contains additional custom IDoc segments and fields that are not available in standard basic type.


IDOC SEGMENTS

IDoc segments contain the actual data that is sent to or received from a partner. These segments contain the actual values that are sent as part of IDoc transmission.

3.png

PARENT AND CHILD SEGMENTS

IDoc segment is termed as Parent segment if it contains its own segments. The dependent segments are called as child segments.

4.png


INBOUND/OUTBOUND IDOCS

IDocs sent outside the system are termed as Outbound IDocs and the ones that are received into the system, are called as Inbound IDocs.

 

5.png

IDOC DIRECTION

This signifies the direction is which information is sent and is similar to terminology used in mails. If information is sent outside the system then the direction is outbox when it is received into the system then direction is inbox. In SAP Outbox direction is represent by “1” i.e. outbox and Inbox direction is represented by “2”.

 

 

6.png

PARTNER

Partner is the Business Partner with which the exchange of information is to take place using IDoc. It can be a vendor or customer or any other system. Depending on the direction of information in which the information is sent it plays a role of either a “sending partner” or a “receiving partner”.

 

 

7.png

 

PARTNER TYPE

Partner type/role is used to identify partners within the sap systems. Partner type is KU for customer, LI for vendor and LS for Logical System.

8.png

 

MESSAGE TYPE

IDoc processing involves transmission or receipt of document in the form of a message, each of which represents a document in SAP. These documents can be Order, Shipment Confirmation, Advance Shipping Notification, Goods Receipt, or Invoice.  Message type is associated with Basic IDoc Type (Basic Type) and defines the kind of data or document that is exchanged with the partner.

 

PROCESS CODE

The process code contains the details of the Function Module that are used for IDoc processing. Message Type can be linked to the Process code.


PORT

IDoc Port contains the information about the way data is sent between the source or target system. The type of port defines the information contained within the port. For port type “Internet” Port will contain IP address of the target system. For port type “file”, directory or file name information is maintained. “tRFC” port contains information about the RFC destination of the target system. For IDoc transmission using ALE “tRFC” ports are used.

 

PARTNER PROFILE MAINTENANCE

PARTNER PROFILE (WE20)

Partner profile must be maintained for all the business partners to whom we want to send or receive the IDocs. The TCODE for maintaining the partner profile is WE19.

 

9.png

 

Double clicking on the Partner will show the following screen:

 

20.png

Partner profile contains parameters for Inbound and Outbound processing of IDocs. For each message type we can maintain, inbound/outbound options, message control, post processing options and contact information within Inbound and outbound parameters.

 

OUTBOUND OPTIONS (OUTBOUND PARAMETERS)

This involves sender/receiver port, Output mode and relation to IDoc type i.e. Basic Type and extension.

21.png

 

MESSAGE CONTROL (OUTBOUND PARAMETERS)

This contains application for which IDoc will be created e.g. EF for Purchase order, the message type of the application that will trigger the IDoc and Process Code that will convert SAP document to an IDoc. For example, if PO is to be sent to the Vendor AXXXXZ, then in the outbound option of the partner AXXXXZ we need to maintain the message type ZXX1 and link it to the Process Code ME10. So when message type ZXX1 is triggered in the PO then an IDoc will be created for the partner vendor AXXXXZ.

 

Process Code is linked to the Function Module in SAP that converts application data into an IDoc. Standard function modules are provided by SAP for this conversion however these can also be customized as per business needs.

 

22.png

Change Message Indicator indicates whether the IDoc is sent as a notification of change. For example, Purchase Order change messages are sent to vendor using EDI standard message type 860. 

24.png

Separate message type should be triggered in the purchase order for PO change. Additional line with change message type must be added in the Message control tab with change message indicator on.

 

10.png

 

INBOUND OPTIONS (INBOUND PARAMETERS)

 

For inbound options process code is maintained in the Inbound screen only. IDoc processing can be triggered by background program and triggered immediately.

 

 

11.png

 

POST PROCESSING (INBOUND/OUTBOUND PARAMETERS)

 

In the post processing option we can maintain the workflow details of the users or positions to which an error notification will be sent if an IDoc processing fails.

 

25.png

TELEPHONY (INBOUND/OUTBOUND PARAMETERS)

We can also maintain the contact details in the telephony option.

12.png

 

EDI STANDARD (OUTBOUND PARAMETERS)

EDI standard screen contains the details of the Standard EDI terminology used for the IDoc transmission.

 

26.jpg

For example, Message Type 850 is an EDI standard for Purchase Order IDoc and is linked to IDoc Message Type Orders.


IDOC STRUCTURE AND RECORDS

STRUCTURE

IDoc structure is divided into Control Record, Data Records and Status records.

27.png

 

 

 

These records are stored in the transparent tables in SAP. These are EDIDC, EDID4 and EDIDS.

 

CONTROL RECORD (EDIDC)

It contains information such as IDoc number, direction, IDoc Status, Basic Type, Message Type, Partner (Sender/Receiver), date and time of creation/update, Interchange File or ISA number,etc.

 

28.png

29.png

 

 

 

DATA RECORD (EDID4)

It contains the details of the IDoc segments.

 

30.png

IDoc segment has fields that contain the data necessary for posting the documents.

 

 

31.png

32.png

 

 

 

STATUS RECORDS (EDIDS)

IDoc Status defines the processing status of the IDoc. IDoc statuses are used to track the IDoc and its various processing states. Status Numbers represents IDoc status. Current status of the IDoc is present in Control record.

 

33.png

Initial Status numbers are 64 for inbound and 03 for outbound. Successful status is 53 for inbound and 16 for outbound IDocs.

 

SENDING AND RECEIVING IDOCS

TRIGGERING AN OUTBOUND IDOC

Outbound IDocs can be triggered from the output message types of Purchase Orders, deliveries, Material Documents, invoices, etc. The following figure shows that once the output ZXX1 of PO XXXXXXX1 is processed an IDoc “000000XXXXXXXXX1” is added/created.

 

34.png

The relationship between the IDoc and the application document can be found in two ways:

1. Relationship tab of IDoc

35.png

36.png

 

 

2. Relationship tab of Application Document, e.g. PO, SO, Material Document, etc.

 

37.png

The initial status of this IDoc will be 30, which after successful processing will convert into status 16.

38.png

 

A successful outbound IDoc will pass through all the above statuses in reverse order (01-03-18-06-12-16). Each status represents an IDoc validation step. If an IDoc passes all the validations it would reach status 16. These different validation steps for outbound IDocs are explained below:

 

01: IDoc generation successful

30: IDoc is ready to be processed by IDoc Processing job

03: IDoc data is passed to the Port

18: IDoc successfully triggered EDI subsystem

06: IDoc data translated to EDI format

12: IDoc is dispatched successfully to the partner

16: Partner has received the IDoc successfully

 

IDoc can possibly fail at any of the above steps during validation.

 

RECEIVING AN INBOUND IDOC

The initial status of an inbound IDoc is 64 and successful status is 53.

 

Different validation steps for inbound IDocs are explained below:

50: IDoc received successfully in the system

64: IDoc is ready to be processed by IDoc processing job

53: Application document created and saved successfully. The document number can be found by expanding the status node 53

39.png

40.png

An inbound IDoc goes through all the above statuses in reverse order (50-64-53).

 

IDOC PROCESSING

AUTOMATIC/IMMEDIATE PROCESSING

In this case, IDoc are processed immediately as they generated or added in the system. The check “Transfer IDoc immediately” is selected in Outbound Options and “Trigger Immediately” is selected in Inbound Option. These checks are generally used when the real time information exchange is necessary between two systems.

 

41.png

13.png

 

MANUAL PROCESSING

IDocs can also be manually processed using the TCODE BD87 in SAP.

 

PROCESSING VIA BACKGROUND JOB

IDoc processing by background is the most preferred way of processing the IDocs. Following Programs are used from processing the IDocs using background job:

RBDAPP01 - Inbound IDocs

RSEOUT00 - Outbound IDocs

 

REPROCESSING IDOCS


On the basis of IDoc statuses different programs can be used for reprocessing of failed IDocs. These are given below:


 

TESTING AND EDITING IDOCS

If an IDoc contains error in the data then such IDocs can be edited using TCode WE02 or WE05. When an IDoc is edited the original IDoc information(backup) is saved in a New IDoc under status 70 (for inbound) / 33 (for outbound). These IDoc stays in the system for reference only and cannot be processed. The status of the edited IDoc becomes 69 (inbound) and 32 (outbound). These IDocs can then be processed using BD87 transaction or batch jobs.

 

Debugging of IDocs can be done using by copying the IDocs using TCode WE19. WE19 is a test tool for Idocs processing. WE19 copies the existing idoc and creates a new IDoc which can then be modified as per testing needs. The newly generated IDoc can also be processed using BD87.

 

CONVERTING IDOC STATUS

Report RRC1_IDOC_SET_STATUS can be used to change the status of IDoc. Status changes are generally needed to move an IDoc to status 68 – no further processing

14.png

 

SEARCHING IDOCS IN SAP

TCODE WE02/WE05: GENERAL SEARCH

IDocs can be displayed in system via TCODE WE02 and WE05. If IDoc number is not known then  search can be made on the basis of IDoc Date, Direction, BASIC TYPE, MESSAGE TYPE, and PARTNER NUMBER. Partner number can  be found in the Output Messages of the documents.

 

15.png

42.png

 

IDoc search can also be made on the basis of ISA or Transfer file Reference.

16.png

 

TCODE WE09: SEARCHING DATA IN IDOC SEGMENTS

If we are looking for specific information within the IDocs Segments then this can be found using TCODE WE09. This is useful if you are searching for a particular information in similar kind of IDoc within IDoc segments. For example, if you want to search a particular Purchase Order number e.g. 100000001 in multiple IDocs which lies in Segment E1EDK01 of an IDoc under field BELNR. Then the search can be executed in the following manner.

43.png

 

IDOC VALIDATIONS, COMMON IDOC ERRORS AND SOLUTION

17.png

Though, the IDoc failure may not be related to any of the above mentioned reasons, the best way to find the IDoc error is to compare the existing IDoc with the good example. Good example IDoc can be easily searched with any of the IDoc search methods as described above.


DOCUMENTATION FOR IDOC TYPES

IDoc documentation can be found using TCODE WE60 and can be helpful to obtain information of the IDoc Type or its particular segment. It also provides information such as  mandatory and optional segments, minimum and maximum number of segments, etc.

44.jpg

GENERAL INFORMATION FOR COMMON IDOC MESSAGE TYPES

The following list gives the Basic Type and Message Type combination for common idocs


 

 

ARCHIVING/DELETION OF IDOCS FROM DATABASE

As IDocs grow older they are archived and deleted from the database. Archived IDocs can be viewed using TCODE SARI in Achieve Explorer using archiving object as IDoc. Following are the few programs that are used for archiving and deletion of IDocs from database.

                                                                                           

Scenario of Change in Currency of a Country necessitated by Macro Environment in SAP MM (Euro Crisis)

$
0
0

Introduction

This document details the steps to be followed in case a change of currency is necessitated for a country due to Macro Environment situations. It would require the data in the system to be changed as the data should reflect the new currency of the country.

A brief overview of the Process

First of all, a requirement specification is prepared. This gives information about the scope of work involved and briefs the solutions to the various problems involved. This document is shared with the stakeholders of the project and is a reference document for the entire duration of the project. Should you need any clarifications regarding the scope or the solution proposed then FRS (Functional Requirement Specification) is the document to look into.

Before any currency conversion is carried out in the system, it is important to check the present transactional data for any inconsistency. The term inconsistency refers, basically, to the fact that there could be some orders which may have differences in the order value and the invoice value. These inconsistencies have to be evened out. This is called “Clean up Activity” and is usually the first step (pre step) in the currency conversion process.

The steps to perform Clean up activity are explained later in this document.

There are some checks that are required to be performed as part of preparation for currency conversion. That is to check if there are any forms which have any hard coding of currency. For example, if there is a form that has the currency hard coded then the problem is that even after the currency conversion this form will still print old currency. Hence, we check the forms for hard coding and note down if there is any hard coding and eventually change that too.

The next step is asking SAP to embed this new currency in the package if it is not already present. This is generally done by SAP which also provides some notes about how the changes should be done etc.

This is followed by the Functional support team updating all the relevant master data with the new currency. This could mean updating Vendor Master and Purchase Information Record. The steps to update the currency in these documents are detailed in this document later.

This follows updating the currency in Transactional Data (Purchase Orders, Contracts, & Scheduling Agreements etc.). Now, the point to remember is that master data is editable and the changes can be done readily. However, transactional data is something that has been created and is currently being used by depending programs or data. Hence, editing transactional data is a tedious process and comes with inherent risk of losing critical information.

So, once the transactional data is updated the testing process begins. All the possible scenarios are tested to determine if the currency conversion has been smooth and is running the way it should be.

Generally, there may be 2 to 3 levels of testing. For this, before the conversion and as part of requirement specification; test scripts are prepared and verified. These scripts detail the various scenarios that need to be tested to check for consistency.

 

Stage 1: Clean-Up Activity

For Cleanup Activity, please refer to SAP Note - 159770. It will give details of all the Z tables to be maintained.

The first step in cleanup activity is to check if there are any such orders that have a difference in MM & FI, alternately, orders that have a difference in their order value and the value for which the invoice is raised against this order.

This is checked by running a report called “EWSH”. Then click on Active Package -> Status (double click) -> Analyze (double click).

Now, that analyze tab should be colored Yellow. If it is Yellow then it’s a warning and can be ignored. But, if it is Red it’s an error and hence a SAP notes has to be applied which would render this error to be ignored. Note down all such Order numbers that are shown in red.

Now, go to T Code – SE38 and enter the program name as “ZAUSNEKPO”. Now, enter the following information:

          Package Number

          Company Code

          G/L Account

          Program ID

And then click on Enter Automatically. Then go to SE16 and enter the table name "ZAUSNEKP" and check if these Order entries are there in that or not. If they are there then run the report “EWUMMPOA" and go to t code "EWSH" and check for the results, that is whether the orders that were previously shown in red are now converted to yellow color. This means that we have successfully applied SAP notes to ignore such differences.

Stage 2: Scope determination of the changes involved

In this stage we determine the scope of change involved. This includes activities like determining the number of master data that is to be changed, checking for consistency in the master data (for example, when the currency is changed, it is possible that after applying for the exchange rate the value of the material may overflow the allowed number of digits), number of open orders that would require to be changed, and how the open orders should be treated, that is will they be changed by the business users or there has to be some mass updation that needs to be done.

To check whether there are any forms that may have currency hard coded in them, we go to t code – “NACE” , then select the document for which we have to check the  form and then click on “Output Types”.

You will get the name of the Smart Form. This form can then be checked for any hard coding (by an ABAPer).

  1. List of Vendors to be converted

  For this go to t code – SE16 and then open the table “LFA1”. Here, give input as Country. Execute it. You will get the list of vendors that belong to this country.  

 

  1. List of Purchase Information Records

For this go to t code – SE16 and then open the table “EINE” and give input as Purchase Organization and Plant. You will get the list of Purchase Information Record as the output. Then again through “SE16” go to table “EINA” and give these Purchase information record as input. You will get vendor and material numbers as outputs. Then again through “SE16” go to table “A017” and give vendor, Purchase Organization, and Plant as the input. You will get Condition Record numbers as the output. Then again through “SE16” go to table “KONP” and give these condition record numbers as the input and you will get vendor list as the output. This vendor list is used to update all the Purchase information Records.

This is done as the t code provided by SAP for updating Purchase info Record allows for updating only one vendor and Purchase organization combination at a time. You may have multiple vendors and multiple Purchase organizations. Doing this one at a time could be tedious. Hence, we copy the standard program to create a new Z program.

  1. List of Open Orders

Go to t code “ME2L” and give purchasing organization and plant as input and in the selection parameter field choose the appropriate entry (for example, WE101 for Open Goods Receipt orders etc.) and execute the report. You will get the list of Orders. This can then be downloaded and saved in spreadsheet format.

Stage 3: SAP Currency Conversion on System and updating the Exchange Rate

          Once SAP makes the changes, then you will have to confirm for any errors etc.

Stage 4: Updating the Currency in Master Data

          This process involves updating the currency in Vendor Master and Purchase Information Record

Vendor Master:The list of vendor is extracted from the LFA1 table by giving the country key and Deletion indicator not set. The Order currency for these Vendors will be changed by using the Standard T code MKVZE provided by SAP for the Mass Updation of Order Currency Field in the Vendor Master.

Purchase Information Record: The program that is in SAP for the Mass Updation of Currency in the Condition Records of an Info record has only two fields for selection i.e. Purchase Organization and Vendor. The Conditions for only one Vendor can be updated at a time. In case, if there are many vendors present and the currency is to be updated then a work around is possible. You just have to copy this program (RM06K080) and make a new Z Program. The new Z Program should have the functionality to upload many vendors at a time (as shown in figure – below). Also, this Z Program should have a TVARVC entry. In that TVARVC entry you need to maintain a variable which has all the plants present for that country. This will be useful as it will limit the currency updation to only those vendors who supply to these plants.

Stage 5: Updating the Currency in Transactional Data (Open Documents Handling):

In MM P2P (Procure to Pay), the transactional data could be Purchase Orders, whose currency will have to be converted. This basically means that any active or Open Purchase Order’s currency will have to be changed. So, open Purchase orders could be of following type:

  1. Purchase Order’s for which no delivery has taken place and no invoicing has started (No GR & no IR)
  2. Purchase Order’s for which partial delivery has taken place and partial invoicing has happened (GR for Partial quantity & IR for the GR happened)
  3. Purchase Order’s for which delivery is complete but Invoice is yet to be posted ( GR complete, IR yet to be posted)
  4. Purchase Order’s for which delivery as well as invoice is complete (Order closed)

There are different strategies that need to be followed to convert the currency in the above mentioned orders. We will see about that in the next section.

 

Post Conversion Testing Activities (Conversion from SAP)

Once SAP has converted the currency in the system (this involves converting all the z tables, standard tables with the new currency, material master etc.) we can go ahead with our process. But, there are times when SAP’s log will show some error. This could be because the material master could not be converted with the new currency. This could be because of overflowing fields while conversion.

For example, let’s assume that the old price in the Material master was US $1,00,000.00 and the exchange rate with the new currency (let’s say EUR) is 2000. Then the new price should be old price * exchange rate which in this case results in the value 20,00,00,000.00 EUR. Now, if allowed field length is say only 11 digits which includes 2 digits for decimal places, then in that case after conversion the new value exceeds the allowed field length, and hence the conversion will throw an error. But, the currency alone will change to new currency. However, the price will remain as the same numerical value as the old.

In this case, you will have to first find out all those materials whose price before and after conversion is the same. Then analyze all those materials for their Price Control. If the material’s price control is “V” that is, moving average price control then you can manually change the price in the Material master accounting view. However, if the price control is “S” standard price then the value cannot be changed from MM02 (Material Master Edit). For this, you will have to ask the FICO consultant to run the costing for this material. Then this material will pick the new value from the Info Records.

To run costing for a material, you will have to go to t code -

Clean Up Activity – Detail Process

  1. First we need to run the report EWSH and note down all the transactional data that have some mismatch between FI & MM postings.
  2. Once we have the list of orders that have this mismatch then we try and apply a SAP Note so that these mismatches are avoided. It should only be avoided if these documents are closed.
  3. Once we apply the SAP Note (for this follow the procedure given by SAP – SAP Note 159770) then we needs to run the report again and check if these are ignored. This will complete the cleanup activity before the change and go live. How to run the program is mentioned below:
  4. T code - EWSH
  5. Click on “Activity Changes"
  6. Then open the particular program that concerns this project.
  7. Check for any red items or errors and note down those PO's or documents
  8. Now, click on SE38 and enter the Program name "ZAUSNEKPO". Enter the package number, company code, GL account number, and the program ID and click on enter automatically.
  9. Then go to SE16 and enter the table name "ZAUSNEKP" and check if these PO entries are still there or not.
  10. Also check in the other table that is mentioned in the SAP note. Once these things are there then run the program "EWUMMPOA" and go to t code "EWSH" and check for the results whether the errors in point 1 has changed to warnings.

Converting Currency in Transactional Data

1)      1. Purchase Orders for which no Goods Receipt or Invoice Receipt has been posted: In this case the currency in the Purchase Orders can be changed directly in the Purchase Order header  as shown below

Or BAPI_PO_CHANGE program can be used and run to mass update the currency in all such Purchase Orders (PO’s).

1)      2. Purchase Orders for which a Goods Receipt (complete) has been posted in EUR but the Invoice Receipt is not done. For such Purchase Orders SAP provides the flexibility of changing the currency during Invoice Verification as shown below. The Condition is that the Currency field has to be entered before entering the PO number.

            3.  Purchase Orders for which both Goods Receipt and Invoice Receipt has been done for the full quantity: There is nothing that needs to be done in such cases. However after the currency conversion by SAP the Purchase Order history tab would display the Transaction amounts for GR/IR in the new local Currency (ITL).

            4. Purchase Order’s for which partial Goods Receipt has happened but there are still open quantities to be delivered: For them the business users have to post the Invoices for the quantity for which Goods Receipt has been done. For the remaining open quantities we will run BAPI_PO_CREATE to create a new Purchase Order for the balance quantities.

For such Purchase Order's we will automatically create new PO's for the remaining quantities/value. For the value/quantity for which Goods Receipt has happened, invoice will be posted by the business manually in the old (if before conversion) or new currency (if after conversion).

 

Testing – Scripts Preparation

Testing process involves validation of all the changes made. We will have to create detailed steps that would have to be run to validate the changes that have been made.

Some of the scripts pertaining to currency change in MM could be:

  1. Procure to Pay Purchase Orders
  2. Procure to Pay Stock Transport Orders
  3. Procure to Pay Asset PO’s
  4. Checking the Stock Movements
  5. Scrap Movements

Testing Process

1.                   Procure to Pay Purchase Orders

a.       Create a Purchase Requisition (ME51N)

b.      Create a Purchase Order (ME21N)

c.       Do Goods Receipt (MIGO)

d.      Do Invoice Receipt (MIRO)

Check the currency in the material as well as the accounting document. It should have been changed to the new currency. This is because in the purchase order the currency comes from vendor master record which has already been updated. Material & Vendor combination price will come from Info Record which has also been updated.

2.                   Procure to Pay Stock Transport Orders

a.       We create a stock transport order between two plants (this should be configured for the plants that we are doing) – (ME21N)

b.      We manually enter the stock for this material in the supplying plant using MB1C

c.       We do Outbound Delivery (VL10B)

d.      Post Goods Issue with respect to Outbound Delivery (VL02)

e.      Do Goods Receipt with respect to the Stock Transport Order (MIGO)

f.        Check the stock in the Receiving Plant (MMBE)

3.                   Procure to Pay Asset PO’s

a.       Create an Investment Order (you can ask your FICO consultant to help you with this)

b.      Create Purchase Requisition (ME51N) – Use the Investment Order in this (Account Assignment will be “F”)

c.       Create a Purchase Order (ME21N)

d.      Do Goods Receipt (MIGO)

e.      Do Invoice Receipt (MIRO)

4.                   Checking the Stock Movements

a.       If you have any Z Reports that tracks the movement of stocks from one location to another, then you can run that z report and check if the stock is getting valuated at the company code currency or not (that is, it should be with the new currency)

5.                   Scrap Movements

This is done if there is a batch to be scrapped, so what happens to the currency then? What happens to the valuation?

a.       We determine the batch number for which we can test this

b.      We do transfer posting using movement type 344 – This will block the batch and will not allow any goods to be issued (MIGO)

c.       We do Goods Issue using Movement type 957 – This will scrap the batch, you will have to mention the reason for scrap (MIGO)

d.      Check the stock now – The batch should have been removed and will not be visible (MMBE)

 

Transaction Codes

•          ME2L   : Purchase order by Vendor

•          SE16   : To check the data in Table

•          ME23N : To display Purchase Order

•          ME13   : To display Info Records

•          MMPV  : To open the Posting Dates

•          NACE   : To check the Forms

•          EWSH  : To run the report for Cleanup Activity

•          SE37   : To run the Program/Function Module

•          SE38   : To run the Program

Tables Used

•          EINA: Purchasing Info Record by Vendor, Material, and Access Key etc.

•          EINE: Purchasing Info Record detail by minimum purchase, currency etc.

•          MBEW: Material Valuation

•          MBEWH: Material Valuation

•          LFA1: Vendor Master General Section Data

•          LFB1: Vendor Master Company Code data

•          EKPO: Purchasing Document Item details

•          EKKO: Purchasing Document Header details

•          EKBE: History as per Purchasing Document

Note: This is the entire scenario from SAP MM perspective. A Similar process exists for SAP SD. It would be nice if some FICO consultant throws light on the changes required from FICO perspective. This situation, if it arises, due to exit of some countries from Euro will require an urgent attention. I would be glad if someone throws light on changes required in SD & FICO.

Material Deletion Process Checks in SAP MM/PP/SD

$
0
0

Introduction

This document explains to the procedure to be followed to retire or delete a material or many materials in SAP

Assumptions:

1.    The materials to be deleted have been identified.

2.    The materials are deleted at plant level and not at client level.

3.    The consultant will be able to remove the unwanted material plant combinations after each step.

We have assumed that we have the list of materials and the plants in which these materials are to be deleted. So basically, we have the material plant combination for deletion.

Checks to be performed before Deletion

There are a lot of checks that would need to be performed before the material deletion can be done. These checks are to make sure that there is consistency in the system post the deletion of materials.

Broadly, these checks can be divided in to the following 3 categories:

1.    Open Item Checks

2.    Lead Plant Check

3.    BOM Dependency Check

Open Item Check

A material can be involved with different transactional data which may not be closed yet. In that case, it is not advisable to delete the materials in the system. The transactional data and a few other open item checks are:

  1. Stock Availability Check– We check whether there are any open stocks available for these material plant combinations. We can perform this check by using transaction MB52. There give the list of unique materials and the list of unique plants and enter any other relevant details if you have. From this, we will know which materials have stocks available. These stocks needs to be emptied or closed so that the materials can be deleted.
  2. Open Process Orders – To check whether there are any open process orders we use the transaction COOISPI. Again we will enter the materials and plants as the input. We will execute this transaction. When we get the result, we will look at the status column and see whether the process orders are open or closed. Open orders will have to be manually closed so that we can delete the materials.
  3. Open Purchase Orders – Goods Receipt not yet completed – We can check this by using the tables EKPO & EKKO. First, in EKPO table we will input materials and plants and give the field Deletion Indicator (LOEKZ) not equal to “L”. And, field Deliv. Compl. (ELIKZ) not equal to “X”. We will execute it. This has given us the list of document numbers whose delivery has not completed. We will go to table EKKO and input these document numbers and check whether these documents are Purchase Orders (field Document Category equal to “F”) and document type should be “NB” or “UB”. These are open Purchase Orders whose delivery has not completed. These orders will have to be closed for the material deletion to start.
  4. Open Purchase Orders – Invoice Verification not complete - We can check this by using the tables EKPO & EKKO. First, in EKPO table we will input materials and plants and give the field Deletion Indicator (LOEKZ) not equal to “L”. And, field Final Invoice (EREKZ) not equal to “X”. We will execute it.This has given us the list of document numbers whose invoicing has not happened. We will go to table EKKO and input these document numbers and check whether these documents are Purchase Orders (field Document Category equal to “F”) and document type should be “NB”. These are open Purchase Orders whose Invoicing has not happened. These orders will have to be closed for the material deletion to start.  
  5. Open Sales Orders - We can check this by using the tables VBAP & VBUP. First, in VBAP table we will input unique materials and unique plants. We will execute it. From VBAP we have got the Sales order numbers which we will pass on to VBUP table to check the item level order status. In VBUP, enter Sales order number and give Overall Status as “A” or “B”. These orders are open. We will have to check whether the item belonging to the inputted order is also there in our VBAP table output.
  6. Open Inspection Lot – We can check this by using the standard SAP transaction QA33. Give lot created on date as the dates between which you want to check the open inspection lot. Ideally this date range should include all the open Inspection lots. Also, give maximum number of hits as 1 million. And, input unique materials and unique plants. Click on execute. This will give you the list of Inspection lots that belong to these material plant combinations. From Quality Management Perspective the inspection lots having statuses “LTCA” & “ICCO” are closed. All other statuses are open inspection lots. These will have to be closed before the material deletion process is to begin.

Note – It is assumed that during all the steps the consultant will be able to remove those material plant combinations which are not part of our original deletion list (if multiple plants are present).

Lead Plant Check

Whenever a material is created it is created first for a plant and then extended to all the other plants. Each material has a lead plant. A problem will arise if the material is getting deleted from the lead plant while still remaining active in other plants. Hence, we need to first find the lead plants for all these materials. Use table “MARC”, enter the list of materials and check the field SpecProcType (SOBSK). The SOBSK field value for a material is the lead plant value for that material-plant.

Now, check in the original file whether the material is getting deleted from all the plants that it is present in. If the material is getting deleted from the lead plant while still remaining active in some other plant then this will create an inconsistency in the system.

We need to avoid this situation. The best solution is to keep the material active in the lead plant as long as it is active in some other plant.

BOM Dependency Check

The materials that we are going to delete should not be acting as components in a BOM of any other header material. In layman’s term, are materials being used to produce/manufacture any other materials? Are these materials acting as raw materials for some other materials? Our answer should be “No”.

To check this, we will have to use table “STPO”. Enter the unique materials as input in the field Component (IDNRK), and check the field BOM. If you happen to get any BOM value for these materials then go to table “MAST” and check the details of this BOM.

If our original materials are acting as components for some other BOM then we will have to resolve this before we start the material deletion process.  

Material Deletion – Execution Process

1.    All the open items identified in the previous steps are closed.

2.    All lead plant issues are removed.

3.    All BOM dependencies have been checked and removed.

4.    The list of items to be deleted before deleting the material is –

a.    Existing BOMs to be deleted

b.    Existing Production Versions to be deleted

c.    Material assignments to Recipe Groups to be deleted

d.    Material assignments to Inspection Plans to be deleted

e.    Existing Info Records (Purchase Information Records) to be deleted

f.     Existing Source Lists to be deleted

g.    Changing the fields DF at Plant Level & P-S Material Status in MARC

BOM Deletion

The list of BOMs to be deleted can be obtained from the table “MAST”. We can enter the unique materials and unique plants and select either all the BOMs (all BOM Usages) or only those BOMs which we need to delete. For example, if you don’t want to delete the Sales BOMs (BOM Usage = 5) we can leave it out. To delete the BOM, you will have to delete the data from the tables MAST, STPO, & STKO. This is possible using transaction “CEWB”. Input the working area as SAP_BOM and enter. Then, enter the relevant details. The BOMs get displayed.

Here, set the Deletion Flag (Column DID) as “X” and save it. The BOM is set for deletion.

Production Version Deletion

To delete the Production versions for the material plant combinations we will use the transaction “C223”. Enter one plant at a time and enter all the materials that are to be deleted for these plants. All the available production versions are displayed. Select all and click on the delete button at the bottom of the screen. The Production Versions will get deleted. This can be checked in the table “MKAL”. We can check the table “MKAL” before and after deletion to check whether the Production Versions have been deleted or not.

Recipe and Inspection Plan Deletion

The list of material assignments to recipe groups to be deleted and the material assignments to Inspection plan to be deleted can be found in the table “MAPL”. Enter the list of materials and plants and give deletion indicator not equal to “X” and execute. You will get the recipe group & group counter for the inputted material-plant combinations.

Task List Type Field will differentiate the recip[e and Inspection plan. Task List Type = 2 is for recipe. Task List Type = Q is for Inspection Plan.

To delete the recipe assignments, we use the transaction “C298”. Enter one plant at a time, all the materials that are to be deleted in this plant and give task list type as “2”. Execute. The material assignments to recipe groups gets deleted.

To delete the material assignments to Inspection plan, we use the transaction “CWBQM” and enter the working areas as “Q_TSK_000000000010”.

Enter one plant at a time and all the materials belonging to this plant that are to be deleted. Execute. Then go to the tab “Task Lists” and go to the “Material Task List Assignments”. Here, we will have all the material assignments. Select all and delete.

Info Record Deletion

To get the list of Info Records to be deleted, use the tables EINA & EINE. To delete the Info records for these material-plant combinations we use the transaction “MEMASSIN”. Here, choose table EINE. And Execute. Enter the Info Record number and Plant. Execute.

The list if Info Records will be displayed. On top left corner you will be able to choose the fields that are to be changed. Choose the field “DF at Plant Level” and set it as “X”. Save it.

The info Records are deleted.

Source List Deletion

     To delete the Source Lists we use the transaction “ME07”. We enter the materials and plant (one plant at a time). And execute.The records can be verified in the table “EORD”.

 

Status Change in MARC Table

This is the last step in the deletion process. We will set the Deletion Flag and the field Plant Specific Material Status for the material-plant combinations in MARC table. For this, we use the transaction “MM17”. Choose MARC and execute. Now, enter materials and plant (one plant at a time) and execute. Select fields ‘DF at Plant level’ and ‘Plant-sp matl status’ from the pop-up. Fill the fields ‘DF at Plant level’ and ‘Plant-sp matl status’ and select by clicking at the heading of the column. Press the button (the one with 2 down arrows) to carry out the changes.

Press ‘Save’ button to make changes to the database. Success message gets displayed.

RFQ Rejection Process

$
0
0

This document will take you to the rejection process that takes place, when a RFQ ( Request for Quotation ) is rejected.

How to Assign an UNSPSC Code into Material Master in SAP without using any Enhancement

$
0
0

Sometimes user requirement will be little different than SAP Standard, then we go for some enhancement in SAP Standard Application.

UNSPSC Code is one of them which is not available in MM01/02/03 SAP Screen.

 

  • How to Assign an UNSPSC Code into Material Master in SAP without any enhancement.
    • Create minimum two Characteristics Using CT04 T-codes.
      • Characteristics Name : “UNSPSC_CODE
        • Status 1 (Release )
        • Data type ( CHAR, Character Format)
        • Number of Char is ‘8’ (i.e. UNSPSC Code length )

 

s1.png

Screen Shot # 1

 

 

  • Characteristics Name #2 : “UNSPSC_DESC1
        • Status 1 (Release )
        • Data type ( CHAR, Character Format)
        • Number of Char is ‘30’ (i.e. UNSPSC Code Description )

 

s2.png

Screen Shot # 2

 

 

Note: If UNSPSC Code description is more than 30 characters, then we can create more characteristics, like UNSPSC_DESC2, UNSPSC_DESC3, etc…

 

 

  • Create a Class with Class type ‘001’ (i.e. Material Class) Using CL01 T-code
    • Class Name “UNSPSC”
    • Class type  ‘001’


S3.png

Screen Shot # 3

 

 

  • Create a Material with Classification View using MM01 T-code , where you assign UNSPSC Class and it’s Characteristics (i.e. UNSPSC_CODE , UNSPSC_DESC1 etc…..)

s4.png

Screen Shot # 4

 

 

  • Using CL30N T-code We can generate a Report with Material Number / Material Shot Text / Class (i.e. UNSPSC) / Characteristics (i.e. UNSPSC Code and Description). 

 

s5.png

Screen Shot #5

 

 

Note :About UNSPSC Code ..

 

Thanks and Regard's

Smruti



User exit for Vendor Name Validation in XK01 Transaction.

$
0
0

User exit for Vendor Name Validation in XK01 Transaction.

By Sagar dev


PURPOSE:

In case we vendor creation enter the vendor name in the same vendor name all ready exits should get error/warning message. In XK01 (vendor name already exist with another vendor code).

 

Step by step Solution: 

Go to transaction “CMOD”.


Click On Create Button.

 

01.png

Define Short Text and Package.

 

03.png

 

Enter Name of an SAP enhancement – SAPMF02K.

04.png

Click on Components -

05.png

Double Click On - EXIT_SAPMF02K_001

06.png

 

Double Click On  include zxf05u01.

 

 

We have to implement the code and it will looks like this. 

 

 

*&---------------------------------------------------------------------*
*&  Include           ZXF05U01
*&---------------------------------------------------------------------*

***************************************Data Declaration

data : v_name1 type lfa1-name1.
tables : lfa1, lfb1.

types : begin of ty_lfa1,
name1
type lfa1-name1,
end of ty_lfa1,

begin of ty_lfb1,
lifnr
type lfb1-lifnr,
end of ty_lfb1.

data : it_lfa1 type standard table of ty_lfa1,
wa_lfa1
type ty_lfa1.

data : it_lfb1 type standard table of ty_lfb1,
wa_lfb1
type ty_lfb1.
**********************************************************

if sy-tcode = 'XK01'. “ tcode
if i_lfb1-bukrs = ''.” company code
select lifnr
into table it_lfb1
from lfb1
where bukrs = ''. ” company code

if it_lfb1[] is not initial.
select name1
into table it_lfa1
from lfa1
for all entries in it_lfb1
where lifnr = it_lfb1-lifnr.
endif.

sort it_lfa1[].

if i_lfa1-name1 is not initial.
loop at it_lfa1 into wa_lfa1.
if wa_lfa1-name1 = i_lfa1-name1.
message e899(f2) with wa_lfa1-name1 'Vendor Name Already Exist With Another Vendor Code'.
endif.
clear wa_lfa1.
endloop.
endif.
endif.
endif.

Activate the code and exit.

IDoc Basics For Functional Consultants

$
0
0

ABSTRACT

IDocs are used in most of the SAP applications for transfer of message from SAP  to other systems and vice versa. A lot of documentation is available on web for IDocs but most of them are technical in nature.  This document is written from perspective of a functional consultant and this will help in dealing with support issues related to IDoc. An effort has been made to capture all the necessary information about IDocs that a functional consultant needs to be aware of.


OVERVIEW

IDoc is an SAP object that carries data of a business transaction from one system to another in the form of electronic message. IDoc is an acronym for Intermediate Document. The purpose of an IDoc is to transfer data or information from SAP to other systems and vice versa.  The transfer from SAP to non-SAP system is done via EDI (Electronic Data Interchange) subsystems whereas for transfer between two SAP systems, ALE is used.

 

IDoc can be triggered in SAP system or in EDI subsystem. This depends on the direction in which IDoc is sent and is called as Inbound IDoc and Outbound IDoc accordingly. In case of outbound flow, IDoc is triggered in SAP through document message control which is then sent to EDI subsystem. EDI converts the data from IDoc into XML or equivalent format and then sends the data to partner system through Internet.

For inbound flow, EDI converts partner data and IDoc is created in SAP. After successful processing of this IDoc, Application Document is posted in SAP.

1.png

EDI STANDARDS AND IDOC

“EDI is electronic exchange of business document between the computer systems of business partners, using a standard format over a communication network”. EDI stands for Electronic Data Interchange.

 

For transmission of information electronically, two widely used standards are ANSI ASC X12 and EDIFACT. ANSI ASC X12 is a committee formed by representatives of major organizations, government bodies and EDI software companies which defines standards and guidelines for information interchange over EDI. UN/EDIFACT stands for United Nations EDI for Administration, commerce and Transport and was formed in 1985 using ANSI X12 and UNTDI (United Nations Trade Data interchange) as base standards. ANSI X12 describes business document as transactions and each transaction is represented by three digit number e.g. 850 – Purchase Order, 855 - Purchase Order Acknowledgement. EDIFACT describes business document as messages, represented by standard names e.g. ORDERS for purchase order.

 

IDOC TERMINOLOGIES

IDOC (BASIC) TYPE

IDoc Types are based on the EDI standards and mostly on EDIFACT standards. 

Basic Types (or IDoc Type) defines the structure of an IDoc. Each basic type describes standard IDoc segments, format of data fields and their size. Basic Type also defines number of segments and fields in an IDoc. All the fields that are necessary for transmission of message for a particular business transaction are mapped in different segments. It also defines the structure and relationship of IDoc segments along with mandatory and optional segments.

 

2.png

 

 

IDOC EXTENSION

Basic type contains all the standard fields that are necessary for carrying out a business transaction. However, if any additional values are to be sent to the partner then we can make use of the IDoc Extension feature. IDoc extension is extension of basic type and contains additional custom IDoc segments and fields that are not available in standard basic type.


IDOC SEGMENTS

IDoc segments contain the actual data that is sent to or received from a partner. These segments contain the actual values that are sent as part of IDoc transmission.

3.png

PARENT AND CHILD SEGMENTS

IDoc segment is termed as Parent segment if it contains its own segments. The dependent segments are called as child segments.

4.png


INBOUND/OUTBOUND IDOCS

IDocs sent outside the system are termed as Outbound IDocs and the ones that are received into the system, are called as Inbound IDocs.

 

5.png

IDOC DIRECTION

This signifies the direction is which information is sent and is similar to terminology used in mails. If information is sent outside the system then the direction is outbox when it is received into the system then direction is inbox. In SAP Outbox direction is represent by “1” i.e. outbox and Inbox direction is represented by “2”.

 

 

6.png

PARTNER

Partner is the Business Partner with which the exchange of information is to take place using IDoc. It can be a vendor or customer or any other system. Depending on the direction of information in which the information is sent it plays a role of either a “sending partner” or a “receiving partner”.

 

 

7.png

 

PARTNER TYPE

Partner type/role is used to identify partners within the sap systems. Partner type is KU for customer, LI for vendor and LS for Logical System.

8.png

 

MESSAGE TYPE

IDoc processing involves transmission or receipt of document in the form of a message, each of which represents a document in SAP. These documents can be Order, Shipment Confirmation, Advance Shipping Notification, Goods Receipt, or Invoice.  Message type is associated with Basic IDoc Type (Basic Type) and defines the kind of data or document that is exchanged with the partner.

 

PROCESS CODE

The process code contains the details of the Function Module that are used for IDoc processing. Message Type can be linked to the Process code.


PORT

IDoc Port contains the information about the way data is sent between the source or target system. The type of port defines the information contained within the port. For port type “Internet” Port will contain IP address of the target system. For port type “file”, directory or file name information is maintained. “tRFC” port contains information about the RFC destination of the target system. For IDoc transmission using ALE “tRFC” ports are used.

 

PARTNER PROFILE MAINTENANCE

PARTNER PROFILE (WE20)

Partner profile must be maintained for all the business partners to whom we want to send or receive the IDocs. The TCODE for maintaining the partner profile is WE19.

 

9.png

 

Double clicking on the Partner will show the following screen:

 

20.png

Partner profile contains parameters for Inbound and Outbound processing of IDocs. For each message type we can maintain, inbound/outbound options, message control, post processing options and contact information within Inbound and outbound parameters.

 

OUTBOUND OPTIONS (OUTBOUND PARAMETERS)

This involves sender/receiver port, Output mode and relation to IDoc type i.e. Basic Type and extension.

21.png

 

MESSAGE CONTROL (OUTBOUND PARAMETERS)

This contains application for which IDoc will be created e.g. EF for Purchase order, the message type of the application that will trigger the IDoc and Process Code that will convert SAP document to an IDoc. For example, if PO is to be sent to the Vendor AXXXXZ, then in the outbound option of the partner AXXXXZ we need to maintain the message type ZXX1 and link it to the Process Code ME10. So when message type ZXX1 is triggered in the PO then an IDoc will be created for the partner vendor AXXXXZ.

 

Process Code is linked to the Function Module in SAP that converts application data into an IDoc. Standard function modules are provided by SAP for this conversion however these can also be customized as per business needs.

 

22.png

Change Message Indicator indicates whether the IDoc is sent as a notification of change. For example, Purchase Order change messages are sent to vendor using EDI standard message type 860. 

24.png

Separate message type should be triggered in the purchase order for PO change. Additional line with change message type must be added in the Message control tab with change message indicator on.

 

10.png

 

INBOUND OPTIONS (INBOUND PARAMETERS)

 

For inbound options process code is maintained in the Inbound screen only. IDoc processing can be triggered by background program and triggered immediately.

 

 

11.png

 

POST PROCESSING (INBOUND/OUTBOUND PARAMETERS)

 

In the post processing option we can maintain the workflow details of the users or positions to which an error notification will be sent if an IDoc processing fails.

 

25.png

TELEPHONY (INBOUND/OUTBOUND PARAMETERS)

We can also maintain the contact details in the telephony option.

12.png

 

EDI STANDARD (OUTBOUND PARAMETERS)

EDI standard screen contains the details of the Standard EDI terminology used for the IDoc transmission.

 

26.jpg

For example, Message Type 850 is an EDI standard for Purchase Order IDoc and is linked to IDoc Message Type Orders.


IDOC STRUCTURE AND RECORDS

STRUCTURE

IDoc structure is divided into Control Record, Data Records and Status records.

27.png

 

 

 

These records are stored in the transparent tables in SAP. These are EDIDC, EDID4 and EDIDS.

 

CONTROL RECORD (EDIDC)

It contains information such as IDoc number, direction, IDoc Status, Basic Type, Message Type, Partner (Sender/Receiver), date and time of creation/update, Interchange File or ISA number,etc.

 

28.png

29.png

 

 

 

DATA RECORD (EDID4)

It contains the details of the IDoc segments.

 

30.png

IDoc segment has fields that contain the data necessary for posting the documents.

 

 

31.png

32.png

 

 

 

STATUS RECORDS (EDIDS)

IDoc Status defines the processing status of the IDoc. IDoc statuses are used to track the IDoc and its various processing states. Status Numbers represents IDoc status. Current status of the IDoc is present in Control record.

 

33.png

Initial Status numbers are 64 for inbound and 03 for outbound. Successful status is 53 for inbound and 16 for outbound IDocs.

 

SENDING AND RECEIVING IDOCS

TRIGGERING AN OUTBOUND IDOC

Outbound IDocs can be triggered from the output message types of Purchase Orders, deliveries, Material Documents, invoices, etc. The following figure shows that once the output ZXX1 of PO XXXXXXX1 is processed an IDoc “000000XXXXXXXXX1” is added/created.

 

34.png

The relationship between the IDoc and the application document can be found in two ways:

1. Relationship tab of IDoc

35.png

36.png

 

 

2. Relationship tab of Application Document, e.g. PO, SO, Material Document, etc.

 

37.png

The initial status of this IDoc will be 30, which after successful processing will convert into status 16.

38.png

 

A successful outbound IDoc will pass through all the above statuses in reverse order (01-03-18-06-12-16). Each status represents an IDoc validation step. If an IDoc passes all the validations it would reach status 16. These different validation steps for outbound IDocs are explained below:

 

01: IDoc generation successful

30: IDoc is ready to be processed by IDoc Processing job

03: IDoc data is passed to the Port

18: IDoc successfully triggered EDI subsystem

06: IDoc data translated to EDI format

12: IDoc is dispatched successfully to the partner

16: Partner has received the IDoc successfully

 

IDoc can possibly fail at any of the above steps during validation.

 

RECEIVING AN INBOUND IDOC

The initial status of an inbound IDoc is 64 and successful status is 53.

 

Different validation steps for inbound IDocs are explained below:

50: IDoc received successfully in the system

64: IDoc is ready to be processed by IDoc processing job

53: Application document created and saved successfully. The document number can be found by expanding the status node 53

39.png

40.png

An inbound IDoc goes through all the above statuses in reverse order (50-64-53).

 

IDOC PROCESSING

AUTOMATIC/IMMEDIATE PROCESSING

In this case, IDoc are processed immediately as they generated or added in the system. The check “Transfer IDoc immediately” is selected in Outbound Options and “Trigger Immediately” is selected in Inbound Option. These checks are generally used when the real time information exchange is necessary between two systems.

 

41.png

13.png

 

MANUAL PROCESSING

IDocs can also be manually processed using the TCODE BD87 in SAP.

 

PROCESSING VIA BACKGROUND JOB

IDoc processing by background is the most preferred way of processing the IDocs. Following Programs are used from processing the IDocs using background job:

RBDAPP01 - Inbound IDocs

RSEOUT00 - Outbound IDocs

 

REPROCESSING IDOCS


On the basis of IDoc statuses different programs can be used for reprocessing of failed IDocs. These are given below:


 

TESTING AND EDITING IDOCS

If an IDoc contains error in the data then such IDocs can be edited using TCode WE02 or WE05. When an IDoc is edited the original IDoc information(backup) is saved in a New IDoc under status 70 (for inbound) / 33 (for outbound). These IDoc stays in the system for reference only and cannot be processed. The status of the edited IDoc becomes 69 (inbound) and 32 (outbound). These IDocs can then be processed using BD87 transaction or batch jobs.

 

Debugging of IDocs can be done using by copying the IDocs using TCode WE19. WE19 is a test tool for Idocs processing. WE19 copies the existing idoc and creates a new IDoc which can then be modified as per testing needs. The newly generated IDoc can also be processed using BD87.

 

CONVERTING IDOC STATUS

Report RRC1_IDOC_SET_STATUS can be used to change the status of IDoc. Status changes are generally needed to move an IDoc to status 68 – no further processing

14.png

 

SEARCHING IDOCS IN SAP

TCODE WE02/WE05: GENERAL SEARCH

IDocs can be displayed in system via TCODE WE02 and WE05. If IDoc number is not known then  search can be made on the basis of IDoc Date, Direction, BASIC TYPE, MESSAGE TYPE, and PARTNER NUMBER. Partner number can  be found in the Output Messages of the documents.

 

15.png

42.png

 

IDoc search can also be made on the basis of ISA or Transfer file Reference.

16.png

 

TCODE WE09: SEARCHING DATA IN IDOC SEGMENTS

If we are looking for specific information within the IDocs Segments then this can be found using TCODE WE09. This is useful if you are searching for a particular information in similar kind of IDoc within IDoc segments. For example, if you want to search a particular Purchase Order number e.g. 100000001 in multiple IDocs which lies in Segment E1EDK01 of an IDoc under field BELNR. Then the search can be executed in the following manner.

43.png

 

IDOC VALIDATIONS, COMMON IDOC ERRORS AND SOLUTION

17.png

Though, the IDoc failure may not be related to any of the above mentioned reasons, the best way to find the IDoc error is to compare the existing IDoc with the good example. Good example IDoc can be easily searched with any of the IDoc search methods as described above.


DOCUMENTATION FOR IDOC TYPES

IDoc documentation can be found using TCODE WE60 and can be helpful to obtain information of the IDoc Type or its particular segment. It also provides information such as  mandatory and optional segments, minimum and maximum number of segments, etc.

44.jpg

GENERAL INFORMATION FOR COMMON IDOC MESSAGE TYPES

The following list gives the Basic Type and Message Type combination for common idocs


 

 

ARCHIVING/DELETION OF IDOCS FROM DATABASE

As IDocs grow older they are archived and deleted from the database. Archived IDocs can be viewed using TCODE SARI in Achieve Explorer using archiving object as IDoc. Following are the few programs that are used for archiving and deletion of IDocs from database.

                                                                                           

Integrating MM & SD Modules in Same Client to Create Sales order in Supplying Company Code Using PO raised in Receiving Company Code By I-Doc Message Type ORDERS Part1

$
0
0

Hi Friends in this document I'm going to explain about integrating purchasing and sales process between different company codes maintained in same server & client by using EDI & I-Docs with message type ORDERS. Once the Sales order is created in Supplying company code, confirmation is sent to receiving company code by using message type ORDRSP.

Prerequisites:

  1. Knowledge of MM & SD
  2. Two organization structures: one for purchasing and another for sales

          Purchasing: Company Code:8888, Plant: 8881, Purchase Organization: 8881,

          Sales: Company Code:6666, Delivering Plant: 6661, Sales Area:6666, 66, 66, Shipping Point 6666.

  3. Basic I-Docs knowledge

 

Steps:

  1. Check Logical system assigned to your client in transaction SCC4.


 

1.jpg

 

 

2. Create RFC destination (of type  ABAP Connection)  to the logical system in transaction SM59. Here give the same name as of logical system & fill target host & system number as shown below. In logon & security Tab fill client, username & password. To check the connection click on Remote logon & connection test. If you are able to remotely log in to target client then  proceed to the next step.

 

 

2.jpg

 

 

3. Create a port of type Transactional RFC in transaction WE21. You can give port name manually or else system will assign one based on your selection. select I-Doc version as SAP release 4.X & give RFC destination name which was created in Step No.2 .

 

 

3.jpg

 

 

4. Create Vendor Master in Transaction XK01 with Organizational elements of Purchasing System i.e, Company Code:8888 & P.Org: 8881. In Correspondence Company Code data, maintain  Account with Vendor field  with the customer number that you will create in Step No.7

 

 

15.jpg

 

5. In transaction WE20 create Partner of type LI(Vendor) & give the vendor number created in Step No.4& Save it. Now Click on '+' button in outbound parameters area as shown below.

 

 

4.jpg

 

6. Enter the Partner Role VN and select message type as ORDERS.

 

In Outbound options tab, enter the receiver port which was created in Step No.3. Select the transfer idoc immediately to transfer the Idoc as soon as it was created. Select the Basic type as ORDERS05

 

5.jpg

 

 

In message control Tab Enter the Output Message type of Purchaser order Ex. NEU as shown below and select process code as ME10.

 

6.jpg

 

In EDI Standard Tab maintain as shown below. For more details press F1 in that particular field.

 

 

7.jpg

 

7. Create Customer Master in Transaction XD01 with organizational elements of Sales System i.e., Company Code:6666 Sales Area: 6666, 66, 66. In correspondence company code data, maintain Account at customer field with vendor number created in Step No.4.

 

16.jpg

 

8. In transaction WE20 create Partner of type KU (Customer) & give the Customer number created in Step No.7& Save it. Now Click on '+' button in outbound parameters area as shown below.

 

9,2.jpg

 

Enter the Partner Role SP and select message type as ORDRSP.

 

In Outbound options tab, enter the receiver port which was created in Step No.3. Select the transfer idoc immediately to transfer the Idoc as soon as it was created. Select the Basic type as ORDERS05

 

9,3.jpg

 

In message control Tab Enter the Confirmation Message type of Sales Order Ex. BA00 as shown below and select process code as SD10.

 

9,4.jpg

 

In EDI Standard Tab maintain as shown below' For more details press F1 in that particular field.

 

7.jpg

 

9. In transaction WE20, expand Partner type LS(Logical System) & select the Logical system which was assigned to your client in Step No.1 (This Logical system already exists & don't required to create).

 

8.jpg

 

Now Click on '+' button in inbound parameters area as shown above. Select message type as ORDERS.

 

In Inbound options tab, Select the process code ORDE and select trigger immediately & to process the I-doc immediately.

 

 

9,1.jpg


10. Similarly maintain inbound parameters for message type ORDRSP to the same logical system with process code ORDR (order confirmation)

 

11. Create Condition record in transaction NACR for message type NEU (purchase order Print out EDI) with combination P.Org & EDI Vendor.

10.jpg

 

Enter the P.Org:8881 & Vendor:2096 and press enter. Select Medium 6(EDI), 4(send immediately) & Language EN)English). Then save it.

 

11,1.jpg

 

Note: The partner role selected here is used as partner role in Step No.6.

Note: In message control tab you have to maintain this message(NEU) in step No.6.

 

12. Similarly Create Condition record in transaction NACR for message type BA00(Sales Order Confirmation) with Combination Order Type.

 

11,2.jpg

 

Enter the the sales order document type 'OR' and press enter. Select Medium 6(EDI), 4(send immediately) & Language EN)English). Then save it.

 

11,3.jpg

 

Note: The partner role selected here is used as partner role in Step No.8.

Note: In message control tab you have to maintain this message(NEU) in step No.8.

 

13. Create Material master in Transaction MM01 with organzational elements of purchasing system i.e., Plant:8881. Maintain basic data, purchasing, plant storage data & accounting views. Fill Gross weight & net weight fields in basic data tab. remaining as normal.

 

12.jpg

 

14. Extend the material created in Step No.13 in transaction MM01 with organizational elements of Sales system i.e., Plant:6661, Sales Area:6666, 66, 66. Maintain Sales1&2, sales plant data, storage plant data, accounting views.

 

13.jpg

 

15. Create standard purchasing info record in Transaction ME11, with vendor:2096, Material; 2070, P.org:8881, Plant: 8881.

 

14,2.jpg

 

In General Data maintain Vendor Material Number field with material Number in Sales system (Same number as both systems are using same material number). In Condition tab maintain Gross price. Ex. Rs.300 per TO

 

14,3.jpg

 

16. Create Condition Record for inputTax Condition type MWVS in transaction FV11. Slect key combination Ex.Domestic Taxes. Where i4 is the Input tax code with 10% input tax in Country India

 

20.jpg

 

17. Create Condition record For Gross Price Condition Type 'PR00' in transaction VK11 with required key combination & maintain the Gross Price. Ex.300 Per Tonne

 

17.jpg

 

18.jpg

 

18. Create Condition Record For output tax condition type MWST in transaction VK11 with required key combination. Where S1 is the ouput tax code with 10% output tax in country India.

 

19.jpg

 

19. Maintain the Sales Area for the Customer & vendor combination in Transaction VOE2

 

21.jpg

 

Note: Maintain the vendor number manually(as there is no search help) with prefix zeros if required as SAP will look for the same.

 

20. Convert External Partner Numbers to internal partner numbers. Here we have to convert external ship to party(8881 receiving plant) to internal ship to party 100211. To achieve this make entries as below in Transaction VOE4.

 

22.jpg

 

21. In your sales pricing procedure make sure that condition types EDI1 & EDI2 exists at the end of the schema as shown below. Those two condition types stores unit price and total value of item expected by customer(i.e., Price maintained in PO). These two condition types are for information purpose & can be used for blocking sales order & billing if the price differs from price in sales order. Transaction V.25 is to be used to release from blocking.

PRICING EDI.jpg

 

Testing:

Step1. Make sure the stock exists in delivering plant(6661). Then Create PO in Transaction ME21N in receiving plant 8881

 

23.jpg

 

In PO Item Materials Data tab observe vendor material number field filled or not. if you haven't created info record you can maintain manually.

In Confirmation tab maintain Confirmation Control key as 0001(Confirmations) & mark Acknowledgement required check box.

In messages observe NEU message was triggered with medium 6(EDI). Save the PO & make sure PO message was sent. Use transaction code ME9F if required.

 

Step2: In Transaction WE02 Check the outbound I-doc Status of message type ORDERS.

 

24.jpg

 

 

25.jpg

 

Here Idoc 911045 as shown above. If it is successfully processed it will have status 3.

 

Step3. Then Check Inbound IDoc of Message type ORDERS. Here the IDoc 911046. If it is successfully processed and have status 53 then get the sales order number as shown below. 

 

26.jpg

 

Step4. Open the sales order in Transaction VA03. Obsrve PO Number, order quantity, delivery date & customer material number.

 

27.jpg

 

In item Conditions Tab observe condition types EDI1 &EDI2 are updated with Unit price & total value of material ordered in PO respectively

 

28.jpg

 

In item Order data tab observe below details

 

29.jpg

 

 

Step5. Now Make sure sales order Message type BA00 was sent. in VA03 Goto Extras > Output > Header > Edit.

 

Step6. In Transaction WE02 Check Outbound IDoc status of Message type ORDRSP.

 

25.jpg

 

Here Idoc 911047 as shown above. If it is successfully processed it will have status 3.


Step7: Then Check Inbound IDoc of Message type ORDRSP. Here the IDoc 911048. If it is successfully processed and have status 53 then check information message saying purchasing doc XXX successfully processed as shown below.

 

30.jpg

 

Step8: Now Display the purchase order in ME23N and in item confirmations tab observe the sales order number is updated with confirmed schedule line as shown below.

 

31.jpg

 

 

-End Of Document Part1

 

In Continuation of this document I will explain about 'processing delivery in SD and goods receipt in MM for the above business process using IDocs' in my next document http://scn.sap.com/docs/DOC-45777

 

Thanks For Reading& Please share your reviews & feedback....

 

Regards

Satish


 


Stock in Transit: Rounding Issues & Negative Quantity

$
0
0

Negative Quantitty

 

It is possible to see negative stock in transit when we are running Stock Transfer Order on Cross-Company scenario (between different plants from different

company codes).

 

In Cross-Company Stock Transport Orders there is not "real" stock in transit: we do not have stock in transit updated in any table
(MARC-TRAME is only updated in the case of Intra-Company Stock Transport Orders, it is never used in the Cross-Company scenario).

The stock in transit is "virtual": it is dinamically calculated by the program via the purchase order history, as the difference between the
goods receipt and the goods issue quantity.

 

Since we do not have any real stock in transit, it can indeed be negative, when the goods receipt is posted before than the goods issue.

 

See the note 25220, which explains this issue in more detail.

 

In order to close the Stock Transport Order, of course the goods issue can still be posted. This will make the goods issue quantity
to match the quantity received.

 

Rounding Issues - Pending Stock in Transit

 

It is possible to see pending stock in transit when we are running Stock Transfer Order on Intra-company scenario (between different plants from the same company code). It happens due to rounding issues and this kind of difference is presented in transaction MB5T.

 

The best way to resolve this case is to post a stock adjustment. You should post a stock adjustment via transaction MB11 by using the movement

types '557/558' to clear the stock in transit (MARC-TRAME field). If you cannot allocate this cost to any cost center, please go to OMJJ transaction and set cost center field (KOSTL) as `optional entry` to the affected movement type.

 

See the KBA note 1618453, which explains the possible solutions in more detail.

Account Determination - Common Issue

$
0
0

One common issue, under the Inventory Management perspective, is the message'M8 147 - Account determination for entry & not possible'when trying to post a goods movement.

 

In case, we should consider the following actions:

 

A) Run an account assignment simulation

 

- go to OMWB transaction.
- click on 'cancel' button, if a pop up window is presented you.
- click on 'simulation' button.
- insert the affected plant, material and movement type you are trying to post.
- double click on the option which defines the goods movement you are trying to post.
- click on 'account assignments' button.
Then, you will see the account numbers and the possible account assignment.
Make sure that there is not any missing account number.

 

B) Check all account determination customizing settings

 

Review the following transactions:

In transaction OX14 check if valuation area is the plant.
In transaction OMWM check if valuation grouping code is active.
In transaction OMWD check if valuation area is linked to the chart of account and valuation grouping code.
In transaction OMWN check if material type is linked to account modifiers.
In transaction OMSK check if valuation class is correctly assigned.
In transaction OBYC  check if transaction key is correctly assigned to the account numbers.
Make sure that there is not any missing customizing setting.

 

C) Set a breakpoint in the function module MR_ACCOUNT_ASSIGNMENT and check the missing entry into the table T030 and then compare with
OBYC configuration:

 

SAPLKONT
LKONTU01

MR_ACCOUNT_ASSIGNMENT

    SELECT SINGLE * FROM T030 WHERE KTOPL = KONTENPLAN
                              AND   KTOSL = VORGANGSSCHLUESSEL
                              AND   BWMOD = BEWERTUNG_MODIF
                              AND   KOMOK = KONTO_MODIF
                              AND   BKLAS = BEWERTUNGSKLASSE.
...
KONTENPLAN                                     
VORGANGSSCHLUESSEL                  
BEWERTUNG_MODIF                       

KONTO_MODIF                                 

BEWERTUNGSKLASSE    

...

 

D) If you are using a non-valuated material, please check note 441991:

 

1) As explained in note 441991 the account for the for the receveing plant/material is determined based on the data (e.g. valuation class) of the sending plant/material. The determined account is saved internally (dm07m-konto).

 

2) When the accounting interface tables are setup the program reads the account for the receveing plant/material. In case no entry for the data set charts of accounts, transaction, valuation modif, valuation class and general modification is maintained in the account determination customizing the error message 'M8 147' is issued. At this time, the program does not know whether the G/L account from step 1 or 2 is used. Hence, at least an entry for the above mentioned data set has to be maintained.

 

3) Afterwards the program reads the customizing for the movement type. (Transaction OMJJ Movement Type -> Account Grouping) Based on the indicator 'Check account assignment' (T156X-XPKON) the program uses the G/L account determined in step 1 or 2. In SAP standard the indicator is set to 'X' hence the G/L account from step 1 is used. But the customer has the possibilty to change the program behaviour by setting XPKON to ' '. In this case the G/L account from step 2 is used.

 

So even if you would like the program to use the G/L account determined in step 1 (as explained in note 441991) it is necessary to maintain a
rudimentary data set in order to prevent the error message 'M8 147'. The reason why you should leave the G/L account for debit and credit blank is that other components e.g. purchasing uses the same function module for the account determination. In case, you enter a G/L account for the data set without a valuation class the program will uses this account as default value when you create a purchase order for a material without valuation class.

                         

Please check the following KBA note for further details:

1619320 - Error 'M8 147' is raised when trying to post a goods movement

Vendor Rebate process and settings

$
0
0

Abstract -

 

This document covers -

Overview of SAP Vendor Rebates and Process Flow

Master data, Transaction data and Configuration settings

What are the inputs required to setup vendor rebate functionality

Options we can leverage through SAP Vendor Rebate

 

Details -

 

Vendor rebate overview


1.jpg

Rebate Arrangement is contract that is made between the vendor & the buyer for giving certain   percentage/value of discounts by vendor on purchase over a particular value/quantity of material.

These discounts are stored in the system as “Rebate arrangements”

These Rebates arrangements are having validity and we can extend the validity of such an arrangement to cover a longer time-span or "until further notice". For example, an arrangement created for one calendar year can be automatically replaced by a new, identical one that is valid for the following calendar year.

 

Levels for Vendor Rebates

Purchasing Organization based rebates –

In this case rebate arrangements are created based on purchasing organization/vendor/material/company code combination. But Purchasing organization  should be assigned to company code.

Plant based rebates –

In this case rebate arrangements are created based on purchasing organization/vendor/material/company code combination. In this case it is not required to  have Purchasing organization assigned to company code. We need to use this rebate  type as in EL purchasing organizations are assigned to plant.

 

Conditions and Discounts

Value based conditions (Scales) –

During a certain period if purchase value of certain materials exceeds the defined limit then discounts will come into picture.

Quantity based conditions (Scales) –

During a certain period if purchase quantity of certain material exceeds the defined limit then discount will come into picture.

These discounts are in the form of percentage, quantity or fixed value etc. depending on

Calculation type in condition type and business requirements

Note: Apart from Value and quantity scales there are other options as well e.g. Gross  weight, Net weight, volume, distance etc.

 

Process Flow

2.jpg


Inputs for Vendor Rebate Arrangement


3.jpg

 


Master data change – Vendor Master Update


 

Vendor Master update – Every Vendor rebate relevant vendor needs to be marked with Subsequent settlement indicators
4.jpg

 

Master data New– Rebate Arrangement - Overview(Screen 1) (MEB1)

 

Rebate Arrangement Condition record – Similar to info record we need to maintain Rebate arrangement condition record for vendor and material/material group with purchasing organization combination.
5.jpg

 

Master data New– Rebate Arrangement - Condition record (Screen 2)

Condition record for rebate condition types (A001) –

7.jpg

Transactional data – Business volume comparison (MEU2)

User can compare business data with vendor and make changes in business volume figures before settlement.

8.jpg

Transactional data – Rebate settlement (MEB4)

9.jpg

Vendor rebate options -

Rebate Arrangement at Vendor/Material group level–If a vendor is supplying range of materials belonging to same material group for different plant then only one rebate arrangement needs to maintained for one material group.

Rebate Arrangement at Vendor/multiple materials - If a vendor is supplying range of materials belonging to different material group for different plant then only one rebate condition record needs to maintained for range of materials.

Option of quantity scale vs. value scale – Option to have rebate scales based on quantity procured during specified period.

AP payment procedure to vendor in case of rebates – Payments to the vendors are made by deducting rebate amount from total due.

Message to vendor about settlement 1. Rebate Arrangement creation 2. Rebate settlement run

Rebate partner assignment (Different invoicing party for main vendor)If ordering vendor is different than invoicing party and payments are going to invoicing party. Then rebate amount has to be debited to invoicing party. This scenario we can map in SAP

Required Configuration data


 

If P.Orgs assigned to plant not to company code. Then we can not use standard Rebate agreement type. We need to create custom agreement type.
10.jpg

 

We also need other configuration that is linked to custom rebate agreement type.

1. Assign rebate condition type to rebate agreement type

 

11.jpg

2. Number range assignment to rebate agreement type

12.jpg

 

3. Controls of subsequent settlement for rebate agreement type
13.jpg

 

4. Condition type marked with “Accruals” – This is required to get rebate condition type with value in PO as statistical condition type.
14.jpg

SAP: Batch input: Import and export of session

$
0
0

Let us think of a scenario where we have our session in SM35. And now we need to make changes to a field in the session. We can do this by using Batch input: Import and export of session’s option.

 

  1. Go to SM35. Select your session and press (Shift + F12).
  2. A new screen with the title "Batch Input: Export and Import of Sessions" will be opened.
  3. Select the "Export" and "Folder" radio buttons.

1.jpg

4. In the "Location of the file to be imported or written" section, choose the third radio button "File from presentation server".

 

2.jpg

    This allows you to download session to your local hard drive. Give a suitable path.

    The format should remain "ASC". Execute. Below list in step 5 will pop up.

 

   5. Position your cursor on the line and press F2.

3.jpg

  6. A notepad file will be downloaded which has the required batch session. Check the notepad file in the path you specified.

 

So this way we will be able to download the required session from any system.

Now in the notepad file check the field u want to change and replace the values for that field. And by importing the notepad file again we will be able to create Batch input session with changes reflected for the field. For example: Suppose if the posting date is 30th August and in case if posting date is closed for that period and We now decide to change the posting date to September 30th. We can change in the session(By importing session and making changes in notepad) instead of creating the sessions again.

 

Now to import the session which we downloaded, please follow the below steps:

 

  1. Go to SM35, dont select any session. Press Shift+F11.
  2. We can see the earlier screen. This brings up the same screen as earlier.  Select the import option.

4.jpg

3. Select the “File from presentation server” option and browse for your changed session file, upload it, give a suitable name for BDC session to be created and hit Execute.

4. Select the line and hit (F2).

 

-----------End of the document-----------

Thanks for reading the document. Please provide feedback.

 

Regards,

Revanth



How to activate SLED Functionality

$
0
0

Business Case


The company requires that procured materials are received at warehouse within specified shelf life. The material must have minimum 8 days of shelf life remaining at the time of goods receipt. The material has 20 days shelf life from date of manufacture. SLED requirement need to be confirmed during following cases:

  • Goods receipt against PO (mvt 101)
  • Release GR blocked stock for warehouse (mvt 105)
  • Stock transfer between plants (mvt 301)

 

In the event vendor provided goods do not match minimum shelf life requirement, warehouse would receive the goods as "GR blocked stock" (Mvt 103)

 

Material Master Setting

 

We are making following settings in Plant data view:

  • minimum shelf life remaining : 8
  • Period indicator for shelf life: D (day)
  • Total shelf life: 20

SLED.jpg

T-Code OMJ5

 

We need to activate both plant and movement type for SLED.

 

Plant

 

We have activated following plants for SLED:

  • 0006
  • 0007
  • 0008
  • 1000
  • 1100

 

New1.png

Movement Type

 

We have activated following movement type for SLED:

  • Mvt 101
  • Mvt 105

New.png

new2.png

MIGO

 

Vendor shipped the goods and we would receive the material against Mvt 101 with date of manufacture 08/20/2013 (MM-DD-YYYY)

  • As expected, system generated error since material has insufficient shelf life expiry date
  • Now we would post GR as GR blocked stock (Mvt 103)

 

SLED3.jpg

new3.png

Round off Condition Values - Pricing Configuration

$
0
0

Hi,

 

   This is my first document in SCN. Expecting your feedback.

 

   I would like to share a small configuration regarding the rounding off for the condition types in pricing. For example, suppose you have a condition type, say ZMOP. The client requirement is to round up the condition values for this condition type to two decimal places.

 

   The configuration steps are as follows. (The same is applicable in case of MM pricing procedure as well as tax procedure.)

 

1. Maintain the rounding rule in the condition type (M/06 or OBQ1) as shown. It could be round up or round down.

 

1.png

 

2.  Maintain the calculation type "17" in the pricing procedure.

 

1.png

 

3. Now Maintain the rounding rule for the company code in the transaction OB90.

 

          If its 100, the value will round off to 100 place, means the 2 decimals will be rounded off to upper or lower  value based on the condition rule specified in condition type.

1.png

 

    After these configuration steps, you can test the scenario. The values for the respective condition types will be rounded off accordingly.

 

Example: Condition value before the above settings:

 

1.png

 

Condition Value after the settings made:

12.png

 

 

 

Hope its helpful.

 

Regards,

AKPT

Purchase_Accounting_In_SAP

MM: FREIGHT COST IN PO OUTPUT

$
0
0

This document is a alternative of ABAP solution for PO output.

 

You have entered a freight condition in a purchase order. When you call the print preview, you recognize that this condition is not printed. You want to know why this condition is not printed. For this reason, you must know how to check the condition types and calculation schemas in purchase orders.

 

Check why the freight condition is not included in the output.

Determine the calculation schema for this purchase order and search for the indicator in the schema that controls the output.

 

Firstly , look at to the Create Purchase Order screen and select the Conditions tab page in the Item screen area.

 

Secondly, choose the Analysis pushbutton below the table with the pricing elements. The calculation schema is specified on the top left side. The calculation schema is RM0000.

 

Thirdly , In Customizing for Materials Management under Purchasing → Conditions → Define Price Determination Process → Define Calculation Schema , select schema RM0000 . In the Dialog Structure pane, double-click Control data . Whether a condition type is to be included in the output is controlled by the Print indicator. For condition type FRB1 , the indicator is blank, and is therefore not printed in the output.

 

Example :

 

*ME21N item details, with a freight cost.

1.PNG

 

* SPRO/MM/PURCHASING/CONDITIONS --------- MER5 tcode for calculation schema definition

2.PNG

 

3.PNG

 

     * We can add condition details with item level or header level in PO output.

4.PNG

6.PNG

 

     Regards.

 

     M.Ozgur Unal

Vendor Return through Quality Notification

$
0
0

Introduction

 

This document explains an alternate way of vendor return through Quality Notification. This is in integration between MM, QM and SD modules.

 

Generally, rejection of materials happen at the time of inspection during GR. But there may be certain cases where rejection happens after a long time, may be from shop floor. By the time, vendor invoice verification might have been done already. So, we cannot do a return using 122 movement type. We have to do the return through return PO. Customer may require an automated process to inform the purchase and stores department and do the return of materials. This process explains an automated return process.

 

Configuration steps

 

1. Define Quality notification type and assign number ranges.

 

Path: SPRO --> Quality Management --> Quality Notifications --> Notification Creation --> Notification Type --> Define Notification Types

 

40.jpg

 

2. Create Document type for Return PO and assign number ranges. (Optional)

3. Create Sales area for vendor return.

 

Prerequisites

 

1. Customer master to be created in the sales area for return and assign to Vendor master (In Control data of Vendor master).

2. Material master to be extended in the above sales are.

3. Automatic PO field to be ticked in purchasing view of Material Master.

4. Returns Vendor and Auto PO fields in Vendor Master to be ticked in Purchasing data of vendor master.

5. Shipping condition to be assigned in Vendor master purchasing data.

 

Process Steps:

 

1. Quality dept to Create Quality Notification for the material to be returned in T-Code QM01.

41.jpg

42.jpg

     Enter the quantity and Save the notification.

     Enter the Defect Details in Defect Details tab.

44.jpg

 

2. Purchase Dept to check for any notifications in T-Code QM10, create enrich with purchasing details and create PO and delivery automatically.

43.jpg

     Execute. Select the notification line and click on change notification.

     Enter purchase org, purchase group (and vendor if not entered earlier). Click on Return delivery.

45.jpg

     Enter the PO document type and tax code in the pop up box. Price will be taken from Info record.

     Click on continue. A confirmation pop up will appear. On clicking on Yes, Return PO and delivery will be created.

 

3. Stores dept to check for any pending PGI in T-code QM10 (for which delivery is created through above step).

     Execute QM10 as above and select the notification pending for PGI. Click on edit notification.

46.jpg

     Click on Change outbound delivery. System will take you to VL02N screen. Enter the Picking quantity and do PGI.

 

4. Create Excise invoice in J1IS for the material document as usual if the customer is in India.

5. Post Credit Memo in MIRO as usual.

 

Through this, we can partially automate the process of vendor return. Also, the quality notification serves as a proof for return and it can provide you the track of the defect details.

 

Regards,

Sudeep.

Viewing all 264 articles
Browse latest View live




Latest Images