SAP PP tables & link between them

Taken from : https://sap4tech.net/sap-production-order-tables/

SAP Production Order Tables and Join Between PO Tables (AUFK, AFVC, AFFL, AFRU…)

SAP Production Order Tables: find the most important SAP Tables used for Production Orders.

SAP PO Tables, in this article, will be classified by topics including: AFKO, AFVC, Status, Operation, Routines, Confirmations, missing Parts Tables, SAP CIM Order Tables.

As bonus, you will find some useful join condition to retrieve data of Production Order data for Standard SAP Tables.

SAP Production Order Tables

What’s Production Order in SAP

Production orders are a fundamental part of Production Planning and Control (PP).

PP is fully integrated in the Logistics (LO) component and has, among others, interfaces to

  • Sales and Distribution (SD)
  • Materials Management (MM)
  • Controlling (CO)

Source: Production Orders (PP-SFC)

Main SAP Production Order Tables

The main Production order tables name in sap are

  • AUFK Production order headers
  • AFKO Order header data PP orders
  • AFPO Order item

Check also SAP Production Orders Tcodes and SAP Planning Order Transactions

Join Between AUFK and AFPO

To retrieve Order Header from PP Production Order, join between

AUFK (Order header) and AFPO on field AUFNR

SAP PO Status tables

The main Production Order Status tables are:

  • JSTO Status profile
  • JEST Object status
  • TJ30 user status codes
  • TJ31 process control user status

How to find Status of SAP Production Order ?

In order to find SAP Production Order Status make a join between
AUFK (Order header) & JEST (active Status) on OBJNR

Link between JEST and TJ31 is set on STSMAS and ESTAT.

Alternatively, you can use the SAP Standard BAPI to read Production Order status: call function ‘STATUS_READ’ exporting OBJNR = L_AUFNR ONLY_ACTIVE = ‘X’ tables STATUS = IT_JEST exceptions OBJECT_NOT_FOUND = 1 others = 2.

SAP Production Order: Operation Table AFVC

The Production Order Operation can be found in the following Tables

  • AFVC Order operations
  • AFVV Quantities/dates/values in the operation
  • AFVU User fields of the operation

SAP Production Order: SAP Routing Tables

The Routing for Production Orders tables are:

  • AFFL Work order sequence
  • AFFH PRT assignment data for the work order (routing)

The link between AFKO (Order header) & AFVC (order routing) is set on field AUFPL

Sap production order confirmation table

SAP Order Confirmations are stored in

  • AFRU (confirmation)

To retrieve the confirmation of a SAP Production Order;
join between AFVC (order routing) and AFRU (confirmation) on : AUFPL & APLZL & PLNFL & VORN

Sap production order Tcode and Transaction

Find the list of the most important SAP Tcodes for SAP Production Orders and Planned Order in SAP PP in the following Post SAP Production Orders Tcodes.

Production Order Tables in SAP PP

SAP PP Confirmations for SAP Production Orders Tables

The following list is the SAP Tables for Production Orders Confirmation in SAP PP

TablesSAP PRODUCTION ORDER TABLES
AFFWGoods movements with errors from confirmation
AFRCTable of planned changes to conf.: Automatic
AFRDDefault values for collective confirmation
AFRHHeader information for confirmation pool
AFRP1Table of planned changes to conf.: Automatic
AFRP2/3/4Table of planned changes for confirmation: A/B/Data
AFRUOrder completion confirmations
AFWISubsequently posted goods movements for conf
TAFWDCORU: Messages that are not interpreted
TCORDTable for field-dependent check routines
TCORUParameters for order confirmations
TCORVTable with Routines for structuring variable
TCORWConfirmation: Window Control
TPARUControl paralleled confirmation processes
TPRRUControl table for process chain for confirmation
TPRRUTText table for process control of confirmation
TRUGSUser status caused by deviation

Source:Table name & field name for production order & operation confirmation

List of SAP PP Production Order Data Tables

The following list is the SAP Production Order Tables in SAP PP.

These SAP PO Tables stored all the PO Data:

TablesSAP PRODUCTION ORDER TABLES
AFBPCIM order: Batch print requests
AFFLWork order sequence
AFKOOrder header data PP orders
AFPOOrder item
AFVCOperation within an order
AFVUDB structure of the user fields of the opera
AFVVDB structure of the quantities/dates/values
FAPWIndex of production-/issuing plant for production
ORDCOMCommunication control Operation download

SAP Print PP Tables

SAP Print PP Tables handles the output of PP Documents.

