You are on page 1of 23

12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Community

Ask a Question Write a Blog Post Login

Naga Chaitanya Challa


October 7, 2015 7 minute read

Add New or Custom Fields to COOIS Output


Follow RSS feed Like

6 Likes 14,174 Views 9 Comments

Add New Or Custom Fields To Transaction COOIS Output

USING BADI WORKORDER_INFOSYSTEM

METHOD – TABLES_MODIFY_LAY

Foreword about the requirement:

The requirement is to add new elds or custom elds or new columns to the transaction COOIS ALV output.
Hence, I have prepared a document to help resources who are looking for a step by step guidance on this. All the
steps to implement the proposed solution are captured in the document; references have been taken from the
notes mentioned below and the requirement is ful lled. However, any such implementation should be
thoroughly tested before moving to next systems, as it can help identify side-a ects, which cannot be predicted
before/after the implementation. Hence such side-a ects may be identi ed in testing, further helping to better
the solution as per your own requirements and needs.

Symptom:

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 1/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

You need to enhance / add / display additional elds or columns in the ALV OUTPUT of order information
system which are not provided in the standard system in COOIS ALV output.

References / Related OSS Notes:

For preparing this document, references have been taken from the below notes.

Note # Description
615206 COOIS: BADI order delay in IOHEADER
806375 COOIS: Order delay Business Add-In in IOHEADER
434123 Filling and displaying own elds in information system
363327 COOIS/CO26/CO28: Change list of elds that can be
displayed

How:

This requirement can be achieved by implementing the BADI WORKORDER_INFOSYSTEM – Method –


TABLES_MODIFY_LAY.

Detailed procedure for implementation:

Following is the step by step procedure for adding new elds for the COOIS transaction output:

1. Create a DDIC structure in SE11 with the name (any name) : ZCOOIS_QALS_DATA

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 2/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

2. Add the required elds in the structure (this structure will later be added as an append structure in
IOHEADER_DELAY ). These elds are the new elds or new columns that will be displayed on the COOIS ALV
output.

SAVE the structure. Input the name of a package, Transport Request number and ACTIVATE the structure.

3. Go to SE11, display the structure IOHEADER_DELAY:

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 3/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Below is the screen print of the structure IOHEADER_DELAY before adding the fields (or before performing an append
structure):

Click on Append Structure bu on

In the pop up, input the name of the structure that we created in step 1 & step 2 so that this structure can be appended
to IOHEADER_DELAY.

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 4/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

4. Below is the screen print of the structure IOHEADER_DELAY a er appending structure ZCCCIS_QALS_DATA which has
the required fields:

Ac vate and close SE11.

5. Use transac on SE38 to execute the report RCNCT000.

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 5/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Input “IOHEADER” in the field string name and “RCNHEAD” in the include name as shown below and click on Execute –

In the following pop up, click on the CONTINUE bu on:

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 6/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

6. In the following screen, click on the GENERATE Bu on:

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 7/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Following is the informa on message that shows up a er “genera ng”:

7. Use transaction SE38 to execute the report RCOTX000 and enter IOHEADER as the eld string name (a erwards,
choose F8).

Input the name of the structure “IOHEADER” in the field string name Choose F8 to execute the report.

Below is the screen print of the report RCOTX000 output. You will be able to iden fy your fields in the below screen (fields
per this requirement are not shown below though)

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 8/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Click “SAVE” and you will be taken to back to the selec on screen. You can now close the transac on SE38.

8. Go to transac on SE19 to create the implementa on for the BADI WORKORDER_INFOSYSTEM. This is the appropriate
BADI for the requirement to add new/customer fields to the COOIS output.

Input a name for the implemen ng WORKORDER_INFOSYSTEM. In this case, I created an implementa on as
ZENH_ADD_QALS_FIELDS.

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 9/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Click Con nue. On the following screen, input the implementa on short text and click SAVE.

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 10/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Input the name of the package and Transport Request.


ACTIVATE the implementation so that it gets called in the run time. This can also be done once the business
logic is implemented / written. You can either activate now or even after writing your logic. How ever, if you
activate before writing your logic, the implementation would trigger but there would be no logic in any
method to execute )

9. Click on the interface tab. In the list of methods, the logic for the current requirement is to be implemented in the
method TABLES_MODIFY_LAY.

10. Double click on the method name TABLES_MODIFY_LAY to go ahead and implement the business logic to
populate data into the required elds.

11. For the current requirement, the logic is written to add data into the method interface parameter CT_IOHEADER.
This internal table contains data that would be displayed as the output. Hence we implement our logic in this method.

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 11/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

The logic for the current requirement is as follows:

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 12/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 13/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Also, below is the code for your help.

METHOD if_ex_workorder_infosystem~tables_modify_lay.

**– Types Declara ons

TYPES: BEGIN OF ty_qals,


