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

about Session method(BDC)

Former Member
0 Kudos

hiii all,

plz tell me hw to handle

!) multiple applications in SESSION method & in which cases we required it. (plz gv me step-by-step procedure to achieve it)?

2) And what is the structure of FIELD_CATALOG_MERGE?

3) can anyone tell me abt SD & MM business process flow.?

thank u in advance.

good answers will be rewarded with points

sweta

3 REPLIES 3

Former Member
0 Kudos

hi sweta,

Please go thru this threads..

1) BDC

2) Field Catalog Merge

3) SD and MM flow

Hope this helps !

Cheers

Alfred

Former Member
0 Kudos

<b>SD</b>

Sales Documents

You create a sales document to enter information about different sales transactions. R/3 provides a number

of predefined sales document types. However , these can be customized to suit your company's needs when

R/3 is installed.

Some examples of sales documents include:

• sales queries

• sales orders

• outline agreements

• complaints

You use sales queries to enter information about potential sales into R/3.Types of sales query documents

include:

• inquiries

• quotations

• free-of-charge deliveries

An inquiry is used to record any general queries a customer may have about goods or services they

are thinking of buying from your company. An inquiry is one of the first possible documents you can

create in the customer order management cycle. An example of the type of information contained in an

inquiry is whether your company stocks a certain product line. Along with entering general customer

queries, you can use inquiries to record the goods or services that a customer is interested in. And you

can enter descriptions of goods or services that your company should research in order to answer customer

queries. You can carry out automatic pricing for any goods or services you enter in an inquiry. This will

enter the price of goods or services into the inquiry for you. You can also check whether any goods you

entered in the inquiry are available in your company's warehouse. The order probability function enables

you to determine the likelihood that a customer will buy from you. To increase the probability of a sale,

you can offer the customer alternative goods and services.

Quotations are sales query documents that you create when a customer requests specific information

about a product. For example, you can use a quotation if a customer makes a query regarding how much

goods or services cost or you can use a query if a customer asks when goods will be available for shipping.

You can create quotations from scratch or you can create them by copying inquiries. If a customer is

interested in the products or services after they have made an inquiry, you can provide a quotation based

on the original inquiry. R/3 allows you to copy the information directly from an inquiry to a quotation.

Let's say an inquiry was created when a customer inquired whether your company, could manufacture

twenty motorcycles. Assume a quotation was created by copying this inquiry when the customer called

back to inquire how much twenty motorcycles would cost. You can use quotations to enter information and

descriptions for goods and services that are to be researched. You can also use them to carry out automatic

pricing and to check goods availability. You can use quotations to calculate the probability that a customer

will buy the goods or services entered on a quotation. This function is called order probability.You can

also use quotations to enter details about alternative goods or services. These are goods or services that a

customer did not inquire about but that you think they will consider purchasing. Once you have created a

quotation for a query in R/3, you send the quotation to the customer who made the query. The quotation

represents a binding offer made to the customer that includes quantity and cost details.

You create a free of charge delivery when you send free samples of any goods that your company

produces to customers. These contain information about the goods that are delivered but they don't

include the corresponding pricing information for them.

Let's look at the sales orders that exist in R/3.You create a sales order when a customer has ordered

goods or services from your company. They are a part of the customer order management cycle.

You can carry out automatic pricing in sales orders to enter the price of goods or services.

R/3 will also run a credit check on the customer to see if they will be exceeding their credit limit.

You can also check whether ordered goods will be available in your company's warehouse for delivery.

Examples of types of sales order include

• standard orders

• consignment orders

• cash orders

• rush orders

You create standard orders for goods and services that will be delivered or rendered according to

the standard R/3 sales cycle. This means that goods are ordered, picked from the warehouse, and

then shipped before customers are billed for them. Likewise, services are rendered before customers

are billed for them.

Your company may store its goods in its customers' warehouses. You create a

consignment order when a customer is ready to retrieve stock from the warehouse.

SAP can propose the most suitable stock to retrieve, including third-party stock.

A consigment order is like a standard sales order for goods but it doesn't have any delivery

information.

You create cash orders and rush orders for the sale of goods only.

You create a cash order when a customer picks up and pays for a delivery as soon

