What are the different types of tables and Structures in in SAP?


Answer: There are mainly three types of tables and three types of Structures in SAP. I have provided the details of those tables and structures along with examples in this document.

1.Transparent table:

There is a physical table on the database for each transparent table. The names of the physical tables and the logical table definition in the ABAP/4 Dictionary correspond.

All business data and application data are stored in transparent tables.

Ex: Purchase Order Header Data- EKKO

2. Pooled Table:

Pooled tables can be used to store control data (e.g. screen sequences, program parameters or temporary data). Several pooled tables can be combined to form a table pool. The table pool corresponds to a physical table on the database in which all the records of the allocated pooled tables are stored. This is for internal purposes, such as storing control data or update texts etc.

Ex: Material Info Record (Plant-Specific)- A017

3. Cluster Table:

Cluster tables contain continuous text, for example, documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. To combine tables in clusters, at least parts of the keys must agree. Several cluster tables are stored in one corresponding table on the database. This is for internal purposes, such as storing control data or update texts etc.

Ex: Accounting Document Segment- BSEG

4. Structure:

A structure (structured type) consists of components (fields) whose types are defined. A component can have an elementary type, a structured type, a table type or reference type

Structures are used specially to define the data at the interface of module pools and screens and to define the types of function module parameters.

Structures that are used more than once can be changed centrally because they were defined centrally. The active ABAP Dictionary makes this change at all relevant locations. ABAP programs or screen templates that use a structure are automatically adjusted when the structure changes.

Ex:  MEPO1220- Fields for Screen 9101

5. Append Structure:

An append structure defines a set of fields that belong to another table or structure but are treated in the correction management as a separate object.

Append structures are used to support modifications.

Ex: ISAUTOLAB- IS AUTOMOTIVE Enhancements in EKPO

6. Generated view Structure:

In activation a structure is generated for a view. This structure serves as interface for the runtime environment. It does not generally appear in the ABAP/4 Dictionary. This is for internal purposes, such as storing control data or update texts etc.

Ex: V_T438M_B- Direct Procurement

We can see the type of table or structure by displaying the details with SE11 T Code for a single entry and for multiple tables or structures, we can get from table SAP Tables-DD02L. Both the methods are explained below

1.Through SE11 Transaction Code:

Input Screen: Input the Table which you want to check and click on display icon as shown below

Output Screen: The table or structure type will be visible as shown in the highlighted box

2. Through Table DD02L: This method will be helpful to know the table types of many tables

Input Screen:

Output Screen:

I hope this document is helpful for you. Provide your feedback. Thanks for viewing the document

Best Regards,

Ganesh Padala

ganesh.sap2015@gmail.com

Poll about SAP Blog www.ganeshsapscm.com


How to get the Purchase Order creation date and time details with Purchase Requisition?


Answer:

Purchase Requisition is an internal purchasing document and Purchase order is an external purchasing document which will be shared with Vendor to get the ordered materials. We can get the Purchase Order details which are created with reference to respective purchase requisition by using below logic. The PO creation date and time details can be taken by following below two steps

Step 1: Pass Purchase Requisition (BANFN) in EBAN table and get Purchase Order (EBELN). Below screenshots are provided to understand the input data and output data. Transaction code which is used for below screenshots is SE16N

Input Screen is provided below where the Table and Purchase Requisition field are highlighted

Output Screen is provided below where the Purchase order field is highlighted

Step 2: Pass above Purchase Order Number (EBAN-EBELN) as OBJECTID , Application object Change id (CHANGE_IND) = I in CDHDR table and get the PO Creation Date (UDATE) and time (UTIME) as shown below

Input data is provided below by highlighting the Table and input fields

Output data is provided below where the required fields Date and Time are highlighted

We can use this logic when you get the requirement to fetch PO creation date and time for any custom report and smart forms. I hope this document is helpful for you. Thanks for viewing the document. Please provide your valuable feedback and share with your network.

You can check below link for my SAP WM Videos on YouTube. I hope it will be helpful

https://www.youtube.com/channel/UCkx0mKU8XUMY6818iiiIQCw

Thanks and Best Regards,

Ganesh Padala

ganesh.sap2015@gmail.com

