Skip to Content
IntegrationsSAPQM Pack — Quality

SAP QM Pack — Quality

The quality pack covers the path from the inspection lot SAP creates to the usage decision that releases the material — through whatever the lab or the line operator measures.

Before installing, read SAP Packs — the wizard and the parameters are shared by all three packs.

The flow it solves

The most valuable part of the pack is step C: the MES does not need the inspection plan in its own database. It asks SAP which characteristics to measure, with nominal value, tolerances, unit and code catalog — and builds the operator screen from that. Change the plan in SAP, the screen changes.

Decisions you will have to make

Results per operation or per characteristic?

Per operation (batched)Per characteristic
MessagesOne per operation, with an array of resultsOne per measurement
When to useThe operator fills a form and submits it allThe instrument sends one measurement at a time
VolumeLowerHigher

Per operation is the recommendation. It is the only recipe in the pack where your system sends a list — the resultados field is an array, one object per characteristic.

Inspection point

Only makes sense when the inspection plan is set up for in-process inspection (hourly, per pallet, per batch). If the operation is not configured that way in SAP, creating the point fails — the pack maps that error with this explanation.

The point’s free fields (USERC1 and friends) are useful to stamp shift, crew or production batch. The recipe already exposes turno.

Usage decision

The usage decision requires the selected set from your plant’s QM Customizing, along with code group and code. There is no universal default — fill in the Usage decision selected set parameter in step 3 of the wizard with what the quality team gives you.

The usage decision is what moves stock: approving takes the material out of inspection stock into unrestricted use. It is the highest-impact recipe in the pack — worth activating last, once the results are trustworthy.

Gotchas in this pack

A required characteristic with no result blocks the usage decision. It is the most common reason for the UD to fail. The pack maps the error; the fix is making sure the MES recorded everything before deciding.

A quality notification is a create/save pair — in the same session. BAPI_QUALNOT_CREATE only builds the notification in the RFC session’s memory. The Open notification recipe already calls BAPI_QUALNOT_SAVE next, in the same session and with commit (see follow-up calls). The standalone Save notification recipe does not save a notification created by another message: each message opens its own connection, and the first one’s notification does not exist in the second.

The pack does not create inspection lots: SAP does, from the goods movement or the order. If your plant needs ad-hoc inspection, that is QM configuration, not CMS.

Summary

26 recipes — 12 collection, 14 delivery — of which 11 essential.

Recipes

Inspection

RecipeDirectionSAP functionSolves
Inspection lot backlog ·essentialCollectionBAPI_INSPLOT_GETLISTLists the plant’s inspection lots still awaiting a usage decision — the lab work queue.
Inspection lot detail ·essentialCollectionBAPI_INSPLOT_GETDETAILGeneral lot data: material, source order, quantities and status — the header of the MES inspection screen.
Inspection operations ·essentialCollectionBAPI_INSPOPER_GETLISTThe inspection plan operations inside the lot — each groups the characteristics the operator will measure.
Characteristics to measure ·essentialCollectionBAPI_INSPCHAR_GETREQUIREMENTSNominal value, tolerances, unit and catalog for a characteristic. What the MES needs to build the quality form without re-keying the plan.
Inspection points ·essentialCollectionBAPI_INSPPOINT_GETLISTLists inspection points already created in an operation — so the MES knows what was already recorded in the shift.
Inspection lot operationsCollectionBAPI_INSPLOT_GETOPERATIONSInspection lot operations. Recipe generated from the BAPI_INSPLOT_GETOPERATIONS signature in SAP.
Inspection lot statusCollectionBAPI_INSPLOT_GETSTATUSInspection lot status. Recipe generated from the BAPI_INSPLOT_GETSTATUS signature in SAP.

Results

