No database table exists for table ZTAB1 after ORA-01438
Dear friends,
We have a problem in our test system.
One developer performed a transport which tried to change column from length 11 to 10 and after the transport, table is missing from database. We observed ABAP dumps DBIF_RSQL_SQL_ERROR with ORA-01438 which suggested us that there was some problem with field lenght change. After discussin, we have find out the culprate filed.
But, with me now problem is Partially active table which Does not exist in the database.
So now, what i should do to fix this problem.. Shuld i again increase filed length manually in test system and then try to perform SE14>Continue adjustment or what ?
In SE14 : Analyze Adjustment provide this information :
Seq of steps
1 Initialization
2 Dropping of indexes, renaming of original table
3 No action
4 Activation of transparent table
5 Conversion of data to new table, deletion of renamed table
6 Creation of sec. indexes
Adjustment terminated in step 5
Initial table Table type Status
ZTAB1 Transparent Renamed
Renamed original table
QCMZTAB1 transparent Existent
Tgt.table
ZTAB1 Transparent Renamed
thanks
ashish
I had tried to reactivate table.. but it will not work as I had Terminated conversion : Adjustment terminated in step 5.
database object itself was not existent.. so consistency check is not helpful.
We recognized the problem.. at present, we have DDIC object for table with a field length 10(new lenght), a QCMtable which contains original data with filed lenght 11(Old value) and a conversion table QCM8table which has filed lenght 10(new value).
Now, in my case, original table had some Rows for that column lenght 11 and it was unable to transfer them to QCM8table.
I had raised an OSS to SAP.
thanks
ashish
Similar Messages
-
No database table exists for table
HI All,
We created a Ztable and used in two of reports these reports woking fine in PRD,few days back we assigned authorization group and functional group to these table now this table throwing eeror in QAS as well as PRD like No database table exists for table ZXXX,client dont want the data in this table so we deleted this table and created with same name to QAS still same error we are unbale to findout the problem.pls any on help me out..Hi Srinivas,
I am also facing similar kind of issue, can you please let me know your approach towards resolving the issue without deleting the existing data from the table.
Thanks in advance.
Best Regards,
Anil Neegineni -
Error in creating Table Maintenance for TABLES: J_2IRG1BAL ,Dump error show
Dear Gurus
I have Created one Table Maintenance for TABLES: J_2IRG1BAL ,
1) I have take function group as same as table name like J_2IRG1BAL
3) Authorization Group &NC&
4) Authorization object S_TABU_DIS
5) Function group J_2IRG1BAL
6) Package J1I5
7) Maintenance type one step.
8) Maint. Screen No. Overview screen 2009.
9) Recording routine STD recording routines .
I have assign screen single screen 1 but it will not take the screen so ill put screen 2009 ,the system will not not accept the screen but I proposed to Save and activate the table maintenance generator and created and save the function group ,the table is ready to save the entries
We have to go to SM30 then put 4-5 entries ,after that a dump error shows
Which i have attachéd in this mail kindly help me out
Its effect in production server.
I have found that the error is given below I have mentioned all the details
Kindly read this
I have created function group J_2IRG1BAL and assign Package J1I5 and function group,J1I5 is already a Function group so problem occurs a dump error message displays
Kindly give me the right solution all the Clients are effected
110,100 150,250 these all are effected development clients
300 is prod client this is also affected because I have created a table maintenance generator and send the req to production .
*Dump Error Shows in Production*
Runtime Errors SYNTAX_ERROR
Date and Time 11.12.2008 09:26:30
What happened?
| Error in ABAP application program.
Error analysis
In program "SAPLJ1I5 ", the following syntax error occurred:
"The program "SAPLJ1I5" is not Unicode-compatible, according to its pro"
"gram attributes."
The current ABAP program "SAPLSVIM" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
In program "SAPLJ1I5 ", the following syntax error occurred
in the Include "SAPLJ1I5 " in line 0:
"The program "SAPLJ1I5" is not Unicode-compatible, according to its pro"
"gram attributes."
rigger Location of Runtime Error |
Program SAPLSVIM
Include LSVIMU01
Row 107
Module type (FUNCTION)
| Module Name VIEW_MAINTENANCE
Author and last person to change the Include are:
Author "TTLABAP2 "
Last changed by "TTLABAP2 "
105
Initialisierung des Abgleichsmandanten zum View *
106
>>>>>
vim_default_upgr_clnt-viewname = x_header-viewname.
108
vim_default_upgr_clnt-client = client_for_upgrade.
109
PERFORM vim_set_global_field_value IN PROGRAM (fpool)
| 110| USING 'VIM_DEFAULT_UPGR_CLNT' 'C' vim_default_upgr_clnt rc.I have send you all the details regarding the table maintenance generator
error is shown below
I have Created one Table Maintenance for TABLES: J_2IRG1BAL ,
1) I have take function group as same as table name like J_2IRG1BAL
3) Authorization Group &NC&
4) Authorization object S_TABU_DIS
5) Function group J_2IRG1BAL
6) Package J1I5
7) Maintenance type one step.
8) Maint. Screen No. Overview screen 2009.
9) Recording routine STD recording routines .
I have assign screen single screen 1 but it will not take the screen so ill put screen 2009 ,the system will not not accept the screen but I proposed to Save and activate the table maintenance generator and created and save the function group ,the table is ready to save the entries
We have to go to SM30 then put 4-5 entries ,after that a dump error shows
Which i have attachéd in this mail kindly help me out
Its effect in production server.
I have found that the error is given below I have mentioned all the details
Kindly read this
I have created function group J_2IRG1BAL and assign Package J1I5 and function group,J1I5 is already a Function group so problem occurs a dump error message displays
Kindly give me the right solution all the Clients are effected
110,100 150,250 these all are effected development clients
300 is prod client this is also affected because I have created a table maintenance generator and send the req to production .
Runtime Errors SYNTAX_ERROR
Date and Time 11.12.2008 09:26:30
ShrtText
Syntax error in program "SAPLJ1I5 ".
What happened?
Error in ABAP application program.
The current ABAP program "SAPLSVIM" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
In program "SAPLJ1I5 ", the following syntax error occurred
in the Include "SAPLJ1I5 " in line 0:
"The program "SAPLJ1I5" is not Unicode-compatible, according to its pro"
"gram attributes."
Author and last person to change the Include are:
Author "TTLABAP2 "
Last changed by "TTLABAP2 "
Error analysis
In program "SAPLJ1I5 ", the following syntax error occurred:
"The program "SAPLJ1I5" is not Unicode-compatible, according to its pro"
"gram attributes."
Trigger Location of Runtime Error
Program SAPLSVIM
Include LSVIMU01
Row 107
Module type (FUNCTION)
Module Name VIEW_MAINTENANCE
Source Code Extract
Line
SourceCde
77
TRANSPORTING NO FIELDS.
78
IF sy-subrc NE 0.
79
SELECT SINGLE * FROM tfdir WHERE funcname EQ <function_name>.
80
IF sy-subrc NE 0.
81
RAISE no_editor_function.
82
ELSE.
83
length = strlen( function_name1 ).
84
ASSIGN function_name1(length) TO <function_name>.
85
SELECT SINGLE * FROM tfdir WHERE funcname EQ <function_name>.
86
IF sy-subrc NE 0.
87
RAISE no_database_function.
88
ENDIF.
89
ENDIF.
90
INSERT x_header-viewname INTO alr_checked_views INDEX sy-tabix.
91
ELSE.
92
length = strlen( function_name1 ).
93
ASSIGN function_name1(length) TO <function_name>.
94
ENDIF.
95
96
Initialisierung der RFC-Destination zum View *
97
98
FPOOL+4 = X_HEADER-AREA.
99
fpool = x_header-fpoolname.
100
vim_default_rfc_dest-viewname = x_header-viewname.
101
vim_default_rfc_dest-rfcdest = rfc_destination_for_upgrade.
102
PERFORM vim_set_global_field_value IN PROGRAM (fpool)
103
USING 'VIM_DEFAULT_RFC_DEST' 'C' vim_default_rfc_dest rc.
104
105
Initialisierung des Abgleichsmandanten zum View *
106
>>>>>
vim_default_upgr_clnt-viewname = x_header-viewname.
108
vim_default_upgr_clnt-client = client_for_upgrade.
109
PERFORM vim_set_global_field_value IN PROGRAM (fpool)
110
USING 'VIM_DEFAULT_UPGR_CLNT' 'C' vim_default_upgr_clnt rc.
111
112
set flag if complex selection conditions in sellist *
113
114
IF complex_selconds_used NE space.
115
READ TABLE dba_sellist INDEX 1.
116
IF sy-subrc EQ 0 AND dba_sellist-cond_kind EQ space.
117
dba_sellist-cond_kind = 'C'. MODIFY dba_sellist INDEX 1.
118
ENDIF.
119
ENDIF.
120
121
direkter Vergleich: Flagge setzen usw. *
122
123
IF view_action EQ vim_direct_upgrade.
124
view_action = aendern.
125
PERFORM vim_set_global_field_value IN PROGRAM (fpool)
126
USING 'VIM_SPECIAL_MODE' 'C' vim_direct_upgrade rc. -
Transaction code for Table Maitainence for table
Hi all,
i have created Table Maintainece for Table and also i need to create transaction code
for table maintainence.
there when i create transaction code with TRANSACTION with PARAMETERS and SKIP FIRST SCREEN.
I can see all the records in the table into table Maintainence.
Is ther is any possibility like i can restrict records on the key fields (like selection screen).
Will anybody let me know how to goahead with this requirement.
Regards,
MadhaviYou can build a small report that call the maintenance view. In the report, convert the SELECT-OPTIONS input to the [DBA_SELLIST|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=dba_sellist&adv=false&sortby=cm_rnd_rankvalue] parameter of function module [VIEW_MAINTENANCE_CALL|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=view_maintenance_call&adv=false&sortby=cm_rnd_rankvalue].
If you have "pertinent" key to filter the data, you may define these as sub-key in a mainetance view, those fields will be asked for when entering the maintanance dialog. Or you can build a [view cluster|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=se55&adv=false&sortby=cm_rnd_rankvalue] using these sub-set keys.
Regards -
How to gather table stats for tables in a different schema
Hi All,
I have a table present in one schema and I want to gather stats for the table in a different schema.
I gave GRANT ALL ON SCHEMA1.T1 TO SCHEMA2;
And when I tried to execute the command to gather stats using
DBMS_STATS.GATHER_TABLE_STATS (OWNNAME=>'SCHMEA1',TABNAME=>'T1');
The function is failing.
Is there any way we can gather table stats for tables in one schema in an another schema.
Thanks,
MK.You need to grant analyze any to schema2.
SY. -
Unable get the table scroll for table control
hai
i unable get horizontal scrolling for table control when the output is dislayed
help me
very urgentHi,
check out the sample program it might help you
See the following simple ex
*& Module pool ZTEST_TBLCTRL
PROGRAM ZTEST_TBLCTRL.
***&SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'TC1'
*&SPWIZARD: DEFINITION OF DDIC-TABLE
TABLES: ZFG_SRNO, ZFIH0004.
*&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'TC1'
*TYPES: BEGIN OF T_TC1,
ZSRNO LIKE ZFG_SRNO-ZSRNO,
SCRNAME LIKE ZFIH0004-SCRNAME,
END OF T_TC1.
*TYPES: BEGIN OF T_TC1.
STRUCTURE ZFG_SRNO.
END OF T_TC1.
*&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'TC1'
*DATA: G_TC1_ITAB TYPE T_TC1 OCCURS 0 WITH HEADER LINE,
G_TC1_WA TYPE T_TC1. "work area
DATA: G_TC1_ITAB LIKE ZFG_SRNO OCCURS 0 WITH HEADER LINE,
G_TC1_WA LIKE G_TC1_ITAB. "work area
DATA: G_TC1_COPIED. "copy flag
*&SPWIZARD: DECLARATION OF TABLECONTROL 'TC1' ITSELF
CONTROLS: TC1 TYPE TABLEVIEW USING SCREEN 0100.
*&SPWIZARD: LINES OF TABLECONTROL 'TC1'
DATA: G_TC1_LINES LIKE SY-LOOPC.
DATA: OK_CODE LIKE SY-UCOMM,
S_CODE LIKE SY-UCOMM,
MARK.
DATA: T1(10).
*&SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: COPY DDIC-TABLE TO ITAB
MODULE TC1_INIT OUTPUT.
IF G_TC1_COPIED IS INITIAL.
*&SPWIZARD: COPY DDIC-TABLE 'ZFG_SRNO'
*&SPWIZARD: INTO INTERNAL TABLE 'g_TC1_itab'
SELECT * FROM ZFG_SRNO
INTO CORRESPONDING FIELDS
OF TABLE G_TC1_ITAB.
G_TC1_COPIED = 'X'.
REFRESH CONTROL 'TC1' FROM SCREEN '0100'.
IF T1 <> SPACE.
G_TC1_ITAB-ZSRNO = T1.
CLEAR T1.
APPEND G_TC1_ITAB.
REFRESH CONTROL 'TC1' FROM SCREEN '0100'.
ENDIF.
*TC1-TOP_LINE = 1.
ENDIF.
ENDMODULE.
*&SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MOVE ITAB TO DYNPRO
MODULE TC1_MOVE OUTPUT.
MOVE-CORRESPONDING G_TC1_WA TO ZFG_SRNO.
if sy-subrc ne 0.
*append G_TC1_WA to G_TC1_ITAB.
*endif.
READ TABLE G_TC1_ITAB INDEX TC1-CURRENT_LINE.
IF SY-SUBRC = 0.
G_TC1_WA-ZSRNO = G_TC1_ITAB-ZSRNO.
ENDIF.
MOVE-CORRESPONDING G_TC1_ITAB TO ZFG_SRNO.
REFRESH CONTROL 'TC1' FROM SCREEN '8001'.
*******Below line is the logic for scrolling.
tc1-lines = G_TC1_LINES + 100.
ENDMODULE.
*&SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: GET LINES OF TABLECONTROL
MODULE TC1_GET_LINES OUTPUT.
G_TC1_LINES = SY-LOOPC.
ENDMODULE.
*&SPWIZARD: INPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MODIFY TABLE
MODULE TC1_MODIFY INPUT.
*break-point.
MOVE-CORRESPONDING ZFG_SRNO TO G_TC1_ITAB.
MODIFY G_TC1_ITAB INDEX TC1-CURRENT_LINE.
G_TC1_COPIED = 'X'.
REFRESH CONTROL 'TC1' FROM SCREEN '8001'.
MOVE-CORRESPONDING ZFG_SRNO TO G_TC1_WA.
MODIFY G_TC1_ITAB
FROM G_TC1_WA
INDEX TC1-CURRENT_LINE.
G_TC1_COPIED = 'X'.
if sy-subrc ne 0.
append G_TC1_WA to G_TC1_ITAB.
endif.
*modify G_TC1_ITAB INDEX TC1-CURRENT_LINE.
ENDMODULE.
*&SPWIZARD: INPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: PROCESS USER COMMAND
MODULE TC1_USER_COMMAND INPUT.
OK_CODE = SY-UCOMM.
PERFORM USER_OK_TC USING 'TC1'
'G_TC1_ITAB'
'FLAG'
CHANGING OK_CODE.
SY-UCOMM = OK_CODE.
ENDMODULE.
INCLUDE TABLECONTROL_FORMS *
*& Form USER_OK_TC *
FORM USER_OK_TC USING P_TC_NAME TYPE DYNFNAM
P_TABLE_NAME
P_MARK_NAME
CHANGING P_OK LIKE SY-UCOMM.
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA: L_OK TYPE SY-UCOMM,
L_OFFSET TYPE I.
&SPWIZARD: END OF LOCAL DATA----
*&SPWIZARD: Table control specific operations *
*&SPWIZARD: evaluate TC name and operations *
SEARCH P_OK FOR P_TC_NAME.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
L_OFFSET = STRLEN( P_TC_NAME ) + 1.
L_OK = P_OK+L_OFFSET.
*&SPWIZARD: execute general and TC specific operations *
CASE L_OK.
WHEN 'INSR'. "insert row
PERFORM FCODE_INSERT_ROW USING P_TC_NAME
P_TABLE_NAME.
CLEAR P_OK.
WHEN 'DELE'. "delete row
PERFORM FCODE_DELETE_ROW USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME.
CLEAR P_OK.
WHEN 'P--' OR "top of list
'P-' OR "previous page
'P+' OR "next page
'P++'. "bottom of list
PERFORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
L_OK.
CLEAR P_OK.
WHEN 'L--'. "total left
PERFORM FCODE_TOTAL_LEFT USING P_TC_NAME.
WHEN 'L-'. "column left
PERFORM FCODE_COLUMN_LEFT USING P_TC_NAME.
WHEN 'R+'. "column right
PERFORM FCODE_COLUMN_RIGHT USING P_TC_NAME.
WHEN 'R++'. "total right
PERFORM FCODE_TOTAL_RIGHT USING P_TC_NAME.
WHEN 'MARK'. "mark all filled lines
PERFORM FCODE_TC_MARK_LINES USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME .
CLEAR P_OK.
WHEN 'DMRK'. "demark all filled lines
PERFORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME .
CLEAR P_OK.
WHEN 'SASCEND' OR
'SDESCEND'. "sort column
PERFORM FCODE_SORT_TC USING P_TC_NAME
l_ok.
ENDCASE.
ENDFORM. " USER_OK_TC
*& Form FCODE_INSERT_ROW *
FORM fcode_insert_row
USING P_TC_NAME TYPE DYNFNAM
P_TABLE_NAME .
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA L_LINES_NAME LIKE FELD-NAME.
DATA L_SELLINE LIKE SY-STEPL.
DATA L_LASTLINE TYPE I.
DATA L_LINE TYPE I.
DATA L_TABLE_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE CXTAB_CONTROL.
FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
FIELD-SYMBOLS <LINES> TYPE I.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get the table, which belongs to the tc *
CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
*&SPWIZARD: get looplines of TableControl *
CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_LINES_NAME.
ASSIGN (L_LINES_NAME) TO <LINES>.
*&SPWIZARD: get current line *
GET CURSOR LINE L_SELLINE.
IF SY-SUBRC <> 0. " append line to table
L_SELLINE = <TC>-LINES + 1.
*&SPWIZARD: set top line *
IF L_SELLINE > <LINES>.
<TC>-TOP_LINE = L_SELLINE - <LINES> + 1 .
ELSE.
<TC>-TOP_LINE = 1.
ENDIF.
ELSE. " insert line into table
L_SELLINE = <TC>-TOP_LINE + L_SELLINE - 1.
L_LASTLINE = <TC>-TOP_LINE + <LINES> - 1.
ENDIF.
*&SPWIZARD: set new cursor line *
L_LINE = L_SELLINE - <TC>-TOP_LINE + 1.
*&SPWIZARD: insert initial line *
INSERT INITIAL LINE INTO <TABLE> INDEX L_SELLINE.
<TC>-LINES = <TC>-LINES + 1.
*&SPWIZARD: set cursor *
SET CURSOR LINE L_LINE.
ENDFORM. " FCODE_INSERT_ROW
*& Form FCODE_DELETE_ROW *
FORM fcode_delete_row
USING P_TC_NAME TYPE DYNFNAM
P_TABLE_NAME
P_MARK_NAME .
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA L_TABLE_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE cxtab_control.
FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
FIELD-SYMBOLS <WA>.
FIELD-SYMBOLS <MARK_FIELD>.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get the table, which belongs to the tc *
CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
*&SPWIZARD: delete marked lines *
DESCRIBE TABLE <TABLE> LINES <TC>-LINES.
LOOP AT <TABLE> ASSIGNING <WA>.
*&SPWIZARD: access to the component 'FLAG' of the table header *
ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
IF <MARK_FIELD> = 'X'.
DELETE <TABLE> INDEX SYST-TABIX.
IF SY-SUBRC = 0.
<TC>-LINES = <TC>-LINES - 1.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " FCODE_DELETE_ROW
*& Form COMPUTE_SCROLLING_IN_TC
text
-->P_TC_NAME name of tablecontrol
-->P_OK ok code
FORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
P_OK.
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA L_TC_NEW_TOP_LINE TYPE I.
DATA L_TC_NAME LIKE FELD-NAME.
DATA L_TC_LINES_NAME LIKE FELD-NAME.
DATA L_TC_FIELD_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE cxtab_control.
FIELD-SYMBOLS <LINES> TYPE I.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get looplines of TableControl *
CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.
ASSIGN (L_TC_LINES_NAME) TO <LINES>.
*&SPWIZARD: is no line filled? *
IF <TC>-LINES = 0.
*&SPWIZARD: yes, ... *
L_TC_NEW_TOP_LINE = 1.
ELSE.
*&SPWIZARD: no, ... *
CALL FUNCTION 'SCROLLING_IN_TABLE'
EXPORTING
ENTRY_ACT = <TC>-TOP_LINE
ENTRY_FROM = 1
ENTRY_TO = <TC>-LINES
LAST_PAGE_FULL = 'X'
LOOPS = <LINES>
OK_CODE = P_OK
OVERLAPPING = 'X'
IMPORTING
ENTRY_NEW = L_TC_NEW_TOP_LINE
EXCEPTIONS
NO_ENTRY_OR_PAGE_ACT = 01
NO_ENTRY_TO = 02
NO_OK_CODE_OR_PAGE_GO = 03
OTHERS = 0.
ENDIF.
*&SPWIZARD: get actual tc and column *
GET CURSOR FIELD L_TC_FIELD_NAME
AREA L_TC_NAME.
IF SYST-SUBRC = 0.
IF L_TC_NAME = P_TC_NAME.
*&SPWIZARD: et actual column *
SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.
ENDIF.
ENDIF.
*&SPWIZARD: set the new top line *
<TC>-TOP_LINE = L_TC_NEW_TOP_LINE.
ENDFORM. " COMPUTE_SCROLLING_IN_TC
*& Form FCODE_TC_MARK_LINES
marks all TableControl lines
-->P_TC_NAME name of tablecontrol
FORM FCODE_TC_MARK_LINES USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME.
&SPWIZARD: EGIN OF LOCAL DATA----
DATA L_TABLE_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE cxtab_control.
FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
FIELD-SYMBOLS <WA>.
FIELD-SYMBOLS <MARK_FIELD>.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get the table, which belongs to the tc *
CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
*&SPWIZARD: mark all filled lines *
LOOP AT <TABLE> ASSIGNING <WA>.
*&SPWIZARD: access to the component 'FLAG' of the table header *
ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
<MARK_FIELD> = 'X'.
ENDLOOP.
ENDFORM. "fcode_tc_mark_lines
*& Form FCODE_TC_DEMARK_LINES
demarks all TableControl lines
-->P_TC_NAME name of tablecontrol
FORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME .
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA L_TABLE_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE cxtab_control.
FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
FIELD-SYMBOLS <WA>.
FIELD-SYMBOLS <MARK_FIELD>.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get the table, which belongs to the tc *
CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
*&SPWIZARD: demark all filled lines *
LOOP AT <TABLE> ASSIGNING <WA>.
*&SPWIZARD: access to the component 'FLAG' of the table header *
ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
<MARK_FIELD> = SPACE.
ENDLOOP.
ENDFORM. "fcode_tc_mark_lines
*& Module D20XX_INIT OUTPUT
text
MODULE D20XX_INIT OUTPUT.
*if screen-name = 'ZSRNO'.
SCREEN-INPUT = 0.
SCREEN-COLOR = 0.
MODIFY SCREEN.
endif.
ENDMODULE. " D20XX_INIT OUTPUT
*& Module STATUS_0100 OUTPUT
text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
*CLEAR R1_REF.
DO 30 TIMES.
APPEND G_TC1_ITAB.
ENDDO.
DESCRIBE TABLE G_TC1_ITAB LINES TC1-LINES.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module TAB1_INIT OUTPUT
text
MODULE TAB1_INIT OUTPUT.
ENDMODULE. " TAB1_INIT OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module MESSAGE INPUT
text
MODULE MESSAGE INPUT.
OK_CODE = SY-UCOMM.
S_CODE = OK_CODE.
CLEAR OK_CODE.
if S_CODE = 'DELE'.
loop at G_TC1_ITAB.
if G_TC1_ITAB-scrname = 'X'.
delete g_tc1_itab.
endif.
endloop.
ELSEIF S_CODE = 'SAVE'.
G_TC1_WA-ZSRNO = T1.
MOVE-CORRESPONDING G_TC1_WA TO ZFG_SRNO.
REFRESH CONTROL 'TC1' FROM SCREEN '0100'.
ENDIF.
ENDMODULE. " MESSAGE INPUT
*& Module DELETE_RECORD INPUT
text
MODULE DELETE_RECORD INPUT.
IF MARK = 'X' AND S_CODE = 'DELE'.
DELETE TABLE G_TC1_ITAB FROM ZFG_SRNO.
DESCRIBE TABLE G_TC1_ITAB LINES TC1-LINES.
ENDIF.
ENDMODULE. " DELETE_RECORD INPUT
*********************Screen modules*********************
PROCESS BEFORE OUTPUT.
*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'TC1'
MODULE TC1_INIT.
*&SPWIZARD: MODULE TC1_CHANGE_TC_ATTR.
*&SPWIZARD: MODULE TC1_CHANGE_COL_ATTR.
LOOP AT G_TC1_ITAB
INTO G_TC1_WA
WITH CONTROL TC1
CURSOR TC1-CURRENT_LINE.
*&SPWIZARD: MODULE TC1_CHANGE_FIELD_ATTR
MODULE TC1_MOVE.
MODULE TAB1_INIT.
MODULE TC1_GET_LINES.
ENDLOOP.
MODULE D20XX_INIT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
*&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'TC1'
*BREAK POINT.
LOOP AT G_TC1_ITAB.
CHAIN.
FIELD ZFG_SRNO-ZSRNO.
MODULE TC1_MODIFY ON CHAIN-REQUEST.
MODULE TC1_MODIFY.
ENDCHAIN.
MODULE MESSAGE .
MODULE DELETE_RECORD.
ENDLOOP.
MODULE TC1_USER_COMMAND.
*&SPWIZARD: MODULE TC1_CHANGE_TC_ATTR.
*&SPWIZARD: MODULE TC1_CHANGE_COL_ATTR.
MODULE USER_COMMAND_0100.
please check out the link below for more information it might help you
http://help.sap.com/saphelp_sm32/helpdata/en/9f/dbac9f35c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/d1/801c7b454211d189710000e8322d00/content.htm
http://www.sapbrainsonline.com/REFERENCES/ABAP_SYNTAX/SAP_ABAP_SYNTAX.html
*********please reward points if the information is helpful to you************* -
Global Defined Table - Existing for single package only or for all package
Hi Folks,
I got a question around global fields in start routines of transformations.
Lets say I have defined in the global section a table that should hold some lookup values retrieved in the start routine (e.g. material attributes for all material number entries in the data package). Later this table is used in the transformation to "fill fields" for the target cube.
Will this table be "initiated" for every package so it will hold only the data the start routine put there.
Or is it "existing" throughout the whole update process and every new package will "add" records there so overtime it will grow from package to package?
Thanks and best regards,
AxelUse a simple trick to get around.
IF sy-uzeit < 060000.
load_date = sy-datum - 1.
ELSE.
load_date = sy-datum.
ENDIF.
Edited by: Dirk Herzog on May 24, 2011 10:44 AM -
Dump while Accessiing Table maintenance for Table P44V thru SM30
Hi,
I need to insert an entry into P44V table thru table maintenance (SM30).
But, when I try to access this, run time error is coming sayig "DYNPRO_NOT_FOUND"
Error analysis
The system attempted to use dynpro 0001 in program "SAPLWIS_PLAN_C".
This dynpro does not exist.
Can you please let me know, how can I solve this issue.
Thanks,
SandeepGOTO se11 open your table and regenerate the screen for the Table Maintenance Generator...
-
Internal table handling for table controls
hi,
can any one say me how we manage to store one header data and more than one line item data in one internal table. pls provide me one example with code.
thanks,You need to make sure that table t_open_summ contains only the data for PO =xxxx matnr=xxx to begin with. I.e. when that table is filled in, just don't put any other data there. Then all the corresponding scrolling code (Page Up/Down) will work as usual.
As an alternative, you could create a "clone" of t_open_summ and work with it instead. -
Table entry for table T710A and T710
Friends - Can anyone help me to understand what could be possible problem if i maintain PAY GRADE & PAY GRADE LEVEL entries through table. I have 57000 thousand entries for different countries so i am using BDC recroding to upload these values.
Please help me find out dependent tables on PAY GRADE & PAY GRADE LEVEL.
Kind regards,
Amit JainHi:
T710:
MOLGA - > T500L
SLTYP - > T510A
SLREG - > T510G
SLGRP - > T710A
T710A:
MOLGA - > T500L
SLTYP - > T510A
SLREG - > T510G
FREQU - > T710F
WAERS - > TCURC
WGTYP - > T52D7
Hope it helps,
Regards. -
Cound not find any entry in table EDP12 for a partner provided in IDOC data
Hi All,
I have an inbound IDOC for a purchase order.
If a put a query to the table EDP12 for the partner or message type (ORDERS) provided in the IDOC data, I do not get any entry for this.
Could you please enlighten me on this...
Thanks,
SanjeetHi Gautham,
Even if I go to T-Code SE11 or SE12 in production or quality system and try to see the contents of this view, one message pops up saying "You do not have authorization for T-code SM30".
And in DEV system, I get a message saying "No database view exists for view VEDI_TDP21".
Anyway my current question is : In T-code WE42, there are two process codes for message type ORDERS:
1. ORDE (ORDERS Create sales order)
2. ORDE_BY_WORKFLOW (ORDERS Sales Order withtext in workflow)
How can I confirm one process code out of the above two for the message type ORDERS?
Regards,
Sanjeet -
Query based on main table and audit table
Hi,
I had created auditing on some table. Values might not change and if they changed, it should be stored in audit table.
I want to get the values in the table a on real time basis, like dimentions in datawarehouse.
Trying to write a query based on table a and aud_a to get point-in-time or values at anytime in the past.
Something like
SELECT *
FROM a (table_name)
WHERE effective_from >= $DATE_TO_QUERY
AND effective_to < $DATE_TO_QUERY
How to get this kind of query .
Please help. ( Table structure for table a and audit table aud_a and trigger aud_tg_a given below)
Giving code as follows.
main table a
create table a
( val1 number,
val2 number,
update_by varchar2(30),
date_updated date);
creare auidt table aud_a
create table aud_a
( "AUDIT_SEQ" NUMBER,
"AUDIT_TRAN_ID" NUMBER,
"AUDIT_PROG_ID" VARCHAR2(30 BYTE),
"AUDIT_TERMINAL" VARCHAR2(16 BYTE),
"AUDIT_REASON" VARCHAR2(30 BYTE),
"AUDIT_ACTION" CHAR(1 BYTE),
"AUDIT_ACTION_BY" VARCHAR2(20 BYTE),
"AUDIT_ACTION_DT" DATE,
val1 number,
val2 number,
updated_by varchar2(30),
date_updated date);
trigger on table a to populate aud_a
CREATE OR REPLACE TRIGGER aud_tg_a AFTER
INSERT OR
DELETE OR
update on a
for each row
declare
v_time_now DATE;
v_terminal VARCHAR2(16);
v_tran_id NUMBER;
v_prog_id VARCHAR2(30);
V_reason VARCHAR2(30);
BEGIN
v_time_now := sysdate;
v_terminal := userenv('TERMINAL');
v_tran_id := 1;
v_prog_id := 'test';
v_reason := 'AUDIT';
IF inserting THEN
INSERT
INTO a
audit_seq,
AUDIT_tran_id,
AUDIT_prog_id,
AUDIT_reason,
AUDIT_terminal,
AUDIT_action_by,
AUDIT_action_dt,
AUDIT_action ,
val1,
val2,
updated_by,
date_updated
VALUES
s_audit_no.nextval,
v_tran_id,
v_prog_id,
v_reason,
v_terminal,
USER,
v_time_now,
'I' ,
:new.val1,
:new.val2,
:new.updated_by,
:new.date_updated
elsif deleting THEN
INSERT
INTO a
audit_seq,
AUDIT_tran_id,
AUDIT_prog_id,
AUDIT_reason,
AUDIT_terminal,
AUDIT_action_by,
AUDIT_action_dt,
AUDIT_action ,
us_agy_backed_id,
industry_subgroup,
comments,
updated_by,
date_updated
VALUES
s_audit_no.nextval,
v_tran_id,
v_prog_id,
v_reason,
v_terminal,
USER,
v_time_now,
'D' ,
:old.val1,
:old.val2,
:old.comments,
:old.updated_by,
:old.date_updated
elsif updating THEN
INSERT
INTO a
audit_seq,
AUDIT_tran_id,
AUDIT_prog_id,
AUDIT_reason,
AUDIT_terminal,
AUDIT_action_by,
AUDIT_action_dt,
AUDIT_action ,
us_agy_backed_id,
industry_subgroup,
comments,
updated_by,
date_updated
VALUES
s_audit_no.nextval,
v_tran_id,
v_prog_id,
v_reason,
v_terminal,
USER,
v_time_now,
'U' ,
:new.val1,
:new.val2,
:new.updated_by,
:new.date_updated
END IF;
END;
-------------------------Hi hoek,
I am not able to use Oracle's audit functionality becuase I need to trap some changes in particular tables and then rebuild query if required.
Thanks for your suggestion though.
Regards,
Milind -
ORA-13754: "SQL Tuning Set" "" does not exist for user "SYS"
While calling dbms_stats.seed_col_usage I got the following error. Can someone help me on how to resolve it
sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Thu Apr 14 14:37:38 2011
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Enter user-name: / as sysdba
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> show user
USER is "SYS"
SQL> begin
2 dbms_stats.seed_col_usage(null,null,400);
3 end;
4 /
begin
ERROR at line 1:
ORA-13754: "SQL Tuning Set" "" does not exist for user "SYS".
ORA-06512: at "SYS.DBMS_SQLTUNE_INTERNAL", line 17379
ORA-06512: at "SYS.DBMS_STATS", line 28451
ORA-06512: at line 2
Thank You
SarayuAccording to the documentation:
SEED_COL_USAGE ProcedureThis procedure iterates over the SQL statements in the specified SQL tuning set, compiles them and seeds column usage information for the columns that appear in these statements.
Syntax
DBMS_STATS.SEED_COL_USAGE (
sqlset_name IN VARCHAR2,
owner_name IN VARCHAR2,
time_limit IN POSITIVE DEFAULT NULL);>
It looks like you need to provide a SQLSET_NAME and OWNER_NAME to use this procedure correctly, to which you've provided NULLs. I don't see any exceptions in the documentation that indicate special processing when NULLs are provided. -
Hi Experts,
I'm implementing SAP note 1990492 which requires manual implementation. Implementation includes modifying standard tables (i.e. append
the structure FIEU_S_APP_H to table FIEUD_FIDOC_H). After this I've adjusted the table in SE14 (Database Utility). I've done checks in SE14 and it shows the table is consistent.
But during DB02 -> Space folder -> Single table analysis -> Input table name -> Indexes tab -> Upon clicking statistics, there is a warning "Column statistics not found for table".
Our basis team is implementing an Add-On in the development system related to RWD Context Sensitive Help. They cannot proceed due to the following inconsistencies found in the table.
Screenshot error from the activity:
Screenshot from DB02:
I'm an ABAP developer and have no other ideas on what to do. Thanks in Advanced.Hi All,
We were able to fix the issue through the following:
1. Call transaction
SE14.
2. Enter the name of
the table and choose "Edit".
3. Choose
"Indexes".
4. Select the index
and choose "Choose (F2)".
5. If you choose
"Activate and adjust", the system creates the index again and it is
consistent.
6. Check the object
log of this activation.
7. If an error
occurs, eliminate the cause and reactivate the index. -
Populating Empty Fields for Existing Internal Table Using For All Entries
I have an internal table called itab_extract that populates without any issues in SELECT A and SELECT B below. Trying to avoid looping, I am using select DB table 'for all entries' in itab_extract. I want the empty fields in itab_extract to populate from the values in the database. However, about 200,000 entries are being appended to the table, and, the values that existed for the already populated fields in itab_extract are gone, and the new fields are populated.
I've played with the syntax and cannot seem to get it to work. My next option is a time consuming loop.
How should the for all entries syntax look to accomplish filling the empty fields in the itab? Thank-You
*read ekko
select ebeln lifnr aedat bsart from ekko *SELECT A*
into CORRESPONDING FIELDS OF TABLE me->itab_extract
where aedat in r_aedat.
select ebeln lifnr aedat BSART from ekko *SELECT B*
appending CORRESPONDING FIELDS OF TABLE me->itab_extract
where aedat in S_DATE2 AND
BSART IN S_BSART.
select ebelp werks matnr *SELECT C*
into CORRESPONDING FIELDS OF TABLE itab_extract
from ekpo
FOR ALL ENTRIES IN itab_extract
where ebeln = itab_extract-ebeln.Hi Tom,
This SQL statement will be time consuming, Do not use a loop.
There are two options.
1. Select EKKO and EKPO details based on standard SAP view. (You can type EKKO in se11 view to find the correct view).
also use one range table populate r_aedat and s_date2 in the same. So you where condition will have r_newrange and
s_bsart. Also do not use into corresponding fields, it is not a good idea. It will increase your performance. Maintain the proper
sequence (Based on database structure of EKKO and EKPO)
2. If you are keen to use for all entries, then first select ekko then after your sy-subrc check get the data from EKPO.
Should be like this.
select ebeln bsart aedat lifnr from ekko into table gt_ekko where aedat in r_newrange and bsart in s_bsart.
if sy-subrc eq 0.
sort gt_ekko by ebeln ascending.
select ebeln ebelp werks matnr into table gt_ekpo for all entries in gt_ekko where ebeln eq gt_ekko-ebeln.
endif.
Hope it helps,
Best Regards,
Tapodipta Khan.
Maybe you are looking for
-
Error 110 : INTERNAL" CLIENT_RECEIVE_FAILED
Dear All, I am working on Java server proxy, In my scenario i am picking a file from sender File Adapter and in Receiver side i am using java proxy (Inbound). But in SXMB_MONI , it give me the Error and Error no is :110 See the Detailed Error in Cal
-
Re: Broadband dropping regularly
I've recently had this problem (again). I've battled through the BT help support, and eventually get a 2nd stage report, when the 'engineer' tells me they will re-set my 'line profile'. This takes up to 48 hours. They did this Sunday and it went from
-
Error in planning modeller in EP
Hi all, When i login through Enterprise Portal in BW 7.0 Server(i.e)., Netweaver 2004s, i tried to enter Planning MOdeller. I am getting error when i click Planning Modeller to work. please treat this as urgent issue and revert back to me if u soluti
-
Itunes won't recognize ipad as a device
iTunes recognises my ipod which is great, it shows under My Devices on the left of iTunes. But when I plug in my iPad Mini I get an error message saying the device is unknown and to unplug it and plug it in again but that doesn't work. It won't giv
-
Hi guys. Based on a new request, i need to create a script to backup and delete old data from our huge and many tables, which are growing a lot every day. Backups to tapes will be done by db admins, so my sript should just move old partitions. I was