Tuesday, April 14, 2020

REST API

REST API

What is REST?
REST is acronym for REpresentational State Transfer. It is architectural style for distributed hypermedia systems

Like any other architectural style, REST also does have it’s own 6 guiding constraints which must be satisfied if an interface needs to be referred as RESTful.
These principles are listed below.

* Guiding Principles of REST:

Client–server – By separating the user interface concerns from the data storage concerns, we improve the portability of the user interface across multiple
platforms and improve scalability by simplifying the server components.

Stateless – Each request from client to server must contain all of the information necessary to understand the request, and cannot take advantage of any
stored context on the server. Session state is therefore kept entirely on the client.

Cacheable – Cache constraints require that the data within a response to a request be implicitly or explicitly labeled as cacheable or non-cacheable.
If a response is cacheable, then a client cache is given the right to reuse that response data for later, equivalent requests.

Uniform interface – By applying the software engineering principle of generality to the component interface, the overall system architecture is simplified
and the visibility of interactions is improved. In order to obtain a uniform interface, multiple architectural constraints are needed to guide the behavior
of components. REST is defined by four interface constraints: identification of resources; manipulation of resources through representations; self-descriptive messages; and, hypermedia as the engine of application state.

Layered system – The layered system style allows an architecture to be composed of hierarchical layers by constraining component behavior such that each component
cannot “see” beyond the immediate layer with which they are interacting.

Code on demand (optional) – REST allows client functionality to be extended by downloading and executing code in the form of applets or scripts.
This simplifies clients by reducing the number of features required to be pre-implemented.

* Architectural Constraints :
REST defines 6 architectural constraints which make any web service – a true RESTful API.

Uniform interface
Client–server
Stateless
Cacheable
Layered system
Code on demand (optional)

* 200(OK):
HTTP Status 200 (OK)
The HTTP Status 200 (OK) status code indicates that the request has been processed successfully on server. The response payload depends on
HTTP method which was selected for request.

HTTP Status 200 – Response Payload
HTTP    METHOD RESPONSE PAYLOAD
GET     An entity corresponding to the requested resource is sent in the response.
HEAD Response has only HTTP header fields and no payload is sent in response.
POST Response generally contain information about progress status representation or result of action that was performed in request.
PUT Progress status representation of request is sent in response.
DELETE Progress status representation of request is sent in response.
OPTIONS:
        A list of valid request methods associated with the resource using Allow header. e.g.
Allow: HEAD, GET, OPTIONS
Content-Length: 18
Content-Type: text/plain;charset=UTF-8
Date: Thu, 06 Apr 2020 16:51 EST
Server: Apache-Coyote/1.1

TRACE A representation of the request message as received by the end server.

* HTTP Status:
1×× Informational
100 Continue
101 Switching Protocols
102 Processing

2×× Success

200 OK
201 Created
202 Accepted
203 Non-authoritative Information
204 No Content
205 Reset Content
206 Partial Content
207 Multi-Status
208 Already Reported
226 IM Used

3×× Redirection

300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
305 Use Proxy
307 Temporary Redirect
308 Permanent Redirect

4×× Client Error

400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Payload Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
418 I’m a teapot
421 Misdirected Request
422 Unprocessable Entity
423 Locked
424 Failed Dependency
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
444 Connection Closed Without Response
451 Unavailable For Legal Reasons
499 Client Closed Request

5×× Server Error

500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates
507 Insufficient Storage
508 Loop Detected
510 Not Extended
511 Network Authentication Required
599 Network Connect Timeout Error

SoapUI
Q #1. What are web services?

Ans. Web services are web components that transfer data between client and server. The client sends a web request to the server and the server then responds to the client. The response and request are related and different requests evoke the corresponding response.

Web Service is a web component or software program that can be accessed on the Internet. It is mainly used to communicate with the web-based applications through XML messaging concepts. For example, if we want to access a particular location using Google Maps, we can use the corresponding web service URL. For that, we have to pass the appropriate inputs.

Q #2. What is the primary challenge when testing web services?

Ans. Majority of the functional testing is carried out via the GUI; the biggest challenge of web services is that they do not have a UI.

Q #3. What are the communication channels available for a web service?

In general, web service is combined with the following protocols. They are,

HTTP / POST
HTTP / GET
SOAP
While exposing the web services, these channels will be used for communication with the clients. Here HTTP / POST protocol transfers the information between the clients with a secure mode. HTTP / GET protocol allows the clients to view transferred data partially at the browser’s address bar. SOAP is used for transferring the confidential data safely.

Q #4. What are the different components can be used in the web services?

There are four components are used in web services. They are,

WSDL – Web Service Description Language
SOAP – Simple Access Object Protocol
UDDI – Universal Description, Discovery and Integration
RDF – Resource Description Framework
XML – eXtensible Markup Language
Q #5. What are the tools used for testing Web services?

To perform functional testing for web services, we can use the following tools.

SoapUI
RESTClient – This is a Firefox plug-in
JMeter – Specially made it for performance testing tool and also we can do functional testing the web services.
Q #6. What is WSDL?

Ans. WSDL stands for Web Service Description Language and is a document written in XML. It uses XML to define the service layer document which consists of origin of the web service, headers, port types, request and response data. This one can provide the information about web methods and web service.

It describes:

Origin of the web service
Header information
Port type
Input and output messages
For more info and examples, check out this article https://www.softwaretestinghelp.com/web-services-api-testing-tool-soapui-tutorial-1/