SAP WM-RF Course
https://www.udemy.com/course/sap-wm-course-on-rfmobile-data-entry/?couponCode=6CDD261ADFB996ED4E36
SAP MM-WM Integration Course
https://www.udemy.com/course/sap-mm-wm-integration-course-by-ganesh-padala/?couponCode=C95F31CE4703BC7179E8
SAP MM Import and RTP Procurement Process
https://www.udemy.com/course/sap-mm-import-and-rtp-procurement-process/?couponCode=542B2E6CD14DC4B29A5D
SAP MM Consignment and Pipeline Procurement
https://www.udemy.com/course/sap-mm-consignment-and-pipeline-procurement/?couponCode=8A9632D1B78E7BC13856
SAP MM Subcontracting and SAP Batch Management Process
https://www.udemy.com/course/sapmm-subcontracting/?couponCode=39105796ACD3D09BCF19
SAP MM Master Data Course
https://www.udemy.com/course/sap-mm-master-data-course/?couponCode=E5F9BE9CA186781C6F8F

How to block a Storage Bin for Stock Removal and provide any business requirements to block the bins?


Answer: We can block a Storage Bin with Transaction Code LS02N- Change Storage Bin or Transaction Code LS06- Block/Unblock Several Storage Bins simultaneously. We use LS06 when we want to block multiple bins at a time based on business requirement. In this document, I have explained the process of Blocking Storage Bin for Stock Removal along with testing document which will be helpful to understand the requirement.

Generally business use this functionality when they want to block specific Storage Bins due to maintenance activities or repairing work or temporarily no use or blocked the stock for specific business purposes. Based on business requirement, we will create multiple reasons in configuration.

1.Master Data Change:

Updating Stock Removal indicator and Reason for a Storage Bin with LS02N Transaction Code. We can configure multiple Blocking Reasons based on business requirement which will be assigned during the process of blocking.

Once you flag the stock removal check box and input the suitable reason for blocking, you need save.

Once you click on save, system will give below successful message.

You can display the Storage Bin with Transaction Code LS03N where the blocking reason and block indicator can be seen. You can find below screen where I highlighted the key fields

We have completed the blocking of Stock Removal for the Storage Bin A-0-1. Now we will do the testing to understand the use of blocking and how does it help business to stop picking or stock removal from specific Storage Bin

2. Testing:

As part of testing, I have taken a Storage Unit which belongs to the Storage Bin A-0-1. Now we will try to transfer the Storage Unit to other storage Bin. You can get the list of Storage units of the bin from standard SAP Reports like LX02/LX03

Display Storage Unit- T Code – LS27

Input Storage Unit and click enter to get the Storage Unit details. You can observe the storage type and bin on the screen.

Now we will test the process of creating Transfer order to move the Storage Unit 1000000036 from A-0-1 to any available storage bin to check the system behavior.

Create Transfer Order with Storage Unit: T Code- LT09

Go to the Transaction Code LT09 and input Storage Unit which needs to be moved along with movement type 999 as shown in below screenshot. After inputting the details, you need to click enter.

Once you click enter, system shows below screen. Check the source details like Plant, Storage Location, Storage Type and Bin etc. Then click on Create Transfer Order. If you want to transfer to specific storage bin, you can input otherwise system will fetch destination storage bin details based on Putaway Strategies.

Once you click on Create Transfer Order, system gives below error message as the source storage bin A-0-1 is blocked for stock removal.

I hope this document is helpful to understand the business requirement and respective solution. Until you unblock the storage bin, system won’t allow to remove/pick any stock from that storage bin.

Thanks for viewing the document. You can share with your network if you like the document and explanation.

Thanks and Best Regards,

Ganesh Padala

ganesh.sap2015@gmail.com

What is the use of Latest GR Date field in Purchase Order?


Answer: Latest GR date field in Purchase Order item is useful to control the late Goods Receipts. Based on business requirement, this can be used to provide as information to the user who performs Goods Receipt or else to stop GR which happens after the Latest GR date of PO. Generally, business uses this field for information purpose but not to stop GR.

Business can use this field as information or as control to stop GR for the Purchase Orders.

Ex: Delivery date of a PO item is 03.03.2019 and the Latest GR date is maintained as 12.03.2019. And make the message M7163 as E (Error) so system won’t allow any Goods Receipt after 12.03.2019. Similar approach can be used to prompt as information by keeping message M7163 as W (Warning)

Below is the explanation from SAP about the field Latest GR date. I have provided the screenshot from Purchase Order for your reference

Latest Possible Goods Receipt

This is the latest acceptable date for goods receipt (GR).

If goods are received after this date, you will receive either a warning message or an error message, depending on the system setting.
If you receive an error message, you will not be able to post the GR.

Below screenshot shows the Warning message which will be prompted by the system during Goods Receipt

I hope this document is useful for you. Provide your valuable feedback.

