This is one of the frequently discussed topics in production planning and I find this as one of the most frequent requirement coming from the customers to have additional data in the COOIS output layout. In this document the process of adding customer specific extra columns in the COOIS output using BAdI WORKORDER_INFOSYSTEM is discussed in detail. As of release 4.7, you can use this BAdI to fill up customer fields in the COOIS/ COOISPI output.
In this document we will discuss addition of Document number (MARA-ZEINR) in the component overview of COOIS. We will fetch MARA-ZEINR maintained for the components and display them in the COOIS output.
This modification can be divided in two steps:
(a) extension of the structure IOOPCOMP that is used in the component output of COOIS.
The mappings of the important List Type in COOIS and the output structure are given here:
|COOIS List Type||List Name||Output Structure|
|PPIOD000||Documented Goods Movements||IOMAMO|
|PPIOF000||Production Resource/ Tools||IOOPPRT|
|PPIOG000||Automatic Goods Movements||IOGOMO|
|PPIOW000||Goods Movements with Error||IOGMER|
(b) implementation of the BAdI WORKORDER_INFOSYSTEM.
This document assumes that the person in charge is a technical/ techno-functional consultant and has the required expertise to understand few ABAP code lines.
(a) Extension of structure IOOPCOMP:
Log-in to the development server.
Go to SE11 transaction, input structure IOOPCOMP and click on display:
Scroll down to the bottom, and double-click on type CI_IOOPCOMP:
System asks for confirmation to create the structure, confirm the message.
Provide a description for the structure CI_IOOPCOMP, that will contain the additional fields in the component list of COOIS, and maintain the necessary field ZEINR (the data type can be found in SE11 transaction, table MARA and the associated component type for the ZEINR field).
Save and activate the structure, the system will ask for a suitable package and a workbench request – provide them as required. We need to transport this workbench request to the Quality and the Productive system.
System will display warning during activation, override the message after going through the activation log.
Click back, and note that the new field ZEINR is appended to the structure IOOPCOMP now.
(b) Implementing BAdI WORKORDER_INFOSYSTEM:
We will use this BAdI to fill up the data for this additional field that has been added to the IOOPCOMP structure.
Go to SE18 transaction, enter the BAdI name and click on ‘display’:
Access menu function Implementation -> Create:
Provide an implementation name, say ‘YCOOIS’. In the next screen, provide a description (implementation short text) of this implementation:
Go to the interface tab and double-click on the method TABLES_MODIFY_LAY:
The system asks for a save, save the same using the same package and workbench request number used earlier.
Insert the required code to fetch data from the MARA table and modify the structure CT_IOOPCOMP:
Save and Activate the method. Go back and activate the BAdI implementation.
Now that the implementation has been done, choose a test data and execute COOIS. Adjust the output layout of COOIS component list.
We adjust the template and observe the data updated in the added column:
The process is now complete, import the workbench request to the Quality and Production system after proper testing.
Related OSS Notes:
540779 – FAQ: Information system
434123 – Filling and displaying own fields in information system
615206 – COOIS: BAdI order delay in IOHEADER
615176 – COOIS: BAdI for predecessor status
Thanks for going through the detailed document. Do revert back if you have more queries or feedbacks/ inputs so that I can update the document.