Q #7. What is the role of WSDL document in web service testing?

Ans. Validating web services in only possible with WSDL document because to configure web services in SoapUI, WSDL document is mandatory. If the WSDL document is not valid, SoapUI will throw an exception immediately.

Q #8. What is UDDI?

Ans. Universal Description, Discovery and Integration- a directory or global repository where all the web services can be found. A new Webservice can also be registered through this. This is also the place where WSDL detailed definitions are found.

It uses the discovery layer which is used in the web services. UDDI has all the information about the web services in detail. Global web services can be deployed at http://uddi.xml.org/

Q #9. What is SOAP?

Ans. Simple Object access protocol that uses XML to interact with web applications. It uses XML based content to communicate between two client machines across any network

Q #10. What would be the message format of SOAP protocol?

Generally, all the SOAP-based web services are written by using XML language which uses standard message format that is accepted across the universe. In this format, it is easy to read, identify the errors, avoids interoperability problems etc.

Here’s the sample SOAP message format.

POST /InStock HTTP/1.1
Host: localhost
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 399
SOAPAction: “http://www.example.com/soap-envelope”

<?xml version=”1.0??>
<soap:Envelope xmlns:soap=”http://www.example.com/soap-envelope”>
<soap:Header>
</soap:Header>
<soap:Body>
<m:TutorialName>SoapUI</m:TutorialName>
</soap:Body>
</soap:Envelope>

Q #11. What are the advantages of SOAP?

Ans. Since its XML based, it is platform and programming language independent. RPC (Remote procedure calls) are sometimes blocked by firewalls and proxy servers- Soap overcomes that.

Q #12. What does a soap document contain?

Ans. Envelope element is the topmost tag which identifies the XML document as a SOAP message. Followed by Envelope element, you see the header element that has header information. The Body element specifies the call and response information. Finally, you have a Fault element which contains errors and status information.

Q #13. What is meant by Protocols and what are the major types are used in web services?

A protocol is a set of standard rules that help to communicate the hardware devices through the software applications. There are different types of protocols used in the Internet and Intranet applications. They are

TCP which stands for Transmission Control Protocol. It has the rules to exchange the messages between two different Internet applications.

Internet Protocol uses the rules for sending and receiving the information between two different Internet addresses.

Similarly, HTTP, FTP and DHCP protocols have used the set of rules to transfer the data other than Internet applications.

Q #14. What is XML?

Ans. XML (eXtensible Markup Language) is a mark-up language that is used for storing, sharing and formatting data. In general, an XML document is built by the tags. For more info and examples, check out this article https://www.softwaretestinghelp.com/web-services-api-testing-tool-soapui-tutorial-1/

Q #15. SoapUI and SoapUI Pro?

Ans. SoapUI is a web service testing tool and SoapUI Pro is its commercial version. SoapUI can help create functional, security and load testing test suites. SoapUI Pro does all that with advanced drag and drop, Data Driven testing, advanced reporting and coverage analysis. Check out this article for more information: https://www.softwaretestinghelp.com/soapui-tutorial-12-soapui-pro-features/

Q #16. What we can do with the help of SoapUI?

SoapUI offers us to perform automation testing which includes functional testing, load testing and Data Driven testing.
It also provides in build reporting tool and export test results log provision
We assert our services using various types of assertions
Q #17. What hierarchy does SoapUI follow to build a proper testing project?

In a SoapUI project, the following order should be maintained.

TestSuite – This is combination of functional tests and logical blocks
Testcase – It's a group that contains several test steps for the specific aspects of the service.
Teststep – it contains the set of functional tests
Q #18. What is the basic method to automate web services in SoapUI?

Ans.

Create a project and add the WSDL file
Add test suites, Test cases and Test cases- in that order
Include custom programming/validation using by adding Groovy steps
Call external data sources if using
Add assertions if necessary
Then RUN.

Q #19. What are SoapUI assertions?

Ans. Assertions compare the parts/all of the response message to the expected outcome.

Q #20. What are the major types of assertions available in SoapUI?

Assertions are one of the major features in SoapUI. It offers the following types of assertions.

Simple contains
Schema compliance
Simple not contain
Soap Faults
Response SLA
XPath Match
XQuery Match
WS security status
Script Assertion
WS- Addressing Request or Response Assertion
Additionally, Equals assertion is introduced in SoapUI NG Pro version

Q #21. What are the different types of assertions used in SoapUI?

Ans. The following are the different types of assertions:

Contains & Not Contains
XPath match
XQuery match
Schema compliance
Soap Faults
Response SLA
WS security Status
Script Assertion
WS- Addressing Request or Response Assertion


Q #22. Soap vs REST?

Ans.

SOAP is a protocol and REST is architecture. It allows us to send SOAP envelops to REST-based applications.
REST supports different message formats but SOAP permits XML only.
REST services are faster and easy to handle.
SOAP is tied with SMTP and HTTP protocols whereas REST relies on HTTP only.
SOAP is more secure and structured format.
REST does not depend on any specific standards as it supports various messaging formats like JSON, CSV and XML.
SOAP web services allow us to build the client with RESTful services.
SOAP was introduced for distributed computing.
After REST’s entry, it accommodated the web by its performance and scalability as it is a lightweight component.
REST is stateless whereas SOAP is a stateful specification.
REST uses Uniform Resource Identifier (URI) and it has the methods like GET, PUT, POST and DELETE to expose their resources.
SOAP uses named operations and interfaces to achieve its business logic.

