Simple exit function
Hi All,
I am new BPS planning functions, I am trying to write a simple exit function to manipulate amount.
Example: For value type as Plan i.e. '020' , I want to added constant to existing values say '100'.
like price = price + 100 (for all value types as '020').
I know this can be done by formula function as well , I know that i need to build a function inorder to create a exit function. I need help in building the ABAP code.
Any help greatly appreicated.
Regards,
Reddy.
Hi Vachan,
Thanks for the reply, you mentioned that XXX-value type.
What XXX stand for? As i am new to SAP please can you be of more specific.
Regards,
Reddy.
Similar Messages
-
Reading Data From a Different Planning Package in a Exit Function
Hi,
Is it possible to read data from a planning level / package other than the package that the exit function was executed with? I want to read data into an internal table from another package and use that data in combination with the data in the current package to create new records. If this is possible sample code for how to read data from a different package would be appreciated.
Thanks!
Mel WaldnerHi,
As an example lets say you have restricted 0calmonth in your package to 6.2007. In the planning layout to fetch values for 5.2007 (read only), you can take 0calmonth in data columns, and for this column restrict it as 5.2007.
Similarly in Planning functions, you can mark 0calmonth as field to be changed and fetch data for 5.2007.
Hope this helps. -
Inserting records in the ABAP exit function (hashed table XTH_DATA)
Hi all,
I want to add records in the logic of an ABAP exit function. Due table XTH_DATA being a hashed table the normal insert or append is not possible.
My logic MUST move the data to a temporary table (ITAB) where the logic is executed (modifying KYF values and creating new records.
In order to quickly get to a result I have solved the problem in an awful way through hardcoding the structure of ITAB to be the same as XTH_DATA is in this specific case.
I would like to know if someone has an exmaple of a nice way to dynamically create an ITAB with the structure of XTH_DATA?
At the end it should be possible to do: XTH_DATA[] = itab[].
Greetings,
MartinHi Martin,
the only way I know is to solve this problem with sort of pointers, field symbols. Roughly spoken the idea is you lookup the structure of xth_data in table dd03l. you define an internal table of type any. you loop around your xth_data table and assign the value of each column of xth_table to your internal table. then you do your your adding. Hopefully then you can simply assign xth_data to your itab.
regards,
Jürgen -
How to access BPS variables in ABAP Exit Function
Hi Experts,
I am using a Exit Function. My BPS variables contain multiple values. I want to trasfer then (may be directly read) to an internal table from where I can loop over then.
Could you please suggest me the code for this?
Points will be awarded.
Thanks in advance,
ShiweshDid you try using the FMs API_SEMBPS_VARIABLE_GETDETAIL or Z_VARIABLE_GET_DETAIL for this?
-
How to access reference data in BPS Exit Function
Hi Experts,
Can any please tell me how to access reference data in BPS Exit function. I am creating a copy function using ABAP Exit Function (Std copy and fox formula doesn't work for my requirement).
Please suggest,
Thanks in advance,
ShiweshHi Deepti,
Thanks a lot for your reply. xth_data contains all the data based on package filteration. Let me explain you,
Say, I have a characteristic char and whose value is 'A', I want to change it to 'B' in my copy function, while keeping the original record with 'A' as well. So now I want my xth_data to contain two records, one with A and other with 'B'. I mean to say from value is 'A' and to value is 'B'. Now my package contains 'B' (the to value) as the allowed value, but not A because in the package I am setting this using a BPS variable. There are two types of variables, one is to variables other is from variable. There could be two scenarios,
1. If I set from varibale in the package: if I do so, I will have the data in xth_data containing 'A' as char value. But in this case when I change it to 'B' and try to save both the records, package won't recognize the record with value 'B' and reject it.
2. If I set to variable in the package: In this case the xth_data itself will not contain anything and I can not loop over xth_data because there is no record with 'B'. Only record available in the system is with 'A' values.
That is why I am thinking about having reference daya somewhere. I could loop over reference data and then pass it to xth_data. Package will contain to variable so it will allow all my modifications to get saved.
Thanks and regards,
Shiwesh -
Reading manual planning function header data in exit function
Hello all,
I would like to know if is there a chance to read header data of a planning function. The planning function is determined by user selection (user choose which value will be in ) and in exit function I then modify the buffer by data which I get by calling RFC on another system.
My problem is that buffer contain all the planning data for whole planning area (it seems) so there is many unnecessary call. How can I get in exit function value specified by user at start of a planning session?
Thank you for your helpHi,
There's some issue the planning funciton will only read the data specified by the users (variable values).
Check the configuraiton once again.
thanks -
Program name zxvau02 are reserved for includes of exit function group
i am facing a problem during user exit.
when i am trying to change the code in function module (va01) in include zxvvau02
an error is occurred 'program name zxvau02 are reserved for includes of exit function group'
so i could not edit the include program.Hi,
1. Find the appropriate Enhancement.
2. Enter the ABAP code in the "Z" program within the function module.
3. Create a project.
4. Add the Enhancement to the project.
5. Activate the project.
At the step (2), when I double click on the Include ZX* within source code of the function module to realize the exit, the
system would prompt to create the include. But NO, it always prompt that the name of include is reserved by SAP and I
cannot create it... I entered an access key for the object ... -
Activating Include Program in Exit Function EXIT_SAPLAAPM_002
Hi,
Thed System does not allow me to create/activate the Include Program ZXAAPMU02. I am getting message : Program names ZX... are reserved for includes of exit function groups. Can you please help me?
Appreciate Your Help.
Thanks,
Kannanhi Kannan,
when you get this message, just press enter. System will ask if it should create ... just say yes and you can create the exit code.
hope this helps
ec -
Menu-exits, Function-exits & Screen-exits
What is Menu-exits, Function-exits & Screen-exits ? explain
Hi,
Why do you need enhancements ?
The standard applications do not offer some of the functionality you need. The R/3 enchancement concept allows you to add your own functionality to SAP's standard business applications.
What are the different types of enhancements ?
Enhancements using customer exits
Customers' potential requirements which are not included in the standard software are incorporated in the standard as empty modification 'shells'. Customers can then fill these with their own coding. Enhancements can relate to programs, menus and screens. Upward compatibility is assured. In other words, SAP guarantees that the jump from the standard software to the exit and the interface which call the exit will remain valid in future releases.
Enhancements to ABAP/4 Dictionary elements
These are ABAP/4 Dictionary enhancements (creation of table appends), text enhancements (customer-specific key words and documentation for data elements) and field exits (creation of additional coding for data elements).
What is customer development ?
Creating customer-specific objects within the customer name range.
What is SSCR ?
SSCR (SAP Software Change Registration) is a procedure, for registering all manual changes to SAP source coding and SAP Dictionary objects.
What is the difference between modifications and enhancements ?
Modifications mean making changes to the SAP standard functionality.
Enhancements mean adding some functionality to SAP standard functionality.
What are the disadvantages of modification ?
Modifying standard code can lead to errors
Modifications mean more work during software upgrades
What are the advantages of enhancements ?
Do not affect standard SAP source code
Do not affect software upgrades
when do you opt for modification ?
Customer exits are not available for all programs and screens within the R/3 standard applications. You can only use exits if they already exist within the SAP R/3 System . Otherwise you have to opt for modifications .
What are the various types of customer exits ?
Menu exits
Screen exits
Function module exits
Keyword exits
What is a menu exit ?
Adding items to the pulldown menus in standard R/3 applications .
13.What is a screen exit ?
Adding fields to the screens within R/3 applications. SAP creates screen exits by placing special subscreen areas within a standard R/3 screen and calling a customer subscreen from within the standard dynpro's flow logic.
What is a function module exit ?
Adding functionality to R/3 applications. Function module exits play a role in both menu and screen exits.
What is a keyword exit ?
Add documentation to the data elements of key words defined in the ABAP/4 Dictionary. The system displays this documentation whenever a user presses F1 to get online help for a screen field.
How do SAP organizes its exits ?
SAP organizes its exits in packages that are called SAP enhancements. Each SAP enhancement can contain many individual exits
Regards -
Bug in SAP B1PL 42 on validate events and exiting functions
I've recently tested an upgrade to PL 42. There seems to be an issue when trying to exit a function or trying to set return false.
Here is a sample code of what i use to accomplish in previous patches.
Case SAPboiuCOM.BoEventTypes.et_VALIDATE
Select Case pVal.ItemUID
Case "matPay"
If pval.InnerEvent Then
do nothing
else
Dim oMatrix as SAPbouiCOM.Matrix = oForm.Items.item(pVal.ItemUID).Specific
Select Case pVal.ColUID
Case "RegHours" : if sglRegHours = oMatrix.Columns.Item(pVal.ColUID).Cells.Item(CInt(val(pval.Row)).Specific.Value then Return False
End Select
No matter what I try here, Return False, Exit Function, it does not work. It keeps executing the rest of the code. And yes, the statement gets executed.
Any one else has found something similar to this odd behavior ?
any comments or suggestions would be greatly appreciated
Edited by: Neftali Figueroa on Jan 31, 2008 10:58 AMWell
I found a workaround for this odd problem. What I did was ... since the evaluation part of the code (if statement) was getting executed right, i changed the statement like this
blnValueEdited = (sglRegHours <> Csgl(oMatrix.Columns.Item(pVal.ColUID).Cells.Item(CInt(val(pval.Row)).Specific.Value ))
and then evaluate the blnValueEdited for true -
Parameter Exit Function in Planning Folder
Hi all,
I created the planning function in SEM BPS using exit function. And then I added the parameter exit function 0VERSION to this function. After that, I tried to put this function in the planning folder.
Does anybody know how to put the parameter exit function to the planning folder?
Because I need the user to fill the value of the 0VERSION before they run the function.
I assume this should work as the selection screen.
Currently, Every time I run this function, there is no selection screen or the place that I could fill the value for this field. So, the system always receives no value for this field.
Or Maybe you have another approach to get the user's value without restrict the data before run the exit function.
Thanks a lot for your help,
-Martin Darmawi-This behaviour is quite normal. You should use different approach.
Parameters in exit functions can be filled in parameter group only and only with fixed values.
You should create a planning variable, put it to the folder and then read value of this variable in your exit function with 'API_SEMBPS_VARIABLE_GETDETAIL' for example. -
Attribute value to exit function module
Hello group,
I'm working in a sem-bps project and I have a problem with an exit function, because
I need the function module to read the value of a characteristic's attribute.
I read the standard function module UPF_VARIABLE_USER_EXIT_ATTR: it retrieves the attribute value through the import parameters ITO_ATTR TYPE UPC_YTO_ATTR.
I put this attribute on my exit function but when I check the content of the attribute its always empty. Do you know how I can transmit the parameter from the exit planning function to the function module?
Any input is appreciated, thanks AndreaAndrea, if you want to fill a variable with the characteristic's attribute of another variable look at the document "HowTo_BPS_VarOfTypeExit.pdf" (i send at your e-mail if you want). It Follows an extract in which it's filled the second variable with the characteristic's attribute of another variable:
Source code: Attribute values
SELECT * FROM /bi0/mbps_produ INTO TABLE lt_chavl
WHERE bps_prodl = ls_varsel-low.
if sy-subrc <> 0.
MESSAGE e026(upc) WITH ls_varsel-low '0BPS_PRODL'.
attribute value not found
exit.
endif.
ls_varsel-seqno = '0000'.
ls_varsel-chanm = '0BPS_PRODU'.
LOOP AT lt_chavl INTO ls_chavl.
ls_varsel-seqno = ls_varsel-seqno + 1.
ls_varsel-low = ls_chavl-bps_produ.
APPEND ls_varsel TO eto_charsel.
ENDLOOP.
In the example above ls_varsel contains the attribute value to provide to eto_charsel (the output table in which you have the result).
I suggest you to debug your application to see how ito_attr is passed to the FM.
Hope it helps.
Fabio -
Change Data in BPS Layout: Exit Function
Hello everyone,
We are using BW-BPS and we need to make a sort of a certain characteristic in a Planning Folder. In the specific Planning Folder it was defined an exit function and it was assigned a function module.
We implement the following code:
FUNCTION Z_ORDENAR_CLASSIFICACAO_PLANO.
""Interface local:
*" IMPORTING
*" REFERENCE(I_AREA) TYPE UPC_Y_AREA
*" REFERENCE(I_PLEVEL) TYPE UPC_Y_PLEVEL
*" REFERENCE(I_METHOD) TYPE UPC_Y_METHOD
*" REFERENCE(I_PARAM) TYPE UPC_Y_PARAM
*" REFERENCE(I_PACKAGE) TYPE UPC_Y_PACKAGE
*" 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:
lr_area TYPE REF TO cl_sem_planarea_attributes,
wa_hash_table type ref to data,
l_sortfield type STRING,
lr_t_data TYPE REF TO data.
FIELD-SYMBOLS:
<lt_data> TYPE STANDARD TABLE,
<ht_head> TYPE ANY TABLE,
<xth_data> TYPE HASHED TABLE,
<ls_data> TYPE ANY,
<wa_data> TYPE ANY,
<fundo> TYPE ANY,
<eco> TYPE ANY.
CALL METHOD cl_sem_planarea_attributes=>get_instance
EXPORTING
i_area = i_area
RECEIVING
er_instance = lr_area.
CREATE DATA wa_hash_table LIKE LINE OF xth_data.
ASSIGN wa_hash_table->* TO <ht_head>.
<ht_head> = xth_data.
LOOP AT <ht_head> ASSIGNING <ls_data>.
This is the characteristic that we pretend to sort
l_sortfield = 'S_CHAS-0CMMT_ITEM'.
SORT <ht_head>
BY (l_sortfield) DESCENDING.
ENDLOOP.
<xth_data> = <ht_head>.
UNASSIGN: <ls_data>, <ht_head>.
ENDFUNCTION.
When execute this function, we get a DUMP (ASSIGN_TYPE_CONFLICT). Does anybody have any suggestion how to change a hash table or somehow make a sort in this hash table?
Thanks in advance.
IldaHi,
After some changes in the code, it seems that xth_data table is assuming the new content. In debugging, we could see that the assignment was made and xth_data records are now in a different order. But when executing the BPS Layout assigned to this planning function, all the lines (records) still in the same place. The Layout doesnt change.
This is the code:
FUNCTION Z_ORDENAR_CLASSIFICACAO_PLANO.
""Interface local:
*" IMPORTING
*" REFERENCE(I_AREA) TYPE UPC_Y_AREA
*" REFERENCE(I_PLEVEL) TYPE UPC_Y_PLEVEL
*" REFERENCE(I_METHOD) TYPE UPC_Y_METHOD
*" REFERENCE(I_PARAM) TYPE UPC_Y_PARAM
*" REFERENCE(I_PACKAGE) TYPE UPC_Y_PACKAGE
*" 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:
lr_area TYPE REF TO cl_sem_planarea_attributes,
l_sortfield type STRING,
data_ref TYPE REF TO data,
lr_t_data TYPE REF TO data.
FIELD-SYMBOLS:
<lt_data> TYPE ANY TABLE,
<ls_data> TYPE ANY,
<ls_data_copy> TYPE ANY.
CALL METHOD cl_sem_planarea_attributes=>get_instance
EXPORTING
i_area = i_area
RECEIVING
er_instance = lr_area.
CREATE DATA lr_t_data TYPE (lr_area->typename_t_data).
ASSIGN lr_t_data->* TO <lt_data>.
<lt_data> = xth_data.
CLEAR xth_data.
l_sortfield = 'S_CHAS-0CMMT_ITEM'.
SORT <lt_data> BY (l_sortfield) DESCENDING.
MOVE <lt_data> TO xth_data.
ENDFUNCTION.
Does anybody understand this behavior, why the changes in the user-exit are not assumed in the BPS Layout?
Thanks,
Ilda -
How to Debug the DMEE exit function module
Hi All,
I wants to Debug the DMEE tree exit function module.
Could you please guide me.
Regards,
SeshadriPut a BREAK USER in User-Exit.
Once the system enters into debugging mode,
in debuger on setting tab,
check the Update Debugging and System Debugging.
Regards
Bala Krishna -
Exit Function ZUPF_EXCEL* in Web Layout
Hi gurus,
I created an Exit Function based in Standard function "UPF_EXCEL_AFTER_DATA_PUT_01". I put this function in the field 'name of writing module' like explains very good Alberto Sabate in his post (layout in change mode). The functions runs very well in GUI. The problem occurs when I tried to do the same in a Web layout. The function it doesn't works.
I would like to know if this kind of functions it doesn't works in Web or it is a problem of our code or a need a modification in WIB ?.
Another question, it's posible to change the protection of a cell (lock a cell) with this function ? OR this is only posible with a VB Macro ?
Thanks in advanced.
Carlos.Hi Marc,
Thank You very much for your reply, but now We have a problem ))
I explain our problem ...
We have to control the value of a header characteristic in a layout to fill a table, we have a Hierarchy Variable to control the layout, and this one shows characteristics combinations from Transaction Data. When we navigate ( select another combination) with this header char we have to control the changes of it. All in Web format.
We try with a Standar Exit Function, but in the internal Table XTH_DATA we don't know which is the value of the chararacteristic that layouts shows.
Do you know if there is another exit function that is executed in Web layout with this functionality ?.
Thanks in advanced and Best Regards,
Carlos.
Maybe you are looking for
-
hi In BDC how to transfer the data to table control
-
ERROR in configuration:more elements in file csv structure than filed names
<p ct="TextView" class="urTxtStd" style="white-space:nowrap;">Hello,<br>we have problem with file content conversion on file (FTP) sender<br>adapter when reading flat delimited file.<br><br>Error:<br>Conversion of file content to XML failed at positi
-
How to handle OnInputProcessing in a page from an another page
Hi All, can someone help me? I have a bsp page with 2 frames. Frame1 contains a button. On pushing this button, i want to handle page2 OnInputProcessing event (without passing by OnInitialization) How can i do that ? Edited by: geek nadine on May 3,
-
Though the TOC Style "Always Show Selection" has been checked but still in the generated chm file using RoboHelp 10 does not close the book. When a user navigates from one link to another from topics, the related topic is not displayed. The other b
-
I would like to print labels while using contacts in icloud, but can't figure it out. My mac can not use icloud since it is old and my address book won't sync with my contacts in icloud. What can I do to print labels?