as it is ordered. And you create a rush order when the customer picks up the goods on the

same day as the order is placed. In this case, the invoice is created later.

You can arrange to deliver goods or render services in installments. To do this, you create an

outline agreement. Examples of some types of outline agreement include :

• quantity and value contracts

• master contracts

• scheduling agreements

• service contracts

You create a quantity contract if a customer has agreed to order a certain quantity

of goods from your company during a specified period.

And you create a value contract if a customer has agreed to order goods of a certain

cumulative value from your company during a specified period.

Quantity and value contracts do not include delivery dates, so releases are made

using a sales order.

You can unite multiple contracts in a single master contract.

Let's say you create a quantity contract because a customer has agreed to order

500 engines in the first six months of the current year. If the customer orders 100 of these

engines in January, you create a sales order called a release order.You refer to a quantity

contract in a release order. So you refer to the quantity contract created for the 500 engines in

each release order created for these engines. R/3 will then update the quantity contract

automatically so it contains the correct number of remaining engines to be ordered.

Scheduling agreements specify the installments in which goods will be delivered

to a customer. They include the quantity of a product that will be delivered in each

installment. And they include the delivery date of each installment. You process a delivery

for each installment contained in the scheduling agreement in the same way that you process

a delivery for a regular sales order.No sales documents, such as release orders, are created before

the products included on a scheduling agreement are processed for delivery.

You create a service contract if a customer requests a service over a particular

period of time.For example, you could create a service contract if a customer ordered five

one-hour maintenance checks from your company's motorcycle repair department.

You create complaint sales documents if there has been a fault with any goods that

have been delivered, or with any services rendered, by your company.

For example, you create complaint sales documents if customers have been billed

incorrectly for an item or service, or if goods are faulty.

Different types of complaint sales document include

• returns

• credit memo requests

• debit memo requests

You create a returns document if a customer returns goods they have purchased from

you because they are not satisfied with them. You can create returns from scratch or you can

create them by copying the sales order that was originally created for the returned delivery.

A returns document records that you expect stock to be returned to your warehouse.

You can create one or more credit memo requests if a customer has been overcharged

for a quantity of goods or services. You can also create a credit memo request if goods were

damaged during transit and you want to credit the customer for the goods damaged.

When you create a credit memo request, your Accounting department reviews it to

confirm that it can be justified. If the credit memo request is approved, the Accounting department

creates a credit memo based on the request. You can create credit memo requests by copying other

sales documents such as the sales order where the overcharge occurred.

You create debit memo requests when customers have been undercharged for products

or services.Your company’s Accounting department can then create an invoice to bill the

undercharged customer.

<b>MM</b>

PR >Release the PR>RFQ>Quotation>Quotation Comparison>PO>Release the PO>GR>Invoice Verification

MM Process flow:

Process Flow

The typical procurement cycle for a service or material consists of the following phases:

1. Determination of Requirements

Materials requirements are identified either in the user departments or via materials planning and control. (This can cover both MRP proper and the demand-based approach to inventory control. The regular checking of stock levels of materials defined by master records, use of the order-point method, and forecasting on the basis of past usage are important aspects of the latter.) You can enter purchase requisitions yourself, or they can be generated automatically by the materials planning and control system.

2. Source Determination

The Purchasing component helps you identify potential sources of supply based on past orders and existing longer-term purchase agreements. This speeds the process of creating requests for quotation (RFQs), which can be sent to vendors electronically via SAP EDI, if desired.

3. Vendor Selection and Comparison of Quotations

The system is capable of simulating pricing scenarios, allowing you to compare a number of different quotations. Rejection letters can be sent automatically.

4. Purchase Order Processing

The Purchasing system adopts information from the requisition and the quotation to help you create a purchase order. As with purchase requisitions, you can generate Pos yourself or have the system generate them automatically. Vendor scheduling agreements and contracts (in the SAP System, types of longer-term purchase agreement) are also supported.

5. Purchase Order Follow-Up

The system checks the reminder periods you have specified and - if necessary - automatically prints reminders or expediters at the predefined intervals. It also provides you with an up-to-date status of all purchase requisitions, quotations, and purchase orders.

6. Goods Receiving and Inventory Management