Q #23. What can data sources be used in SoapUI?

Ans.
Excel Files
CSV Files
ODBC Sources
SQL / ADO Objects

Reference : https://www.softwaretestinghelp.com/soapui-interview-questions-and-answers/

Q #24. Explain what assertion is in Soap UI is and give some example of assertion possible in SOAPUI?

In SOAP UI assertion functionality is used to validate the response of request received by the Test Steps at the time of execution.  It is used to compare a part of message to some expected value.

Assertion types in SOAPUI includes

Simple contains
Schema compliance
Simple not contains
Soap Faults
Response SLA
XPath Match
XQuery Match
WS security status
Script Assertion
WS- Addressing Request or Response Assertion

Q #25. Does SoapUI support SSL Authentication

Yes

Q #26. Explain where you use properties in SoapUI?

We can read the property values into test step endpoint, username, header values, password, domain, POST, PUT, GET and DELETE method properties.

Q #27. Mention what languages does SoapUI use?

SOAP UI supports two language, Groovy, and JavaScript.

Q #28. Mention what are the default properties in SOAPUI?

By default, SOAPUI has properties at three levels

Project level default or custom properties:
User can append any number of properties at project level and it can be opened from any test steps from any test cases under any test suites

Test suite level default or custom properties:
User can append any number properties at test suite level and it can be used from any test steps from any test cases under this test suite

Test case level default or custom properties:
At Test Case level users can add any number properties at test case level and it can be used from any test steps from this test case

Q #29. SoapUI RESTful - HTTP Methods
The most-commonly-used HTTP methods are POST, GET, PUT, PATCH, and DELETE. These correspond to create, read, update, and delete (or CRUD)
operations, respectively. There are a number of other methods too, however they are utilized less frequently.

* POST:
The POST method is used to create new resources. It is used to create subordinate resources. That is, subordinate to some other (e.g. parent) resource.

In other words, when creating a new resource, POST to the parent and the service takes care of associating the new resource with the parent,
assigning an ID (new resource URI), etc.

On successful creation, return HTTP status 201, returning a location header with a link to the newly-created resource with the 201 HTTP statuses.

* GET:
The HTTP GET method is used to read or retrieve a representation of a resource. In successful response, GET returns a representation in XML or JSON
and an HTTP response code of 200 (OK). In an error case, it most often returns a 404 (NOT FOUND) or 400 (BAD REQUEST).

According to the design of the HTTP specification, GET (along with HEAD) requests are used only to read data and not change it.
Therefore, GET is considered as safe.

* PUT:
PUT is used to update the existing resources. PUT is used as a known resource URI with the request body that contains the
updated representation of the original resource.

PUT can also be used to create a resource where the resource ID is chosen by the client instead of by the server.
In other words, if PUT is used as a URI that contains the value of a non-existent resource ID.

* PATCH:
PATCH is used to modify capabilities. The PATCH request only needs to contain the changes to the resource, not the complete resource.
It resembles PUT, but the body contains a set of instructions describing how a resource currently residing on the server should be modified to produce a new version.

This means that the PATCH body should not just be a modified part of the resource, but should be in some kind of patch language
such as JSON Patch or XML Patch.

* DELETE:
DELETE is used to delete a resource identified by a URI. On successful deletion, it returns HTTP status 200 (OK) along with a response body,
representation of the deleted item. Else, it returns HTTP status 204 (NO CONTENT) with no response body.

In other words, a 204 status with no body, or the JSEND-style response and HTTP status 200 are the recommended responses.

Tuesday, March 10, 2020

SAP 6.0 :  SAP  SD  MM  O2C  P2P 
-------------------------------------------------

1.
*  Sales and distribution module in SAP  :
SAP SD | Introduction to SD module in SAP | Sales & Distribution | SAP ERP
https://www.youtube.com/watch?v=DcG5QOyP4_Y

* SAP MM Training | SAP Materials Management Training Video | Intellipaat
https://www.youtube.com/watch?v=6XnyNcXlQ7s

--------

2* SAP TAO :
What is SAP TAO?
SAP Testing TAO (Test Acceleration and Optimization) is a tool used to perform automated testing of SAP systems.
SAP TAO helps customers to fasten the process of creating automated test cases for SAP systems. Automation testing
using TAO is performed by creating test components for various transactions in SAP modules.

Test components using TAO are uploaded to HP Quality Center. Test components created like this are normally for
the single transactions and can be later used to create test scenarios. This tool can be easily integrated with
SAP Solution Manager to maintain the different test components.

SAP TAO Integration with other Tools:
SAP Solution Manager (Solman).
HP Quality Center QC.
HP Quality Test Professional QTP.

https://www.tutorialspoint.com/sap_testing/sap_testing_tao.htm

--------

3* Order to Cash: What Is SAP Order-to-Cash?


Order-to-Cash is an integration point between Finance (FI) and Sales (SD). It is also known as OTC or O2C in short form.
It is a business process that involves sales orders from customers to delivery and invoice. It comprises SO, Delivery,
Post Goods Issue (PGI) and billing to customers. OTC process is a very important process in Enterprise Resource Planning software(ERP Software).
Both major ERP software SAP and Oracle include this process.

Prerequisites are customer master record is set up, sales area (sales organization, divisions and distribution channels) was set up already.

Generally, steps are as follows:

Customer Inquiry
Quotation for customer inquiry
Sales Order creation
Post Goods Issue (PGI)
Delivery
Billing- Bill sent to customer
Receipt of money- Customer Payment

https://toughnickel.com/business/SAP-Order-To-Cash-SAP-OTC

--------

4* Sales Inquiry(VA11):

What is an Inquiry in SAP SD
An inquiry and quotation are the first documents in SAP SD which are a part of the pre-sales business process. Inquiries and quotations help you to determine important sales-related data and can be saved as documents. If the customer then places an order, this data can be accessed. Use this pre-sales information to plan and evaluate your marketing and sales strategies and as a basis for establishing long-term business relationships with your customers, for example by:

Tracking lost sales
Recording pre-sales data to help negotiate large contracts
Selling goods and services to large organizations that require documentation of the entire process
Standard SAP SD inquiry normally contains:

Customer and Material Information
Pricing, be it Customer or Material specific
Delivery dates and delivery quantities
Information about shipment processing
Information about billing
In case of Inquiry, Quotation and Contract Validity Periods / Dates

https://erproof.com/sd/free-training/how-to-create-sap-sd-inquiry/

--------

5* Quotation(VA21) :

How to Create Quotation: SAP VA21

Quotation:
It's a sales document, which informs the customer, that the company will deliver a specific quantity of products at a specific time and at a specific price.

A quotation can be created after receipt of an inquiry from a customer or without inquiry. When the quotation is created post receipt of an inquiry from a customer , two methods can be followed  -

Create a quotation with reference to inquiry.
Create a quotation without reference to inquiry.

The following demonstration creates a quotation with reference to inquiry. T-code for create Quotation: VA21
Step 1)
     Enter T-code VA21 in the command field.
     Enter quotation type.
     Enter the Sales Organization / Distribution channel / Division in the organizational  block.
     Select Create with the references button.

Step 2)
Primis Player Placeholder
Enter Inquiry Number.
Click on the copy button.

Step3)
Enter the Ship-To Party.
Enter Po Number, if any.
Enter Valid from and Valid to date (this is a date until which this quotation will be valid.)
Enter Quantity of material.

Step 4)
Click on save button .
A message "Quotation 20000076 has been saved " will be displayed.

https://www.guru99.com/create-quotation.html

--------

6* Sales Order (VA01) :

How To Create Sales Order: SAP VA01

Background:

A ‘Sales Order’ is a contract between a Customer and a Sales organization for the supply of specified goods and/services over a specified time period.
All relevant information from the Customer master record and Material master record is copied to the sales order. The sales order may be created with reference to a ‘preceding document’ such as an inquiry /quotation. In such a case, all the initial data from the preceding document is copied to the sales order. T-code -VA01

A ‘Sales Order’ is a contract between a Customer and a Sales organization for the supply of specified goods and/services over a specified time period.
All relevant information from the Customer master record and Material master record is copied to the sales order. The sales order may be created with reference to a ‘preceding document’ such as an inquiry /quotation. In such a case, all the initial data from the preceding document is copied to the sales order. T-code -VA01.

Step 1)
Enter T-code VA01 in the command field.
Enter order type OR for Standard order.
Enter Sales Organization / Distribution Channel / Division in Organizational Data block.
Click on create with reference button, to create sales order from Inquiry / Quotation.

Step 2)
Enter the quotation number in the quotation tab.
Select the copy button.

Step 3)
Enter Ship-To-Party / PO number / PO date.
Enter Req. delivery date.
We can change the order quantity.
Click on save button.

Step 4)
A Message "Standard Order 2000958 has been saved " is displayed.

https://www.guru99.com/create-sales-order.html

--------

7* Delivery(VL01)

VL01 – Create Delivery
SAP transaction VL01 (Create Delivery) is classified in the Logistics Execution module under application component Shipping
and runs WS-SHP: General Processing for Shipping program SAPMV50A upon execution.

SAP Transaction Code (TCODE): VL01
Transaction Description: Create Delivery
SAP Module ID: LE
SAP Module Description Logistics Execution

Application Component ID (PS_POSID): LE-SHP
Application Component (FCTR-ID): HLA0009602
Component Description (NAME): Shipping

Program (PGMNA): SAPMV50A
Package (DEVCLASS): VL
Package Description (CTEXT): WS-SHP: General Processing for Shipping
Package Namespace: /0SAP/
Screen Number (DYPNO): 0100

This entry was posted in LE - Logistics Execution and tagged (LE-SHP) - Shipping.

http://www.saptransactions.com/codes/VL01/

--------

8* Invoicing(VF01)

What is the Invoice Correction Request in SAP SD?

Invoice Correction is a process to correct quantity or prices in the invoices for one or more line items.

The system calculates the differences between the original amount and the corrected amount. The invoice correction request is automatically blocked by the system until it has been checked. Once it's approved, we can remove the block.

The system creates either a credit or a debit memo according to the total value of the invoice correction request.

Step 1)
Enter T-code VA01 in the command field.
Enter in Order Type field Invoice Correction Request.
Enter Sales Organization / Distribution channel / division in organization data.
Click on Create with references button, to create invoice correction with reference of the sales document.

Step 2)
Enter Sales order no in which correction is required
Click on the Copy button.

Step 3)
Ship-To party / PO Number can be changed.
Enter Req. delivery date
Order quantity can be changed.
Click on the save button.
How to Create Invoice Correction Request in SAP SD

A message "Data Was Saved"  is displayed.

https://www.guru99.com/how-to-correct-invoice.html