Thanks and Best Regards,

Ganesh Padala

WordPress.com

How to stop the cancellation of Goods Receipt Material Document before cancelling Invoice Receipt Document?


Requirement: Business wants to have control in system to give error if any user tries to cancel GR document without cancelling the IR document. This will be helpful to avoid any inconsistencies between GR and IR.

Solution: We should suggest to use GR Based Invoice verification process to the business if they are not using. If they are already using GR Based IV, it will be fine. As per SAP standard system, there is a configuration where we can setup which movements can be allowed after posting Invoice Receipt for a purchase order.

For example: 122- Return to Vendor should be allowed and 102- Cancel of GR Document should not be allowed

Configuration:

Below configuration needs to be used to put this control. The path for configuration : SPRO- SAP Reference IMG-Materials Management-Inventory Management and Physical Inventory-Goods Receipt-For GR-Based IV, Reversal of GR Despite Invoice

Once you click on the node – For GR-Based IV, Reversal of GR Despite Invoice , below screen will be appeared. Movement types need to be maintained along with check box.

Indicates that in the case of GR Based IV, you can enter a reversal in respect of the purchase order, or a return delivery, even though the corresponding invoice for the goods receipt document has already been posted.

If RevGR desp.IR = X, it means GR cancellation/Return to Vendor can be done without cancelling IR document

If RevGR desp.IR = Blank, it means GR cancellation/Return to Vendor can’t be done without cancelling IR document

Testing:

As the requirement is to test the cancellation of GR Document after posting both GR and IR for purchase order, we can consider that the GR and IR are completed for the Purchase Order. Below is the transaction to cancel the GR document without performing IR cancellation. You can observe the error message based on above configuration.

Transaction Code is MIGO. You can perform the cancellation of Material Document with Transaction Code MBST also. You can observe the error message once you click on Check or Post button

Error details are provided below for the information.

The error message will be given by the system when user tries to cancel the material document without cancelling the IR document when GR Based IV is activated in PO. Below screenshot is provided from the Purchase Order where GR Based IV flag will be available

This error can be resolved if you follow below steps

  1. Cancel IR document with MR8M Transaction Code
  2. Cancel GR document with MIGO-Cancellation or MBST Transaction Code

I hope this support issue document will be helpful for you. Keep learning and sharing. All the Best

Thanks and Best Regards,

Ganesh Padala

How to stop the Purchase Order creation from expired Contract in SAP MM?


Requirement: Based on business requirement, system shouldn’t allow users to create Purchase Order with reference to Contract (outline agreement) which is already expired.

Solution: This requirement can be fulfilled by changing the warning message to Error message about contract expiry message number :06041. But, we should clearly inform users about the impact once the message is changed to Error. After the message is changed to Error, purchase order can’t be created with the expired contract.

Before going to the solution of changing the message type, we will see the message during Purchase Order creation

Below is the contract header screen which is expired. This contract will be used to create the Purchase Order. We can see in below screen that the contract validity End is 31.01.2018

Below screen shows the Warning message related to contract expiry but it won’t stop the creation of Purchase Order although it gives warning. So, it will be like an information to the user who is creating Purchase Order. User can ignore the warning message and proceed with PO creation

Message details are provided below

Based on business requirement, the solution is decided to change the message from Warning (W) to Error (E). The configuration path to make these changes is

SPRO-IMG Reference-Material Management-Purchasing-Environment Data-Define Attributes of System Messages-System messages

This configuration setting will be helpful to stop the creation of both Purchase Requisition and Purchase Order with reference to expired Contract document.

I hope this support issue is helpful for your learning. Go through my documents/videos and provide your valuable feedback.

Thanks and Best Regards,

Ganesh Padala

How to identify a manually entered output message type in a document like Purchase Order?


Answer:

We can identify the list of message types which are entered manually for a Purchase order by inputting Purchase Order number in object key field along with input of X to field MANUE. It will give the details of output types which are maintained manually.

Same approach can be used for other documents like Outbound delivery, Shipment etc. If MANUE=Blank, it comes under automatically updated with output condition records

Input Screen:

Output Screen:

Regards,

Ganesh Padala

How to get the program details of Transaction Code (s)?


Answer:

We can get the program details of a single Transaction code with the help of Transaction Code SE93. But if we need the programs of multiple Transaction codes, we can use table TSTC to get the same. You can find below screen shots which will provide respective details.

This table can be used to get the details of Transaction codes from a Program also

Input Screen:

Output Screen:

Regards,

Ganesh Padala