Technical Articles
Control indicators in QPMK and storage in field QPMK-STEUERKZ
A question was recently asked about how to read the various values from the QPMK (Master inspection characteristics), table. One of the keys for understanding the values is knowing how to read the field QPMK-STEUERKZ. This is a 30 character text field and when you display it, it looks like a jumble of X’s and miscellaneous characters. However, this field is very important to QM and the master inspection characteristics. SAP uses this field to store all the control indicators related to a master inspection characteristic, (MIC).
It is often very valuable to understand how to use this field to find out certain things about the MIC’s in the system. Unfortunately, I have never seen an SAP help file or document that provides the means to decode this field and all the values for each character position. I searched before writing this document and found several threads that explained parts of it and a few that had a list of the indicators, (actually, mostly old threads in various forums where I had responded!). But I didn’t really find a good, complete document. So I though it was time to put one up.
Knowing how to use this field can be especially valuable during spec writing, programming, data gathering, troubleshooting, verification of data loading, report writing, data analysis, and exporting to Excel or other external application, etc…
If you look at the field QPMK_STEUERKZ in any table view transaction you’ll see something like the screen shot below.
Each character of the field has meaning for a specific control indicator. In most cases, the indicator is either selected (X) or not (null). In a few cases, other characters might be used to indicated specific choices.
(Yes.. I know.. SAP could have just assigned 30 more single character fields to the table, given really nice help files on each field, and saved us a lot trouble from having to break this field apart and determine all the values for ourselves when ever we need to write a program. But they didn’t, so get over it. Plus it helps to keep consultants in business.)
Over the years, I have decoded MOST of the positional characters, but not all of them. Some of the character positions I believe are not used and could be utilized for future releases. Below is my list of the positions, their meaning, and notes on any special characters or usage that I am aware of.
Please… if you can add more information about any of the character positions or how they are utilized, or if you think I’ve gotten any of these wrong, PLEASE, let me know with a comment or message. I will be sure to update the chart and credit the person making the contribution. It would also be nice for folks to leave comments on how they used this info. Was it in a report? Data extraction? etc..
Thanks! I hope you find this information valuable.
FF
Character position |
Meaning |
Values |
1 |
Quant or Qual charac |
X is quant, Null is Qual. |
2 |
Record measured Values |
X or Null, (set to null if 1 is qual) |
3 |
Characteristic Attributes |
X or Null |
4 |
Upper Spec |
X or Null |
5 |
Lower Spec |
X or Null |
6 |
Target Value |
X or Null |
7 |
Scope |
= is Fixed, > is Larger, < is smaller, Null is No Scope** |
8 |
Long term inspection |
X or Null |
9 |
Recording type |
+ is individual, null is summarized, – is no recording, * is classed recording |
10 |
Documentation |
Null is no documentation . (period) is doc required if rejected + is doc required |
11 |
Charac. req. or not |
X is required, Null is optional, + is after acceptance, – is after rejection |
12* |
Synchronization is Active |
X or Null |
13 |
Additive charac. |
X or Null |
14 |
Destructive charac. |
X or Null |
15 |
Formula |
Null is no formula, X is calculated chara, 1 is input processing |
16 |
Sampling proc. Required |
X or Null |
17 |
Scrap Share/Q score |
X or Null |
18* |
Fixed |
X or Null – Ctrl indicators can not be changed |
19* |
Record # defects |
X or Null – Allows recording of # of defects in addition to # of nonconforming units |
20* |
Subsystem |
X or Null – For control stations – Not QM relevant |
21* |
Specifications |
X or Null – Can Change specs |
22 |
Test Equipment |
X or Null |
23 |
Defects recording |
X or Null |
24 |
RR Change Docs |
X or Null |
25 |
SPC charac. |
X or Null |
26 |
|
Null is print, X – Do no print, * is do not print at skip |
27* |
Parameter Characteristic |
X or Null – Can be used as a Parameter characteristic |
28* |
Process Characteristic |
X or Null – Characteristic of a the process |
29 |
UNKNOWN |
|
30 |
UNKNOWN |
* Inferred from Table TQ27 and related F1 help. I was not able to directly verify these fields by setting up MIC’s to reflect these values and then verify directly in the table QPMK. But I believe them to be correct. – Using the TQ27 to figure out the ones I had missing was suggested by Martin Hinderer. Thanks Martin for the suggestion to help fill in some of the fields.
** updated from information from Marc Werner. Thanks Marc!
******************************************************************************************************************This document is not intended for distribution, publication or for use on internet sites other than by SAP. Written permission for use must be obtained from the original author or SAP. If you are seeing this document on a site other than via SAP.COM please report the pirated use of this material to SAP or the author. ******************************************************************************************************************
Hi FF,
I read once that table TQ27 contains the information on this field. There is e.g. the information that for position 10 the setting "Synchronisation is active" is set (fields of this table seem to be in the same order as within the STEUERKZ).
Maybe this helps to complete this document?
Regards
MH
Thanks Martin! It looks like the fields match up with the control indicators but some of them I don't know how to actually confirm. So I'm going to mark these as having been inferred from the table TQ27.
Thanks for the lead!!!
FF
Good one.. I used to refer only first 2 fields to differentiate Quant. & Qual. Characteristics. Its nice explanation about all characters.
Of course, its bit tough to come across all characters.
Wow!!
Fantastic work Craig. Never thought of even exploring about such table. Only known thing to me was that we made the master data for MICs with several X but did not know about their significance in so much detail.
Regards,
Nitin
Thank you Nitin. I hope it comes in handy someday for you.
Craig
Hi Craig,
please have a look to documentation on the report RCPTRA01.
We used this documentation for copying inspection plans from our old system (VAX).
HTH
Marc
Yes, I've used that program. But that doesn't really have anything to do with this topic does it?
Craig
That does have a fairly thorough overview of the control indicator settings...
I'll go through it again but I didn't see where it explained how the values were stored. I might have missed something though. Wouldn't be the first time!
Craig
Interesting....the relevant section starts with "BIPMK - Inspection characteristics" and does contain information about characteristics for operations in inspection plans beeing loaded to the system (so to my undestanding not referenced MICs, but ones directly added to the plan).
I agree to John's statement, but it raises some questions. Lets take a look at inspection scope (Position 7):
The information in this document here states : = is Fixed, + is Larger, - is smaller, Null is No Scope
The information in the upload program documentation states:
BIPMK-PUMFKZ Indicator: Inspection scope
This indicator can have various values:
Set " " for: scope not fixed
Set "<" for: smaller scope
Set ">" for: larger scope
Set "=" for: fixed scope
I would assume therefore that the program uses a different syntax than the SAP table where the information is stored. Nevertheless it might add some more value to this SCN document. To be verified...
Regards
MH
I did some more investigation:
I am not sure how the values + and - came into the document, I would assume that Craig provided them with the initial version? Which brings me to the assumption that in this case either both values (+,- or <,>) are working, or that we might have to correct this here. Within the system I am having here the table QPMK has (<,>) at this position.
Craig S can you confim that?
Regards
MH
I will try to double check that this week. The values I have posted came from a document I had for my own personal use from several years back. Possibly as far back as 3.1 or 4.0.
Is it possible that SAP changed these along the way? I'll see what I can find out.
Craig
Very nice and Explanatory ....Thank you Craig...
Hi all,
for my case the schema is't like yours.
Little example:
IN QPMK-STEUERKZ i have found value 'XX ' I know it is a quantitative indicator.
Another case is 'X ' it is a qualitative indicator.
So in my case Quant. or Qual. charac. is 2nd char not the 1st.
So what is the first char???
Regards
DB
No. the first character is qual or quant.
In below examples I use ^ to represent a null value.
XX is Quant with "record measured values" set.
X^ is Quant with "record measured values" not set.
^^ is Qual with "record measured value" not set.
I do not believe you'll find the condition of ^X which would be Qualitative with "record measured values" set.
If you do have a qualitative characteristic where QPMK-STEUERKZ starts with an "X" in the first characteristic I would be very interested in seeing the QPMK entry in a screen and a second & third screen shot seeing the 1st and 2nd page of control indicators. Making sure that in all screen shots you can see the mic and version numbers. But your QPMK table example MUST be exported to Excel and displayed in a non-proportional font.
Be very careful when you display and look at QPMK-STEUERKZ.
This screen shot is from the QPMK table display of a quantitative (A001001) and qualitative (A006005) MIC.
In this shot it looks like the first characters X for both the quant and qual MIC.
This is the same data exported to Excel. The Excel sheet is using an Arial 10 font by default.
It now looks very much like an XX for the quant and a ^X for the qual.
In this screen shot, I selected column E and changed the font for that column to Courier New 10.
Courier New is a non-proportional font. In non-proportional fonts, all letters AND spaces take up exactly the same space. An i takes up the same space as a M. Most displays and default fonts are proportional fonts where the space used by a letter is based on the size of the letter.
I recommend when working with any master data conversions or examining data, switch to a non-proportional font. It can help prevent errors and can speed up the review of large data sets. Not a lot of people do this. This paragraph is a non-proportional font.
Craig
Thanks Craig for your explanation.
Now it's much clear.
So i can move qpmk-steuerkz to structure QMKST and have result.
DB
I have no clue about the moving this stuff to a structure as I'm not an ABAP'er. But I would assume you can copy it into a structure and than parse it as needed to use the data.
Craig
I bellieve the standard function module QSS0_QMKST_RQMST can help...
If you fill in the import parameter QMKST_IMP using same values and positions of QPMK-STEUERKZ like below:
After executing this function, it will give you the translation in the export parameter RQMST_EXP:
Craig!!!!!
Fantastic!! You mentioned this could be valuable "one day"... This was valuable TODAY!!!
V.
It will also make it easier to download (read) the data when using SE16 instead of SE16N.
Corne
Craig
Using value of control indicator and structure QMKST.
PLMK-STEUERKZ (inspection characteristic of plan)
QPMK-STEUERKZ (master inspection characteristic)
QAMV-STEUERKZ (inspection characteristic of lot)
I'm not sure what point you are trying to get across.
I think you mean that when programming you can use structure QMKST to pull out the values of the control indicators from those three objects? Is that what you are saying? That was discussed I think in the comments above by Vicente.
All three of those objects can have different values depending on configuration and design. The values in QAMV and PLMK are copied in when those objects get created. PLMK values can change if the MIC is unlocked in the plan and control indicators modified. QAMV values will reflect the settings the time the QAMV record was created. PLMK or OPMK values could have lone since been changed/modified.
The blog was originally intended to provided info on how to read this data primarily via table review in SE16. Not via programming. To write a report, yes the programming structure can be used. But I had often been asked where this data was stored. Hence the blog.
Craig
Hello Craig,
first of all, thanks for this article, it is really helpful.
I have an issue understanding how the values from TQ27 are linked to values in QPMK table. I would have thought the STEURKZ field in QPMK would act as a secondary key to TQ27, but the values in this field in QPMK and TQ27 are completely different. Can you help understand this?
Thanks
Libor
What you see in the QPMK-STEURKZ is copied from the preset you choose.
Table TQ27 is a config table and is simply a list of possible combinations of indicators. You can pick one of these when creating a MIC or a characteristic in an inspection plan but it has no enforcement properties.
When you specify a preset in the MIC creation, it looks up the presets values and sets the characteristic accordingly. Nothing says you can't change any of the control indicators during the creation process. It's just basically setting up default values for you. The preset value is not stored anywhere in the QPMK table so there is no link between QPMK and TQ27. There never was any intention to do so. You are always free to change any control indicator in any MIC at anytime without any regard to any preset.
The presets really come in handy when doing data loading for new systems as well migrations. You can specify a preset and not have to worry about handling individual control indicators in a load program. Otherwise, once in production, I rarely see a use for the presets.
I hope that helps.
Craig
I think what is really helpful in this context is structure QMKST