Quantcast
Channel: SCN : Document List - Enterprise Asset Management (SAP EAM)
Viewing all 842 articles
Browse latest View live

Permits (Part1)

$
0
0

In this document we will discuss what is the Permit and what are the types of it (Technical Permit)

 

Note:The below steps are applied on SAP ECC6.0  EHP6.0


Table OF Contents:

1- Introduction

2- Technical Permit

2.1 Create theTechnical Permit

2.2 Assign The Technical Permit To The Technical Object

2.3 Technical Permits Influences The order

 

1- Introduction

Permits are created for the Maintenance Order to:

  1. Adhere to health and safety regulations
  2. Control order processing (Release - Completion<TECO>)


There are two types of permits:

  1. Technical Permits (assigned manually to the technical objects (Equipment - Functional Location)
    • If an order is created for the technical object, the permits are copied to the order and can influence the order release Or completion<TECO> (Depends On Your settings)

   2. Process-Oriented Permits (automatic assignment to the order)

    • e.g. -> when creating a maintenance order with an order type and an activity type , the permits are copied to the order and can influence the order release Or completion<TECO> (Depends On Your settings)


2- Technical Permit

Steps:

  1. Create The Technical Permit
  2. Assign the Technical Permit To The Technical Object
  3. Technical Permit Influences The Order

 

2.1 Create The Technical Permit


SAP ECC Menu: Logistics -> Plant Maintenance -> Management of Technical Objects -> Environment -> Permits

T Code: IPMD


Click On (Create/Change) Button To Enter The Change Mode

1.jpg

Then

2.jpg

3.jpg

  • Permit (Code): Char(10)
  • Permit Text : Char(30)
  • Permit Category : Used for grouping the Permits -> Defined In Configuration
  • Order Release : Used when you want to Control order processing (Release)
  • Order Completion (TECO):  Used when you want to Control order  Completion
  • The Possible Options in The Order  Release or Completion Fields:

4.jpg

  • The 1st Option -> when you release the order, a warning message appears but if you pressed Enter, you can continue processing the order
  • The 2nd option -> The order can not be released until the authorized user issue (Approve) the permit
  • The 3rd Option -> No Warring Message,  just check the permits

 

  • Not Modifiable Field: Used when you select the 2nd option as the user can not flag (Dimmed) the button not relevant (Ignore The Permit) when the permit influence the order  as The Permit must be issued by the authorized user

 

Note: We Will Work On Order release


2.2 Assign The Technical Permit To The Technical Object

Note: We Will Assign The Permit To An Equipment -> T Code: IE02

5.jpg

  • Choose Your Permit that is created from the above Step

6.jpg

7.jpg

You can assign more than one technical permit to the equipment


2.3 Technical Permits Influences The order

When Creating a maintenance order for the equipment which the permit has been assigned to it:

1- If you used the 1st option in the permit (Permit to be issued after warning)

when you release the order, a warning message appears but if you pressed Enter, you can continue processing the order

8.jpg

2- If you used the 2nd option in the permit (Permit Must be issued else Error Message)

The order can not be released until the authorized user issue the permit

9.jpg

  • You Can Issue the permit from the order(IW32) or From T Code IPM2 -> we will issue from the order

10.jpg

  • Select the permit Then The Issue Button
  • NR (Not Relevant is Dimmed) -> as I set the flag of Not Modifiable in the permit as any one can not ignore the permit

11.jpg

 

  • The Permit is issued (You Can now Release The Maintenance Order)

12.jpg


3- If you used the 3rd option in the permit (Permit Must not be issued )

No Warring Message,  just check the permits  From The permit Button

13.jpg

 

Note:(I_Sogen) is the authorization object related to the permit (The User that will issue the permit)

  • The Authorization Object Fields:
    • Permit Key (Permit)
    • Maintenance Plant

 

Note: The authorized user can reverse the Permit (Cancel the issue) only before the order being Released or TECO (Depend on your settings)


Permits (Part2)

$
0
0

In this document we will discuss the Process Oriented Permit 

 

Note:The below steps are applied on SAP ECC6.0  EHP6.0

 

1- Introduction

Process-Oriented Permit is assigned automatically to the Maintenance Order

e.g: when creating a maintenance order using an order type with an activity type , the permits are copied to the order and can influence the order release or completion (TECO) ->  (Depends On Your settings)

 

In our example we will create a permit that control the order release when creating an order with:

  • Order type: PMM1 and Activity Type: A02 0r A03

 

2- Steps :

2.1- Create two characteristics that represent (Order Type - Activity Type)

2.2- Assign the two characteristics to the permit class (PM_Permit)

2.3- Create the permit


2.1- Create Characteristics (T Code CT04)

  • Enter the Name of The Characteristics Then create button

1.jpg

 

  • Go To Addnl Data TAB & Enter The Table Name that contains the field (activity type) & The Field Name (Activity Type)

2.jpg

  • An information message appear

3.jpg

  • The Format of the field which is taken fro ABAP

4.jpg

  • Then Choose the Value Assignment

5.jpg

  • Single Value: only one value (For The Field) can be assigned to this characteristic.
  • Multiple Value: more than one value (For The Field) can be assigned to this characteristic.

 

  • Then Enter The Values Of the Activity Type

6.jpg

Then Repeat The previous Steps To create characteristic for the order type


-----------------------------------------------------------------------------------------------------------------------------------------------

 

2.2- Assign the two characteristics to the permit class (PM_Permit)

  • T Code : CL02


  • Put The Name of The Permit Class (PM_PERMIT) Then Change button

7.jpg

 

  • Go To The Char TAB to assign the two characteristics which are created above

8.jpg

 

------------------------------------------------------------------------------------------------------------------


2.3- Create the permit -> T Code: IPMD

9.jpg


  • After filling the below fields press the button classification to assign the Value of the characteristic (Fields ) To the Permit

10.jpg

11.jpg


Note :The Relation Between The two characteristics is AND

Means when the values A02,or A03 (Multiple Assignment ) & PMM1 are entered in the order will prevent the order from release

 

 

Note: Below are the table and the fields related to the permit when creating characteristic(s)

  • The Table Name: CSEVPERMIT

Field

Description

AUART

Order Type

ILART

Maintenance activity type

PRIOK

Priority

IWERK

Maintenance Planning Plant

INGPR

Planner Group for Customer Service and Plant Maintenance

GEWRK

Object ID of the Work Center

WARPL

Maintenance Plan

WAPOS

Maintenance item

PLKNZ

Maintenance order planning indicator

TPLNR

Functional Location

EQUNR

Equipment Number

BAUTL

Assembly

SERIALNR

Serial Number

SERMAT

Material Number

SWERK

Maintenance plant

STORT

Location of maintenance object

MSGRP

Room

BEBER

Plant section

PPSID

Object ID of PP work center

KOKRS

Controlling Area

PRCTR

Profit Center

BUKRS

Company Code

GSBER

Business Area

ANLNR

Main Asset Number

ANLUN

Asset Subnumber

IKOSTEN

Total(actual) maintenance costs

PKOSTEN

Total plant maintenance costs (planned)

USER4

Total maintenance costs (estimated)

WAERS

Currency Key

 

Note: Intervals in the characteristic values are written in the following format

Value1 - Value2

(from Value1 to Value2)

>Value1

(greater than Value1)

>=Value1

(greater than or equal to Value1)

<Value2

(less than Value2)

<=Value2

(less than or equal to Value2)

>Value1 - <Value2

(greater than Value1 and less than Value2)

Value1 - <Value2

(greater than or equal to Value1 and less than Value2)

>Value1 - Value2

(greater than Value1 and less than or equal to Value2)

Basic Questions that helps in PM implementation estimation

$
0
0

How maintenance is planned within your company?  De-Centralized, Centralized or Partial Centralized?

How is capacity planning performed in your maintenance plants?

Are certain types of maintenance work planned or executed with consideration to the plant sections?

Do you subdivide your maintenance plant in locations to facilitate the maintenance job or for purpose of reporting?

How is maintenance work organized?

How are the maintenance teams / labor resources organized?

How are your technical systems structured?

What types of technical objects do you handle (Types of Equipment and functional location)?

Is the hierarchy for functional locations structured according to spatial, functional or technical viewpoints? Is Real Estate objects are integrated?

How detailed should the functional location hierarchy be (for example, number of levels, installation and dismantling of equipment)?

Do you link documents to functional locations/Equipment?

Do you need to record the performance of functional locations using measuring points and counters?

Do you track warranties/Guaranties?

Are your technical objects classified (Class/Chars) used in you company?

List and describe the different categories of equipment/Functional Location that you maintain.

How many equipment and functional location you manage in your system?

Do you use Object part, Damage, Cause and Activity analysis?

Do you use Fleet Maintenance process?

Do you use Equipment BoMs? Whats the volume of data?

What types of Task List do you use? Whats the volume of data?

Do you use Maintenance Plans (for example Time based or Performance based or both)?

What maintenance type do you do (for example Breakdown, Corrective, Calibration, Refurbishment, Preventive etc.)?

Do you have any third party system integrated with SAP PM?

How do you settle the cost and how you see the cost reports on Equipment and Functional location?

Which reports do you use in SAP PM?

Calling Reports from an Infoset Query

$
0
0

Introduction

The first usual improvisation requirement in self-made Infoset Queries by beginners, is often the requirement of calling other reports from ALV output, just the same way we do in Standard reports.  In ABAP-coded Z Report Programs, there are several techniques of achieving this by syntax like Call Transaction,Submit etc.

 

The very objective of this documentation is to achieve the same. This topic was briefly discussed in the document 10 Useful Tips on Infoset Queries. But, when the author experienced few exceptions in the technique suggested there and found a solution subsequently, he got the idea of having an exclusive document on this topic.

 

This document has assumption that readers have working knowledge in developing Infoset Queries.

 

Here we Start

We have seen earlier, that for enabling Report Calling from the ALV output of an Infoset Query, we need to do these steps in SQ01.

 

Note: If your Report Assignment option is found disabled, then the reason and setting to restore is here: How to make 'Report assignment' available in 'SQ01'

 

 

Click here on   then on then select  TR (Transaction Code) or RT (Report Program),

 

  1. When we select TR we need to put only the Transition code.

     


Example:

IE03 if our ALV lines are having Equipment field and we want Equipment Master display upon clicking on the ALV row.

 

If we have a Maintenance Order Number in the ALV, and we want to have Display Order Screen upon clicking on this row, then we give the Tcode IW33 here.

 

     2.  In the other case, when we want to call List Reports like IW37 , then we need to select RT in the Report type, where we need to give the

          Program  name (in this case RIAFVC20) in the Report field  and the variant name.

 

        

 

So far, it looked very much OK, until I found recently that few field names like EQUNR, MATNR, DOKNR etc, do not exhibit the desired behaviour.


Few cases  where this call report was not working are discussed here.

In one of my Queries, I have Material number (MATNR) in the ALV output, for which I used Report Type TR with Tcode MM03, for the purpose of  Material Master Display. What happened here, was no Material number was passing to the MM03 initial screen, so the display interrupted, In another case, the first attempt display was coming, but the next attempt on different material line in the ALV, the material master display of the first attempt was repeating. Broadly there is a technical problem in passing the Material number.

 

Another such case was with the Tcode CV03N  (Display of DMS Document) , where the DOKNR, DOKAR field values were not passing to the CV03N initial screen.

 

Here is the solution I worked-out, using the QUReport Type of Report Assignment


We are taking the MM03 case

As mentioned above, the report Type QU (Query), in the Report Assignment came to rescue.

This option has 3 fields.

 

First field (User Group):  You know, your User Group.

Second field (Query): We need to develop a simple query for this field.

Third field (Variant): Optional.

 

So, what required was that a simple Infoset query using MARA table (Material Master) to be created.

And this Query name, was given in the field 2 above.

 

Let’s see the steps of creating the simple Query for Report Assignment purpose.


SQ02

We are Creating an Infoset (I named it MM03) with Direct read of table option.

This is because, we use only one table.

 

Select this default option, and Continue.

 

 

With this the Key field MATNR is added to the Field Group folder in the Infoset.

And in the Infoset Code Section, give the following code

untitled2.jpg


  Generate Infoset and do not forget to assign it to your User Group.


SQ01

Create a Query (Say MM03) using the above Infoset.

Note:

This query name is going to be used in the Report Assignment.

 

Go to Basic list screen and Tick the MATNR field in the List fields column.

untitled1.jpg

Save the Query.



Testing.


Here we are examining, the behaviour of 3 cases of Report Assignment)  in the ALV output of an Infoset Query.

 

