Thursday 7 March 2019

Panoramic View of Output Type

This Blog Aims at explaining the concepts of Output types which will aid both technical and functional consultants.

Introduction:


Output types are an important parameter in SAP for communications that are done at every Business Object level. This Document will explain the complete geography behind the output types. This will help us in knowing the T-Codes and other navigation that are required to understand the function of the Output Types.

NACE output View:


NACE is the entry T-Code in Output Communications of Business Objects.

The initial Output screen in NACE would look like below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

As we can see, output types will be configured for each Applications. Though there are lot of applications, the process that is followed for each Application to link the respective output types won’t differ much.

We will be looking into any one Application in this document, however few other applications will also be discussed in between to clarify the concepts in the document.

Each Application is related to following four Parameters:

◈ Output Types
◈ Condition Records
◈ Procedures
◈ Access Sequences

We Shall see the Insight View of each aspects.

◈ Insight View of “Output Types” with respect to Application:

OUTPUT TYPES: These are important parameters which are assigned to Business Objects through which the communication is triggered.

Let’s eventually try and get to know how the four parameters are interlinked with each other in an output control.

At first select any Application ( V1 in our case ) and click on output types, you will get a view as below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

As we see, there are 15 output types configured for this application, let’s get into each available options down in the hierarchy.

Select any one output type and click on each Sub nodes at left.

◈ Mail Title and Texts:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

This node is used to maintain the languages that are available for the concerned output type.

◈ Processing Routines:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Here we maintain the smart form and the program associated with the output types, we also define the medium through which the communication is made. In the above case it has been defined as Print output (As marked in Red above).

◈ Partner Functions:

Here we define the partner functions for the output types.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

This ensures that the output types will communicate to the respective partner functions maintained.

With this we have seen an overview of the Output Types for each Applications.

To add an entry in the Output types click on the new entries (Marked in Red Below) icon which will be available only during the change mode.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

So far we have just seen how the output type is assigned to each application, let’s dig deep to understand the mappings that are needed to optimize the output types by navigating to other options available at NACE.

◈ Insight View of “Condition Records” with respect to Application:

CONDITION RECORDS: These are the entries which maintains the records in combination of fields constructed via Access sequences.

When you select the Application and click for condition records, initially you will get a pop up to select the output type.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

When you proceed with the concerned output type we can see the option to enter the Sales Document type as shown below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Here we may enter the Document types that needs to be maintained against the Output Type. On entering into the next screen you may be requested to enter the document type again and click enter. Now you will be getting an option for communication (Marked in Red) as shown below along with other values filled automatically.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Now on clicking the communication icon you will be allowed to maintain the Communication parameters with respect to the output Types which is related to the Sales Document Type as shown below.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Insight View of “Procedures” with respect to Application:

PROCEDURES: Procedures are containers which hold condition types along with respective requirement routines.

Select on the preferred application and click on the procedure button, you will be projected with a screen below,

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

When you select any procedure and click on the control folder you will be provided with options for maintaining the condition types along with the requirement routines as shown below, these condition types and requirement procedure will be part of the definition of output types.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

The requirement and conditions types will be discussed in detail later in this document.

Insight View of “Access Sequences” with respect to Application:

ACCESS SEQUENCES: They form the combinations of fields through which the system should search the relevant output type.

Access sequences basically decides the sequence in which we want the defined output type to be reached. Things will be clearer when we dig deep as discussed below.

The below screen will be the initial screen:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Click on any entry from above list and double click on Accesses Sub Folder, you will be navigated to the below screen.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Here the Access sequence field at top defines the sequence number.

Now The Access number maintained below as 10, 20 will have access table . This table will hold the fields which will be validated with respect to this access Number.

Now click on any Access number and double click on fields sub folder at left, the control takes you to the below screen.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

These fields displayed above are the ones which will be accessed in sequence and validated before accessing the output type.

When the first entry say 10 is validated and no match is found then it reaches out to 20 and it goes on similarly.

CREATION OF ACCESS TABLE:

In Step 4 above we have used the access table as reference for the access sequence that we create, let us understand how the access table is created. The T-Code for creating condition table is different for purchasing and Sales, the details are given below:

V/03 -> Creating Condition table for SD (SD Price)

M/03 -> Creating condition table for MM (Purchasing)

