From:
http://www.solutions.sappmconsultant.com/2016/02/pm-order-additional-fields.html#.V6wTmeOx8oA
PM Orders Additional Fields
Here is the perfect document for big question "How to create the additional field on PM order".
Introduction
One of the very frequently asked questions in
this space, is about the subject matter, i.e., How can I add Custom fields
to my Maintenance Order? In the recent months the author had replied 3
times to discussions related to this topic. It is thought that this topic if
documented would be helping many.
Objective
This documentation is intended to enable the
readers to create the Custom fields in the Maintenance Order, update the Order
Master data Table and also display these fields in IW38 Order list output.
Part1
Create Custom fields in the Order Table
The table of our context is AUFK.
We need to append our Z-fields to this through the include structure namely CI_AUFK.
The process of creating any custom field
starts with creating a Data Element with desired Type and Length or with
desired Domain name and with the Field Labels we want to have for the Customer
fields. For our Demo, we have created Two Data Elements, namely :
1. ZCUSTFLD1 (Domain CHAR12
and Field Label 『Customer Field 1』)
2.ZCUSTFLD2 (Domain
CHAR40 and Field Label 『Customer Field 2』)
Now let us create our Customer fields Run Tcode SE11
--> give value AUFK in the Database Table field
-->Click on Display. Scroll-down to find include table CI_AUFK.
Double click on this, Go to Change mode and Add 2 new fields of our interest as
shown in the picture and Activate.
Part2
Enhancement and Screen-Exit
1, Create an Enhancement Project say ZPMORDER using Tcode CMOD
2. Assign Enhancement
IWO0018 to this project.
3. Click on
Components in the picture above to reach this screen.
4. Activate by clicking on the
Activate Icon (shown in picture above)
As we see here, there is One screen-exit (
screen 0900) and Two Function-Exits namely
EXIT_SAPLCOIH_018 and
EXIT_SAPLCOIH_019
in this enhancement. Double Click on this screen number to create a
Sub-Screen for holding our Custom Fields. You'll get this pop-up. Press
Enter and Continue.
You're in the screen below, where you'll give a Description, Select the
Subscreen Radio button,
Save and
Activate.
Click on Layout Arrow
in the Application Toolbar of (See the picture above) to reach the
Screen-Painter pop-up window, where we will be creating :
1. A Box to hold our Z-fields
2. Text Fields to for Z-field labels
3.
Input Fields for Z-fields
The input fields should be referred to the Dictionary fields we have just created. (AUFK-ZZCUSTFLD1 and AUFK-ZZCUSTFLD2)
See the picture.
Part3
1. Declare table AUFK
Declare table AUFK in the top include LXWOCTOP of Function group XWOC by Clicking on and creating the include ZXWOCTOP .
2. Codes to be given in Function-Exits
Go to the following screen of the User-exit
Double click on the Function-Exit EXIT_SAPLCOIH_018 and put the following code in the include ZXWOCU15.
*---------------------------------------------------------------------------------------------
MOVE-CORRESPONDING COCI_AUFK_IMP TO AUFK.
*---------------------------------------------------------------------------------------------
Similarly put the following code in the include ZXWOCU16 of the Function-Exit EXIT_SAPLCOIH_019.
*---------------------------------------------------------------------------------------------
MOVE-CORRESPONDING AUFK TO COCI_AUFK_EXP.
*---------------------------------------------------------------------------------------------
Now let's see the effect of work done so far.
Create a Maintenance Order (
IW31).
You will see an Additional Tab named Enhancement has been added here by
the system, in which our Custom fields appear with their labels and the
input fields.
Now let's add some values in these fields and
Save the
Order.
Run IW32, open the Order and verify whether the values are updated to
table or not. If they are appearing in the Enhancement tab as you have
entered and saved, this means the AUFK table has been updated with these
values when Order was saved.
Part4
Let's have these Custom fields in the Order list output namely the ALV of Tcode IW38
So far we have succeeded in creating our Custom fields and updating the
values to the Order Master data. Next natural requirement of a user
would be to have these fields in IW38 ALV screen. For this purpose we,
need to create an Append Structure in the Structure RIHAUFK_LIST, as
shown in the picture below. The
Tcode is SE11 again for this task. Here we have created an Append
Structure named ZCUSTFLD and in this structure we have added both the
Custom fields.
Now let's create one more Order, fill the custom fields with some values
and Save. The second order is to have ALV output in IW38. (Because
single Order in the output takes to
IW33 screen instead of ALV screen). Now run
IW38 with selection parameters to display these 2 orders we created. Click on the icon shown , You'd find the Custom fields in the
Column-set list, Bring them to
Displayed list on the Right hand side.
Almost Done
Now if you go to IW33, unlike all other greyed-out fields, the Custom
fields in Enhancement Tab will be seen Editable. Though there is no
provision to Save the edits here, you'd definitely like to have these
fields too in Greyed-out mode.
For this we need to write a small code in the PBO (Process Before
Output) module of the screen 0900 we have created. Double click on the
Screen number 0900 of the enhancement,
Now you are in the
Flow Logic Tab ,
Un-comment line MODULE STATUS_900. and D'Click on the STATUS_0900 of the
PBO module. Insert the following code between the MODULE, END MODULE
lines like this.
-------------------------------------------------------------------------------------
MODULE STATUS_0900 OUTPUT.
IF SY-TCODE = 'IW33'.
LOOP AT SCREEN.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDMODULE.
-------------------------------------------------------------------------------------
Lastly Do not Forget to
Activate the Function Group XWOC from Tcode SE80. Right click on the Function Group and click on the Activate option
Note
1. As this is largely a Technical job, it is recommended to be developed
through an experienced ABAPer, especially Part1 which involves
Activating the Standard table AUFK.
2. The Environment of Author is ECC 6.0 with no EHPs, hence the document applicability.
Thanks for this documents to Jogeswararao Kavala
Source: http://scn.sap.com/docs/DOC-54402