Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Plz help me correct the code below

Former Member
0 Likes
580

Hi,

Can you please me correct the code below. It is correct from syntax point of view but it doesn’t 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

1 ACCEPTED SOLUTION
Read only

ferry_lianto
Active Contributor
0 Likes
542

Hi,

Please try this.

SELECT * FROM TABLE1 INTO TABLE I_T_TABLE1.

...

Regards,

Ferry Lianto

4 REPLIES 4
Read only

ferry_lianto
Active Contributor
0 Likes
543

Hi,

Please try this.

SELECT * FROM TABLE1 INTO TABLE I_T_TABLE1.

...

Regards,

Ferry Lianto

Read only

0 Likes
542

You don't need the ENDSELECT..

simply use SELECT from <dbtab> into table <itab>.

Arya

Read only

0 Likes
542

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.

Read only

Former Member
0 Likes
542

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..