--------

9* Billing(VF01) :

In the SAP Sales and Distribution module, billing is known as the final stage for executing business transactions.
When an order is processed and delivery is made, billing information is available at each stage of this order processing.

Billing contains the following components −

Credit and Debit memos for return goods.
Invoice creation for delivery and services.
Cancel Billing transactions.
Pricing Functions.
Discount and Rebates.
Transferring billing data to Financial Accounting FI.
Billing is closely integrated with organization structure and it can be assigned to Sales Organization, a Distribution Channel, and a division.

Key functions in Billing −

Types of Billing
Match codes
Number Range
Blocking Reasons
Display billing list
Display billing duelist

https://www.tutorialspoint.com/sap_sd/sap_sd_introduction_to_billing.htm

--------

10* IC Sales Order (VA01)

Use these steps to create a sales (or project) order for the purpose of billing a cost-reimbursable project. The sales order is the document that links the sponsor to the project.

Get started (SAP menu path, fast path)
Create sales order: initial screen
Create project order: an overview
Create Variant to simplify VA01 data entry

http://web.mit.edu/cao/www/SB2002/CR/VA01.htm


--------

11* Invoice creation(MIRO)
SAP invoice verification can be defined as a method through which a supplier will be paid for the good or the service it has provided to a customer.
It is the seventh phase of the procurement cycle as depicted in the following figure.

SAP Invoice Verification in Procurement Cycle : (1 to 8)
--------------------------------------------------------
1. Determination of Requirement
2. Determination of Source of Supply
3. Vendor Selection
4. Purchase Order Processing
5. Purchase Order Monitoring
6. Good Receipt
7. Invoice Verification
8. Payment Processing

CREATE AN INVOICE
A vendor can send an invoice as a fax, hard copy or using EDI. On reception of the invoice, the accounts payable department will enter the invoice into the SAP system using the transaction MIRO:

Logistics > Materials Management > Logistics Invoice Verification > Document Entry > Enter Invoice (MIRO)

Img : MIRO Transaction Code

The next screen to appear might prompt you to enter a company code. In that case,

– Enter company code > 1000

The next window will be entitled Enter Incoming Invoice: Company code 1000. The basic data tab of the header data section will require input of the following information:

– Invoice date > current date

– Posting date > current date

– Amount > 2499 EUR

– Calculate tax > select

– Tax code > VA – domestic input tax 19%

Img : Company Code
Img : Basic Data Tab Information

Pay attention to the information on the top right side of the screen named Balance. It will play a very important role later.
At this stage of our entry, the balance light as depicted in the following screen shot is red.

Img : Balance

Below the header data section, there is a tab called PO Reference. Let us complete the required information by doing the following. Select Purchase Order/Scheduling
Agreement in the combo box. The combo box list also shows other options that can be used in other cases.

Img : Purchase Order / Scheduling Agreement Selection

Then, next to your selection, enter purchase order number 4500019259 and press Enter.

Img : Purchase Order Number

The information from the purchase order will be loaded in the table under the Purchase Order/Scheduling Agreement combo box as shown in the below screenshot with some updates highlighted with yellow color.

* The tax amount in the basic data tab has been updated to 399.00 EUR. The reason is that the three laptops ordered had a price of 2,100.00 EUR
in total and with the domestic tax applied to this cost by the vendor, the total cost within the invoice was 2,499.00 EUR.
* The information about the vendor has been displayed.
* The balance light above has become green. The reason is that there is no price variance between the invoice sent by the supplier and the purchase order issued by the customer.

Img : SAP Invoice Verification with Reference to a Purchase Order

Next, click on the Payment tab next to the Basic data tab and enter:
* BaselineDt > 06/23/2017
Img : Baseline Date

SIMULATE POSTING
It is possible to test posting of an invoice by simulating it. If the simulation reveals that the invoice cannot be posted, it will issue errors and warnings messages to the user.
The simulation interface can be accessed by clicking on the Simulate button.

Img : Simulate Button

INVOICE POSTING AND INVOICE DOCUMENT DISPLAY
The balance of our illustration is zero meaning that there is no discrepancies between the invoice and the purchase order. It is illustrated with the green light indicator next ot the Balance field.
To post our invoice, we should click on the Save button that will save our invoice in a document with a number 5200000218.

Let us display this document by using the transaction MIRO, choosing Invoice Documents > Display, and finally entering the following information:

Invoice Document Number > 5200000218
Fiscal Year > 2017

IMG : Invoice Document Display with the PO Structure on the Left Sidebar

By clicking on the Show PO structure button at this stage, we can see in the left side of our screen that the three-way match procedure has been completed successfully.
The purchase order 4500019259 provided to the vendor Michaela Meier requesting three Lenovo laptops has been supplied and invoiced to the customer (us).

IMG : Purchase Order Structure

Conclusion :
SAP has implemented effective methods for invoice verification in Materials Management module. As these procedures are following specific rules that have to be respected,
some flexibility is allowed by SAP. Those are:

* The possibility to post an invoice without referencing a purchase order (though it is typical to do so with reference to a purchase order, a goods receipt or a delivery note).

* The possibility to park an invoice document by entering it without posting it using the transaction code MIR7 or
the path Logistics > Materials Management > Logistics Invoice Verification > Document Entry > Park Invoice (this can be done to postpone posting of the invoice
in the case when the balance of the invoice is other than zero).

