Error in table maintenance event after save
Hi,
I would like to issue an error in table maintenace event without exiting the screen.
When I am going to save in table maintenace then i am getting error but at the same time it is exiting table maintenace screen. I want to stay on the same screen but only want to give error message. Please can you help me in this ?
Below is the code I have written in event:
DATA lwa_row TYPE ztemp.
LOOP AT total.
clear lwa_row.
if <vim_total_struc> is ASSIGNED.
MOVE-CORRESPONDING <vim_total_struc> to lwa_row.
endif.
if <action> NE 'D' and <action> is NOT INITIAL and <action> NE 'X'.
if lwa_row-hkont = ''.
MESSAGE 'Please enter GL?' TYPE 'E'.
vim_abort_saving = 'X'.
ELSEIF lwa_row-ind = ''.
MESSAGE 'Please enter indicator?' TYPE 'E'.
vim_abort_saving = 'X'.
endif.
endif.
ENDLOOP.
Many Thanks.
Hi,
What`s event you are using, '01' ?
And change your code to this: 'MESSAGE 'Please enter indicator?' TYPE 'S' DISPLAY LIKE 'E'.'?
regards,
Archer
Similar Messages
-
Issuing an Error in Table Maintenance Event
Hi,
How can I issue an error in the table maintenance event without exiting the screen.
When an event is triggered (Before Save), it will perform a check in the data changed or created. It will issue an error when the changes are not correct. But when I press enter or click on the check button, it will exit the table maintenance screen.
What do I have to do in order to issue an error but will still go back to the table maintenance view.
Making the message as information or type I, will not work because it will still save.Hi,
I came to the same problem, maybe this will help someone.
You can move check into view cluster event.
1. load the view
PERFORM vcl_set_table_access_for_obj
USING 'view'
CHANGING error_flag.
2. assing to structure
LOOP AT <vcl_total> INTO ls_view
3. perform check, set VCL_STOP which will stop saving and will display message
VCL_STOP = 'X'.
MESSAGE .... -
Problem with table maintenance event
Hi Experts,
In the table maintenance event 05 for a ztable, I have written logic to validate if few key fields and non key fields are not initial.
If they are initial,need to throw an error message and it has to stay in the same screen.But right now it grays out the non key field.
Tried the combination of events 01 and 05 it grays out the key field.
Please let me know if there are any ways to achieve this without making modifications in the PBO or PAI of the ztable.
Regards,
SrideviI have this exact problem, why is this thread 'closed'? Is there an answer provided somewhere?
I have found a topic which shows an information message, which claims that the data is not saved.
But it does save the data if you use an information message and blocks non-key fields when using an error message
so this problem is still open for me.
Does anybody have a solution?
Ah an answer was indeed provided in another topic:
Issuing an Error in Table Maintenance Event
Edited by: Arno ter Horst on May 5, 2011 4:12 PM -
Hello,
Does anyone has a code example of table maintenance events?
I have a custom table ( zitab ) , with a maintenance view in SM30. I would like to use the table maintenance events for some authorisation check before the data is displayed, then, depending on the authorisation, display what the user is authorised to see. After data input, perform validation, if errors occur, inform the user what the problem is, if not, save in tha z table.
Can this be done in sm30 or I need to write a new program?
Thank you!Can someone please explain me why I have this short dump (before save event)?
Error analysis
The statement
"MOVE src TO dst"
requires the operands "dst" and "src" to be comvertible.
Since this statement occurs in a Unicode program, the special
convertibility rules for Unicode programs apply. In this case, the
following rules have been broken:
Source Code Extract
Line SourceCde
1 ----
2 ***INCLUDE LYTableF04 .
3 ----
4
5 form before_save.
6
7 DATA: l_field_is_blank.
8 DATA: BEGIN OF s_ytable.
9 INCLUDE STRUCTURE ytable.
10 INCLUDE STRUCTURE vimtbflags.
11 DATA: END OF s_ytable.
12
13 LOOP AT total.
14 CLEAR s_ytable.
>>>>> MOVE total TO s_table.
16
17 ENDLOOP.
18
19 endform.
In all examples that i read on this forum this code works, I don't know why it fails for me. -
How to use the table maintenance events for validating the input entries..?
Hi,
I have created a Z table with 6 fields in which all are KEY fields. All are of CHAR type. I have created the Table Maintenance Generator for the same. While maintaining the entries in the table, even though I maintain a blank entry for a field it is saving the entry. But, I don't want that way. All the fields are mandatory in my table. One should enter all the fields. Otherwise it should not allow to save the entry. So, I think it can be done using the Table Maintenance Events. can someone tell me how to use the Table Maintenance Events. and which event to use for my reuqirement and what is the logic to be written.
Or Is there any other way to solve my problem.
Please share your inputs. Thanks in advance.
Best regards,
paddu.In the table maintenance generator, Environment --> Modifications --> Events then a screen will be appear here,we need to create the Events.In the EVENTS screen, press new Entries, there give 01(Before Saving the Data in the Database) and give a name(This will become a PERFORM), then click the Editor pushbutton, this will be there at the right side of the entry, then a popup will be appear, you can create an include program, there inside of the include program write ur code.
Here is documentation for Event 01(Before Saving the Data in the Database )
Event 01: Before Saving the Data in the Database
Use
This event occurs before new, changed or deleted entries are written to the database. Other activities can be performed, for example:
hidden entry processing
fill hidden fields
flag data to be written to hidden tables after the database change.
To have the changes saved by the central maintenance dialog routines, SY-SUBRC must be set to 0 at the end of the routine.
Realization
This event has no standard routine. The following global data is available for the realization of the user routine:
internal table TOTAL
field symbols
field symbols <ACTION> and <ACTION_TEXT>
<STATUS>-UPD_FLAG
If internal table data are to be changed before saving, t he changes should be made in both the internal table TOTAL and in the internal table EXTRACT.
FORM abc.
DATA: F_INDEX LIKE SY-TABIX. "Index to note the lines found
LOOP AT TOTAL.
IF <ACTION> = desired constant.
READ TABLE EXTRACT WITH KEY <vim_xtotal_key>.
IF SY-SUBRC EQ 0.
F_INDEX = SY-TABIX.
ELSE.
CLEAR F_INDX.
ENDIF.
(make desired changes to the line TOTAL)
MODIFY TOTAL.
CHECK F_INDX GT 0.
EXTRACT = TOTAL.
MODIFY EXTRACT INDEX F_INDX.
ENDIF.
ENDLOOP.
SY-SUBRC = 0.
ENDFORM.
Regards,
Joy. -
Extended Table Maintenance Events
Can any give me information regarding Extended Table Maintenance Events .
Thanks,
ziaHi,
Check out these links...
/people/sudheer.cheedella/blog/2006/02/20/extracting-data-in-table-maintenance
maintenance view event
check this thread also..
Re: Maintenance View Events
Rgds,
Prakashsingh -
Table Maintenance events and field focus
Hi all,
In event 01(save data) of table maintenance, I have the code to ensure some fields are not left blank:
When testing the creation of table records in SM31, it gives me the error msg successfully, but after that greys out all fields in that row except the primary keys.
- My primary keys are already filled.
- The mandatory field that must be filled is not filled yet, but is greyed out after the error message is given.
How can I avoid this and set focus on the mandatory non-key field?
My code as follows:
***INCLUDE LZBUSICONNF03 .
FORM CHECKMANDATORYFIELDS.
IF ZPWHPO_INC-HPO_NAME IS INITIAL.
* Enter company code
MESSAGE e100(ZBUSICONN_MSGCLASS).
ENDIF.
* Validation of COMPANY_CODE
* IF TABLEN-company_code IS INITIAL.
ENDFORM.Hello,
To check on not key fields, you can modify the "Maintenance screens". There you can use the logic as in any other dialog program and add you own check in a PAI module.
Rgds,
JP -
Hello GURU's
i have a requirement to update the table tab1 entries into another table tab2 with user and date.
In detail, wen a user enter some thing in table tab1, the
table one shouls have these entries and also these entries should be updated in another table tab2 with two extra field user and date.
I have create a 01 maintenance event for tab1 'before save',
but I have this following dump. am doing this for the First time please suggest.
Short text
Dynpro does not exist
What happened?
Error in the ABAP Application Program
The current ABAP program "SAPLYTEMP" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
Error analysis
The system attempted to use dynpro 0003 in program "SAPLYTEMP".
This dynpro does not exist.
Trigger Location of Runtime Error
Program SAPLYTEMP
Include LSVIMFX2
Row 1.023
Module type (FORM)
Module Name PROCESS_DETAIL_SCREEN
Source Code Extract
ENDFORM. "naechster
*& Form SET_MARK_ONLY
Sets status flag if entry with index p_index is marked.
-->P_index EXTRACT-index
FORM set_mark_only USING p_index LIKE sy-tabix.
DATA: rc LIKE sy-subrc.
PERFORM check_marked USING p_index
CHANGING rc.
IF rc = 0.
<status>-mark_only = 'X'.
ENDIF.
ENDFORM. " SET_MARK_ONLY
FORM PROCESS_DETAIL_SCREEN *
process detail screen call *
---> MODE - C -> call mode (CALL SCREEN), S -> set mode (SET SCREEN)*
FORM process_detail_screen USING value(mode) TYPE c.
DATA: modulpool LIKE trdir-name, "#EC *
no_input_happened(1) TYPE c,
state_action(1) TYPE c.
IF detail NE '0000'.
IF mode EQ 'S'.
SET SCREEN detail.
>>>> LEAVE SCREEN.
ELSE.
PERFORM vim_imp_call_screen USING detail.
ENDIF.
FORM VORIGER *
NEXTLINE: Index of current entry in table EXTRACT
FIRSTLINE: EXTRACT-index of first line shown on list screen
L: Line number of list screen, where entry was chosen
via F2
LOOPLINES: Number of step loop lines in list screen
FORM voriger.
DATA: rc LIKE sy-subrc, n TYPE i.Hi,
Use this FM instead of Move statement.. In Unicode environments the left and right operands should be of same data type. to over come this you can use the below FM
CALL FUNCTION 'HR_99S_COPY_STRUC1_STRUC2'
EXPORTING
P_STRUCT1 = total
IMPORTING
P_STRUCT2 = fs_zsdslsbud. -
Hello All ,
I have created the Table Maintenance with Events .
When the user enter the sales order number & item in the Txn code screen of the table .The Event 05 triggers & pulls out information for Sales Order Customer ,Material ,Plant & show it in the screen .
There are two more fields for user input Valid to & Valid from , the user now fills in these fields & then press Save button in the screen .
Now He gets the Short dump related to duplicate entries .
I checked the standard code & it is trying to enter data into the Internal table
MOD_ELEM_TAB & since already the same entry exsist in this table so program dumps out .
Kindly suggest the way to solve this issue .
Best regards,
Anurag Goel .Check with table primary keys and if you are creating same data again and again,
then you will get short dump..
so keep the validation like if record already exits then give message.
else you want to create same data again and again then create one more field and it is like count (keep as primary key ).
Reward Points if it is helpful
thanks
Seshu -
Extended Table Maintenance Events - 22
Dear Friends,
I'm trying out writing the Event 22 - Go to Long Text Maintenance for Other Languages. I have written the code in the particular interface format:
FORM xxxxxxx USING M_MODE
CHANGING TEXT_WA MODIF.
After activating also it is not appearing in the table maintenance. Please suggest something.
Regards,
Deva.Hi Divya,
whenever you attatch event in the table maintenace, you have to take care of the following points :
1. The table and the function group should be activated.
2. The form routine name should be the same what you entered in the column against the event number under the form routine ( t-code : se55).
I did attatch the event no. 22 and it is activated ..and i can see in my table maintenance.
Regards,
Kunal. -
Error: Enhancing Table Maintenance Generator
Hello,
I am trying to enhance a Table Maintenance Generator as per client's requirement; while saving a new entry; I got to do some validations; I have got the spot to include my code; but how should I include it; using Enhancement Spots or something? To try out, I have made an enhancement spot and trying to make an enhancement in the program; it throws out an error: "Object FUGR SVIM is part of the central basis and therefore cannot be enhanced".
Please guide me how to proceed? Is this approach correct to enhance a Table Maintenance Generator?hello zahak ,
u have 2 options to places validations in TMG .
1. By using the events
2. Doing changes in PAI of that screen and placing validations.
regards
Prabhu -
Error in Table maintenance generation
Hi all,
I have z-table containing 112 fields. When I try to create a maintenance view using the table maintenance generator I get the following error :
"Memory for screen LOAD is used up. bytes) is not available."
The view is not created.
Can you please help?
Thanks and regards,
PrasadHello Sravan,
Thanks for the reply. Yes it works ok for the 2-step process. But we would want to have it as a single step. I observed that if I give any screen number in the 1-step process, it results in the above error.
Thanks and regards,
Prasad -
Hi Experts
I have done a table maintenance program and assigned to a transaction.
First time it works fine. Due to some reason, i deleted the table maintenance and created new one.
When i transport this request to the testing client, it goes to dump and gives the following error.
Syntax error in a screen
While generating a screen, the system discovered that it contained a
syntax error, or that it could not be generated for some other reason.
While generating a screen, the system discovered that it contained a
syntax error.
While am creating new maintenance, the standard program is SAPLZCTL01
But it gives the error related to the program SAPLZECTL5 older one.
i think this pgm not transported to the testing client.
do i want to transport program too. can anyone tell me what could be the reason?
Thanks in advance.
Regards
RajaramIn that case I suggest u re-do the maintenance transaction and re-transport it, as, if the program was a Z program, u can make small changes and attach it to your new request, but since it is a std pgm, that wouldn't be advisable. This time ensure all ur objects lie under 1 request, and transport with care
-
Extended Table Maintenance Events 05: Original line when copy entry?
Hello,
in the Extended Table Maintenance <b>Events 05</b> I want to <b>copy</b> my own tables. For that I need to know not only the newly created line, but also the original line which was the template for the copy.
I know this line is contained in table EXTRACT, but how do I identify it?
Is there an index pointing to the "old" line inside EXTRACT?
Is there a work area containing the old line?
I thought workarea EXTRACT contains the old line and <TABLE1> the new line, but debugging proofed that both are the same.
Any idea?
Best regards,
CedricAny body can help me?
-
Table Maintenance Events - "Event 02 After Saving the Data in the Database"
Hi,
Can we identify the record marked for deletion in the "Event 02 After Saving the Data in the Database" ?
Thanks & Regards,
Esha RajLook at online documentation :
- [Event 02: After Saving the Data in the Database|https://help.sap.com/saphelp_nw04/helpdata/en/77/06b11859f511d2a6070000e82deaaa/frameset.htm]
. - [Internal Table TOTAL|https://help.sap.com/saphelp_nw04/helpdata/en/77/06b11859f511d2a6070000e82deaaa/frameset.htm]
. . - [Field Symbols <ACTION> and <ACTION_TEXT>|https://help.sap.com/saphelp_nw04/helpdata/en/77/06b11859f511d2a6070000e82deaaa/frameset.htm]
. . . - [Constants for Field Symbols <ACTION>, <ACTION_TEXT>, <XACT> and <XACT_TEXT>|https://help.sap.com/saphelp_nw04/helpdata/en/77/06b11859f511d2a6070000e82deaaa/frameset.htm]
Regards,
Raymond
Maybe you are looking for
-
Acrobat X Pro License acceptance issue, crash
Hi, I am using Acrobat X Pro on windows 7 (as part of the creative suite). When I open the program it asks me to accept the license agreement. I click accept, the program opens and then closes and asks me again........continually. Does anyone know h
-
How to filter data from two diff. table ???
i am developing a web application with crystal reports . I am using crystal report api in eclipse. now my problem .... there are three tables person , natural_dead, violent_dead I just want to show the total no of count of person dead naturally as we
-
What is ths ALOT that has taken over my firefox
I now have a screen that takes over my firefox
-
Onchange attribute of h:inputText/ not rendered in JSF 1.2.08 and above
Hi! I am using Glassfish v2ur2, which is shipped with JSF 1.2.04. I have upgraded to 1.2.08 performing the steps in the release notes - basically overwriting GLASSFISH_HOME/lib/jsf-impl.jar and adding jsf-api.jar at the same location. It works, but I
-
I have a 2008 Macbook that keeps restarting
Late 2008 Macbook running 10.8.5 keeps restarting any ideas. It took a trip to the Apple store to fix the problem and they put in a new hard drive but the problem still presists. Update from OS 10.7.5 to 10.8.5 and that didn't fix the problem it just