2007 Jul 27 9:38 AM
hi all.
in below code..commented is my original one n i changed it to up to 1 rows.
so is it rite this coding..?
TABLES: DD03L.
DATA: BEGIN OF WDD03M,
FIELDNAME LIKE DD03M-FIELDNAME,
TABNAME LIKE DD03M-TABNAME,
CHECKTABLE LIKE DD03M-CHECKTABLE,
ROLLNAME LIKE DD03M-ROLLNAME,
ENTITYTAB LIKE DD03M-ENTITYTAB,
DOMNAME LIKE DD03M-DOMNAME,
DDTEXT LIKE DD03M-DDTEXT,
END OF WDD03M.
DATA: FLD LIKE TOBJ-FIEL1.
SELECT SINGLE FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
INTO (WDD03M-FIELDNAME
,WDD03M-TABNAME
,WDD03M-CHECKTABLE
,WDD03M-ROLLNAME
,WDD03M-ENTITYTAB
,WDD03M-DOMNAME
,WDD03M-DDTEXT
)
FROM DD03M
WHERE TABNAME LIKE 'AUTH%'
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
data: AUTH(30) type c .
concatenate '%' AUTH '%' into AUTH.
SELECT FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
INTO corresponding fields of WDD03M
FROM DD03M
WHERE TABNAME LIKE AUTH
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
endselect.
if sy-subrc <> 0 .
write:/ ' not ret'.
else.
write: wdd03m.
endif.
2007 Jul 27 9:43 AM
HI,
Check now, its not taking long time now.
TABLES: dd03l.
DATA: BEGIN OF wdd03m occurs 0,
fieldname LIKE dd03m-fieldname,
tabname LIKE dd03m-tabname,
checktable LIKE dd03m-checktable,
rollname LIKE dd03m-rollname,
entitytab LIKE dd03m-entitytab,
domname LIKE dd03m-domname,
ddtext LIKE dd03m-ddtext,
END OF wdd03m.
DATA: fld LIKE tobj-fiel1.
SELECT SINGLE FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
INTO (WDD03M-FIELDNAME
,WDD03M-TABNAME
,WDD03M-CHECKTABLE
,WDD03M-ROLLNAME
,WDD03M-ENTITYTAB
,WDD03M-DOMNAME
,WDD03M-DDTEXT
)
FROM DD03M
WHERE TABNAME LIKE 'AUTH%'
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
DATA: auth(30) TYPE c .
CONCATENATE '%' auth '%' INTO auth.
SELECT <b>SINGLE</b> fieldname
tabname
checktable
rollname
entitytab
domname
ddtext
INTO CORRESPONDING FIELDS OF wdd03m
FROM dd03m
WHERE
ddlanguage = sy-langu
AND fieldname = fld
AND fldstat = 'A'
AND rollstat = 'A'
AND domstat = 'A'
AND textstat = 'A'
<b>AND tabname LIKE auth.</b>
IF sy-subrc <> 0 .
WRITE:/ ' not ret'.
ELSE.
WRITE: wdd03m.
ENDIF.
<b>OR</b>
TABLES: dd03l.
DATA: BEGIN OF wdd03m occurs 0,
fieldname LIKE dd03m-fieldname,
tabname LIKE dd03m-tabname,
checktable LIKE dd03m-checktable,
rollname LIKE dd03m-rollname,
entitytab LIKE dd03m-entitytab,
domname LIKE dd03m-domname,
ddtext LIKE dd03m-ddtext,
END OF wdd03m.
DATA: fld LIKE tobj-fiel1.
SELECT SINGLE FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
INTO (WDD03M-FIELDNAME
,WDD03M-TABNAME
,WDD03M-CHECKTABLE
,WDD03M-ROLLNAME
,WDD03M-ENTITYTAB
,WDD03M-DOMNAME
,WDD03M-DDTEXT
)
FROM DD03M
WHERE TABNAME LIKE 'AUTH%'
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
DATA: auth(30) TYPE c .
CONCATENATE '%' auth '%' INTO auth.
SELECT fieldname
tabname
checktable
rollname
entitytab
domname
ddtext
INTO CORRESPONDING FIELDS OF table wdd03m UP TO 100 ROWS
FROM dd03m
WHERE
ddlanguage = sy-langu
AND fieldname = fld
AND fldstat = 'A'
AND rollstat = 'A'
AND domstat = 'A'
AND textstat = 'A'
AND tabname LIKE auth.
IF sy-subrc <> 0 .
WRITE:/ ' not ret'.
ELSE.
WRITE: wdd03m.
ENDIF.
Regards,
Sesh
HI,
Check now, its not taking long time now.
TABLES: dd03l.
DATA: BEGIN OF wdd03m occurs 0,
fieldname LIKE dd03m-fieldname,
tabname LIKE dd03m-tabname,
checktable LIKE dd03m-checktable,
rollname LIKE dd03m-rollname,
entitytab LIKE dd03m-entitytab,
domname LIKE dd03m-domname,
ddtext LIKE dd03m-ddtext,
END OF wdd03m.
DATA: fld LIKE tobj-fiel1.
SELECT SINGLE FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
INTO (WDD03M-FIELDNAME
,WDD03M-TABNAME
,WDD03M-CHECKTABLE
,WDD03M-ROLLNAME
,WDD03M-ENTITYTAB
,WDD03M-DOMNAME
,WDD03M-DDTEXT
)
FROM DD03M
WHERE TABNAME LIKE 'AUTH%'
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
DATA: auth(30) TYPE c .
CONCATENATE '%' auth '%' INTO auth.
SELECT <b>SINGLE</b> fieldname
tabname
checktable
rollname
entitytab
domname
ddtext
INTO CORRESPONDING FIELDS OF wdd03m
FROM dd03m
WHERE
ddlanguage = sy-langu
AND fieldname = fld
AND fldstat = 'A'
AND rollstat = 'A'
AND domstat = 'A'
AND textstat = 'A'
<b>AND tabname LIKE auth.</b>
IF sy-subrc <> 0 .
WRITE:/ ' not ret'.
ELSE.
WRITE: wdd03m.
ENDIF.
<b>OR</b>
TABLES: dd03l.
DATA: BEGIN OF wdd03m occurs 0,
fieldname LIKE dd03m-fieldname,
tabname LIKE dd03m-tabname,
checktable LIKE dd03m-checktable,
rollname LIKE dd03m-rollname,
entitytab LIKE dd03m-entitytab,
domname LIKE dd03m-domname,
ddtext LIKE dd03m-ddtext,
END OF wdd03m.
DATA: fld LIKE tobj-fiel1.
SELECT SINGLE FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
INTO (WDD03M-FIELDNAME
,WDD03M-TABNAME
,WDD03M-CHECKTABLE
,WDD03M-ROLLNAME
,WDD03M-ENTITYTAB
,WDD03M-DOMNAME
,WDD03M-DDTEXT
)
FROM DD03M
WHERE TABNAME LIKE 'AUTH%'
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
DATA: auth(30) TYPE c .
CONCATENATE '%' auth '%' INTO auth.
SELECT fieldname
tabname
checktable
rollname
entitytab
domname
ddtext
INTO CORRESPONDING FIELDS OF table wdd03m UP TO 100 ROWS
FROM dd03m
WHERE
ddlanguage = sy-langu
AND fieldname = fld
AND fldstat = 'A'
AND rollstat = 'A'
AND domstat = 'A'
AND textstat = 'A'
AND tabname LIKE auth.
IF sy-subrc <> 0 .
WRITE:/ ' not ret'.
ELSE.
WRITE: wdd03m.
ENDIF.
Regards,
Sesh
2007 Jul 27 9:42 AM
HI GS,
write the code like this and this would solve ur problem,
TABLES: DD03L.
DATA: BEGIN OF WDD03M,
FIELDNAME LIKE DD03M-FIELDNAME,
TABNAME LIKE DD03M-TABNAME,
CHECKTABLE LIKE DD03M-CHECKTABLE,
ROLLNAME LIKE DD03M-ROLLNAME,
ENTITYTAB LIKE DD03M-ENTITYTAB,
DOMNAME LIKE DD03M-DOMNAME,
DDTEXT LIKE DD03M-DDTEXT,
END OF WDD03M.
DATA: FLD LIKE TOBJ-FIEL1.
SELECT SINGLE FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
INTO (WDD03M-FIELDNAME
,WDD03M-TABNAME
,WDD03M-CHECKTABLE
,WDD03M-ROLLNAME
,WDD03M-ENTITYTAB
,WDD03M-DOMNAME
,WDD03M-DDTEXT
)
FROM DD03M
WHERE TABNAME LIKE 'AUTH%'
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
data: AUTH(30) type c .
concatenate '%' AUTH '%' into AUTH.
SELECT FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
INTO <b>TABLE</b> WDD03M
FROM DD03M
WHERE TABNAME LIKE AUTH
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
if sy-subrc <> 0 .
write:/ ' not ret'.
else.
write: wdd03m.
endif.
<b>Reward points if this helps,</b>
Kiran
2007 Jul 27 9:43 AM
Hello.
use following
SELECT FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
FROM DD03M
INTO table WDD03M
WHERE (your condition)
avoid using select endselect and corresponding fields.
Regards,
Neelambari.
2007 Jul 27 9:43 AM
HI,
Check now, its not taking long time now.
TABLES: dd03l.
DATA: BEGIN OF wdd03m occurs 0,
fieldname LIKE dd03m-fieldname,
tabname LIKE dd03m-tabname,
checktable LIKE dd03m-checktable,
rollname LIKE dd03m-rollname,
entitytab LIKE dd03m-entitytab,
domname LIKE dd03m-domname,
ddtext LIKE dd03m-ddtext,
END OF wdd03m.
DATA: fld LIKE tobj-fiel1.
SELECT SINGLE FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
INTO (WDD03M-FIELDNAME
,WDD03M-TABNAME
,WDD03M-CHECKTABLE
,WDD03M-ROLLNAME
,WDD03M-ENTITYTAB
,WDD03M-DOMNAME
,WDD03M-DDTEXT
)
FROM DD03M
WHERE TABNAME LIKE 'AUTH%'
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
DATA: auth(30) TYPE c .
CONCATENATE '%' auth '%' INTO auth.
SELECT <b>SINGLE</b> fieldname
tabname
checktable
rollname
entitytab
domname
ddtext
INTO CORRESPONDING FIELDS OF wdd03m
FROM dd03m
WHERE
ddlanguage = sy-langu
AND fieldname = fld
AND fldstat = 'A'
AND rollstat = 'A'
AND domstat = 'A'
AND textstat = 'A'
<b>AND tabname LIKE auth.</b>
IF sy-subrc <> 0 .
WRITE:/ ' not ret'.
ELSE.
WRITE: wdd03m.
ENDIF.
<b>OR</b>
TABLES: dd03l.
DATA: BEGIN OF wdd03m occurs 0,
fieldname LIKE dd03m-fieldname,
tabname LIKE dd03m-tabname,
checktable LIKE dd03m-checktable,
rollname LIKE dd03m-rollname,
entitytab LIKE dd03m-entitytab,
domname LIKE dd03m-domname,
ddtext LIKE dd03m-ddtext,
END OF wdd03m.
DATA: fld LIKE tobj-fiel1.
SELECT SINGLE FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
INTO (WDD03M-FIELDNAME
,WDD03M-TABNAME
,WDD03M-CHECKTABLE
,WDD03M-ROLLNAME
,WDD03M-ENTITYTAB
,WDD03M-DOMNAME
,WDD03M-DDTEXT
)
FROM DD03M
WHERE TABNAME LIKE 'AUTH%'
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
DATA: auth(30) TYPE c .
CONCATENATE '%' auth '%' INTO auth.
SELECT fieldname
tabname
checktable
rollname
entitytab
domname
ddtext
INTO CORRESPONDING FIELDS OF table wdd03m UP TO 100 ROWS
FROM dd03m
WHERE
ddlanguage = sy-langu
AND fieldname = fld
AND fldstat = 'A'
AND rollstat = 'A'
AND domstat = 'A'
AND textstat = 'A'
AND tabname LIKE auth.
IF sy-subrc <> 0 .
WRITE:/ ' not ret'.
ELSE.
WRITE: wdd03m.
ENDIF.
Regards,
Sesh
2007 Jul 27 9:45 AM
TABLES: DD03L.
DATA: BEGIN OF WDD03M,
FIELDNAME LIKE DD03M-FIELDNAME,
TABNAME LIKE DD03M-TABNAME,
CHECKTABLE LIKE DD03M-CHECKTABLE,
ROLLNAME LIKE DD03M-ROLLNAME,
ENTITYTAB LIKE DD03M-ENTITYTAB,
DOMNAME LIKE DD03M-DOMNAME,
DDTEXT LIKE DD03M-DDTEXT,
END OF WDD03M.
<b>DATA T_DD03M LIKE STANDARD TABLE OF WDDO3M.</b>
DATA: FLD LIKE TOBJ-FIEL1.
<b>SELECT SINGLE FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
PACKAGE SIZE 10000
APPENDING TABLE T_DD03M
FROM DD03M
WHERE TABNAME LIKE 'AUTH%'
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.</b>
data: AUTH(30) type c .
concatenate '%' AUTH '%' into AUTH.
SELECT FIELDNAME
TABNAME
CHECKTABLE
ROLLNAME
ENTITYTAB
DOMNAME
DDTEXT
PACKAGE SIZE 10000
APPENDING TABLE T_DD03M
FROM DD03M
WHERE TABNAME LIKE AUTH
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = FLD
AND FLDSTAT = 'A'
AND ROLLSTAT = 'A'
AND DOMSTAT = 'A'
AND TEXTSTAT = 'A'.
endselect.
if sy-subrc <> 0 .
write:/ ' not ret'.
else.
write: wdd03m.
endif.
Regards,
Pavan
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |