Step By Step Procedure to Apply Exits CATS0005 and CATS0002.
To especially to the attention of Raymond Giuseppi !
I need a step by step instruction to display a custom field in the upper part of Transaction CAT2 with the help of enhancements CATS0005 and CATS0002.
I want to display a custom field in the upper Part of Transcation CAT2.
Regards.
erk.
When you click on a link containing a downloadable file, its default location is your Downloads folder. If you haven't changed anything about your MacBook Pro, the Downloads folder is shown in the Dock as a "stack":
Clicking on the Stack shows the contents of the Downloads folder as in the above. Programs are usually distributed as .dmg (compressed disk image) files.
Evernote in the above is one example of that. Clicking its icon in the Stack will expand the disk image and mount it on your Desktop. The mounted volume may contain an installer "package" that when opened, will run OS X's Installer program. Generally speaking, it's a good idea to install your programs in your Applications folder, but you can install them anywhere you want.
Does this explanation help, or did it just complicate things even more
Similar Messages
-
Kindly let me the Know Step by Step Procedure of Table Exits. & Field Exits
Dear Members,
Kindly let me the Know Step by Step Procedure of Table Exits. & Field Exits.
it would be better if u explain by Example....
Hoping for your Response...
Thanks & Warm Regards,
Nitin ChandrawanshiSome examples:
1. Extending Business Content - EXIT_SAPLRSAP_001
data: l_s_icctrcst like icctrcst,
l_s_icctract like icctract,
l_s_icctrsta like icctrsta,
l_tabix like sy-tabix.
case i_isource.
when '0CO_OM_CCA_1'.
loop at c_t_data into l_s_icctrcst.
l_tabix = sy-tabix.
select single * from z0001 where kokrs = l_s_icctrcst-kokrs
and kostl = l_s_icctrcst-kostl.
if sy-subrc = 0.
l_s_icctrcst-zfield1 = z0001-zfield1.
l_s_icctrcst-zfield2 = z0001-zfield2.
modify c_t_data from l_s_icctrcst index l_tabix.
endif.
endloop.
when '0CO_OM_CCA_2'.
when '0CO_OM_CCA_3'.
when others.
exit.
endcase.
2. User Exit after Data loading
(a) Delete old request
REPORT Z_RSSM_START_SECOND_PROCESS_1 .
TABLES: RSREQDONE, " Request-Data
RSSELDONE, " Selection for current Request
RSICCONT. " Request posted to which InfoCube
DATA: L_T_SELDONE LIKE RSSELDONE OCCURS 0 WITH HEADER LINE.
DATA: L_T_ICUBE LIKE RSICCONT OCCURS 0 WITH HEADER LINE.
DATA: L_LOGSYS LIKE RSSELDONE-LOGSYS.
DATA: L_SOURCE LIKE RSSELDONE-SOURCE.
DATA: L_SELDATE LIKE RSSELDONE-SELDATE.
DATA: L_SELTIME LIKE RSSELDONE-SELTIME.
DATA: BEGIN OF L_T_RNR_DEL OCCURS 0,
ICUBE LIKE RSICCONT-ICUBE,
RNR LIKE RSSELDONE-RNR,
END OF L_T_RNR_DEL.
PARAMETER I_RNR LIKE RSREQDONE-RNR.
SELECT SINGLE * FROM RSSELDONE WHERE
RNR = I_RNR.
IF SY-SUBRC <> 0. "new rquest does not exist, wrong rnr !!!
EXIT.
ENDIF.
SELECT * FROM RSICCONT INTO TABLE L_T_ICUBE WHERE
RNR = I_RNR.
IF SY-SUBRC <> 0. "New request is not posted to any IC
EXIT. "nothing will be deleted
ENDIF.
L_SOURCE = RSSELDONE-SOURCE.
L_LOGSYS = RSSELDONE-LOGSYS.
L_SELDATE = RSSELDONE-SELDATE.
L_SELTIME = RSSELDONE-SELTIME.
SELECT * FROM RSSELDONE INTO TABLE L_T_SELDONE WHERE
SOURCE = L_SOURCE AND
LOGSYS = L_LOGSYS.
DELETE L_T_SELDONE WHERE
RNR = I_RNR. "new request will be deleted
DELETE L_T_SELDONE WHERE "delete younger requests
SELDATE > L_SELDATE OR
( SELTIME > L_SELTIME AND
SELDATE = L_SELDATE ).
*Sort
SORT L_T_SELDONE BY SELDATE DESCENDING SELTIME DESCENDING.
REFRESH L_T_RNR_DEL.
LOOP AT L_T_SELDONE. " Requests to be deleted
LOOP AT L_T_ICUBE. " Request existing in InfoCubes
SELECT SINGLE * FROM RSICCONT WHERE
ICUBE = L_T_ICUBE-ICUBE AND
RNR = L_T_SELDONE-RNR. "check if posted to IC's
IF SY-SUBRC = 0.
L_T_RNR_DEL-ICUBE = L_T_ICUBE-ICUBE.
L_T_RNR_DEL-RNR = L_T_SELDONE-RNR.
APPEND L_T_RNR_DEL.
ENDIF.
ENDLOOP.
IF NOT L_T_RNR_DEL[] IS INITIAL. " something found for rnr
EXIT.
ENDIF.
ENDLOOP.
LOOP AT L_T_RNR_DEL.
CALL FUNCTION 'RSSM_DELETE_REQUEST'
EXPORTING
REQUEST = L_T_RNR_DEL-RNR
INFOCUBE = L_T_RNR_DEL-ICUBE
EXCEPTIONS
REQUEST_NOT_IN_CUBE = 1
INFOCUBE_NOT_FOUND = 2
REQUEST_ALREADY_AGGREGATED = 3
REQUEST_ALREADY_COMDENSED = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
open for error-handling
ENDIF.
ENDLOOP.
if it helpful reward point are appreciated -
Step by step procedure for all exits available in SAP
Dear Friends,
Greets....................
I need detailed good and basic documents for all exits( Menu exit, Field exit, and Screen exit.....) available in SAP with step by step procedure.
Thanks in Advance
Thanks&Regards
Raj KumarThere are many different ways that exits are done in SAP and each way has many implementations - in total you would be talking about 10,000 to 100,000 possible exits. This cannot be documented in a single document.
SAP documentation on most exits exists in the SAP system - the best place to start looking is in the IMG for whatever module you need exits in - there is often an "Enhancements" node in the IMG with documentation on exits available and how to use them. Then the individual exits will often have documentation, or this can be found in OSS notes or by posting specific questions to this forum.
SAP also offer the BC425 training course on Enhancements and Modification that covers what you want
Andrew -
What is Field Exit--Step By Step procedure..
Hi,
What is Field Exit.
And How to validate a field on any screen using field exit.
what is the Procedure.
Please give me Step by Step Procedure.
Points will be given for straight answers..
Regards,
KiranPlease find below the step by step procedure for field exit :-
There are eight steps to creating a field exit:
Step 1: Determine Data Element
Step 2: Go To Field Exit Transaction
Step 3: Create Field Exit
Step 4: Create Function Module
Step 5: Code Function Module
Step 6: Activate Function Module
Step 7: Assign Program/Screen
Step 8: Activate Field Exit
Step 1: Determine Data Element
Before you can begin adding the functionality for a field exit, you must know the corresponding data element.
An easy way to determine the data element associated to a particular screen field is to:
Go the appropriate screen.
Position the cursor in the appropriate field.
Press F1 for field-level help.
Click on the Technical info pushbutton (or press F9) on the help dialog box.
On this Technical Information dialog box, the data element will be specified if the field is 'painted' from the ABAP/4 Dictionary.
Step 2: Go To Field Exit Transaction
The transaction to create field exits is CMOD.
You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.
From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits menu path.
After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.
NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.
Step 3: Create Field Exit
From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.
After choosing this menu path, a dialog box will prompt you for the appropriate data element .
Enter the data element name and click the Continue pushbutton.
Now, you will be able to create the function module associated to the data elements field exit.
Step 4: Create Function Module
You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the Continue pushbutton.
In the Function module field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:
FIELD_EXIT_<data element>
You can add an identifier (an underscore followed by a single character ).
The first function module for a data elements field exit must be created without an identifier.
To create the function module, click on the Create pushbutton, choose menu path Function module -> Create, or press F5.
After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing Enter, you will be able to go ahead and create the function module.
Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.
Step 5: Code Function Module
From the function modules attributes screen, click on the Source code pushbutton or choose the Goto -> Function module menu path to the code of the function module.
Here you will add your desired functionality for the field exit.
Remember that field exits function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.
You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.
Step 6: Activate Function Module
After coding the function module, you must remember to activate it.
Use the Function module -> Activate menu path to activate the function module.
At this point, you can return to the field exit transaction.
You should be able to 'green arrow' back to this transaction.
When you return to the field exit transaction, you will see an entry for the newly created field exit.
At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.
Also, the field exit will not be triggered yet because it is inactive.
Step 7: Assign Program/Screen
This step is only needed if you want to make a field exit local.
To make a field exit local, select the field exit and click on the Assign prog./screen pushbutton.
In the dialog box , indicate the appropriate program name and screen number.
This information indicates that the field exit is local to the specified screen in the specified program.
In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the Fld. Exit field.
If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.
If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data element>_<identifier>'.
Step 8: Activate Field Exit
The field exit must be active for it to be triggered by the system.
Activate the field exit by choosing the Field exit -> Activate menu path.
After assigning the field exit to a change request, its status will change to Active and it will be triggered automatically on the appropriate screen(s).
NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers
Regards
Kiran -
One step procedure for STO without delivery
Hi,
I need a help. I've configured the STO one step procedure (document type, supplying plant and receiving plant) but it does not working. When i use movement type 351 it does not automatically transfer the stock to the receiving plant.
Could anyone assist me?
Thanks.Hi,
If I use mvmt type 351 to GI and after that 101 to GR, it does not a one step procedure.
I believe the configuration Setup Stock Transport Order > Assign Document Type, One-Step Procedure, Underdelivery Tolerance is to configure the ONE STEP PROCEDURE by STO document type, supplying plant and receiving plant.
The issue is, it does not working. Is there any other missing config? Or i shld use other mvmnt type?
Thanks again -
Screen exit step by step procedure
Hi,
This is Surya from Vizag.Can anyone tell me step by step procedure for creating a screen exit for a standard application.Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screens flow logic.
the tcode is cmod...
Screen Exit is nothing but enhancing the screen like creating some more fields, subscreen and so on.
1. Go to the screen>System>Status-->Program (Double click this program. It will take you to the program)
2. Now, Goto-->Object Directory Entry.
3. Make a note the package name.
4. Now run the transactions SMOD, press F4 and enter theabove noted package, press enter.
5. It will display list of Exits.
6. Now go back to the initial screen SMOD.
7. Specify the exit name here and select the radio button Components.
8. It will display four group boxes one for FM, second for Fcodes, thrid for Screen areas and last for includes.
9. Goto transaction CMOD, create a new project, andclick the button "Enhancement assignments" and specify your enhancements that you got in SMOD.
10. Now bouble click the enhancement, it will take you to editor with some includes starting with Z, double clikc the include you want to edit and proceed.
Check this thread for step by step procedure to create Screen exit for XD01
Screen exit for XD01
Check the following link.
https://www.sdn.sap.com/irj/sdn/advancedsearch?query=how%20to%20find%20screen%20exits&cat=sdn_all
Also check this thread too.
pls send me one example for implementing menu-exits,screen exits and
Regards,
Maha -
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. -
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 -
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 -
Can anyone let me know the step by step procedure for creating userexits?
Hi all,
can anyone let me know the step by step procedure for creating user exits? for any transaction code like mm01 or vd01. If you have any docs send it across to my email id : [email protected]
thanxs in advance
hariHi,
*& Report ZEXITFINDER
*report zexitfinder.
*& Enter the transaction code that you want to search through in order
*& to find which Standard SAP User Exits exists.
*& Tables
tables : tstc, "SAP Transaction Codes
tadir, "Directory of Repository Objects
modsapt, "SAP Enhancements - Short Texts
modact, "Modifications
trdir, "System table TRDIR
tfdir, "Function Module
enlfdir, "Additional Attributes for Function Modules
tstct. "Transaction Code Texts
*& Variables
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
*& Selection Screen Parameters
selection-screen begin of block a01 with frame title text-001.
selection-screen skip.
parameters : p_tcode like tstc-tcode obligatory.
selection-screen skip.
selection-screen end of block a01.
*& Start of main program
start-of-selection.
Validate Transaction Code
select single * from tstc
where tcode eq p_tcode.
Find Repository Objects for transaction code
if sy-subrc eq 0.
select single * from tadir
where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir
where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir
where pname = tstc-pgmna.
select single * from enlfdir
where funcname = tfdir-funcname.
select single * from tadir
where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name = enlfdir-area.
move : tadir-devclass to v_devclass.
endif.
endif.
Find SAP Modifactions
select * from tadir
into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct
where sprsl eq sy-langu
and tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.
Take the user to SMOD for the Exit that was selected.
at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.
look in txn CMOD or SMOD, check enhancement 0VRF0001. It uses function module EXIT_SAPL0VRF_001. It is used to manipulate route determination for SD.
Here is the code
DATA: ls_xvbpa LIKE xvbpa,
lf_aland LIKE tvst-aland,
lf_azone LIKE tvst-azone,
lf_lland LIKE trolz-lland,
lf_lzone LIKE trolz-lzone,
ls_vbadr LIKE vbadr,
ls_xvbap LIKE xvbap,
ls_tvst LIKE tvst,
lv_route LIKE trolz-route.
LOOP AT xvbap INTO ls_xvbap.
IF NOT ls_xvbap-vstel IS INITIAL.
SELECT SINGLE * FROM tvst
INTO ls_tvst
WHERE vstel EQ ls_xvbap-vstel.
IF sy-subrc = 0.
lf_aland = ls_tvst-aland.
lf_azone = ls_tvst-azone.
ENDIF.
ENDIF.
READ TABLE xvbpa INTO ls_xvbpa WITH KEY vbeln = ls_xvbap-vbeln
posnr = ls_xvbap-posnr
parvw = 'Q1'.
IF sy-subrc = 0.
CALL FUNCTION 'SD_ADDRESS_GET'
EXPORTING
fif_address_number = ls_xvbpa-adrnr
IMPORTING
fes_address = ls_vbadr
EXCEPTIONS
address_not_found = 1
address_type_not_exists = 2
no_person_number = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
lf_lland = ls_vbadr-land1.
lf_lzone = ls_vbadr-lzone.
ENDIF.
ENDIF.
CALL FUNCTION 'SD_ROUTE_DETERMINATION'
EXPORTING
i_aland = lf_aland
i_azone = lf_azone
i_lland = lf_lland
i_lzone = lf_lzone
IMPORTING
e_route = lv_route
EXCEPTIONS
no_route_found = 1
departure_error = 2
destination_error = 3
invalid_generic_key = 4
customer_exit_error = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
ls_xvbap-route = lv_route.
MODIFY xvbap FROM ls_xvbap TRANSPORTING route.
ENDIF.
ENDLOOP.
For information on Exits, check these links
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sapgenie.com/abap/code/abap26.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
http://www.easymarketplace.de/userexit.php
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sappoint.com/abap/userexit.pdfUser-Exit
http://www.planetsap.com/userexit_main_page.htm
User-Exits
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sap-img.com/ab038.htm
http://www.planetsap.com/userexit_main_page.htm
http://www.sap-basis-abap.com/sapab013.htm
http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
<b>Reward points</b>
Regards -
Steps to create user exit Macro
Hello,
Can any share the step by Step procedure to create user exit macro for APO DP planning book.
Regards,
ManishHi Manish,
Please see OSS note 418801.
Regards,
Alexander -
Step by step procedure to Define Class
Hi Experts!!
Anybody please tell me step by step procedure do develop the class.
Thanks
AneeHi
Classes are templates for objects. Conversely, you can say that the type of an object is the same as its class.
components of the class describe the state and behavior of objects.
Local and Global Classes: Classes in ABAP Objects can be declared either globally or locally. You define global classes and interfaces in the Class Builder (Transaction SE24) in the ABAP Workbench. They are stored centrally in class pools in the class library in the R/3 Repository.
Local classes are defined within an ABAP program. Local classes and interfaces can only be used in the program in which they are defined.
When you use a class in an ABAP program, the system first searches for a local class with the specified name. If it does not find one, it then looks for a global class.
Apart from the visibility question, there is no difference between using a global class and using a local class.
Certain restrictions apply when you define the interface of a global class, since the system must be able to guarantee that any program using an object of a global class can recognize the data type of each interface parameter.
Defining Local Classes:
A complete class definition consists of a declaration part and, if required, an implementation part.
The declaration part of a class <class>
CLASS <class> DEFINITION. ... ENDCLASS.
It contains the declaration for all components (attributes, methods, events) of the class.
The declaration part belongs to the global program data.
If you declare methods in the declaration part of a class, you must also write an implementation part for it. This consists of a further statement block:
CLASS <class> IMPLEMENTATION. ... ENDCLASS
The implementation part of a local class is a processing block. Subsequent coding that is not itself part of a processing block is therefore not accessible.
REPORT YSUBOOPS17 .
CLASS c1 DEFINITION.
PUBLIC SECTION.
data : w_num type i value 5.
methods : m1.
ENDCLASS.
CLASS c1 IMPLEMENTATION.
METHOD M1.
WRITE:/5 'I am M1 in C1'.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA : oref1 TYPE REF TO c1 .
CREATE OBJECT : oref1.
write:/5 oref1->w_num.
CALL METHOD : oref1->m1 .
Defined in the global area of a local program :-
CLASS <class name> DEFINITION.
ENDCLASS.
All the attributes , methods, events and interfaces are declared here.
Cannot be declared inside a subroutine/function module.
Class definition cannot be nested.
REPORT YSUBOOPS17 .
CLASS c1 DEFINITION.
PUBLIC SECTION.
data : w_num type i value 5.
methods : m1.
ENDCLASS.
CLASS c1 IMPLEMENTATION.
METHOD M1.
WRITE:/5 'I am M1 in C1'.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA : oref1 TYPE REF TO c1 .
CREATE OBJECT : oref1.
write:/5 oref1->w_num.
CALL METHOD : oref1->m1 .
Local class in a program is implemented as follows:-
CLASS <class name> IMPLEMENTATION.
ENDCLASS.
Methods used by the class are described here.
A class can be implemented
At the end of the program( like subroutines).
After the class definition.
If the latter is adopted, one must then assign subsequent non-declarative statements explicitly to a processing block, such as START-OF-SELECTION, so that they can be accessed. -
Outbound Delivery Document Flow (One-Step procedure) Goods Receipt
I am trying to extract the Goods Receipt status of Outbound Deliveries which are posted using One-Step procedure. I can do this one delivery at a time using VL03N.
Some sites (plants) are configured with One-Step procedure and others are configured as Two-Step procedure.
Document flow of an Outbound Delivery is extracted from table VBFA.
For the two-step delivery process (Movement type 641) the Goods Receipt is recorded in table VBFA (Subs.doc.categ. / VBTYP_N = 'i'). Therefore, I can easily extract the goods receipts for these deliveries.
However, for the one-step procedure (Movement type 647) the Goods Receipt does not appear to be recorded in table VBFA. Does anyone know which table the Goods Receipt is stored for one-step procedure?
Using transaction VL03N we can view the document flow. It appears that for One-Step procedure the Goods Receipt is held at item level. By highlighting a delivery line in VL03N and viewing the document flow we can see the goods receipt for One-Step deliveries (therefore, the data must be held somewhere).
I understand that by using One-step procedure the goods receipt is posted automatically, so we can assume that there should never be outstanding Goods Receipts for One-Step sites. However, I have been tasked with the job of reconciling all deliveries for the past 12 months. I need to prove that a goods receipt has been posted for every single delivery.
Any advice is much appreciated.Thankyou for the advice. I will proceed with your recommendation.
However, the query is inefficient since the link between LIKP and MKPF does not use the primary key (Article Doc. / MBLNR). We have almost 7 million records in MKPF table.
Is there any intermediate tables I can include between LIKP and MKPF so that only primary keys are used for the joins? -
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 procedures for various scenarios Required ASAP!!!!!
Hi All,
Pls mail me the step by step procedure of the following scenaios.
1.) File-XI-File Scenario.
2.) Text file scenario.
3.)File to Idoc
4.)File XI- RFC.(R/3)
5.) BPM scenarios.
any stuff related pls mail to [email protected]
Thanks in Advance.
Sofia.Hi Sofia,
/people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters - IDoc to File
/people/ravikumar.allampallam/blog/2005/06/24/convert-any-flat-file-to-any-idoc-java-mapping - Any flat file to any Idoc
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy - ABAP Proxy to File
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30 - File to JDBC
/people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy - File to ABAP Proxy
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1 - File to File Part 1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2 - File to File Part 2
/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit - File to RFC
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1685 [original link is broken] [original link is broken] [original link is broken] [original link is broken] - File to Mail
BPM Scenarios:-
/people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
Regards.
Praveen
Maybe you are looking for
-
There is a report needed which will be started with a variant by a job. Reportname: ZRF_INT_SPOOL_SEND That report is supposed to copy each day the lists of several interfaces from the spool into a file and to send this file as an attachment by email
-
Hi there, My laptop currently run in an error(BlueScreen), and the bluescreen message is SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M (1000007e). How to solve it....thanks.... My Laptop model: Toshiba Satellite M840 OS: Windows 8.1 download the minidump fi
-
I don't know why, but my Bridge will no longer open. There is no loading screen. Just nothing happens when I try and open it. also, when I try to connect to mini bridge the pallette comes up, but it doesn't connect. what can I do? thanks,
-
Hi All, A Sales Group (C55) has been transferred from Sales Office (C001) to Sales Office (C019). My doubt is I have to delete old assignment and create new assignment or old and new both are to be maintained? pl. guide me. Thanks & Regards, Sarran
-
CP4 / Windows 7 / IDT High Definition Audio CODEC / No worky
Hi, I just got a new laptop with Windows 7 which has a IDT High Definition Audio CODEC sound card. I got Captivate 4 installed and seemly working great... UNTIL I go to record the voice over. It doesn't recognize my microphone. It's not that the so