We know that when multiple Call report assignments are there in the query, then the options appear as a menu as shown above, upon clicking on a row.

 

  • Here the first option in the menu namely Display PM Order, is that where I used report type TR and given Tcode IW33,
  • Second one, namely Report Assignment MM03 is through Report Type QU with Query field value MM03 (created as explained above)
  • Third one was the option which was malfunctioning i.e., Report Type TR and Tcode MM03

 

Now when tested, the first option with TR report-typeworks satisfactorily, without any problem, passing the Order number (AUFNR) correctly everytime.

The third option, again with report type TR works erratically, unable to pass material number (MATNR) correctly.

The second option is our solution to the erratic behaviour of MM03 through TR report type. i.e., through QU report type. This works very correctly like the first case.

 

In the case of Display Equipment (IE03) , the above method would work, with the following code in SQ02.

PARAMETERS:

EQUNR LIKE EQUI-EQUNR.
SET PARAMETER ID 'EQN' FIELD EQUNR.
CALL TRANSACTION 'IE03' AND SKIP FIRST SCREEN.
EXIT.

 

So that is about the Problems and the Solutions

 

As referred in the beginning, another parameter which gave trouble in calling reports through report-type TR was, DOKNR (DMS document number).

I have solved this issue too in a similar manner.  The transaction called was CV03N. The code used in the Infoset is given below.

draw.JPG

 

Note

See the Syntax used  PARAMETER ID  in the syntax used in both the cases above.

The Parameter Id used in MM03 case was, MAT,  and in the CV03N case was CV1  and CV2.

MAT is the Parameter Id for field MATNR, CV1 is for DOKNR and CV2 is for DOKAR.


This parameter-id is the key factor for any Call report to function properly.

 

Where do we get this?

For example for MATNR, place cursor in MATNR field of any screen, and press F1 on key-board. The pop-up has this value.

Similarly for any other field.

 

That’s everything I think, about this document.

 

The author hopes that this document also will be useful to the members, the way the  other documents by the author, in the series of Infoset-queries.

 

Thank you

Jogeswara Rao K



05/11/2015:

A tip in this context of Report Assignment.

Recently I made 3 ALV reports using Query for Equipment, Functional Location and Material BOMs . And then I was trying to use Report Assignment in the SQ01 of Equipment BOM. i.e., I was trying to call ALV report of Material BOM, when we click on the Component material field of Equipment BOM ALV. My issue was it was not taking to that report. I analyzed the reason to be:The BOM Component field (IDNRK) does not have a ParameterId on which the Report Assignment function depends.


What I did:

I created a user field MATNR in the Infoset Query by giving data type MARA-MATNR which has a Parameter Id MAT, and the equated that to BOM component (IDNRK) field. Means I gave code in the Code area of this user-field MATNR as: MATNR = STPO-IDNRK.

Then I took this user-field to SQ01 and then to List fields (ALV). Now I thought that the ALV has PID, and the Report Assignment would work. But it was not working. Then  I realized the reason to be that as long as IDNRK field is there in ALV it would not work. I removed the IDNRK field from ALV. I already have the values of BOM component material values in my user-field MATNR. But then I has to remove the text field also associated with IDNRK field from the ALV. Now it worked. Now it is taking me to the Material BOM report assigned in the Report assignment when I click on any ALV line of the Equipment BOM, when that material has got a BOM of it own.

But I lost the Component Description field which I had to remove alongwith IDNRK field from the ALV. So what I did was I created another user-field MAKTX in SQ02 and in its code retrieved the Description field from MAKT table. ( Select single maktx from makt into maktx where matnr = stpo-idnrk.). Now I took this MAKTX field also to SQ01 and to List. So I got back the lost fields also and finally made the Report assignment to work.


Again with a view not to lose this information by memory erosion and for the benefit oft he forum I'm preserving here.

 

Regards

KJogeswaraRao


ITOB0001, ITOB0003 : User-Fields in Equipment, Functional Location, Fleet Masters

$
0
0

Introduction:

Requirement to have Additional User-Fields in various Tabs of Equipment, Functional Location or Fleet Masters is very common. Though there is a hassle-free way of having the Z-fields through Class and Characteristic way, it has got its own limitations like unable to become a part of Standard reports.

 

In this article, the User-Exit way of having these custom fields has been elaborated.  Enhancement ITOB0001 has been demonstrated here. The process will be same for ITOB0003 (Fleet Master).

 

While trying to achieve this by joining the information pieces available in the forum and outside, the author spent sufficient time to achieve all requirements related to this.

 

Objective:

At the end of this article we will be able to:

  1. Create our own fields in the Equipment, Functional Location or Fleet Masters
  2. Input values and save these values to the related Database Tables
  3. Edit these values through Tcodes IE02, IL02.
  4. Will have these fields in standard reports like IH08, IH06, IE37.

 

 

Here we go (ABAP Workbench)

 

Step 1 (Preparation of EQUI Table)

Let’s suppose we are intending to have 40char long  field, named PO Number into the Equipment Master.

1st step is to create this Z-field into the include table of EQUI table.

For this run Tcode SE11, Give value CI_EQUI and Go to Change mode. Add a Z-field  in this table say ZZITO_PONO

with component type TXT40 (for 40char long field). Activate table.

ci_equi.JPG

Note:

Here I want to share a vital information with the readers. i.e., as long as I tried this task with field names like ZZPONO etc, it never worked. And there consumed lot of time.  Then at some place I read about the SAP note 594757, which states that without a prefix ZZITO_  to theCustom fields, this task would not be successful.

 

Next,  we need to add this field ZZITO_PONO, also to the include table CI_EQUI _U  with component type IIND (Char1). Do it in the same way as above (through SE11). Activate table.

CI_EQUI__U.JPG

With this we completed adding our Z-field to the database table EQUI  (through its include tables)

 

 

Step 2 (Enhancement – Create Sub-Screen)

Create a project ZPMEQUIPthrough Tcode CMOD and assign the Enhancement ITOB0001.

cmod.JPG

 

Now Run Tcode SMOD with value ITOB0001 and click on Test button.

SMOD.JPG

See here, we have 2 Function-exits and 5 Screen exits. Let’s select the first Screen, namely 1000 .  Double click on this and Create a Sub-Screen through the steps there on.

 

screen layout.jpg

Now Click on Layout Arrow above to go to Screen Painter and Create your Fields here. In our case we are creating One field.

Layout.JPG

As shown in the picture , drag the 'T' icon to the screen are to create a Text field and name tis field as 'PO Number'.

Similarly drag the icon below to create an Input/Output field and Give the Dictionary address to the Input field i.e., EQUI-ZZITO_PONO .

(I hope you recall that this is the field we have created in EQUI table in the step1)

 

 

Step3 ( Enhancement – Give Codes in Function Exits)

We  have 2 function Exits, namely

EXIT_SAPLITO0_001

EXIT_SAPLITO0_002

 

The first Exit imports the Z-field values from the EQUI table to the Equipment Master