RecipeDirectionSAP functionSolves
Operation results, batched ·essentialDeliveryBAPI_INSPOPER_RECORDRESULTSRecords several results at once for one inspection operation. The recommended path for MES: one message per operation, not per characteristic.
Single characteristic result ·essentialDeliveryBAPI_INSPCHAR_SETRESULTRecords the result of a single characteristic. Useful when the instrument sends one measurement at a time.
Create inspection point ·essentialDeliveryBAPI_INSPPOINT_CREATEFROMDATAIn-process quality recording — hourly, per pallet, per batch. Creates the point the results will hang from.
Inspection operation detailCollectionBAPI_INSPOPER_GETDETAILInspection operation detail. Recipe generated from the BAPI_INSPOPER_GETDETAIL signature in SAP.
Operation characteristicsCollectionBAPI_INSPOPER_GETCHAROperation characteristics. Recipe generated from the BAPI_INSPOPER_GETCHAR signature in SAP.
Results already recordedCollectionBAPI_INSPCHAR_GETRESULTResults already recorded. Recipe generated from the BAPI_INSPCHAR_GETRESULT signature in SAP.
Inspection point requirementsCollectionBAPI_INSPPOINT_GETREQUIREMENTSInspection point requirements. Recipe generated from the BAPI_INSPPOINT_GETREQUIREMENTS signature in SAP.
Close inspection operationDeliveryBAPI_INSPOPER_ACKNOWLEDGEClose inspection operation. Recipe generated from the BAPI_INSPOPER_ACKNOWLEDGE signature in SAP.
Change inspection pointDeliveryBAPI_INSPPOINT_CHANGEChange inspection point. Recipe generated from the BAPI_INSPPOINT_CHANGE signature in SAP.

Usage decision

RecipeDirectionSAP functionSolves
Usage decision ·essentialDeliveryBAPI_INSPLOT_SETUSAGEDECISIONApproves or rejects the inspection lot and moves the blocked stock. The step that releases material for use.

Notification

RecipeDirectionSAP functionSolves
Create quality notification ·essentialDeliveryBAPI_QUALNOT_CREATERecords a deviation found on the shop floor as a quality notification, already linked to material and batch.
Save quality notification ·essentialDeliveryBAPI_QUALNOT_SAVEPersists the notification created in the previous step. The mandatory second half of the notification create/save pair.
Quality notificationCollectionBAPI_QUALNOT_GETDETAILQuality notification. Recipe generated from the BAPI_QUALNOT_GETDETAIL signature in SAP.
Add data to the notificationDeliveryBAPI_QUALNOT_ADD_DATAAdd data to the notification. Recipe generated from the BAPI_QUALNOT_ADD_DATA signature in SAP.
Change notification dataDeliveryBAPI_QUALNOT_MODIFY_DATAChange notification data. Recipe generated from the BAPI_QUALNOT_MODIFY_DATA signature in SAP.
Release / put in processDeliveryBAPI_QUALNOT_RELSTATRelease / put in process. Recipe generated from the BAPI_QUALNOT_RELSTAT signature in SAP.
Complete notificationDeliveryBAPI_QUALNOT_COMPLSTATComplete notification. Recipe generated from the BAPI_QUALNOT_COMPLSTAT signature in SAP.
Change user statusDeliveryBAPI_QUALNOT_CHANGEUSRSTATChange user status. Recipe generated from the BAPI_QUALNOT_CHANGEUSRSTAT signature in SAP.
Change task statusDeliveryBAPI_QUALNOT_CHANGETSKSTATChange task status. Recipe generated from the BAPI_QUALNOT_CHANGETSKSTAT signature in SAP.

Field contracts

Inspection lot backlog

PREFIXO_QM_LOTE_LISTA — Your system provides these fields when calling the collection URL.

Needs review before activating. Created inactive: sweeps the plant backlog on every run, capped at 200 lots. Set the interface schedule before activating.

No input fields: the recipe runs on the scheduler, with the values fixed in the pack parameters.

Inspection lot detail

PREFIXO_QM_LOTE_DETALHE — Your system provides these fields when calling the collection URL.

FieldRequiredSAP field
loteInspecaoyesNUMBER

Inspection operations