* The possibility to post an invoice having a variance that is within the stated tolerance limits which are configured using
the path IMG > Materials Management > Logistics Invoice Verification > Invoice Block > Set Tolerance Limits.

* The possibility to block invoices.

* The possibility to release blocked invoice by deleting all the blocks that no longer apply to the invoices selected by the user.
Invoices can be released using the transaction code MRBR or the path Logistics > Materials Management > Logistics Invoice Verification > Further Processing > Release Blocked Invoice.


https://erproof.com/mm/free-training/sap-invoice-verification/


--------

12* Display Sales Order (VA03) :

VA03 (Display Sales Order) is a standard SAP transaction code available within R/3 SAP systems depending on your version and release level.

Below for your convenience is a few details about this tcode including any standard documentation available. In-order to use this
transaction within your SAP system simply enter it into the command input box located in the top left hand corner and press enter.
Here are a few additional command options available to use when doing this.

-------

Check SAP tcode authorisation using SU53

o see what authorisation objects this and any transaction checks use SU53. Simply execute VA03 and then execute /NSU53 immediately afterwards.
A report of all authorisations checked will then be displayed along with it's result...See check tcode authorisation for full details and screenshots


The simple way to check sap authorisation and see if you have all the appropriate authorisations for a transaction code, or see which specific authorisations a
particular t-code has failed on is to simply execute it. Then use transaction SU53 to see all the failed authorisation checks.

This is also the standard way of requesting a new SAP authorisation by sending the SU53 result to your basis team. See below for full step by step instructions on how to use SU53.

Step 1 – Execute transaction
The first thing you need to do is execute the transaction you don’t have authority for or which you want to check.

For this example I am going to use transaction SU01, so just execute SU01 using the command box.


https://www.se80.co.uk/saptcodes/v/va03/va03.htm

--------

13* Purchase to Pay scenarios :

SAP Procure to Pay Process  :
SAP Procure to Pay process is required when we need to purchase materials/services from an external vendor for our company. This process
includes all the business tasks starting from a purchase requisition (PR) and finishing with payment to the vendor.

The events that determine the start of this process are related to:

* Material requirement planning (MRP) from Warehouse Management to ensure minimum material stock and tools quantities in the warehouse.
* Plant Maintenance materials, tools, external resources, services plans to procure all the resources needed to manage Plant Maintenance in a proper way.
* Other procurement needs coming from departments of a company.

Overview of SAP Procure to Pay Process
The Procurement Department can satisfy purchasing requirements of other departments of a company by issuing:

* A Purchase Order: in this case an RFQ (Request for Quotation) process first is needed.
* An Open Contract: in this case, in addition to the RFQ process, the purchasing task is finalized by means of the Purchase Order referred to the Open Contract.

https://erproof.com/mm/free-training/sap-procure-to-pay-process/

--------

14* (P2P) Purchase requisition(ME51N)

How to Create a Purchase Requisition in SAP: ME51N :

Purchase requisition creation can be done in t-code ME51N (or the older version ME51 – not recommended) and is a straight forward process.

1. Execute ME51N transaction.
2. Purchase requisition document type: NB – standard.
3. Source determination: ON or OFF.
4. Header note.
5. Material: material number.
6. Quantity and UoM.
7. Storage location: in which the material is stored.
8. Vendor: automatically determined by using source determination – field number 3.
9. Tracking number: covered in previous topics, a desired value can be entered manually.
10. Valuation price:copied from material master data if maintained there, if not must be entered manually (if this field is not set as optional).
After entering the desired information in the fields, we can save transaction data.

Result : Purchase requisition number 0010003210 created ( 10 Digit PR number )

https://www.guru99.com/how-to-create-a-purchase-requisition.html

--------

15* Purchase Order(ME21N)
All About Purchase Requisition in SAP ECC

Purchase Requisition:
In order to run an organization effectively, the most important step is to determine what kind of materials and services are required by a company and the proper
source (vendor) of supply which fulfills our requirements. Once the list of requirements made, then there needs to be an approval from the higher authority (purchasing department)
of an organization in order to procure the list of materials. To get an approval a request document called Purchase Requisition which contains information such as materials,
services, required delivery date and quantity needs to be prepared. Purchase Requisition is an internal document which is nothing but a request made to the purchasing department
in an organization to procure the list of materials in the right time of the required quantity. It can be created automatically by the system or manually.
It can be created manually in SAP by using transaction code ME51N.

Purchase Requisition can be created for the following procurement types:

Standard: Getting finished material from the vendor.
Subcontracting: Providing raw material to the vendor and getting finished material.
Consignment: Procuring material that is kept in the company’s premises and paying to the vendor for that.
Stock transfer: Getting material from within the organization.
External service: Getting services like maintenance from a third-party vendor.

Once the purchase requisition is approved by the purchasing department, it will be converted to the Purchase Order. Purchase Order is an external document issued by the purchasing
department to the vendor which describes the interest of a buyer to buy a certain quantity of a material at a certain price from a specific vendor. The purchase order is created
with a reference to the purchase requisition documents generated by SAP during the procurement cycle using transaction code ME21N.

Create Purchase Requisition:
Steps to Create Purchase Requisition on SAP ERP-
Step 1:
Enter transaction code ME51N in SD Master Data Screen or Navigate to the following path Logistics -> Materials Management -> Purchasing -> Purchase Requisition -> Create


Step 2:
Fill in all the following required fields
1.Purchase Requisition document type as NB Standard.
2.Source determination can be ON or OFF.
3.Header note.
4.Material, quantity, plant, fixed vendor, and purchasing organization.
Click on Save.