Goods Receiving personnel can confirm the receipt of goods simply by entering the Po number. By specifying permissible tolerances, buyers can limit over- and under deliveries of ordered goods.

7. Invoice Verification

The system supports the checking and matching of invoices. The accounts payable clerk is notified of quantity and price variances because the system has access to PO and goods receipt data. This speeds the process of auditing and clearing invoices for payment.

Pur info record is nothing but a master data like thing which will be maintained for different materials to determine the prices etc.It Specifies the number that uniquely identifies a record.

For Example: an info record is based on Plant Vendor and Material

Based on these three the Material Prices will be calculated

for different combinations different values are taken into consideration.

During pricing it brings these values automatically based on this info record.

Use ME11 Tcode to create this record.

Common Tables used by SAP MM

Below are few important Common Tables used in Materials Management Modules:

EINA Purchasing Info Record- General Data

EINE Purchasing Info Record- Purchasing Organization Data

MAKT Material Descriptions

MARA General Material Data

MARC Plant Data for Material

MARD Storage Location Data for Material

MAST Material to BOM Link

MBEW Material Valuation

MKPF Header- Material Document

MSEG Document Segment- Material

MVER Material Consumption

MVKE Sales Data for materials

RKPF Document Header- Reservation

T023 Mat. groups

T024 Purchasing Groups

T156 Movement Type

T157H Help Texts for Movement Types

MOFF Lists what views have not been created

A501 Plant/Material

EBAN Purchase Requisition

EBKN Purchase Requisition Account Assignment

EKAB Release Documentation

EKBE History per Purchasing Document

EKET Scheduling Agreement Schedule Lines

EKKN Account Assignment in Purchasing Document

EKKO Purchasing Document Header

EKPO Purchasing Document Item

IKPF Header- Physical Inventory Document

ISEG Physical Inventory Document Items

LFA1 Vendor Master (General section)

LFB1 Vendor Master (Company Code)

NRIV Number range intervals

RESB Reservation/dependent requirements

T161T Texts for Purchasing Document Types

Tcodes:

RFQ to Vendor - ME41

Raising Quotation - ME47

Comparison of Price - ME49

Creation of PO - ME21N

Goods Receipt - MIGO

Invoice (Bill PAssing) - MIRO

Goods Issue - MB1A

Physical Inventory - MI01( Create doc)

MI04 (Enter Count)

MI07 (Post)

<b>call session method in BDC</b>

In this method you transfer data from internal table to database table through sessions.

In this method, an ABAP/4 program reads the external data that is to be entered in the SAP System and stores the data in session. A session stores the actions that are required to enter your data using normal SAP transaction i.e., Data is transferred to session which in turn transfers data to database table.

Session is intermediate step between internal table and database table. Data along with its action is stored in session i.e., data for screen fields, to which screen it is passed, the program name behind it, and how the next screen is processed.

When the program has finished generating the session, you can run the session to execute the SAP transactions in it. You can either explicitly start and monitor a session or have the session run in the background processing system.

Unless session is processed, the data is not transferred to database table.

BDC_OPEN_GROUP

You create the session through program by BDC_OPEN_GROUP function.

Parameters to this function are:

• User Name: User name

• Group: Name of the session

• Lock Date: The date on which you want to process the session.

• Keep: This parameter is passed as ‘X’ when you want to retain session after

processing it or ‘ ‘ to delete it after processing.

BDC_INSERT

This function creates the session & data is transferred to Session.

Parameters to this function are:

• Tcode: Transaction Name

• Dynprotab: BDC Data

BDC_CLOSE_GROUP

This function closes the BDC Group. No Parameters.

Some additional information for session processing

When the session is generated using the KEEP option within the BDC_OPEN_GROUP, the system always keeps the sessions in the queue, whether it has been processed successfully or not.

However, if the session is processed, you have to delete it manually. When session processing is completed successfully while KEEP option was not set, it will be removed automatically from the session queue. Log is not removed for that session.

If the batch-input session is terminated with errors, then it appears in the list of INCORRECT session and it can be processed again. To correct incorrect session, you can analyze the session. The Analysis function allows to determine which screen and value has produced the error. If you find small errors in data, you can correct them interactively, otherwise you need to modify batch input program, which has generated the session or many times even the data file.