PREFIXO_QM_OPERACOES — Your system provides these fields when calling the collection URL.

FieldRequiredSAP field
loteInspecaoyesINSPLOT

Characteristics to measure

PREFIXO_QM_CARACTERISTICAS — Your system provides these fields when calling the collection URL.

FieldRequiredSAP field
loteInspecaoyesINSPLOT
operacaoInspecaoyesINSPOPER
caracteristicayesINSPCHAR

Inspection points

PREFIXO_QM_PONTOS_INSPECAO — Your system provides these fields when calling the collection URL.

FieldRequiredSAP field
loteInspecaoyesINSPLOT
operacaoInspecaoyesINSPOPER

Operation results, batched

PREFIXO_QM_RES_OPERACAO — Your system sends these fields in the message body.

Needs review before activating. The “resultados” field is an ARRAY of objects, one per characteristic, in BAPI2045D2 shape (INSPCHAR, MEAN_VALUE, EVALUATION, CLOSED…). The only recipe where the MES sends a list.

FieldRequiredSAP field
loteInspecaoyesINSPLOT
operacaoInspecaoyesINSPOPER
resultadosyesCHAR_RESULTS

Single characteristic result

PREFIXO_QM_RES_CARACT — Your system sends these fields in the message body.

FieldRequiredSAP field
loteInspecaoyesINSPLOT
operacaoInspecaoyesINSPOPER
caracteristicayesINSPCHAR
valorMedidoyesCHAR_RESULT.MEAN_VALUE
avaliacao—CHAR_RESULT.EVALUATION
encerrar—CHAR_RESULT.CLOSED
inspetor—CHAR_RESULT.INSPECTOR
quantidadeDefeitos—CHAR_RESULT.DEFECTS

Create inspection point

PREFIXO_QM_PONTO_INSPECAO — Your system sends these fields in the message body.

FieldRequiredSAP field
loteInspecaoyesDATA.INSPLOT
operacaoInspecaoyesDATA.INSPOPER
quantidade—DATA.QUANTITY
unidade—DATA.UNIT
equipamento—DATA.EQUIPMENT
material—DATA.MATERIAL
observacao—DATA.REMARK
turno—DATA.USERC1

Usage decision

PREFIXO_QM_DECISAO_USO — Your system sends these fields in the message body.

Needs review before activating. Fill the “Usage decision selected set” binding with the SELECTED SET from your QM Customizing — without it SAP rejects the decision.

FieldRequiredSAP field
loteInspecaoyesNUMBER
grupoCodigoyesUD_DATA.UD_CODE_GROUP
codigoDecisaoyesUD_DATA.UD_CODE
observacao—UD_DATA.UD_TEXT_LINE

Create quality notification

PREFIXO_QM_NOTIF_ABRIR — Your system sends these fields in the message body.

Needs review before activating. Creates AND saves the quality notification in one call: BAPI_QUALNOT_CREATE and, in the same session, BAPI_QUALNOT_SAVE (under “Call next”), with commit. The final number comes in BAPI_QUALNOT_SAVE.

FieldRequiredSAP field
descricaoyesNOTIFHEADER.SHORT_TEXT
material—NOTIFHEADER.MATERIAL
lote—NOTIFHEADER.BATCH
prioridade—NOTIFHEADER.PRIORITY
dataOcorrencia—NOTIFHEADER.NOTIF_DATE

Save quality notification

PREFIXO_QM_NOTIF_GRAVAR — Your system sends these fields in the message body.

Needs review before activating. Only saves a notification still in the memory of the SAME RFC session — since each CMS message opens its own connection, this Delivery alone does not save the notification created by “Open notification”. Use “Open notification”, which already creates and saves in one call.

FieldRequiredSAP field
numeroNotificacaoyesNUMBER

Inspection lot operations

PREFIXO_QM_INSPLOT_GETOPERATIONS — Your system provides these fields when calling the collection URL.

FieldRequiredSAP field
numeroyesNUMBER

Inspection lot status