Step 3:
A new purchase requisition will be created.
Purchase requistion number 0010016019 created.

-------
Convert Purchase Requisition to Purchase Order:
Purchase Order from purchase requisition can be created by following below steps:

Step 1:
Enter transaction code ME21N in SD Master Data Screen. Here is the Cheat Sheet on SAP SD Database Architecture!

Step 2:
There are two ways to create a purchase order from purchase requisition.

First Way:
----------
Click on Purchase Requisitions from the dropdown of the Selection variant.

Enter purchase requisition number for which you want to create purchase order.
Integrate-SAP-ECC-ERP-and-Ecommerce-store

Click on Execute.

Now drag the standard reference Purchase requisition to the cart next to NB Standard PO.

Verify all the details and do the changes accordingly.

Second Way:
-----------
Fill in all the following required fields.
1.Purchase requisition document type as NB Standard.
2.Vendor.
3.Purchase Organization, Purchase group, Company code under Organization Data tab.
4.Purchase requisition number.
Click on Enter.


Step 3:
Click on Save.

Step 4:
The standard purchase order will be created from standard reference purchase requisition.
Standard PO created under the number 4500017460

Conclusion:
By following the above steps, you can create a purchase requisition and convert it to purchase order manually in SAP.
We sincerely hope that this was useful and any comment of feedback will be very helpful.

Now, you can easily integrate your  SAP ECC with Ecommerce Store/CRM to automate the business process!

https://www.appseconnect.com/purchase-requisition-in-sap-ecc/

--------

16* Goods Receipts(MIGO)

How to Create Goods Receipt in SAP: MIGO, MB1C, MB03

To create  goods receipt, you can use MIGO or MB1C transaction.

Mostly people use MIGO as it's designed to have all the options for all of the movement scenarios.

Step 1)
1.Execute the MIGO transaction.
2.Choose A1 – Goods receipt process.
3.Choose R01 – Purchase order.
4.Enter your purchase order number here.
5.Click on execute button.

Step 2)
Our material is transferred to the item overview section.
Choose posting and document date (recommended t stay as today like it's default).

Step 3)

1.You can choose on the header level – Vendor tab to view vendor information.
2.If you click on the line item number, you will see several tabs in the bottom of the screen appear, and you can choose any of those to view some specific information about the item.
3.If you choose Material tab, you will see the general material data.

Step 4)
Check the Quantity information in this tab. You can do goods receipt for less than the initial value if you change it. You will still see the ordered quantity in the bottom of the screen.

Step 5)

The next tab contains information about the destination for the goods.
1.You can see the movement type used for receipt process,
2.Destination plant and storage location,
3.As well as stock type upon receipt. We can see that this material is going to be posted to quality inspection (this indicator is set in material master and has been referenced in earlier topics), so it will not be available for use until confirmed to be in satisfying quality.
4.There's also information about goods recipient and unloading point.
If you need to change the storage location, or override the stock posting type, you can do it here..

Step 6)

You can find purchase order related data in this tab.

1.You can change the update type for delivery completed indicator (on the purchase order). It is set to be automatically updated upon posting, but you can change it if your process requires a different approach.
2.After review of all of the tabs, and after you have assured that your data is accurate, you can flag the items as OK. Now you can post the document.

Upon posting, you will see that material document has been generated.

* Material document 5000023571 posted

Now you can check the material document by using transaction code MB03.

1.Execute the transaction MB03.
2.Enter material document and document year.
3.Press ENTER.
You can see some basic information about the document and items.
Double click the item.

On item details, you can see some additional item information.

You are done with posting the goods receipt. The process is the same for the production order, as well as for the inbound delivery.

https://www.guru99.com/how-to-create-goods-receipt.html

--------
06302020
--------
Sap - file - AL11 folder -  Biztalk - 3rd part - middle ware
ariba -3rsd - Sap - text dat idoc, xml - bnk -txt, xml
inbound processing - txt
outboud processing - txt

Automated : Timestamping - text file : support & development
------

Thursday, February 21, 2019

Test Complete - Hybrid Framework.

TEST COMPLETE :
----------------------------
Automated testings success stories :
---------------------------------------------
 * Action Based Testing (ABT)
 * Test Design Vs Testing automation
 * Players in different stages of the sprint
 * The process & Break down
 * Results

Action Based Testing :
* Test design
* Interface Mapping
* Actions
 - System level actions (Low level, generic)
 - Application level actions (High level, business functional, specific - combination of multiple functions)
 - Intermediate Actions (mid level, driving dialogs and navigation)
 - Custom actions ( Programmed - Library files)

High leve Testl Design - Test Development plan - Define the Chapters
-------------------------------------------
Test Module 1 ....2 .....Test Moudle N      }->
                        }
Objectives 1 .....2 .....Objectives         }-> Create the Chapters
                        }
Test Cases1 ....2 .....Test Cases           }->
                        }


Actions                      -> Create the Words

Automation                      -> Make the words work


+ Interaction Test - Test data Table &
+ Business test - Test data table.


*Test design Vs Test Automation
* Test design
 - looks at the bigger picture
 - Top down approach
 - Aggregate test into modules with common objectives
 - Separate business level objectives and UI level objectives.

* Test Automation
 - Interface mapping ( be it web, desktop or mobile)
 - Action library
   * System level actions - click, select etc.
   * Intermediate level actions - actions created by gathering properties from applications.
   * Application level actions - combination of lower level actions and /or  intermediate level action.
   * Custom actions - programmable actions
