Exit for ME51n - ABAP OO coding
Hi,
I am writing a BADI for ME51n - ME_REQ_POSTED.
In that i want to restrict the account assignment category either A or K. but i am not able to write a coding as i am not good enough in OO.
field name is KNTTP.
how to do it?
Thanks.
I've done the same thing but for PO creation(ME21N) through BADi ME_PURCHDOC_POSTED.
You may want to do same thing like below:
DATA:re_ekpo LIKE LINE OF im_ekpo.
data:tabix type sy-index value '1'.
*BREAK-POINT.
READ TABLE im_ekpo INTO re_ekpo INDEX tabix.
tabix = tabix + 1.
"Check for account assignment cat only for "A" and "L".
if re_ekpo-KNTTP = 'L' or re_ekpo-KNTTP = 'A'.
GET PARAMETER ID 'KNT' FIELD re_ekpo-KNTTP.
IF sy-subrc ne 0.
MESSAGE 'You are not aurthorized to use Account Assignment Category (Logit)L!!' TYPE 'E'.
ENDIF.
ENDIF.
Finally assign "KNT" in parameters tab from SU01 for those users who actually want to use Account Assignment Category A and L(In my case)
Cheers,
Amit.
Similar Messages
-
Screen Exit for ME51N and ME52N ??
Hi all,
I have to replace the standard Field "Requisitioner" in the CONTACT Tab with a Z table field with Search help and I have to make it mandatory, so that the user MUST enter the Requisitioner and its F4 help can be used from the Z Table field.
For this i need to modify standard program's screen using screen exit.
How can i meet the requirement?
Any sugegstions are welcomed...Helpful answers will be rewarded for sure..
Thanks in advance,
Regards,
TejasCheck the threads -
User Exit or BADI for ME21N or ME51N
ME51N user exit
Screen Exit for ME51N
Regards,
Amit -
Screen exit for ME51N in header
Hi friends,
Is there any screen exit for ME51N(Purchase requisition) in header level.I found MEREQ001 enhancement, but this is for item level.please help.
regards,
Thoufique.Hi Thoufique,
try the following screen exits:
EXIT_SAPLMEREQ_001 Export Data to Customer Subscreen for Re
EXIT_SAPLMEREQ_002 Prepare Customer Subscreen for Requisiti
EXIT_SAPLMEREQ_003 Import Data from Customer Subscreen for
Also, for more help on your problem, refer to the following link:
Re: re: screen exits
Hope this will help you... -
SAP Standard Exits for ME51n/52n/53n
Hi Friends,
Please tell me is there any SAP standard Exits for Purchase requisition Me51n/me52n/me53n..
Thanks in Advance..........
Ravihi
this are
following enhancements that u can use
M06B0004 Number range and document number
M06B0005 Changes to comm. structure for overall release of requi
M06E0004 Changes to communication structure for release purch. d
M06E0005 Role determination for release of purchasing documents
ME590001 Grouping of requsitions for PO split in ME59
MEETA001 Define schedule line type (backlog, immed. req., previe
MEFLD004 Determine earliest delivery date f. check w. GR (only P
MELAB001 Gen. forecast delivery schedules: Transfer schedule imp
MEQUERY1 Enhancement to Document Overview ME21N/ME51N
MEVME001 WE default quantity calc. and over/ underdelivery toler
MM06E001 User exits for EDI inbound and outbound purchasing docu
MM06E003 Number range and document number
MM06E004 Control import data screens in purchase order
MM06E005 Customer fields in purchasing document
MM06E007 Change document for requisitions upon conversion into P
MM06E008 Monitoring of contr. target value in case of release or
MM06E009 Relevant texts for "Texts exist" indicator
MM06E010 Field selection for vendor address
MM06E011 Activate PReq Block
MMAL0001 ALE source list distribution: Outbound processing
MMAL0002 ALE source list distribution: Inbound processing
MMAL0003 ALE purcasing info record distribution: Outbound proces
MMAL0004 ALE purchasing info record distribution: Inbound proces
MMDA0001 Default delivery addresses
MMFAB001 User exit for generation of release order
welli mstill searching for that particular enhancement for ur requirment if i found i will let u know
this the enhancement that u can use
MEQUERY1 Enhancement to Document Overview ME21N/ME51N
in this
u can use the following componets
EXIT_SAPLMEQUERY_001
EXIT_SAPLMEQUERY_002
also there is one more
MM06E005 Customer fields in purchasing document
Cheers
Snehi
Edited by: snehi chouhan on Jul 31, 2008 1:32 PM -
HI ,
EVERYBODY
I AM DOING SCREEN EXIT FOR TCODE ME51N, ENHANCEMENT (MEREQ001) EXIT SAPLMEGUI , I HAVE ADDED TWO FIELDS
VALIDITY START DATE AND VALIDITY END DATE.
I HAVE CONFUSION ABOUT HOW TO EXPORT DATA ENTERED IN SUBSCREEN.
PLS HELP ME ..........
THANKS & REGARDS
SANJEEVhi,
EXIT_SAPLMEREQ_001 -
Export Data to Customer Subscreen for Requisition (PBO)
*sample code write in the corresponding include
DATA: ls_mereq_item TYPE mereq_item.
clear eban values if no PReq item
IF im_req_item IS INITIAL.
CLEAR: *eban,
eban.
ELSE.
read item data from system
ls_mereq_item = im_req_item->get_data( ).
fill customer field with old values
eban-zflag = ls_mereq_item-zflag.
*eban-zflag = ls_mereq_item-zflag.
ENDIF.
Read and store activity type to chnge the field status
of the subscreen
IF NOT im_req_item IS INITIAL.
gf_aktyp = im_req_item->GET_ACTIVITY( ).
endif.
EXIT_SAPLMEREQ_003 Import Data from Customer Subscreen for Requisition
data: ls_mereq_item type mereq_item.
*get values if PReq item exists
if not im_req_item is initial.
*read item data from system
ls_mereq_item = im_req_item->get_data( ).
*if customer field changed
if eban-zflag ne *eban-zflag.
*fill field with new value
ls_mereq_item-zflag = eban-zflag.
*set new item data to system
call method im_req_item->set_data( ls_mereq_item ).
*tell the system that there has something changed on the customer tab
EX_CHANGED = 'X'.
endif.
endif.
cheers,
sasi -
SOS: Exit for ME51n/ ME52n/ ME53n/
hello erverybody,
at First i would like to implement the exit mm06e007 but i have no idea how to do it!!
have someone an example, coding or Tips,... ??
Second Problem :
how can I Overwrite the <u>Tapstrips name</u> using exit MEREQ001 ??
please i need a help!!
best regard
dani.Exits are basically the hooks whcih SAP has provided to add your own code. There are two types of Exits:
1. Customer exits: Implemented as Function Modules within z includes. Anybody can change it and no access key is required.
2. User Exit: Implemented as subroutines within includes (any include except y or z includes). You need access for the specific include and then you can any subroutine (user exit) within that Include.
BADIs are the enhanced version of user exits where the same logic is implemented via classes and object (OOP)
Enchancement point is the latest once introduces with ECC6.0 . Not very sure about that but you can change it without any access key.
Please go through the following link which will help you understand the exits in a much better way:
http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/content.htm
http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
http://sap.niraj.tripod.com/id21.html
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
http://www.sap-img.com/ab038.htm
User Exits.
http://www.erpgenie.com/sap/abap/code/abap26.htm
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
customer exits
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
Menu Exit.
http://www.sappoint.com/abap/spmp.pdf
http://www.sappoint.com/abap/userexit.pdf
http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm
http://www.sapdevelopment.co.uk/enhance/enhancehome.htm
USER EXIT
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.sap-img.com/ab038.htm
http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
Rewards if useful.........
Minal -
Need exit for ME51N G/L account number automatically populated
Hi ,
i have the issue with Enhancement.
<b>The requirement is in the tcode ME51N or ME52N .</b> They will enter maerial and Qty ,Plant, Purchase group.
i need to get G/L account number with respect to Purchase group automatically.
pls do the need ful if u know the procedure...
regards
deviTransaction Code - ME51N Create Purchase Requisition
Exit Name Description
MEREQ001 Customers' Own Data in Purchase Requisition
No of Exits: 1
Transaction Code - ME52N Change Purchase Requisition
Exit Name Description
MEREQ001 Customers' Own Data in Purchase Requisition
No of Exits: 1
USER EXIT
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.sap-img.com/ab038.htm
http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
Exits are basically the hooks whcih SAP has provided to add your own code. There are two types of Exits:
1. Customer exits: Implemented as Function Modules within z includes. Anybody can change it and no access key is required.
2. User Exit: Implemented as subroutines within includes (any include except y or z includes). You need access for the specific include and then you can any subroutine (user exit) within that Include.
BADIs are the enhanced version of user exits where the same logic is implemented via classes and object (OOP)
Enchancement point is the latest once introduces with ECC6.0 . Not very sure about that but you can change it without any access key.
Please go through the following link which will help you understand the exits in a much better way:
http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/content.htm
http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
http://sap.niraj.tripod.com/id21.html
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
http://www.sap-img.com/ab038.htm
User Exits.
http://www.erpgenie.com/sap/abap/code/abap26.htm
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
customer exits
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
Menu Exit.
http://www.sappoint.com/abap/spmp.pdf
http://www.sappoint.com/abap/userexit.pdf
http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm
http://www.sapdevelopment.co.uk/enhance/enhanceh
Rewards if useful.........
Minal -
User Exit for ME51N Transaction
Hi folks,
I have a requirement regarding ME51N Tocde. If the user enters the internal order number in ME51N, while creating Purchase Requisition, the corresponding cost center should be displayed in the cost center field by default. I have found one user exit which will be useful for this. I wrote the code and feteched the Cost Center value in the exit EXIT_SAPLMEREQ_005. But i dont field any paramet for sending the Cost center value here. Could any body suggest me how to proceed now...How can i display the cost center value, using this Exit....
Thanks in advance,
Shyam.Hi Shyam,
You can find the user exit using the following method:
1. Go to the TCode SE24 and enter CL_EXITHANDLER as object type.
2. In 'Display' mode, go to 'Methods' tab.
3. Double click the method 'Get Instance' to display it source code.
4. Set a breakpoint on 'CALL METHOD cl_exithandler=>get_class_name_by_interface'.
5. Then run your transaction ML81N.
6. The screen will stop at this method.
7. Check the value of parameter 'EXIT_NAME'. It will show you the BADI for that transaction.
Hope this solves your query.
Regards,
Saumya -
Badi / Screen Exit for ME51N
Hi Folks,
My requirement is to add a standard field in the existing tab . Is there any BAdi / Screen Exit provided for tcode ME51n. I have checked the provided Exits and BAdi's but all of them are to add a new tab. But in my case I want to add a field in the existing tab.
Kindly let me know the possibilities.
Thanks in Advance.
SomuHi Soma,
As i know it is not possible . Better to add a new tab and add fields there.
Regards,
Madhu. -
HI All,
In ME51n/ME52n when the user clicks F4 help for Purchasing Group and selects one Pgroup then Material group is populated automatically.I searched all the user exits and BADIs for ME but am not able to find how this is getting popualted.Can anyone plz let me know how this is happening?
Thanks,
Rakesh.Hi rakesh,
Review OSS note 408017 for code samples
use this program,
REPORT YSMOD2
SELECTION TEXTS : INPUT1 ----> Enter search term for Trxn.
INPUT2 ----> Enter type of exit
REPORT YSMOD2 .
TABLES: MODSAP, MODACT, TSTC.
PARAMETERS: INPUT1 LIKE TSTC-TCODE DEFAULT ' ',
INPUT2 LIKE MODSAP-TYP DEFAULT ' '.
DATA: SEARCH1(6),
SEARCH2(3),
SEARCH3 LIKE MODSAP-MEMBER.
DATA : FIRST_ROW VALUE 'Y'.
CONCATENATE: '%' INPUT1 '%' INTO SEARCH1,
'%' INPUT2 INTO SEARCH2.
SELECT * FROM TSTC WHERE TCODE LIKE SEARCH1.
FIRST_ROW = 'Y'.
CHECK TSTC-PGMNA NE SPACE.
CONCATENATE '%' TSTC-PGMNA '%' INTO SEARCH3.
SELECT * FROM MODSAP WHERE TYP LIKE SEARCH2
AND MEMBER LIKE SEARCH3.
SELECT SINGLE * FROM MODACT WHERE MEMBER = MODSAP-NAME.
IF FIRST_ROW EQ 'Y'.
WRITE: /0 TSTC-TCODE, 6 TSTC-PGMNA, 16 MODSAP-NAME, 32 MODSAP-TYP,
45 MODSAP-MEMBER, 70 MODACT-NAME.
FIRST_ROW = 'N'.
ELSE.
WRITE: /16 MODSAP-NAME, 32 MODSAP-TYP, 45 MODSAP-MEMBER, 70 MODACT-NAME.
ENDIF.
CLEAR : MODSAP, MODACT.
ENDSELECT.
IF SY-SUBRC NE 0.
WRITE : /0 TSTC-TCODE, 6 TSTC-PGMNA, 30 'No exits found'.
ENDIF.
CLEAR TSTC.
ENDSELECT.
END-OF-SELECTION.
CLEAR: SEARCH1, SEARCH2, SEARCH3.
thanks,
nagendra -
User Exit for ME51N to maintain Item Texts as mandatory
Hi all,
In ME51N T.code. I have a requirement wherein the texts has to be maintained mandatory under "TEXT" tab in "Item Detail". I couldn' find the relavant exit's or BADI's.
Can anyone of you give your suggestions if you had come acroos something similar. Thanks!Hi,
Try BADI 'ME_REQ_POSTED'.
Regards ,
Supriya -
User Exit for Purchase Req. ME51N
Hi,
In ME51N, I would like to default some value for the field BPUEB.
Is there any user exit for such purpose?
Many thanks.
Regards,
ChrisHi Chris,
These are the available exits and badis.
Enhancement/ Business Add-in Description
Enhancement
MEREQ001 Customers' Own Data in Purchase Requisition
Business Add-in
ME_COMMITMNT_PARKING BAdI for Redefining Commitment Interface When Parking
ME_MEREQ_PARKING BAdI Purchase Requisition: "Hold"
ME_REQ_HEADER_TEXT Copy Header Text: Enjoy Purchase Requisition
o.of Exits: 1
o.of BADis: 3
Impliment the coding and put the break points.
********Rewards some points.
Rgds,
P.Naganjana Reddy -
Purchase requisition , ME51N, user exit for change Release date
Hello.
Purchase Requisition ( transaction ME51N).
I want to change the value of u201ERelease dateu201C using user-exit EXIT_SAPLMEREQ_005.
CALL METHOD im_req_item->get_data
RECEIVING
re_data = get.
set = get.
set-frgdt = u2026..
CALL METHOD im_req_item->set_data
EXPORTING
im_data = set.
Next, in dynpro is visible the right value from EXIT_SAPLMEREQ_005, but when saving the system uses another value, not the value from user exit.
Do you anybody have some experiences with this problem?
LumirHi
The USer Exit you can use for the ME51n Tcode is by using Badi's.The Badi you can use is ME_PROCESS_REQ_CUST BADI.
Method to be used: PROCESS_ITEM
This link gives you a brief idea.Hope it helps you.
BADI for ME51N
Thanking you. -
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 -
IS there is any another Area for writing ABAP Codes ( Variable Exit)
Can we extractor & aggragate the Data from Lookup DSO . & show in Report of (ODS1) .
Can we extract/Aggregate Data at run time of Query .
Please help me what are the Area/Tool where we can write the ABAP Codes in displaying a report in BEx QueryHi
Point 1: U r saying DSO is BI 7 &ODS 3.X .But Actually we will use lookup while uploading
Ex : Data Flow : ODS1 - CUBE (Before Uploading data to Cube from ODS1 you need some data from ODS2.Then you will use lookup at teh ODS1-CUBE TRansformation level)
Point 2 : As per my understand when you can execute the query the OLAP Processor will pick the data display the in theoutput as per your stucrure.Means during Run Time of query
1. Extracting Data from Cube
2. Claculating based on the Query Structure deisgned ( Means Aggregarion of Data etc.......) and displays the output.
Point 3: Customer exit for BEx query will written in SE38/CMOD.
Regards
Ram.
Maybe you are looking for
-
Change employee reconciliation account
Dear Sapgurus, There is a need to change one employees Reconciliation account from 21100000 to 21101000, Kindly understand 21100000 is Vendor Reconciliation account and 21101000 is employee reconciliation account. By anychance my Client was using
-
I can't transfer music to or from my iPhone 4s in iTunes.
I have enough memory and the latest versions of iPhone and iTunes software. When I try to drag and drop, I get a red circle with a line through it. I can play songs on my PC but can't add or delete playlists from my phone in It
-
My daughter has a MacBook with locked software provided by her school. All week she has been working on her homework in Pages but today when she goes to open the files they are all blank, although the thumbnails show the content and the bottom of the
-
Multiplier change in K7N2 delta2
Need a little help here. i'm using Sempron 2600+ oc at 11x200. question. 1: can i change (lower the multiplier) on sempron processor? coz whenever i tried to lower the multiplier, my pc won't boot at all. need to reset it to safe mode first, then it
-
IPhone 7 & 8 can't connect to Exchange 2013 CU5
I am getting call from users with iPhone and iPads that can't connect to our Exchange 2013 server. They get a error that the server can't be found. I can take the same account and run Microsoft online connectivity test and it passes. They don't have