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

small error in report

Former Member
0 Likes
540

Hi good day to all, i am new to abap,

can any one solve my problem pls.

don't use innerjions and for all entries.

use two select stmts like this .

but here data is not retriving...pls solve my problem.

this is my task

Tables : marc,

mara.

Data : Begin of itab occurs 0,

matnr like marc-matnr,

werks like marc-werks,

pstat like marc-pstat,

bwtty like marc-bwtty,

ersda like mara-ersda,

ernam like mara-ernam,

mtart like mara-mtart,

mbrsh like mara-mbrsh,

end of itab.

select-options : s_matnr for marc-matnr.

start-of-selection.

select matnr

werks

pstat

bwtty

from marc

into corresponding fields of itab

where matnr in s_matnr.

APPEND ITAB.

endselect.

SELECT MATNR

ERSDA

ERNAM

MTART

MBRSH

FROM MARA

into

CORRESPONDING FIELDS OF ITAB

WHERE MATNR = ITAB-MATNR.

append ITAB.

ENDSELECT.

end-of-selection.

write : /1 sy-vline , 2 'MaterialNo',

10 sy-vline , 12 'Plant',

20 sy-vline , 22 'MaintStatus',

40 sy-vline , 42 'Valu Catgry',

60 sy-vline , 62 'CreatDate',

80 sy-vline , 82 'NamePerson',

100 sy-vline , 102 'MatrlType',

120 sy-vline , 122 'Ind Sector',

140 sy-vline.

loop at itab.

write : /1 sy-vline , 2 itab-matnr,

10 sy-vline , 12 itab-werks,

20 sy-vline , 22 itab-pstat,

40 sy-vline , 42 itab-bwtty,

60 sy-vline , 62 itab-ersda,

80 sy-vline , 82 itab-ernam,

100 sy-vline , 102 itab-mtart,

120 sy-vline , 122 itab-mbrsh,

140 sy-vline.

Endloop.

Thaks&Regards

Suresh

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
510

Hello,

Do this:


TABLES : marc, mara.

TYPES:
  BEGIN OF ty_itab,
    matnr TYPE marc-matnr,
    werks TYPE marc-werks,
    pstat TYPE marc-pstat,
    bwtty TYPE marc-bwtty,
  END OF itab,
  BEGIN OF ty_itab1,
    ersda TYPE mara-ersda,
    ernam TYPE mara-ernam,
    mtart TYPE mara-mtart,
    mbrsh TYPE mara-mbrsh,
  END OF ty_itab1.

DATA:
  itab TYPE TABLE OF ty_itab,
  ls_itab LIKE LINE OF itab,
  itab1 TYPE TABLE OF ty_itab1.

SELECT-OPTIONS s_matnr FOR marc-matnr.


START-OF-SELECTION.

  SELECT matnr werks pstat bwtty
  FROM marc INTO TABLE itab
  WHERE matnr IN s_matnr.

  IF NOT itab IS INITIAL.
    SELECT matnr ersda ernam mtart mbrsh
    FROM mara INTO TABLE itab1
    WHERE matnr = itab-matnr.

    WRITE : /1 sy-vline , 2 'MaterialNo',
    10 sy-vline , 12 'Plant',
    20 sy-vline , 22 'MaintStatus',
    40 sy-vline , 42 'Valu Catgry',
    60 sy-vline , 62 'CreatDate',
    80 sy-vline , 82 'NamePerson',
    100 sy-vline , 102 'MatrlType',
    120 sy-vline , 122 'Ind Sector',
    140 sy-vline.

    LOOP AT itab INTO ls_itab
      read table itab1 with key matnr = ls_itab-matnr.

      WRITE : /1 sy-vline , 2 itab-matnr,
      10 sy-vline , 12 itab-werks,
      20 sy-vline , 22 itab-pstat,
      40 sy-vline , 42 itab-bwtty,
      60 sy-vline , 62 itab-ersda,
      80 sy-vline , 82 itab-ernam,
      100 sy-vline , 102 itab-mtart,
      120 sy-vline , 122 itab-mbrsh,
      140 sy-vline.
    ENDLOOP.

And you need to do loop and read tables accordinly.

Regards,

Hi good day to all, i am new to abap,

can any one solve my problem pls.

don't use innerjions and for all entries.

use two select stmts like this .

but here data is not retriving...pls solve my problem.