The second one exports Z-field values from the Equipment Master to the EQUI table.

 

Now the codes to be written in the Exits. 


Write following code in the include (ZXTOBU01) of function-exit EXIT_SAPLITO0_001.


TABLES: EQUI.
E_SUBSCREEN_NUMBER =
'1000'.
I_OBJECT_TYPE =
'02' .
I_ACTIVITY_TYPE =
'3' .

EQUI-ZZITO_PONO = I_DATA_EQUI-ZZITO_PONO.

 

 

Write following code in the include (ZXTOBU02) of function-exit EXIT_SAPLITO0_002


E_UPDATE_DATA_EQ-ZZITO_PONO = EQUI-ZZITO_PONO.
E_UPDATE_FLAGS_EQ-ZZITO_PONO =
'X'.

 

 

Step 4 (SPRO  Preparation)

 

  • Navigate to this section of SPRO.

spro1.JPG

 

  • Select Screen Group (Equipment) on the right (Profile Standard) and D’Click on the Activity and layout of views on the Right.

spro2.JPG

 

  • Give value 150 in the line of desired Tab page of Equipment Master.

spro3.JPG

 

  • Assign this profile (in this case Standard) to the intended Equipment Category, through this setting.

spro4.JPG

 

After this SPRO setting, you will be able to see your Z-Field at the bottom of the Organization Tab page  of that particular Equipment Category. Verify by running IE02 / IE03 transactions.

ie02.JPG

 

Try by inputting a value, Save and rerun IE02 and verify your value is stored or not.

 

In fact, the part of Step3 above ( coding in the Exits ) did not work as long as I did not come across the above referred SAP note. After using the prefix ZZITO_ to the Z-field these codes started working. values inserting.

 

Almost done

 

Now if you go to IE03, unlike all other greyed-out fields, your Z-field will be seen Editable. Though there is no provision to save the edits here, you’d definitely like to have this too in Greyed-out mode.

 

For this we need to write a small code in the PBO (Process Before Output) module of the screen 1000 we have created.

Double click on the Screen number 1000 of the enhancement, (you are in the Flow Logic Tab) ,

Capture.JPG

D’Click on the STATUS_1000 of the PBO module. and insert this code between the MODULE, END MODULE lines like this


MODULE STATUS_1000 OUTPUT.
IF SY-TCODE = 'IE03'.
LOOP AT SCREEN.
SCREEN-INPUT = '0'
.
MODIFY
SCREEN.
ENDLOOP.
ENDIF.

ENDMODULE. 

 

 

Related discussion:

Configure field selection for equipment user-fields

 

 

Lastly Do not Forget to

Activate the Function Group  XTOB  from  Tcode SE80.  Right click on the Function Group and click on the Activate option

se80.jpg

 

 

Now the Last Step.

 

Step 5 (Have this Z-field in the Standard Report , in this case IE05, IH08)

To have our Z-field in IH08 output, first we need to know the structure of this report output.

For this click on any cell in the ALV screen and press F1 key.

f1help.JPG

Here click on the Technical Information icon. The resulting pop-up will show you the Structure against field name Table. Here the Structure is RIHEQUI_LIST .

Now through SE11 go to the above Structure, Click on an Append Structure on the Application toolbar and Create an Append structure having this field. Activate table.

rihequi_list.JPG

Now Run IH08 and see in the output list in the Column Set (thelist not displayed). You should find this field PO Number.

Often you do not find this. It is time to clear ALV buffer through program BALVBUFDEL.

For this run Tcode SE38 give the above program and hit Execute.

Now run IH08 again and verify, your field is there.

 

 

Note:

This work is with a larger objective in mind to avoid re-inventing the wheel after sometime and at the same time providing the Total Solution about this task at one place.  This work involves Appending structures and Activation of Tables, which should be done by experienced ABPAers only.

 

Also this work can be extended to Functional Location Masters with the same enhancement used above and to the Fleet Masters with enhancement ITOB0003.

 

..and I feel it is important to mention the version I experienced all these and documented, it is ECC6.0 no EHPs.

 

 

Hope members find this useful.

 

 

Thank you

Jogeswara Rao K

IWO10018: User Fields in Maintenance Order

$
0
0

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.

 

Let's Start

 

 

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.

1.JPG

 

As seen in the picture, we have created Two Customer-Fields namely ZZCUSTFLD1 and ZZCUSTFLD2. It is essential for all Customer fields used in Enhancement purposes to be prefixed with ZZActivate the Structure.

 

 

 

Part2

Enhancement and Screen-Exit


1, Create an Enhancement Project say ZPMORDER using Tcode CMOD.

2.JPG

 

2. Assign Enhancement IWO0018 to this project.

3.JPG

 

3. Click on Components in the picture above to reach this screen.

4.JPG

 

4. Activate by clicking on the Activate Icon (shown in picture above)

5.JPG

 

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.

6.JPG

 

You’re in the screen below, where you’ll give a Description, Select the Subscreen Radio button, Save and Activate.

7.JPG

 

Click on LayoutArrow 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

8.JPG

The input fields should be referred to the Dictionary fields we have just created. (AUFK-ZZCUSTFLD1 and AUFK-ZZCUSTFLD2)

See the picture.

9.JPG


Activate.


 

 

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 .

ZXWOCTOP.JPG

 

 

2. Codes to be given in Function-Exits


Go to the following screen of the User-exit

14.JPG

 

 

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.

10.JPG

 

Now let’s add some values in these fields and Save the Order.

11.JPG

 

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.

12.JPG

 

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.

13.JPG

 

 

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,

14.JPG

 

 

Now you are in the Flow Logic Tab ,

15.JPG

 

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 GroupXWOC from Tcode SE80. Right click on the Function Group and click on the Activate option

16.jpg

 

...... and thus we reach to the end of this knowledge sharing Documentation.

 

 

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.

 

Expecting this document too would be of use to many of the members,

 

See also these related posts

How To add Custom Fields as Selection Inputs to IW38/39

Defaulting a value to the Custom Field

 

 

 

Thank you

KJogeswaraRao

A glossary of dates fields on Service Order.

$
0
0

Service order has many date fields which capture the timing of planning and execution. More often than not the name of field does not convey the actual meaning. Via this document I    have tried   to build a quick reference of Service Order date fields.

 

Actual Start date:  It is the start date of first operation in Order.It does not get filled till we do the first confirmation on the Order. I would like to clarify that the First Operation does not mean the first operation in numerical sequence but the first operation which gets confirmed. The first Actual start date of an Operation flows is also the Actual Start date of the Order. In short this field captured the real start of work (Actualignores scheduling and goes with confirmation off course  that is why it is an Actual).



Actual Order Finish date:Similar to Actual start date the Operation finish date is populated as soon as the Operation is confirmed, only difference is in case of Order it is associated with the confirmation of the last operation. .For some reason if we choose not to record the confirmation for the Operation which has confirmation required in configuration and do the TECO, we miss the Actual Order Finish date, because Actual Order Finish date is very closely linked to confirmation of the last operation in time sequence.

 

Actual Release date:This is the Release date of an Order meaning when the system status of the Order has changed from Created to Release. If the order does not get released due to some issue (attains Release rejected RELR) then the value is not stored.

 

Available from date/Available to date: I am unable to determine the business logic behind these two fields. While trying to find its usage, I see them used in just one class "CL_EX_ES_MUL_LIST_TZ_CORE_IMPL" which appears to be more of a technical class (handling session programming) instead of having any business logic. I would like peers to comment on these two fields.

 

Basic Start/Finish Date:These are the most important date field on the Service order, as it contains the input required to initiate the scheduling. These dates are closely linked to Scheduling Type and used in scheduling to determine the start and end of Operations. So the key purpose of these fields to arrive at the schedule for each operation. Operation not having any duration are ignored are ignored in calculation.

 

Change date:This field stores an Order change date. The description of the field states “Change date for Order Master”. Order Master is AUFK and the field is updated regardless of changes done at AUFK or AFPO, RESB etc. (I have tried these three basic tables). There could be exceptions where this field is not updated despite changes done in IW32 but not to my knowledge.

 

Note: The label “Change data for Order Master” does not seem the best possible description of the field.

 

Created on:It is the date on which Order is created.

 

History from: It is stored on Maintenance Orders which are archived through Order archiving process. It contains the date on which the archiving was executed. This field will get the value after archiving so we can see it populated only on historical orders.

 

Period (Service Order Selection screen):If we take literal meaning of this field we understand it is a range. This mapping of period to a field in order Header is unclear from field label. This field acts as selection range for all the Orders which has reference date falling in the period specified. It refers to reference date on the Order.I have explained the significance of Reference date later in this document.

 

[I am sure we could have done better with the naming of this field as “Period” does not signify the business meaning]

 

 

Purchase Order Date:This field can contain the PO related date. At times we get the date on which Customer created and sent a PO for repair. This is one of the freely available fields which can be used to store the date if we want to store the information related to PO.As It is not linked to Purchase Order Technically and can store a value independent of Purchase order.

 

 

Reference Date:It contains two dates over the life cycle of the Order. If the Order is not completed it contains Order start date but once the Order is complete it store the technical completion date. It is also the date which gets referred in Period field on Order selection screen (T code IW73).

 

Scheduled Start/Finish date: It is the planned start date of first operation and the value is derived as soon as scheduling is executed. The calculation is primarily dependent on Basic dates, scheduling type and duration.

 

Note:Whenever an operation is dropped and scheduling is re executed the scheduled date changes. 

 

Though I have not seen the practical usage of each field above, this is my high level understanding of date fields  based on experience and search. If you have reached till this line then feel free to provide your feedback on document, I will be more than happy to incorporate any contextual missing information.

 

Anjan

Background Job Scheduling for IP30 (RISTRA20)

