You are on page 1of 2

Enhancement - Sales Order transactions VA01/VA02/VA03

Transactions VA01, VA02 and VA03 are used to create, change and display sales order respectively. User exit available EXIT_SAPMV45A_910 IS-OIL/TAS: Exit Change-Flag Output determination EXIT_SAPMV45A_911 TAS - Customer exit after creation of calloff EXIT_SAPMV45A_920 User Exit: TAS data Incompletion Log on Doc.-header-level EXIT_SAPMV45A_930 Userexit to allow overdelivery in Quantity schedule EXIT_SAPMV45A_001 User Exit for Determining the Billing Plan Type EXIT_SAPMV45A_002 Preassignment of Sold-to Party in Sales Documents EXIT_SAPMV45A_003 Rev.Rec.: Copy Requirements An Header Level EXIT_SAPMV45A_004 Rev.Rec.: Field Modification Sales EXIT_SAPMV45A_005 Copyy Packing Proposal Into Outobund Delivery Orders

Screen exit 4309 4.0: Subscreen: Header - Additional data A 4312 4.0: Subscreen: Header - Additional data B 8309 Sales Document Header User Exit Header 8310 Sales Document Header User Exit Header 8459 Sales doc. Item User exit item (Additional data A) 8460 Sales Document Item User Exit Item (Additional data B)

PBO and PAI module of these screens are defined in user modifiable include, so correspoding code can written there. Apart from above mentioned user-exit there many form exits define in program where you can put custom code. These form exits are well documented in in program SAPMV45A with sample code. To see these form exits open program SAPMV45A in SE80 and expand 'subroutine' node of tree. All form starting with USEREXIT can be used to write custom code. Some of the commonly used are USEREXIT_AVAIL_CHECK_CREDIT USEREXIT_CHECK_VBAK USEREXIT_CHECK_VBAP USEREXIT_CHECK_VBEP USEREXIT_CHECK_VBKD USEREXIT_CUST_MATERIAL_READ USEREXIT_NEW_PRICING_VBAP USEREXIT_NEW_PRICING_VBKD USEREXIT_NUMBER_RANGE USEREXIT_READ_DOCUMENT USEREXIT_REFRESH_DOCUMENT USEREXIT_SAVE_DOCUMENT USEREXIT_SAVE_DOCUMENT_PREPARE Most of the enhacement in VA01/VA02/VA03 are done using these form exits. Adding additional input field to transaction: Roughly using below step you can modify these transaction to include new input field. 1) First include the new field in table VBAK or VBAP, depending on what level to want to add the input. VBAK is sales order header data and VBAP is sales order item data. 2)Modify the screen exit to include you field. 3)Implement PBO modules to enable disable fields based on transaction VA01, VA02 and VA03. 4)Write code in PAI module or form-exit (depending on the requirement) to validate the input and give error message. BAPI related with Sales Order processing BAPI_SALESORDER_CHANGE BAPI_SALESORDER_GETLIST BAPI_SALESORDER_GETSTATUS Change or delete sales order Returns list of all Orders for Customer Returns status with regard to availability, processing status (for example,

BAPI_SALESORDER_CREATEFROMDAT2 Create Sales Order

delivery status) and prices. BAPI_SALESORDER_SIMULATE Same as Create Sales Order BAPI, however Sales Order is not updated. Simulate the Sales Order creation.

Note 93091 - Information about the BAPIs in Sales and Distribution Note 550431 - FAQ: BAPI in sales - general questions Tables related with sales order processing VBAK Sales Document: Header Data VBAP Sales Document: Item Data VBEP Sales Document: Schedule Line Data VBPA Sales Document: Partner VBUK Sales Document: Header Status and Administrative Data VBUP Sales Document: Header Status and Administrative Data VBFA Sales Document Flow VBKD Sales Document: Business Data VBKFZ Cumulative Quantity Corrections VBSN Change status relating to scheduling agreements

You might also like