PRINT PP TABLESDESCRIPTION
T496PPrint PP documents: Determination of output
T496RPrint PP shop papers: Report control
T496TSAP Print PP shop papers: Transaction control
T496VPP Print: Default Value for Printing Online

SAP CIM Order Tables in PP

The following List contains Related SAP CIM Tables in PP.

TablesSAP CIM ORDER TABLES
T496BCIM order: Assigning document types to refer
T496DCIM: Destination/lists/spool parameters per
T496FCIM order: Form description of the list
T496KCIM order: Entity table of possible table id
T496NList descriptions for CIM order Table
T496ZCIM order: Table-controlled table access
TCO03CIM order: Texts for TCO01
TCO41Default values for generating operation in CIM order
TCO09CIM order: Text IDs of objects in orders

SAP Missing Parts Tables

Here another list of SAP PP Tables related to Production Order Process.

The main SAP Missing Parts Tables are:

TablesSAP MISSING PARTS TABLES
TCOFProfile for missing parts info system
TCOFFProfile for Missing Parts Info System: Display
TCOFFTTexts for Missing Parts Info System: Display
TCOFGProfile for missing parts info system: Criteria
TCOFGTTexts for Missing Parts Info System: Criteria
TCOFKTexts for functions in milestones/trigger
TCOFSProfile for Missing Parts Info System: Sort
TCOFSTTexts for Missing Parts Info System: Sort
TCOFTTexts for Missing Parts Info System
TXPR1XPRA control : missing parts info system
TXPR1XPRA control : missing parts info system
FTINDMissing parts index

Text & Customizing Tables for Production Order

In the next part, you will find the list to related SAP PP Production Order Tables starting with T*.

In fact, this Tables’s List is more for customizing and Text Tables.

TablesSAP PRODUCTION ORDER TABLES
T024FProduction scheduler
T399XParameters dependent on order type
T441CProfile : availability check
T441CTTexts for Profile “Display Availability Check”
T490Transactions PP – orders – order category
T024FProduction scheduler
T024FProduction scheduler
T399XParameters dependent on order type
T441CProfileavailability check
T441CTTexts for Profile “Display Availability Check”
T490Transactions PP orders: order category
TC32Assigning subscreen to processing location
TC34Allocating operation to object type for the
TC62Sequence of detail screens when processing
TCO01Sequence/operations control in logistics
TCO04Table for controlling the screen sequence
TCO05CUA status depending on panel & trans. type
TCO06Exclusive functions for PP orders
TCO10Valuation variant for order costing
TCO11Control table for production orders – available
TCO12Control table production orders – stock
TCO36PP orders: Control table for calling up pop-
TCO43PP-SFC order profile
TCO43TDescription of production scheduler profile
TCO60Sequence keys for input facility and verification
TCO61Sequence key for PP orders
TCO62Defining screen sequences for input facility
TCO63Sequence of detail screens when maintaining
TCODBDatabase fields development class CO per order
TCOKOConstants for PP orders
TCOKTAccount assignment categories for order
TCOPField selection profile
TCOPSField selection profile
TCOPTDescription of Profile for Field Selection
TRUGReason for variances in completion confirmation
TRUGTText describing the reason for a variance in

Activate Change pointers for Message generation

BD10 to generate Material Idocs (MATMAS)

BD30 to generate BOM idocs (BOMMAT)

BD21 to process changes pointers. Here is how to set them :

https://blogs.sap.com/2014/03/09/change-pointers-in-r3/

Important :

  • By default, change pointers are generated for all changes in the material master (no filter by plant).
    • Filter can be done by Badi BDCP_BEFORE_WRITE for the specific message type to register in change pointer table (BDCP2) only the relevant changes required.
    • It can be done also filtering in the distribution model but then the plant in this case should be in a mandatory segment to avoid those messages to be sent. 

Introduction:

This document explains how to track the Material Master Data changes using change pointers in SAP R/3 environment.

Let us understand by taking following example –

The requirement is to track the Material Master changes in SAP R/3 environment and to send the information to some Legacy system (in form of AL11 Text file), if following fields changes –

  • If any new Material is created.
  • If Material is assigned with Dangerous indicator profile
  • UN Number
  • Dangerous Good Class
  • Dangerous Good Packing Group

Master data changes can be distributed with the SMD (Shared Master Data) tool. Changes to the Master Data are written in change documents interface, which in turn logs entries into change pointers.

The following step shows the change pointers settings and how to track the change logs for modified data.

Step 1 – Create Message Type (WE81)

/wp-content/uploads/2014/03/1_406385.jpg

Step 2: Assign Table Fields to Message type (BD52)

Assign table fields to message type which needs to be considered for Change pointers generation.