PREFIXO_QM_INSPLOT_GETSTATUS — Your system provides these fields when calling the collection URL.

Needs review before activating. Created INACTIVE: the pack cannot guess the content — preencher a estrutura LANGUAGE. Open the definition, use the “SAP Function Parameters” popup to fill it in, then activate.

FieldRequiredSAP field
numeroyesNUMBER

Inspection operation detail

PREFIXO_QM_INSPOPER_GETDETAIL — Your system provides these fields when calling the collection URL.

FieldRequiredSAP field
loteInspecaoyesINSPLOT
operacaoInspecaoyesINSPOPER

Operation characteristics

PREFIXO_QM_INSPOPER_GETCHAR — Your system provides these fields when calling the collection URL.

FieldRequiredSAP field
loteInspecaoyesINSPLOT
operacaoInspecaoyesINSPOPER

Results already recorded

PREFIXO_QM_INSPCHAR_GETRESULT — Your system provides these fields when calling the collection URL.

FieldRequiredSAP field
caracteristicayesINSPCHAR
loteInspecaoyesINSPLOT
operacaoInspecaoyesINSPOPER

Inspection point requirements

PREFIXO_QM_INSPPOINT_GETREQUIREMENTS — Your system provides these fields when calling the collection URL.

FieldRequiredSAP field
loteInspecaoyesINSPLOT
operacaoInspecaoyesINSPOPER

Quality notification

PREFIXO_QM_QUALNOT_GETDETAIL — Your system provides these fields when calling the collection URL.

FieldRequiredSAP field
numeroyesNUMBER

Close inspection operation

PREFIXO_QM_INSPOPER_ACKNOWLEDGE — Your system sends these fields in the message body.

Needs review before activating. Created INACTIVE: the pack cannot guess the content — preencher a tabela HANDHELD_WORKLIST. Open the definition, use the “SAP Function Parameters” popup to fill it in, then activate.

FieldRequiredSAP field
handheldApplicationyesHANDHELD_APPLICATION

Change inspection point

PREFIXO_QM_INSPPOINT_CHANGE — Your system sends these fields in the message body.

Needs review before activating. Created INACTIVE: the pack cannot guess the content — preencher a estrutura DATA. Open the definition, use the “SAP Function Parameters” popup to fill it in, then activate.

FieldRequiredSAP field
loteInspecaoyesINSPLOT
operacaoInspecaoyesINSPOPER
pontoInspecaoyesINSPPOINT

Add data to the notification

PREFIXO_QM_QUALNOT_ADD_DATA — Your system sends these fields in the message body.

FieldRequiredSAP field
numeroyesNUMBER

Change notification data

PREFIXO_QM_QUALNOT_MODIFY_DATA — Your system sends these fields in the message body.

FieldRequiredSAP field
numeroyesNUMBER

Release / put in process

PREFIXO_QM_QUALNOT_RELSTAT — Your system sends these fields in the message body.

FieldRequiredSAP field
numeroyesNUMBER

Complete notification

PREFIXO_QM_QUALNOT_COMPLSTAT — Your system sends these fields in the message body.

Needs review before activating. Created INACTIVE: the pack cannot guess the content — preencher a estrutura SYSTSTAT. Open the definition, use the “SAP Function Parameters” popup to fill it in, then activate.

FieldRequiredSAP field
numeroyesNUMBER

Change user status

PREFIXO_QM_QUALNOT_CHANGEUSRSTAT — Your system sends these fields in the message body.

Needs review before activating. Created INACTIVE: the pack cannot guess the content — preencher a estrutura USR_STATUS. Open the definition, use the “SAP Function Parameters” popup to fill it in, then activate.

FieldRequiredSAP field
numeroyesNUMBER

Change task status

PREFIXO_QM_QUALNOT_CHANGETSKSTAT — Your system sends these fields in the message body.

FieldRequiredSAP field
numeroyesNUMBER
taskCodeyesTASK_CODE
taskKeyyesTASK_KEY