$
0
0

Introduction

As soon as I'm done with my step-by-step reply to a discussion on the subject matter recently, I realized that this long reply comprising of several Screen-captures possesses the characteristics of a Document. So I thought of converting it into a Document, so that members will be benefited from this frequently asked query.

 

Topic dealt here is for IP30 (program RSITRA20), but this method is valid for other programs too for background scheduling.

 

Here we see, how to do:

 

Step1. Create IP30 Variant.

- Run IP30,

- Give your Plan (here it is ABC123 ) in the Maintenance Plan field   (Do not forget this step)

- Click Save Button and in the resulting screen give the Variant name,

- Optional:- Tick  Only for Background Processing and Save again.

1.jpg

 

So we have just created a Variant named TEST for IP30 .

 

Note:

This variant will not be available for changes in IP30 Tcode, because  'Only for Background Processing' has been ticked.

For changes of this Variant, you need to Run SE38, give RISTRA20 in Program field, select Variants radio button, and then click on Display,

ClickF4 help in Variant field  and click Change.

 

 

Step2.  Create Background Job - Run Tcode SM36

Give Job Name and click Start Condition (See Picture)

2.JPG

 

A pop-up is displayed.

Follow the steps 1 to 7 given in Picture .

(Here it is assumed that you want the RISTRA20 program to run at midnights of everyday)

3.JPG


Click SAVE again


You will be given a pop-up.

4.JPG

Enter ABAP Program Name (Here it is RISTRA20) and the Variant (we know it is TEST), and SAVE.

(Steps 1,2,3 in the above picture)

 

You will be here:

5.JPG

Do not do anything, Click Back arrow and


SAVE

 

All Done

 

Now to see the schedule -

Run SM37 and Execute. (Give Current Date as FROM date and Date after 2 days as TO Date)

Execute to see a screen like this, where your Job is seen scheduled to be run at Midnight of Every Day. (According to the settings in picture 3 above)

6.JPG

During Scheduling, the Status changes from Released to Active andafter Scheduling it turns to Finished.

Hope members will be benefited by this post.

 

Thank you

Jogeswara Rao K

 

 

This document was generated from the discussion: Job Scheduling and activate for Maintenance Plans and modified to be a Document for general relevance.


Measurement Reading Transfer – A useful functionality

$
0
0

Introduction:

This document is about the field marked below in the  IK01 transaction screen. I'm sure many of us have noticed this, but yet to explore .

1.JPG

 

 

 

Let's consider TWO Dumpers as Equipments and their Tyres as Sub-Equipments for our Demo:

 

1.JPG

Two Dumpers, with SAP Equipment Ids V-1000 and V-1001, each having 6 Tyres as shown above.

 

V-1000 with tyres say TYRE0001, TYRE0002, TYRE0003, TYRE0004, TYRE0005, TYRE0006

And

V-1001 with tyres say TYRE0007, TYRE0008, TYRE0009, TYRE0010, TYRE0011, TYRE0012

 

(External numbering is used for easy understanding)

 

Each Dumper above has a meter showing the number of hours it operated.

 

 

 

The Objective

When we record a reading from the above meter  in the SAP system (using IK11, on a Measuring point), the counters of the 6 Tyres installed in this vehicle at this time, shall be automatically updated.

 

This means when we create one measuring document on the vehicle, system should create a total of 7 (1 + 6) , measuring documents so that the usage hours flow from the Vehicle counter  to the Tyre counter.

 

And then, when a Tyre is dismantled from one vehicle and installed in the other, the Tyre counter should derive its own usage hours from the present vehicle counter readings.

 

 

 

Let’s see how this happens:


 

Part1:

Preparing the Masterdata:

 

First let’s  have a characteristic RUNNINGHOUR as shown below (Tcode CT04).

1.JPG

 

Using this characteristic RUNNINGHOUR, let us create the measuring points, on the Vehicles first.

 

V-1000

1.JPG

 

V-1001

1.JPG

 

 

 

Now we need to create measuring points on all the Tyres. A sample screen is …

1.JPG

 

Compare the measuring point screen of Vehicle and the Tyre. The difference is the Red Box.

Remember all these measuring points are based on characteristic RUNNINGHOUR.

So we create 12 measuring points in a similar way, one for each Tyre.

 

Below is the IK07 screen,  where you can see at a glance, the measuring points we have created.

Notice that Transfer support‘X’ mark is there for all the 12 Measuring points of Tyres.

1.JPG

Now install Tyres under the Dumpers  V-1000 and V-1001 (Superior Equipment), using Tcode IE02.

 

Example:

Tyre: TYRE0001.

When we try to define the Superord. Equipmentas V-1000 (in the Structure Tab of IE02 )  wel get this screen.

 

1.JPG

System is asking for your confirmation for Transfer of Readings from the Superord.Equipment (V-1000 in this case) to the Tyre (TYRE0001).

 

Click on Copy  and Save the Equipment master.

In a similar way install all the Tyres under the respective Dumpers.

 

As mentioned above, the initial set-up will have is:

Dumper V-1000 as SuperOrd. Equipment for Tyres TYRE0001 to TYRE0006 and

Dumper V-1001 as SuperOrd. Equipment for Tyres TYRE0007 to TYRE0012.

 

Everytime we need to confirm Copy during Equipment installing under the Superord. Equipment.

 

Now the following is the Equipment tree we have just made.

1.JPG

 

The Masterdata preparation is completed.


End of Part1 ------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

 

Part2a:

Create Documents and understand the working of Transfer Support.

 

It is time now to see what happens when we record Dumper Hour Meter readings through IK11.

Create a measuring document on measuring point 3113 (Equipment Tyre0001), with reading 1000.

 

Let’s assume that the Dumper V-1000 operated for 1000 hours and its meter is showing a value 1000 Hours. We now create a measuring document to record this value.


Note:

Remember that we get the Cumulative Operating Hours from the Dumper Meter. So, we need to put this reading in the Counter Reading field of the IK11 screen.

1.JPG

When we save this document, we  see this message on the task bar.

1.JPG

This is exactly what we expect from the system. As explained above 1 document is what we have created just now and the other 6  documents are automatically created for the Tyres. This means the Usage Hour counter for all the 6 Tyres started with their first reading as 1000 hours.

 

Likewise when we create a document with value 500 hours for Dumper V-1001 (Measuring point 3114). Measuring documents are automatically created for Tyres TYRE0007 to TYRE0012, with this reading of 500 hours.


End of Part2a ------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

Part2b:

Let’s now see what happens when Tyres are relocated from one vehicle to the other.

 

We will examine a case of TYRE0004 is dismantled from Dumper V-1000 and installed in V-1001.

And TYRE0009  is dismantled from Dumper V-1001 and installed in V-1000.

 

When we try to dismantle TYRE0004 from V-1000 through Tcode IE02, we get this warning message.

1.JPG

We can understand what the message says, It is stopping Reading transfer for this equipment (TYRE0004) from V-1000.

We continue and give value V-10001 in the Superord. Equipment field. Now we get this screen (already seen before once), asking for confirmation to establish transfer relation with the new Superord. Equipment.

 

1.JPG

We continue by clicking on Copy and Save the Equipment master.

Repeat the same for dismantling Equipment Tyre0009 from V-1001 and installing it in V-1000.

 

 

See the new structure, notice the change in the places of swapped tyres.

 

1.JPG

Now we create measuring documents on Vehicles.

I have created a document with reading 1450 hours on V-1000 (Measuring point 3113) and a document with reading 1850 hours on V-1001 Measuring point 3114).

 

Now see the IK17 screen below in the sequential order of Document creation.

The upper half (Green) is before the Tyre swaps, and the lower half is after.

 

1.JPG

 

Give special attention to Swapped Tyres (TYRE0004 and TYRE0009) to observe the system intelligence, in transfer of readings during Sub Equipment relocations.

 

For better understanding Equipment-wise sorted list of above is attached herewith.

 

1.JPG

 

End of Part2b ------------------------------------------------------------------------------------------------------------------------------------------------

 


 

Note1:

One more thing that happens in the system background during this process was not shown in pictures above.

That is when we click Copy during Equipment installation under a Superord. Equipment in IE02, some changes happen in Measuring Point data (obviously),

i.e. in IK03 screen, which is shown in the field marked below.

Capture.JPG

As soon as we install TYRE0001 under V-1000, the field marked above is filled with the measuring point of V-1000.

Similarly this field is updated whenever Equipments are relocated from one place to other.

 

Note2:

In this demo Equipment – Sub Equipment scenario has been dealt.

This document is valid for Functional Location –Equipment Scenario also.

 

Concluding Remarks

Here, a vehicle scenario has been taken for demonstration of this Measurement Reading Transfer Support functionality of SAP. It is believed that there will be several other applications requiring this feature.

 

 

Thank you

Jogeswara Rao K

Equipment Task list Display Report by using SQVI

$
0
0

Equipment Task list Display Report by using SQVI

                   

 

Hi All,

 

This is my First Document in the Forum and hope this will be helpful for all.

 

 

Purpose:

 

IA10 and IA17 standard reports are available to display equipment task list, unfortunately this only brings across the information as it would be printed so there is a lot of work to be done in the spreadsheet to get what you want to see. But maybe not impossible! Hope this report will helps Plant Maintenance users to view the maintenance task list details of multiple equipment’s and save  into spreadsheet.

The report will be created by using T code SQVI

Used SAP Tables:

  1. 1.      EQUZ
  2. 2.      ILOA
  3. 3.      EQKT
  4. 4.      IFLOTX
  5. 5.      EAPL
  6. 6.      PLKO
  7. 7.      PLPO
  8. 8.      PLWP
  9. 9.      T351X

 

Step 1:

Enter T Code SQVI

Enter Name of the program for the report in the quick view field and press create button


