Events problem in Table Maintainance Generator.
Hi,
I had created the custom table having three field in it Namely (Pernr,Begda,Endda).Here Pernr is Primary key.
So by using the TMG events '05' i had written the program as below
1) when pernr is intial Display the Error message.
2)When Begda is Greater than Ennda display the error message.
By using the above event '05' five i can able to achieve above conditions.But i got an issue after saving pernr,Begda,Enda.
so after saving the data 'pernr' becomes non editable and begda and enda is still in edit mode.If i once again change the Endda and Begda (As Begda is greater than Endda) it is saving without showing any error.So please help me to check the Begda And endda after saving also.it should only allow when Enda is Greater than Begda.
Thanks and regards
D vishnu
Hi vishnu vardhan
To do this, You have to use event '21'!
Keep in your mind:
Event 05 - On create new entry(ies)
Event 21 - On change already entry(ies)
Best regards,
Alexandre B. Dambrowski
Similar Messages
-
Problem in table maintainance generator
Hi,
I have a requirement in table maintainance generator i.e. when I clcik on se11,enter the table name and then click on new entries ,my table control that I see on the screen will have some entries that were entered earlier.
But in my case the entire table control has to be blank when I click on new entries and it should be in output mode only.So please can someone tell me how I can clear the entries .Which event should I use for this?
Another requirement is that for my table maintaianance generator,I have been asked to remove on field from the table control and place it above the table control as a text field.Now this text field is a key field.When I enter some value in this text field and click on enter,it should give me the values corresponding to this key field.Please can someone help me out with this?Which event should I use for this?
Regards,
Sushanth H.S.Hi Sushant,
Considering there are considerable modifications to your table maintenance I would suggest you create a small module pool transaction for your requirement with a table control and code the flow logic (PBO/PAI) yourself.
For the DB update, you can use the SQL commands. Since it would be an alternative to the table maintenance for a single table, I think the database update part wouldnt be complex to handle at all.
You would need a table control same as the one in the maintenance however a wizard will make that job very easy for you.
Finally, assign a transaction to your module pool and you are good to go.
This is in my opinion not a complex development and also would be easier than trying to modify a SAP generated table maintenance, because adding a text field on top etc. would be drastic changes which cannot be accomplished by events alone.
Cheers. -
EVENT problem in Table maintenance generator
Hello all
I m working on 4.6C sytem. I m facing 2 problems in events in table maintenance generator
(1) I am using 04 event (After deleting records from table) I have written BREAK-POINT in the Form .....ENDFORM... But the control doesnt stop there , when i select an existing record and press delete record button? not able to understand this
(2) When i implement even t 03( Before deleting records from table) , and select an existing record and press delete record button . Control successfully Go to corresponding FORM ... BREAK-POINT ENDFORM .
But now the problem is.. in debuggin i can see the contents in TOTAL table but when i try to code LOOP at TOTAL ..ENDLOOP...it gives me syntax error saying " table TOTAL doesnot exists or not defined..but similar field TOTAL_S , TOTAL_M , TOTAL_L exists.. ???
how come i can see the same during debugging but cannot code it ?
Plese help
NileshHi Nilesh,
(1) I think the control will stop there after you delete AND save. Not sure about that but give it a try.
(2) I believe you are trying to access fields inside table TOTAL, is that right?
Actually you have to declare a work area with your Z table type.
DATA: w_workarea type ztable.
LOOP at total.
w_workarea = total.
endoop.
Then you can work with w_workarea.
Best regards. -
Problem in the table maintainance generator of View J_3RFV_F4VERS
Hi All,
I have a problem with View J_3RFV_F4VERS (SAP standard table for Russia).
Currently i am not able to change the entries in this View through SM30. Currently in the Table maintainance generator of this view "Standard recording Routine" is selected as Recording Routine.
But when i change this to "no, or user, recording Routine", i am able to change the entries of this view through SM30.
I would like to know the impact of selecting the alternative Recording Routine. Will it have any adverse impact?
Please throw some light on this issue.
Regards,
Navin.Use Events in Table Maintainence Generator.
Environment-->Modification --> Events
U can write a subroutine which can be called to increment the numbers . -
Table Maintainance Generator Updation problem
Hello,
I am having the problem related to table maintainence generator updation.
I am fetching the data in table maintainance generator from Standard table.
Now the problem is that, if I fetch some records ; some records are updated properly but some records are not.
Please suggest the solution.
Thanks.
Swati.>
Swati Khandelwal wrote:
> Hello All.
> Thanks for your reply.
> The field which is not updating is not the key field.
>
> Thanks.
> Swati
It does't matter.
But the fields is not updating you need to check its key in table whether it is exsist?
I'm yes it is there.
One more thing i would like to confirm are you using Update or modify? -
How to get customer name automatically in table maintainance generator
Hi all,
I am having a table maintainance generator in which ship to party is the primary key, i need to add another column customer name
fetched from KNA1, i tried using the event
5.new entries creation, creating a new perform
but the code which i am writing gives an error "Statement in accessible".
Kindly help.Hi Manohar,
Thanks for your help, Its working now.
Issue resolved. -
Delimit button not working in table maintainance generator
Hi Gurus,
i created table maintenance generator for the view.in this view i hide one field i.e. sequence no. and when ever user
entering the values, this sequence no. automatically increased for each record. I just included the code in the events section in table maintenance generator. My view has begda(start date) and endda(enddate). and i included delimit button in table maintenance generator by generate time dependent option. Now the problem is when user clicks on delimit button on begda, all the remaining records are disappearing and also unable to save this record. I'm unable to understand where the problem is getting exactly?? i searched the forum.but it didn't solve my problem?? Can anyone help me on this issue??
ThanksThe SAP documentation is explicit, prerequisites :
Structure
The table/view must contain two fields for the start and end dates. One of these fields must be in the key, the other must be the first non-key field in the table/view.
The field name must be specified.
The following data elements must be assigned to the fields:
for the start date
Field name BEGDA or
Data element BEGDATUM or
Data element VIM_BEGDA or
Data element BEGDA
for the end date
Field name ENDDA or
Data element ENDATUM or
Data element VIM_ENDDA or
Data element ENDDA.
All four data elements are in the domain DATUM.
Regards,
Raymond -
"Recording Routine" in Table maintainance generator
Hi All,
I have a problem with View J_3RFV_F4VERS. Currently i am not able to change the entries in this View through SM30. Currently in the Table maintainance generator of this view "Standard recording Routine" is selected as Recording Routine.
But when i change this to "no, or user, recording Routine", i am able to change the entries of this view through SM30.
I would like to know the impact of selecting the alternative Recording Routine.
Please throw some light on this issue.
Regards,
Navin.You can simply press F1 on the radiobuttins in the table maintanence of a table.
It is all explained there.
Basically it normally follows the mandant settings, so if the setting in your mandant is, no changes allowed, then you can't change it.
The normal route for updating this table is to change it in your DEV system transport and test it in QA and finally transport it to PRD.
Regards, rob -
Transporting table and table maintainance generator
Hi,
Can i transport the table and table maintainace generator and function group of the table with in single request or not.
One more thing is when i transport the table maintainance generator,will the entries also be transport to another system or not.
Thanks in advance,
SureshHi Suresh,
Go to SE54-> Utilities-> Total Transport. The following things are transported.
The total transport transports the complete maintenance dialog:
authorization group
authorization group assignment
control entry
events
function groups
maintenance objects
variants
Content wont be transported it seems.
Thanks & Regards,
Nagaraj Kalbavi -
Dear Experts,
I hv created a ztable containing following fields.
MANDT MANDT Primary Key
ZVEHICLE ZSDVEHICLE Primary Key
ZDCODE ZDCODE Primary Key
ZOUT_DATE ZDATUM Primary Key
ZOUT_TIME ZOUT_TIMS Primary Key
ZOUT_READING ZMTR_READ
ZIN_DATE ZDATUM_IN
ZIN_TIME ZIN_TIMS
ZIN_READING ZMTR_READ
ZSTATUS ZSTAT ( IN , OUT values possible)
ZREMARKS ZCHAR50
Now i m trying to create a Table Maintainance Generator And the Problem is following two fields are not visible in TMC.
ZIN_DATE ZDATUM_IN
ZIN_TIME ZIN_TIMS
But if i add another field with other data type ( other than time and date), that field is visible.
And if i include above two field in primary key, then only it is visible.
Is ther any restriction with time and date format field with TMC.
Any idea.
thansks in advance.
JaspalHi Jaspal,
There are two maintenance types available while creating a table maintenance generator.
1. One step
2. Two step
If the TMG is built in one-step, then all the fields (both key and non-key fields) will be displayed in a single screen. So, all your fields will get displayed.
Whereas if the TMG is built in two-step, the key fields will be displayed in a single screen and further details will be displayed in another screen. In this table, you have set the fields 'ZOUT_DATE' and 'ZOUT_TIME' as primary key. so it will be displayed in one screen and the non-key fields will be displayed in the second screen. So, if the fields 'ZIN_DATE' and 'ZIN_TIME' were to be dispalyed in the first screen, make it as a primary key.
Thanks and Regards,
Priya -
How to get serial no automatically in table maintainance generator
Hello Experts,
I am building table maintainance generator in that i want the serial number shold be displayed or generated for new entry automatically.
please mind this, i am going to put more that one entry at single time and my serial number field is primary key in table .
Thanks,
GauravIn table maintenance we can add an event during new entries creation, in that add code to read the table for the last entry and increment one to it. Hence whenever a new entry is created serial number value is generated.
-
In table maintainance generator
hi
in table maintainance generator, how to validate the data entered in the table. If it is only with the events, how?hi,
you can validate the data in tables, after generating a table maintanance generator.
Environment->Modification->Events.
After providing the subroutine name you can go to editor( click on icon provided just besides the form routine) and write the logic for validation.
for example, if changes are to be made to the data of particular controlling area, a check has to be made if the user is authorised to make changes. Below is a sample code that would give you an idea.
Sample code:
*& Form auth_check_save
Checks that the user has the correct authorisations to Change
details of Controlling Area. If not error message is to be
displayed on the screen.
form auth_check_save.
Data Declaration
Types
types: begin of ty_valtab,
kokrs(4) type c,
actvt(2) type c,
end of ty_valtab,
begin of ty_fieldtab,
fieldname(10) type c,
end of ty_fieldtab.
Internal Tables
data: lt_valtab type standard table of ty_valtab,
lt_fieldtab type standard table of ty_fieldtab,
Structures
ls_valtab type ty_valtab,
ls_fieldtab type ty_fieldtab,
ls_costele type ztf_costele,
Variables
l_status type zss_rfc_status,
l_st(1) type c.
Constants
constants : c_0(1) type c value '0',
c_01(2) type c value '01',
c_02(2) type c value '02',
c_06(2) type c value '06',
c_authobj(10) type c value 'Z_KOKRS',
c_error(5) type c value 'ERROR',
c_partial(7) type c value 'PARTIAL',
c_kokrs(5) type c value 'KOKRS',
c_actvt(5) type c value 'ACTVT'.
clear l_status.
ls_fieldtab-fieldname = c_kokrs.
append ls_fieldtab to lt_fieldtab.
clear ls_fieldtab.
ls_fieldtab-fieldname = c_actvt.
append ls_fieldtab to lt_fieldtab.
clear ls_fieldtab.
loop at total.
if <action> eq neuer_eintrag.
move total to ls_costele.
ls_valtab-kokrs = ls_costele-kokrs.
ls_valtab-actvt = c_01.
append ls_valtab to lt_valtab.
clear ls_valtab.
elseif <action> eq aendern.
move total to ls_costele.
ls_valtab-kokrs = ls_costele-kokrs.
ls_valtab-actvt = c_02.
append ls_valtab to lt_valtab.
clear ls_valtab.
elseif <action> eq geloescht.
move total to ls_costele.
ls_valtab-kokrs = ls_costele-kokrs.
ls_valtab-actvt = c_06.
append ls_valtab to lt_valtab.
clear ls_valtab.
endif.
endloop.
Authorization Check
call function 'ZAUTH_CHECK'
exporting
PIM_REPID =
pim_auth_obj = c_authobj
PIM_FIELD_TABNAME =
PIM_CHECKALL =
importing
pex_status = l_status
tables
pex_val_tab = lt_valtab
pim_field_tab = lt_fieldtab
exceptions
no_input = 1
others = 2.
if l_status = c_error. "Authorization Check
message under class: zmessclass
message e000(zmessclass) with text-e02. "You have no authorization
"for table maintenance
elseif l_status = c_partial.
loop at total.
if <action> ne space.
move total to ls_costele.
read table lt_valtab with key kokrs = ls_costele-kokrs
transporting no fields.
if sy-subrc <> c_0.
delete table total.
delete table extract.
endif.
endif.
endloop.
message e400(zmessclass). "All the entries could not be saved
"because of restricted authorization
endif. "End of Authorization Check
endform. "auth_check_save
The above code should be written in event 01 : Before saving the data in the database
Regards,
Farheen -
Disable delete button in Table Maintainance Generator
Hello all,
How to disable delete button in Table maintainance generator???Hi Maya,
It is very interesting question. If you debug your table maintenance screen, the program of table maintenance screen will not have statically defined pf status. So you cannot exclude delete functionalities using the below statement.
SET PF-STATUS <the GUI status> EXCLUDING 'DELE'.
For viewing pf status SAP has programmed in dynamic manner using this FM VIEW_SET_PF_STATUS.
Before calling above FM you need to exclude delete function. Follow the following step for achieving this
Go to sm30. Put your table name and press on maintain push button. It will display table entries in maintenance screen.
Go to system->status
Click on program name.
Go to your flow logic of you table maintenance screen number.
It will have following code in flow logic
PROCESS BEFORE OUTPUT.
MODULE LISTE_INITIALISIEREN.
LOOP AT EXTRACT WITH CONTROL
TCTRL_ZMAINTAIN CURSOR NEXTLINE.
MODULE LISTE_SHOW_LISTE.
ENDLOOP.
PROCESS AFTER INPUT.
MODULE LISTE_EXIT_COMMAND AT EXIT-COMMAND.
MODULE LISTE_BEFORE_LOOP.
LOOP AT EXTRACT.
MODULE LISTE_INIT_WORKAREA.
CHAIN.
FIELD ZMAINTAIN-MATNR .
FIELD ZMAINTAIN-KUNNR .
FIELD ZMAINTAIN-LIFNR .
MODULE SET_UPDATE_FLAG ON CHAIN-REQUEST.
ENDCHAIN.
FIELD VIM_MARKED MODULE LISTE_MARK_CHECKBOX.
CHAIN.
FIELD ZMAINTAIN-MATNR .
MODULE LISTE_UPDATE_LISTE.
ENDCHAIN.
ENDLOOP.
MODULE LISTE_AFTER_LOOP.
Add new module in PBO for excluding delete function. ex module set_pf.
PROCESS BEFORE OUTPUT.
****here I added my own code for excluding delete function
****begin of addion
module set_pf.
****end of addition
MODULE LISTE_INITIALISIEREN.
LOOP AT EXTRACT WITH CONTROL
TCTRL_ZMAINTAIN CURSOR NEXTLINE.
MODULE LISTE_SHOW_LISTE.
ENDLOOP.
PROCESS AFTER INPUT.
MODULE LISTE_EXIT_COMMAND AT EXIT-COMMAND.
MODULE LISTE_BEFORE_LOOP.
LOOP AT EXTRACT.
MODULE LISTE_INIT_WORKAREA.
CHAIN.
FIELD ZMAINTAIN-MATNR .
FIELD ZMAINTAIN-KUNNR .
FIELD ZMAINTAIN-LIFNR .
MODULE SET_UPDATE_FLAG ON CHAIN-REQUEST.
ENDCHAIN.
FIELD VIM_MARKED MODULE LISTE_MARK_CHECKBOX.
CHAIN.
FIELD ZMAINTAIN-MATNR .
MODULE LISTE_UPDATE_LISTE.
ENDCHAIN.
ENDLOOP.
MODULE LISTE_AFTER_LOOP.
*****inclule one line of code for excluding delete fucion
module set_pf output.
MOVE 'DELE' TO excl_cua_funct-function. COLLECT excl_cua_funct.
endmodule.
Basically sap fetching status dynamically from program SAPLSVIM using FM VIEW_SET_PF_STATUS. Status name is EULG.
Please donu2019t hardcode anything by using set pf status statment, you just add one line of code the PBO by creating new module.
Let me know if you need any help .
Cheers.
Regards,
Peranandam -
Event 03 in table maintenance generator
Hello All,
I have created a event 03 in table maintenance generator. Because I need to check if the deleted key is still referenced in an other table.
I tried the following code, but only if I use the message the entry will not be deleted.
MOVE uebergehen TO <mark>.
MODIFY total INDEX sy-tabix.
<xmark> = <mark>.
MODIFY extract INDEX nextline.
IGNORED_ENTRIES_EXIST = abap_true.
* MESSAGE e000 WITH 'Entry not allowed to delete'.
Thanks in advance.
Marcushad to put it in a generic form, hope it still works:
FORM event_03.
TYPES: BEGIN OF typ_extract,
zview TYPE zview, "or ztable, the one with the maintenance dialog!
flags TYPE vimtbflags,
END OF typ_extract.
DATA: ls_extract TYPE typ_extract.
* loop at marked lines
LOOP AT extract INTO ls_extract.
CHECK ls_extract-flags-vim_mark EQ 'M'.
* place existence check here!
* using the values in ls_extract-zview-...
* if value still being used, send message
IF sy-dbcnt > 0.
MESSAGE i...
ls_extract-flags-vim_mark = '*'.
MODIFY extract FROM ls_extract.
ENDIF.
ENDLOOP.
ENDFORM. -
Date field is missing in the Table maintainance generator
Hi,
A table is created. A date field is there in that table. I tried to create a table maintainance generator for this table using 2 screens. Table maintainance generator is created. But when I go to SM30 , I am unable to see this <b>DATE</b> field in the SM30 , in the first screen. But when I go to maintainance screen , I am able to see this field. This particularly happening with date field.
Could you please help me.
Regards,
Satyago to se11 and type the table what you want.
utilities, table maintenance generator.
you config the options that you need.
press F6 and go to sm30.
its only this.
Regards
Maybe you are looking for
-
i had problems with it being very slow even thought I deleted all my music and pics and even a lot of apps so I figured I'd reset it and restore from the backup I have on iTunes. but after aksing for my apple id and then being forced to change my pas
-
Firewire Target Disc mode failure
Does anyone know why my 400Mhz Ti Powerbook refuses to boot into target firewire mode? - It just shuts itself down... I am trying to exchange my old files from the G4 Ti Powerbook (running 10.3 to my iMac (iSight) G5 2.1Ghz running 10.4.3. I thought
-
Problem in Casting the encoded string to XML
Hi all, From dotnet code i have encoded the XML as string and passed this value as XML attribute value in below. Am not sure if we can have XML as attribute value inside another XML.hence i did with below approach. Now i have special character '<' in
-
How do I delete an app out of my purchase history?
How do I delete an app from purchase history?
-
Find tables in Stored Procedures
Hi... Is there a way I can find the names of stored procedures where a certain table is referenced without having to look through all of them? I tried using dba_dependencies, but it did not return any rows even when I knew the table was referenced in