2007 Oct 29 7:01 PM
Hi,
Can you please me correct the code below. It is correct from syntax point of view but it doesnt pull any records. TABLE1 is some delivered SAP table. And a select condition same as the IF condition below works if used directly on TABLE1.
DATA: I_T_TABLE1 TYPE TABLE OF TABLE1 WITH HEADER LINE.
SELECT * FROM TABLE1 INTO I_T_TABLE1.
ENDSELECT.
IF SOME CONDITION IN THE PROGRAM.
LOOP AT I_T_TABLE1.
IF I_T_TABLE1-TYPE = 'INDEX' AND
I_T_TABLE1-OBJVERS = 'A'.
RESULT = I_T_TABLE1-LOW.
ENDIF.
ENDLOOP.
ENDIF.
Thank you,
sam
2007 Oct 29 7:04 PM
Hi,
Please try this.
SELECT * FROM TABLE1 INTO TABLE I_T_TABLE1.
...
Regards,
Ferry Lianto
Hi,
Can you please me correct the code below. It is correct from syntax point of view but it doesnt pull any records. TABLE1 is some delivered SAP table. And a select condition same as the IF condition below works if used directly on TABLE1.
DATA: I_T_TABLE1 TYPE TABLE OF TABLE1 WITH HEADER LINE.
SELECT * FROM TABLE1 INTO I_T_TABLE1.
ENDSELECT.
IF SOME CONDITION IN THE PROGRAM.
LOOP AT I_T_TABLE1.
IF I_T_TABLE1-TYPE = 'INDEX' AND
I_T_TABLE1-OBJVERS = 'A'.
RESULT = I_T_TABLE1-LOW.
ENDIF.
ENDLOOP.
ENDIF.
Thank you,
sam
2007 Oct 29 7:04 PM
Hi,
Please try this.
SELECT * FROM TABLE1 INTO TABLE I_T_TABLE1.
...
Regards,
Ferry Lianto
2007 Oct 29 7:07 PM
You don't need the ENDSELECT..
simply use SELECT from <dbtab> into table <itab>.
Arya
2007 Oct 29 10:26 PM
Hi Experts
I want to join vbak table with cdhdr and select
vbak.vkbur (plant) and want to show that vkbur in the internal table of it_cdhdr
so as to select only those plant belong to vkbur so how can I join base on the below coding................
REPORT ZCHGDOC
NO STANDARD PAGE HEADING LINE-SIZE 120.
WRITE: sy-title, 40 'Page', sy-pagno.
ULINE.
TABLES: CDHDR,
CDPOS,
t001w,
"VKBUR,
"VBELN,
VBAK,
VBAP.
SELECTION-SCREEN BEGIN OF BLOCK DOCUMENT WITH FRAME TITLE TEXT-701.
SELECTION-SCREEN END OF BLOCK DOCUMENT.
SELECT-OPTIONS:
V1 FOR VBAK-VKBUR,
S_WERKS for T001W-werks,
objectid for cdhdr-objectid,
udate for cdhdr-udate.
PARAMETER: USERNAME LIKE CDHDR-USERNAME.
DATA: BEGIN OF IT_VBAP OCCURS 0,
OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
OBJECTID LIKE CDHDR-OBJECTID,
VBELN LIKE VBAP-VBELN,
END OF IT_VBAP.
DATA: BEGIN OF IT_CDHDR OCCURS 0,
OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
OBJECTID LIKE CDHDR-OBJECTID,
CHANGENR LIKE CDHDR-CHANGENR,
USERNAME LIKE CDHDR-USERNAME,
UDATE LIKE CDHDR-UDATE,
UTIME LIKE CDHDR-UTIME,
FNAME LIKE CDPOS-FNAME,
TABNAME LIKE CDPOS-TABNAME,
TABKEY LIKE CDPOS-TABKEY,
VALUE_NEW LIKE CDPOS-VALUE_NEW,
VALUE_OLD LIKE CDPOS-VALUE_OLD,
END OF IT_CDHDR.
DATA: WA LIKE LINE OF IT_CDHDR.
DATA: WA LIKE LINE OF IT_CDPOS.
DATA: BEGIN OF IT_CDPOS OCCURS 0,
OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
OBJECTID LIKE CDHDR-OBJECTID,
CHANGENR LIKE CDHDR-CHANGENR,
TABNAME LIKE CDPOS-TABNAME,
TABKEY LIKE CDPOS-TABKEY,
FNAME LIKE CDPOS-FNAME,
VALUE_NEW LIKE CDPOS-VALUE_NEW,
VALUE_OLD LIKE CDPOS-VALUE_OLD,
END OF IT_CDPOS.
Move-corresponding it_cdhdr to wa.
Move-corresponding it_cdpos to wa.
SELECT OBJECTCLAS
OBJECTID
CHANGENR
USERNAME
UDATE
UTIME FROM CDHDR
INTO CORRESPONDING FIELDS OF TABLE IT_CDHDR
WHERE OBJECTCLAS = 'VERKBELEG' or
objectclas = 'BETRIEB'
ORDER BY UDATE.
WHERE OBJECTCLAS = 'VERKBELEG'
OR OBJECTCLAS = 'BETRIEB' ORDER BY UDATE.
Filter data based upon Plant selection criteria.
IF NOT S_WERKS[] IS INITIAL.
DELETE IT_CDHDR WHERE NOT OBJECTID IN S_WERKS.
ENDIF.
IF IT_CDHDR[] IS NOT INITIAL.
SELECT OBJECTCLAS
OBJECTID
CHANGENR
VALUE_NEW
VALUE_OLD
FNAME
TABNAME
TABKEY
FROM CDPOS
INTO CORRESPONDING FIELDS OF TABLE IT_CDPOS
FOR ALL ENTRIES IN IT_CDHDR
WHERE
OBJECTCLAS = IT_CDHDR-OBJECTCLAS
AND OBJECTID = IT_CDHDR-OBJECTID
AND CHANGENR = IT_CDHDR-CHANGENR.
"or tabname = 'VBAP'.
SORT IT_CDPOS BY OBJECTCLAS OBJECTID CHANGENR.
ENDIF.
Add tables CDPOS DATA TO CDHDR.
DATA: INDEX TYPE i.
LOOP AT IT_CDHDR.
INDEX = SY-TABIX.
READ TABLE IT_CDPOS WITH KEY OBJECTCLAS = IT_CDHDR-OBJECTCLAS
OBJECTID = IT_CDHDR-OBJECTID
CHANGENR = IT_CDHDR-CHANGENR BINARY SEARCH.
IF SY-SUBRC = 0.
IT_CDHDR-VALUE_NEW = IT_CDPOS-VALUE_NEW.
IT_CDHDR-VALUE_OLD = IT_CDPOS-VALUE_OLD.
MODIFY IT_CDHDR INDEX index TRANSPORTING value_new value_old.
ENDIF.
WRITE:/ SY-DATUM,SY-UZEIT,
50 'DOCUMENT CHANGE REPORT',
80 'Page', SY-PAGNO,
" WRITE: / SY-REPID
50 'DETAIL REPORT BY PLANT '.
SKIP.
ULINE.
.
&----
*& T O P - O F - P A G E *
&----
WRITE:/ 'UDATE:' ,SY-DATUM.
FORMAT COLOR 4 INTENSIFIED on.
Write: /35 ' DOCUMENT CHANGES REPORT '.
WRITE: /5 'DOCUMENT-NO'.
20 'TABNAME', 30 'TEXT_CASE', 50 'FNAME'.
WRITE: /5 'DATE', 20 'FNAME', 45 'CHANGE-NO',65 'OLD-VALUE',80 'NEW-VALUE',95 'USER-NAME'.
ULINE.
LOOP AT IT_CDHDR INTO WA.
on change of wa-objectid.
Write: / wa-objectid UNDER'DOCUMENT-NO' ."color col_key.
ENDON.
ULINE.
" CDPOS-tabname UNDER'TABNAME', CDPOS-TEXT_CASE UNDER'TEXT_CASE',CDPOS-fname UNDER'FNAME'. "color col_key ,
write: / wa-udate dd/mm/yyyy under'DATE' NO-GAP,wa-fname under'FNAME' NO-GAP,wa-changenr under 'CHANGE-NO',
wa-value_old under'OLD-VALUE' LEFT-JUSTIFIED NO-GAP,
wa-value_new under'NEW-VALUE' LEFT-JUSTIFIED NO-GAP ,wa-username under'USER-NAME' NO-GAP.
ENDON.
Move-corresponding it_cdhdr to wa.
*Write: / wa-objectid UNDER'DOCUMENT-NO' "color col_key.
*" CDPOS-tabname UNDER'TABNAME', CDPOS-TEXT_CASE UNDER'TEXT_CASE',CDPOS-fname UNDER'FNAME'. "color col_key ,
*write: / wa-udate dd/mm/yyyy under'DATE' NO-GAP,wa-utime under'TIME' NO-GAP,wa-changenr under 'CHANGE-NO',
ltrim(wa-value_old) under'OLD-VALUE' NO-GAP,
*wa-value_new under'NEW-VALUE' NO-GAP ,wa-username under'USER-NAME' NO-GAP.
ENDLOOP.
ENDLOOP.
2007 Oct 29 7:10 PM
If you want to continue with ur code ..then modify like this...
SELECT * FROM TABLE1 INTO I_T_TABLE1.
APPEND I_T_TABLE1.
ENDSELECT.
or
you can modify like this...
SELECT * FROM TABLE1 INTO TABLE I_T_TABLE1.
*need not use ENDSELECT..
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |