02-27-2013 2:53 PM
Hi,
I have a requirement for IW31 tcode, where in the user will put the equipment number under the header data tab and corresponding to its serial number and inventory number has to populate under the enhancement tab. Can anyone suggest me the include to implement the enhancement point so that I can complete this requirement. I have also attached the screenshot, so that anyone can have the better idea on it.
Thank You,
Himansu
02-28-2013 8:01 AM
Hi Himansu,
If you have customized enhancement tab created it means, that you should be able to change implementation in PAI or PBO modules. No need to look for enhancement points or exits. Just find screen number by F1 on enhancement tab and go to it in SE80. Then jump into PBO module, you should be able to change it. I see that my screen is SAPLXWOC - 0900, so maybe you will have same number if it is SAP standard.
Then implement in Process Before Output (PBO) of that screen logic of checking equipment value from header object that is in memory and based on that calculate and fill new properties that you want (serial, inventory number). You need to check memory variable and not database, because user may change it without saving while working with IW31/IW32 transaction. Value should be available from global variable CAUFVD or maybe also EQUI, but if you do not see it from your PBO level, then you need to import it from memory, like this:
FIELD-SYMBOLS <fs_caufvd> LIKE caufvd.
ASSIGN ('(SAPLCOIH)caufvd') TO <fs_caufvd>.
Finally it means that you will not update serial and inventory number when user changes equipment value, but actualy when you display enhancement tab, then logic will be implemented.
And if you want to also update serial and inventory number when user saves work order, then use EXIT_SAPLCOIH_009 PM Order: Customer Check for 'Save' Event and propagate new values there.
Hope it helps.
Regards,
Adam
02-28-2013 8:01 AM
Hi Himansu,
If you have customized enhancement tab created it means, that you should be able to change implementation in PAI or PBO modules. No need to look for enhancement points or exits. Just find screen number by F1 on enhancement tab and go to it in SE80. Then jump into PBO module, you should be able to change it. I see that my screen is SAPLXWOC - 0900, so maybe you will have same number if it is SAP standard.
Then implement in Process Before Output (PBO) of that screen logic of checking equipment value from header object that is in memory and based on that calculate and fill new properties that you want (serial, inventory number). You need to check memory variable and not database, because user may change it without saving while working with IW31/IW32 transaction. Value should be available from global variable CAUFVD or maybe also EQUI, but if you do not see it from your PBO level, then you need to import it from memory, like this:
FIELD-SYMBOLS <fs_caufvd> LIKE caufvd.
ASSIGN ('(SAPLCOIH)caufvd') TO <fs_caufvd>.
Finally it means that you will not update serial and inventory number when user changes equipment value, but actualy when you display enhancement tab, then logic will be implemented.
And if you want to also update serial and inventory number when user saves work order, then use EXIT_SAPLCOIH_009 PM Order: Customer Check for 'Save' Event and propagate new values there.
Hope it helps.
Regards,
Adam
02-28-2013 10:19 AM
Thank You so much Adam. The way you explained me I coded on the same way and it is working perfectly fine.
Much Appreciated,
Himansu
02-28-2013 10:19 AM
Thank You so much Adam. The way you explained me I coded on the same way and it is working perfectly fine.
Much Appreciated,
Himansu
02-28-2013 11:14 AM