Procedure (step-by-step) to change a transformation function
Hi,
Has someone wrote some procedures to describe how to change a transformation function when the system is running? For example: what are the steps to do when i want to add a column in the supplemental log for a table and use it in a transformation function? I must change the transformation function only when all the LCRs that don't have the new column as been processed. What are the exact steps to do this without headaches.
Thanks.
Re: Creating FM
Posted: Jun 6, 2007 12:50 PM in response to: vind v Reply E-mail this post
hi,
We can create FM in Function-builder for that one we work with SE37.
for declaring fields choose option IMPORT of function builder, under that define
field vbeln type <refarence table-field > and provide value for it type , check the mandatory option.
posnr type < refarence table-field>and check the optional option.
file path type c . here u choose the proper dictionary datatype.
next Select the option EXPORTING.
file type ( specifies the same type as mentioned above)
First u need to create a function group
use SE37 goto--> function groups --> create group
Use this FG to create a FM
Import parameters
VBELN type VBELN Optional = " "
FILE TYPE LOCALFILE Optional = " "
POSNR TYPE POSNR Optional = "X"
There will be no export parameter .
within the FM use WS_DOWNLOAD , GUI_DOWNLOAD to crete the file on the path specified.
write the code
activate the top include & the FM together
go through this link,which ll give you detail about creating a function module
http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm
<b>Reward points if useful</b>
Regards
Ashu
Similar Messages
-
Step-by step procedure for INBOUND IDOC (VENDOR CREATE / CHANGE)
Hi ,
Can any body provide me the step-by-step procedure for Inbound IDOCS.
As i'm new to this i need the the clarification between Inbound & outbound idocs.
How can we differentiate both?
where to define outbound & where to define Inbound?
( If possible Please explain me the procedure for Vendor Create through INBOUND IDOCS )
Thanks in advance..Hi,
Ale Technology is SAPu2019s technology to support distributed yet integrated processes across several SAP systems.
Outbound Process:
ALE Outbound Process in SAP sends data to one or more SAP Systems. It involves four steps.
1. Identify the need of IDoc: This step starts upon creating a application document, can relate to a change to a master data object.
2. Generate the Master IDoc: The document or master data to be sent is read from the database and formatted into an IDoc format. This IDoc is called as a Master IDoc.
3. Generate the Communication IDoc: The ALE Service layer generates a separate IDoc from the Master IDoc for each recipient who is interested in the data. Separate IDocs are generated because each recipient might demand a different version or a subset of the Master IDoc. These recipient-specific IDocs are called Communication IDocs and are stored in the database.
4. Deliver the Communication IDoc: The IDoc is delivered to the recipients using an asynchronous communication method. This allows the sending system to continue its processing without having to wait for the destination system to receiver or process the IDoc.
Inbound Process:
The inbound process receives an IDoc and creates a document in the system.
1. Store the IDoc in the database: The IDoc is received from the sending system and stored in the database. Then the IDoc goes through a basic integrity check and syntax check.
2. Invoke the Posting Module: The control information in the IDoc and configuration tables are read to determine the posting program. The IDoc is then transferred to its posting program.
3. Create the Document: The posting program reads the IDoc data and then creates a document in the system. The results are logged in the IDoc.
Over view of IDocs:
IDoc is a container that is used to exchange data between any two processes. The document represented in an IDoc is independent of the complex structure SAP uses to store application data. This type of flexibility enables SAP to rearrange its internal structure without affecting the existing interface.
IDoc interface represents an IDoc Type or IDoc data. IDoc Type represents IDocu2019s definition and IDoc Data is an instance of the IDoc Type.
IDoc Types:
IDoc type structure can consist of several segments, and each segment can consist of several data fields. The IDoc structure defines the syntax of the data by specifying a list of permitted segments and arrangement of the segments. Segments define a set of fields and their format.
An IDoc is an instance of an IDoc Type and consists of three types of records.
i. One Control record: each IDoc has only one control record. The control record contains all the control information about an IDoc, including the IDoc number, the sender and recipient information, and information such as the message type it represents and IDoc type. The control record structure is same for all IDocs.
ii. One or Many Data records: An IDoc can have multiple data records, as defined by the IDoc structure. Segments translate into data records, which store application data, such as purchase order header information and purchase order detail lines.
iii. One or Many Status records: An IDoc can have multiple status records. Status record helps to determine whether an IDoc has any error.
Message in IDoc Type:
A Message represents a specific type of document transmitted between two partners.
Outbound Process in IDocs:
Outbound process used the following components to generate an IDoc. A customer model, and IDoc structure, selection programs, filter objects, conversion rules, a port definition, an RFC destination, a partner profile, service programs, and configuration tables.
The Customer Model:
A customer model is used to model a distribution scenario. In a customer model, you identify the systems involved in a distribution scenario and the message exchanged between the systems.
Message control:
Message control is a cross application technology used in pricing, account determination, material determination, and output determination. The output determination technique of Message control triggers the ALE for a business document. Message control separates the logic of generating IDocs from the application logic.
Change Pointers:
The change pointers technique is based on the change document technique, which tracks changes made to key documents in SAP, such as the material master, customer master and sales order.
Changes made to a document are recorded in the change document header table CDHDR, and additional change pointers are written in the BDCP table for the changes relevant to ALE.
IDoc Structure:
A message is defined for data that is exchanged between two systems. The message type is based on one or more IDoc structures.
Selection Program:
Is typically implemented as function modules, are designed to extract application data and create a master IDoc. A selection program exists for each message type. A selection programu2019s design depends on the triggering mechanism used in the process.
Filter Objects;
Filter Objects remove unwanted data for each recipient of the data basing on the recipients requirement.
Port Definition:
A port is used in an outbound process to define the medium in which documents are transferred to the destination system. ALE used a Transactional RFC port, which transfers data in memory buffers.
RFC Destination:
The RFC destination is a logical name used to define the characteristics of a communication link to a remote system on which a function needs to be executed.
Partner Profile:
A partner profile specifies the components used in an outbound process(logical name of the remote SAP system, IDoc Type, message type, TRFC port), an IDocu2019s packet size, the mode in which the process sends an IDoc (batch versus immediate), and the person to be notified in case of error.
Service Programs and Configuration Tables:
The outbound process, being asynchronous, is essentially a sequence of several processes that work together. SAP provides service programs and configuration tables to link these programs and provide customizing options for an outbound process.
Process flow for Distributing Transactional Data:
Transactional data is distributed using two techniques: with Message control and without message control.
Process flow for Distributing Master Data:
Master data between SAP systems is distributed using two techniques: Stand alone Programs and Change Pointers.
Triggering the Outbound Process via Stand-Alone Programs:
Stand-Alone programs are started explicitly by a user to transmit data from one SAP system to another. Standard Programs for several master data objects exist in SAP. Ex. The material master data can be transferred using the RBDSEMAT program or transaction BD10.
The stand-alone programs provide a selection screen to specify the objects to be transferred and the receiving system. After the stand-alone program is executed, it calls the IDoc selection program with the specified parameters.
Triggering the Outbound Process via Change Pointers:
The change pointer technique is used to initiate the outbound process automatically when master data is created or changed.
A standard program, RBDMIDOC, is scheduled to run on a periodic basis to evaluate the change pointers for a message type and start the ALE process for distributing the master data to the appropriate destination. The RBDMIDOC program reads the table TBDME to determine the IDoc selection program for a message type.
Processing in the Application Layer:
The customer distribution model is consulted to make sure that a receiver has been defined for the message to be transmitted. If not, processing ends. If at least one receiver exists, the IDoc selection program reads the master data object from the database and creates a master IDoc from it. The master IDoc is stored in memory. The program then calls the ALE service layer by using the function module MASTER_IDOC_DISTRIBUTE, passing the master IDoc and the receiver information.
Processing in the ALE Interface Layer:
Processing in the ALE Layer consists of the following steps:
u2022 Receiver Determination: The determination of the receiver is done through Customer Distribution Model.
u2022 IDoc Filtering: if an IDoc filter is specified in the distribution model for a receiver, values in the filter are compared against the values in the IDoc data records. If a data record does not meet the filter criteria, it is dropped.
u2022 Segment Filtering: For each sender and receiver combination, a set of segments that are not required can be filtered out.
u2022 Field conversion: Field values in data records are converted by using the conversion rules specified for the segment.
u2022 Version change for segments: Segments are version-controlled. A new version of a segment always contains fields from the preceding version and fields added for the new version. Release in IDoc type field of the partner profile to determine the version of the segment to be generated.
u2022 Version change for IDocs: IDocs are also version controlled. The version is determined from the Basic Type field of the partner profile.
u2022 Communication IDocs generated: The final IDoc generated for a receiver after all the conversions and filtering operations is the communication IDoc. One master IDoc can have multiple communication IDocs depending on the number of receivers identified and the filter operations performed. IDoc gets the status record with a status code of 01 (IDoc Created).
u2022 Syntax check performed: IDoc goes through a syntax check and data integrity validation. If errors found the IDoc get the status of 26 (error during syntax check of IDoc u2013 Outbound). If no errors found the IDoc gets the status 30 (IDoc ready for dispatch u2013 ALE Service).
u2022 IDoc dispatched to the communication Layer: In the ALE process, IDocs are dispatched using the asynchronous RFC method, which means that the sending system does not await for data to be received or processed on the destination system. After IDocs have been transferred to the communication layer, they get a status code 01 (Data Passed to Port OK).
Processing in the Communication Layer:
To dispatch an IDoc to a destination system, the system reads the port definition specified in the partner profile to determine the destination system, which is then used to read the RFC destination. The RFC destination contains communication settings to log o to the remote SAP system. The sending system calls the INBOUND_IDOC_PROCESS function module asynchronously on the destination system and passes the IDoc data via the memory buffers.
Inbound Process in IDocs:
An inbound process used IDoc structure, posting programs, filter objects, conversion rules, a partner profile, service programs, and configuration tables to post an application document from an IDoc.
Posting Program:
Posting programs, which are implemented as function modules, read data from an IDoc and create an application document from it. A posting program exists for each message. Each posting program is assigned a process code. A process code can point to a function module or a work flow. In the standard program process codes always point to a function module.
Ex. The posting program for message type MATMAS is IDOC_INPUT_MATMAS which has a process code MATM.
Workflow:
A workflow represents a sequence of customized steps to be carried out for a process. The workflow management system is used to model the sequence, identify information required to carry out the steps and identify the person responsible for the dialog steps.
Partner Profile;
A partner profile specifies the components used in an inbound process (partner number, message type, and process code), the mode in which IDocs are processed (batch versus immediate), and the person to be notified in case of errors.
Process flow for the Inbound process via a Function Module:
In this process, IDocs are received from another system and passed to the posting function module directly.
1. Processing in the communication Layer:
The IDOC_INBOUND_ASYCHRONOUS program, triggered as a result of an RFC from the sending system, acts as the entry point for all inbound ALE processes. The IDoc to be processed is passed as an input parameter. Control is transferred to the ALE/EDI layer.
2. Processing in the ALE/EDI Interface Layer:
u2022 Basic integrity check: A basic integrity check is performed on the control record.
u2022 Segment Filtering and conversion: Filtering out unwanted segments and carry out any required conversion of field values.
u2022 Creation of Application IDoc: The application IDoc is created and stored in the database and a syntax check is performed. If there are errors it gets status code of 60 (Error during Syntax check of IDoc u2013 Inbound). At this point a tangible IDoc, which can be monitored via one of the monitoring transactions, is created and the IDoc gets status code 50 (IDoc Added).
u2022 IDoc Marked ready for Dispatch: IDoc gets the status code 64 (IDoc ready to be passed to application).
u2022 IDoc is passed to the posting program: The partner profile table is read. If the value of the Processing field is set to Process Immediately, the IDoc is passed to the posting program immediately using the program RBDAPP01.
3. Processing in the Posting Module:
The process code in the partner profile points to a posting module for the specific message in the IDoc. The posting program implemented as a function module either calls a standard SAP transaction by using the Call Transaction command for posting the document or invokes a direct input function module.
The results of execution are passed back via the function moduleu2019s output parameters. If the posting is successful IDoc gets the status code 53 (Application Document Posted) or it gets status code 51 (Error: Application Document Not Posted). -
I just replaced my hard drive due to failure in my Mac mini. I am trying to load the Snow Leppard OS from the DVD's that came with the unit. Is there a step-by-step procedure somewhere that would help me? This is my first problem with my first Mac. I thought getting to the hard drive and changing it would be the hard part but I made it through that with little trouble. My lack of software experience on the Mac is really slowing me down. I believe I'm not making the right choices in the Disk Utility program.Any help would be greatly appreciated. Thank you.
Prep the new drive:
Drive Preparation
1. Boot from your OS X Installer Disc. After the installer loads select your language and click on the Continue button. When the menu bar appears select Disk Utility from the Utilities menu.
2. After DU loads select your hard drive (this is the entry with the mfgr.'s ID and size) from the left side list. Note the SMART status of the drive in DU's status area. If it does not say "Verified" then the drive is failing or has failed and will need replacing. SMART info will not be reported on external drives. Otherwise, click on the Partition tab in the DU main window.
3. Under the Volume Scheme heading set the number of partitions from the drop down menu to one. Set the format type to Mac OS Extended (Journaled.) Click on the Options button, set the partition scheme to GUID then click on the OK button. Click on the Partition button and wait until the process has completed.
4. Select the volume you just created (this is the sub-entry under the drive entry) from the left side list. Click on the Erase tab in the DU main window.
5. Set the format type to Mac OS Extended (Journaled.) Click on the Options button, check the button for Zero Data and click on OK to return to the Erase window.
6. Click on the Erase button. The format process can take up to several hours depending upon the drive size.
Upon completion quit DU and return to the installer. Install OS X. When the installation has completed you can proceed to restore your data from your backups. If you have an existing backup from Time Machine or another hard drive then upon completing the Setup Assistant you will have an option to restore from another Mac, a TM backup, or another drive. Use the appropriate option. -
Step by step procedure for Upgrade to ECC6.0
Hi,
I gained a lot from this forum . Can someone please mail me at
[email protected]
step by step procedure for upgrade .
Will award full points for helpful documents..
With regards,
MrinalSAP defined a roadmap for upgrade.
1) Project Preparation
Analyze the actual situation
Define the objectives
Create the project plan
Carry out organizational preparation for example identify the project team
2)Upgrade Blueprint
The system and components affected
The mapped business processes
The requirements regarding business data
3)Upgrade Realization -- In this phase the solution described in the design phase is implemented in a test environment. This creates a pilot system landscape, in which the processes and all their interfaces can be mapped individually and tested on the functional basis.
4)Final Preparation for Cutover -- Testing, Training, Minimizing upgrade risks, Detailed upgrade planning
5)Production Cutover and Support
The production solution upgrade
Startup of the solutions in the new release
Post processing activities
Solving typical problems during the initial operation phase.
SAP expects at least 2 to 3 months for Upgrade and that again depends on project scope and complexity and various other factors.
STEPS IN TECHNICAL UPGRADE
Basis Team will do the prepare activities. (UNIX, BASIS, DBA).
Developer need to run the Transaction SPDD which provides the details of SAP Standard Dictionary objects that have been modified by the client. Users need to take a decision to keep the changes or revert back to the SAP Standard Structure. More often decision is to keep the change. This is mandatory activity in upgrade and avoids data loses in new system.
After completing SPDD transaction, we need to run SPAU Transaction to get the list of Standard SAP programs that have been modified. This activity can be done in phases even after the upgrade. Generally this will be done in same go so that your testing results are consistent and have more confident in upgrade.
Run SPUMG Transaction for Unicode Conversion in non-Unicode system. SPUM4 in 4.6c.
Then we need to move Z/Y Objects. Need to do Extended programming check, SQL trace, Unit testing, Integration testing, Final testing, Regression Testing, Acceptance Testing etc.,
The main Category of Objects that needs to be Upgraded is
Includes
Function Groups / Function Modules
Programs / Reports
OSS Notes
SAP Repository Objects
SAP Data Dictionary Objects
Domains, Data Elements
Tables, Structures and Views
Module Pools, Sub Routine pools
BDC Programs
Print Programs
SAP Scripts, Screens
User Exits
Also refer to the links -
http://service.sap.com
http://solutionbrowser.erp.sap.fmpmedia.com/
http://help.sap.com/saphelp_nw2004s/helpdata/en/60/d6ba7bceda11d1953a0000e82de14a/content.htm
http://www.id.unizh.ch/dl/sw/sap/upgrade/Master_Guide_Enh_Package_2005_1.pdf
Hope this helps you. -
Give me step by step procedures to create an infocube in BI 7
Hello Experts,
Can any one provide me with step by step procedures to create an infocube in BI 7 ?
Thanks in advance,
Jessica.Hi,
) Create a data source
RSA1->Source Systems->FILE(File)->PC_FILE(Filesourcesystem)->Create Application Component(optional)-Create Data source
2) Create infoPackage
Right click on the data source and do
3) Create the data provider
4) Create Transformation
Right click on the data provider, choose 'create transformation' and choose your data source (give relevant data source and its type)
Just connect the relavant fields between your data source and data provider.
4) Create DTP
Then Double click on the DTP node created under yous transformations. choose the extraction mode as delta.
5) Load the data: there are 2 ways:
you can run the infopackage and DTP separately or create a process chain consisting of these infopackage and DTP and run.
Hope this helps.
Uploading of master data
Log on to your SAP
Transaction code RSA1LEAD YOU TO MODELLING
1. Creation of Info Objects
In left panel select info object
Create info area
Create info object catalog ( characteristics & Key figures ) by right clicking the created info area
Create new characteristics and key figures under respective catalogs according to the project requirement
Create required info objects and Activate.
2. Creation of Data Source
In the left panel select data sources
Create application component(AC)
Right click AC and create datasource
Specify data source name, source system, and data type ( master data attributes, text, hierarchies)
In general tab give short, medium, and long description.
In extraction tab specify file path, header rows to be ignored, data format(csv) and data separator( , )
In proposal tab load example data and verify it.
In field tab you can you can give the technical name of info objects in the template and you not have to map during the transformation the server will automatically map accordingly. If you are not mapping in this field tab you have to manually map during the transformation in Info providers.
Activate data source and read preview data under preview tab.
Create info package by right clicking data source and in schedule tab click star to load data to PSA.( make sure to close the flat file during loading )
3. Creation of data targets
In left panel select info provider
Select created info area and right click to select Insert Characteristics as info provider
Select required info object ( Ex : Employee ID)
Under that info object select attributes
Right click on attributes and select create transformation.
In source of transformation , select object type( data source) and specify its name and source system Note: Source system will be a temporary folder or package into which data is getting stored
Activate created transformation
Create Data transfer process (DTP) by right clicking the master data attributes
In extraction tab specify extraction mode ( full)
In update tab specify error handling ( request green)
Activate DTP and in execute tab click execute button to load data in data targets.
4. Monitor
Right Click data targets and select manage and in contents tab select contents to view the loaded data. Alternatively monitor icon can be used.
BW 7.0
Uploading of Transaction data
Log on to your SAP
Transaction code RSA1LEAD YOU TO MODELLING
5. Creation of Info Objects
In left panel select info object
Create info area
Create info object catalog ( characteristics & Key figures ) by right clicking the created info area
Create new characteristics and key figures under respective catalogs according to the project requirement
Create required info objects and Activate.
6. Creation of Data Source
In the left panel select data sources
Create application component(AC)
Right click AC and create datasource
Specify data source name, source system, and data type ( Transaction data )
In general tab give short, medium, and long description.
In extraction tab specify file path, header rows to be ignored, data format(csv) and data separator( , )
In proposal tab load example data and verify it.
In field tab you can give the technical name of info objects in the template and you not have to map during the transformation the server will automatically map accordingly. If you are not mapping in this field tab you have to manually map during the transformation in Info providers.
Activate data source and read preview data under preview tab.
Create info package by right clicking data source and in schedule tab click star to load data to PSA.( make sure to close the flat file during loading )
7. Creation of data targets
In left panel select info provider
Select created info area and right click to create ODS( Data store object ) or Cube.
Specify name fro the ODS or cube and click create
From the template window select the required characteristics and key figures and drag and drop it into the DATA FIELD and KEY FIELDS
Click Activate.
Right click on ODS or Cube and select create transformation.
In source of transformation , select object type( data source) and specify its name and source system Note: Source system will be a temporary folder or package into which data is getting stored
Activate created transformation
Create Data transfer process (DTP) by right clicking the master data attributes
In extraction tab specify extraction mode ( full)
In update tab specify error handling ( request green)
Activate DTP and in execute tab click execute button to load data in data targets.
8. Monitor
Right Click data targets and select manage and in contents tab select contents to view the loaded data. There are two tables in ODS new table and active table to load data from new table to active table you have to activate after selecting the loaded data . Alternatively monitor icon can be used.
Create info package by right clicking data source and in schedule tab click star to load data to PSA.( make sure to close the flat file during loading )
Activate DTP and in execute tab click execute button to load data in data targets.
BW is mainly for Reporting purpose on Organizations Historical Data.
It is a Data Warehousing solution developed by SAP in 1997. Using this we can analyze .....Subject Specific.....Integrated....Non volatile....Time variant Data in support of DECISION MAKING.
BW is offering End-End solution...like From Modeling to Repoting.
We can Extract data from 8 different source systems.
Business content is a big advantage.
Web Application Designer and integration to Portals are some other features of BW.
In ABAP ( R/3) Tables contain current data.
In BW Cubes contain historical Data.
R/3 is designed for Transactional purpose ( OLTP ).
BW is designed for Analysis purpose ( OLAP ).
Regards,
Medha. -
Pls send step by step procedure to create generated idoc type in ECC 6.0
Hi
pls send me the step by step procedure In ECC 6.0 Version
1) To create generated idoc type
2) To extended idoc type
3) How we can add structure to custom segments
thanks in advancehi,
check these likns...
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
ALE/ IDOC/ XML
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://www.thespot4sap.com/Articles/SAP_XML_Business_Integration.asp
http://help.sap.com/saphelp_srm30/helpdata/en/72/0fe1385bed2815e10000000a114084/content.htm
IDOC Convertion
/people/kevin.wilson2/blog/2005/12/07/changing-fields-in-an-idoc-segment
regds,
paras -
Can anyone explain me step by step procedure for creating badi?
hi all,,
Can anyone explain me about badi with step by step procedure with an example like trsn code mm01, xd01 etc.
And what is the significance of badi?
regs
hariHi
Business Add-Ins
Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
As with customer exits (SMOD/CMOD [Page 40]), two different views are available:
In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
In contrast to customer exits, Business Add-Ins no longer assume a two-system infrastructure (SAP and customers), but instead allow for multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time.
In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example). All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard.
A single Business Add-In contains all of the interfaces necessary to implement a specific task. In Release 4.6A, program and menu enhancements can be made with Business Add-Ins. The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects
DEFINING THE BADI
1) execute Tcode SE18.
2) Specify a definition Name : ZBADI_SPFLI
3) Press create
4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
multiple use.
5) Choose the interface tab
6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
7) Dbl clk on interface name to start class builder . specify a method name (name,
level, desc).
Method level desc
Linese;ection instance methos some desc
8) place the cursor on the method name desc its parameters to define the interface.
Parameter type refe field desc
I_carrid import spfli-carrid some
I_connid import spefi-connid some
9) save , check and activate adapter class proposed by system is
ZCL_IM_IM_LINESEL is genereated.
IMPLEMENTATION OF BADI DEFINITION
1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
2) Specify aname for implementation ZIM_LINESEL
3) Specify short desc.
4) Choose interface tab. System proposes a name fo the implementation class.
ZCL_IM_IMLINESEL which is already generarted.
5) Specify short desc for method
6) Dbl clk on method to insert code..(check the code in AAA).
7) Save , check and activate the code.
Some useful URL
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
Now write a sample program to use this badi method..
Look for BBB sample program.
AAA
data : wa_flights type sflight,
it_flights type table of sflight.
format color col_heading.
write:/ 'Flight info of:', i_carrid, i_connid.
format color col_normal.
select * from sflight
into corresponding fields of table it_flights
where carrid = i_carrid
and connid = i_connid.
loop at it_flights into wa_flights.
write:/ wa_flights-fldate,
wa_flights-planetype,
wa_flights-price currency wa_flights-currency,
wa_flights-seatsmax,
wa_flights-seatsocc.
endloop.
BBB
*& Report ZBADI_TEST *
REPORT ZBADI_TEST .
tables: spfli.
data: wa_spfli type spfli,
it_spfli type table of spfli with key carrid connid.
*Initialise the object of the interface.
data: exit_ref type ref to ZCL_IM_IM_LINESEL,
exit_ref1 type ref to ZIF_EX_BADISPFLI1.
selection-screen begin of block b1.
select-options: s_carr for spfli-carrid.
selection-screen end of block b1.
start-of-selection.
select * from spfli into corresponding fields of table it_spfli
where carrid in s_carr.
end-of-selection.
loop at it_spfli into wa_spfli.
write:/ wa_spfli-carrid,
wa_spfli-connid,
wa_spfli-cityfrom,
wa_spfli-deptime,
wa_spfli-arrtime.
hide: wa_spfli-carrid, wa_spfli-connid.
endloop.
at line-selection.
check not wa_spfli-carrid is initial.
create object exit_ref.
exit_ref1 = exit_ref.
call method exit_ref1->lineselection
EXPORTING
i_carrid = wa_spfli-carrid
i_connid = wa_spfli-connid.
clear wa_spfli.
u can find BADI's in different ways...
1>First go to any transaction->iN THE menu bar SYSTEM->STATUS->Get the program name ->double click->u will go to the program attached to the tcode.Now search term will be CALL CL_EXITHANDLER.Now u will get list of BADI'S available..
2>Goto SE24->Give class name as CL_EXITHANDLER->Display->double click on get_instance mathod->Now u will go inside the method->Now put break point on the cl_exithandler.Now go to any transaction code and pass dat..U will see that it will be stopped on the break point which u set on the cl_exithandler...In the exit name u can find list of badi's attached to the tcode..
There are multiple ways of searching for BADI.
Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
Finding BADI Using SQL Trace (TCODE-ST05).
Finding BADI Using Repository Information System (TCODE- SE84).
1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for CL_EXITHANDLER=>GET_INSTANCE.
Make sure the radio button In main program is checked. A list of all the programs with call to the BADIs will be listed.
The export parameter EXIT_NAME for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter INSTANCE will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
2. Start transaction ST05 (Performance Analysis).
Set flag field "Buffer trace"
Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
Push the button "Deactivate Trace".
Push the button "Display Trace".
The popup screen "Set Restrictions for Displaying Trace" appears.
Now, filter the trace on Objects:
V_EXT_IMP
V_EXT_ACT
Push button "Multiple selections" button behind field Objects
Fill: V_EXT_IMP and V_EXT_ACT
All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
3. Go to Maintain Transaction (TCODE- SE93).
Enter the Transaction VD02 for which you want to find BADI.
Click on the Display push buttons.
Get the Package Name. (Package VS in this case)
Go to TCode: SE84->Enhancements->Business Add-inns->Definition
Enter the Package Name and Execute.
Here you get a list of all the Enhancement BADIs for the given package MB.
The simplese way for finding BADI is
1. chooes Tcode Program & package for that Tcode.
2. Go to Tcode se18
3. Press F4
4. search by package or by program.
http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf7940e11d295df0000e82de14a/frameset.htm
and
http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf7940e11d295df0000e82de14a/frameset.htm
Badihttp://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
sample code for Purchase requisition
BAdI Name: ZPUR_RFQ (Implementation name) Purchase Requisitions
Definition Name: ME_REQ_POSTED
Interface Name : IF_EX_ME_REQ_POSTED
Implementing Class: ZCL_IM_PUR_REQ
Method : POSTED
METHOD if_ex_me_req_posted~posted .
DATA : v_mtart TYPE mtart.
DATA l_s_eban TYPE ueban.
LOOP AT im_eban INTO l_s_eban.
IF l_s_eban-estkz NE 'B'.
CLEAR v_mtart.
SELECT SINGLE mtart INTO v_mtart FROM mara WHERE matnr = l_s_eban-matnr.
IF v_mtart EQ 'ZERS' OR v_mtart EQ 'FHMI' OR v_mtart EQ 'UNBW'.
MESSAGE e000(zm_msg) WITH 'You are not allowed' 'to create PR for stock items'.
ENDIF.
ENDIF.
IF l_s_eban-knttp NE 'F' OR l_s_eban-pstyp NE '9'.
IF l_s_eban-knttp NE 'A'.
IF ( l_s_eban-pstyp NE '9' AND l_s_eban-pstyp NE 'D' ) AND l_s_eban-matnr EQ
space.
MESSAGE e000(zm_msg) WITH 'You cannot create' 'a PR without material number'.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDMETHOD.
<b>Reward points for useful Answers</b>
Regards
Anji -
Pricing step by step procedure
Dear Experts,
pls send me the pricing notes ( step by step procedures) at my mail id
[email protected]
always reward point ...
Thanks b4 hand
VaibhavHi Vaibhav,
Following are the steps you need to follow for pricing.
Reward if this helps you...
PRICING (PG)
This concept is based on condition technique.
Its the combination of:
1) Condition Tables
2) Access Sequence
3) Condition Types
4) Pricing Procedure
1. Condition Tables: - Condition table contain the key fields for maintaining condition records. I.e. in other words condition records are stored in condition table.
Note: - A condition type can have multiple condition tables.
Note: - A condition table can be used for multiple condition types.
Defining condition tables: -
SPRO
Sales and Distribution
Basic functions
Pricing
Pricing control
Define condition tables [V/03]
Create condition tables
Enter a table number beyond 600
From the field catalogue, which is there on the right side of the screen select the required key fields.
To get the valid on / valid to fields while maintaining the condition records we need to check the field with validity period.
Go to icon Technical View
The fields which are marked, as footer field appears at the footer level at the condition records and the remaining fields appears at the key level.
Select the Icon Generate for generating the condition table.
To save the condition table, select the button Local object.
2. Access Sequence: - Access sequence is a search strategy with the help of which the system gets the valid condition records. It contains the required condition tables in the required order.
Note: - If required an access sequence can be used or assigned to multiple
Condition types.
Note: - The order in which the condition table are placed in access sequence
is important generally it is most specific to most generic
Defining Access Sequence: -
SPRO
Sales and distribution
Basic functions
Pricing
Pricing control
Define access sequences
Maintain access sequences
Go to new entries and define the access sequence.
Select the defined access sequence and go to accesses.
Go to new entries and place the condition tables in the required order
While placing the condition tables check the field exclusive. By doing so if the system finds a valid condition record in the first condition table it will not go to the next condition table
Select the condition table and go to fields the system gives the warning message the field assignment has not yet been made say enter till we get the fields.
Repeat the same step for all the condition tables and save it.
Note: - After defining the access sequence assign it to the corresponding condition type.
3. Condition Types: -
Defining condition types: -
SPRO
Sales and Distribution
Basic functions
Pricing
Pricing control
Define condition types.
Maintain condition types.
Functionality of a condition type: -
Access Sequence: - In this field specify the corresponding access sequence for the condition type.
Condition class: - It is the preliminary structuring of condition types.
Ex: - Surcharges or discounts and price
Plus/Minus: - If we specify negative here a condition type becomes discount and if we specify positive it becomes surcharge.
Calculation type: - Determines how the system calculates price discounts and surcharges in a condition type.
For Ex: - the system can calculate a price as a fixed amount or as a percentage based on the quantity, weight, or volume.
Condition Category: - Its a classification of conditions according to pre-defined categories.
Rounding Rule: - The rule that determines how the system rounds of condition values during pricing.
Manual Entries: - Indicator which controls the priority with in a condition type between a condition enter manually and a condition automatically determined by the system.
Amount / Percent: - If we check this field the amount / percentage of a condition type can be change during the document processing.
Quantity Relation: - Specifies whether the conversion factors for the units of measure in the condition type can be change during document processing.
Delete: - If we check this field the condition type can be deleted during the sales document processing.
Value: - If we check this field the condition value can be changed during the document processing.
Calculation type: - If we check this field the calculation type can be change during the document processing.
Item condition: - If we check this field for a condition types it becomes item condition, which has to be enter at the item level only.
Header condition: - If we check this field for a condition type it becomes header condition, which has to be entered at the header level only
Ex: - RB00 (Discount).
Note: - After entering the header condition type click on the button activate.
Note: - The condition amount of the header condition is copied as it is to all the line items in the document
Group condition: - If we check a header condition as a group condition the condition amount is distributed proportionately among all the line items in the sales document.
Valid from & valid to: - specifies the beginning and ending of the validity date that the system automatically proposes when we create condition records for the condition types.
Scale Basis: - Determines how the system interprets a pricing scale in a condition, for Ex: - the scale can be based on quantity weight and volume.
Check value: - Indicates whether the sale rates must be entered in ascending or descending order.
Note: - Header condition wont be having access sequence.
4. Pricing Procedure: - Pricing procedure contains all the required condition types in the required order.
Defining Pricing Procedure: -
SPRO
Sales and Distribution
Basic functions
Pricing
Pricing control
Define and assign pricing procedures.
Maintain pricing procedures
Go to new entries and define the pricing procedure.
Select the defined pricing procedure and go to control data
Go to new entries and place the required condition type in a specified order.
Step: - Specifies the number that determines the sequence of a condition type with in a procedure.
Counter: - Specifies the sequence number of a condition type with in a step in the procedure.
Condition type: - Specify the condition type.
From & To: - If you specify the reference steps in these fields, the condition values of the two steps specified and the condition values of the steps in between are totaled.
Manual: - If we check this field the condition type is only included in determination either if they are entered manually or if they are transferred from an external process such as costing.
Mandatory: - Indicates whether a condition type is mandatory when the system carries out pricing using the pricing procedure.
Statistical: - This indicator causes a condition type to be set in the document statistically only.
Print ID: - Controls the issue of condition lines when printing the documents such as order conformations or invoices. [X]
Sub Total: - Controls whether and in which fields the condition amounts or subtotals are stored.
Requirement: - For the condition type to be executed in the sales document the requirement specified here must be satisfied. [2]
Alternative calculation type: - Specifies the alternative formula to the calculation type in the standard system that determines a condition.
Alternative condition base value: - Specifies the formula for determining the condition basis as an alternative to the standard.
Account key: - This field along with few other fields enables the system to post the sales values to different General Ledger Accounts.
Ex: -
ERL  Sales Revenues
ERS  Sales Deductions
ERF  Freight Revenue
Accruals: - This is exclusively for rebate condition types. [B001 & B002]
Key, which identifies various types of General Ledger accounts for accruals posting.
Note: - to maintain the requirements and routines use the transaction code
[VOFM]
Pricing Procedure Determination: -
SPRO
Sales and Distribution
Basic Functions
Pricing
Pricing control
Define and Assign Pricing Procedures.
Define Pricing procedure determination [OVKK]
We have to assign the pricing procedure to the combination of Sales Organisation, Distribution Channel, Division, Document Pricing Procedure and customer pricing procedure.
Sales Organisations Distribution Channels Divisions Doc. Pricing Procedure Cus. Pricing Procedure
1000 10 00 A 01 & 02
2000 12 00 A 01 & 02 -
Step by step procedure with scren shot for BAPI?
Hi,
could u tell me the senario for bapi in real time ?
how to do in realtime ?
any body tellme the step by step procedure with screen shot pls could u help?
i will be waiting for reply.
rehards
eswarHi
what is BAPI?
BAPI stands for Business API(Application Program Interface).
A BAPI is remotely enabled function module ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..
You can make your function module remotely enabled in attributes of Function module but
A BAPI are standard SAP function modules provided by SAP for remote access. Also they are part of Businees Objest Repository(BOR).
BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
Change( )
The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
BAPI-step by step
http://www.sapgenie.com/abap/bapi/example.htm
just refer to the link below
http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g
list of all bapis
http://www.planetsap.com/LIST_ALL_BAPIs.htm
for BAPI's
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sappoint.com/abap/bapiprg.pdf
http://www.sappoint.com/abap/bapiactx.pdf
http://www.sappoint.com/abap/bapilst.pdf
http://www.sappoint.com/abap/bapiexer.pdf
http://service.sap.com/ale
http://service.sap.com/bapi
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
http://www.planetsap.com/Bapi_main_page.htm
http://www.topxml.com/sap/sap_idoc_xml.asp
http://www.sapdevelopment.co.uk/
http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf
Also refer to the following links..
www.sap-img.com/bapi.htm
www.sap-img.com/abap/bapi-conventions.htm
www.planetsap.com/Bapi_main_page.htm
www.sapgenie.com/abap/bapi/index.htm
Checkout !!
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
Example Code
U need to give the step_nr, item_nr, cond_count and cond_type so the correct conditon will be updated. If no condition exists for the given parameters, a new condition will be created.
U can find these parameters for a particular condition type in table KONV.
*& Form saveTransactionJOCR
text
--> p1 text
<-- p2 text
FORM saveTransactionJOCR .
data: salesdocument like BAPIVBELN-VBELN,
order_header_inx like bapisdh1x,
order_header_in like bapisdh1,
return type standard table of bapiret2 with header line,
conditions_in type standard table of bapicond with header line,
conditions_inx type standard table of bapicondx with header line,
logic_switch like BAPISDLS,
step_nr like conditions_in-cond_st_no,
item_nr like conditions_in-itm_number,
cond_count like conditions_in-cond_count,
cond_type like conditions_in-cond_type.
salesdocument = wa_order_information-VBELN.
LOGIC_SWITCH-COND_HANDL = 'X'.
order_header_inx-updateflag = 'U'.
conditions
clear conditions_in[].
clear conditions_inx[].
clear: step_nr,
item_nr,
cond_count,
cond_type.
step_nr = '710'.
item_nr = '000000'.
cond_count = '01'.
cond_type = 'ZCP2'.
CONDITIONS_IN-ITM_NUMBER = item_nr.
conditions_in-cond_st_no = step_nr.
CONDITIONS_IN-COND_COUNT = cond_count.
CONDITIONS_IN-COND_TYPE = cond_type.
CONDITIONS_IN-COND_VALUE = 666.
CONDITIONS_IN-CURRENCY = 'EUR'.
append conditions_in.
CONDITIONS_INX-ITM_NUMBER = item_nr.
conditions_inx-cond_st_no = step_nr.
CONDITIONS_INX-COND_COUNT = cond_count.
CONDITIONS_INX-COND_TYPE = cond_type.
CONDITIONS_INX-UPDATEFLAG = 'U'.
CONDITIONS_INX-COND_VALUE = 'X'.
CONDITIONS_INX-CURRENCY = 'X'.
append conditions_inx.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = salesdocument
ORDER_HEADER_IN = order_header_in
ORDER_HEADER_INX = order_header_inx
LOGIC_SWITCH = logic_switch
TABLES
RETURN = return
CONDITIONS_IN = conditions_in
CONDITIONS_INX = conditions_inx
if return-type ne 'E'.
commit work and wait.
endif.
ENDFORM. " saveTransactionJOCR
Bdc to Bapi
The steps to be followed are :
1. Find out the relevant BAPI (BAPI_SALESORDER_CHANGE for VA02).
[for VA01 use BAPI_SALESORDER_CREATEFROMDAT2]
2. Create a Z program and call the BAPi (same as a Funtion module call).
2. Now, if you see this BAPi, it has
-> Importing structures.
eg: SALESDOCUMENT: this will take the Sales order header data as input.
-> Tables parameters:
eg: ORDER_ITEM_IN: this will take the line item data as input.
Note :
Only specify fields that should be changed
Select these fields by entering an X in the checkboxes
Enter a U in the UPDATEFLAG field
Always specify key fields when changing the data, including in the checkboxes
The configuration is an exception here. If this needs to be changed, you need to complete it again fully.
Maintain quantities and dates in the schedule line data
Possible UPDATEFLAGS:
U = change
D = delete
I = add
Example
1. Delete the whole order
2. Delete order items
3. Change the order
4. Change the configuration
Notes
1. Minimum entry:
You must enter the order number in the SALESDOCUMENT structure.
You must always enter key fields for changes.
You must always specify the update indicator in the ORDER_HEADER_INX.
2. Commit control:
The BAPI does not run a database Commit, which means that the application must trigger the Commit so that the changes are read to the database. To do this, use the BAPI_TRANSACTION_COMMIT BAPI.
For further details... refer to the Function Module documentation for the BAPi.
Bapi to VB(Visual Basic)
Long back I had used the following flow structure to acheive the same.
Report -> SM59 RFC destination -> COM4ABAP -> VB.exe
my report uses the rfc destination to create a COM session with com4abap. com4abap calls the vb.exe and manages the flow of data between sap and vb exe.
You need to have com4abap.exe
If com4abap is installed you will find it in sapgui installatin directory , C:\Program Files\SAPpc\sapgui\RFCSDK\com4abap.
else refer OSS note 419822 for installation of com4abap
after making the settings in com4abap to point to the vb program and setting up rfc destination in sm59 to point to com4abap session , you can use the following function modules to call the vb code.
for setting up com4abap and rfc destination please refer to the documentation for com4abap.
Invoke NEW DCOM session
call function 'BEGIN_COM_SESSION'
exporting
service_dest = service_dest "(this will be a RFC destination created in SM59)
importing
worker_dest = worker_dest
exceptions
connect_to_dcom_service_failed = 1
connect_to_dcom_worker_failed = 2
others = 3.
call function 'create_com_instance' destination worker_dest
exporting
clsid = g_c_clsid
typelib = g_c_typelib
importing
instid = g_f_oid
exceptions
communication_failure = 1 message g_f_msg
system_failure = 2 message g_f_msg
invalid_instance_id = 3
others = 4.
call function 'com_invoke' destination worker_dest
exporting
%instid = g_f_oid
%method = 'UpdatePDF'
sntemp = g_v_const_filent
snsysid = sy-sysid
snflag = 'N'
tables
rssaptable = g_t_pdfdetail1
%return = g_t_pdfdetail1 "t_test
exceptions
communication_failure = 1 message g_f_msg
system_failure = 2 message g_f_msg
invalid_instance_id = 3
others = 4.
then close the com session , using
FM delete_com_instance
FM END_COM_SESSION
see the sample code
REPORT zpo_bapi_purchord_tej.
DATA DECLARATIONS *
TYPE-POOLS slis.
TYPES: BEGIN OF ty_table,
v_legacy(8),
vendor TYPE bapimepoheader-vendor,
purch_org TYPE bapimepoheader-purch_org,
pur_group TYPE bapimepoheader-pur_group,
material TYPE bapimepoitem-material,
quantity(13),
delivery_date TYPE bapimeposchedule-delivery_date,
net_price(23),
plant TYPE bapimepoitem-plant,
END OF ty_table.
TYPES: BEGIN OF ty_alv,
v_legs(8),
success(10),
v_legf(8),
END OF ty_alv.
TYPES: BEGIN OF ty_alv1,
v_legf1(8),
v_msg(500),
END OF ty_alv1.
*-----Work area declarations.
DATA: x_table TYPE ty_table,
x_header TYPE bapimepoheader,
x_headerx TYPE bapimepoheaderx,
x_item TYPE bapimepoitem,
x_itemx TYPE bapimepoitemx,
x_sched TYPE bapimeposchedule,
x_schedx TYPE bapimeposchedulx,
x_commatable(255),
x_alv TYPE ty_alv,
x_alv1 TYPE ty_alv1,
x_alv2 TYPE ty_alv1.
*-----Internal table declarations.
DATA: it_table TYPE TABLE OF ty_table,
it_commatable LIKE TABLE OF x_commatable,
it_item TYPE TABLE OF bapimepoitem,
it_itemx TYPE TABLE OF bapimepoitemx,
it_sched TYPE TABLE OF bapimeposchedule,
it_schedx TYPE TABLE OF bapimeposchedulx,
it_alv TYPE TABLE OF ty_alv,
it_alv1 TYPE TABLE OF ty_alv1,
it_alv2 TYPE TABLE OF ty_alv1.
DATA: po_number TYPE bapimepoheader-po_number,
x_return TYPE bapiret2,
it_return TYPE TABLE OF bapiret2,
v_file TYPE string,
v_temp(8),
v_succsount TYPE i VALUE 0,
v_failcount TYPE i VALUE 0,
v_total TYPE i.
DATA: v_temp1(5) TYPE n VALUE 0.
DATA: x_event TYPE slis_t_event,
x_fieldcat TYPE slis_t_fieldcat_alv,
x_list_header TYPE slis_t_listheader,
x_event1 LIKE LINE OF x_event,
x_layout1 TYPE slis_layout_alv,
x_variant1 TYPE disvariant,
x_repid2 LIKE sy-repid.
DATA : it_fieldcat TYPE TABLE OF slis_t_fieldcat_alv.
SELECTION-SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK v_b1 WITH FRAME.
*-----To fetch the flat file.
PARAMETERS: p_file TYPE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK v_b1.
AT SELECTION-SCREEN *
AT SELECTION-SCREEN.
IF p_file IS INITIAL.
MESSAGE text-001 TYPE 'E'.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
*-----To use F4 help to find file path.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
v_file = p_file.
START-OF-SELECTION *
START-OF-SELECTION.
PERFORM gui_upload.
LOOP AT it_table INTO x_table.
PERFORM header_details.
v_temp = x_table-v_legacy.
LOOP AT it_table INTO x_table WHERE v_legacy = v_temp.
PERFORM lineitem.
PERFORM schedule.
ENDLOOP.
DELETE it_table WHERE v_legacy = v_temp.
PERFORM bapicall.
MOVE po_number TO x_alv-success.
APPEND x_alv TO it_alv.
CLEAR x_alv.
*-----To clear the item details in internal table after the operation for a header.
REFRESH: it_item,
it_itemx,
it_sched,
it_schedx.
CLEAR: v_temp1.
ENDLOOP.
v_total = v_succsount + v_failcount.
PERFORM display_alv.
FORM GUI_UPLOAD *
FORM gui_upload .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_file
filetype = 'ASC'
TABLES
data_tab = it_commatable
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
IF sy-subrc = 0.
*-----To fetch the comma seperated flat file into an internal table.
LOOP AT it_commatable INTO x_commatable.
IF x_commatable IS NOT INITIAL.
SPLIT x_commatable AT ',' INTO
x_table-v_legacy
x_table-vendor
x_table-purch_org
x_table-pur_group
x_table-material
x_table-quantity
x_table-delivery_date
x_table-net_price
x_table-plant.
APPEND x_table TO it_table.
ENDIF.
CLEAR x_table.
ENDLOOP.
ENDIF.
ENDFORM. " gui_upload
FORM HEADER_DETAILS *
FORM header_details .
MOVE 'NB' TO x_header-doc_type.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = x_table-vendor
IMPORTING
output = x_table-vendor
MOVE x_table-vendor TO x_header-vendor.
MOVE x_table-purch_org TO x_header-purch_org.
MOVE x_table-pur_group TO x_header-pur_group.
x_headerx-doc_type = 'X'.
x_headerx-vendor = 'X'.
x_headerx-purch_org = 'X'.
x_headerx-pur_group = 'X'.
ENDFORM. " header_details
FORM LINEITEM *
FORM lineitem .
v_temp1 = v_temp1 + 10.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_temp1
IMPORTING
output = v_temp1.
MOVE v_temp1 TO x_item-po_item.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = x_table-material
IMPORTING
output = x_table-material.
MOVE x_table-material TO x_item-material.
MOVE x_table-quantity TO x_item-quantity.
MOVE x_table-net_price TO x_item-net_price.
MOVE x_table-plant TO x_item-plant.
x_itemx-po_item = v_temp1.
x_itemx-material = 'X'.
x_itemx-quantity = 'X'.
x_itemx-net_price = 'X'.
x_itemx-plant = 'X'.
APPEND x_item TO it_item.
APPEND x_itemx TO it_itemx.
CLEAR: x_item, x_itemx.
ENDFORM. " lineitem1
FORM SCHEDULE *
FORM schedule .
MOVE x_table-delivery_date TO x_sched-delivery_date.
MOVE v_temp1 TO x_sched-po_item.
x_schedx-delivery_date = 'X'.
x_schedx-po_item = v_temp1.
APPEND x_sched TO it_sched.
APPEND x_schedx TO it_schedx.
CLEAR: x_sched, x_schedx.
ENDFORM. " schedule
FORM BAPICALL *
FORM bapicall .
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = x_header
poheaderx = x_headerx
IMPORTING
exppurchaseorder = po_number
TABLES
return = it_return
poitem = it_item
poitemx = it_itemx
poschedule = it_sched
poschedulex = it_schedx.
IF po_number IS NOT INITIAL.
v_succsount = v_succsount + 1.
MOVE x_table-v_legacy TO x_alv-v_legs.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ELSE.
v_failcount = v_failcount + 1.
MOVE x_table-v_legacy TO x_alv-v_legf.
MOVE x_table-v_legacy TO x_alv1-v_legf1.
LOOP AT it_return INTO x_return.
IF x_alv1-v_msg IS INITIAL.
MOVE x_return-message TO x_alv1-v_msg.
ELSE.
CONCATENATE x_alv1-v_msg x_return-message INTO x_alv1-v_msg SEPARATED BY space.
ENDIF.
ENDLOOP.
APPEND x_alv1 TO it_alv1.
CLEAR x_alv1.
ENDIF.
ENDFORM. " bapicall
FORM DISPLAY_ALV *
FORM display_alv .
PERFORM x_list_header.
PERFORM build_fieldcat CHANGING x_fieldcat.
x_repid2 = sy-repid.
x_event1-name = 'TOP_OF_PAGE'.
x_event1-form = 'TOP_OF_PAGE'.
APPEND x_event1 TO x_event.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = x_repid2
is_layout = x_layout1
it_fieldcat = x_fieldcat
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'TOP_OF_PAGE'
i_save = 'A'
is_variant = x_variant1
it_events = x_event
TABLES
t_outtab = it_alv
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " display_master_data
FORM USER_COMMAND *
FORM user_command USING ucomm LIKE sy-ucomm selfield
TYPE slis_selfield.
READ TABLE it_alv INTO x_alv INDEX selfield-tabindex.
CLEAR : x_alv2,it_alv2[].
LOOP AT it_alv1 INTO x_alv1 WHERE v_legf1 = x_alv-v_legf.
x_alv2 = x_alv1.
APPEND x_alv2 TO it_alv2 .
ENDLOOP.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv.
DATA : x3_fieldcat LIKE LINE OF it_fieldcat.
CLEAR : x3_fieldcat,it_fieldcat[].
CLEAR x3_fieldcat.
x3_fieldcat-col_pos = '1'.
x3_fieldcat-fieldname = 'V_LEGF1'.
x3_fieldcat-reptext_ddic = text-111.
x3_fieldcat-ref_tabname = 'IT_ALV2'.
APPEND x3_fieldcat TO it_fieldcat.
CLEAR x3_fieldcat.
CLEAR x3_fieldcat.
x3_fieldcat-col_pos = '1'.
x3_fieldcat-fieldname = 'V_MSG'.
x3_fieldcat-reptext_ddic = text-112.
x3_fieldcat-ref_tabname = 'IT_ALV2'.
APPEND x3_fieldcat TO it_fieldcat.
CLEAR x3_fieldcat.
x_layout1-colwidth_optimize = 'X'.
x_layout1-zebra = 'X'.
IF it_alv2[] IS NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = x_repid2
is_layout = x_layout1
it_fieldcat = it_fieldcat
i_save = 'A'
i_callback_top_of_page = 'TOP'
is_variant = x_variant1
it_events = x_event
TABLES
t_outtab = it_alv2
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDIF.
ENDFORM.
FORM USER_COMMAND *
FORM top.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = 'Commentry'.
ENDFORM.
FORM BUILD_FIELDCAT *
FORM build_fieldcat CHANGING et_fieldcat TYPE slis_t_fieldcat_alv.
DATA: x1_fieldcat TYPE slis_fieldcat_alv.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '1'.
x1_fieldcat-fieldname = 'V_LEGS'.
x1_fieldcat-reptext_ddic = text-108.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '2'.
x1_fieldcat-fieldname = 'SUCCESS'.
x1_fieldcat-key = 'X'.
x1_fieldcat-reptext_ddic = text-109.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '3'.
x1_fieldcat-fieldname = 'V_LEGF'.
x1_fieldcat-key = 'X'.
x1_fieldcat-reptext_ddic = text-110.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
ENDFORM. " build_fieldcat
FORM BUILD_LIST_HEADER *
FORM x_list_header.
DATA: x_list_header1 TYPE slis_listheader.
*-----List Header: type H
CLEAR x_list_header1 .
x_list_header1-typ = 'H'.
x_list_header1-info = text-105.
APPEND x_list_header1 TO x_list_header.
*-----List Key: type S
x_list_header1-typ = 'S'.
x_list_header1-key = text-106.
x_list_header1-info = v_total.
APPEND x_list_header1 TO x_list_header.
*-----List Key: Type S
CLEAR x_list_header1 .
x_list_header1-typ = 'S'.
x_list_header1-key = text-107.
x_list_header1-info = v_succsount.
APPEND x_list_header1 TO x_list_header.
ENDFORM. " build_list_header
FORM TOP_OF_PAGE *
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = x_list_header.
ENDFORM. " TOP_OF_PAGE
<b>Reward points for useful Answers</b>
Regards
Anji -
Hi
I need step-by-step procedure for loading the data into datatarget using transformation.
if have any doc then send it to: [email protected]
Vinod.Hi vinod,
Creating Transformation between a source and target will create rules between the two objects.
To get data, after creating the Transformation, you have to right click on the Datasouce and create infopackage and schedule it. This will bring the data till PSA, then again select Data Transfer Process by right clicking on the DataStore Object (or you will get the DTP icon under your DataStore Object once the data is loaded to PSA).
It will again ask for source & target (by default it displays the DataStore Object as target and datasource as source). This will get data into your DataStore Object.
Check the links:
http://help.sap.com/saphelp_nw04s/helpdata/en/f8/7913426e48db2ce10000000a1550b0/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/42/f98e07cc483255e10000000a1553f7/frameset.htm
Hope this helps.
****Assign Points If Helpful****
Regards,
Ravikanth -
Step by step procedure to create a partner profile
Hi,
Step by step to create a partner profile using the we20HI,
IAM GIVING THE DOCUMENT WHICH COULD HELPS YOU NOT ONLY CREATING PARTNER PROFILES BUT ALSO TO SEND THE DATA BETWEEN SYSTEMS.
Application Linking and Enabling (ALE)
In this document you will learn the step-by-step procedure to setup the ALE system and go through a transaction between two clients
For our purpose we have two clients
namely Client 100 and Client 200.
System name is SAPKDC (FOR BOTH 100 AND 200 CLIENTS).
Distribution of Material Master Data Between two Systems
1) SETUP LOGICAL SYSTEM: (Note: Do Not Create This Step)
To do this follow the following steps
Execute SALE Transaction Code
On The Screen Click on Sending and Receiving Systems.
Then Click on Logical Systems.
Then Click Defining Logical Systems.
Click New Entries Button
(E.g. (LG100 sending system)
(LG200 receiving system))
Enter two logical system names and their description.
Save
Comeback to SALE Transaction Code screen.
2) Now you have to allocate the created logical systems to respective clients.( Note: Do Not Create This Step)
LG100 assign to client 100
LG200 assign to client 200
To do this, do the following.
Click Assigning Client to Logical System.
Ignore the message that comes up on the screen.
Select client 100
Click details button on the toolbar icon or press F2.
In the logical system box, enter LG100.
Click on the save Icon
Click the back button.
Now select client 200.
Click details icon or press f2.
In logical Systems box, enter LG200.
Save
Back.
Comeback to SALE Transaction Code screen.
3) Maintain RFC Destination: (TR.CODE:SM59)
(Note: Do Not Create This Step)
Click Create Button on the Screen
On the Screen Maintain RFC Destination i.e LG200.
Enter LG200 in RFC destination box.
Connection type is 3
Give a description for the RFC destination.
Maintain Technical Settings on Details on Technical Settings tab
Target Host as : SAPKDC (NOTE: Save it as a Host Name)
Maintain Logon Details on Logon/Security tab.
Language: EN.
User: MMUSER200 (This is the logon for dist.)
Client : 200
Password: MM1234.
Save.
Click on create to do the above process for Client 200 in
The client 200 system.
4) Maintain Distribution Model.(BD64). (ABAPer role starts here)
Execute Maintain distribution model directly for
creating the model.
Click on change mode button on App tool bar of the Screen.
Create Model View pushbutton on App tool bar of the Screen.
A pop screen will appear in which you specify
Short text as Distribution for MM Data.
Enter Technical Name as LGMODEL.
Select Model View and Click on Add Message Type Pushbutton on App toolbar of the Screen.
A popup screen will appear in which you specify
Model View as LGMODEL.
Sender as LG100.
Receiver as LG200.
Again Click on Add Message Type Pushbutton on App toolbar of the Screen.
A popup screen will appear in which you specify
Model View as LGMODEL.
Sender as LG200.
Receiver as LG100.
SAVE.
On the same screen goto Menubar and select Environment.
And then select Generate Partner Profiles , then execute it.
On the Screen specify the Logical System as LG200.
Then execute the screen.
Click back.
Again On the same screen goto Menubar and select EDIT.
Again select Model View and then select Distribute.
****LOGIN to client 200.
Execute Tr.code BD64 and again On the same screen goto Menubar and select Environment.
And then select Generate Partner Profiles , then execute it.
On the Screen specify the Model View as LGMODEL
And Specify the Logical System as LG100.
Then execute the screen.
Click back.
*******Switch back to client 100 Session.
5) Create Material using MM03 Tr.Code.
Enter the material name as LGMATERIAL
Industry sector as Mechanical Engineering
Material Type as Finished Products.
And then Click on Data Pushbutton on the App tool bar.
Select views.
In the select views box for materials check basic data 1 AND 2.
Click enter icon.
In the next screen that you get
Give the text of the material as NEW MATERIAL.
Base unit of measure as KG.
Gross Weight as 200.
Net Weight as 100.
Weight Unit as KG.
In the description area language (E) and material description.
Click Save.
Now I Created a Material in Client 100 , I want to transfer this data to Client 200.
6) Execute BD10 to transfer the material in which you specify
the material as LGMATERIAL and
message type as MATMAS (client100).
Then a Screen will be displayed in which it shows that
1 Master Idoc Generated .. Enter
1 Communication Idoc Generated..Enter.
*******LOGIN to Client 200.
7) Execute BD11 to get the material in which you specify
the material as LGMATERIAL and
message type as MATMAS (client200).
8) Execute Tr.code MM03 and give the material as LGMATERIAL
and see that the material is displayed as it was in Client 100.
If not follow these steps.
9) Execute Tr.code WE19( for rectification of errors in client200).
Specify the Existing Idoc Number and Executes it .
A Screen is displayed in which you specify the corresponding Function Module as INPUT_IDOC_MATMAS01 and execute it.
10) Execute Tr.code MM03 and give the material as LGMATERIAL
and see that the material is displayed as it was in Client 100.
Now the Material is correctly displayed in Client 200.
11) Monitoring of IDOCS.
Transaction Codes:
IDOC Display of Status: WE 05.
IDOC Date and Time: WE07. -
Is any SD/MM Configuration step by step procedure available in the market?
Dear fellow SDN's,
Please give me a guide on
1. Where to start SD learning?
2. How to proceed to become a strong SD consultant.
3. Is any SD/MM configuration procedure pdf / Document available in the market?
I have an ECC 6.0 remote connectivity.
Your valuable advice appreciated and allow to earn good credit.
Thanks in advance.
Regards.HI Stockton,
1. Try to start with the Basic Concepts of SD which are given Below:
SD FLOW/ OVERVIEW:
Sales
Inquiry - A customers request to a company that they provide a quotation or sales information without obligation. An inquiry can relate to materials or services, conditions and if necessary delivery dates. The sales area that accepts the inquiry becomes responsible for further processing.
Quotation - A quotation presents the customer with a legally binding offer for delivering a product or providing a service within certain fixed conditions. This offer is legally binding for the company within a specified time period. A sales area can reply to a customer inquiry with a customer quotation or use it to refer to a business partner contact.
Sales Order - Request from a customer to a company to deliver a defined quantity of products or provide a service at a certain time.
The sales area that accepts the inquiry is responsible for completing the agreement.
Create Delivery:a. Picking - The picking process involves taking goods from a storage location and staging the right quantity in a picking area where the goods will be prepared for shipping.
b. Packing - Packing is part of delivery- and shipment processing. When you process a delivery, you can select delivery items for packing and assign them to handling units (HUs).
c. Goods Issue - As soon as the goods leave the company, the shipping business activity is finished. This is illustrated using goods issue for outbound deliveries.
Billing - Billing represents the final processing stage for a business transaction in Sales and Distribution. Information on billing is available at every stage of order processing and delivery processing.
Sales Order Management Transactions
SALES ORDER PROCESSING
Creating Sales Order - VA01
Maintaining a Sales Order - VA02
Displaying a Sales Order - VA03
Releasing an Order or Delivery from Credit Hold: Non-Flooring - VKM1
Display List of RMAs by Customer - VA05
Confirm RMA Goods Receipt - VL02
Generate list of open return orders for deletion - VA05
Display Customer returns eligibility - MCSI
Removing a Billing Block (Approving Credit/Debit Requests) - V.23
PRICING MASTER DATA
Create Pricing - VK11
Creating a Sales Deal - VB21
Maintaining a Sales Deal - VB22
Displaying a Sales Deal - VB23
Maintaining Prices - VK12
Displaying Prices - VK13
MATERIAL MASTER DATA
Creating Material Substitution Master Data - VB11
Maintaining/Deleting Material Substitution Master Data - VB12
Displaying Material Substitution Master Data - VB13
Creating a Bundled Master - MM01
Creating a Sales BOM - CS01
Maintaining a Sales BOM - CS02
Displaying a Sales BOM - CS03
CUSTOMER MASTER DATA
Creating Partner Records - XD01
Maintaining Customer Master Data - XD02
Displaying Customer Master Data - XD03
Deactivating a Partner - VD06
CUSTOMER CREDIT INFO
Creating/Maintaining New Customer Credit Information - FD32
Displaying Customer Credit Information - FD33
Blocking or Unblocking a Customer - VD05
SHIPPING
Creating a Delivery - VL01N
Displaying a Delivery - VL03N
Changing a Delivery - VL02N
Shipment Inquiry / Display - VT03
Adjusting Transfer Order - Confirmation Quantity - LT12
Collectively Confirm Transfer Order - LT25
Batch Shipment Confirmation - VL19
PGI Reversal Cancellation - VL09
Creating Service Provider/Carrier Master Data - XK01
Maintaining Serive Provider/Carrier Master Data - XK02
Displaying Service Provider/Carrier Master Data - XK03
Maintaining Product Master/Serial # Profile/Unit of Measure/Shipping Unit - MM02
IDoc Inquiry - WE02 / WE05
BILLING
Invoicing a Customer Shipment - VF01
Reprinting an Invoice - VF31
Releasing a Sales Order for Billing - V.23
Creating an Invoice by Using the Billing Due List - VF04
Checking Open Billing Documents - VF05
Create Credit/Debit Memo - FB01
A/R
Controlling Total Debit/Credit bkgs - F.03
Generate FI Account balance - F.08
Generate Month-to-date Inv. register - F.02
Process payments - FBZ1
Rqst Individual Customer Corresp. - FB12
Generate Customer Correspondence - F.61
Enter Batch totals under Control ttl - FB07
Display G/L Acct. totals - FBL3N
Reverse Posted Amounts - FB08
Customer Refunds - FBL6
Customer Refund to other than Payer - FB05
Clearing Debit/Credit on Cust. acct. - FB1D
Customer Balance in Local Currency - F.23
G/L Account Balance Report - F.08
Create Invoice - legal entity adjust - FB01
Generate Cust. Acct. statements - F.27
Generate Dunning Letters - F150
Generate Billing Due List - VF04
Generate Blocked Billing Doc list - VFX3
Inq. via Credit Release Screen - VKM1
List orders by partner - VA05
Past Due invoices by customer - FD11
Check number info by G/L account - FBL3N
Display customer Line items - FBL5N
SD Configuration:
Enterprise Structure:
1. Maintaining Sales Organization
Sales Organization is an organizational unit responsible for the sale of certain products or services.
IMG -> Enterprise Structure -> Definition -> Sales and Distribution -> Define, copy, delete, check Sales organization
2. Assigning Sales Organization to Company Code
This assignment ensures all the sales made through this Sales Organization are accounted for in the assigned Company Code (Company Code is created by FI Consultant).
IMG -> Enterprise Structure -> Assignment -> Sales and Distribution -> Assign Sales Organziation to Company Code
3. Maintaining Distribution Channel
Distribution Channel is the way, in which Products or Services reach Customers.
IMG -> Enterprise Structure -> Definition -> Sales and Distribution -> Define, copy, delete, check distribution channel
4. Assigning Distribution Channel to Sales Organization
This assignment ensures, a Sales Organization can supply Materials to Customers through this Distribution Channel.
IMG -> Enterprise Structure -> Assignment -> Sales and Distribution > Assign distribution channel to sales organization
5. Maintaining Division
Division is a way of grouping materials, products, or services.
IMG -> Enterprise Structure -> Definition -> Logistics - General -> Define, copy, delete, check division
6. Assigning Division to Sales Organization
IMG -> Enterprise Structure -> Assignment -> Sales and Distribution -> Assign division to sales organization
7. Setting up Sales Area
All the sales are made from a particular sales Area. For creating a Sales Order Sales Area is compulsory.
IMG ->Enterprise Structure -> Assignment -> Sales and Distribution -> Set up sales area
8. Assigning Sales Organization- Distribution Channel- Plant
Plant is created ny MM Consultant.
IMG -> Enterprise Structure -> Assignment -> Sales and Distribution -> Assign sales organization - distribution channel - plant
9. Define Shipping Points
Shipping Point is the Organizational element, which is responsible for shipping the Materials to the Customers.
IMG -> Enterprise Structure -> Definition -> Logistics Execution -> Define, copy, delete, check shipping point
10 Assigning Shipping Point to Plant
This assignment ensures that goods from different Plant can be dispatched from different Shipping Points.
IMG -> Enterprise Structure -> Assignment -> Logistics Execution -> Assign shipping point to plant
Note: Ensure to do the undermentioned configuration also though it is not in Customizing node of Enterprise Structure.
11. Defining Common Distribution Channels for Master Data
Use
The purpose of this activity is to define distribution channels which have common master data..
Procedure
Access the activity using one of the following navigation options:
IMG Menu -> Sales and Distribution -> Master Data -> Define Common Distribution Channels
Transaction Code: VOR1
12. Defining Common Divisions for Master DataUse
The purpose of this activity is to define distribution channels which have common master data..
Procedure
Access the activity using one of the following navigation options:
IMG Menu -> Sales and Distribution -> Master Data -> Define Common Division
Transaction Code: VOR2
Pricing Procedure
In SD, Pricing Procedure is determined based on Sales Area (Sales Organization + Distribution Centre + Division) + Customer Pricing Procedure + Document Pricing Procedure. Sales Area is determined in Sales Order Header Level. Customer Pricing Procedure is determined from Customer Master. Document Pricing Procedure is determined from Sales Document Type / Billing Type (if configured). Once the pricing procedure is determined, Condition records are fetched. If appropriate condition records are found, the price is determined. If Mandatory pricing condition is missing, system will through an error message.
In SD, the steps to configure Pricing procedure are as under:
Step 1:
Condition table: If existing condition table meets the requirement, we need not create a new condition table. Considering the requirement for new condition table, the configuration will be done in spro as follows: IMG --> Sales & Distribution --> Basic Function --> Pricing Control --> Condition Table (select the required fields combination, which will store condition record).
Step 2:
Access Sequence: If existing access sequence meets the requirement, we need not create a new access sequence. Considering the requirement for new sequence, the configuration will be done in spro as follows: IMG --> Sales & Distribution --> Basic Function --> Pricing Control --> Access Sequence (Access sequence is made up of Accesses (Tables) & the order of priority in which it is to be accessed. Here we assign the condition table to access sequence.
Step 3:
Condition Type: If existing condition type meets the requirement, we need not create a new condition type. Considering the requirement for new condition type, the configuration will be done in spro as follows: IMG --> Sales & Distribution --> Basic Function --> Pricing Control --> Condition Type. It is always recommended to copy an existing similar condition type & make the neccessary changes. Here we assign Access sequence to Condition type.
Step 4:
a. Pricing Procedure: It is recommended to copy a similar pricing procedure & make the neccesary changes in new pricing procedure. Pricing Procedure is a set of condition type & arranged in the sequence in which it has to perform the calculation. Considering the requirement for new Pricing Procedure, the configuration will be done in spro as follows: IMG --> Sales & Distribution --> Basic Function --> Pricing Control --> Pricing Procedure --> Maintain Pricing Procedure.
b. Pricing Procedure: After maintaining the pricing procedure the next step will be determination of pricing procedure. Configuration for determining pricing procedure in SPRO is as follows: IMG --> Sales & Distribution --> Basic Function --> Pricing Control --> Pricing Procedure --> Determine Pricing Procedure.
5. Condition record: Condition record is a master data, which is required to be maintained by Core team / person responsible from the client. During new implementation, the condition records can be uploaded using tools like SCAT, LSMW, etc.
Normal Sales Order Cycle:-
Step 1: Sales Document Type
IMG > Sales and Distribution > Sales > Sales Documents >
Sales Document Header:
1. Sales Document Type:The sales document types represent the different business transactions, such as Inquiry, Quotation, Sales Order, etc. To create new sales order type, always copy as with reference to similar sales order. If possible use standard sales order.
2. Define Number Ranges For Sales Documents: Maintain number range with discussion with core team.
3. Assign Sales Area To Sales Document Types:
A. Combine sales organizations / Combine distribution channels / Combine divisions: Ensure to maintain these, else Sales Order creation will give error.
B. Assign sales order types permitted for sales areas: Assign only required Sales Order Types to required Sales Area. This will minimize selection of Sales Order Type as per sales area.
Sales Document Item:
1. Define Item Categories: If possible use Standard Item Category. Incase if required to create new, copy as from standard & maintain New.
2. Assign Item Categories: If possible, use standard. Formula for deriving item category: Sales Document Type + Item Category Group + Usage + Higher Level Item Category = Item Category
Schedule Line:
1. Define Schedule Line Categories: If possible use Standard Schedule Lines. Incase if required to create new, copy as from standard & maintain New.
2. Assign Schedule Line Categories: If possible, use standard. Formula for deriving Schedule Line: Item Category + MRP Type / No MRP Type.
Step 2:
IMG > Logistic Execution > Shipping > Deliveries >
1. Define Delivery Types: If possible use Standard Delivery Type. Incase if required to create new, copy as from standard & maintain New.
2. Define Item Categories for Deliveries: If possible use Standard Item Categories for Delivery Type. Incase if required to create new, copy as from standard & maintain New.
3. Define Number Ranges for Deliveries: Ensure to maintain number range.
Step 3:
IMG > Sales and Distribution > Billing >
1. Define Billing Types: If possible use Standard Billing Type. Incase if required to create new, copy as from standard & maintain New.
2. Define Number Range For Billing Documents: Ensure to maintain number range.
3. Maintain Copying Control For Billing Documents: Maintain relevant copy controls such as Sales Order to Billing, Deliver to Billing, etc.
he configuration differs from scenario to scenario & requirement of the client.
Interesting &important link to learn much more about configuration & business process is as under:
Link: http://help.sap.com/
Path: SAP Best Practices --> Baseline Packages --> Based on SAP ECC 5.00 --> Select Country: for eg, Localized for India --> Technical Information --> Building Blocks --> Select Country for eg, India --> List of Basic Configuration & scenarios will be listed.
Select the required basic configuration / scenario. These will consist of overview, configuration guide, business process, master data &so on.
SD FLOW
SD Flow Cycle:
INQUIRY ( VA11)
|
QUOTATION (VA21)
|
PURCHASE ORDER (ME21)
|
ORDER CONFIRMATION (VA01)
|
PICKING LIST (VL36)
|
PACKING LIST - (VL02, VL01)
|
SHIPPING (VT01)
|
INVOICE (VF21, VF01)
|
AR
2.Hope aware that SAP- SD itself the Big one.try to Explore the various Scenarios in SD and be Stong in Some Areas like Pricing, Intercompany Billing, Third Party Sales, LSWM, EDI Etc.,
3.The link between SD and MM: -
1. When you create sales order in SD, all the details of the items are copied from Material master of MM.
2. MRP and availability check related data is also taken from MM although you control this data in SD also.
3. While you create inbound/outbound delivery with reference to a sales order, the shipping point determination takes place with the help of the loading group, plant data, shipping conditions etc. This also refers to Material Master.
4. The material which you are entering in a sales order must be extended to the sales area of your sales order/customer otherwise you cannot transact with this material.
There are many such links between SD and MM.
SD INTEGRATON WITH MM
1a. Looking at MM and SD interaction first, take the scenario of a third party order process. This process uses a purchase order (which is sent to your vendor). Also invoice verification is used further along the process to check that the invoice you send to your customer is the same material and quantity as that which the vendor sends to you (but obviously shipped
directly to your customer).
1b. Billing is an SD function. But SAP needs to know, when processing a customer's payment, to which GL account the payment has to be processed. For instance payment of a UK based material would be placed in a different GL account to that of a non-UK based material. Furthermore, a UK based customer may have a different GL account to that of an Export customer. This is configured in Account Determination.
2. ABAPers are there to essential do some bespoke development. Your integration, or interaction, with them would be when specifying the tables, fields, input fields, a simple process explanation, data mapping (if doing an interface from one system to another) etc. *-- Shahee
The link between SD and MM :-
1. When you create sales order in SD, all the details of the items are copied from Material master of MM.
2. MRP and availability check related data is also taken from MM although you control this data in SD also.
3. While you create inbound/outbound delivery with reference to a sales order, the shipping point determination takes place with the help of the loading group, plant data, shipping conditions etc. This also refers to Material Master.
4. The material which you are entering in a sales order must be extended to the sales area of your sales order/customer otherwise you cannot transact with this material.
There are many such links between SD and MM
In Pricing we would want to determine the cost of the product
thru VPRS Condition Type. This cost of the material is
picked from the Material Master. How this happens is, if
we would want to determine this cost VPRS in the Sales Order
for Profitability purpose then , all those Item categories
that can appear in a sales order must be activated for
Determine Cost Check box in customizing. Thats one of the SD
MM Integration.
Please go through the below Link,
http://sap-img.com/sap-sd/link-between-sap-sd-mm-and-fi.htm
Hope Clarifies your doubts and Please Reward If Really Helpful,
Thanks and Regards,
Sateesh.Kandula -
Hi BI Experts, good afternoon.
I am very new to BI.
Pls can anyone tell me the procedure of LO.
Pls dont send the links .
Thanks in advance
Regards
AnjaliHi Anjali,
How to do basic LO extraction for SAP-R3-BW
Procedure:
1. Go to transaction code RSA3 and see if any data is available related to your DataSource. If data is there in RSA3 then go to transaction code LBWG (Delete Setup data) and delete the data by entering the application name.
2. Go to transaction SBIW --> Settings for Application Specific Datasource --> Logistics --> Managing extract structures --> Initialization --> Filling the Setup table --> Application specific setup of statistical data --> perform setup (relevant application)
3. In OLI*** (for example OLI7BW for Statistical setup for old documents : Orders) give the name of the run and execute. Now all the available records from R/3 will be loaded to setup tables.
4. Go to transaction RSA3 and check the data.
5. Go to transaction LBWE and make sure the update mode for the corresponding DataSource is serialized V3 update.
6. Go to BW system and create infopackage and under the update tab select the initialize delta process. And schedule the package. Now all the data available in the setup tables are now loaded into the data target.
7.Now for the delta records go to LBWE in R/3 and change the update mode for the corresponding DataSource to Direct/Queue delta. By doing this record will bypass SM13 and directly go to RSA7. Go to transaction code RSA7 there you can see green light # Once the new records are added immediately you can see the record in RSA7.
8.Go to BW system and create a new infopackage for delta loads. Double click on new infopackage. Under update tab you can see the delta update radio button.
9.Now you can go to your data target and see the delta record.
find your scenario and find what data sources do you need on R3 side and ensure they are active as well:
http://help.sap.com/saphelp_nw04/helpdata/en/37/5fb13cd0500255e10000000a114084/frameset.htm
find your scenario -> data sources -> go to R3 -> sbiw and activate required data source
replicate data sources in BW:
RSA1 -> source systems -> right click on your source system -> replicate
then activate your BC:
Chek this blogs from Roberto for LO:
/people/sap.user72/blog/2004/12/16/logistic-cockpit-delta-mechanism--episode-one-v3-update-the-145serializer146
/people/sap.user72/blog/2004/12/23/logistic-cockpit-delta-mechanism--episode-two-v3-update-when-some-problems-can-occur
/people/sap.user72/blog/2005/01/19/logistic-cockpit-delta-mechanism--episode-three-the-new-update-methods
/people/sap.user72/blog/2005/02/14/logistic-cockpit--when-you-need-more--first-option-enhance-it
/people/sap.user72/blog/2005/04/19/logistic-cockpit-a-new-deal-overshadowed-by-the-old-fashioned-lis
Also go through this link to know the procedure step by step
http://www.sap-img.com/business/lo-cockpit-step-by-step.htm
Also the How to docs:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f83be790-0201-0010-4fb0-98bd7c01e328
BI content:
http://help.sap.com/saphelp_nw2004s/helpdata/en/17/cd5e407aa4c44ce10000000a1550b0/frameset.htm
Hope This Helps.
Regards,
Ravikanth -
The step-by-step procedure of configuring Split-Valuation
Hi
Can anyone give the step-by-step procedure of configuring Split-Valuation
cheers
MaruthiRamHii,
To used split valuation, you have to activate it using 'OMW0'.
To change split material valuation once it has been set, you must
1. first post out all stocks (for example, to a cost center or with movement type 562)
2. then change the control parameters
3. if necessary, change the automatic account determination
4. finally post the stocks back in again
In split valuation, you can distinguish between partial stocks of a material according to certain criteria and valuate them separately.
The material stock is divided according to valuation category and valuation type.
The valuation category determines how the partial stocks are divided, that is, according to which criteria.
The valuation type describes the characteristics of the individual stocks.
With the function "Setting" you can determine:
which valuation categories exist in your company (global categories)
which valuation types exist in your company (global types)
which valuation types belong to which valuation category
which valuation categories exist in a valuation area (local categories)
Your entries are only relevant if you set split valuation as active in the function "Global settings".
In the standard SAP R/3 System, the following valuation categories are default settings :
B procurement type
with the valuation types:
"EIGEN" for in-house production
"FREMD" for external procurement
H Origin
X automatic valuation (only for batch)
To select split valuation ('OMWC'), proceed as follows:
1. Determine the valuation categories and valuation types that are allowed for all valuation areas:
global valuation categories via menu "Goto --> Global Categories"
global valuation types via menu "Goto --> Global Types"
2. Allocate the valuation types to the valuation categories.
a) Select "Goto --> Global Categories".
b) Position the cursor on a valuation category and select
"Goto --> Global Categories --> Assignments --> 'Types->Category'".
c) Activate the valuation types you want.
3. Determine the local valuation categories for each valuation area.
a) Select "Goto --> Local definitions".
b) Position the cursor on a valuation area and select
"Goto --> Local Definitions --> Allocate Categoires->Org.units (button Cats->(OU)".
You obtain a list of the global valuation categories.
c) Activate the categories to be used in this valuation area.
The system creates the local valuation types based on the allocations under point 2.
Only now can you create a master record with split valuation.
Specifying Split Valuation by creating Material Subject to Split Valuation
1. Create a material master record, selecting the Accounting View 1.
2. Enter your data as required on the Accounting data screen, specifying a valuation category.
(If you can't find the valuation category field, it might be hidden, use OMSR to define the Field Groups.
Look for the field MBEW-BWTTY for Valuation category).
3. Be sure that the price control indicator is V for moving average price and enter a moving average price.
4. In the case of split valuation, you can create only one valuation header record with price control V because the
individual stock values are cumulated, and this total value is written to the valuation header record. This is where the
individual stocks of a material are managed cumulatively. To do this, fill in the Valuation category field on the accounting
screen when you create the material master record and leave the Valuation type field blank.
5. Save your data and the system creates the valuation header record.
6. The initial screen appears.
7. Extend the material by creating new material master records from the Accounting view 1. For the first material, specify a
valuation type in the Organizational Levels dialog box and enter the respective accounting data on the data screen.
Proceed likewise for the other materials, distinguishing between them by valuation type. To do this, call up the material in
creation mode again. Due to the fact that a valuation header record exists, the system requires you to enter a valuation
type for the valuation category.
8. Repeat step seven for every valuation type planned.
You want to valuate the stock of material XYZ that you obtain from manufacturer A in Los Angeles at a different price than the stock you obtain from manufacturer B in Detroit. In this case, the valuation category is H for origin. Your valuation types can be LOS ANGELES and DETROIT.
If a material is subject to split valuation, every quantity (sub-stock) of this material must be assigned to a valuation type (for example, country of origin).
For every valuation type, there are two types of data in the system, as follows:
Valuation data (for example, valuation price, total stock quantity, total stock value), which is defined for every valuation type at valuation-area level and applies to all dependent storage locations.
Stock data, which, like batch data, is managed separately for each storage location. If a material that is subject to split valuation is also subject to management in batches, its stock data is not managed by valuation type, but rather by batch. Every batch is assigned to a valuation type.
The stock quantity, stock value, and valuation price for all valuation types are managed cumulatively at valuation-area level.
Must the Valuation Type Exist Before the First Goods Receipt?
You can post the goods receipt of material of a certain valuation type only if the valuation data for this valuation type already exists, because the system valuates the goods receipt at the price defined in the valuation data. On the other hand, the stock data for the valuation type is created automatically during the first goods receipt into the storage location, if this is defined in Customizing for Inventory Management.
Goods Movements with Materials Subject to Split Valuation
If you want to enter goods movements for materials subject to split valuation, you must enter the valuation type in addition to the material number.
Enter the valuation type in the Batch field for MB01.
In MIGO, there is a valuation type field in Detail data -> Material.
Regards,
Kumar -
Hi Abap Gurus,
I very new to abap and this site.
Can any body provide the step by step procedure in lsmw.
I can give points to good answers.Hi rangamma,
can U go through this info.
Step-by-Step Guide for using LSMW to Update Customer Master Records
Note! The screenprints in this article are from IDES Release 4.6. They may differ slightly in other versions.
Call Legacy System Migration Workbench by entering transaction code LSMW. Every conversion task is grouped together as Project / Subproject / Object structure. Create a Project called LSMW_DEMO and a Subproject as CUSTOMERS and Object as CUST_REC as shown in Figure 1.
Figure 1 Conversion Task with Project, Subproject and Object
The main screen of LSMW provides wizard-like step-by-step tasks, as shown in Figure 2. To complete your data conversion, you need to execute these steps in sequence. Once a step is executed, the cursor is automatically positioned to the next step.
Note that these steps may look different depending upon your Personal menu settings. You could make step numbers visible by Numbers on icon or hidden by Numbers off icon. You can execute a step by double-clicking on the row. Toggle icon Doubleclick=Display or Doubleclick=Edit, makes the step in display mode or change mode.
Figure 2 LSMW Wizard initial screen
Step 1: Maintain Object attributes
In this example, you will be updating the customer master records with the help of recording a transaction (XD02). Choose radio button Batch Input Recording and click on the recording overview icon to record the R/3 transaction. Enter the Recording name as XD02_REC, the description as Customer Master Updates Recording, and the transaction code as XD02.
Figure 3 Object type Transaction Recording
The system calls the transaction code XD02 and prompts you to complete the Change
Customer transaction, as shown in Figure 4. Enter the key customer information (I entered customer number 1000, sales organization 1000, distribution channel 01, and division 00) and choose Sales view within Sales area data. Make changes to these three fields (I entered, sales office 1010, sales group 110, and customer group 01) and save the transaction.
Figure 4 Transaction recording for Transaction Code XD02
Once the transaction is completed, R/3 records the flow of screens and fields and saves the information, as shown in Figure 5.
Default Values
Field Names
Figure 5 Transaction recording overview
Note that the fields are populated with default values. The values you entered when you recorded the transaction are set by default.
Note that if you have more fields in the recording than needed, you can remove them by clicking Remove Screen field icon.
Observe that the transaction-recording process stores field names in a technical format. By pressing the F1 key on individual screen fields and then pressing the F9 key, the system displays technical names. You then can replace the technical names with descriptive names. Double-click on the field RF02D-KUNNR and enter the name as KUNNR and the description as Customer Account Number and remove the default value. (See Figure 6.)
Figure 6 Field attributes
Similarly, double-click on all other fields with default values and make appropriate changes. Once you have made changes, the recording overview screen looks like what you see in Figure 7.
Figure 7 Transaction Recording Overview with screen field attributes
Save your changes. When you go back to the initial screen, you will see that the initial screen steps have changed. Since you want to import data via the BDC method, the Direct Input and IDoc-related steps are hidden, as they are not relevant.
Step 2. Maintain Source Structures
Give a name and a description to the source structure (Figure 8).
Figure 8 Source Structure
Step 3. Maintain Source Fields
In this step, you need to list what fields are present in the source structure. The easiest way is to click on Table Maintenance icon to enter Fieldname, Type and Length for each field as shown in Figure 9.
Figure 9 Source fields of source Structure
Note that your input file will have four fields as key fields and you need to update three fields in the system.
Step 4: Maintain Structure Relations
Execute a step to Maintain Structure Relations. (See Figure 10.) Since, there is only one Source and Target Structure, the relationship is defaulted automatically.
Figure 10 Structure Relation
Step 5: Maintain field mapping and conversion rules
Field RF02D-D0310 represents that you chose Sales view for the customer Master screen accordingly its value should be set to X. Keep your cursor on field RF02D-D0310 and click on Constant rule icon to choose the constant value of X.
If your source file already has the field value, you choose rule Source Field.
Keep cursor on field KUNNR and click on Assign Source field icon to choose source field CUSTOMER from structure XD02S as shown in Figure 11.
Figure 11 Assign source fields
Similarly, assign Source Field rules to the remaining fields.
Once all the fields are mapped, you should have an overview screen as shown in Figure 12.
Figure 12 Field mapping and Conversion rules overview
Step 6: Maintain fixed values, translations, user-defined routines
You can also maintain re-usable translations and user-defined routines, which can be used across conversion tasks. In this case, that step is not required.
Step 7: Specify files
In this step, we define how the layout of the input file is. The input file is a [Tab] delimited with the first row as field names. It is present on my PC (local drive) as C:\XD02.txt. (See Figure 13.)
figure 13 File attributes
Create an Excel file (Figure 14) with your data and save it as a Tab-delimited text file on your local drive (C:\) and name it XD02.txt.
Figure 14 Source data in Excel file (saved as Tab delimited file)
Step 8: Assign files
Execute step Assign Files (Figure 15) and the system automatically defaults the filename to the source structure.
Figure 15 Assign file to Source Structure
Step 9: Read data
In this step, LSMW reads the data (Figure 16) from the source file (from your PCs local drive). You have the option to read only selected rows and convert data values to Internal format.
Figure 16 Read Data
Step 10: Display read data
This step (Figure 17) is optional. If required, you can review the field contents for the rows of data read.
Figure 17 Display Read Data
Step 11: Convert data
This is the step that actually converts the source data (in source format) to a target format. Based on the conversion rules defined, source fields are mapped to target fields.
Step 12: Display Converted data
Again this is an optional step to view how the source data is converted to internal SAP format (Figure 18).
Figure 18 Display Converted Data
Step 13: Create batch input session
Once the source data is converted in an internal format, you can create a batch session to process updates (Figure 19).
Figure 19 Create Batch Input Session
Step 14: Run Batch Input Session
You can execute the BDC session by Run Batch input session. Executing a batch input session is a standard SM35 transaction for managing BDC sessions. Once you have successfully executed the batch input session, the customer master records are updated in the system. You can confirm this by viewing the customer master records (XD03).
Note! Browsing thru these 14 steps, you may get a feeling that this is a very lengthy and time-consuming activity. However, for the purposes of demonstration, I have made it detailed. Although it looks lengthy, actually it takes hardly few hours from start-to-finish! After playing around with few simple LSMW scripts, you will find it so easy to change and create more complex ones.
www.****************
Rewards some points if it is helpful.
Rgds,
P.Nag
Maybe you are looking for
-
Try to show special characters in a JLabel
Hi everybody, I have a big problem with special characters and to display them. At the moment I'm writing an Applet where you can type in in a JTextField stuff like \u0398 \u03B6 \u03A6 \u03C9 \u03BE. Then you press a JButton and the method TextField
-
I just setup a new workstation with Adobe 8 Standard. When you create a PDF from scanner, it prompts you to save the file first. I have to save the file and then continue on. It then opens in Adobe. In previous versions this step was not needed, it w
-
DPX's won't import into Premiere from Nuke
For some reason when I export DPX's from Nuke or Hiero, I can't bring them back into Premiere. It says "Codec missing or unavailable". However, I can import the Nuke rendered DPX's into AE, Speedgrade and Resolve without a problem. To make the issue
-
New to AS3 - URL Function not working...please help!
Hi i'm very new to Flash and AS3. I've created a clip and need to link some buttons to some pages on my site but they don't seem to work. Please let me know if nyone can help me...below is my code: b_1.addEventListener(MouseEvent.CLICK,b_1ClickHandle
-
Group by and Order by...
Hi Guys, I need to get a value in a specific order in a select statment. I have the following table... with t as( SELECT 1 ID, 'aaa' VAL FROM dual UNION ALL SELECT 2 ID, 'aaa' VAL FROM dual UNION ALL SELECT 3 ID, 'bbb' VAL FROM dual UNION ALL SELECT