Sei sulla pagina 1di 12

Step by step Add Custom Field (COOIS)

with BADI
AUTHOR: DEKA FANDESTIA | POSTED AT: 1:15 AM | FILED UNDER: ABAP

In this tutorial I will share how to add fields in transaction code COOIS (Production
Order Information System). Field to be added is WEMPF (goods receipt) and ABLAD
(Unloading Point).




- My first step would be to add custom fields.
for these additions, can be added at the table IOHEADER_DELAY.
open transaction code SE11, write IOHEADER_DELAY





so add field WEMPF and ABLAD.




- The second step is to edit the Badi. for this tcode SAPLCOISEXT I use the
program with (include) LCOISEXTU02







My next step will modify the program



Data Declaration



finally we have successfully added a custom field and now we will try tcode COOIS












COCR_CMX_BI_INFO
COIS_WO_INFO_DELAY1
COIS_WO_INFO_PREDEC1

Help text

BAdI: PP and PI Order Information System
Use

This Business Add-In (BAdI) is called in the application
components Information System (PP-SFC-IS), Order
Processing (PP-SFC-EXE) and Process Order (PP-PI-
POR).

Function group: COBADI

This Business Add-In can be used to fill additional
(customer-specific) fields in the order info system for
production orders and process orders. You can also react
to entries on the selection screen or the output list.


Raj


The BAdI comprises the following methods for the
selection screen:

Call in selection screen of the Order Information System
( AT_SELECTION_SCREEN)
This method is only called in the transactions that use the
report PPIO_ENTRY: COOIS, COHV, COOISPI,
COHVPI, CO04N, CO05N und COMAC.

The BAdI comprises the following methods for
representing the new transactions of the Order Info
System (COOIS, COHV, COOISPI, COHVPI, CO04N,
CO05N, COMAC, CO01, CO02, CO03, COR1, COR2,
COR3, CO78, SARA, SARI):

Processing of order and planned order tables
( TABLES_MODIFY_LAY)
Process detail lists
( DETAIL_LIST_LAY)
Process layout-based object overview
OVERVIEW_TREE_LAY
Call in the event of action on output list
AT_OUTPUT_SCREEN_LAY)

The BAdI comprises the following methods for
representating the old transactions in the Order
Information System (CO26, CO28, COID, COIO):

Processing of order tables
( ORDER_TABLES_MODIFY)
Processing of planned order tables
( PLANNED_ORDER_TABLES_MODIFY)
Call in case of action on output list
( AT_OUTPUT_SCREEN)
Processing of object overview
( OVERVIEW_MODIFY)


Requirements

To use your own fields, you must first define the fields in
the customer include for the relevant structure.

Standard settings

The Business Add-In is not active in the standard system.
The Business Add-In can be used several times.

Activities

To activate the Business Add-In, you must create an
active implementation. Note that the Business Add-In can
be used several times and all the active implementations
are therefore called and run through.

After you call the IMG activity, the system displays a
dialog box where you enter a name for the
implementation.

If implementations of this Business Add-In have already
been created, the system displays them in a dialog box.
You then choose one of them by choosing Create, and
continue as follows:

1. In the dialog box, enter a name for the implementation
of the Add-In and choose Create.
The system displays the initial screen for creating
Business Add-In implementations.
2. On this screen, enter a short description for your
implementation in the Implementation Short Text field.
3. If you choose the Interface tab, you will notice that the
system has populated the Name of the Implementing
Class field automatically, by assigning a class name
based on the name of your implementation.
4. Save your entries and assign the Add-In to a package.
5. To edit a method, double-click its name.
6. Enter your implementation code between the method
<Interface Name>~<Name of Method>. and endmethod.
statements.
7. Save and activate your code. Navigate back to the
Change Implementation screen.
Note: You can also create an implementation for an Add-
In and not activate it until later. If you want to do this, do
not perform the following step:
8. Choose Activate.
When the application program is executed, the code you
created is run through.
RESET N1

Along with the enhancement used to add customer-
specific fields, this BAdI can also be used to:

Prevent changes to the layout or selection of specific
profiles.
This prevents the display of critical fields, for example
(data protection).
Prevent the user jumping to mass processing (variant
SAP&HVOM) by choosing a different variant from the info
system (transaction COOIS, variant SAP&COOIS).