prueflos TYPE qals–prueflos,
aufnr TYPE qals–aufnr,
zzstat34 TYPE qals–stat34,
zzstat35 TYPE qals–stat35,
zzlmengezub TYPE qals–lmengezub,
zzvcode TYPE qave–vcode,
END OF ty_qals,

BEGIN OF ty_qave,
prueflos TYPE qals–prueflos,

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 14/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

aufnr TYPE qals–aufnr,


vcode TYPE qave–vcode,
END OF ty_qave.

**– Internal table Declarations


DATA: lt_qals TYPE STANDARD TABLE OF ty_qals,
lt_qave TYPE STANDARD TABLE OF ty_qave,

**– Work Area Declarations


ls_qals TYPE ty_qals,
ls_qave TYPE ty_qave.

**– Field Symbol for the Importing parameter CT_IOHEADER


FIELD-SYMBOLS: <fs_ct_ioheader> TYPE ioheader.

IF ct_ioheader IS NOT INITIAL.


SELECT prueflos aufnr stat35 stat35 lmengezub
INTO TABLE lt_qals
FROM qals
FOR ALL ENTRIES IN ct_ioheader
WHERE aufnr = ct_ioheader–aufnr.
IF sy–subrc = 0.

SELECT qave~prueflos qals~aufnr qave~vcode


INTO TABLE lt_qave
FROM qave
INNER JOIN qals AS qals
ON qals~prueflos = qave~prueflos
FOR ALL ENTRIES IN ct_ioheader
WHERE aufnr = ct_ioheader–aufnr.
IF sy–subrc = 0.
ENDIF.

LOOP AT ct_ioheader ASSIGNING <fs_ct_ioheader>.

CLEAR: ls_qals.
READ TABLE lt_qals INTO ls_qals WITH KEY aufnr = <fs_ct_ioheader>–aufnr.
IF sy–subrc = 0.
<fs_ct_ioheader>–prueflos = ls_qals–prueflos.
<fs_ct_ioheader>–zzstat34 = ls_qals–zzstat34.
<fs_ct_ioheader>–zzstat35 = ls_qals–zzstat35.
<fs_ct_ioheader>–zzlmengezub = ls_qals–zzlmengezub.

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 15/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

CLEAR: ls_qave.
READ TABLE lt_qave INTO ls_qave WITH KEY prueflos = ls_qals–prueflos
aufnr = <fs_ct_ioheader>–aufnr.

IF sy–subrc = 0.
<fs_ct_ioheader>–zzvcode = ls_qave–vcode.

ENDIF.

ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDMETHOD.

A er wri ng the logic, SAVE and ACTIVATE the method and the BADI implementa on. Also, for your requirements,
please debug and check if you are able to populate data as needed into the relevant fields.

12. Now, go to transac on COOIS, key in the input parameters as required(or as per your test case) and click EXECUTE.

Following are the new fields or columns that we have added to the COOIS ALV OUTPUT. Please note that, displaying the
below fields or columns may also need a change in the layout se ngs to display the below columns. Hence, please make

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 16/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

sure that these columns exist in the ALV output by changing the layout se ngs.

You have now completed the procedure to enhance / add new or custom elds to the transaction COOIS using
the BADI WORKORDER_INFOSYSTEM.

Finally, I request you to share your opinions on the document so that it can be enhanced for helping our
resources who are interested or who have a requirement to implement this solution.

Thank you so much for reading and I am happy to have helped, Great Day Ahead !!

My Best Regards,

Naga Chaitanya Challa

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 17/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Alert Moderator

Assigned tags

MAN Production Planning (PP) | (add) | badi | coois | custom |

View more...

Related Blog Posts

Additional Customer Fields in COOIS output


By Rajen Madan , Dec 19, 2013

Additional Fields in COOIS report without using BADI


By Pradeep Ramamoorthy , Aug 29, 2019
Object Overview in COOIS
By Anita Ari n , Jan 30, 2019

Related Questions

COOIS - add new elds


By Former Member , May 07, 2008
Is there any possibility to add new elds in COOIS transaction
By Former Member , Sep 09, 2009
Capacity levelling from COOIS
By Former Member , Sep 22, 2016

9 Comments

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 18/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

You must be Logged on to comment or reply to a post.

Amit Sharma

October 7, 2015 at 12:14 pm

Hello Chaitanya,

Thanx for sharing such a informative document.

I have a same requirement in which i have to pass Posting date of order con rmation (CO11N/COHV) through
the selection screen of COOIS.

How can we get that eld in selection screen of COOIS ??

Regards,

Amit

Like(0)

Naga Chaitanya Challa | Post author

October 7, 2015 at 1:20 pm

Hi Amit,

Could you please elaborate on the requirement.

As per what I understand from the above:

You need to pass the Posting date of the order con rmation to COOIS selection screen and the output data
should get fetched accordingly.