1.jpg

 

 

Now enter the Title for the report and select data source as table join.

Select basis mode and press enter


2.jpg

 

Step 2:

Press 3.jpg  to enter the table name


4.jpg

 

Step 3:

Again click on table and enter table which should be link to previous table. Example in EQUZ   Equipment number it is linked to EQKT equipent number.

We can take n number of tables which should linked to previous entered table.

Enter tables EQKT, EAPL, PLKO, PLPO, PLWP and T351X by following the previous step.



5.jpg

 

 

6.jpg

 

 

 

Step 4:

You can delete / edit table connections by selecting the black line and clicking with the right-mouse button.

Select the unwanted connections and delete by clicking the right –mouse button.


7.jpg

 

 

Step 5:

Enter 2 more tables ILOA and IFLOTX



8.jpg

 

 

Bring ILOA and IFLOTX tables to the starting screen to connect EQUZ table.


9.jpg

 

 

 

 

Step 6:

Click join condition button  10.jpgon the top of the screen

Now give EQUZ and ILOA table and press enter


11.jpg

 

The logic:

  1. 1. Select EQUNR field from EQUZ table and pass this into EQKT table to get equipment number and description
  2. 2. Take EQUNR field from EQKT table and pass this into EAPL table to get the task list details.
  3. 3. Take PLNNR field from EAPL table and pass this into PLKO table to get the planner group.
  4. 4. Take PLNNR field  from PLKO table and pass this into PLPO table  to get operation details
  5. 5. Take PLNNR & PLNKN fields from PLPO table and pass this into PLWP table to get the required maintenance strategy of task list.
  6. 6. Take PAKET & STRAT fields from PLWP table and pass this into T351X table to get the maintenance schedule of operation.
  7. 7. Select EQUNR field from EQUZ table and pass this into ILOA table to get functional location. description
  8. 8. Select TPLNR field from ILOA table and pass this into IFLOTX table to get functional location description.

 

After removing the unnecessary links between tables the final links as given below

Table links:

EQUZ-EQUNR-EQKT

EQKT-EQUNR-EAPL

EAPL-PLNNR-PLKO

PLKO-PLNNR-PLPO

PLPO-PLNNR-PLNKN-PLWP

PLWP-PAKET-STRAT-T351X

EQUZ-ILOAN-ILOA

ILOA-TPLNR-IFLOTX

 

12.jpg

 

 

 

Step 7:

Press back button after connecting the table links


13.jpg

 

Press  14.jpg to switch between filed names and technical names

 

15.jpg

 

 

 

Step 8:

Selection fields is for input screen of the report

List fields is for output of the report

Input Fields:

                       EQUZ-EQUNR (Equipment Number)

                       PLKO-VAGRP (Planner Group)

                       PLPO-WERKS (Plant)

Output Fields:

                      PLPO-WERKS (Plant)

                      ILOA-TPLNR (Functional Location)

                      IFLOTX-PLTXT (Functional location Description)

                      EQKT-EQUNR (Equipment Number)

                      EQKT-EQKTX (Equipment Description)

                      PLKO-VAGRP (Planner Group)

                      PLPO-LTXA1 (Task list Operation Text)

                      T351X-STRAT (Strategy)

                      T351X-KTEX1 (Maintenance Package Text)

 

Select the above input and output fields in the quick viewer screen                   

16.jpg

 

Press  14.jpgto switch between filed names and technical names

 

 

Select the output fields for the report


18.jpg

 

 

 

Step 9:

Now go to sort fields tab to enter field names to sort

Select  20.jpgto find required field

21.jpg

 

Click 22.jpgafter entering the table and field name

Click   23.jpgto enter sort fields into quick viewer

 

Sort Fields:

ILOA-TPLNR

EQKT-EQUNR

EQKT-EQKTX

PLPO-WERKS

IFLOTX-PLTXT


24.jpg

 

 

Select  25.jpgat the top left side of the screen

Select output headings of the report to change if required, we can change and modify the output length as required


26.jpg

 

 

 

Press Back Button on the screen to save the SQVI report

27.jpg

 

The SQVI report has been saved, select the line item and press execute to run the report


28.jpg

 

 

Input Screen:

29.jpg

 

 

 

Output Screen:

30.jpg


 

 

 

Procedure to create tcode:

Go to system –status on the input screen

 

 

Copy the programme name and give it to the ABAPER to create TCODE for the report.

 

Hope you all will find the Document Helpful.

 

Thanks & Regards,

Sunil Boya


 

 

 

 


Useful Customisation tip for Notification Types

$
0
0

Introduction & Objective:

A client wants that Notification Tabs should appear selectively for Create (IW21), Change(IW22) and Display(IW23) views. For example,  he does not want to provide Catalog & Codes tab (10/Tab10) during Create Notification (IW21).

 

Once we know the configuration point in SPRO, where to do this, this requirement looks simpler. But, more work is involved here. This document, elaborates the same.

 

The SPRO configuration path for this:

1.jpg

 

During Tab Additions, the key field which produces the desired effect, is theActivity Cat.

2.jpg

 

 

Please note that the ‘H – Add’ means Create and relates to IW21 screen.  Similarly 'V – Change'  and  'A – Display'  options relate to IW22 and IW23 screens respectively.

 

Now suppose a Notification type has the requirement for 3 main pages viz.,

10/Tab01– Notification 1

10/Tab07  -  Dates

10/Tab10– Catalogs & Codes

 

We know that 10/Tab10 will have sub tabs declared 20/Tab01, 02, 03, 04.

 

The following is the Tab strip Overviewin the SPRO, where no special conditions are required. Here we see the Activity Cat.field is blank.

 

In this Configuration, all tabs will be visible in all stages (IW21, IW22, IW23)

3.jpg

 

 

Now let's see, the Configuration as per our clients requirement, where Catalogs & Codes Tab not to be seen in 'Create' phase.

4.jpg

 

What we see here is for one simple condition, a number of line items added into the 'Tab strip Overview'.

This is because,

When we specify a value V in Activty Cat. Of 10/Tab10 (desiring to have this tab in change mode), all other tabs in change mode disappear. (10/Tab01, 10/Tab10).

So to restore them as per our requirement, we need to repeat these Tabs with different values of Activity Cat. (H, V, Aas the case may be) .

 

In Detail:

  1. We want the Header Tab (10/Tab01) in all modes Create, Change, Display (IW21, IW22, IW23) modes. So we need to create this entry 3 times with values H, VandA.
  2. We want the Dates Tab (10/Tab07) in Change and Display (IW22, IW23) modes only, so we had this 2 times with values V and A
  3. Like-wise we want the Catalogs & Codes Tab (10/Tab10) also in Change and Display (IW22, IW23) modes only, so we had this 2 times with values V and A.
  4. Here note that all the sub tabs (20/Tab01,02,03,04) of Catalogs & Codes Tab, had also to be created 2 times with values V and A to match with their Parent tab (10/Tab10).

 

 

Now let's see the resulting screens:

 

Create Notification (IW21)

5.jpg

 

 

Change Notification (IW22)

6.jpg

 

 

Display Notification (IW23)
7.jpg

(We know that Catalogs & Codes tab would appear in Display i.e., IW23, only when it has some content in its inside tabs.)

Like-wise we can customize deeply in this area as per need.

 

The Author recently was replying in detail, about the topic discussed here in an SCN thread, and felt that  forum will be benefited if this is documented .

 

 

Thank you

KJogeswaraRao

Catalogs & Codes: An Important Knowledge Piece

$
0
0

Foreword

The author believes that the tip given in this document  simplifies and drastically cuts down the amount of data upload to QS41 transaction, In fact this tip should be made use of invariably by every-one who designs the Catalogs & Codes to the Equipments. 


What is it?

An addition of character ‘&’ at the end of Code Group Description helps the Code-text (kurztext) to be very short, but while using the Code-texts  are prefixed by Code Group Texts giving full meaning.

 

This is being explained through Screen-captures in the following example .

 

QS41:

 

1.Object part Code Group ‘MOTOR

  Description : ‘MOTOR &

1.JPG

Codes

1.JPG

 

 

 

 

 

 

 

2a. Damage Code Group:  ‘SHFT

Description :  ‘SHAFT&’

 

1.JPG

 

Codes

1.JPG

 

 

 

 

 

 

2b. Damage Code Group:  ‘FNDN

Description :  FOUNDATION &

 

1.JPG

 

Codes

  1.JPG

 

 

 

 

 

 

 

OQN6:

3. Catalog Profile

1.JPG

 

 

 

 

 

 

 

The result in IW21 / IW22

1.JPG

 

 

Note:

1. The above explanation is applicable for all Catalogs (B,C,2,5, A &  others).

2. Because this is a change in Description field, it is applicable to the Code Groups created and used earlier. Accordingly, the Code-Texts will  be modified in all History Notifications.

 

 

Hope members find this article useful.

Thank you

KJogeswaraRao

Settlement Options in Refurbishment Order !

$
0
0

It is a common understanding that Settlement of a Refurbishment Order happens on Material. This is true, but not always.

It depends upon whether the price control indicator for the Batch material in material master is Standard (S) or Moving average price (V).

Batch material refers to the material with Valuation types C1/C2/C3. So if the price control indicator of Batch material is:

  1. V: Settlement happens on the Material Master.
  2. S: Settlement doesn’t happen on Material Master, but on price difference account.

 

Scenario 1: Consider material 795, with Batch material’s price indicator = V

 

2.png

3.png

4.png

Have 1 unit each of batch C1, C2, C3. Therefore the material valuation = (200+80+10)/3 = 96.67

5.png

Created a Refurbishment Order for this material (for C3) using IW81. Done GI. Done GR using IW8W.

After GR, we have 1 unit of C1 and 2 of C2.