Routines:

Routines are usually created using the T-code VOFM.

As soon as you reach out to the T-code you will have to navigate as below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

In the next screen you will be getting the below page where you can proceed to create a routine with the available number range.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

In this routine you can formulate the logic or any other business conditions that you would like accommodate as per the business functionalities.

Few Important points to collate all the above ideas:

So far we have seen the usage of each option and the basic extent to which each accounts for the output Types performance. The ideas would still be not aligned, in the below topics discussed we would have grouped the ideas so that we may get a complete picture of output types:

◈ The Access Sequence Assignment: –> A

In the above section we have discussed on how the Access Sequence is created with respect to Application.

So now if you select any Application and click on the Access Sequence option we would get the result of all the procedure maintained under each application as shown below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Now the best question would be how these Access Sequence are related to the output types that are created?

Let’s discuss, when you reach out to the output types section of each application we have all the output types maintained under each application as below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

If you double click on any output type you will find an option to link the desired access sequence with the output type as shown below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Key Point: One constraint we need to keep in mind is all the Access Sequences that are available for an application can only be used for the output types of those application.

◈ Procedure Assignment: –> B

Now let us see how a procedure is linked with Output types.

Consider the Billing Application.

As a first step check out the procedures created for the application by selecting the application and clicking on Procedure icon, you will be displayed with the list as shown below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Key Point: Kindly ensure only these procedures are assigned and used for the V3 Application related objects.

Now in case of Billing we have sales types, while configuring the sales type we would ensure the required procedure is assigned to the relevant sales types.

Considering the Sales document Type, the t-code is VOFA is used to configure the sales type and the procedure is assigned as shown below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Similarly the other Objects likes PO, invoice etc the assignment will be done via configuration.

So now we have linked the Output types with access sequence and the Procedure is linked with Sales Document Type.

◈ Output Type Linking with Procedures: –> C

If you click on the Procedure in NACE and click on the Sub folder “Control” you will get the option to input all the Output types as shown below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Here you can also maintain any routines (Discussed above) if required, Also you can set up your output type whether it is to be manual or automatic as shown above.

◈ Relation between Condition Records and Output Types: –> D

When we navigate from NACE to Condition Record screen we will be getting a pop up with all the possible output types maintained for the particular Application as shown below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

On navigating further into the output types we will get a pop with different Radio Buttons available. These radio Button may vary from one output type to other.

I will show below for two output types:

Output Type: FECO

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Output Type: RD02

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

As you can find the radio buttons available for both Output types are different.

Yes you would be thinking on what basis this difference occurs, we shall discuss on the same below:

Under each Output types we have seen an access sequence is allotted as seen in Point A above, Similarly we also have assigned Access sequence for both FECO and RD02 Output types as shown above.

Now lets us see on the access sequence assigned for both:

FECO:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

RD02:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

As you see we have 0006 and 0005 as access sequence for FECO and RD02 respectively.

If you investigate further on these access sequences you will be able to map and relate the difference in the POP-UP.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Hope the difference in how the access sequence is constructed will help us in knowing the difference in pop ups.

◈ Populating the condition Records: –> E

Now once we understand on how the pop ups (Key Combinations) are triggered for each output type we can digest on how the condition records are populated.

Now let’s consider RD02,

Here we had two combinations as below:

◈ Sales Organization/Customer Number
◈ Sales Organization/Billing Type

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Now if you navigate using first radio button you will be reaching the below screen where you have to enter the sales Organization (Mandatory -> As it is a Key Field).

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

On entering the Sales Organization when you navigate further you will get the below screen,

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Here you have to maintain all the customer details which you would like to be available against the sales Organization. Thus you can understand the relation between the Output types and the desired component (As constructed with reference to the access table).

Beware do not restrict your thought process to the discussed case above. You can construct your access table as per the requirement in any possible combination and ensure mapping them with the output types.

By this you have a greater flexibility for your output types with any other Business Object Repository (BOR). Hope you got the Point here!!!

Now, connecting all the equations discussed above:

Points A, B, C, D and E would be sufficient enough to understand the cyclic connection in output types. Let us discuss the points further to saturate the content further.

