Monday 25 January 2016

Basics of ABAP Webdynpro: Getting familiar with Webdynpro jargons part 2


Component usage: To use the functionality of other WD component (say WDC1) in our component (say WDC2), we have to do the component usage of WDC1 in WDC2 at component level. While implementing ALV, We make use of a standard component salv_wd_table in our component.

Controller: Below are the available controllers in WD component.

                Component Controller: This controller is at the component level and can be assumed like a global controller. We can defile context node, attributes, methods here and those will be accessible throughout the component in any view or in any method.
                View Controller: Each view comes with a view controller and like component controller, we can define context node, attributes, and methods here also, but their visibility and accessibility will remain till this view only. Apart from it we can define inbound/outbound plug also in view controller.
                Window controller: Every window will have a window controller. Window controller is also a global controller.
             Interface controller: A WD component will by default have Interface controller. Any context node, event and method whose interface property is checked, will be visible in interface controller. When we use such component in any other component (though component usage), we will be able to use those nodes, events and methods. Any view which is bind to a window will automatically be available to interface controller.
                 Custom controller: This controller can be created additionally in any WD component and will have the same effect as component controller.

MVC architecture: Like any other current UI technologies, ABAP WD is also based on Model View Controller architecture.

Model: This part is solely responsible for fetching the data. How this data is going to be displayed on browser is none of its business. In WD ABAP we have provisions of giving assistance class at component level, which can have all the methods for fetching the data. For that matter, even any normal class can play the role of model.
View: View is meant for displaying the data on browser. What data will be displayed, it will get from Model. We design view in WD component and while doing so, our only aim is to give the best possible user interface experience to customer. All screens designing stuff is entirely segregated from data fetching.
Controller: Controller comes in between model and view and binds these 2 components together. Also all the intermediate processing is done here.

To be Continued...

Happy Learning :)


Sunday 24 January 2016

Basics of ABAP Webdynpro: Getting familiar with Webdynpro jargons

This is the first post of a series on ABAP Webdynpro basics. Prior to actually starting the WD part, this post is about the terms we commonly use while working in WD. Going through this post will make you comfortable reading the further post on this series. So here, let’s start..

Webdynpro Component: The object which we create using SE80 is WD component. While creating WD component, we have to give one view and one window’s name of this component. A WD component can host any number of views and windows.

Webdynpro application: When we are done with the creation of WD component, at last we have to create the WD application. While creating application, we have to give which window out of many existing; we want to be displayed while opening the application. This WD application will have a URL in it, which we will give to our customer for using the WD application.

View: WD component can have any number of views. View means the screen or pages which we want to see in WD application. All the UI designing part we do here in view.

Window: Again a WD component can have any number of windows. Windows basically contain the views. Each and every view has to be attached to some window in order to get displayed in the WD application. A window can have multiple views. So we have to make a view as default view of the window. So in case this window is going to be the WD application’s opening window, you can guess which view, out of many views which window holds, will going to be opening view.

Inbound/Outbound Plug: Now we have a window and this window has multiple views. We want to navigate from view1 to view2. Here plugs will come into picture. View1 will have the outbound plug and view 1 will have the inbound plug. And in window we will attach the outbound plug with the inbound one. Whenever we want the navigation, we will simply fire the outbound plug.

Context node: Context nodes are the entities which will actually be attached with the UI elements in order to be displayed. Of course we will make the local variable also, but ultimately we have to bind those variables to context node and context node will in turn be bind to UI elements.

To be continued…
Happy Learning :)

Tuesday 12 January 2016

SAP SD Process flow


In our last post we discussed about the MM process flow. In this post we will discuss about the SD process flow.

Source: http://help.sap.com/

Inquiry (Tcode for creation VA11,VA12,VA13. Tables VBAK,VBAP)
The inquiry is therefore a request from the customer for you to provide him with a sales quotation.

Quotation (Tcode for creation VA21,VA22,VA23. Tables VBAK,VBAP)
A quotation presents the customer with a legally binding offer for delivering a product or providing a service within certain fixed conditions.

Purchase Order (Tcode for creation ME21,ME22,ME23. Tables EKKO,EKPO)
A purchase requisition was created from the sales order. In purchasing, a purchase order is created based on this requisition.

Sales Order (Tcode for creation VA01,VA02,VA03. Tables VBAK,VBAP)

Delivery (Tcode for creation VL01,VL02,VL03. Tables LIKP,LIPS) 
As soon as the material availability date or the transportation scheduling date for a schedule line has arrived, the schedule line becomes due for shipping. When you create a delivery, you initiate shipping activities such as picking and transportation scheduling

Shipping (T-code is VT01, Tables are VTTK, VTTP)
collection of deliveries which has to be delivered if route is same. Once goods are shipped, go for billing.

Billing (Tcode for creation VF01,VF02,VF03. Tables VBRK,VBRP): 
Billing is the last / final settlement between client & his customer.

Invoice (T-code is VF21, Tables are VBRK, VBRP) 
Invoice ends the sales flow.

Happy Learning :)

Wednesday 6 January 2016

SAP MM Process flow

SAP ABAP resources are often encountered with the questions related to basic process flow of few modules. Being the modules which exist generally in every project, SD and MM tops this list. So here I am summing up the flow of these 2 modules.

Source: http://help.sap.com/

Purchasing Requsition PR (Tcode for creation ME51N. Tables EBAN, EBKN)
A purchase requisition is a request or instruction to Purchasing to procure a certain quantity of a material or a service so that it is available at a certain point in time. 

Source Determination and Request for Quotation RFQ (Tcode for creation ME41. Tables EKKO, EKPO)
With respect to new procurement transactions, you initially wish to fall back on data that is already available in the system. Issuing a one-time purchase order or determining a new source through the more time-consuming process of requesting and processing quotations are functions that will often only take place after you have discovered that there is no suitable source for a certain material or service in the system.

A request for quotation (RFQ) is an invitation extended to a vendor by a purchasing organization to submit a quotation (bid) for the supply of materials or performance of services.

Quotation (Tcode for creation ME47. Tables EKPO, EKKP)
 A quotation is an offer by a vendor to a purchasing organization regarding the supply of materials or performance of services subject to specified conditions.

Vendor Selection and Comparison of Quotation (ME49)
You can compare the prices from all quotations received as a result of a competitive bidding process using the price comparison list. The comparison list ranks the quotations by item from lowest to highest price.

Purchase order PO (Tcode for creation ME21N. Tables EKKO, EKPO) 
Based on all parametrs of a quotation sent by vendors, Vendors are selected from whom the material has to be obtained.  The company  gives  purchase order to the vendor.

Purchase Order Follow ups (Tcode ME91, ME91F, ME92F)

Good's receipt (Tcode for creation MIGO Tables  MSEG)
With the goods receipt (GR) you post the physical inward movement of goods from an external vendor or from production and then complete a goods movement, which leads to an increase in the warehouse stock.

Invoice verification (Tcode for creation MIRO Tables  BSEG) 
In invoice verification incoming invoices are verified in terms of their content, prices and arithmetic. When the invoice is posted, the invoice data is saved in the system. The system updates the data saved in the invoice documents in Materials Management and Financial Accounting.

Goods Issue (Tcode for creation MIGO, Tables MSEG)

Payment -> payment is done based on invoice verification. this is part of FI/CO

In next post will see the process flow of SD module

Happy learning :)