- Test execution involves running test against the application and generating results report.

What is TestComplete ?
TestComplete is a Software automation tool, Developed by Smart bear, we can Automate the software testing process using it. TestComplete supports various types of automation testing like – unit testing, Smoke testing, Regression testing, Functional, Distributed testing and load testing.

How many check points you know in TestComplete?
TestComplete has the number of Check points like –

Create File Checkpoint
Create Object Checkpoint
Create Property Checkpoint
Create Web Service Checkpoint
Create Database table checkpoint and so on….

What is NameMapping in TestComplete?
NameMapping in most important feature in TestComplete, using Name Mapping, we can provide the Custom Name of the object. Normally when we get the Object in TestComplete its shows like below-

Sys.Process (Iexplorer, 1).page (“www.google.com”).form (‘’google”).Panel (“Container”).Table (“lnkDatails”).cells (1, 1)……
It’s very difficult and hard to remember and manage; hence we can provide the custom name for each item using some unique values like –

Sys.IE.PageName.Form.linkDetails.linkName

What is a shortcut key to stop recording?
Using SHIFT-F11 we can stop the recording

What is Data Driven Testing in TestComplete?
Run our Test with different set of input data to ensure the application works as expected for various input values. This testing approach is called data-driven testing. We can preformed data driven testing using CSV file, Text File, Excel and Database .

How to handle exception in TestComplete ?

Using On Error Resume Next statement we can handle the exception it TestComplete. On Error Resume Next Statement skip the Exception window and go for the next operation.

How to recognize Objects in TestComplete ?
There are different way to recognize the Object in TestComplete Like –

Recording
Object Spy
       Find, FindAll, FindChild, FindAllChildren

Which Technology is supported by TestComplete?

TestComplete Supports Wide range of Application and Technologies like – Windows, .NET, WPF, Visual C++ Visual Basic, Java Web Applications, and Web Services.

Which Scripting language that can be used in TestCompete ?

Test Complete Supports – VBScript, Jscript, C# Script, c++, Delphi.

Is it possible to perform record and play mechanism in TestComplete ?

Yes, TestComplete Supports Record and Payback mechanism there are two mechanisms in TestComplete Recording.

Record – Starts test recording or resumes recording after pause. Default, SHIFT-F1.
Low –Level- Record – Starts recording a new low-level procedure based on screen coordinates. Default, SHIFT-F4

Which Browsers supported by TestComplete till date?

TestComplete supports the number of browsers.

Internet Explorer
Mozilla Firefox
Google Chrome
Safari
Opera Browser
What are the different ways of capturing objects in TestComplete?

There are three different way for capturing the Object in TestComplete.

Recording
Object Spy
        Find, FindAll, FindChild, FindAllChildren
What is the difference between Find and FindAll Method in TestComplete?

Find -Find Method is used to search desire object from the object hierarchy, (only single object). Find Method searches the Object on the basis of Specified value of the Specified property.
FindAll – FindAll method is used to search desire object from the object hierarchy. FindAll Method searches the entire object that have Specified value of the Specified properties. FindAll methods are stored entire object list into an Array.
What is the difference between Find and FindAll Method in TestComlete?

FindChild – Find Child method is also same as FIND method (as mention above) it will search only Child object.
FindAllChildren – Find All Children method is same as FINDALL method (as mention above), it will be search all the children and store them into an Array.
What is Child Method?

Objects may have the children, Page is the children of Process, Process is the children of Sys object etc…
{Sys.Process (iexplorer, 1).page (“google.com”)……}

Can we get, how much Number of Childs having an Object?

Yes, We can get the number of child of the Object by using ChildCount Property of the object
Ex- count = Object.ChildCount

What are the challenges you are facing in TestComplete?

There are few challenges we are face in TestComplete

Cross Browser Testing – for a cross browser testing we need to do browser level setting, if we try run our script on client machine then we need to check all browser setting.
Working with Window Popup – while you are trying to Upload or download file from the application some time it may get fail.
Working with Dynamic Object – handling such a object which is change every time or occurred suddenly.
Page Loading – Unable to predict page load time
Technical Support – There is no more support/Help available for TestComplete.

Is it possible to compared strings in TestComplete?

Yes we can do it by using aqString object like below –

aqString.Compare(String1, String2, Case Sensitive)

How to handle exception in TestComplete ?

Using On Error Resume Next statement we can handle the exception it TestComplete. On Error Resume Next Statement skip the Exception window and go for the next operation.

How to recognize Objects in TestComplete ?

There are different way to recognize the Object in TestComplete Like –

Recording
Object Spy
       Find, FindAll, FindChild, FindAllChildren

What Happen? If your computer resolution will be change, your same script will be run or it will get fail?

There are two possibilities –

Yes! Our script gets fail in case if we implement Record and Playback methodology.
Yes! Our Script will be run successfully If we Implement Name mapping or Descriptive programming methodology.

How to recognize similar object in your application?
We can use object ID for each or we can have assigned a unique identity for similar object by using Name Mapping Concept.

How to Test your application on different Node or on different workstation?
We can run our same script on different Node /different workstation by implementing the concept of Network Suite (But in this case entire client machine should be a part of Network)

Which Framework you are using for automation in TestComplete ?
We are using customize framework for automation. It is a combination of Keyword driven and Data Driven framework.