◈ Access sequence is assigned to output types –> Point A
◈ Billing type is configured with Procedures –> Point B
◈ Output types are assigned inside the procedures –> Point C
◈ An entry maintained in Condition type is called as condition record –> Point D
◈ Populating Condition Records based on the Access sequence constructed –> Point E

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Based on the points from 1 to 5 and diagram along with color Interpretation you will be able to understand the concept clearly. In simple words you can see from any point you have passage to reach any other point (Connecting the DOTS).

The one line formulae below is formulated to make the concept easy to remember. Later the formulae has been disintegrated to understand it better.

ONE LINE FORMULA:

“DICTIONARY FIELDS ARE USED TO FORM THE ACCESS SEQUENCES WHICH WILL BE USED TO MAINTAIN AS AN ENTRY CALLED CONDITION RECORD WHICH IS USED TO FIND CONDITION TYPE WHICH IS ASSIGNED TO OUTPUT TYPES CONFIGURED ALONG WITH PROCEDURES WHICH IS ASSIGNED TO BILLING TYPES”

FORMULA DISINTEGRATION:

“DICTIONARY FIELDS ARE USED TO FORM THE ACCESS SEQUENCES

ACCESS SEQUENCES WILL BE USED TO MAINTAIN AS AN ENTRY CALLED CONDITION RECORD

CONDITION RECORD IS USED TO FIND CONDITION TYPE

CONDITION TYPE IS ASSIGNED TO OUTPUT TYPES

OUTPUT TYPES IS CONFIGURED ALONG WITH PROCEDURES

PROCEDURES IS ASSIGNED TO BILLING TYPES”

Note: Billing type is just used for explaining the concept, in place of billing type there can be any Business object like Delivery, Sales Document etc.

PYRAMID STRUCTURE:

Below the concept is saturated in the form of a pyramid structure.

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

NACE vs IDOC:

In this Segment we shall discuss how IDOC and NACE is related with each other. As of now we have understood the various options and concepts available in NACE.

Let us discuss on a small scenario:

Scenario: We are about to configure message type for Outbound IDOCs

Step 1: In NACE transaction click on the Application Required (For E.g. V2) and create a new Custom output type.

Step 2: In the Processing routine of the output type Select the medium as 6 for EDI and maintain the program and smart form created for the purpose of EDI. Screen Shot shown below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Step 3: Now maintain the condition Record for the condition type with medium 6, Function as LS (Logical system) and other required parameters as maintained in the access sequence. Below Figure illustrates a simple example:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Step 4: Now reach out to the partner Profile T-Code WE20 and select the required Partner Type Folder, in our case it is LS. Below Pic explain the same:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

Step 5: Now for the required partner double click on the maintained Message type (Marked in green above). Reach out to the Message control tab and maintain the output type designed for the same along with other values as shown below:

SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Study Materials

The above 5 steps discussed would basically outline how the NACE configurations are related with IDOC Communications, hope this gives you good understanding on the IDOC Communications done via NACE

IMPORTANT T-CODES:

NACE –> Initial Customizing Screen

VV31 –> Create Output for BILLING (SD)

VV32 –> Change Output for BILLING (SD)

VV33 –> Display Output for BILLING (SD)

VK11 –> Create Condition (SD)

VK12 –> Change Condition (SD)

VK13 –> Display Condition (SD)

VV11 –> Create Output for SALES (SD)

VV12 –> Change Output for SALES (SD)

VV13 –> Display Output for SALES (SD)

VV21 –> Create Output Shipping (SD)

VV22 –> Change Output Shipping (SD)

VV23 –> Display Output Shipping (SD)

VOFM –> Configuration for requirement, Formulae (SD)

V/30 –> This is the t-code which is used to create the custom output types for Application V1

V/34 –> This is the t-code which is used to create the custom output types for Application V2

V/40 –> This is the t-code which is used to create the custom output types for Application V3

V/03 –> Transaction is used for creating a condition table for sales and Distribution.

V/04 –> Transaction is used for changing a condition table.

V/05 –> Transaction is used for displaying a condition table.

V/06 –> Transaction to create condition type for pricing

V/07 –> T-Code to create the access sequences

VOFA –> Assign the Procedure to the Billing Types

M/03 –> transaction is used for creating a condition table for purchase

Clue: T-codes related to SD will be starting with “V” and for MM it would be “M”.

No comments:

Post a Comment