cancel
Showing results for 
Search instead for 
Did you mean: 

Wondering how the components list is filtered on a maintenance order ( IW33 )

derek_morin
Participant
0 Kudos

I'm wondering how the components list is filtered on a maintenance order ( IW33 ).

If I open a maintenance order I only see one component listed on it.

If I run "select  * from RESB where AUFNR = '000000901798 ' and MANDT = 801" I get two rows.

If I run: BAPI_ALM_ORDER_GET_DETAIL I also see two records.

I am not sure how the one row is getting filtered out of the UI.

Wondering if anyone has any ideas, or how I would figure this out.

I was able to run st05 and see that RESB is used in CO_BC_RESB_PRE_READ and I tried debugging through that but it's a bit over my head.

Accepted Solutions (1)

Accepted Solutions (1)

former_member185116
Active Participant
0 Kudos

HI derek,

this you are getting because some items may be deleted from components tab,

so when selecting from resb write like this,

select  * from RESB where AUFNR = '000000901798 ' and MANDT = 801 and XLOEK ne 'X'.

the flag XLOEK(deletion indicator) in RESB table will be set whenever an item is deletd from components tab,,

you can check it by deleting one item..

regards,

vinay..

derek_morin
Participant
0 Kudos

Interesting.

Oddly, both lines have XLOEK = 'X'

But one line still shows up in the UI, and the "Deleted" column is checkmarked for that line.

former_member185116
Active Participant
0 Kudos

please can you share the screen shot of IW33 Order ,

also pass aufnr to resb table in se11 or se16 and show the screen shot for this for better understanding...

derek_morin
Participant
0 Kudos

If you double click the image it shows up nicely.

There were too many columns, so I have attached ABAPQuery.txt.

former_member185116
Active Participant
0 Kudos

Derek,

there 2 things here,

see in your screen shot the system status is CLSD(i.e closed),

when ever the system status is CLSD automatically all the items under components tab will set

to deleted(i.e DELETED check box will be ticked for all the items  in the components tab)..

in your case

actually there were two items in your order,

one item was deleted manually by selecting the item-> and clicking delete row(minus button) icon.

and the item is no longer visible in components tab..

that is why XLOEK is set in RESB table

second item was set with deletion checkbox beacuse your order is closed(system status CLSD)..

for this also XLOEK is set in RESB table..

that is why XLOEK is set bot items in resb table...

this will not be the case if system status is other than CLSD (closed) and TECO(Technical comletion)..

hope you got a clear idea now..

derek_morin
Participant
0 Kudos

Somewhat clear.  But how would SAP know whether XLOEK was set for one reason or the other?  Is there somewhere that it knows the row was removed using the row(minus button)?

former_member185116
Active Participant
0 Kudos

for that go to table JCDS and pass reservation OBJNR if the status is set with I0013 then it means that its a manual deletion (deleted by selecting minus button)..

in your case the reservation OBJNR  = OK00000082420001 and OK00000082420002..

pass this to OBJNR field of JCDS table and observe the details with status I0013..

former_member185116
Active Participant
0 Kudos

derek,

small clarification if you dont find the status in JCDS ,

pass reservation objnr to table JEST and check ,

items which are deleted manually are set with status I0013...

former_member185116
Active Participant
0 Kudos

derek,

small clarification if you dont find the status in JCDS ,

pass reservation objnr to table JEST and check ,

items which are deleted manually are set with status I0013...

derek_morin
Participant
0 Kudos

Thank you very much - I would have never gotten there

Here are some details of queries I did:

-- select all the components for this maintenance order

select  OBJNR, * from RESB where AUFNR like '%901798' and MANDT = 801

-- select all the "Individual Object Status" for the components

select * from JEST

where OBJNR in

(

select  OBJNR from RESB where AUFNR like '%901798' and MANDT = 801

)

and MANDT = 801

-- show what the statuses are as strings

select * from TJ02T where ISTAT IN

(

  select STAT from JEST

  where OBJNR in

  (

    select  OBJNR from RESB where AUFNR like '%901798' and MANDT = 801

  )

  and MANDT = 801

)

and SPRAS = 'E'

OBJNR                  MANDT RSNUM      RSPOS RSART BDART RSSTA XLOEK XWAOK KZEAR XFEHL MATNR                               

====================== ===== ========== ===== ===== ===== ===== ===== ===== ===== ===== ================== =================

OK00000082420001      801   0000008242 0001        AR          X     X                 100-431                             

OK00000082420002       801   0000008242 0002        AR          X           X           DG-1000                             

MANDT OBJNR                  STAT  INACT CHGNR

===== ====================== ===== ===== =====

801   OK00000082420001       I0001 X     000

801   OK00000082420001       I0002       000

801   OK00000082420001       I0013       000

801   OK00000082420002       I0001 X     000

801   OK00000082420002       I0002       000

ISTAT SPRAS TXT04 TXT30

===== ===== ===== ==============================

I0001 E     CRTD  Created

I0002 E     REL   Released

I0013 E     DLT   Deletion indicator

So you can see that OK00000082420001 has the deletion indicator set on it.  So only DG-1000 shows up.

former_member185116
Active Participant
0 Kudos

yes derek,

your exactly right..

Answers (0)