Note 806247 - COOIS: BADI for predecessor status
Summary
Symptom
This note provides a sample implementation for the Business Add-In
WORKORDER_INFOSYSTEM. The implementation presents only a proposal for how
to use the BAdI and not SAP functions.
As a result of this implementation, information on the three preceding
operations is added to the list of operations.
Other terms
PPIO_ENTRY, COOIS, COHV
Reason and Prerequisites
-
Solution
1. Use Transaction SE11 to create the CI_IOOPER customer include in
the IOOPER structure.
2. Add the IOOPER_PREDEC include to the CI_IOOPER customer include.
3. Use Transaction SE18 to copy the COIS_WO_INFO_PREDEC1 implementation
and activate all your changes.




Notes
Note 615176 - COOIS: BADI for predecessor status
Summary
Symptom
This note delivers an example implementation for the Business Add-In (BAdI)
WORKORDER_INFOSYSTEM. The implementation represents only a proposal for the
usage of the BAdI and not an SAP function.
You can activate or copy and change this implementation yourself.
As a result, information about the three previous operations is added to the
list of operations.
Other terms
PPIO_ENTRY, COOIS, COHV
Reason and Prerequisites
The implementation is delivered as inactive. To activate it, execute steps 2
and 3.
After you implement this note and activate the implementation:
If the operation list is called with a profile or layout that begins with PRE
or /PRE, the implementation is executed and the fields PREx_STATUS, PREx_STTXT,
PREx_QUANT, PREx_MGVRG, PREx_LMNGA, PREx_MEINH, PREx_SSEDD, PREx_SSEDZ,
PREx_IEDD and PREx_IEDZ are filled with the relevant values (whereby in each
case three structures exist with x =1, 2 and 3).
Solution
1. Use transaction SE11 to create the structure IOOPER_PREDEC in the
package COIS.
Set the enhancement category to "Can Be Enhanced, Character-Type
or Numeric-Type".
Add the following fields:
Component Component Type
Reference table, Reference
field
PRE1_STTXT CHAR40
PRE2_STTXT CHAR40
PRE3_STTXT CHAR40
PRE1_STATUS CHAR4
PRE2_STATUS CHAR4
PRE3_STATUS CHAR4
PRE1_QUANT CHAR4
PRE2_QUANT CHAR4
PRE3_QUANT CHAR4
PRE1_MGVRG MGVRG IOOPER_PREDEC PRE1_MEINH
PRE1_LMNGA LMNGA IOOPER_PREDEC PRE1_MEINH
PRE1_MEINH MEINH
PRE2_MGVRG MGVRG IOOPER_PREDEC PRE2_MEINH
PRE2_LMNGA LMNGA IOOPER_PREDEC PRE2_MEINH
PRE2_MEINH MEINH
PRE3_MGVRG MGVRG IOOPER_PREDEC PRE3_MEINH
PRE3_LMNGA LMNGA IOOPER_PREDEC PRE3_MEINH
PRE3_MEINH MEINH
PRE1_SSEDD SSEDD
PRE1_SSEDZ SSEDZ
PRE1_IEDD IEDD
PRE1_IEDZ IEDZ
PRE2_SSEDD SSEDD
PRE2_SSEDZ SSEDZ
PRE2_IEDD IEDD
PRE2_IEDZ IEDZ
PRE3_SSEDD SSEDD
PRE3_SSEDZ SSEDZ
PRE3_IEDD IEDD
PRE3_IEDZ IEDZ

PRE1_ARBPL ARBPL
PRE2_ARBPL ARBPL
PRE3_ARBPL ARBPL

Activate the structure (Ignore warnings).
2. Use transaction SE11 to display the structure IOOPER and create the
customer include CI_IOOPER by double-clicking CI_IOOPER.
Set the enhancement category of CI_IOOPER to "Can Be Enhanced,
Character-Type or Numeric-Type".
Add the following fields:
Component Component type
.INCLUDE IOOPER_PREDEC
Activate the structure (Ignore warnings).
3. Use transaction SE38 to execute the report RCNCT000 and enter IOPER as
the field string name and RCNOPER as the include name.
Choose "Execute" and then choose "Generate".
4. Use transaction SE38 to execute the report RCOTX000 and enter IOOPER as
the field string name (afterwards, choose F8).
Enter the following texts and save your entries:
Table Field 4 Texts
IOOPER INDEX_NODE