this is my task

Tables : marc,

mara.

Data : Begin of itab occurs 0,

matnr like marc-matnr,

werks like marc-werks,

pstat like marc-pstat,

bwtty like marc-bwtty,

ersda like mara-ersda,

ernam like mara-ernam,

mtart like mara-mtart,

mbrsh like mara-mbrsh,

end of itab.

select-options : s_matnr for marc-matnr.

start-of-selection.

select matnr

werks

pstat

bwtty

from marc

into corresponding fields of itab

where matnr in s_matnr.

APPEND ITAB.

endselect.

SELECT MATNR

ERSDA

ERNAM

MTART

MBRSH

FROM MARA

into

CORRESPONDING FIELDS OF ITAB

WHERE MATNR = ITAB-MATNR.

append ITAB.

ENDSELECT.

end-of-selection.

write : /1 sy-vline , 2 'MaterialNo',

10 sy-vline , 12 'Plant',

20 sy-vline , 22 'MaintStatus',

40 sy-vline , 42 'Valu Catgry',

60 sy-vline , 62 'CreatDate',

80 sy-vline , 82 'NamePerson',

100 sy-vline , 102 'MatrlType',

120 sy-vline , 122 'Ind Sector',

140 sy-vline.

loop at itab.

write : /1 sy-vline , 2 itab-matnr,

10 sy-vline , 12 itab-werks,

20 sy-vline , 22 itab-pstat,

40 sy-vline , 42 itab-bwtty,

60 sy-vline , 62 itab-ersda,

80 sy-vline , 82 itab-ernam,

100 sy-vline , 102 itab-mtart,

120 sy-vline , 122 itab-mbrsh,

140 sy-vline.

Endloop.

Thaks&Regards

Suresh

3 REPLIES 3
Read only

Sm1tje
Active Contributor
0 Likes
510

select matnr

werks

pstat

bwtty

from marc

into corresponding fields of table itab

where matnr in s_matnr.

NO ENDSELECT!!!

Read only

Former Member
0 Likes
511

Hello,

Do this:


TABLES : marc, mara.

TYPES:
  BEGIN OF ty_itab,
    matnr TYPE marc-matnr,
    werks TYPE marc-werks,
    pstat TYPE marc-pstat,
    bwtty TYPE marc-bwtty,
  END OF itab,
  BEGIN OF ty_itab1,
    ersda TYPE mara-ersda,
    ernam TYPE mara-ernam,
    mtart TYPE mara-mtart,
    mbrsh TYPE mara-mbrsh,
  END OF ty_itab1.

DATA:
  itab TYPE TABLE OF ty_itab,
  ls_itab LIKE LINE OF itab,
  itab1 TYPE TABLE OF ty_itab1.

SELECT-OPTIONS s_matnr FOR marc-matnr.


START-OF-SELECTION.

  SELECT matnr werks pstat bwtty
  FROM marc INTO TABLE itab
  WHERE matnr IN s_matnr.

  IF NOT itab IS INITIAL.
    SELECT matnr ersda ernam mtart mbrsh
    FROM mara INTO TABLE itab1
    WHERE matnr = itab-matnr.

    WRITE : /1 sy-vline , 2 'MaterialNo',
    10 sy-vline , 12 'Plant',
    20 sy-vline , 22 'MaintStatus',
    40 sy-vline , 42 'Valu Catgry',
    60 sy-vline , 62 'CreatDate',
    80 sy-vline , 82 'NamePerson',
    100 sy-vline , 102 'MatrlType',
    120 sy-vline , 122 'Ind Sector',
    140 sy-vline.

    LOOP AT itab INTO ls_itab
      read table itab1 with key matnr = ls_itab-matnr.

      WRITE : /1 sy-vline , 2 itab-matnr,
      10 sy-vline , 12 itab-werks,
      20 sy-vline , 22 itab-pstat,
      40 sy-vline , 42 itab-bwtty,
      60 sy-vline , 62 itab-ersda,
      80 sy-vline , 82 itab-ernam,
      100 sy-vline , 102 itab-mtart,
      120 sy-vline , 122 itab-mbrsh,
      140 sy-vline.
    ENDLOOP.

And you need to do loop and read tables accordinly.

Regards,

Read only

Former Member
0 Likes
510

hi for this use the

appending corresponding fields of table itab

regards,

venkat