/wp-content/uploads/2014/03/2_406386.jpg

Step 3: Activate Change Pointers generally (BD61)

/wp-content/uploads/2014/03/3_406387.jpg

Step 4: Activate change pointers corresponding to fields in message type(BD50)

/wp-content/uploads/2014/03/4_406388.jpg

Also check if the data elements of all the required fields has ‘change Document’ field checked (Below screen shot for Material Number)

/wp-content/uploads/2014/03/5_406389.jpg

Step 5: Create a new Part Number and change following fields to test the generation of change logs in table CDHDR, CDPOS, BDCP and BDCPS.

  • Dangerous indicator profile (Transaction MM02)
  • UN Number (Transaction DGP3)
  • Dangerous Good Class (Transaction DGP3)
  • Dangerous Good Packing Group (Transaction DGP3)
Transaction – MM02Transaction – DGP3
  

Step 6: Create a report which will perform following functions –

  • Read non processed change logs using Function Module CHANGE_POINTERS_READ by passing the Message type name
/wp-content/uploads/2014/03/8_406392.jpg
  • Create a text file with all the required material information
  • Transfer that file on the application server (AL11)

And from application server the file is transferred to legacy system using some UNIX Script (this is out of scope of this BOK)

In addition to above FM (change_pointers_Read) you can also see the logs in following Table –

  • CDHDR (Change Document Header Table)
  • CDPOS (Change Document Items)
  • BDCP   (Change Pointer table
  • BDCPS (Change Pointer Status table)

IDOC Generation to send modified records –

In addition to above report you can also create a Function module and create an IDOC’s to send the modified data to legacy system-

Step1 – Create a Function module (e.g. ZTESTFM)

In this you can populate the IDOC segments and use the FM – MASTER IDOC_DISTRIBUTE to create and IDOC

Step2 – Assign Function module to Message Type (Transaction BD60)

/wp-content/uploads/2014/03/9_406393.jpg

Step 7: For the master data that are processed set the change pointer status to ‘Processed’ by setting its value to ‘X’ by calling function module CHANGE_POINTER_STATUS_WRITE.

/wp-content/uploads/2014/03/10_406394.jpg

Delete change pointers

Transaction is BD22 or the standard program RBDCPCLR deletes the obsolete/processed change pointers.

/wp-content/uploads/2014/03/11_406395.jpg

Web-service

Via la transaction SM58, visualisation des Remote Function Call ( RFC ) et de leur status.

Un RFC est une transaction exécuté dans SAP par un autre système, fait avec un user/password porté par l’application qui se connecte. Le user doit être valide et non-bloqué.

BAPI PP

https://blogs.sap.com/2013/07/12/list-of-bapi-for-production-planning-module/

About BAPI:

BAPIs enable access to SAP functions across formal, stable and dialog-free interfaces. These interfaces can be used by external applications developed by customers and complementary software partners as well as by other SAP applications. Defined as API methods of SAP Business Object Types, these object types are used within the Business Framework to enable object-based communication between components.

Business objects and their BAPIs enable object orientation to be used in central information processing in companies. For example, existing functions and data can be re-used, trouble-free technical interoperability can be achieved and non-SAP components can be implemented. Applications can use BAPIs to directly access the application layer of the R/3 System and, as clients; applications can use the business logic of the R/3 System. BAPIs provide the client with an object-oriented view of the application objects without needing to know the implementation details. BAPIs are always developed by defining scenarios which are used to map and implement system-wide business processes.

LIST OF BAPI FOR PRODUCTION PLANNING :

Routing:

BAPI_ROUTING_CREATE                                                                     Creation of a routing

BAPI_ROUTING_EXISTENCE_CHECK                                                Check existence of object

Reference operation set:

BAPI_REFSETOFOPERATIONS_CREATE                                           Creation of a reference operation set

BAPI_REFSETOFOPR_EXISTENCE_CHK                                           Check existence of reference operation set

Planned order:

BAPI_PLANNEDORDER_CHANGE                                                       Change Planned Order        

BAPI_PLANNEDORDER_CREATE                                                        Create Planned Order

BAPI_PLANNEDORDER_DELETE                                                        Delete Planned Order

BAPI_PLANNEDORDER_EXIST_CHECK                                              Check Existence of Object

BAPI_PLANNEDORDER_GET_DETAIL                                                 Get Details for Planned Order

BAPI_PLANNEDORDER_GET_DET_LIST                                            Get Detailed List

Planned Independent Requirement:

BAPI_REQUIREMENTS_CHANGE                                                        Change Planned Independent Requirement

BAPI_REQUIREMENTS_CREATE                                                        Create Planned Independent Requirement                                     

BAPI_REQUIREMENTS_GETDETAIL                                                   Display detail of P.I.R

Production order:

BAPI_PRODORD_WM_MAT_STAGING                                               WM Material Staging

BAPI_PRODORD_SETUSERSTATUS                                                 Set User Status

BAPI_PRODORD_SET_DEL_INDICATOR                                          Set Deletion Indicator

BAPI_PRODORD_SET_DELETION_FLAG                                         Set Deletion Indicator

BAPI_PRODORD_SCHEDULE                                                            Carry Out Scheduling

BAPI_PRODORD_REVOKEUSERSTATUS                                        Cancel User Status

BAPI_PRODORD_RELEASE                                                               Release

BAPI_PRODORD_GET_LIST                                                               List of Order Headers

BAPI_PRODORD_GET_DETAIL                                                          Order Detail Data

BAPI_PRODORD_EXIST_CHECK                                                       Existence Check

BAPI_PRODORD_CREATE_FROM_REF                                           Create with Template

BAPI_PRODORD_CREATE_FROM_PLORD                                     Create with Planned Order

BAPI_PRODORD_CREATE_CAP_REQ                                             Generate Capacity Requirement

BAPI_PRODORD_CREATE                                                                 Create Production Order

BAPI_PRODORD_COSTING                                                               Create Cost Estimate

BAPI_PRODORD_COMPLETE_TECH                                               Complete Technically

BAPI_PRODORD_CLOSE                                                                  Close Order

BAPI_PRODORD_CHECK_MAT_AVAIL                                              Check Material Availability

BAPI_PRODORD_CHANGE                                                                Change Production Order

Production order confirmation:

BAPI_PRODORDCONF_GET_TT_PROP                                          Propose data for time ticket confirmation

BAPI_PRODORDCONF_GET_TE_PROP                                          Propose data for time event confirmation

BAPI_PRODORDCONF_GETLIST                                                      Confirmation lists

BAPI_PRODORDCONF_GETDETAIL                                                 Detailed data for production order confirmation

BAPI_PRODORDCONF_GET_HDR_PROP                                       Propose data for order confirmation

BAPI_PRODORDCONF_EXIST_CHK                                                 Check existence of object

BAPI_PRODORDCONF_CREATE_TT                                                Enter time ticket confirmation

BAPI_PRODORDCONF_CREATE_TE                                                Enter time ticket confirmation

BAPI_PRODORDCONF_PDC_UPLOAD_TT                                      Transfer time ticket confirmations from PDC system

BAPI_PRODORDCONF_PDC_UPLOAD_TE                                     Transfer time ticket confirmations from PDC system

BAPI_PRODORDCONF_CREATE_HDR                                            Enter order confirmations

BAPI_PRODORDCONF_CREATE_ACT                                             Enter activity confirmation

BAPI_PRODORDCONF_CANCEL                                                      Cancel production order confirmation

BDC Download & Upload for production order:

BAPI_RCVPRORDCF_RECEIVEPRODORD                                   PP-PDC: Download production orders

BAPI_RCVPRORDCF_RECEIVEWORKC                                        PP-PDC: Download work centers

BAPI_RCVPRODCF_REQUEST_CONF                                           PP-PDC: Upload request

KANBAN:

BAPI_KANBAN_CHANGE                                                                   Change Kanban Data

BAPI_KANBAN_CHANGESTATUS                                                     Change status of a kanban

BAPI_KANBAN_CHANGESTATUS1                                                   Change status of a kanban

BAPI_KANBAN_GETLIST                                                                   Determination of Kanbans Matching Selection Criteria

BAPI_KANBAN_GETLIST_ALL                                                           Determination of Kanbans Matching Selection Criteria

BAPI_KANBAN_GETLISTFORSUPPLIE1                                         Determination of Kanbans Matching Selection Criteria

BAPI_KANBAN_GETLISTFORSUPPLIER                                         Provide Kanban data for vendors

BAPI_KANBAN_SETINPROCESS                                                     Provide Kanban data for vendors

KANBAN CONTROL CYCLE:

BAPI_KANBANCC_ADDEVENTDRKANBAN                                     Create Event-Driven KANBAN for Control Cycle    

BAPI_KANBANCC_CHANGE                                                            Change Control Cycle

BAPI_KANBANCC_CREATE                                                             Create Control Cycle

BAPI_KANBANCC_DELETE                                                             Delete Control Cycles

BAPI_KANBANCC_EXISTCHECK                                                    Check Existence of Control Cycle

BAPI_KANBANCC_GETLIST                                                             Determine Kanban Control Cycles with Selection Criteria

BAPI_KANBANCC_GETLIST_ALL                                                     Determine Kanban Control Cycles with Selection Criteria

BAPI_KANBANCC_WITHDRAWQUANTITY                                     Quantity Signal for Kanban Control Cycle

REM Confirmation:

BAPI_REPMANCONF_CANCEL                                                       Reverse REM Backflush

BAPI_REPMANCONF_CREATE_MTO                                             Execute Backflush in Sales Order Scenario

BAPI_REPMANCONF_CREATE_PLOT                                           Execute Backflush in Production Lot Scenario

BAPI_REPMANCONF_CREATE_MTS                                             Execute Backflush in Production Lot Scenario    

BAPI_REPMANCONF_EXIST_CHK                                                 Check Existence of Object

REM Confirmation1:

BAPI_REPMANCONF1_CANCEL                                                    Reverse REM Backflush

BAPI_REPMANCONF1_CREATE_MTO                                          Execute Backflush in Sales Order Scenario

BAPI_REPMANCONF1_CREATE_MTP                                          Execute Backflush in Production Lot Scenario

BAPI_REPMANCONF1_CREATE_MTS                                          Execute Backflush in Stock Scenario

BAPI_REPMANCONF1_EXIST_CHK                                              Check Existence of Object

Process order PI:

BAPI_PROCORD_WM_MAT_STAGING                                        WM Material Staging

BAPI_PROCORD_SETUSERSTATUS                                          Set User Status

BAPI_PROCORD_SET_DEL_INDICATOR                                   Set Deletion Indicator

BAPI_PROCORD_SET_DELETION_FLAG                                  Set Deletion Indicator

BAPI_PROCORD_SCHEDULE                                                     Carry Out Scheduling

BAPI_PROCORD_REVOKEUSERSTATUS                                 Cancel User Status

BAPI_PROCORD_RELEASE                                                        Release

BAPI_PROCORD_GET_LIST                                                        List of Order Headers

BAPI_PROCORD_GET_DETAIL                                                   List of Order Headers

BAPI_PROCORD_EXIST_CHECK                                               Existence Check

BAPI_PROCORD_CREATE_FROM_REF                                   Create with Template

BAPI_PROCORD_CREATE_FROM_PLORD                              Create with Planned Order

BAPI_PROCORD_CREATE_CAP_REQ                                     Generate Capacity Requirement

BAPI_PROCORD_CREATE                                                         Create Process Order

BAPI_PROCORD_COSTING                                                        Create Cost Estimate  

BAPI_PROCORD_COMPLETE_TECH                                        Complete Technically

BAPI_PROCORD_CLOSE                                                           Close Order

BAPI_PROCORD_CHECK_MAT_AVAIL                                       Check Material Availability

BAPI_PROCORD_CHANGE                                                         Change Process Order

Process Order Confirmation:

BAPI_PROCORDCONF_CANCEL                                          Cancel Process Order Confirmation

BAPI_PROCORDCONF_CREATE_ACT                                 Enter Activity Confirmation

BAPI_PROCORDCONF_CREATE_HDR                                Enter Order Confirmations

BAPI_PROCORDCONF_CREATE_TE                                   Enter Confirmation Time Events

BAPI_PROCORDCONF_CREATE_TT                                   Enter Time Ticket Confirmation

BAPI_PROCORDCONF_EXIST_CHK                                    Check Existence of Object

BAPI_PROCORDCONF_GET_HDR_PROP                          Propose Data for Order Confirmation

BAPI_PROCORDCONF_GETDETAIL                                    Detail Data for Process Order Confirmation

BAPI_PROCORDCONF_GETLIST                                         List of Confirmations for Process Orders

BAPI_PROCORDCONF_GET_TE_PROP                             Propose Data for Time Event Confirmation

BAPI_PROCORDCONF_GET_TT_PROP                             Propose Data for Time Ticket Confirmation

Process Characteristic PI:

BAPI_PROC_CHAR_GET_HELPVALUES                             Get Allowed Values for Process Characteristic

BAPI_PROC_CHAR_GET_LIST                                             Read Characteristic List Incl. Details

Process Message PI:

BAPI_PROCESS_MESSAGE_CREATEMLT                          Create process messages

BAPI_PROCESS_MESSAGE_CHK_EXIST                           Check process message existence

Control Recipe:

BAPI_CONTROL_RECIPE_GET_LIST                                   Read control recipe list

BAPI_CONTROL_RECIPE_REQUEST                                               Request and transfer control recipes