Therefore, Material valuation = (1*200 + 2*80)/3 = 360/3 = 120

6.png

Cost incurred in WO: 10 for GI of 1 unit of C3 and -80 for GR of 1 unit of C2.

So the balance amount on WO is -70.

7.png

Settlement: Since batch material price indicator is V, therefore settlement of balance amount happens on material.8.png

9.png

So the settlement happens on GL Spare Parts, against material master.

Since the settlement happens on material, therefore material valuation also changes as:

1*200 + 2*80 = 360

360-70 (for settlement on material) = 290 /3 = 96.67

10.png

 

Scenario 2: Consider material 796, with Batch material’s price indicator = S

11.png

12.png

13.png

Have 1 unit each of batch C1, C2, C3. Therefore the material valuation = (200+80+10)/3 = 96.67

 

Followed same steps as above. Create Refurbishment Order, GI, GR. Skipped the screenshots.

Valuation of material after GR, but before settlement.

 

Therefore, Material valuation = (1*200 + 2*80)/3 = 360/3 = 120

6.png

Settlement: Since batch material price indicator is S, therefore settlement doesn’t happen on material, rather on Price diff account.



14.png

So the settlement happens on GL Price Diff account and not on material master.

Since the settlement doesn’t happen on material, therefore no change in material valuation:

1*200 + 2*80 = 360

360 - 0 (for settlement) = 360 /3 = 120

15.png

Two Simple methods to Analysis Authorization Issues

$
0
0

In this document we will learn about two different methods to identify authorization issues.

 

  1. SU53 or /nSU53
  2. ST01

 

SU53 or /nSU53


     Using this transaction you can analyze an access denied error in your system that just occurred. It displays the last failed authorization check, the user’s authorization and the failed HR authorization check.

 

Scenario:

 

User gets an authorization error on releasing a notification from IW22 transaction

 

IW22:

Pic1.png

On clicking the release icon, users gets below error message

Pic 2.png

Press Enter or Click the green tick

 

Type /nSU53 in transaction code area

Pic 3.png

Press Enter

 

Now we will be able to identify the missing authorization objects and values for the user

pic 4.png

                                                                                                                                                                                                                                    

Authorization Object Authorization FieldAuthorization Field Values
I_VORG_MELBETRVORGPMM2
QMART                M1

 

These values can be used in SUIM transaction to identify the roles which you can assign to user.

 

ST01

 

          ST01 is one of the primary tools in the SAP Security Module. ST01 gives us a peek inside running ABAP program or standard transaction to record the SAP Authorization checks in your own or external system. The trace records each authorization objects, along with the object’s fields and the values tested.

 

Scenario:


          User is having access to perform “Do not Execute” in the work order, need to restrict the user with the functionality.


This particular access cannot be captured via SU53


IW32:


When the Work order is in CRTD status, system will allow you to set “Do Not Execute” from the Path Order – Functions – Complete - Do not Execute

Pic.JPG

To identify the access provide to this user, you can identify via Trace

 

ST01

pic 6.png

Make sure you check Authorization check and select All

 

Click General Filters

pic 7.png

Enter the Trace for User Only "PM01" and click the green tick or press enter

 

PM01 is the user ID i have created for my testing

pic 8.png

Click Settings to Save

 

Before starting the Trace, request the user to be in IW32 transaction with the order number entered, this will reduce the trace length


Now Click

Pic10.png

Request the user to execute “Do not Execute” function for the work order. Once the action is performed, click

pic 11.png

You have successfully taken the trace. Click

pic 12.png

pic 9.png

Enter the User Name, Client. Date From/To and Select Authorization Check and All

 

Click Execute

pic 14.png

Do check the value RC = 4 (No Authorization) and Double click the line item

pic 15.png

Here you will be able to get the Authorization Field and Values.

 

Authorization ObjectAuthorization FieldAuthorization Field Value
I_VORG_ORDBETRVORGBABL
AUFART PM01

 

Restricting above authorization access, will give no access to "Do not Execute" business transaction.

 

These values can be used in SUIM transaction to identify the roles which is giving access to user.

Measurement Document Posting from Production Confirmation (PP/PM-Integration)

$
0
0

Purpose

This step demonstrates how completion confirmations for a production order can influence maintenance measures performed on production resources and tools. This example has been created for a bottling/canning plant. Here, tins are filled with paint. The bottling/canning plant contains a filter press which is recorded as PRT equipment in the task list for material Y-351.The maintenance plan for the PRT equipment contains three performance related maintenance cycles. This means that every time the PRT equipment above is used, different operations are used for the scheduled maintenance plan. In cases of high use this may lead to a change of filter


Data for This Example

Field

Europe

Maintenance plan

40

Material

Y-351

Production plant

1100

Order type

PP01

Total quantity

2000

Basic dates – end

At least four days from now

SchedType

Backwards

Final conf.

Select

Yield to conf.

2000

Measuring Point

10171

Control key

PM01

Component

100-431

Requirement quantity

1

IC (Item category)

L

Sloc

0001

Work center

R_1140

Order type

PM01

Controlling area

1000

 

Equipment –IE03

IE03.png

Note - (Prerequisits)

  • Equipment should be a PRT
  • Equipment used for Production should have PRT view enable
    • In PRT View
      • Usage Formula should assigned
      • Measuring Point & MP which are used for capturing Reading and scheduling are assigned in this Tab of equipment.

 

Maintenance Plan – IP03


Note - Before creating MP you should craete Performance Statergy with required Cycles in IP11.

  ip03.png

ip03_2.png

ip03_3.png

 

Measuring Point –IK01/02/03


Characteristic used is based on production (Unit- Kg)

ik03.png

 

Creation a Production Order


Use

To create a completion confirmation containing a measurement document, create and confirm a production order.

Procedure

Menu Path

Logistics

® Production® Production control® Order® Create® With material

Transaction Code

CO01

Field

Data

Material

Y-351

Production plant

1100

Order type

PP01

 

 

  • Press Enter
  • Enter Following Data

Field

Data

Total quant.

2000

Finish

At least four days from now

Scheduling/Type

Backwards


Production Order – CO03

co03.png

Operation

co03.png

co03_opr_2.png

Click "PRT" Button

co03_opr_4.png

 

 

Confirming the Production Order


Menu Path

Production Control

®Confirmation®Enter®For order.

Transaction Code

CO15

Field

Data

Final conf.

Select

Yield to conf.

2000

Result

You have confirmed the order. A measuring point was defined as a production resource in the task list, enabling the SAP system to create a measurement document. This document creates a new call after the maintenance plan has been scheduled.

 

co15.png

co15_2.png

 

Displaying the Measurement Document

Use

The starting situation for scheduling of production resources and tools (PRT equipment) is displayed.

Procedure

Menu Path

From the Plant Maintenance node, choose Management of Technical Objects®Equipment®Measurement Documents®Display

Transaction Code

IK13

  • Measurement document

Field

Data

Description

Measuring Point

10171

The measuring point is stored in the maintenance plan.

Date to

Today’s date

 

  • .

You see a list of existing measurement documents.

  • GotoMeasurement document.

This screen allows you to check the data in the completion confirmation for the order.

 

 

Ik13

ik13.png

ik13_2.png

 

 

F4

ik_17.png

 

F8

last.png

 

++++++++++++++++++++The End++++++++++++++++++++


Pool Asset Management: End-to-End Cycle

$
0
0

OverviewPool asset management (PAM) allows an organization to manage its pool assets using a graphical planning board. Examples of pool assets can be vehicles, beamers, laptop etc. In this document, I will take an example of pool asset as vehicle to go through the different steps. By using PAM, a planner can request, issue, return and then finally settle the service provided using the graphical planning board.

Steps involved in PAM:

The entire end-to-end scenario for PAM involves below steps:

1) Creation of demand

2) Demand Planning with Graphical Planning Board

3) Issue of pool asset

4) Return of pool asset

5) Settlement

 

Before I go into detailed steps, I would like to mention some pre-requisites that must be fulfilled before this scenario is run:

1) A functional location is created and all pooled equipment (vehicles) installed at functional location

2) A pool of vehicle is created using transaction code PAM01 and functional location assigned to this pool

3) Equipment created as pool asset must have a measuring point assigned for odometer reading and PAM category (PCM_KAT) assigned in equipment characteristics

4) All configuration related to PAM are done. Refer this link: Customizing - Pool Asset Management - SAP Library

 

Now, let's go through all the steps for pool asset management in detail:

1) Creation of demand:

 

Demand can either be created by a requester or a planner. Let's assume that the demand is created by a requester. This is done by using transaction IW21 for creating a notification with a standard notification type MF.

 

Requester enters user and requester information along with notification description exp. 'Request vehicle'.

1.JPG

 

Location is entered where the vehicle is required.

2.JPG

 

In 'Pool Asset' tab, start and end time for requested vehicle is entered along with the Pool Name by the requester.

 

3.JPG

 

In 'Settlement' tab, details of settlement object is entered.

 

4.JPG

 

Notification is released and saved

 

6.JPG

 

2) Demand Planning with Graphical Planning Board

 

Planner logs in the planning board using transaction PAM03 and views created notification in the bottom half section of the planning board.

 

6.JPG

 

Planner can drag the demand and move it to the upper portion of the planning board and can assign it to one of the available vehicle in the pool.

 

8.JPG

 

 

The planner can double click the demand and click on 'Reserve' button to reserve the demand of the vehicle on a particular time.

 

9.JPG

 

This changes the color of the demand to say red in the planning board.

 

10.JPG

 

3) Issue of pool asset

 

The planner will then issue the pool asset by double clicking on the request and entering odometer reading.

 

21.JPG

 

This changes the color of request to green meaning the vehicle is issued to the requester.

 

22.JPG

 

4) Return of pool asset

 

