User Exits and conversion from 2.3-4.5
Hi All,
I am trying to modify the old (2.3)Oracle Ship Confirm screen, basically create a new front end that does not require too much navigation/key strokes by the user, and to accomplish this have converted the 2.3 form to 4.5. However, the form uses USER EXITS, and I am unable to locate them anywhere after the conversion. At runtime I get the error, 'FRM-40800 User Exits FND does not exist'. Does anyone know what happens to User Exits, what trigger they go to, when converting from 2.3 to 4.5? Where are they usually located on the system (ie, Oracle_HOme directory), or even if USER EXITS created by Oracle can be modified. THanks!
Hi All,
I am trying to modify the old (2.3)Oracle Ship Confirm screen, basically create a new front end that does not require too much navigation/key strokes by the user, and to accomplish this have converted the 2.3 form to 4.5. However, the form uses USER EXITS, and I am unable to locate them anywhere after the conversion. At runtime I get the error, 'FRM-40800 User Exits FND does not exist'. Does anyone know what happens to User Exits, what trigger they go to, when converting from 2.3 to 4.5? Where are they usually located on the system (ie, Oracle_HOme directory), or even if USER EXITS created by Oracle can be modified. THanks!
Similar Messages
-
How to find the user exits and BADIS from SPRO
Hi all,
please let us know how to find the User exits or BADIS for an application from SPRO.
Regards,
MadhaviHi Varisetty,
Finding user exits and BAdis from SPRO can be cumbsersome. In most instances you know the standard SAP program and want to check (find) an exit called in the flow of the transaction. You can do this as follows:
For User Exit:
Put "/h" in the command box (to start debugging)
Execute your transaction
When you enter debugging - put a breakpoint at statement
CALL CUSTOMER-FUNCTION
the control will stop at all calls to User Exits
For BAdi (it's simpler)
Go to class CL_EXITHANDLER in SE24
Enter method GET_INSTANCE
Put a breakpoint in this method
Run your standard transaction - control will stop at all BAdis called within the flow since this method is used to check BAdi implementations before invoking them
Also, if you want to find enhancements by package - go to SE80, enter the package and check function groups starting with X - those contain function exits (conventional user exits). For BAdis in a package, there is normally a separate tree node (under the package) for Enhancements hence clearly identifiable.
Cheers,
Adi -
Migration of the User exits and reports to new ECC 6.0 from 4.6c
Hello Everyone,
we have lot of user exits and menu exits in 4.6c system... now we are implementing new ECC6.0 without much changes in Business process(as is)... my question is...is it possible to bring all the user exits reports and smartforms to new ECC6.0 using some transport mechanism...or do we need to copy and paste(upload and download) from the old system....
regards,
Gayatri Gaddam.Gayatri,
check the fallowing similar link
https://forums.sdn.sap.com/click.jspa?searchID=1744490&messageID=3040343
~~Guduri -
Re: Difference between user-exits and enhancements
Hi ,
Can any one explain the difference between user-exits and enhancements with an exmpale.
I will give u full points.
thanks®ards,
Bhushan-karra.Hi,
User exit - A user exit is a three character code that instructs the system to access a program during system processing.
SXX: S is for standard exits that are delivered by SAP. XX represents the 2-digit exit number.
UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number
Customer exit - The R/3 enhancement concept allows you to add your own functionality to SAPs standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks. *-- Mani
The following document is about exits in SAP :-
The R/3 enhancement concept allows you to add your own functionality to SAPs standard business applications without having to modify the original applications.
SAP creates user exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.
Types of Exits
There are several different types of user exits. Each of these exits acts as hooks where you can attach or "hang" your own add-ons.
Menu Exits
Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu items to call up your own screens or to trigger entire add-on applications.
SAP creates menu exits by defining special menu items in the Menu Painter. These special entries have function codes that begin with "+" (a plus sign). You specify the menu items text when activating the item in an add-on project.
Screen Exits
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.
Function Module Exits
Function module exits add functions to R/3 applications. Function module exits play a role in both menu and screen exits.
When you add a new menu item to a standard pull down menu, you use a function module exit to define the actions that should take place once your menu is activated.
Function module exits also control the data flow between standard programs and screen exit fields. SAP application developers create function module exits by writing calls to customer functions into the source code of standard R/3 programs.
These calls have the following syntax:
CALL CUSTOMER-FUNCTION 001.
Field Exits
Field exits allow you to create your own programming logic for any data element in the Dictionary. You can use this logic to carry out checks, conversions, or business-related processing for any screen field. Example: The data element BBBNR identifies a companys international location number. You might want to set up your R/3 System so that all international location numbers are larger than 100.
The field exit concept lets you create a special function module that contains this logic.
You assign the special function module to the data element BBBNR. You then assign the module to any programs and screens in which users can add new international location numbers. When you activate your field exit, the system automatically triggers your special routine whenever a user enters a company location number.
Check these links for more details -
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1978b543b111d1896f0000e8322d00/frameset.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://sap.niraj.tripod.com/id21.html
If this answers your question, please close the thread.
Check this link also,
https://forums.sdn.sap.com/click.jspa?searchID=5924777&messageID=3801056
Thanks,
Reward If Helpful. -
What is difference between User Exits and BAPI
hello sap gurus
what is difference between User Exits and BAPIshttp://www.sap-img.com/abap/what-is-user-exits.htm
www.****************
Where as this customer exits are again divided into:
1. Menu Exits.
2. Field Exits.
3. Screen Exits.
4. Function module exits.
These all the things comes under Enhancements.
User exits
1.A user exit is a three character code that instructs the system to access a program during system processing.SXX: S is for standard exits that are delivered by SAP.
XX represents the 2-digit exit number.UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number
2.USER EXITS are FORMS and are called by SAP standard programs
using PERFORM.
3.Inside the form (user exit) you can read and change almost
any global data from host program.
4. User exits are more flexible because you have more information to use in your code but on the other hand , it is very easy to manipulate erroneously global data and lead the standard program to a dump or even to make database inconsistent.
5.While changing User-exit,Access Key is required,
BAPI is nothing function module but which is remote enabled, means you can access this fm through other SAP or non-SAP system by assingning to business object,which we can crea in SWO1 transaction.
more details see WWW.****************
reward if helpful -
Hello All,
A code has been written in the User exit for Tcode ME22N, Which sets the indicator on PO line item. This has been done by modifying the standard itab POT by using field symbols, because the fields to be modified are shown in display mode in the tcode ME22N and cannot be done in BDC. See the below code in user exit ZXM06U43.
DATA char(50) VALUE '(SAPLMEPO)POT[]'.
CLEAR wa_ind.
FIELD-SYMBOLS <f1> TYPE ANY.
Move memory of internal table POT to field symbol f1.
ASSIGN (char) TO <f1>.
Move content of f1 to internal table i_ind
i_ind[] = <f1> .
LOOP AT i_ind INTO wa_ind.
IF wa_ind-pstyp = '9'. " Service PO - item category
IF PO Line item has History per Purchasing Document as 'D'
Set indicators on, for the line item.
CLEAR v_cnt.
SELECT COUNT( * ) INTO v_cnt FROM ent5100
WHERE ebeln = wa_ind-ebeln
AND ebelp = wa_ind-ebelp
AND bewtp = 'D'.
IF sy-subrc = 0.
wa_ind-wepos = 'X'. " Set Goods Receipt Indicator
wa_ind-webre = 'X'. " Set GR-based IV Indicator
wa_ind-lebre = 'X'. " Set Srv-based IV Indicator
ELSE.
*End of addition SAP-20070910104025 - SL36 - D01K963369
wa_ind-wepos = ' '. " Clear Goods Receipt Indicator
wa_ind-webre = ' '. " Clear GR-based IV Indicator
wa_ind-lebre = ' '. " Clear Srv-based IV Indicator
wa_ind-xersy = ' '. " Clear ERS Indicator
ENDIF.
MODIFY i_ind FROM wa_ind INDEX sy-tabix.
ENDIF.
ENDLOOP.
<f1> = i_ind[].
ENDIF.
ENDIF.
This code is in production and has been working fine.
The requirnment is now to make this indicator work for all the Purchase order before this code has been written in the Exit. For this my functional suggests that to write a separate program using BDC for PO change and jus add a period/dot in the short text and save it. The code has been written, the user exit and the above code is getting triggrred values are updated in internal table correctly.
However the flags was not set or cleared when seen in the tcode ME22N . This works fine if the tcode me22n is run directly and not working in BDC.
I have tried with ME22 without enjoy transaction in BDC changing the POT Program to SAPMM06E. It does not work.
Please help me as why it is not uodating in the table when using BDC.
Thanks in Advance.
Senthil KumarHi All,
Any luck on this??
Thanks -
Export to memory" (bukrs) in one user exit and import to memory in other.
I have to "export to memory" (bukrs) in one user exit and import to memory in other.
Does anyone has an examplein one user exit:
EXPORT field TO MEMORY ID 'Z_BUKRS'.
in another user exit:
IMPORT field FROM MEMORY ID 'Z_BUKRS'.
what is the problem? -
BAdi & user-exits while upgrade from 4.6c to ECC6
Hello all,
Can anybody put light on how User-exits and BAdi will be effected while upgrade from lower version to ECC6.
Many Thnanks.....
Apps.Hi,
The main concept of enhancements is to keep the code unaffected during version upgrades
Hence all the BADI implementations and User Exit/Customer exits implementations will be in place and no effect due to upgrade...I hope in case of badi, some new BADI(as part of enhancement framework-GET BADI/CALL BADI) will be added up and the old BADI(Those in 4.6c or below) will not get affected.
Regards
Shiva -
I am looking for a document that suggests coding practices and rules that should be followed in User Exits and VOFMs in SAP R/3. Like value the variable XKWERT with the desired value in Pricing Condition Formula VOFMs, or never read an SAP defined internal table into the header line. Things like that. Does any one know of such a document?
Hi, this may help you.
User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
The naming standard of function modules for functionmodule exits is:
EXIT_<program name><3 digit suffix>
The call to a functionmodule exit is implemented as:
CALL CUSTOMER.-FUNCTION <3 digit suffix>
To find a Exit.
Goto Transaction -- Find The Package
SMOD >f4>Use the Package here to Find the Exits In the Package.
Else if you Want to search by Application Area wise ,
There is one more tab to find the Exits in the Respective Application Area.
Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
Now Run ur Transaction to Check if it Triggers.
Thats it..
Suppose you need to find out all the user exits related to a tcode.
1. Execute the Tcode.
2. Open the SAP program.
3. Get the Development Class.
4. Execute Tcode SE84.
5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
6. Enter the Development class and execute.
Check out this thread..
The specified item was not found.
1. Type the transaction : system->status-> <PROG. NAME>
2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.
3. Open CMOD utilities->SAP enhancements
EDIT->All selections
4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.
5. The displayed list contains the enhancements names for the transaction You were looking for.
6. Create a project in CMOD and the code in default include->activate.
http://www.erpgenie.com/sap/abap/code/abap26.htm
which gives the list of exits for a tcode
http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
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
These links will help you to learn more on user exits.
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
http://www.planetsap.com/userexit_main_page.htm
http://www.allsaplinks.com/user_exit.html
www.sap-img.com/abap/what-is-user-exits.htm
Also please check these threads for more details about user exits.
Re: Screen exit
user exit and customer exit
user exit
1. Document on UserExits in FI/CO
http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
2. Finding User Exits...
http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
3. List of all User Exits...
http://www.planetsap.com/userexit_main_page.htm
VOFM is the transaction where you can maintain Requirement routines, which are assigned through cusomization.
To create a routine you need access key & routine no. starts with "9".for ex. 901,902 etc.
one important thing to note that even if you have some syntax errors inside your routine, it will get activated without errors. So, you need to do Main Program check before activation.
Refer to SAP Note no : 327220,381348,156230.
goto VOFM tcode for wrting the Routines
from menu Requirements-> pricing
You can create the pricing related routines here
Use the Number from 900 only
take the acess key and try to copy the existing routine and change the code to your requirement and keep a break point and see
Activate it before execution
Reward If Helpfull.
Regards Madhu. -
Dear All,
I am in need to find active user exits and BAdis in our implementation.
Is there any specific Tcode or Program?.
Could anybody help me in this regard.
Regards,
S.SridharHi Sridhar,
To find the active user exits, use the below program.
REPORT ZJK_USED_ENHANCEMENT_LIST .
TABLES : TFDIR, TRDIR, D010SINF, MODSAP, MODACT, TDEVCT, TADIR, TSTC, TSTCT, V_TDEVC, V_FDIRT.
TYPE-POOLS : SLIS.
TYPES : BEGIN OF ST_TRDIR,
NAME LIKE TRDIR-NAME,
CDAT LIKE TRDIR-CDAT,
UDAT LIKE TRDIR-UDAT,
RSTAT LIKE TRDIR-RSTAT,
END OF ST_TRDIR.
TYPES : BEGIN OF ST_TFDIR,
SNO(4) TYPE C,
INCL LIKE TFDIR-PNAME,
CDAT LIKE TRDIR-CDAT,
UDAT LIKE TRDIR-UDAT,
R3STATE LIKE D010SINF-R3STATE,
PNAME LIKE TFDIR-PNAME,
INCLUDE LIKE TFDIR-INCLUDE,
FUNCNAME LIKE TFDIR-FUNCNAME,
ENHANCE LIKE MODSAP-NAME,
STEXT LIKE V_FDIRT-STEXT,
PROJECT LIKE MODACT-NAME,
DEVCLASS LIKE TDEVC-DEVCLASS,
CTEXT LIKE TDEVC-CTEXT,
END OF ST_TFDIR.
DATA : IT_TRDIR TYPE TABLE OF ST_TRDIR,
WA_TRDIR TYPE ST_TRDIR.
DATA : IT_TFDIR TYPE TABLE OF ST_TFDIR,
WA_TFDIR TYPE ST_TFDIR.
DATA : LIKE(2) TYPE N,
X(2),
SNO(4),
HTYPE TYPE DD01V-DATATYPE.
**********************************ALV************************************
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV ,
TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP'.
**********************************ALV************************************
PERFORM MANUAL_FIELDCAT USING 'SNO' 'IT_TFDIR' 'X' '4' 'S.No' .
PERFORM MANUAL_FIELDCAT USING 'INCL' 'IT_TFDIR' 'X' '15' 'Include Name' .
PERFORM MANUAL_FIELDCAT USING 'CDAT' 'IT_TFDIR' 'X' '15' 'Created Date' .
PERFORM MANUAL_FIELDCAT USING 'UDAT' 'IT_TFDIR' ' ' '15' 'Last Modified' .
PERFORM MANUAL_FIELDCAT USING 'R3STATE' 'IT_TFDIR' ' ' '15' 'Active / Inactive' .
PERFORM MANUAL_FIELDCAT USING 'PNAME' 'IT_TFDIR' ' ' '12' 'Prgram Name' .
*PERFORM MANUAL_FIELDCAT USING 'INCLUDE' 'IT_TFDIR' ' ' '10' 'Include No' .
PERFORM MANUAL_FIELDCAT USING 'FUNCNAME' 'IT_TFDIR' ' ' '30' 'Function Module' .
PERFORM MANUAL_FIELDCAT USING 'STEXT' 'IT_TFDIR' ' ' '74' 'Purpose of use' .
PERFORM MANUAL_FIELDCAT USING 'ENHANCE' 'IT_TFDIR' ' ' '15' 'Enhancement' .
PERFORM MANUAL_FIELDCAT USING 'PROJECT' 'IT_TFDIR' ' ' '10' 'Project' .
PERFORM MANUAL_FIELDCAT USING 'DEVCLASS' 'IT_TFDIR' ' ' '10' 'Package' .
PERFORM MANUAL_FIELDCAT USING 'CTEXT' 'IT_TFDIR' ' ' '100' 'Module' .
PERFORM SELECTION.
PERFORM LAYOUT.
PERFORM CALL_GRID_DISPLAY.
**********************************ALV************************************
FORM SELECTION.
SELECT NAME CDAT UDAT RSTAT FROM TRDIR INTO TABLE IT_TRDIR WHERE NAME LIKE 'ZX%' AND SUBC EQ 'I'.
LOOP AT IT_TRDIR INTO WA_TRDIR.
WA_TFDIR-INCL = WA_TRDIR-NAME.
WA_TFDIR-CDAT = WA_TRDIR-CDAT .
WA_TFDIR-UDAT = WA_TRDIR-UDAT.
SELECT SINGLE * FROM D010SINF WHERE PROG EQ WA_TRDIR-NAME AND R3STATE = 'I'.
IF SY-SUBRC EQ 0.
WA_TFDIR-R3STATE = 'I'.
ELSE.
WA_TFDIR-R3STATE = 'A'.
ENDIF.
X = STRLEN( WA_TRDIR-NAME ).
X = X - 2.
CALL FUNCTION 'NUMERIC_CHECK'
EXPORTING
STRING_IN = WA_TRDIR-NAME+X
IMPORTING
HTYPE = HTYPE.
IF HTYPE EQ 'NUMC'.
SNO = SNO + 1.
WA_TFDIR-SNO = SNO.
WA_TFDIR-INCLUDE = WA_TRDIR-NAME+X.
CONCATENATE 'SAPL' WA_TRDIR-NAME+1 INTO WA_TRDIR-NAME.
X = STRLEN( WA_TRDIR-NAME ).
X = X - 3.
WA_TFDIR-PNAME = WA_TRDIR-NAME(X).
SELECT SINGLE * FROM TFDIR WHERE PNAME EQ WA_TFDIR-PNAME AND INCLUDE EQ WA_TFDIR-INCLUDE.
IF SY-SUBRC EQ 0.
WA_TFDIR-FUNCNAME = TFDIR-FUNCNAME.
SELECT SINGLE * FROM MODSAP WHERE MEMBER EQ WA_TFDIR-FUNCNAME.
IF SY-SUBRC EQ 0.
SELECT SINGLE * FROM MODACT WHERE MEMBER EQ MODSAP-NAME.
ENDIF.
WA_TFDIR-ENHANCE = MODSAP-NAME.
WA_TFDIR-PROJECT = MODACT-NAME.
SELECT SINGLE * FROM TADIR WHERE OBJ_NAME = MODSAP-NAME.
SELECT SINGLE * FROM TDEVCT WHERE DEVCLASS = TADIR-DEVCLASS AND SPRAS = SY-LANGU.
SELECT SINGLE * FROM V_FDIRT WHERE FUNCNAME EQ WA_TFDIR-FUNCNAME AND SPRAS EQ SY-LANGU.
WA_TFDIR-STEXT = V_FDIRT-STEXT.
WA_TFDIR-DEVCLASS = TDEVCT-DEVCLASS.
WA_TFDIR-CTEXT = TDEVCT-CTEXT.
APPEND WA_TFDIR TO IT_TFDIR.
ENDIF.
ENDIF.
CLEAR : X, D010SINF, TFDIR, HTYPE, MODSAP, MODACT, TADIR, TDEVCT.
ENDLOOP.
ENDFORM. "SELECTION
*& Form MANUAL_FIELDCAT
text
-->VALUE(P_0185) text
-->VALUE(P_0186) text
-->VALUE(P_0187) text
-->VALUE(P_0188) text
-->VALUE(P_0189) text
FORM MANUAL_FIELDCAT USING VALUE(P_0185)
VALUE(P_0186)
VALUE(P_0187)
VALUE(P_0188)
VALUE(P_0189).
WA_FIELDCAT-FIELDNAME = P_0185.
WA_FIELDCAT-TABNAME = P_0186.
WA_FIELDCAT-KEY = P_0187.
WA_FIELDCAT-OUTPUTLEN = P_0188.
WA_FIELDCAT-SELTEXT_L = P_0189.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM. " manual_fieldcat
*& Form LAYOUT
text
FORM LAYOUT .
WA_LAYOUT-ZEBRA = 'X'.
ENDFORM. " LAYOUT
*& Form CALL_GRID_DISPLAY
text
FORM CALL_GRID_DISPLAY .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = TOP_OF_PAGE
I_GRID_TITLE = 'Used Exit Details'
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = IT_TFDIR.
ENDFORM. " CALL_GRID_DISPLAY
*& Form TOP
text
FORM TOP .
DATA: HEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
HEADER-TYP = 'H'.
WRITE : 'Plant :' TO HEADER-INFO+1,
P_WERKS TO HEADER-INFO+10.
APPEND HEADER.
CLEAR HEADER.
HEADER-TYP = 'H'.
WRITE : 'Month :' TO HEADER-INFO+1,
P_MONYR TO HEADER-INFO+10.
APPEND HEADER.
CLEAR HEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEADER[]
I_LOGO = 'JK'.
ENDFORM. "TOP
regards
Arun -
Help with BDC, user exits and BAPI
Hello all:
1) I posted a question before about BDC documentation and people sent me lot of helpful material. Thanks to all of them. I am very new to ABAP coming from VB background and wondering if someone can tell me how to practice one simple BDC program starting from scratch. What do I first need to do to get started? I have Mini WAS 6.20 test version and like to practice BDC programming.
2) What are user exits and BADI and can anyone provide some documentation and sample code if possible.
Thanks everyone in advance.
--Mithun.Hai Mithun Dha
Go through the following Documentation & Example Code
Just check these links.
Diff. between LSMW & BDC?
BDC SESSION
CALL TRANSACTION
CALL DIALOG
What is BDC or batch input
The Batch Input is a SAP technic that allows automating the input in transactions. It lies on a BDC (Batch Data Commands) scenario.
BDC functions:
E BDC_OPEN_GROUP : Opens a session group
E BDC_CLOSE_GROUP : Closes a session
E BDC_INSERT : Insert a BDC scenario in the session
E The ABAP statement "CALL TRANSACTION" is also called to run directly a transaction from its BDC table.
It runs the program RSBDCSUB in order to launch automatically the session. The session management is done through the transaction code SM35.
The object itself is maintanable through the transaction SE24.
BDC methods:
Method
Description
Parameters
OPEN_SESSION
Opens a session
SUBRC (Return Code ? 0 OK)
SESSIONNAME (Session to be created)
CLOSE_SESSION
Closes a session
None
RESET_BDCDATA
Resets the BDC Internal Table...
None. Normally, for internal purposec
BDC_DYNPRO
Handles a new screen
PROGNAME (Name of the program)
DYNPRONR (Screen Number)
BDC_FIELD
Puts a value on the screen
FIELDNAME (Name of the field)
FIELDVALUE (Value to be passed)
CONSTRUCTOR
Constructor - Initializes NO_DATA
NODATA (No data character). The constructor is called automatically when the object is created.
RUN_SESSION
Launches a session with RSBDCBTC
None
CALL_TRANSACTION
Calls a transaction with the current BDC Data
MODE (Display Mode)
UPDATE (Update Mode)
TCODE (Transaction to be called)
BDC_INSERT
Inserts the BDC scenario in the session
TCODE (Transaction to be called)
BDC techniques used in programs:
1) Building a BDC table and calling a transaction,
2) Building a session and a set of BDC scenarios and keeping the session available in SM35,
3) Building a session and lauching the transaction right after closing the session.
BDC using Call Transaction
BDC using Call transaction involves calling an SAP transaction in back ground from within the ABAP
program. The process involves building an Internal BDC table containing the screen information needed to
execute the required transaction and then passing this to the Call transaction command (See code example).
The full procedure for creating a BDC program is as follows:
What is the difference between batch input and call transaction in BDC?
Session method.
1) synchronous processing.
2) can tranfer large amount of data.
3) processing is slower.
4) error log is created
5) data is not updated until session is processed.
Call transaction.
1) asynchronous processing
2) can transfer small amount of data
3) processing is faster.
4) errors need to be handled explicitly
5) data is updated automatically
BATINPUT/DIRECT INPUT
A: Batch-inputs can not be used to fill the "delivery due list" screen because it is not a dynpro. This is a standard SAP report. A SAP report (check with "System -> Status") may be called using SUBMIT sentence with the appropriate options . It is preferred to call a report than create a Batch-input program.
GO THROUGH THIS LINK
http://www.guidancetech.com/people/holland/sap/abap/zzsni001.htm
check with this code
include bdcrecx1.
tables : mara.
data : begin of it_mara occurs 0,
matnr like mara-matnr,
mbrsh like mara-mbrsh,
mtart like mara-mtart,
maktx like makt-maktx,
meins like mara-meins,
end of it_mara.
start-of-selection.
perform upload_data.
perform open_group.
loop at it_mara.
perform bdc_dynpro using 'SAPLMGMM' '0060'.
perform bdc_field using 'BDC_CURSOR'
'RMMG1-MATNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RMMG1-MATNR'
it_mara-matnr.
perform bdc_field using 'RMMG1-MBRSH'
it_mara-mbrsh.
perform bdc_field using 'RMMG1-MTART'
it_mara-mtart.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(02)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(02)'
'X'.
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'MAKT-MAKTX'
it_mara-maktx.
perform bdc_field using 'BDC_CURSOR'
'MARA-MEINS'.
perform bdc_field using 'MARA-MEINS'
it_mara-meins.
perform bdc_field using 'MARA-MTPOS_MARA'
'NORM'.
perform bdc_transaction using 'MM01'.
endloop.
perform close_group.
*& Form upload_data
text
--> p1 text
<-- p2 text
FORM upload_data .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'c:\mat_bdc.txt'
FILETYPE = 'ASC'
TABLES
DATA_TAB = it_mara.
IF SY-SUBRC = 0.
SORT IT_MARA BY MATNR.
ENDIF.
ENDFORM. " upload_data
flat file structure is
PRANIT_011 CCOUP This is Testing material kg
PRANIT_012 CCOUP This is Testing material kg
PRANIT_013 CCOUP This is Testing material kg
PRANIT_014 CCOUP This is Testing material kg
PRANIT_015 CCOUP This is Testing material kg
when your selecting views
this particular material will belongs to Po/Sales or some other areas .
when you select basic 1 --it gives description
select basic 2 -- it gives tax ,amount, base unit of measurement
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.
For User Exits
User Exits
Screen exits are exits that allow you to use a reserved part of the screen (A subscreen) to display or input data.
It is determined be SAP where the sub screen will be displayed.
The syntax is: CALL CUSTOMER-SUBSCREEN
The screen exit is not processed untill the corresponding subscreen has been created in an enhancement project,
and the project has been activated.
Note:
Function codes are only processed in the main screens flow logic
You are not allowed to enter a name for the subscreens command field
You are not allowed to define GUI stauses
You are not allowed to enter a value for Next screen
The global data of the program is not available for the subscreen. Data for the subscreen is provided by function modules.
These function modules belongs to the same function group as the subscreen Subscreens are edited with transaction CMOD.
When you activate a project containg subscreens, the calling screen is regenerated and the subscreen is displayed next
time you display the calling screen
The developer must create the subscreen and the corresponding PBO and PAI modules
How to identify screen exits
Look after CALL CUSTOMER-SUBSCREEN in the screenprogram of the screen you want to modify.
Use transaction CMOD menu Utillities -> SAP enhancements to search for screen exits
MENU EXITS
Menu exits allow you to add your own functionallity to menus. Menu exits are implemented by SAP, and are reserved menu
entries in the GUI interface. The developer can add his/her own text and logic for the menu.
Function codes for menu exits all start with "+"
Example
We want to create a new menu item in the Office menu. The text for the menu should be "Run ZTEST", and the menu will
run report ZTEST.
Goto transaction SE43 Area Menu Maintenance
In Area Menu Paramenter type 'S000' (S triple Zero)
Select Change and ignore all the warning screens
Expand the office menu. In the buttom of the office tree you will find a menu named "Customer function"
Double click on the text. In the pop-up screen change the text to "Run ZTEST". Note that the trsnaction code is +C01
Goto transaction SE93 and create transaction +C01 that calls report ZTEST.
Now you will se the menu displayed in the office tree. If you delete transaction +C01 again, the new menu will dissapear.
USER EXITS
User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule.
The code for the function module is writeen by the developer. You are not writing the code directly in the function module,
but in the include that is implemented in the function module.
The naming standard of function modules for functionmodule exits is: EXIT_<program name><3 digit suffix>
The call to a functionmodule exit is implemented as: CALL CUSTOMER.-FUNCTION <3 digit suffix>
Example:
The program for transaction VA01 Create salesorder is SAPMV45A
If you search for CALL CUSTOMER-FUNCTION i program SAPMV45A you will find ( Among other user exits):
CALL CUSTOMER-FUNCTION '003'
exporting
xvbak = vbak
xvbuk = vbuk
xkomk = tkomk
importing
lvf_subrc = lvf_subrc
tables
xvbfa = xvbfa
xvbap = xvbap
xvbup = xvbup.
The exit calls function module EXIT_SAPMV45A_003
2. How to find user exits
Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements.
Enter the exit name and press enter.
You will now come to a screen that shows the function module exits for the exit.
3. Using Project management of SAP Enhancements
We want to create a project to enahance trasnaction VA01
Go to transaction CMOD
Create a project called ZVA01
Choose the Enhancement assign radio button and press the Change button
In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only
be used i 1 project. If the enhancement is allready in use, and error message will be displayed
Press Save
Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.
Now the function module is displayed. Double click on include ZXVVAU04 in the function module
Insert the following code into the include: E_KUNNR = '2155'.
Activate the include program. Go back to CMOD and activate the project.
Goto transaction VA01 and craete a salesorder. Note that Sold-to-party now automatically is "2155"
Have look at this links
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf
http://www.sapgenie.com/abap/ole.htm
http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf
Creation of Field Exits
Step by step procedure for creating Field Exits
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 eF1f for field-level help.
Click on the eTechnical infof pushbutton (or press eF9f) 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 eContinuef pushbutton.
- Now, you will be able to create the function module associated to the data elementfs 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 eContinuef pushbutton.
- In the eFunction modulef 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 elementfs field exit must be created without an identifier.
- To create the function module, click on the eCreatef pushbutton, choose menu path Function module -> Create, or press eF5f.
- 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 eEnterf, 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 modulefs attributes screen, click on the eSource codef 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 exitfs 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 eAssign prog./screenf 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 eFld. Exitf 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 eActivef 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
Thanks & regards
Sreenivasulu P -
User Exit and BADI for Sales Order
Dear Experts,
please give me available user exits and BADI for sales order .i want to take the data from sales order at the time of sales order posting .Hi,
In debugging you can find some Enhancement Spots where you can implement your code. This lets you ignore the need for access key, but its a time consuming process spotting out the exact enhancement point.
Regards
Karthik D -
Difference between bex user exit and macros in functionality?
Hi all,
I need to create a report on material master data. I created an infoset on 0material and 0mat_plant. In the requirem
ent, I have a report containing different material numbers followed by attributes in each row. the final column in each
row should be calculated using logic. the logic involves comparing different row values and arrive at final conclusion.
the logic comprises of large number of if conditions. so should i use bex user exit or excel macros?
what is the difference between user exit and macros in funcitonalilty?
is there an issue transporting the macro to Prod for end users to use?
any performance criteria?
Any how to documents ..will be of a lot of help
plz send them to [email protected]
Message was edited by:
ravi aHi,
Macros offer a powerful and flexible way to extend the features of MS Excel. You can either create a macro using VB code or Record a macro. Use Alt+F11 for creating macro using VB code.
You can refer to Microsoft help site or this link for more details:
http://www.taltech.com/support/sw_tricks/exmacros.htm
User-exits are empty subroutines that SAP Developers have provided for you.You can fill them with your own source code.Technically this is a modification.Customer exits are nothing but a include in customer name space will be provided in the function module which starts with CALL CUSTOMER.You can fill them with your own source code.Technically this is an enhancement.
look into following links for procedure to find and use user-exits transaction for finding user-exits is 'SMOD'
http://www.sapbrain.com/TUTORIALS/TECHNICAL/user_exits_tutorial.html
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm -
Why can't I delete a user name and password from saved passwords in iOS 7?
Why can't I delete a user name and password from saved passwords in iOS 7? I found them and they are not anything that I am familiar with? They are from a t-com.de. I have been to Germany in the last month. Not sure if there is any association. Any thoughts?
You found them ... where? Are they in Safari somewhere?
If so, do Settings > Safari > Clear History and Settings > Safari > Clear Cookies and Data
If that doesn't clear them (and they are from Safari), try Settings > Safari > Advanced > Website Data and clear that area. -
Hi i want to become storng in user exit and bapi
hi experts.,
i want to become strong in the area of user exits and badi's .
please send me the documents for it ,
Thanks in advance.
Regards,
HituHi Hitu,
Check these links..
<u><b>Badi</b></u>http://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
<u><b>User-Exits</b></u>
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
These links will help you to learn more on user exits.
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
http://www.planetsap.com/userexit_main_page.htm
http://www.allsaplinks.com/user_exit.html
www.sap-img.com/abap/what-is-user-exits.htm
Also please check these threads for more details about user exits.
Re: Screen exit
user exit and customer exit
user exit
1. Document on UserExits in FI/CO
http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
2. Finding User Exits...
http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
3. List of all User Exits...
http://www.planetsap.com/userexit_main_page.htm
Regards,
Younus
<b>Reward Helpful Answers:-)</b>
Maybe you are looking for
-
Installing Adobe Photoshop Elements 11 on MacBook Air
I'm trying to install Adobe Photoshop Elements 11 on my new MacBook Air, but have no cd drive. Is there a way to download this without a cd drive?
-
.avi files and 'ms' format audio
Hi Folks, I have QuickTime 7 Pro and a .avi file I was sent (actually downloaded on FTP). I also have a host of other video players (MPlayer OS X 2, VLC, RealPlayer 10) All of them can play the .avi file but I get no audio. If I choose "Show movie pr
-
Afternoon All We are currently redesigning our company website, and I've created a template in Dreamweaver. I've attached the code to this post. The only sections that we want to be editable are the page title and the main content area. I can apply t
-
What on earth is iTunes 1 ?!?
I opened iTunes but it says iTunes 1 and there is nothing there! If I search for mp3 files in Finder I can find them but if I open them from Finder they play but in iTunes 1. They will then remain in the playlist in there. How do I get iTunes to open
-
Hi, I have activated the 2LIS_11_VASTH info source and found that the these fields are not mapped. Confirmation Status - BESTK Billing Status ( order-related billing documents) - FKSAK Billing Status - FKSTK