Vous êtes sur la page 1sur 15

12/04/2018 Add New or Custom Fields to COOIS Output | SAP Blogs

Products
Products Industries
Industries Support
Support Training
Training Community
Community Developer
Developer Partner
Partner

About
About

Home / Community / Blogs + Actions

Add New or Custom Fields to COOIS


Output
October 7, 2015 | 3,854 Views |

Naga Chaitanya Challa


more by this author

MAN Production Planning (PP)

(add) | badi | coois | custom | fields | new | tables modify lay

share
0 share
0 tweet share
0 like
0

Follow

Add New Or Custom Fields To Transaction COOIS Output

USING BADI WORKORDER_INFOSYSTEM

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

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:

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:

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

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 fields for the COOIS
transaction output:

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


ZCOOIS_QALS_DATA

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

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

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:

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/20
12/04/2018 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/20
12/04/2018 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:

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/ 6/20
12/04/2018 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 field string name (a erwards, choose F8).

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

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

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)

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.

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

Input a name for the implemen ng WORKORDER_INFOSYSTEM. In this case, I created


an implementa on as ZENH_ADD_QALS_FIELDS.

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

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 )

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

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 fields.

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.

The logic for the current requirement is as follows:

https://blogs.sap.com/2015/10/07/add-new-or-custom-fields-to-coois-output/ 10/20
12/04/2018 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/ 11/20
12/04/2018 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 Declarations

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,
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,

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

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.

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

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

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 sure that these columns exist in the ALV output by changing the
layout se ngs.

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

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

Alert Moderator

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

Vous aimerez peut-être aussi