ABAP User exits
Hi all,
Iam new to user exits can any body send me some examples for Function Module exits
Thanks in Advace
WIth Regards
Ranjith
Hello Ranjith
Sorry to say that but the document http://www.sappoint.com/abap/userexit.pdf is completely out-of-date. It only describes the old-fashioned user-exits (of which we still have plenty in the system) yet the document does not say anything about BTEs (Business Transaction Event, see transaction FIBF) nor BAdI (transaction SE18/SE19).
It is good to know the old user-exits yet you should fully understand how the modern BAdIs work. Understanding BTEs as well is an asset.
Regards
Uwe
Similar Messages
-
Doubts in abap user exit and coustomer exit
Hi every bady,
Any one knows the different between user exit and coustomer exit please answer my question
with regards,
SenthaHi,
Difference between user exits & customer exits:
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.
The following links are also useful:
User Exit Vs Customer Exit
coding in user exit in program rffous_t
User exits
User Exits
Refer this link
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975e643b111d1896f0000e8322d00/frameset.htm
Check the following links.
For customer exits
http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1975d943b111d1896f0000e8322d00/frameset.htm
Difference b/w BADI and user exits
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
User Exits
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
Regards,
Rakesh -
HR ABAP : User Exit after Position Creation
Hi,
We had a requirement of automatic creation of certain Relationships after the creation of position in HR.
Is there any USER EXIT for such cases?
I need an user exit which should get triggered after the creation of the Position.
Can anyone let us know the enhancement name if it exists?
Regards,
<i><b>Raja Sekhar</b></i>Hi Raja Shekhar,
Chk this link...this might help you out.
http://www.planetsap.com/Userexit_List.htm
Reward points if you find this as a right solution
Regards,
Harini -
ABAP-User Exit CONFPP05 (T-code co11n) ---- Duprec exception
I'm currently working on user exit CONFPP05 (T-code co11n)
I'm trying to validate shift hour not more than 8 hours.
total_jam = v_iserh + v_ism01 + v_ism02 + v_ism04 + afrud_tab-ism01 + afrud_tab-ism02 + afrud_tab-ism04.
IF total_jam > 8.
MESSAGE 'Jam Total Shift > 8 !!!' TYPE 'E'.
ENDIF
and I'm facing a problem, when i give error message with type E.
When the program execute that error, the program succesfully run the error message, buat after that, when I press ENTER or SAVE button, it give me runtime error
here I catch some error
"Exception condition "DUPREC" raised."
Error analysis A RAISE statement in the program "SAPLCORB" raised the exception condition "DUPREC". Since the exception was not intercepted by a superior program, processing was terminated.
Short description of exception condition:
For detailed documentation of the exception condition, use
Transaction SE37 (Function Library). You can take the called
function module from the display of active calls.
Trigger Location of Runtime Error
Program SAPLCORB
Include LCORBU08
Row 100
Module type (FUNCTION)
Module Name CO_RU_DI_AFRU_INSERT
How can I deal with this problem?Hi
Keshav is right. To display the messages see SAP Note 406633 - No information messages from customer exit. For further information see SAP Note 367489 - Customer exits of confirmation.
Regards
Eduardo -
ABAP Objects available in a USER-EXIT
Dear Sir,
I am very new to ABAP / User-Exit . To learn about User-Exit , I was refereing one tutorial related to USER-EXIT implementation in VL01 (form userexit_save_document_prepare) .
Sir , in this sample User-Exit , author is referring ABAP Objects like : xlips-lgort / xlips-matnr etc .
Sir , my query is that how can we know that which objects are available which can be used in a User-EXIT . How a new user like me will come to know that object xlips-lgort can be used in this User-Exit .
Pl help me .
Regards
B MittalHi,
A user exit is similar to an function module. The difference is you can write your own piece of code in a user exit to fulfill your requirements. If you look into the IMPORT parameters of the User Exit all these variable in the IMPORT are inputs to your exit. All the variables in the EXPORT parameters are the ones that can be sent out of the exit. You can change all the variables that are present in bothe IMPORT and EXPORT parameters. Ex: If i have V_data in IMPORT as well as EXPORT then i can change the value of V_DATA from 1 to 2 and pass it to next step in the standard program.
Also you have TABLES in user exit. These can be inputs and output parameters. For example i can enter a few records in the tables parameter IT_TAB in one of the exits and change these records inside the USer Exit include and export the same to the next step in the standard transaction.
Hope this is helpful.... reward if useful.
Thanks,
Anil
Edited by: Anil Japa on Mar 20, 2008 9:27 AM -
Sales Order User Exits - configurable materials !?
I have been tasked with investigating the following issue and if it can be solved via ABAP/User Exits. Users in an already live system are entering Sales Orders ( VA01 )with multiple Configurable Material line items and have to repeatedly enter the same characteristic values in each line item ( by entering Item Details >> Configuration ). They want to enter a set of characteristic values in the first line item and then have them defaulted into any further items. I have looked at the standard user exits in particular USEREXIT_MOVE_WORKAREA_TO_SDWA. Has anybody attempted anything similar to this !? Any ideas ?
Possible issues are:
1. How do I find the characterictic values from the 1st line item. ie. they haven't been saved yet, are they in a temp area similar to XVBAP for normal sales order line items !?
2. Are there are any suitable user exits in the Configuration side of things ( Function Group CEI0 !? ) to effect any changes the defaults. There are some BADIs in the code but they are not yet in use !?Hi Jonathan!
I had a different requirement with sales orders and configuration, but this forced me into long debugging of behavior of all these exits.
1) Characteristics can't be read.
ad 1) in configuration it's possible to call function modules. Here (inside the configuration) values of characteristics are available and can be saved in global data of a Z-function module. This is later (in same transaction) available (like import/export).
2) I would propose to use functions of characteristics (as mentioned, it's possible to execute own function modules in configuration). It's possible to default values (meaning: output of your function is only done, if characteristic is not set) based on global data of Z-function module.
As long as a global memory is used, no interaction with other transactions has to be feared.
You don't need user exits (but a lot of coding).
You need to change the customizing of configuration - probably a huge task, because I guess you have a huge configuration (otherwise users wouldn't ask for maintenance help).
Regards,
Christian -
User exit for contract start date in sales order change mode.
24.10.2008
Hi Gurus,
I need to disable the 'contract start date' (VEDA-VBEGDAT) field in Contract data tab at header and item level. Can someone suggest a user exit for the same ???
Regards,
UdaynathDear Udyanath,
Please check these User exits with the help of ABAPer
User exits in the program MV45AFZZ
The user exits which you can use for modifications in sales document
processing are listed below.
USEREXIT_FIELD_MODIFICATION
This user exit can be used to modify the attributes of the screen
fields.
To do this, the screen fields are allocated to so-called
modification groups 1 - 4 and can be edited together during a
modification in ABAP. If a field has no field name, it cannot be
allocated to a group.
The usage of the field groups (modification group 1-4) is as
follows:
- Modification group 1: Automatic modification with transaction
MFAW
- Modification group 2: It contains 'LOO' for step loop fields
- Modification group 3: For modifications which depend on check tables or on other fixed information.
USEREXIT_MOVE_FIELD_TO_VBAK
Use this user exit to assign values to new fields at sales document
header level. It is described in the section "Transfer of the
customer master fields into the sales document".
The user exit is called up at the end of the FORM routine
VBAK_FUELLEN.
USEREXIT_MOVE_FIELD_TO_VBAP
Use this user exit to assign values to new fields at sales document
item level. It is described in the section "Copy customer master
fields into the sales document".
The user exit is called up at the end of the FORM routine
VBAP_FUELLEN.
USEREXIT_MOVE_FIELD_TO_VBEP
Use this user exit to assign values to new fields at the level of
the sales document schedule lines.
The user exit is called up at the end of the FORM routine
VBEP_FUELLEN.
USEREXIT_MOVE_FIELD_TO_VBKD
Use this user exit to assign values to new fields for business data of the sales document. It is described in the section "Copy customer
master fields into sales document".
The user exit is called up at the end of the FORM routine
VBKD_FUELLEN.
I hope this will help you,
Regards,
Murali. -
User exit to make 262 movement go to QI rather than unrestricted status?
Hi Gurus,
In our system, we use "rework" production orders to occasionally rework Finished product.
The same finished product code is used (261) and returned (101).
Sometimes a 262 is used to retrieve unused Finished product back from the production order.
However this naturally places it back in unrestricted status.
What I'm being asked to investigate is whether there is anyway using the ABAP user exits
to influence the 262 movement,during the transaction, for certain finished product only,
so that the product ends up in Quality status - this is considered important
to ensure the product is not shipped as it was only released to enter the rework order.
On occasion the 262 is done in error, and in this case it would be especially useful!
Having looked through the material doc user exits, and done a search on the forum,
I don't think this is possible ABAP-wise,SAP intends a 262 to go to unrestricted and that's it..
I'm thinking of instead creating a bespoke authority object, to be checked under the above logic,
so that only certain qualified users will be able to do this operation -
but I want to throw the question out to forum before I resort to that..
Thanks for any help/ideas,
PaulDear Paul,
When the finished goods are found to be defective and needs to be reworked, first move the finished goods to a seperate st location (which is not relevant for MRP planning and not relevant for sales delivery. This by this the defective material is protected from being consumed or delivered).
Then create a rewind production order (or a rework production order) and issue the defective material against the production order and start the rework.
I am thinking what you said is not possible through user exit (there is a BADI MB_DOCUMENT_BEFORE_UPDATE or MB_DOCUMENT_UPDATE for material document movement) but you'll not be able to influence the stock to put in the quality.
Thanks
Nagarajan -
User-exit/BADI during outbound ABAP proxy call
Hello,
I want to introduce certain check during outbound ABAP proxy calls to PI. This is a generic check, failure of which would stop the proxy call to proceed and raise an exception.
I would like to place this at the generic place which is called for all the outbound ABAP proxy calls, rather than coding this in each and every outbound proxy class as the check is generic.
Is there some user-exit/BADI where i can introduce this? Maybe within class CL_PROXY_OUTBOUND or somewhere else where i can introduce this check.
Any help in this regard would be appreciated.
Best Regards,
Gajendra.Dear Gajendra ,
i agree with sabrish, you must be having a z report on the application system that must be calling that outbound proxy...may be if the check is generic it may not be related to a proxy so you can code a FM and then call it before you call that proxy in the z report
Giving points is another way to say thanks -
Hi to all,
Can any body help me in User-Exit in Hr-Abap. send me ur mail id i wil send u functional specs.
Thanks
hiddu.The most common enhancements for HR can be found in PBAS0001.
Here you will find the user exits for infotypes PBO & PAI.
http://sap.ittoolbox.com/groups/technical-functional/sap-hr/implementing-user-exit-for-it0041-452836
This link should help -
ABAP-Programming for SAP BW u0096 User-Exits und BAdIs
Hi experts,
i am a novice und looking for informations about Badi and User-exits for BW .
i want to learn how to programm extractors.
Can you you help me by giving me some informations or documents or sap links where i can find informations?
CheersDear Mr Herzog,
Congratulations for the book: Abap Developement for SAP Netweaver BI: User exits and BadIs.
We're trying to implement the suggestions on the chapter 5.1.1 Interface of function module EXIT_SAPLRSR0_001 (page 136), however, we're having problens with the abap sintax CALL_FUNCTION l_d_name IF FOUND.
The command IF FOUND is not accepted.
It'll be very helpful to avoid issues on tranporting include zxrsru01.
I appreciate any additional help on how to implement it.
Best Rgs
Eliseo Bouzan -
ABAP program to search for FM/User-Exit lookups
Hi everyone,
I have a need to find any and all Function Modules and User Exits that may have been written in BW that are used to do a lookup of data from one InfoProvider to another. I have found the following program from Lijo John which works for Update Rules and Transfer Rules but I need the same type program that digs into Function Modules, DTP's and any other User-Exit type code where a lookup could be performed. These are noted as the limitations in the program Lijo John created and I was hoping maybe someone has a solution for these as well.
https://www.sdn.sap.com/irj/scn/wiki?path=/display/bi/abapprogramtofindBIlookupsandcodePatterns
If someone has a program that they could share that would do this it would be greatly appreciated.
Thank you,
DaveThank you Ashish. This was somewhat helpful. I guess if there isn't an ABAP program available like I need then the next best thing would be for me to know the BW table names that holds the actual Function Module and DTP source code so that I can then create my own ABAP program that would query them for the existence of the InfoProvider name anywhere in the code.
The goal with all of this is to find ANY lookup from ANYWHERE in BW for a specific InfoProvider so that we will know what will have to be "disconnected" if we decide to get ride of that specific InfoProvider.
So, if anyone can tell me the tables that contain the BW Function Module and DTP ABAP source code I would appreciate it.
Thank you,
Dave -
Regarding Enhancements/User-Exits in ABAP
Hi,
Can anybody tell me What is meant BY Enhancements & User-Exits.
Also what are diffrent types of Enhancements/User-Exits avialable.
Can anybody explain me about diffrent types of Enhancements/User-Exits.
Can anybody provide me documentation with the examples
for diffrent types of Enhancements/User-Exits.
If anybody is having good material on the same please post it.
Thanks in advanace.
Thanks & Regards,
Rayeez.Customizing exits allow 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.
If you want to enhance the functionality of your R/3 System, you should take advantage of the exits available in standard R/3 applications. There are two main reasons why you should use exits rather than modifying SAP software yourself. Add-ons attached to exits have the advantage that:
They do not affect standard SAP source code
When you add new functionality to your SAP System using SAPs exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAPs standard software package.
They do not affect software updates
When you add new functionality to your R/3 System using SAPs exits, your objects (called customer objects) must adhere to strict naming conventions. When it comes time to upgrade a to a new software release, customer objects names ensure that they will not be affected by any changes or new additions to the standard software package.
Customer exits are not available for all programs and screens found in R/3 standard applications. You can only use customer exits if they already exist in the R/3 System. You find find more information about locating applications with pre-defined exits in Locating Applications that have Exits.
As part of the enhancement concept, it is possible for the customer to
add his own elements to application logic, screens and menus.
The current possibilities for enhancement are:
Text enhancements:
Allow the customer to add supplementary documentation for data fields
non-specific to a transaction, and to change key word texts.
Field exits:
Every screen element with data element reference can branch to PBO or
prior to PAI to a function module if desired. The field contents are
available here for doing special checks and making changes (e.g. user-
specific checks, authority checks, writing entered data and producing
statistics...).
Function exits:
From the main program you branch into a software level, in which you you
can store ABAP/4 coding. The applications programmer at SAP determines
where in the main program the function exit is placed, and which data is
imported/exported via the interface. The accompanying documentation
describes the functionality of the function exit.
Menu enhancements:
Pre-conceived menu items can be activated and named. On the function code
set at menu item selection, there can be a reaction in a relevant
function exit.
Screen enhancements:
The customer can determine the layout of areas in screens provided by the
applications developer. Here, additional information can be displayed or
data entered. -
Trigger a waiting ABAP program from a User Exit of CO01
Hi all,
We would like to launch a ABAP program from a User Exit (EXIT_SAPLCOZV_001) of CO01, this ABAP program has a special characteristic: using Function Module RFC_PING_AND_WAIT, so this program will be existing until terminating event coming.
Our purpose is terminate CO01 normally before finishing of ABAP program. We don't know if it's possible?
Actually:
1. when we use SUBMIT ..., the process will stop CO01 (stop not normally) and then launch ABAP program. => This is not suitable for our purpose.
2. when we use SUBMIT ... and RETURN, CO01 will wait for finishing of ABAP program => This is not suitable for our purpose too, because we wish CO01 terminated normally when ABAP program is still existing and waiting for its terminating event.
Do you have a solution that is suitable for our purpose, could you please help us?
(The context is below:
Time: Begin-->CO finished> ABAP finished-->
Launch CO01 --> Call User Exit --> Call ABAP program for waiting --> CO01 saved normally.
> ABAP program still waiting ---> waiting for terminating event
Thanks a lot,
Vinh VoHi,
Try with the function module BP_EVENT_RAISE, it takes eventid, and eventparm as import parameters in the User exit.
1) With Eventid, you create a background job of the ABAP program and schedule it. Eventparm can be the Production order number.
2) So when ever the Event is triggered the FM gets triggered and which in turn run the ABAP program, so the foreground the CO01 transaction runs without waiting for the ABAP program to complete.
Regards
Bala Krishna -
Abap code of user EXIT for my first post on FISCPER_CALC_MONTH or year
*ZSIGFISCPER Exercice cumulé jusqu'à la période selectionnée par utilisateur
TABLES: TVARVC.
DATA: L_S_RANGE TYPE RSR_S_RANGESID.
DATA : LOC_VAR_RANGE LIKE RRRANGEEXIT,
v_year like T009B-BDATJ,
v_per3 like T009B-POPER,
v_month(3) type c,
v_initial(7) type c,
v_date type d,
w_progcod like tvarvc-low.
BREAK-POINT.
CASE I_VNAM.
WHEN 'ZSIGFISCPER'.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
CLEAR L_S_RANGE.
v_year = LOC_VAR_RANGE-LOW(4).
concatenate v_year '001' into v_initial.
L_S_RANGE-LOW = v_initial.
L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
WHEN 'ZSIGVFISCYEAR'.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
CLEAR L_S_RANGE.
CLEAR v_year.
v_year = LOC_VAR_RANGE-LOW(4).
L_S_RANGE-LOW = v_year.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
*Sélection de la période 1 par rapport à une période sélectionnée via la variable 'ZP_FIL_FISCPER'
WHEN 'ZVUEPER1'.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
CLEAR L_S_RANGE.
CLEAR v_year.
v_year = LOC_VAR_RANGE-LOW(4).
concatenate v_year '001' into v_initial.
L_S_RANGE-LOW = v_initial.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
*Sélection de la période 1 par rapport à une période sélectionnée via la variable 'ZSIGFISC'
WHEN 'ZVUEPER2'.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZSIGFISC'.
CLEAR L_S_RANGE.
CLEAR v_year.
v_year = LOC_VAR_RANGE-LOW(4).
concatenate v_year '001' into v_initial.
L_S_RANGE-LOW = v_initial.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
Variables pour la requête ZSIGRQ_ZSIGMCM1_01 (Suivi des investissements)
WHEN 'ZSIGCDR2'.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
CLEAR L_S_RANGE.
CLEAR v_year.
v_year = LOC_VAR_RANGE-LOW(4).
CONCATENATE v_year '01' '01' INTO v_date.
L_S_RANGE-LOW = v_date.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
WHEN 'ZSIGCDMS'. " Date de mise en service
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
CLEAR L_S_RANGE.
CLEAR v_year.
v_year = LOC_VAR_RANGE-LOW(4).
CONCATENATE v_year '01' '01' INTO v_date.
L_S_RANGE-LOW = v_date.
CONCATENATE v_year '12' '31' into v_date.
L_S_RANGE-HIGH = v_date.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
WHEN 'ZSIGHIM'. " Hierarchie
IF I_STEP = 1. "before the popup
Clear v_year.
SELECT SINGLE * FROM TVARVC WHERE NAME EQ 'ZSIG_REF_0APPR_YEAR'.
IF sy-subrc EQ 0.
v_year = TVARVC-low.
ENDIF.
CLEAR w_progcod.
SELECT SINGLE * FROM TVARVC WHERE NAME EQ 'ZSIFVA_REF_0PROG_DEF_S'.
IF sy-subrc EQ 0.
w_progcod = TVARVC-low.
ELSE.
MESSAGE 'Variable ZSIFVA_REF_0PROG_DEF_S is missing in TVARVC' TYPE 'E'.
ENDIF.
CONCATENATE w_progcod v_year INTO L_S_RANGE-LOW.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
CLEAR L_S_RANGE.
CLEAR v_year.
v_year = LOC_VAR_RANGE-LOW(4).
CLEAR w_progcod.
SELECT SINGLE * FROM TVARVC WHERE NAME EQ 'ZSIFVA_REF_0PROG_DEF_S'.
IF sy-subrc EQ 0.
w_progcod = TVARVC-low.
ELSE.
MESSAGE 'Variable ZSIFVA_REF_0PROG_DEF_S is missing in TVARVC' TYPE 'E'.
ENDIF.
CONCATENATE w_progcod v_year INTO L_S_RANGE-LOW.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
WHEN 'ZSIGCAC'. " version
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
CLEAR L_S_RANGE.
CLEAR v_month.
v_month = LOC_VAR_RANGE-LOW+4(3).
IF v_month LE '003'.
L_S_RANGE-LOW = 'PLA'.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
ELSEIF v_month LE '008'.
L_S_RANGE-LOW = 'AC1'.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
ELSE.
L_S_RANGE-LOW = 'AC2'.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
ENDIF.
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
WHEN 'ZSIGDDP'.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
CLEAR L_S_RANGE.
CLEAR v_year.
v_year = LOC_VAR_RANGE-LOW(4).
v_per3 = LOC_VAR_RANGE-LOW+4(3).
CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
EXPORTING
I_GJAHR = v_year
I_MONMIT = 00
I_PERIV = 'K4'
I_POPER = v_per3
IMPORTING
E_DATE = v_date
EXCEPTIONS
INPUT_FALSE = 1
T009_NOTFOUND = 2
T009B_NOTFOUND = 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.
ENDIF.
L_S_RANGE-LOW = '20101231'."v_date.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
Variable Z_DATE_REF_INF_FOUR pour caracteristique 0CALDAY
Intervalle
WHEN 'Z_DATE_REF_INF_FOUR'.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'Z_DATE_REF_SUP_FOUR'.
CLEAR L_S_RANGE.
CLEAR v_date.
v_date = LOC_VAR_RANGE-low.
break-point.
CALL FUNCTION 'SALP_CALC_DATE'
EXPORTING
IN_RECTYPE = 'M'
IN_NBR_DWXMQY = '6'
IN_DATE = v_date
IMPORTING
OUT_DATE = v_date
EXCEPTIONS
OTHER_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'SALP_CALC_DATE'
EXPORTING
IN_RECTYPE = 'Y'
IN_NBR_DWXMQY = '-2'
IN_DATE = v_date
IMPORTING
OUT_DATE = v_date
EXCEPTIONS
OTHER_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
L_S_RANGE-LOW = v_date.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDLOOP.
ENDIF.
Variable Z_DATE_REF_INF_FOUR pour caracteristique 0CALDAY
Intervalle
Variables pour Production interne
Intervalle
Debut - FDUPEYROUX - 11/01/2010
WHEN 'ZSIGPEROI'.
IF I_STEP = 2. "after the popup
CLEAR L_S_RANGE.
CLEAR v_date.
READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
WITH KEY VNAM = 'ZSIGPERPI'.
L_S_RANGE-LOW = LOC_VAR_RANGE-HIGH.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
WHEN 'ZSIGPEROI_ENT'.
IF I_STEP = 2. "after the popup
CLEAR L_S_RANGE.
READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
WITH KEY VNAM = 'ZSIGPERPI'.
L_S_RANGE-HIGH = LOC_VAR_RANGE-HIGH.
L_S_RANGE-LOW = '1000001'.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
WHEN 'ZSIGPEROI_P1'.
IF I_STEP = 2. "after the popup
CLEAR: L_S_RANGE, v_per3.
READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
WITH KEY VNAM = 'ZSIGPERPI'.
IF LOC_VAR_RANGE-LOW+4(3) = '001'.
LOC_VAR_RANGE-LOW(4) = LOC_VAR_RANGE-LOW(4) - 1.
LOC_VAR_RANGE-LOW+4(3) = '012'.
ELSE.
v_per3 = LOC_VAR_RANGE-LOW+4(3) - 1.
LOC_VAR_RANGE-LOW+4(3) = v_per3.
ENDIF.
L_S_RANGE-LOW = LOC_VAR_RANGE-LOW.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
WHEN 'ZSIGPEROI_PINF'.
IF I_STEP = 2. "after the popup
CLEAR: L_S_RANGE, v_per3.
READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
WITH KEY VNAM = 'ZSIGPERPI'.
IF LOC_VAR_RANGE-LOW+4(3) = '001'.
LOC_VAR_RANGE-LOW(4) = LOC_VAR_RANGE-LOW(4) - 1.
LOC_VAR_RANGE-LOW+4(3) = '012'.
ELSE.
v_per3 = LOC_VAR_RANGE-LOW+4(3) - 1.
LOC_VAR_RANGE-LOW+4(3) = v_per3.
ENDIF.
L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
L_S_RANGE-LOW = '1000001'.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
WHEN 'ZSIGPERAN'.
IF I_STEP = 2. "after the popup
CLEAR L_S_RANGE.
READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
WITH KEY VNAM = 'ZSIGPERPI'.
L_S_RANGE-HIGH = LOC_VAR_RANGE-HIGH.
L_S_RANGE-LOW = '1000001'.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
WHEN 'ZSIGVDRPI'.
IF I_STEP = 2. "after the popup
CLEAR: L_S_RANGE,v_date,v_year,v_per3.
READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
WITH KEY VNAM = 'ZSIGPERPI'.
v_year = LOC_VAR_RANGE-HIGH(4).
v_per3 = LOC_VAR_RANGE-HIGH+4(3).
CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
EXPORTING
I_GJAHR = v_year
I_MONMIT = 00
I_PERIV = 'K4'
I_POPER = v_per3
IMPORTING
E_DATE = v_date
EXCEPTIONS
INPUT_FALSE = 1
T009_NOTFOUND = 2
T009B_NOTFOUND = 3
OTHERS = 4.
L_S_RANGE-LOW = v_date.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
Variables pour Production interne
Intervalle
Variables pour Production interne
Intervalle
WHEN 'ZSIGVDRPIM1'.
IF I_STEP = 2. "after the popup
CLEAR: L_S_RANGE,v_date,v_year,v_per3.
READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
WITH KEY VNAM = 'ZSIGPERPI'.
IF LOC_VAR_RANGE-LOW+4(3) = '001'.
LOC_VAR_RANGE-LOW(4) = LOC_VAR_RANGE-LOW(4) - 1.
LOC_VAR_RANGE-LOW+4(3) = '012'.
ELSE.
v_per3 = LOC_VAR_RANGE-LOW+4(3) - 1.
LOC_VAR_RANGE-LOW+4(3) = v_per3.
ENDIF.
v_year = LOC_VAR_RANGE-LOW(4).
v_per3 = LOC_VAR_RANGE-LOW+4(3).
CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
EXPORTING
I_GJAHR = v_year
I_MONMIT = 00
I_PERIV = 'K4'
I_POPER = v_per3
IMPORTING
E_DATE = v_date
EXCEPTIONS
INPUT_FALSE = 1
T009_NOTFOUND = 2
T009B_NOTFOUND = 3
OTHERS = 4.
L_S_RANGE-LOW = v_date.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
ENDIF.
Variables pour Production interne
Intervalle
Edited by: Yass79 on Jan 9, 2012 8:55 PMHi ricx,
hmm, Finally I got you...
What you are asking is;
Is it possible to have User exit for Custom Developed ABAP Programs?
Am i right?
If this is your question, i can say it is not needed as we can edit Zprograms whenever we need.
If you have more doubts, revert back....
Regards
Karthik D
Maybe you are looking for
-
Hi there! OK. Seasoned user here, just can't quite figure this out... My Photo Booth application isn't working correctly. It is not saving the picture. After I take a picture (of myself, for example) it will freeze on the picture and not show the pho
-
Hi Xperts, Could any one send me XSLT transformation code with step by step procedure and some examples on XSLT transformation for XML to XML Convert. please send me to: <b>[email protected]</b> Best regards Gopi
-
Should I use the short vector types for C++ AMP?
Hello, is there any performance reason to use short vector types (as outlined in http://blogs.msdn.com/b/nativeconcurrency/archive/2012/04/03/short-vector-types-in-c-amp.aspx) in my C++ AMP kernels that will be confined to execution only on the GPU?
-
Dynamic cursor definition in PL/SQL
Is it possible to have dynamic cursor definition in PL/SQL. Like using DBMS_SQL for dynamic SQL. If yes, how?
-
[svn:fx-trunk] 5201: Updates to the LayoutBase, mostly asdocs.
Revision: 5201 Author: [email protected] Date: 2009-03-06 18:17:47 -0800 (Fri, 06 Mar 2009) Log Message: Updates to the LayoutBase, mostly asdocs. QE Notes: None Doc Notes: Bugs: None Reviewer: Hans tests: checkintests, mustella (group, layout) Modif