After the requester uses the vehicle and returns the vehicle back, planner will then enter the details in the system (such as new odometer reading) by double clicking on the green bar. This changes the green bar to a small line on the planning board.

 

23.JPG

 

5) Settlement

 

The planner then double click the small line and click on the 'Settle' button to capture the costs in a work order.

 

24.JPG

 

Planner assigns value against the value category from say actual vehicle usage time.

 

30.JPG

An order of type xxxx as defined in configuration is created automatically in the backend.

 

31.JPG

 

If you open the order, you will see the costs are reflected in the order in the 'Costs' tab.

 

32.JPG

 

This cost can then be settled to the final cost object by the finance team during their settlement run.

 

This completes the entire cycle for pool asset management.

 

Thanks,

Tajinder

Step by Step Guide for Multiple Counter Plans

$
0
0

In this document we will be going through various steps involved to develop Multiple counter plan.


A multiple counter plan is used in counter based maintenance. This type of maintenance planning is not based on a maintenance strategy. This means that you can create a multiple counter plan without maintenance strategy.

 

Master data requirement

 

     Below are the list of basic Master data required to process Multiple Counter Plan.

      • Equipment
      • Characteristics for measuring point / counter
      • Measuring Point/Counter assigned to Equipment
      • Cycle sets as per requirement

 

Equipment - IE01 / IE02

 

     I have created PUMP as Equipment for explaining this scenario.

Test 1.jpg

Measuring Point / Counter - IK01

 

     We are going to record the running hours of the Pump. To record the running hours we need to create measuring point / counter.

Test 3.jpg

     Create the Measuring point for Equipment, enter the object type IEQ


     To make the measurement point as a Counter, you need to check "MeasPoint is counter"


     Ensure characteristics you want to assign to measuring point / counter were created

          Test 4.jpg

In the measuring counter, you need to maintain below fields                                                       

         

Header 1
Meas Position
Description
Characteristics
Counter Overflow reading

Annual Estimate

 

MeasPosition                     - This describes the position of the measuring point / counter with respect to the Technical Object.

Counter Overflow reading - The first counter reading that the counter cannot display. Enter a logical value for the first counter reading.

Annual Estimate                - Estimated hours the equipment can run in a year. This needs to be filled, maintenance intervals are calculated based on this data.


On save, measuring point / counter is created.

 

Record the current running hours reading of the Pump using measuring documents (IK11), this is required to schedule the plan.

Test 5.jpg

On save, first measurement document created for measuring point / counter. Two documents are posted for this measuring point / counter.

 

Cycle Sets - IP11Z

 

     Cycle sets are used as a copy model for the creation of multiple counter plan. It defines the period of time between two maintenance tasks. Also cycle sets can be complied directly in multiple counter plan itself.

 

     Cycle sets needs to be created based on business requirement.

Test 6.jpg

Maintenance plan - IP01 / IP43

 

     Select the Maintenance plan category and Cycle set (Cycle set not mandatory)

Test 7.jpg

     Press Enter

 

     Cycle sets will be copied to the maintenance plan

 

     Cycle set sequence needs to be filled and same has to be linked to maintenance item. Here the scenario has only one cycle set sequence.

 

     Cycle set sequence, Scheduling period, Start date will be populated in the multiple counter maintenance plan (IP43) after activating the "Configure Special Functions for Maintenance Planning" in SPRO.

 

     Kindly update the maintenance plan with relevant details like Maintenance Plan Description, Maintenance Item Description, Order Type, Planner Group, Work Center, Task list and Priority.

test 8.jpg

   Select the Maintenance plan scheduling parameters tab.

Test101.JPG

Kindly maintain the Sched Period and Start Date.

 

The important factor of Multiple Counter Plan is the Operation Type.


Kindly refer the scheduling column for the Operation type and difference on scheduling the maintenance plan.

 

On Save Maintenance Plan will be saved.

 

Scheduling - IP10 / IP30

 

On scheduling the plan, we need to consider the Operation Type and the behavior of scheduling will be different based on the type.

 

OR Operation Type:

 

For an OR Operation, a maintenance order is generated for the earliest possible planned date.

 

In our case, if the maintenance is due every 250 hrs or 3 months, the decisive factor is which occurs first.

Test 10.jpg

On scheduling the Maintenance plan

Test 11.jpg

Since the measuring counter reading is already reached 250, a maintenance is already due, on save, work order will be generated.

 

AND Operation type:


For an AND Operation, a maintenance order is generated for the last planned date.


In our case, if the maintenance is due every 250 hrs or 3 months, the decisive factor is which occurs last.

Test 12.jpg

On scheduling the maintenance plan

Test 13.jpg

Measuring counter is reached, but the 3 months is not reached so the maintenance is planned for the future date based on the start date.

 

Here I have covered the basic scenario of Multiple Counter Plan, there are lot of options available to explore in this area.

Permits (Part1)

$
0
0

In this document we will discuss what is the Permit and what are the types of it (Technical Permit)

 

Note:The below steps are applied on SAP ECC6.0  EHP6.0


Table OF Contents:

1- Introduction

2- Technical Permit

2.1 Create theTechnical Permit

2.2 Assign The Technical Permit To The Technical Object

2.3 Technical Permits Influences The order

 

1- Introduction

Permits are created for the Maintenance Order to:

  1. Adhere to health and safety regulations
  2. Control order processing (Release - Completion<TECO>)