IOOPER PRE1_STTXT Status Text 1 Status Text 1 Status 1 Status 1
IOOPER PRE2_STTXT Status Text1 Status Text 1 Status 2 Status 2
IOOPER PRE3_STTXT Status Text 3 Status Text 3 Status3 Status3
IOOPER PRE1_STATU Status 1 Status 1 Status 1 Status 1
IOOPER PRE2_STATU Status 2 Status 2 Status 2 Status 2
IOOPER PRE3_STATU Status 3 Status 3 Status3 Status3
IOOPER PRE1_QUANT Quantity Variance 1 Quantity Variance 1 Quantity Variance 1 Qty Var. 1
IOOPER PRE2_QUANT Quantity Variance 2 Quantity Variance 3 Quantity Variance 1 Qty Var. 2
IOOPER PRE3_QUANT Quantity Variance 3 Quantity Variance 3 Quantity Variance 1 Qty Var. 3
IOOPER PRE1_MGVRG Operation Quantity 1 Operation Quantity 1 Operation Quantity 1 Op. Qty 1
IOOPER PRE1_LMNGA Confirmed Yield 1 Confirmed Yield 1 Confirmed Yield 1 Cnf. Yield1
IOOPER PRE2_MGVRG Operation Quantity 2 Operation Quantity 2 Operation Quantity 2 Op. Qty 2
IOOPER PRE2_LMNGA Confirmed Yield 2 Confirmed Yield 2 Confirmed Yield 2 Cnf. Yield2
IOOPER PRE3_MGVRG Operation Quantity 3 Operation Quantity 3 Operation Quantity 3 Op. Qty3
IOOPER PRE3_LMNGA Confirmed Yield 3 Confirmed Yield 3 Confirmed Yield 3 Cnf. Yield3
IOOPER PRE1_SSEDD Latest End Date 1 Latest End Date 1 Latest End Date 1 LatestEnd1
IOOPER PRE1_SSEDZ Latest End Date 1 Latest End Date 1 Latest End Date 1 Latest End Date 1
IOOPER PRE1_IEDD Actual End Date 1 Actual End Date 1 Actual End Date 1 ActEndDat1
IOOPER PRE1_IEDZ Actual End Time 1 Actual End Time 1 Actual End Time1 ActEndDat1
IOOPER PRE2_SSEDD Latest End Date 2 Latest End Date 2 Latest End Date 2 Latest End Date 2
IOOPER PRE2_SSEDZ Latest End Time 2 Latest End Time 2 Latest End Time 2 Latest End Time 2
IOOPER PRE2_IEDD Actual End Date 2 Actual End Date 2 Actual End Date2 Act. End2
IOOPER PRE2_IEDZ Actual End Time 2 Actual End Time 2 Actual End Time 2 Act. End 2
IOOPER PRE3_SSEDD Latest End Date 3 Latest End Date 3 Latest End Date 3 LatestEnd3
IOOPER


PRE3_SSEDZ Latest End Time 3 Latest End Time 3 Latest End Time 3 LatestEnd3
IOOPER PRE3_IEDD Actual End Date 3 Actual End Date 3 Actual End Date 3 ActEndDat3
IOOPER PRE3_IEDZ Actual End Time 3 Actual End Time 3 Actual End Time 3 ActEndDat3
IOOPER PRE1_ARBPL Work Center 1 Work Center 1 Work Center 1 Work Ctr 1
IOOPER PRE2_ARBPL Work Center 2 Work Center 2 Work Center 2 Work Ctr
IOOPER PRE3_ARBPL Work Center 3 Work Center 3 Work Center 3 Work Ctr 3
5. Use transaction SE19 to create the implementation COIS_WO_INFO_PREDEC1
for the BAdI WORKORDER_INFOSYSTEM in the package COIS.
Implement the source code for the method ORDER_TABLES_MODIFY
using transaction SNOTE (see below).
As of Release 600, use the method TABLES_MODIFY_LAY instead
of the method ORDER_TABLES_MODIFY.
6. Activate the implementation.

Potrebbero piacerti anche