Is the above correct ? If yes:

1. May I know if you have looked into the date elds that are provided at the bottom of the screen.

– Could you check if there are any other parameters on the existing selection screen, that can work as an alternate
parameters/ elds that can be used to fetch the same intended data ?

2. Is posting date the only factor you think, that the data is not relevant to ?

3. Are you not able to pass the posting date on the existing selection screen ?

Then you will need to implement a BADI or an implicit enhancement that triggers/works even before the data is
fetched. Hence you would need to look for a BADI or enhancement for this.

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 19/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Else, implement the BADI WORKORDER_INFOSYSTEM & put a break point in the method TABLES_MODIFY_LAY (or
the other methods as well, not sure if they trigger though) and run COOIS. See if the data in the interface parameters
can be handled in the method to solve your requirement. 

– If you think that all the detail you wanted is in the internal table CT_IOHEADER (and shows on the output), but
only that it is not based on the posting date, then try ltering that data in the aforesaid method
TABLES_MODIFY_LAY.

Also, please go through the SAP notes mentioed above and below link and see if these can hep.

COOIS Enhancement | SCN

http://scn.sap.com/thread/1793842

http://wiki.scn.sap.com/wiki/display/ERP6/COOIS+-+Adding+Pro le+Parameter+to+Screen

https://scn.sap.com/thread/2092904

http://b2tio00e.benxbrain.com/en/sap/transaction/COISN-COOIS-modi y-the-screen-select-thread-1-
1671090.htm

Please reply back with any further questions.

Best Regards,

Naga Chaitanya

Like(0)

Naga Chaitanya Challa | Post author

October 7, 2015 at 1:35 pm

Dear Amit,

Here are couple of other links that might help your requirement.

COOIS: Additional Selection Screen

Requirement Date on seelction screen of COOIS not working for Lists-Compone

Do let me know if these help.

Best Regards,

Naga Chaitanya

Like(0)

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 20/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Amit Sharma

October 7, 2015 at 2:39 pm

Hello Chaitanya,

Thank you for your prompt reply.

You understood right that i need to add  posting date on the selection screen of COOIS so that i can check the
Number of Production order’s Posted on the particular date or monthly.

I will check the same on my Development client as suggested by you and let you know.

Regards,

Amit

Like(0)

Giribabu Sakala

April 18, 2017 at 6:57 am

Hello Chaitanya,

Very nice piece of information about Tcode COOIS.

I have same requirement for Tcode COHV, Can I follow the same approach as back end report for COHV is also
PPIO_ENTRY only.

If yes, which structure we need to append our custom structure that needs to be shown in COHV output.

Thanks in advance!

Regards,

Ramiz

Like(0)

Naga Chaitanya Challa | Post author

April 18, 2017 at 11:27 pm

Hi Giribabu,

You can try the same approach as back end report for COHV is also PPIO_ENTRY itself.

I need to check/debug COHV to con rm the name of the structure that you need to append your custom
structure. Could you also please try with F1 help/debug COHV output and check the BADI, for the name of the

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 21/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

standard structure to append your custom elds.

Regards,

Naga

Like(0)

Muthukumarran Balaguru

April 27, 2017 at 7:12 am

Hello Naga,

Greetings for the day!!

Nice document and Thanks for sharing,

Addition to this in COOIS report, already standard led/column is available i.e “Yeild to be con rmed” currently
it is displayed blank. The logic for the eld is Yield to be con rmed = Order quantity-[con rmed qty+ Con rmed
scrap+ Rework Qty].

Technically: structure IOOPER

CONF_QUANT= MGVRG – [LMNGA + XMNGA + RMNGA].

Please let me know how to proceed on this.

Thanks in advance for your support.

Regards

Muthu

Like(0)

Giribabu Sakala

April 19, 2017 at 8:42 am

Hello Naga,

Thanks for your fast reply!

I debugged COHV output and nd out a structure IOHEADER. But I am not sure on this. Can you check from
your end to con rm.

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 22/23
12/11/2020 Add New or Custom Fields to COOIS Output | SAP Blogs

Secondly, After appending customer speci c elds to standard structure (say IOHEADER) using ‘Append
Structure’ technique, do we need to see ‘Where used list’ of IOHEADER i.e. programs, function modules, classes
etc which is using IOHEADER structure will get disturbed or we get any error while executing those ? Could you
also please comment on this ?

Hope you got the question.

Thanks in advance!

Regards,

Giri

Like(0)

Zaberca David

March 12, 2020 at 12:09 pm

Hello,

Thanks for the information. There is a mistake at appending structure. You must append to IOHEADER, not
IOHEADER_DELAY.

Thank you

Like(0)

Find us on

Privacy Terms of Use

Legal Disclosure Copyright

Trademark Cookie Preferences

Newsletter Support

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 23/23

You might also like