There are two types of permits:

  1. Technical Permits (assigned manually to the technical objects (Equipment - Functional Location)
    • If an order is created for the technical object, the permits are copied to the order and can influence the order release Or completion<TECO> (Depends On Your settings)

   2. Process-Oriented Permits (automatic assignment to the order)

    • e.g. -> when creating a maintenance order with an order type and an activity type , the permits are copied to the order and can influence the order release Or completion<TECO> (Depends On Your settings)


2- Technical Permit

Steps:

  1. Create The Technical Permit
  2. Assign the Technical Permit To The Technical Object
  3. Technical Permit Influences The Order

 

2.1 Create The Technical Permit


SAP ECC Menu: Logistics -> Plant Maintenance -> Management of Technical Objects -> Environment -> Permits

T Code: IPMD


Click On (Create/Change) Button To Enter The Change Mode

1.jpg

Then

2.jpg

3.jpg

  • Permit (Code): Char(10)
  • Permit Text : Char(30)
  • Permit Category : Used for grouping the Permits -> Defined In Configuration
  • Order Release : Used when you want to Control order processing (Release)
  • Order Completion (TECO):  Used when you want to Control order  Completion
  • The Possible Options in The Order  Release or Completion Fields:

4.jpg

  • The 1st Option -> when you release the order, a warning message appears but if you pressed Enter, you can continue processing the order
  • The 2nd option -> The order can not be released until the authorized user issue (Approve) the permit
  • The 3rd Option -> No Warring Message,  just check the permits

 

  • Not Modifiable Field: Used when you select the 2nd option as the user can not flag (Dimmed) the button not relevant (Ignore The Permit) when the permit influence the order  as The Permit must be issued by the authorized user

 

Note: We Will Work On Order release


2.2 Assign The Technical Permit To The Technical Object

Note: We Will Assign The Permit To An Equipment -> T Code: IE02

5.jpg

  • Choose Your Permit that is created from the above Step

6.jpg

7.jpg

You can assign more than one technical permit to the equipment


2.3 Technical Permits Influences The order

When Creating a maintenance order for the equipment which the permit has been assigned to it:

1- If you used the 1st option in the permit (Permit to be issued after warning)

when you release the order, a warning message appears but if you pressed Enter, you can continue processing the order

8.jpg

2- If you used the 2nd option in the permit (Permit Must be issued else Error Message)

The order can not be released until the authorized user issue the permit

9.jpg

  • You Can Issue the permit from the order(IW32) or From T Code IPM2 -> we will issue from the order

10.jpg

  • Select the permit Then The Issue Button
  • NR (Not Relevant is Dimmed) -> as I set the flag of Not Modifiable in the permit as any one can not ignore the permit

11.jpg

 

  • The Permit is issued (You Can now Release The Maintenance Order)

12.jpg


3- If you used the 3rd option in the permit (Permit Must not be issued )

No Warring Message,  just check the permits  From The permit Button

13.jpg

 

Note:(I_Sogen) is the authorization object related to the permit (The User that will issue the permit)

  • The Authorization Object Fields:
    • Permit Key (Permit)
    • Maintenance Plant

 

Note: The authorized user can reverse the Permit (Cancel the issue) only before the order being Released or TECO (Depend on your settings)

Permits (Part2)

$
0
0

In this document we will discuss the Process Oriented Permit 

 

Note:The below steps are applied on SAP ECC6.0  EHP6.0

 

1- Introduction

Process-Oriented Permit is assigned automatically to the Maintenance Order

e.g: when creating a maintenance order using an order type with an activity type , the permits are copied to the order and can influence the order release or completion (TECO) ->  (Depends On Your settings)

 

In our example we will create a permit that control the order release when creating an order with:

  • Order type: PMM1 and Activity Type: A02 0r A03

 

2- Steps :

2.1- Create two characteristics that represent (Order Type - Activity Type)

2.2- Assign the two characteristics to the permit class (PM_Permit)

2.3- Create the permit


2.1- Create Characteristics (T Code CT04)

  • Enter the Name of The Characteristics Then create button

1.jpg

 

  • Go To Addnl Data TAB & Enter The Table Name that contains the field (activity type) & The Field Name (Activity Type)

2.jpg

  • An information message appear

3.jpg

  • The Format of the field which is taken fro ABAP

4.jpg

  • Then Choose the Value Assignment

5.jpg

  • Single Value: only one value (For The Field) can be assigned to this characteristic.
  • Multiple Value: more than one value (For The Field) can be assigned to this characteristic.

 

  • Then Enter The Values Of the Activity Type

6.jpg

Then Repeat The previous Steps To create characteristic for the order type


-----------------------------------------------------------------------------------------------------------------------------------------------

 

2.2- Assign the two characteristics to the permit class (PM_Permit)

  • T Code : CL02


  • Put The Name of The Permit Class (PM_PERMIT) Then Change button

7.jpg

 

  • Go To The Char TAB to assign the two characteristics which are created above

8.jpg

 

------------------------------------------------------------------------------------------------------------------


2.3- Create the permit -> T Code: IPMD

9.jpg


  • After filling the below fields press the button classification to assign the Value of the characteristic (Fields ) To the Permit

10.jpg

11.jpg


Note :The Relation Between The two characteristics is AND

Means when the values A02,or A03 (Multiple Assignment ) & PMM1 are entered in the order will prevent the order from release

 

 

Note: Below are the table and the fields related to the permit when creating characteristic(s)

  • The Table Name: CSEVPERMIT

Field

Description

AUART

Order Type

ILART

Maintenance activity type

PRIOK

Priority

IWERK

Maintenance Planning Plant

INGPR

Planner Group for Customer Service and Plant Maintenance

GEWRK

Object ID of the Work Center

WARPL

Maintenance Plan

WAPOS

Maintenance item

PLKNZ

Maintenance order planning indicator

TPLNR

Functional Location

EQUNR

Equipment Number

BAUTL

Assembly

SERIALNR

Serial Number

SERMAT

Material Number

SWERK

Maintenance plant

STORT

Location of maintenance object

MSGRP

Room

BEBER

Plant section

PPSID

Object ID of PP work center

KOKRS

Controlling Area

PRCTR

Profit Center

BUKRS

Company Code

GSBER

Business Area

ANLNR

Main Asset Number

ANLUN

Asset Subnumber

IKOSTEN

Total(actual) maintenance costs

PKOSTEN

Total plant maintenance costs (planned)

USER4

Total maintenance costs (estimated)

WAERS

Currency Key

 

Note: Intervals in the characteristic values are written in the following format

Value1 - Value2

(from Value1 to Value2)

>Value1

(greater than Value1)

>=Value1

(greater than or equal to Value1)

<Value2

(less than Value2)

<=Value2

(less than or equal to Value2)

>Value1 - <Value2

(greater than Value1 and less than Value2)

Value1 - <Value2

(greater than or equal to Value1 and less than Value2)

>Value1 - Value2

(greater than Value1 and less than or equal to Value2)

Calling Reports from an Infoset Query

$
0
0

Introduction

The first usual improvisation requirement in self-made Infoset Queries by beginners, is often the requirement of calling other reports from ALV output, just the same way we do in Standard reports.  In ABAP-coded Z Report Programs, there are several techniques of achieving this by syntax like Call Transaction,Submit etc.

 

The very objective of this documentation is to achieve the same. This topic was briefly discussed in the document 10 Useful Tips on Infoset Queries. But, when the author experienced few exceptions in the technique suggested there and found a solution subsequently, he got the idea of having an exclusive document on this topic.

 

This document has assumption that readers have working knowledge in developing Infoset Queries.

 

Here we Start

We have seen earlier, that for enabling Report Calling from the ALV output of an Infoset Query, we need to do these steps in SQ01.

 

Note: If your Report Assignment option is found disabled, then the reason and setting to restore is here: How to make 'Report assignment' available in 'SQ01'

 

 

Click here on   then on then select  TR (Transaction Code) or RT (Report Program),

 

  1. When we select TR we need to put only the Transition code.

     


Example:

IE03 if our ALV lines are having Equipment field and we want Equipment Master display upon clicking on the ALV row.

 

If we have a Maintenance Order Number in the ALV, and we want to have Display Order Screen upon clicking on this row, then we give the Tcode IW33 here.

 

     2.  In the other case, when we want to call List Reports like IW37 , then we need to select RT in the Report type, where we need to give the

          Program  name (in this case RIAFVC20) in the Report field  and the variant name.

 

        

 

So far, it looked very much OK, until I found recently that few field names like EQUNR, MATNR, DOKNR etc, do not exhibit the desired behaviour.


Few cases  where this call report was not working are discussed here.

In one of my Queries, I have Material number (MATNR) in the ALV output, for which I used Report Type TR with Tcode MM03, for the purpose of  Material Master Display. What happened here, was no Material number was passing to the MM03 initial screen, so the display interrupted, In another case, the first attempt display was coming, but the next attempt on different material line in the ALV, the material master display of the first attempt was repeating. Broadly there is a technical problem in passing the Material number.

 

Another such case was with the Tcode CV03N  (Display of DMS Document) , where the DOKNR, DOKAR field values were not passing to the CV03N initial screen.

 

Here is the solution I worked-out, using the QUReport Type of Report Assignment


We are taking the MM03 case

As mentioned above, the report Type QU (Query), in the Report Assignment came to rescue.

This option has 3 fields.

 

First field (User Group):  You know, your User Group.

Second field (Query): We need to develop a simple query for this field.

Third field (Variant): Optional.

 

So, what required was that a simple Infoset query using MARA table (Material Master) to be created.

And this Query name, was given in the field 2 above.

 

Let’s see the steps of creating the simple Query for Report Assignment purpose.


SQ02

We are Creating an Infoset (I named it MM03) with Direct read of table option.

This is because, we use only one table.

 

Select this default option, and Continue.

 

 

With this the Key field MATNR is added to the Field Group folder in the Infoset.

And in the Infoset Code Section, give the following code

untitled2.jpg


  Generate Infoset and do not forget to assign it to your User Group.


SQ01

Create a Query (Say MM03) using the above Infoset.

Note:

This query name is going to be used in the Report Assignment.

 

Go to Basic list screen and Tick the MATNR field in the List fields column.

untitled1.jpg

Save the Query.



Testing.


Here we are examining, the behaviour of 3 cases of Report Assignment)  in the ALV output of an Infoset Query.

 

We know that when multiple Call report assignments are there in the query, then the options appear as a menu as shown above, upon clicking on a row.

 

  • Here the first option in the menu namely Display PM Order, is that where I used report type TR and given Tcode IW33,
  • Second one, namely Report Assignment MM03 is through Report Type QU with Query field value MM03 (created as explained above)
  • Third one was the option which was malfunctioning i.e., Report Type TR and Tcode MM03

 

Now when tested, the first option with TR report-typeworks satisfactorily, without any problem, passing the Order number (AUFNR) correctly everytime.

The third option, again with report type TR works erratically, unable to pass material number (MATNR) correctly.

The second option is our solution to the erratic behaviour of MM03 through TR report type. i.e., through QU report type. This works very correctly like the first case.

 

In the case of Display Equipment (IE03) , the above method would work, with the following code in SQ02.

PARAMETERS:

EQUNR LIKE EQUI-EQUNR.
SET PARAMETER ID 'EQN' FIELD EQUNR.
CALL TRANSACTION 'IE03' AND SKIP FIRST SCREEN.
EXIT.

 

So that is about the Problems and the Solutions

 

As referred in the beginning, another parameter which gave trouble in calling reports through report-type TR was, DOKNR (DMS document number).

I have solved this issue too in a similar manner.  The transaction called was CV03N. The code used in the Infoset is given below.

draw.JPG

 

Note

See the Syntax used  PARAMETER ID  in the syntax used in both the cases above.

The Parameter Id used in MM03 case was, MAT,  and in the CV03N case was CV1  and CV2.

MAT is the Parameter Id for field MATNR, CV1 is for DOKNR and CV2 is for DOKAR.


This parameter-id is the key factor for any Call report to function properly.

 

Where do we get this?

For example for MATNR, place cursor in MATNR field of any screen, and press F1 on key-board. The pop-up has this value.

Similarly for any other field.

 

That’s everything I think, about this document.

 

The author hopes that this document also will be useful to the members, the way the  other documents by the author, in the series of Infoset-queries.

 

Thank you

Jogeswara Rao K



05/11/2015:

A tip in this context of Report Assignment.

Recently I made 3 ALV reports using Query for Equipment, Functional Location and Material BOMs . And then I was trying to use Report Assignment in the SQ01 of Equipment BOM. i.e., I was trying to call ALV report of Material BOM, when we click on the Component material field of Equipment BOM ALV. My issue was it was not taking to that report. I analyzed the reason to be:The BOM Component field (IDNRK) does not have a ParameterId on which the Report Assignment function depends.


What I did:

I created a user field MATNR in the Infoset Query by giving data type MARA-MATNR which has a Parameter Id MAT, and the equated that to BOM component (IDNRK) field. Means I gave code in the Code area of this user-field MATNR as: MATNR = STPO-IDNRK.

Then I took this user-field to SQ01 and then to List fields (ALV). Now I thought that the ALV has PID, and the Report Assignment would work. But it was not working. Then  I realized the reason to be that as long as IDNRK field is there in ALV it would not work. I removed the IDNRK field from ALV. I already have the values of BOM component material values in my user-field MATNR. But then I has to remove the text field also associated with IDNRK field from the ALV. Now it worked. Now it is taking me to the Material BOM report assigned in the Report assignment when I click on any ALV line of the Equipment BOM, when that material has got a BOM of it own.

But I lost the Component Description field which I had to remove alongwith IDNRK field from the ALV. So what I did was I created another user-field MAKTX in SQ02 and in its code retrieved the Description field from MAKT table. ( Select single maktx from makt into maktx where matnr = stpo-idnrk.). Now I took this MAKTX field also to SQ01 and to List. So I got back the lost fields also and finally made the Report assignment to work.


Again with a view not to lose this information by memory erosion and for the benefit oft he forum I'm preserving here.

 

Regards

KJogeswaraRao


Viewing all 842 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>