BPS Help with user exit.----- Quick one for Marc.B?
Hi All,
I'm using an user exit to prefix the GL/account with '2' to make it a stat account.In the fields to be changed , i have included all the characteristics like gl account,region,line of business...key fig name..etc.However when i run the exit, my key figure amount is doubling up.Need a quick fix or a second pair of eyes..also found that xth_data cannot be used in MODIFY statement because of hash table .so I'm using a collect.But as soon as i exit out of the loop, the key figure amount doubles....any pointers????
Here is the code.................................
FUNCTION Z_SEM_PREFIX_2ACCOUNTS.
""Local interface:
*" IMPORTING
*" REFERENCE(I_AREA) TYPE UPC_Y_AREA
*" REFERENCE(I_PLEVEL) TYPE UPC_Y_PLEVEL
*" REFERENCE(I_PACKAGE) TYPE UPC_Y_PACKAGE
*" REFERENCE(I_METHOD) TYPE UPC_Y_METHOD
*" REFERENCE(I_PARAM) TYPE UPC_Y_PARAM
*" REFERENCE(IT_EXITP) TYPE UPF_YT_EXITP
*" REFERENCE(ITO_CHASEL) TYPE UPC_YTO_CHASEL
*" REFERENCE(ITO_CHA) TYPE UPC_YTO_CHA
*" REFERENCE(ITO_KYF) TYPE UPC_YTO_KYF
*" EXPORTING
*" REFERENCE(ET_MESG) TYPE UPC_YT_MESG
*" CHANGING
*" REFERENCE(XTH_DATA) TYPE HASHED TABLE
DATA:
ls_data TYPE t_s_alloc,
lth_data TYPE t_th_alloc.
*Loop thru the data and check if its a valid GL account.
*If its a valid GL account, Prefix '2' to the beginning of the
*account and also add 'DDD' to the transaction type in order to
*identify the record.once the prefixing is over , you will have the old as well as the new set of records.
*records as they will not have the 'LOB' flag in the transaction type.
lth_data = xth_data.
LOOP AT lth_data INTO ls_data.
if ls_data-s_chas-0gl_account
is not initial.
if ls_data-s_chas-0gl_account+3(1) = '0' AND
ls_data-s_chas-0gl_account+4(1) <> '0'.
concatenate '000' '2'
ls_data-s_chas-0gl_account+4(6)
into ls_data-s_chas-0gl_account.
ls_data-s_chas-zoctrtype = 'LOB'.
endif.
endif.
collect ls_data into lth_data.
ENDLOOP.
DELETE Lth_data
where s_chas-0gl_account+3(1) <> '2' and
s_chas-zbpsflag = 'C'.
xth_data = lth_data.
ENDFUNCTION.
Hi Sudz,
you got it almost right. If you do the collect the system will add the changed records to the exiting ones since you start with lth_data = xth_data. So use the following logic:
start with empty table
refresh lth_data.
now process all exiting data
LOOP AT xth_data INTO ls_data.
if ls_data-s_chas-0gl_account is not initial.
if ls_data-s_chas-0gl_account+3(1) = '0' AND
ls_data-s_chas-0gl_account+4(1) <> '0'.
concatenate '000' '2' ls_data-s_chas-0gl_account+4(6)
into ls_data-s_chas-0gl_account.
ls_data-s_chas-zoctrtype = 'LOB'.
endif.
endif.
and collect the new data
collect ls_data into lth_data.
ENDLOOP.
return only the new data
xth_data = lth_data.
Regards,
Marc
SAP NetWeaver RIG
Similar Messages
-
Please help me with user-exits or baids for TCode : FOE2 & FOE1
Hi Experts
Please help me with user-exits or baids for TCode : FOE2 & FOE1.
I found these but not picking values from VIMI01,VIOB03 and VIOB41.
User-exits
FVCH0001 CH-specific enhancements: Esp. POR
ISRE0001 Determine bank procedure account no.
ISRE0002 IPD reporting data retrieval
Business Add-in
FVD_HANDLE_FORMULA Processing of Condition FormulasHi,
ASk your basis regarding the CI_CSKB table active issue, and first of all i dont see any table with the name CI_CSKB.
And check this exit-COOMKS03 whether it works for your screen exits.
Cheers!!
VEnk@
Edited by: Venkat Reddy on Nov 4, 2008 5:59 PM -
Hello,
I am and include within a user exit and what i am trying to do is:
populating a field that shows up in a screen popup. transaction is iw32 for which the program name is different than that of the screenvalue that im trying to populate. in iw32, in components tab, i add a component and then i get a popup to populate the purchasing group field and this is the field that i am trying to put a default value into so that I do not get prompted. Please help.
Thanks.Hey Jasmeet
You can definitely get the values of RESBD in this exit. Please use the code below to get the resbd-ingrp value from the screen:
DATA:l_field(60) TYPE C VALUE '(SAPLCOMK)RESBD',
ls_resbd TYPE resbd.
FIELD-SYMBOLS: <fs_resbd> TYPE ANY.
*Fetching the Component Item from the Screen. This is for read-only
*purpose and content should not be changed.
ASSIGN (l_field) to <fs_resbd>.
if sy-subrc eq 0.
ls_resbd = <fs_resbd>.
UNASSIGN <fs_resbd>.
endif.
Now you have all the values in the structure ls_resbd and you can easily set the value for ingrp according to your conditions.
Hope this helps. Let me know if this is what you want.
cheers
shivika -
Hello all,
I need to create a customer exit variable to get a field (0calmonth) from an infoobject attribute and use this field to filter the query.
I need some help to finish the code:
WHEN 'my variable'.
IF I_STEP = 2. "before the popup
SELECT 0CALMONTH INTO ??? "0calmonth is the attribute.
FROM /BIC/TZFECHAVAL "infoobject table.
WHERE... "conditions.
Any help? Thanks. Points will be assigned.Hi,
Pls check the below sample code.. and change the code
WHEN 'Your Variable' .
TYPES : BEGIN OF ls_batch ,
batch TYPE /bi0/oibatch,
END OF ls_batch.
DATA : lt_batch TYPE TABLE OF ls_batch.
DATA : wa_batch TYPE ls_batch .
SELECT batch FROM /bi0/mbatch
INTO TABLE lt_batch
WHERE batch = 'XYZ'
OR batch = 'ABC' .
SORT lt_batch BY batch .
DELETE ADJACENT DUPLICATES FROM lt_batch COMPARING batch .
LOOP AT lt_batch INTO wa_batch .
l_s_range-low = wa_batch-batch.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
ENDLOOP.
Thanks
Reddy -
BPS Attribute as Variable filled with User-Exit
Hello,
how is it possible to set a variable from the type "attribute" in BPS with an User-Exit?
Example: Characteristic = Material, Attribute = Material class
How can I set valid entries for Material class in a User-Exit?
Thanks for help in advance
EckhardEckhard,
You can solve this by using characteristic relationship type exit. there you can put a function where you can find the values for the attribute material class.
greets,
Jeroen -
Help needed: user exit for CO02
I have a problem with user exit. I need to display an error message when the quantity of a specific component of a material is changed in CO02 and user hits save button.
I inserted my code in include program ZXCO1U01. Based on the material type if the user changes the quantity I will display a message. But the problem is the documentation shows that we cant insert a error message in this exit. Its giving a dump if I do that.
I am calling a new screen to display a message but if I try to execute CO02 again for the same order its displaying error messages as that component will remain locked.
Please help me regarding this.
ThanksHi Bobby,
We had similar issue and we have added a code to send an e-mail message to the user is any error occurs.
You can't insert an error meesage in this user exit.
Lanka -
MRP Run with User Exit key for Follow up material
Dear Gurus,
I want to run MRP only for followup materials by using User exit key. For example i have a material X(with discontinued Indicator as 1) and it's follow material is Y.
So we have a user exit key as ZFL, with coding as shown below. Now when i run MD01 with user exit key ZFL and parametre as 1, it only runs MRP for material X and not for material Y. What else we need to do so that when i run MD01 with user exit key ZFL, it shoudl consider both X and Y.
WHEN 'ZFL'.
DATA : BEGIN OF ITAB5 OCCURS 0,
KZAUS LIKE MT61D-KZAUS,
END OF ITAB5.
TRANSLATE USER_PAR TO UPPER CASE.
SPLIT USER_PAR AT ',' INTO TABLE ITAB5.
IF ITAB5[] IS INITIAL.
EXIT.
ENDIF.
CLEAR: NO_PLANNING, STOP_PLANNING.
READ TABLE ITAB5 WITH KEY KZAUS = MT61D-KZAUS.
IF SY-SUBRC <> 0.
NO_PLANNING = 'X'.
ENDIF.Hi Kumar,
You can use either MRP Type, MRP Controller, MRP Group in this user exit to control the MRP run. For these set of Materials you have to assign any of same value or at least differentiate these material from other material. Then only you can control the MRP by using this user exit even though if you use different MRP Group and MRP Controller. In User Exit, you may have to add your dependent material's MRP Group/MRP Controller. Make sure that these set of materials are different than all other materials.
If you don't have any plan to run MRP for other materials then as per Ajit suggestion you make that material's MRP type as "ND". But, in your business case they may want to activate the MRP for all the material not now but may be latter.
Thanks -
Valuation price with user exit/BADI/Enhancement Spot (In valuation variant)
Hi all,
i am facing problem finding enhancement when creation of sales order of Valuation price with user exit/BADI/Enhancement Spot (In valuation variant)
For refferenece:
When going to t.code VA03, select one item and go to extras in the menu bar and select costing then you find some amounts calculation i.e valuation price automatically.
So when creation of sales order i am giving material and that material price automatically takes from material master and creating sales order.
My customer requirement is to get the valuation price of the input material from Z-table during the sales order cost estimate.
This Z-table contains the material code, plant , grade of the material.
Ex:
Material Plant Grade Price
A 1000 XYZ 25000
A 1000 PQR 35000
A 1000 BCD 45000
Suppose it depends on sales document type and which grade price i have to take.
So first of all i am unable to find enhancement where to change this code to get change the valuation price.
Does anybody have any idea , is there any user exit/BADI/enhancement for this.
So please help me in this issue.
Thanks & Regards,
lokeshgoudpls allow me to post the questions
-
Hi,
I need a user exit or Badi for defaulting Plant at line item level.
The scenario goes like this: when ever user tries to change an existing Purchase order and tries to add a new line item in it, I need to trigger USEREXIT or BADI , so that it reads the previous line Plant and updates the current line with the same plant.
I tried with user exit MM06E005 but it didnt seem to work.
Can any one please help me?
I am new to BADI, so I am not sure how to find the BADI and use it. It would be great if anyone can help me i this.
Thanks
RamyaHello
The BAdI ME_PROCESS_PO_CUST is the right one. The method PROCESS_ITEM should be triggered whenever the user changes something in the purchase order at item level and executes any kind of function (e.g. ENTER, CHECK or SAVE).
However, instead of overwriting the user input via the BAdI you should implement method CHECK ( Closing Check ) where you can validate the user input. If any of your validation fails you can send an error message and set CHANGING parameter CH_FAILED = 'X'. This approach is much more transparent for the user.
NOTE: In order to "send" an error message you need to add the include mm_messages_mac to your implementing class. For an example see class CL_EXM_IM_ME_PROCESS_PO_CUST (should be available on ERP 6.0):
METHOD if_ex_me_process_po_cust~process_item .
DATA: ls_mepoitem TYPE mepoitem,
ls_customer TYPE mepo_badi_exampl,
ls_tbsg TYPE tbsg.
INCLUDE mm_messages_mac. "useful macros for message handling
* here we check customers data
ls_mepoitem = im_item->get_data( ).
IF ls_mepoitem-loekz EQ 'D'.
* check field badi_afnam
IF ls_customer-badi_afnam IS INITIAL.
mmpur_metafield mmmfd_cust_02.
mmpur_message_forced 'W' 'ME' '083' text-003 '' '' ''.
ENDIF.
ENDIF.
ENDMETHOD. "IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM
Regards
Uwe -
User Exit or BAPI for Auto Backflush
Hi,
We have a requirement like-
In backflush transaction (MFBF) for finish good we have many dependant materials that also need to be backflushed individually. To avoid this manual backflushing one by one we want to automate the process with the help of user exits available in SAP.
Is there any User-Exits or BAPI by which we can acheive the above process automatically. Need some examples
Thanks & Regards
AKHi,
For MFBF there are sollowing user-exits....
XMRM0001 - Backflushing in Repetitive Manufacturing.
PTRM0001 - For lead column in REM planning Table.
SAPLRMPU - Customer Exit for Article Staging.
Reward points if useful....
Regards
AK -
User Exits or BAdis' for the Service Order create Transaction
Hi all,
I need to Replace a field, "Product" in the "Item Details" area of the create Service Order Transaction(CRMD_BUS2000116) with some custom field.
Are there any Exits/BAdi which will help me in doing this..
Thanks in advance
SethuHi Sethu,
The user exits / BADI's for the Transaction(CRMD_BUS2000116 are not avaliable:
The following info from one forum to search user exits / BADI's that you can use: There are multiple ways of searching for BADI.
<b>Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
Finding BADI Using SQL Trace (TCODE-ST05).
Finding BADI Using Repository Information System (TCODE- SE84).</b>
1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for CL_EXITHANDLER=>GET_INSTANCE.
Make sure the radio button In main program is checked. A list of all the programs with call to the BADIs will be listed.
The export parameter EXIT_NAME for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter INSTANCE will have the interface assigned to it. Double click on the method to enter the source code.
Definition of Instance would give you the Interface name.
2. Start transaction ST05 (Performance Analysis).
Set flag field "Buffer trace"
Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
Push the button "Deactivate Trace".
Push the button "Display Trace".
The popup screen "Set Restrictions for Displaying Trace" appears.
Now, filter the trace on Objects:
V_EXT_IMP
V_EXT_ACT
Push button "Multiple selections" button behind field Objects
Fill: V_EXT_IMP and V_EXT_ACT
All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
3. Go to Maintain Transaction (TCODE- SE93).
Enter the Transaction VD02 for which you want to find BADI.
Click on the Display push buttons.
Get the Package Name. (Package VS in this case)
<b>Go to TCode: SE84->Enhancements->Business Add-inns->Definition</b>
Enter the Package Name and Execute.
Here you get a list of all the Enhancement BADIs for the given package MB.
Also have a look at below report which will list BADIs.
REPORT Z_FIND_USER_EXITS.
TABLES : TSTC,TADIR,MODSAPT,MODACT,TRDIR,TFDIR,ENLFDIR,SXS_ATTRT ,TSTCT.
DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
DATA : FIELD1(30).
DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
PARAMETERS : P_TCODE LIKE TSTC-TCODE,
P_PGMNA LIKE TSTC-PGMNA .
DATA wa_tadir type tadir.
START-OF-SELECTION.
IF NOT P_TCODE IS INITIAL.
SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
ELSEIF NOT P_PGMNA IS INITIAL.
TSTC-PGMNA = P_PGMNA.
ENDIF.
IF SY-SUBRC EQ 0.
SELECT SINGLE * FROM TADIR
WHERE PGMID = 'R3TR'
AND OBJECT = 'PROG'
AND OBJ_NAME = TSTC-PGMNA.
MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
IF SY-SUBRC NE 0.
SELECT SINGLE * FROM TRDIR
WHERE NAME = TSTC-PGMNA.
IF TRDIR-SUBC EQ 'F'.
SELECT SINGLE * FROM TFDIR
WHERE PNAME = TSTC-PGMNA.
SELECT SINGLE * FROM ENLFDIR
WHERE FUNCNAME = TFDIR-FUNCNAME.
SELECT SINGLE * FROM TADIR
WHERE PGMID = 'R3TR'
AND OBJECT = 'FUGR'
AND OBJ_NAME EQ ENLFDIR-AREA.
MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
ENDIF.
ENDIF.
SELECT * FROM TADIR INTO TABLE JTAB
WHERE PGMID = 'R3TR'
AND OBJECT in ('SMOD', 'SXSD')
AND DEVCLASS = V_DEVCLASS.
SELECT SINGLE * FROM TSTCT
WHERE SPRSL EQ SY-LANGU
AND TCODE EQ P_TCODE.
FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
WRITE:/(19) 'Transaction Code - ',
20(20) P_TCODE,
45(50) TSTCT-TTEXT.
SKIP.
IF NOT JTAB[] IS INITIAL.
WRITE:/(105) SY-ULINE.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
Sorting the internal Table
sort jtab by OBJECT.
data : wf_txt(60) type c,
wf_smod type i ,
wf_badi type i ,
wf_object2(30) type C.
clear : wf_smod, wf_badi , wf_object2.
Get the total SMOD.
LOOP AT JTAB into wa_tadir.
at first.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE:/1 SY-VLINE,
2 'Enhancement/ Business Add-in',
41 SY-VLINE ,
42 'Description',
105 SY-VLINE.
WRITE:/(105) SY-ULINE.
endat.
clear wf_txt.
at new object.
if wa_tadir-object = 'SMOD'.
wf_object2 = 'Enhancement' .
elseif wa_tadir-object = 'SXSD'.
wf_object2 = ' Business Add-in'.
endif.
FORMAT COLOR COL_GROUP INTENSIFIED ON.
WRITE:/1 SY-VLINE,
2 wf_object2,
105 SY-VLINE.
endat.
case wa_tadir-object.
when 'SMOD'.
wf_smod = wf_smod + 1.
SELECT SINGLE MODTEXT into wf_txt
FROM MODSAPT
WHERE SPRSL = SY-LANGU
AND NAME = wa_tadir-OBJ_NAME.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
when 'SXSD'.
For BADis
wf_badi = wf_badi + 1 .
select single TEXT into wf_txt
from SXS_ATTRT
where sprsl = sy-langu
and EXIT_NAME = wa_tadir-OBJ_NAME.
FORMAT COLOR COL_NORMAL INTENSIFIED ON.
endcase.
WRITE:/1 SY-VLINE,
2 wa_tadir-OBJ_NAME hotspot on,
41 SY-VLINE ,
42 wf_txt,
105 SY-VLINE.
AT END OF object.
write : /(105) sy-ULINE.
ENDAT.
ENDLOOP.
WRITE:/(105) SY-ULINE.
SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE:/ 'No.of Exits:' , wf_smod.
WRITE:/ 'No.of BADis:' , wf_badi.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(105) 'No userexits or BADis exist'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(105) 'Transaction does not exist'.
ENDIF.
AT LINE-SELECTION.
data : wf_object type tadir-object.
clear wf_object.
GET CURSOR FIELD FIELD1.
CHECK FIELD1(8) EQ 'WA_TADIR'.
read table jtab with key obj_name = sy-lisel+1(20).
move jtab-object to wf_object.
case wf_object.
when 'SMOD'.
SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
when 'SXSD'.
SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
endcase.
Hope it will help you.
Regards,
Arjun
<b>Reward points if it helps</b> -
User Exit in VF01 for Tax Conditions
Hello,
Please inform if any user exit is available for processing Conditions (Tax) in a Sales Order.
I'm facing a problem that while Invoicing, a certain Tax condition is not being executed.
Thanks,
Shalabh JainHI Colleague,
I will list the available user-exit to be used for Billing Document:
User Exits For Billing
USEREXIT_NUMBER_RANGE (Module pool SAPLV60A, program RV60AFZZ)
The internal number range used in the standard system is specified in the billing type table and can be changed in this user exit. This user exit is only called when the billing documents is created.
USEREXIT_ACCOUNT_PREP_KOMKCV (Module pool SAPLV60A, program RV60AFZZ)
In this user exit additional fields for account determination that are not provided in the standard system are copied into communication structure KOMKCV (header fields).
USEREXIT_ACCOUNT_PREP_KOMPCV (Module pool SAPLV60A)
In this user exit additional fields for account determination that are not provided in the standard system are copied into communication structure KOMPCV (item fields).
USEREXIT_NUMBER_RANGE_INV_DATE (Module pool SAPLV60A, program RV60AFZC)
Depending on the number range, table TVFKD is used to set the billing date (country-specific requirments in Italy). USEREXIT_NUMBER_RANGE is automatically deactivated when this user exit is being applied.
USEREXIT_FILL_VBRK_VBRP (Module pool SAPLV60A, program RV60AFZC)
This user exit is only called when the billing document is created. It is used to provide the header and the item of the new billing document with deviating or additional data.
USEREXIT_PRINT_ITEM (Module pool SAPLV61A, program RV61AFZB)
Printing the item line of a billing document can be supplemented or changed.
USEREXIT_PRINT_HEAD (Modulpool SAPLV61A, Programm RV61AFZB)
Printing the header line of a billing document can be supplemented or changed.
User exits in program RV60AFZD
Short descriptions of the user exits are contained in the program:
USEREXIT_RELI_XVBPAK_AVBPAK
USEREXIT_NEWROLE_XVBPAK_AVBPAK
USEREXIT_NEWROLE_XVBPAP_AVBPAK
The following user exits are available in report SAPLV60B for transfer to accounting (function group V60B):
EXIT_SAPLV60B_001: Change the header data in the structure acchd
You can use this exit to influence the header information of the accounting document. For example, you can change the business transaction, "created on" date and time, the name of the person who created it or the transaction with which the document was created.
EXIT_SAPLV60B_002: Change the customer line ACCIT
You can use this exit to change the customer line in the accounting document. This exit is processed once the ACCIT structure is filled in with data from document header VBRK.
EXIT_SAPLV60B_003: Change the customer line in costing
The customer line is filled in differently for costing. You can use exit 003 to influence the ACCIT structure.
EXIT_SAPLV60B_004: Change a GL account item ACCIT You can add information to a GL account item (such as quantity specifications) with this exit.
EXIT_SAPLV60B_005: User exit for accruals
Once all relevant data for accruals was entered in the GL account item, you can add to this data with this exit.
EXIT_SAPLV60B_006: Change the control line ACCIT
You can use exit 006 to add information to the control line.
EXIT_SAPLV60B_007: Change the installment plan
You can use exit 007 to add information to the installment plan
parameters in the GL account item.
EXIT_SAPLV60B_008: Change the transfer structure ACCCR, ACCIT and ACCHD
After the accounting document is filled in with data, you can use exit 008 to change the document once again.
EXIT_SAPLV60B_010: Item table for customer lines
You can use exit 10 to influence the contents of customer lines before they are created.
EXIT_SAPLV60B_0011: Change the parameter for cash account determination or reconciliation account determination
You can use this exit to change inbound parameters in order to influence account determination.
I hope that one of them could be helpful.
Regards
Ruy Castro -
User exit or badi for me52n transaction.
Hi all,
i have a requirement to write a user exit or badi for me52n transaction. the requirement is in header section, only one plant should be accepted. that is in the first row one plant will be inserted. in the second row if we are inserting another plant other the first row plant, it should not accept it and it should raise an error.
that is from the second row onwards, every plant should match with the first row plant.
if any part of this issue is unclear, plz let me know so that i can explain it clearly
this is urgent requirement.
please let me know the solution as soon as possible.
points will be awarded.
thanking u in advance.
A.srinivas.In this version exit EXIT_SAPLMEREQ_005 should exists (look at OSS <a href="https://service.sap.com/sap/support/notes/843446">Note 843446 - MEREQ001: Cannot call up external service data in user exit</a> this note refers to the exit and is applicable in 4.70. Look also at OSS <a href="https://service.sap.com/sap/support/notes/310154">Note 310154 - ME21N/ME51N: Customer-specific check, generating error log</a>
Regards -
User Exit OR Badi for MK01 transaction (used for saving vendor amster data)
Hi All,
I have a requirement where I have to call my workflow, when we create the Vendor using my custom transaction (ZMK01, which is a copy of standard transaction MK01).
For Workflow triggering I am using FM 'SAP_WAPI_CREATE_EVENT' in the user exit 'EXIT_SAPMF02K_001' but this is only for checking the data on saving Vendor Master.
So I want to use FM 'SAP_WAPI_CREATE_EVENT' at right place. For that , I need User-Exit or BADI which is used for saving vendor master data.
Could anyone please help me to find out the user exit or BADI for save event of vendor master data using transaction MK01.
Looking forward to your advise and thanks in advance.
Best Regards,
MamtaHi ,
I forgot to activiate the project linked with User exit 'EXIT_SAPMF02K_001' .
so problem is solved now
Thanks,
Mamta -
User exit or BADI for recruitment
Hi,
I am new to HCM, can you give me user exit or badi for recruitment.
Requirement - i have developed an infotype which i am updating through BSP, while the custom infotype is updated it should simultaneously update some of my Z tables. Hoping for positve replies earliest.
Thanks in advance:-
SantoshHi,
<b>Infotype</b>The data fields of HR master data, time management and recruitment are grouped logically into information types or infotypes for short.
Examples of infotypes are "Family/Related Person", "Organizational Assignment, "Basic Pay".
The following naming conventions apply to infotypes:
Infotypes 0000 to 0999 are used for HR master data
and sometimes for applicant data
Infotypes 1000 - 1999 for organizational management
Infotypes 2000 - 2999 for time data
Infotypes 4000 - 4999 for applicant data
Infotypes 9000 - 9999 for customers
<b>Function character of step</b>
This controls for which types of processing (create, change and/or delete a data record) a dynamic action should be carried out.
The processing type is indicated by a two-digit numeric value. These values can be added up; in other words, you can enter several processing types for each infotype, subtype or field. A dynamic action can also be carried out independent of the current processing type.
00 for Independent of the current function carried out
02 for Change
04 for Create
06 for Change and create
08 for Delete
10 for Change and delete
12 for Create and delete
Examples
If you enter 06, an action is carried out if the specified infotype was created or changed.
If you enter 00, an action is carried out irrespective of whether the specified infotype was created, changed or deleted.
<b>Variable function part</b>
The variable function part, which depends on the indicator for step, can have the following meaning:
<b>P - Plausibility checks</b>
You can enter values for specific infotype fields. Field names must be entered in full. Literals and constants can serve as comparison values. These must be enclosed by inverted commas. Variables can also be used.
The old value of a field can be used for comparison; the field name must be preceded by PSAVE-.
If fields of other infotypes are used for comparison, these must be stored in the module pool of the current infotype.
The following comparison operators are supported:
= equal to,
< less than,
<= less than or equal to,
> greater than
>= greater than or equal to and
<> not equal to.
Consecutive checks must be linked by a logical AND. Logical OR links must also be indicated by a /X.
Note:
Note that all checks with OR links must have a /X.
If the result of the comparison operation is not "true", then the following commands (I, F, W etc.) are skipped over until a field is reached or a new comparison operation takes place.
Examples
Infotype Field ..... Ind. Variable function part
0007 STAT3 P P0007-STAT3='0'
0007 STAT3 P PSAVE-STAT3='1'
The step is taken if the value in the P0007-STAT3 field changes from 1 to 0.
0007 P P0013-KLKZ1<>'0'/X
0007 P P0013-ALVKZ<>'0'/X
0007 P P0013-RVKZ1<>'0'/X
0007 P P0013-RVNUM=SPACE
The first three conditions are linked by an OR; at least one of these conditions must be met. Condition 4 must always be met.
The step is taken if the following holds true:
P0013-KVKZ1 not equal to 0 or P0013-ALVKZ not equal to 0 or P0013-RVKZ1 not equal to 0, and P0013-RVNUM empty.
<b>I - Maintain infotype record</b>
Enter the step, infotype, subtype, object ID, start and end dates of the record and an indicator which defines whether the step is to be run in the background. The possible actions are INS, COP, MOD, and DEL.
Use commas to separate selection criteria just like the separator in the matchcode. If an entry is missing, the system inserts a comma.
Separate the indicator for suppressing dialog from other entries by a slash D (/D).
Constants, such as those for subtypes, are not enclosed in inverted commas.
Variable entries are also permitted. Fields containing such values must be put in brackets.
Examples:
Infotype Field .... Ind. Variable function part
.... I INS,19,01/D
Step: Create a Dates record, subtype 01, run in the background
.... I DEL,14,M559
Step: Delete Rec. Payments/Deds. record with subtype (wage type) M559.
0007 .... I INS,8,,,(P0007-BEGDA),(P0007-ENDDA)
Step: Create a Basic Pay record (0008) without subtype and object ID. The start and end dates are the same as those in the current Planned Working Time record (0007); specify these two fields only if they are filled because the dynamic action was triggered by this infotype.
<b>W - Default values for new record</b>
Literals or variables are used as default values.
Set the defaults for the infotype, subtype, object ID, start and end dates using an I step and not a W step.
Do not set defaults for Q fields of an infotype because the values for these fields are derived from the corresponding P fields.
Examples
Infotype Subtype ..... FC Ind. Variable function part
0021 2 04 I INS,0015,M430
0021 2 04 W P0015-BETRG='10000'
When a Family/Related Person record (0021) record with subtype 2 (child) is created, an Additional Payments record (0015) with a default amount of 100.00 is created.
<b>V - Cross-reference to another step</b>
Here, you can combine fields to groups. The variable function part contains the value in the field which follows the "field" column. Steps which are specified only for the following field are also triggered for each of the other fields.
Examples
Infotype Field ..... FC Ind. Variable function part
0016 PRBZH 06 V PRBZT
0016 PRBZT 06 I DEL,0019,01/D
Infotype 0019, subtype 01 is deleted in the background when the field PRBZT or PRBZH in infotype 0016 is changed or created (function code 06).
The following entries are equivalent:
0016 PRBZH 06 I DEL,0019,01/D
0016 PRBZT 06 I DEL,0019,01/D
<b>F - Call a routine</b>
You can call internal (module pool) as well as external routines.
If you call external routines, type the program name in brackets after the routine name. Do not specify 'using' parameters. When calling an external routine, all data must be declared in a common part. You can use the fields of structure RP50D to return values from the routine. These are not used in the standard system and can only be populated via the routine and then can be used for defaults (W-Commands).
This allows customer-specific routines to be formulated with all the above steps.
Example 1:
Infotype Field ..... Ind. Var.function part
0016 PRBZT F PROBATION
0016 PRBZT I INS,19,01
0016 PRBZT W P0019-VTRMN=PRBEND
Module pool MP001600 contains the PROBATION routine. This routine uses the entries in the fields P0016-PRBZT and P0016-PRBEH to determine the end of the probation period which it stores in the field PRBEND.
The system creates a new 'Dates' record with the reminder date = PRBEND.
Example 2:
Infotyp ..... Ind. Var. function part
0001 F GET_DATE(ZPUDYN01)
0001 I INS,19,01
0001 W P0019-VTRMN=RP50D-DATE1
The GET_DATE routine in program ZPUDYN01 calculates a date and enters this date in the RP50D-DATE1 field via "TABLES RP50D" in ZPUDYN01. This date can be user-defined in GET_DATE: if necessary, user-defined infotypes can be read afterwards.
<b>M - Send a mail</b>
Enter the name of the feature which defines the characteristics of the mail.
Example
Infotype Field ..... Ind. Var.function part
0001 SACHP M M0001
A mail is sent when the field SACHP is changed. The characteristics of the mail are defined in feature M0001.
In the standard system, feature M0001 is provided as a model. The documentation on feature M0001 explains how to define the characteristics of a mail.
<b>ADDITIONAL HINTS</b>
If you use a date as a constant, enter it as YYYYMMDD (YYYY=year, MM=month, DD=day).
The table strings T001P, T503 and PSPAR are filled with the values which are valid on the record start date.
The old values of the infotype are stored in the field string PSAVE. The structure of this string is the same as the Pnnnn structure (nnnn=infotype). The structure is filled with (valid) values only when the delete, change and create functions are used.
Please read Create dynamic actions in the Implementation Guide.
Regards
Bernd
Maybe you are looking for
-
Purchase order statistical delivery date modification
In a purchase order there are statistical delivery dates. Where (and how) can I go to modify how this date is calculated? I would like to change it based on the due date minus a certain amount of days. All help is appreciated.
-
Hi I have purchased a printer that has a "web configuration tool" you are supposed to be be able to use a web browser to "look" at the printer. I can define within the printer the IP address The Sub net mask and a "gateway" Now I've given it an IP ad
-
Booklet won't let me because of multiple page sizes, even if I am using A4 for all the pages, this is the error message: "The active document uses multiple page sizes Print Booklet works only with documents that use a consistent page size." I am usin
-
I have a storm 9530 , verizon, v4.70.75 platform 4.0.0.94 3 apps installed, facebook,, weather channel and live strong calorie counter, 44.7 mb free space. I just got this phone because I beat up my curve. I tried to search my device so find somethin
-
Any chance you guys are working on vector support for the next update?
Any chance you guys are working on vector support for the next update? It would definitely make working with these retina displays much easier.