sample program

REPORT ZSAG_BS .

********TABLES

TABLES : MARA,MAKT .

*******INTERNAL TABLE

DATA : BEGIN OF ITAB OCCURS 0 ,

MATNR LIKE MARA-MATNR,

MBRSH LIKE MARA-MBRSH,

MTART LIKE MARA-MTART ,

MAKTX LIKE MAKT-MAKTX,

MEINS LIKE MARA-MEINS ,

END OF ITAB.

DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE .

********WS_UPLOAD

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

FILENAME = 'C:\DAT1.TXT'

FILETYPE = 'DAT'

TABLES

DATA_TAB = ITAB .

****************BDC_OPEN_GROUP

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

GROUP = 'CHANDU'

KEEP = 'X'

USER = SY-UNAME

PROG = SY-CPROG .

LOOP AT ITAB .

REFRESH BDCTAB .

*********FIRST SCREEN

BDCTAB-PROGRAM = 'SAPLMGMM'.

BDCTAB-DYNPRO = '0060'.

BDCTAB-DYNBEGIN = 'X' .

APPEND BDCTAB .

CLEAR BDCTAB.

BDCTAB-FNAM = 'RMMG1-MATNR' .

BDCTAB-FVAL = ITAB-MATNR .

APPEND BDCTAB .

CLEAR BDCTAB.

BDCTAB-FNAM = 'RMMG1-MBRSH' .

BDCTAB-FVAL = ITAB-MBRSH .

APPEND BDCTAB .

CLEAR BDCTAB.

BDCTAB-FNAM = 'RMMG1-MTART' .

BDCTAB-FVAL = ITAB-MTART .

APPEND BDCTAB .

CLEAR BDCTAB.

BDCTAB-FNAM = 'BDC_OKCODE'.

BDCTAB-FVAL = '=AUSW' .

APPEND BDCTAB .

CLEAR BDCTAB.

********SECOND SCREEN

BDCTAB-PROGRAM = 'SAPLMGMM'.

BDCTAB-DYNPRO = '0070'.

BDCTAB-DYNBEGIN = 'X' .

APPEND BDCTAB .

CLEAR BDCTAB.

BDCTAB-FNAM = 'MSICHTAUSW-KZSEL(01)' .

BDCTAB-FVAL = 'X' .

APPEND BDCTAB .

CLEAR BDCTAB.

BDCTAB-FNAM = 'BDC_OKCODE'.

BDCTAB-FVAL = '=ENTR' .

APPEND BDCTAB .

CLEAR BDCTAB.

***************THIRD SCREEN

BDCTAB-PROGRAM = 'SAPLMGMM'.

BDCTAB-DYNPRO = '4004'.

BDCTAB-DYNBEGIN = 'X' .

APPEND BDCTAB .

CLEAR BDCTAB.

BDCTAB-FNAM = 'MAKT-MAKTX' .

BDCTAB-FVAL = ITAB-MAKTX.

APPEND BDCTAB .

CLEAR BDCTAB.

BDCTAB-FNAM = 'MARA-MEINS'.

BDCTAB-FVAL = ITAB-MEINS .

APPEND BDCTAB .

CLEAR BDCTAB.

BDCTAB-FNAM = 'BDC_OKCODE'.

BDCTAB-FVAL = '=BU' .

APPEND BDCTAB .

CLEAR BDCTAB.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'MM01'

TABLES

DYNPROTAB = BDCTAB .

ENDLOOP .

CALL FUNCTION 'BDC_CLOSE_GROUP' .

<b>

Session method is mainly used in cases when the amount of data is very large and the data needs to be loaded frequently (transaction data).</b>

<b>REUSE_ALV_FIELDCATALOG_MERGE</b> is a function module that can be used to help you fill in the values in the field catalog internal table. You can call this function and give it the name of a dictionary structure or a structure defined in your program code and it will add the details for each field in the structure to the field catalog internal table.

regards,

srinivas

0 Kudos

hii srinivas

i thank u for these good answers,but can u make me clear abt :

hw to maintain multiple applications in SESSION method & in which cases we required it.like(Xk01& ME21N) i have to maintain both at -a-time how?

good answers will rewarded

warm regards,

sweta