What is process returns inventory  to vendor

Hi can you please help us  for process returns inventory  to vendor.
if i have purchase 100ltr & sold only 80 ltr how can i have returns balance 20ltr to vendor.

No need to post in MM forum .
If you post this in MM forum, it will be rejected.
Please put some effort in search. You will get many discussions which will explain you the details about return delivery process.

Similar Messages

  • Return Inventory  to Vendor due to fault

    Hi expert,
    I am using the  BAPI_GOODSMVT_CREATE for return of inventory to vendor using the Gm_code = '06' and mvmt type 122.
    I am getting the error as "Goods movement not possible with mvmt type 122".
    What is the reason for this.
    Thanks&Regards,
    Karthik.
    Edited by: karthi keyan on Jan 31, 2008 5:01 PM

    Hi,
    It is often beneficial to check the source of the error. Here the error appears to be generated from program FM07MEB0 - because the movement type is not found against in table T158B for a TCODE. You can place a break-point here, check the TCODE required and using functional consultant help, you can maintain the value in this table and proceed.
    It should work then.
    Regards
    Gaurav

  • Pl tell me config and process of return PO to vendor via shipping

    Hello,
    My sloc is HU- Warehouse managed. I am creating a scenario of return purchase order to vendor using 161 Movement type. I have created a PO with 161 movement type. But whenever I am using MIGO with reference to return PO, OBD is created with customer. But I want OBD to be created for vendor because we are returning the delivery to vendor and not customer. I have done all the setting in vendor master of return delivery to vendor in purchasing view.  Please provide me step by step process of configuration and business process of written PO to vendor via shipping.
    Thanks
    Milind

    Hi,
    Pre requisites Vendor return Via return PO and delivery.
    1. You must create a customer master record for the vendor and assign the same in vendor master u2013Control view
    2. In vendor master u2013purchasing view flag the Returns Vendor check box.
    3. Maintain shipping point determination (OVL2)
    Refer below link for config
    [http://help.sap.com/bp_blv1600/BL_US/Documentation/Scenarios/V3I_BPP_EN_US.doc]
    Regards,
    Vikas

  • Returns to Sub vendor

    Hi Guys
    I have a problem, when I try to make a return to vendor (sub-vendor), I got following error "Returns not possible for subcontracting items" when I create the return PO, did anyone know what is wrong.
    Best Regards
    Bang

    Hello Jakob
    As we know Subcontracting involves child components which will be issued to subcontractor (mvt 541) and subcontractor process the compnents to make semifinished or finished item. When you make GR for subcontract item (mvt 101) the child compnents gets consumed automatically. And how can the consumed items will be returned to vendor ? what you may have to do is reverse the entire documents so that you will get the child compnents in your plant stock
    and return it to vendor.
    Regards
    Yogesh
    Always serch the query in Forum first and then post here.

  • Returnable Material from Vendor

    Hi,
    We are planning to implement Returnable Material from Vendor.
    The process we would like to follow is that we issue certain pallets to the vendor who would provide the RM's on the pallet. The pallets would be valuated on the Company code. We would like to track the number of pallets being issued to the vendor and also the number of pallets currently at the vendor at any point of time.
    The following are my doubts:
    1. How do we configure this process in SAP?
    2. What are the Master Data changes that need to be done? (Vendor Master, Customer Master and Material Master)
    3. How do we issue the Pallets to the vendor?
    4. How do we GR the Pallets?
    5. Should we treat the pallets as a special Material?
    6. How to track the Pallets?
    7. Can we implement WM for tracking pallets?(like can we use Storage Unit Management to track pallets)
    8. If my RM stores is WM managed how do i capture the above information?
    Please suggest.
    Regards,
    Srikanth

    Hi,
    Create Pallets material  as a material Type LEIH...
    Now create PO for your RM's...
    Do GRN for above PO ...In the GRN RM material will come in the GRN...Now you click on transport equipment button (last button) , just below the item grid table...
    It will take 501 + M mvt...
    Here you enter your pallet material and do the GRN.....check in MMBE, tracking will be done here...it wil show you the stock in sepearte line item...
    Now return the pallet to the vendor by 502 + M mvt ....
    Utsav
    Edited by: Utsav.agra on Sep 29, 2009 9:14 AM

  • Third party process as inventory value

    Dear Experts,
    Kindly need help for third party process.
    We have third party process which triggered from Sales Order. This Sales Order will automatically created PR. PR will be convert into PO.
    The issue is we would like to have goods in Sales Order (or Purchase Order in next process) as inventory value when receiving goods.
    Can third party process be treated as inventory value when receiving it?
    Thank you in advance.
    Best Regards,

    In third party process your customer gets the goods directly from your vendor.
    You only make a statistical GR ("phantom" GR) in the system, the goods are physically received by your customer and your customer's inventory will increase after your customer's GR and not yours. Knowing this your question doesn't make any sense I think.
    If your third party process is not a real third party process and you receive the goods physically and after that you sell it your customer you can use individual PO scenario.
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/dd/5601d4545a11d1a7020000e829fd11/frameset.htm
    Regards,
    Csaba

  • Error 0x800713ec: Process returned error: 0x13ec when installing message+.exe on xp machine.

    [0C00:0A0C][2015-02-10T11:49:06]i001: Burn v3.7.1224.0, Windows v5.1 (Build 2600: Service Pack 3), path: C:\Documents and Settings\K4MLD.K4MLD-F2F3858A4\My Documents\Downloads\Message+.exe, cmdline: ''
    [0C00:0A0C][2015-02-10T11:49:06]i000: Setting string variable 'WixBundleLog' to value 'C:\DOCUME~1\K4MLD~1.K4M\LOCALS~1\Temp\Message+_20150210114906.log'
    [0C00:0A0C][2015-02-10T11:49:06]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\Documents and Settings\K4MLD.K4MLD-F2F3858A4\My Documents\Downloads\Message+.exe'
    [0C00:0A0C][2015-02-10T11:49:06]i000: Setting string variable 'WixBundleName' to value 'Message+'
    [0C00:0A0C][2015-02-10T11:49:07]i100: Detect begin, 3 packages
    [0C00:0A0C][2015-02-10T11:49:07]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'
    [0C00:0A0C][2015-02-10T11:49:07]i000: Trying per-machine extended info for property 'State' for product: {F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
    [0C00:0A0C][2015-02-10T11:49:07]i000: Setting numeric variable 'VCRedistx86' to value 5
    [0C00:0A0C][2015-02-10T11:49:07]w120: Detected partially cached package: vcredist_x86.exe, invalid payload: vcredist_x86.exe, reason: 0x80070570
    [0C00:0A0C][2015-02-10T11:49:07]i052: Condition 'VCRedistx86<>2' evaluates to true.
    [0C00:0A0C][2015-02-10T11:49:07]w120: Detected partially cached package: NetFx45Web, invalid payload: NetFx45Web, reason: 0x80070570
    [0C00:0A0C][2015-02-10T11:49:07]i052: Condition 'NETFRAMEWORK45 >= 378389' evaluates to false.
    [0C00:0A0C][2015-02-10T11:49:07]i101: Detected package: vcredist_x86.exe, state: Present, cached: Partial
    [0C00:0A0C][2015-02-10T11:49:07]i101: Detected package: NetFx45Web, state: Absent, cached: Partial
    [0C00:0A0C][2015-02-10T11:49:07]i101: Detected package: VMAApplication, state: Absent, cached: Complete
    [0C00:0A0C][2015-02-10T11:49:07]i199: Detect complete, result: 0x0
    [0C00:0A0C][2015-02-10T11:49:11]i200: Plan begin, 3 packages, action: Install
    [0C00:0A0C][2015-02-10T11:49:11]i052: Condition 'VCRedistx86=2' evaluates to false.
    [0C00:0A0C][2015-02-10T11:49:11]w321: Skipping dependency registration on package with no dependency providers: vcredist_x86.exe
    [0C00:0A0C][2015-02-10T11:49:11]w321: Skipping dependency registration on package with no dependency providers: NetFx45Web
    [0C00:0A0C][2015-02-10T11:49:11]i000: Setting string variable 'NetFx45FullWebLog' to value 'C:\DOCUME~1\K4MLD~1.K4M\LOCALS~1\Temp\Message+_20150210114906_0_NetFx45Web.log'
    [0C00:0A0C][2015-02-10T11:49:11]i000: Setting string variable 'WixBundleRollbackLog_VMAApplication' to value 'C:\DOCUME~1\K4MLD~1.K4M\LOCALS~1\Temp\Message+_20150210114906_1_VMAApplication_rollback.log'
    [0C00:0A0C][2015-02-10T11:49:11]i000: Setting string variable 'WixBundleLog_VMAApplication' to value 'C:\DOCUME~1\K4MLD~1.K4M\LOCALS~1\Temp\Message+_20150210114906_1_VMAApplication.log'
    [0C00:0A0C][2015-02-10T11:49:11]i201: Planned package: vcredist_x86.exe, state: Present, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: None
    [0C00:0A0C][2015-02-10T11:49:11]i201: Planned package: NetFx45Web, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: Yes, uncache: No, dependency: None
    [0C00:0A0C][2015-02-10T11:49:11]i201: Planned package: VMAApplication, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: No, uncache: No, dependency: Register
    [0C00:0A0C][2015-02-10T11:49:11]i299: Plan complete, result: 0x0
    [0C00:0A0C][2015-02-10T11:49:11]i300: Apply begin
    [0CEC:0C1C][2015-02-10T11:49:16]i360: Creating a system restore point.
    [0CEC:0C1C][2015-02-10T11:49:32]i361: Created a system restore point.
    [0CEC:0C1C][2015-02-10T11:49:33]i000: Caching bundle from: 'C:\DOCUME~1\K4MLD~1.K4M\LOCALS~1\Temp\{1ca30da3-9557-44ec-bdf2-e0887854efd9}\.be\Message+.exe' to: 'C:\Documents and Settings\All Users.WINDOWS\Application Data\Package Cache\{1ca30da3-9557-44ec-bdf2-e0887854efd9}\Message+.exe'
    [0CEC:0C1C][2015-02-10T11:49:33]i320: Registering bundle dependency provider: {1ca30da3-9557-44ec-bdf2-e0887854efd9}, version: 1.0.14.0
    [0C00:0484][2015-02-10T11:49:33]w343: Prompt for source of package: NetFx45Web, payload: NetFx45Web, path: C:\Documents and Settings\K4MLD.K4MLD-F2F3858A4\My Documents\Downloads\redist\dotNetFx45_Full_setup.exe
    [0C00:0484][2015-02-10T11:49:33]i338: Acquiring package: NetFx45Web, payload: NetFx45Web, download from: http://go.microsoft.com/fwlink/?LinkId=225704
    [0CEC:094C][2015-02-10T11:49:45]i305: Verified acquired payload: NetFx45Web at path: C:\Documents and Settings\All Users.WINDOWS\Application Data\Package Cache\.unverified\NetFx45Web, moving to: C:\Documents and Settings\All Users.WINDOWS\Application Data\Package Cache\F6BA6F03C65C3996A258F58324A917463B2D6FF4\redist\dotNetFx45_Full_setup.exe.
    [0CEC:094C][2015-02-10T11:49:48]i304: Verified existing payload: VMAApplication at path: C:\Documents and Settings\All Users.WINDOWS\Application Data\Package Cache\{70A85191-F402-4CB5-8AFF-050956C7A9E1}v1.0.14.0\Message+.msi.
    [0CEC:0C1C][2015-02-10T11:49:48]i301: Applying execute package: NetFx45Web, action: Install, path: C:\Documents and Settings\All Users.WINDOWS\Application Data\Package Cache\F6BA6F03C65C3996A258F58324A917463B2D6FF4\redist\dotNetFx45_Full_setup.exe, arguments: '"C:\Documents and Settings\All Users.WINDOWS\Application Data\Package Cache\F6BA6F03C65C3996A258F58324A917463B2D6FF4\redist\dotNetFx45_Full_setup.exe" /q /norestart /ChainingPackage "Message+" /log C:\DOCUME~1\K4MLD~1.K4M\LOCALS~1\Temp\Message+_20150210114906_0_NetFx45Web.log.html'
    [0CEC:0C1C][2015-02-10T11:50:36]e000: Error 0x800713ec: Process returned error: 0x13ec
    [0CEC:0C1C][2015-02-10T11:50:36]e000: Error 0x800713ec: Failed to execute EXE package.
    [0C00:0A0C][2015-02-10T11:50:36]e000: Error 0x800713ec: Failed to configure per-machine EXE package.
    [0C00:0A0C][2015-02-10T11:50:36]i319: Applied execute package: NetFx45Web, result: 0x800713ec, restart: None
    [0C00:0A0C][2015-02-10T11:50:36]e000: Error 0x800713ec: Failed to execute EXE package.
    [0CEC:0C1C][2015-02-10T11:50:36]i351: Removing cached package: NetFx45Web, from path: C:\Documents and Settings\All Users.WINDOWS\Application Data\Package Cache\F6BA6F03C65C3996A258F58324A917463B2D6FF4\
    [0CEC:0C1C][2015-02-10T11:50:36]i330: Removed bundle dependency provider: {1ca30da3-9557-44ec-bdf2-e0887854efd9}
    [0CEC:0C1C][2015-02-10T11:50:36]i352: Removing cached bundle: {1ca30da3-9557-44ec-bdf2-e0887854efd9}, from path: C:\Documents and Settings\All Users.WINDOWS\Application Data\Package Cache\{1ca30da3-9557-44ec-bdf2-e0887854efd9}\
    [0C00:0A0C][2015-02-10T11:50:37]i399: Apply complete, result: 0x800713ec, restart: None, ba requested restart:  No

    Try deleting the downloaded ,exe file and re-downloading and re-installing it.  If you have an AV running, try disabling it just for the installation; it may be preventing some parts from installing properly.
    If that isn't what you need, please ask your specific question; posting the error log may help a tech, but is not very useful to us regular customers.

  • Return item to vendor

    Hi all,
    We have two diffirent return process in our company.
    1) Return items to vendor with 161 movement type. In this case first we create PO and for this po we create GR ( 161 ) then we gave to vendor return receipt.
    2) Vendor has warranty for items. So when we gave back items which is under warranty to vendor there is two options.a) vendor is fixing item then give it back to us and If item costs out of warranty we pay to vendor. b) vendor pays us back for this item, so we return to first process.
    Can you suggest solution for second process?
    Kind regards
    Tolga

    Already jagdeep  explained  all the  return process .
    Use 122  Movement  type  and  return  the  material  to  vendor and  once  vendor  give it back  to  you can proceed with  101 .
    If  the  item   out of warranty  we pay to vendor . - For this  you  can  receive  the  material  and  move  to  blocked stock  when  the warranty  completes. Here  Stock  lying with  us  and   you can pay the  amount to  vendor .
    vendor pays us back for this item, so we return to first process -   If the  vendor  returns  the  material , then  use 122 from  blocked  stock and  receive  the  stock  which  vendor  is going  to send  back  .
    If  you need  separate  stock  wise  use  Batch Management and SLED if it requires.
    Regards , Anil Kumar G

  • Return goods to vendor

    Hi All,
    Material A is in blocked status and needs to be return to the vendor.  When perform GR with movement type 161 (Returns for Purchase Order), the stock type is default to "Quality Inspection", can not change to "Blocked stock".
    What is the problem that can not change the stock type?
    Thanks.

    Hi,
    the stock type is default to "Quality Inspection", can not change to "Blocked stock".
    What is the problem that can not change the stock type?
    No problem you can change it
    Regards
    Kailas Ugale

  • Plants inventory at Vendor Location

    Hi All,
    This is something interesting I came to know from my client. Here is the current business process
    There is a vendor who we subcontract work to but all the parts are inventoried at the vendor location even before the contract work begins. Until then, the inventory is owned by the plant and the vendor need to cut a Purchase Order everytime they want to consume
    This can be well explained as an opposite scenario for vendor consignment. In vendor consignment scenario, plant stocks material that belongs to vendor and cut a PO when required to consume.
    Can someone please explain if you ever faced a scenario(underlined above) and how to deal with it in SAP?
    Thanks in Advance,
    MG

    Hi Sridhar,
    Thanks for replying. I didn't quite understand your answer. May be my question is not clear.
    There is only one plant and one vendor. This vendor is setup to do subcontracting work. But, the materials required for performing the work is already stocked at vendor's own site. This stock is owned by the plant not by the vendor.
    Once the plant gets a request to make a product from a customer, the materials stored at the vendor location are then sold to vendor (then those materials are owned by vendor and taken off the ledger in the plant).
    How can we set this up in SAP?
    Thanks,
    MG

  • What is process for payment run

    Hi guru,
    Can any one tell what is process for Payment by F110.
    Point will reward.
    thanks&regars
    Durgesh

    Hi
    COpy the Script F110_PRENUM_CHEK to some ZFORM and attach it in the F110 tcode for the related company code and payment method..
    You can do the required modifications to the script as per your requirement.
    Generally we use the Preprinted stationary for printing the cheque
    in which on the top vendor address and the fi doc line items will be printed.
    in the last cheque is printed.
    We have to print just few fields on that pre printed cheque like Vendor name, Amount, Date and amount in words etc.
    You have take some rought stationary xerox copies and to check by printing the fields whether they are correctly matching to the fields on the cheque exactly or not..have to adjust the positions and map.
    see the doc
    Run Payment Program (F110)
    Purpose
    Use this procedure to run the automatic payment program. The payment program is used to create cheques, BACs payments, electronic transfers, etc. for vendors. It is also used to create a direct debit file for customer payments. The payment program runs in three specific steps, which must be run in order.
    Create Payment Proposal. This is a listing of proposed payments. The proposal should be reviewed for accuracy and edited or deleted if incorrect. No postings or payments are created at this step.
    Create Payments. This step creates posting documents in the system, clearing the customer/vendor subledger accounts and posting the offsetting item to a cash or cash clearing account.
    Create Payment Media. This step creates the actual payments, sending cheque forms to the printer or creating files of electronic payments to be sent to the bank.
    Trigger
    Perform this procedure when you are ready to create vendor payments or to create a direct debit file for customers.
    Prerequisites
    • You must have the following master data prepared:
    • Banks and bank accounts with associated general ledger accounts;
    • Appropriate payment methods assigned to your company code;
    • Customer and vendor master records with the appropriate details completed.
    • If you wish to create a cheque payment, the vendor/customer master record must contain full address details.
    • If you wish to create an electronic payment, the vendor/customer master record must contain full bank details.
    • If you wish to create a direct debit transaction for a customer, the 'Col' (collection authorization) checkbox must be selected. This field is found on the General Data - Payment Transaction Data tab.
    Navigation Path
    Use the following navigation path to begin this transaction:
    • Select Processes è Purchase Requisition through to Payment è Payments è Automatic Payments è Run Payment Program to go to the Automatic Payment Transactions: Status screen.
    for more information please check out the link below it
    might help you
    http://www.hostlogic.hu/caghelp/Transactions/Finance/content/f110%20-%20run%20payment%20program/cc/html/index.htm
    Regards
    ANJI

  • What are process types in process chain

    hi any one tell me what are process types in Process chains

    Hi,
    In the Plan View of the process chain maintenance screen.
    In the left-hand area of the screen, a navigation area is displayed. In the right-hand area of the screen, the process chain is displayed.
    Use the drag-and-drop function to add the relevant processes into your process chain.
    You use the Process Types function to select the processes. This sorts the process types according to different categories. You can also call up InfoPackages and processes for the data target from the separate InfoSources and Data Targets navigation trees.
    If you insert into the chain a process that is linked to additional processes, the respective process variants are generated and inserted into the process chain automatically. These variants are suggestions and can be changed, replaced or removed from the chain if required.
    Only if the attribute realignment run is inserted automatically, do you also arrive at the variant maintenance screen.
    If you want to specify yourself the processes that are to be included in a chain, choose Settings ® Default Chains, and select the Do Not Suggest Processes option. As a result, the system does not suggest, generate, or insert automatically any processes into the chain. This setting is user-specific.
    If the chain that you create does not correspond to the standard, the system displays a warning. You can ignore these warnings if you are sure that you are creating a chain that meets your requirements. Warnings do not affect how the chain operates during runtime.
    Your chain is checked in the checking view and during activation. The system tells you if it discovers any errors.
    Creating a Process Chain Using the Maintenance Dialog for a Process
    You are in the maintenance dialog of a process that you want to include in a process chain.
    1. Choose the Process Chain Maintenance pushbutton and create a process variant.
    2. Save the variant and go back to the previous screen.
    A dialog window appears in which you enter a technical name and a description of the chain that you want to create.
    3. Confirm your entries.
    The Add Start Process dialog window appears.
    4. Create a variant for a start process.
    1. a. On the Maintain Start Process screen, choose whether you want to schedule the chain directly or whether you want to start it using a metachain.
    2. b. If you choose to schedule the chain directly, enter the start date value for the chain under Change Selections and save your entries.
    The Maintain Start Process screen appears again.
    3. c. Save your entries, return to the previous screen and confirm your entries in the Add Start Process dialog window.
    You are taken to the Plan View of the process chain maintenance screen.
    The various process categories, the application processes, and collection processes are displayed in the left-hand area of the screen. In the right-hand area of the screen, the process chain is displayed.
    If the process that you used to create a chain is linked to additional processes, the respective process variants are generated and inserted into the process chain automatically. These variants are suggestions and can be changed, replaced or removed from the chain if required.
    Only if the attribute realignment run is inserted automatically, do you also arrive at the variant maintenance screen.
    If you want to specify yourself the processes that are to be included in a chain, choose Settings ® Default Chains, and select the Do Not Suggest Processes option. As a result, the system does not suggest, generate, or insert automatically any processes into the chain. This setting is user-specific.
    If the chain that you create does not correspond to the standard, the system displays a warning. You can ignore these warnings if you are sure that you are creating a chain that meets your requirements. Warnings do not affect how the chain operates during runtime.
    Your chain is checked in the checking view and during activation. The system tells you if it discovers any errors.
    5. Use the drag-and-drop function to insert any additional relevant processes into your process chain.
    You use the Process Types function to select the processes. This sorts the process types according to different categories. You can also call up InfoPackages and processes for the data target from the separate InfoSources and Data Targets navigation trees.
    Additional Steps to Creating a Process Chain
    6. When you add a process, you need to select a process variant or create a new variant. For collection processes, the system determines the variants.
    Various functions for working with the process are available from the context menu:
    Context Menu Entry for a Process Function Information
    Maintain Variants With the exception of the variants in the collection process, you can use this function to change all process variants.
    Exchange Variants You can swap the variants for an existing variant or a new variant.
    Display Scheduled Jobs Once the process chain is active, you can use this function to display the jobs that have been scheduled.
    Display All Jobs After at least one run of the process chain, you can display, for a specific process, all of the scheduled jobs for this process and all of the jobs with which this process was run. You arrive at the job overview from where you call up the relevant job log.
    Create Message You can also send messages to an application process of the chain, depending on the success or failure of the process.
    1. 1. From the context menu of a process, create an additional process variant of the Send Message type.
    2. 2. If you maintain a message, first specify whether you want the message to be sent when the process has been completed successfully or unsuccessfully. Then choose Next.
    3. 3. You arrive at a window, in which you can select an existing process variant or create a new one.
    4. 4. If you create a new process variant, edit the document that is going to be sent, and maintain a list of recipients.
    5. 5. Save your process variant and go back a step.
    The message process variant is now assigned to your application process. When the message is sent, the status information and the process log can also be sent.
    Wait Time
    You use this function only to debug a process run.
    Specify how long (in seconds) you want the delay to be between one event being triggered and the next process starting.
    You can capture the process by using transaction SM37 (Job Overview) or SM50 (Process Overview).
    Remove Process You use this function to remove a process from a process chain.
    Manage Data Target You use this function in connection with the following types of process variants
    1. • constructing indexes
    2. • deleting indexes
    3. • constructing database statistics
    4. • rolling up filled aggregates
    5. • compressing InfoCubes
    6. • activating ODS object data
    to call up the administration for each of the data targets.
    7. Hold down the left mouse button to connect the processes through events.
    Before you do this, select the process underneath the process type row, and position the cursor over the required process. When you select the process type row, the whole process is moved into the plan view.
    From the context menu of a link, you can display the event or remove the link again. To do this, highlight the link and right-click with the mouse.
    8. If necessary, specify whether you want the event to be triggered after the previous process has been completed successfully or unsuccessfully or whether you want the event to be triggered independently of the outcome of the process that precedes it.
    9. Under Attributes ®Display Components assign a display component to the process chain.
    10. Maintain additional process chain attributes if necessary.
    11. Check your process chain in the Check View and make any necessary corrections.
    The Legend explains the meaning of the different colors used to display the processes and links.
    From the context menu for a process, you can display the messages resulting from the check.
    12. Save your process chain if it does not contain any errors.
    Result
    Your process chain can be activated. After activation, the chain starts in accordance with the start process selections. For example, if you scheduled the start process directly and chose Immediately as the start date value, the chain run starts immediately after activation. In the Log View, you can display the reports for the chain runs.
    Hope it helps.
    Regards,
    Amith

  • What is procedure for creating new vendor and material master data in ABAP

    What is procedure for creating new vendor and material master data in ABAP .

    see below code which is used for creation of vendor master as well as extension...
    *& Report  ZFC_VENDOR_CREATE                                           *
    REPORT  ZFC_VENDOR_CREATE  LINE-SIZE 100
                               NO STANDARD PAGE HEADING
                               MESSAGE-ID ZZ.
                         TABLES
    TABLES : SSCRFIELDS.   " Fields on selection screens
                         CONSTANTS
    DATA : C_SPLIT TYPE C VALUE '#'.  " Used for Has Separator in GUI_UPLAOD
                         TYPES
    Int'table to hold Vendor Master Data
    TYPES : BEGIN OF TY_VENDOR_MASTER,
              FLAG  TYPE C,               " Update Flag
              LIFNR TYPE LIFNR,           " Vendor Number
              BUKRS TYPE BUKRS,           " Company Code
              KTOKK TYPE KTOKK,           " Account Group
              ANRED TYPE ANRED,           " Title
              NAME1 TYPE NAME1_GP,        " Name1
              NAME2 TYPE NAME2_GP,        " Name2
              SORTL TYPE SORTL,           " Search Term 1
              SORT2 TYPE AD_SORT2UL,      " Search Term 2
              STRAS TYPE STRAS_GP,        " Street
              PSTLZ TYPE PSTLZ,           " Postal Code
              ORT01 TYPE ORT01_GP,        " City
              REGIO TYPE REGIO,           " Region
              LAND1 TYPE LAND1_GP,        " Country
              SPRAS TYPE SPRAS,           " Language
              VBUND TYPE RASSC,           " Trading Partner
              BANKS TYPE BANKS,           " Country
              BANKL TYPE BANKK,           " Bank Key
              BANKN TYPE BANKN,           " Bank Account
              BKONT TYPE BKONT,           " Bank Control Key
              BANKA TYPE BANKA,           " Name of Bank
              AKONT TYPE AKONT,           " Reconciliation Account
              FDGRV TYPE FDGRV,           " Cash Management Group
              ZTERM TYPE DZTERM,          " Payment Terms
              REPRF TYPE REPRF,           " Check Double Invoice
              ZWELS TYPE DZWELS,          " Payment Methods
              XPORE TYPE XPORE,           " Pay all items separately
            END   OF TY_VENDOR_MASTER,
    Int'table to hold Vendor Extend Data
            BEGIN OF TY_VENDOR_EXTEND,
              FLAG  TYPE C,               " Update Flag
              LIFNR     TYPE LIFNR,           " Vendor Number
              BUKRS     TYPE BUKRS,           " Company Code
              KTOKK     TYPE KTOKK,           " Account Group
              REF_LIFNR TYPE LIFNR,           " Reference Vendor Number
              REF_BUKRS TYPE BUKRS,           " Reference Company Code
              AKONT     TYPE AKONT,           " Reconciliation Account
              FDGRV     TYPE FDGRV,           " Cash Management Group
              ZTERM     TYPE DZTERM,          " Payment Terms
              REPRF     TYPE REPRF,           " Check Double Invoice
              ZWELS     TYPE DZWELS,          " Payment Methods
              XPORE TYPE XPORE,           " Pay all items separately
            END   OF TY_VENDOR_EXTEND,
    Int'table to hold Error Records Data
            BEGIN OF TY_ERROR,
              MSG(200) TYPE C,                " To hold Message
              LIFNR    TYPE LIFNR,            " Vendor Number
              BUKRS    TYPE BUKRS,            " Company Code
            END   OF TY_ERROR.
                         DATA (Simple Fields)
    DATA : W_COUNT TYPE I,               " Variable to hold count of Records
           W_SUCC_REC TYPE I,            " No. of Success Records
           W_SUCC_REC1 TYPE I,           " No. of Updated Records
           W_ERR_REC TYPE I,             " No. of Error Records
           w_noupdate_rec type i.        " No. of Records not Changed
                         INTERNAL TABLES
    Int'table to hold uploaded data from File
    DATA : IT_VENDOR_MASTER    TYPE STANDARD TABLE OF TY_VENDOR_MASTER,
           WA_IT_VENDOR_MASTER TYPE TY_VENDOR_MASTER,
           IT_VENDOR_EXTEND    TYPE STANDARD TABLE OF TY_VENDOR_EXTEND,
           WA_IT_VENDOR_EXTEND TYPE TY_VENDOR_EXTEND,
           WA_IT_BDCDATA       TYPE BDCDATA,
           IT_BDCDATA          TYPE STANDARD TABLE OF BDCDATA,
           WA_IT_MESSTAB       TYPE BDCMSGCOLL,
           IT_MESSTAB          TYPE STANDARD TABLE OF BDCMSGCOLL,
           IT_ERROR            TYPE STANDARD TABLE OF TY_ERROR,
           WA_IT_ERROR         TYPE TY_ERROR,
           it_error_fk01       type standard table of ty_error,
           wa_it_error_fk01    type ty_error,
           it_error_fk02       type standard table of ty_error,
           wa_it_error_fk02    type ty_error,
           it_succ_rec1        type standard table of ty_error,
           wa_it_succ_rec1     type ty_error,
           it_noupdate         type standard table of ty_error,
           wa_it_noupdate      type ty_error.
                         FLAGS
    DATA : FL_FLAG1 TYPE C,          " Flag to check error upload file
           FL_FLAG2 TYPE C,          " Flag to hold value
           FL_FLAG3 TYPE C,          " Flag to hold value
           FL_FLAG4 TYPE C.          " Flag to hold value
                         SELECTION-SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN : BEGIN OF LINE,
                COMMENT 1(30) TEXT-001,
                POSITION POS_LOW.
    PARAMETERS :       P_FILE(128) DEFAULT 'C:\UPLOAD.TXT' OBLIGATORY.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE,
                COMMENT 1(30) TEXT-002,
                POSITION POS_LOW.
    PARAMETERS :       P_VENMAS RADIOBUTTON GROUP R1 DEFAULT 'X'.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE,
                COMMENT 1(30) TEXT-003,
                POSITION POS_LOW.
    PARAMETERS :       P_VENEXT RADIOBUTTON GROUP R1.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN SKIP 2.
    SELECTION-SCREEN : BEGIN OF LINE,
                COMMENT 1(30) TEXT-004,
                POSITION POS_LOW.
    PARAMETERS :       P_MODE(1) DEFAULT 'N'.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE,
                COMMENT 1(30) TEXT-005,
                POSITION POS_LOW.
    PARAMETERS :       P_GROUP(12) DEFAULT 'ZFC_VENDOR_C' OBLIGATORY.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE,
                COMMENT 1(30) TEXT-016,
                POSITION POS_LOW.
    PARAMETERS :       P_GROUP1(12) DEFAULT 'ZFC_VENDOR_U' OBLIGATORY.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN END OF BLOCK B1.
                         AT SELECTION-SCREEN ON
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
    Form to get file path for upload of data
      PERFORM GET_FILE_PATH.
    AT SELECTION-SCREEN ON BLOCK B1.
    Form to Validate data specified on Selection Screen
      CHECK SSCRFIELDS-UCOMM EQ 'ONLI'.
      PERFORM VALIDATE_DATA.
                         START - OF - SELECTION
    START-OF-SELECTION.
      IF P_VENMAS = 'X'.
    Form to upload data from Presentation Server for Vendor Master
        PERFORM UPLOAD_DATA TABLES IT_VENDOR_MASTER.
        IF FL_FLAG1 NE 'X'.
          SORT IT_VENDOR_MASTER BY LIFNR BUKRS KTOKK.
          DELETE IT_VENDOR_MASTER WHERE LIFNR = ' '
                                  AND   BUKRS = ' '
                                  AND   KTOKK = ' '.
    Form to process data for Vendor Master
          PERFORM INSERT_VENDOR_MASTER_DATA.
        ENDIF.
      ELSEIF P_VENEXT = 'X'.
    Form to upload data from Presentation Server for Vendor Extend
        PERFORM UPLOAD_DATA TABLES IT_VENDOR_EXTEND.
        IF FL_FLAG1 NE 'X'.
          SORT IT_VENDOR_EXTEND BY LIFNR BUKRS KTOKK.
          DELETE IT_VENDOR_EXTEND WHERE LIFNR = ' '
                                  AND   BUKRS = ' '
                                  AND   KTOKK = ' '.
    Form to process data for Vendor Master
          PERFORM CHK_AND_INS_VENDOR_EXTEND_DATA.
        ENDIF.
      ENDIF.
                         END - OF - SELECTION
    END-OF-SELECTION.
      IF FL_FLAG1 NE 'X'.
        FORMAT COLOR 7.
        WRITE:/2 TEXT-O01.           " Total Number of records read :
        FORMAT COLOR OFF.
        WRITE:40 W_COUNT.
        FORMAT COLOR 7.
        WRITE:/2 TEXT-O02.           " Total Number of Success records :
        FORMAT COLOR OFF.
        WRITE:40 W_SUCC_REC.
        FORMAT COLOR 7.
        WRITE:/2 TEXT-O07.           " Total Number of Updated records :
        FORMAT COLOR OFF.
        WRITE:40 W_SUCC_REC1.
        FORMAT COLOR 7.
        WRITE:/2 TEXT-O08.           " Total Number of Unchanged records :
        FORMAT COLOR OFF.
        WRITE:40 W_noupdate_REC.
        FORMAT COLOR 7.
        WRITE:/2 TEXT-O03.           " Total Number of Error records :
        FORMAT COLOR OFF.
        WRITE:40 W_ERR_REC.
        if not it_succ_rec1 is initial.
          skip 1.
          perform display_changed_report.
        endif.
        if not it_noupdate is initial.
          skip 1.
          perform display_nochange_report.
        endif.
        IF NOT IT_ERROR IS INITIAL.
          SKIP 3.
    Form to display error data
          PERFORM DISPLAY_ERROR_REPORT.
        ENDIF.
        IF FL_FLAG2 = 'X'.
          SKIP 2.
          FORMAT COLOR 4.
          WRITE:/2 TEXT-O04.        " BDC Session Name for Creation (FK01) :
          FORMAT COLOR OFF.
          WRITE:40 P_GROUP.
          perform display_error_report_fk01.
        ENDIF.
        IF FL_FLAG3 = 'X'.
          SKIP 2.
          FORMAT COLOR 4.
          WRITE:/2 TEXT-O09.        " BDC Session Name for Updation (FK02) :
          FORMAT COLOR OFF.
          WRITE:40 P_GROUP1.
          perform display_error_report_fk02.
        ENDIF.
      ENDIF.
    *&      Form  GET_FILE_PATH
    This form is used to get the specified path for uploading of data from
    flat file with the help of F4 function key
    FORM GET_FILE_PATH .
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
          FIELD_NAME    = ' '
        IMPORTING
          FILE_NAME     = P_FILE.
    ENDFORM.                    " GET_FILE_PATH
    *&      Form  VALIDATE_DATA
    This form is used to validate the data given by user on the Selection
    Screen and the appropriate message is been displayed when an wrong
    entry is inputted
    FORM VALIDATE_DATA .
      IF SY-BATCH EQ 'X'.
        CLEAR SSCRFIELDS-UCOMM.
        MESSAGE E001(ZZ) WITH TEXT-011.
        " Excel file not to be used in Batch Mode
      ENDIF.
      IF P_MODE NE 'A' AND P_MODE NE 'N' AND P_MODE NE 'E'.
        MESSAGE E001(ZZ) WITH TEXT-012.
        " Session Mode should be either A or N or E
      ENDIF.
    ENDFORM.                    " VALIDATE_DATA
    *&      Form  UPLOAD_DATA
    This form is used to upload data from Presentation Server for either
    Vendor Master or Vendor Extend
    FORM UPLOAD_DATA TABLES P_IT_VENDOR.
      DATA : L_FILENAME TYPE STRING,
             L_FILETYPE TYPE CHAR10 VALUE 'ASC',
             L_HEADER_LENGTH TYPE I VALUE 0,
             L_READ_BY_LINE TYPE CHAR01 VALUE 'X'.
      MOVE P_FILE TO L_FILENAME.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          FILENAME                = L_FILENAME
          FILETYPE                = L_FILETYPE
          HEADER_LENGTH           = L_HEADER_LENGTH
          READ_BY_LINE            = L_READ_BY_LINE
          HAS_FIELD_SEPARATOR     = C_SPLIT
        TABLES
          DATA_TAB                = P_IT_VENDOR
        EXCEPTIONS
          FILE_OPEN_ERROR         = 1
          FILE_READ_ERROR         = 2
          NO_BATCH                = 3
          GUI_REFUSE_FILETRANSFER = 4
          INVALID_TYPE            = 5
          NO_AUTHORITY            = 6
          UNKNOWN_ERROR           = 7
          BAD_DATA_FORMAT         = 8
          HEADER_NOT_ALLOWED      = 9
          SEPARATOR_NOT_ALLOWED   = 10
          HEADER_TOO_LONG         = 11
          UNKNOWN_DP_ERROR        = 12
          ACCESS_DENIED           = 13
          DP_OUT_OF_MEMORY        = 14
          DISK_FULL               = 15
          DP_TIMEOUT              = 16
          OTHERS                  = 17.
      IF SY-SUBRC <> 0.
       MESSAGE I001(ZZ) WITH TEXT-006 L_FILENAME.
    MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        FL_FLAG1 = 'X'.
      ELSEIF P_IT_VENDOR[] IS INITIAL.
        MESSAGE I001(ZZ) WITH TEXT-014.   " Uploaded File contains no data
        FL_FLAG1 = 'X'.
      ENDIF.
    ENDFORM.                    " UPLOAD_DATA
    *&      Form  INSERT_VENDOR_MASTER_DATA
    This form is used to process BDC data for Vendor Master
    FORM INSERT_VENDOR_MASTER_DATA .
      DATA : L_LIFNR TYPE LIFNR.
      CLEAR : L_LIFNR.
      sort it_vendor_master by flag.
      LOOP AT IT_VENDOR_MASTER INTO WA_IT_VENDOR_MASTER.
        W_COUNT = W_COUNT + 1.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = WA_IT_VENDOR_MASTER-LIFNR
          IMPORTING
            OUTPUT = WA_IT_VENDOR_MASTER-LIFNR.
        if wa_it_vendor_master-flag = 'A'.
        SELECT SINGLE LIFNR
               FROM LFB1
               INTO L_LIFNR
               WHERE LIFNR = WA_IT_VENDOR_MASTER-LIFNR
               AND   BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
        IF SY-SUBRC EQ 0.
          WA_IT_ERROR-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
          WA_IT_ERROR-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
          WA_IT_ERROR-MSG   = TEXT-015.
          APPEND WA_IT_ERROR TO IT_ERROR.
          W_ERR_REC = W_ERR_REC + 1.
          CLEAR : WA_IT_ERROR, L_LIFNR.
        ELSE.
          REFRESH IT_BDCDATA.
          CLEAR IT_BDCDATA.
          PERFORM POPULATE_BDC_DATA_VEN_MASTER.
          PERFORM CALL_TRANSACTION.
        ENDIF.
        CLEAR : WA_IT_VENDOR_MASTER.
        elseif wa_it_vendor_master-flag = 'C'.
          IF FL_FLAG2 = 'X' and fl_flag4 ne 'X'.
            PERFORM CLOSE_BDC_SESSION.
            fl_flag4 = 'X'.
          ENDIF.
          REFRESH IT_BDCDATA.
          CLEAR IT_BDCDATA.
          PERFORM POPULATE_BDC_DATA_VEN_MASTER.
          PERFORM CALL_TRANSACTION_FK02.
          CLEAR : WA_IT_VENDOR_MASTER.
        elseif wa_it_vendor_master-flag = 'N'.
          WA_IT_noupdate-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
          WA_IT_noupdate-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
          WA_IT_noupdate-MSG   = TEXT-018.
          APPEND WA_IT_noupdate TO IT_noupdate.
          W_noupdate_REC = W_noupdate_REC + 1.
          CLEAR : WA_IT_noupdate, WA_IT_VENDOR_MASTER.
        endif.
      ENDLOOP.
      IF FL_FLAG3 = 'X'.
        PERFORM CLOSE_BDC_SESSION.
      ENDIF.
    ENDFORM.                    " INSERT_VENDOR_MASTER_DATA
    *&      Form  POPULATE_BDC_DATA_VEN_MASTER
    This form is used to populate BDC data of Vendor Master
    FORM POPULATE_BDC_DATA_VEN_MASTER .
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT  = WA_IT_VENDOR_MASTER-ZTERM
        IMPORTING
          OUTPUT = WA_IT_VENDOR_MASTER-ZTERM.
      IF WA_IT_VENDOR_MASTER-REPRF = 'Y'.
        WA_IT_VENDOR_MASTER-REPRF = 'X'.
      ENDIF.
      IF WA_IT_VENDOR_MASTER-XPORE = 'Y'.
        WA_IT_VENDOR_MASTER-XPORE = 'X'.
      ENDIF.
      if wa_it_vendor_master-flag = 'A'.
      PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0105',
               BDC_FIELD  USING 'RF02K-LIFNR' WA_IT_VENDOR_MASTER-LIFNR,
               BDC_FIELD  USING 'RF02K-BUKRS' WA_IT_VENDOR_MASTER-BUKRS,
               BDC_FIELD  USING 'RF02K-KTOKK' WA_IT_VENDOR_MASTER-KTOKK,
               BDC_FIELD  USING 'BDC_OKCODE'  '/00'.
      elseif wa_it_vendor_master-flag = 'C'.
      PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0106',
               BDC_FIELD  USING 'RF02K-LIFNR' WA_IT_VENDOR_MASTER-LIFNR,
               BDC_FIELD  USING 'RF02K-BUKRS' WA_IT_VENDOR_MASTER-BUKRS,
               BDC_FIELD  USING 'BDC_OKCODE'  '=MALL',
               BDC_DYNPRO USING 'SAPMF02K' '0106',
               BDC_FIELD  USING 'RF02K-D0110' 'X',
               BDC_FIELD  USING 'RF02K-D0120' 'X',
               BDC_FIELD  USING 'RF02K-D0130' 'X',
               BDC_FIELD  USING 'RF02K-D0210' 'X',
               BDC_FIELD  USING 'RF02K-D0215' 'X',
               BDC_FIELD  USING 'RF02K-D0220' 'X',
               BDC_FIELD  USING 'BDC_OKCODE'  '/00'.
      endif.
      perform :BDC_DYNPRO USING 'SAPMF02K' '0110',
               BDC_FIELD  USING 'LFA1-ANRED'  WA_IT_VENDOR_MASTER-ANRED,
               BDC_FIELD  USING 'LFA1-NAME1'  WA_IT_VENDOR_MASTER-NAME1,
               BDC_FIELD  USING 'LFA1-NAME2'  WA_IT_VENDOR_MASTER-NAME2,
               BDC_FIELD  USING 'LFA1-SORTL'  WA_IT_VENDOR_MASTER-SORTL,
               BDC_FIELD  USING 'LFA1-STRAS'  WA_IT_VENDOR_MASTER-STRAS,
               BDC_FIELD  USING 'LFA1-ORT01'  WA_IT_VENDOR_MASTER-ORT01,
               BDC_FIELD  USING 'LFA1-PSTLZ'  WA_IT_VENDOR_MASTER-PSTLZ,
               BDC_FIELD  USING 'LFA1-LAND1'  WA_IT_VENDOR_MASTER-LAND1,
               BDC_FIELD  USING 'LFA1-REGIO'  WA_IT_VENDOR_MASTER-REGIO,
               BDC_FIELD  USING 'LFA1-SPRAS'  WA_IT_VENDOR_MASTER-SPRAS,
               BDC_FIELD  USING 'BDC_OKCODE'  '/00',
               BDC_DYNPRO USING 'SAPMF02K' '0120',
               BDC_FIELD  USING 'LFA1-VBUND'  WA_IT_VENDOR_MASTER-VBUND,
               BDC_FIELD  USING 'BDC_OKCODE'  '/00',
               BDC_DYNPRO USING 'SAPMF02K' '0130',
               BDC_FIELD  USING 'LFBK-BANKS(01)'  WA_IT_VENDOR_MASTER-BANKS,
               BDC_FIELD  USING 'LFBK-BANKL(01)'  WA_IT_VENDOR_MASTER-BANKL,
               BDC_FIELD  USING 'LFBK-BANKN(01)'  WA_IT_VENDOR_MASTER-BANKN,
               BDC_FIELD  USING 'BDC_OKCODE'  '=BANK',
               BDC_DYNPRO USING 'SAPLBANK' '0100',
               BDC_FIELD  USING 'BNKA-BANKA'  WA_IT_VENDOR_MASTER-BANKA,
               BDC_FIELD  USING 'BDC_OKCODE'  '=ENTR',
               BDC_DYNPRO USING 'SAPMF02K' '0130',
               BDC_FIELD  USING 'BDC_OKCODE'  '=ENTR',
               BDC_DYNPRO USING 'SAPMF02K' '0210',
               BDC_FIELD  USING 'LFB1-AKONT'  WA_IT_VENDOR_MASTER-AKONT,
               BDC_FIELD  USING 'LFB1-FDGRV'  WA_IT_VENDOR_MASTER-FDGRV,
               BDC_FIELD  USING 'BDC_OKCODE'  '=/00',
               BDC_DYNPRO USING 'SAPMF02K' '0215',
               BDC_FIELD  USING 'LFB1-ZTERM'  WA_IT_VENDOR_MASTER-ZTERM,
               BDC_FIELD  USING 'LFB1-REPRF'  WA_IT_VENDOR_MASTER-REPRF,
               BDC_FIELD  USING 'LFB1-ZWELS'  WA_IT_VENDOR_MASTER-ZWELS,
               BDC_FIELD  USING 'LFB1-XPORE'  WA_IT_VENDOR_MASTER-XPORE,
               BDC_FIELD  USING 'BDC_OKCODE'  '=UPDA'.
    ENDFORM.                    " POPULATE_BDC_DATA_VEN_MASTER
    *&      Form  BDC_DYNPRO
    This form is used to move data to BDCDATA int'table
    FORM BDC_DYNPRO  USING PROGRAM TYPE BDC_PROG
                           DYNPRO  TYPE BDC_DYNR.
      CLEAR WA_IT_BDCDATA.
      WA_IT_BDCDATA-PROGRAM  = PROGRAM.
      WA_IT_BDCDATA-DYNPRO   = DYNPRO.
      WA_IT_BDCDATA-DYNBEGIN = 'X'.
      APPEND WA_IT_BDCDATA TO IT_BDCDATA.
    ENDFORM.                    " BDC_DYNPRO
    *&      Form  BDC_FIELD
    This form is used to move data to BDCDATA int'table
    FORM BDC_FIELD  USING FNAM TYPE ANY
                          FVAL TYPE ANY.
      CLEAR WA_IT_BDCDATA.
      WA_IT_BDCDATA-FNAM = FNAM.
      WA_IT_BDCDATA-FVAL = FVAL.
      APPEND WA_IT_BDCDATA TO IT_BDCDATA.
    ENDFORM.                    " BDC_FIELD
    *&      Form  CALL_TRANSACTION
    This form is used to Call FK01 for processing of data either for
    Vendor Master or Vendor Extend. The error records are inserted to
    Session which can be processed using SM35
    FORM CALL_TRANSACTION .
      DATA : L_OPTION TYPE CTU_PARAMS,
             L_SUBRC TYPE SYSUBRC.
      REFRESH IT_MESSTAB.
      CLEAR IT_MESSTAB.
      L_OPTION-DEFSIZE = 'X'.
      L_OPTION-DISMODE = P_MODE.
      L_OPTION-UPDMODE = 'S'.
      CALL TRANSACTION 'FK01'
           USING IT_BDCDATA
           MESSAGES INTO IT_MESSTAB
           OPTIONS FROM L_OPTION.
      L_SUBRC = SY-SUBRC.
      IF L_SUBRC = 0.
        W_SUCC_REC = W_SUCC_REC + 1.
      ELSE.
        IF FL_FLAG2 NE 'X'.
          PERFORM OPEN_BDC_SESSION.
          FL_FLAG2 = 'X'.
        ENDIF.
        PERFORM BDC_INSERT.
        W_ERR_REC = W_ERR_REC + 1.
        PERFORM ERROR_RECORD_DATA.
      ENDIF.
    ENDFORM.                    " CALL_TRANSACTION
    *&      Form  OPEN_BDC_SESSION
    Form used to open session for Error out Records
    FORM OPEN_BDC_SESSION .
      DATA : L_USERID TYPE APQ_MAPN,      " Variable to hold user-id
             L_GROUP TYPE APQ_GRPN.       " Variable to hold value
      MOVE P_GROUP TO L_GROUP.
      MOVE SY-UNAME TO L_USERID.
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          CLIENT              = SY-MANDT
          GROUP               = L_GROUP
          KEEP                = SPACE
          USER                = L_USERID
        EXCEPTIONS
          CLIENT_INVALID      = 1
          DESTINATION_INVALID = 2
          GROUP_INVALID       = 3
          GROUP_IS_LOCKED     = 4
          HOLDDATE_INVALID    = 5
          INTERNAL_ERROR      = 6
          QUEUE_ERROR         = 7
          RUNNING             = 8
          SYSTEM_LOCK_ERROR   = 9
          USER_INVALID        = 10
          OTHERS              = 11.
      IF SY-SUBRC <> 0.
        WRITE:/ TEXT-008.              " Unable to open BDC Session
      ENDIF.
    ENDFORM.                    " OPEN_BDC_SESSION
    *&      Form  BDC_INSERT
    This form is used to insert error records to a Session method
    FORM BDC_INSERT .
      CALL FUNCTION 'BDC_INSERT'
        EXPORTING
          TCODE            = 'FK01'
        TABLES
          DYNPROTAB        = IT_BDCDATA
        EXCEPTIONS
          INTERNAL_ERROR   = 1
          NOT_OPEN         = 2
          QUEUE_ERROR      = 3
          TCODE_INVALID    = 4
          PRINTING_INVALID = 5
          POSTING_INVALID  = 6
          OTHERS           = 7.
      IF SY-SUBRC <> 0.
        WRITE:/ TEXT-009.             " Unable to Insert Data to BDC Session
      ENDIF.
    ENDFORM.                    " BDC_INSERT
    *&      Form  ERROR_RECORD_DATA
    This form is used to process the messages for the error records which
    will be displayed on the output report
    FORM ERROR_RECORD_DATA .
      DATA : L_LINES TYPE I,
             L_MSG(200) TYPE C.
      DESCRIBE TABLE IT_MESSTAB LINES L_LINES.
      READ TABLE IT_MESSTAB INTO WA_IT_MESSTAB INDEX L_LINES.
      IF SY-SUBRC = 0.
        CLEAR L_MSG.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            ID        = WA_IT_MESSTAB-MSGID
            LANG      = SY-LANGU
            NO        = WA_IT_MESSTAB-MSGNR
            V1        = WA_IT_MESSTAB-MSGV1
            V2        = WA_IT_MESSTAB-MSGV2
            V3        = WA_IT_MESSTAB-MSGV3
            V4        = WA_IT_MESSTAB-MSGV4
          IMPORTING
            MSG       = L_MSG
          EXCEPTIONS
            NOT_FOUND = 1
            OTHERS    = 2.
        IF SY-SUBRC = 0.
          WA_IT_ERROR_fk01-MSG = L_MSG.
        ENDIF.
        IF P_VENMAS = 'X'.
          WA_IT_ERROR_fk01-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
          WA_IT_ERROR_fk01-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
        ELSEIF P_VENEXT = 'X'.
          WA_IT_ERROR_fk01-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
          WA_IT_ERROR_fk01-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
        ENDIF.
        APPEND WA_IT_ERROR_fk01 TO IT_ERROR_fk01.
        CLEAR WA_IT_ERROR_fk01.
      ENDIF.
    ENDFORM.                    " ERROR_RECORD_DATA
    *&      Form  CLOSE_BDC_SESSION
    Form used to close session of the Error Records
    FORM CLOSE_BDC_SESSION .
      CALL FUNCTION 'BDC_CLOSE_GROUP'
        EXCEPTIONS
          NOT_OPEN    = 1
          QUEUE_ERROR = 2
          OTHERS      = 3.
      IF SY-SUBRC <> 0.
        WRITE:/ TEXT-010.             " Unable to Close BDC Session
      ENDIF.
    ENDFORM.                    " CLOSE_BDC_SESSION
    *&      Form  CHK_AND_INS_VENDOR_EXTEND_DATA
    This form is used to process BDC data for Vendor Extend
    FORM CHK_AND_INS_VENDOR_EXTEND_DATA .
      DATA : L_LIFNR TYPE LIFNR.
      CLEAR : L_LIFNR, fl_flag4.
      sort it_vendor_extend by flag.
      LOOP AT IT_VENDOR_EXTEND INTO WA_IT_VENDOR_EXTEND.
        W_COUNT = W_COUNT + 1.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = WA_IT_VENDOR_EXTEND-REF_LIFNR
          IMPORTING
            OUTPUT = WA_IT_VENDOR_EXTEND-REF_LIFNR.
        if wa_it_vendor_extend-flag = 'A'.
        SELECT SINGLE LIFNR
               FROM LFB1
               INTO L_LIFNR
               WHERE LIFNR = WA_IT_VENDOR_EXTEND-REF_LIFNR
               AND   BUKRS = WA_IT_VENDOR_EXTEND-REF_BUKRS.
        IF SY-SUBRC NE 0.
          WA_IT_ERROR-LIFNR = WA_IT_VENDOR_EXTEND-REF_LIFNR.
          WA_IT_ERROR-BUKRS = WA_IT_VENDOR_EXTEND-REF_BUKRS.
          WA_IT_ERROR-MSG   = TEXT-007.
          APPEND WA_IT_ERROR TO IT_ERROR.
          W_ERR_REC = W_ERR_REC + 1.
          CLEAR : WA_IT_ERROR, L_LIFNR.
        ELSE.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
            EXPORTING
              INPUT  = WA_IT_VENDOR_EXTEND-LIFNR
            IMPORTING
              OUTPUT = WA_IT_VENDOR_EXTEND-LIFNR.
          SELECT SINGLE LIFNR
                 FROM LFB1
                 INTO L_LIFNR
                 WHERE LIFNR = WA_IT_VENDOR_EXTEND-LIFNR
                 AND   BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
          IF SY-SUBRC EQ 0.
            WA_IT_ERROR-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
            WA_IT_ERROR-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
            WA_IT_ERROR-MSG   = TEXT-015.
            APPEND WA_IT_ERROR TO IT_ERROR.
            W_ERR_REC = W_ERR_REC + 1.
            CLEAR : WA_IT_ERROR, L_LIFNR.
          ELSE.
            REFRESH IT_BDCDATA.
            CLEAR IT_BDCDATA.
            PERFORM POPULATE_BDC_DATA_VEN_EXTEND.
            PERFORM CALL_TRANSACTION.
          ENDIF.
        ENDIF.
        CLEAR : WA_IT_VENDOR_EXTEND.
        elseif wa_it_vendor_extend-flag = 'C'.
          IF FL_FLAG2 = 'X' and fl_flag4 ne 'X'.
            PERFORM CLOSE_BDC_SESSION.
            fl_flag4 = 'X'.
          ENDIF.
          REFRESH IT_BDCDATA.
          CLEAR IT_BDCDATA.
          PERFORM POPULATE_BDC_DATA_VEN_extend.
          PERFORM CALL_TRANSACTION_FK02.
           CLEAR : WA_IT_VENDOR_EXTEND.
        elseif wa_it_vendor_extend-flag = 'N'.
          WA_IT_noupdate-LIFNR = WA_IT_VENDOR_extend-LIFNR.
          WA_IT_noupdate-BUKRS = WA_IT_VENDOR_extend-BUKRS.
          WA_IT_noupdate-MSG   = TEXT-019.
          APPEND WA_IT_noupdate TO IT_noupdate.
          W_noupdate_REC = W_noupdate_REC + 1.
          CLEAR : WA_IT_noupdate, WA_IT_VENDOR_EXTEND.
        endif.
      ENDLOOP.
      IF FL_FLAG2 = 'X'.
        PERFORM CLOSE_BDC_SESSION.
      ENDIF.
      if fl_flag3 = 'X'.
        PERFORM CLOSE_BDC_SESSION.
      ENDIF.
    ENDFORM.                    " CHK_AND_INS_VENDOR_EXTEND_DATA
    *&      Form  POPULATE_BDC_DATA_VEN_EXTEND
    This form is used to populate BDC data of Vendor Extend
    FORM POPULATE_BDC_DATA_VEN_EXTEND .
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT  = WA_IT_VENDOR_EXTEND-ZTERM
        IMPORTING
          OUTPUT = WA_IT_VENDOR_EXTEND-ZTERM.
      IF WA_IT_VENDOR_EXTEND-REPRF = 'Y'.
        WA_IT_VENDOR_EXTEND-REPRF = 'X'.
      ENDIF.
      IF WA_IT_VENDOR_extend-XPORE = 'Y'.
        WA_IT_VENDOR_extend-XPORE = 'X'.
      ENDIF.
      if wa_it_vendor_extend-flag = 'A'.
      PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0105',
               BDC_FIELD  USING 'RF02K-LIFNR' WA_IT_VENDOR_EXTEND-LIFNR,
               BDC_FIELD  USING 'RF02K-BUKRS' WA_IT_VENDOR_EXTEND-BUKRS,
               BDC_FIELD  USING 'RF02K-KTOKK' WA_IT_VENDOR_EXTEND-KTOKK,
               BDC_FIELD  USING 'RF02K-REF_LIFNR'
                                          WA_IT_VENDOR_EXTEND-REF_LIFNR,
               BDC_FIELD  USING 'RF02K-REF_BUKRS'
                                          WA_IT_VENDOR_EXTEND-REF_BUKRS,
               BDC_FIELD  USING 'BDC_OKCODE'  '/00'.
      elseif wa_it_vendor_extend-flag = 'C'.
      PERFORM :BDC_DYNPRO USING 'SAPMF02K' '0106',
               BDC_FIELD  USING 'RF02K-LIFNR' WA_IT_VENDOR_extend-LIFNR,
               BDC_FIELD  USING 'RF02K-BUKRS' WA_IT_VENDOR_extend-BUKRS,
               BDC_FIELD  USING 'RF02K-D0210' 'X',
               BDC_FIELD  USING 'RF02K-D0215' 'X',
               BDC_FIELD  USING 'BDC_OKCODE'  '/00'.
      endif.
      perform :BDC_DYNPRO USING 'SAPMF02K' '0210',
               BDC_FIELD  USING 'LFB1-AKONT'  WA_IT_VENDOR_EXTEND-AKONT,
               BDC_FIELD  USING 'LFB1-FDGRV'  WA_IT_VENDOR_EXTEND-FDGRV,
               BDC_FIELD  USING 'BDC_OKCODE'  '=/00',
               BDC_DYNPRO USING 'SAPMF02K' '0215',
               BDC_FIELD  USING 'LFB1-ZTERM'  WA_IT_VENDOR_EXTEND-ZTERM,
               BDC_FIELD  USING 'LFB1-REPRF'  WA_IT_VENDOR_EXTEND-REPRF,
               BDC_FIELD  USING 'LFB1-ZWELS'  WA_IT_VENDOR_EXTEND-ZWELS,
               BDC_FIELD  USING 'LFB1-XPORE'  WA_IT_VENDOR_extend-XPORE,
               BDC_FIELD  USING 'BDC_OKCODE'  '=UPDA'.
    ENDFORM.                    " POPULATE_BDC_DATA_VEN_EXTEND
    *&      Form  DISPLAY_ERROR_REPORT
    This form is used to display the error records on the output screen
    FORM DISPLAY_ERROR_REPORT .
      IF P_VENMAS = 'X'.
        WRITE:/ TEXT-O05.            " Error List for Vendor Master
      ELSEIF P_VENEXT = 'X'.
        WRITE:/ TEXT-O06.            " Error List for Vendor Master Extended
      ENDIF.
      WRITE:/ SY-ULINE(100).
      FORMAT COLOR 1.
      WRITE:/1   SY-VLINE,
             2   TEXT-H01,              " Vendor Number
             17  SY-VLINE,
             18  TEXT-H02,              " Company Code
             31  SY-VLINE,
             32  TEXT-H03,              " Error Message
             100 SY-VLINE.
      FORMAT COLOR OFF.
      WRITE:/ SY-ULINE(100).
      LOOP AT IT_ERROR INTO WA_IT_ERROR.
        FORMAT COLOR 2.
        WRITE:/1   SY-VLINE,
               2   WA_IT_ERROR-LIFNR,
               17  SY-VLINE,
               18  WA_IT_ERROR-BUKRS,
               31  SY-VLINE,
               32  WA_IT_ERROR-MSG,
               100 SY-VLINE.
        CLEAR : WA_IT_ERROR.
        FORMAT COLOR OFF.
      ENDLOOP.
      WRITE:/ SY-ULINE(100).
    ENDFORM.                    " DISPLAY_ERROR_REPORT
    *&      Form  CALL_TRANSACTION_FK02
    Form used to Call Transaction FK02
    form CALL_TRANSACTION_FK02 .
      DATA : L_OPTION TYPE CTU_PARAMS,
             L_SUBRC TYPE SYSUBRC.
      REFRESH IT_MESSTAB.
      CLEAR IT_MESSTAB.
      L_OPTION-DEFSIZE = 'X'.
      L_OPTION-DISMODE = P_MODE.
      L_OPTION-UPDMODE = 'S'.
      CALL TRANSACTION 'FK02'
           USING IT_BDCDATA
           MESSAGES INTO IT_MESSTAB
           OPTIONS FROM L_OPTION.
      L_SUBRC = SY-SUBRC.
      IF L_SUBRC = 0.
        W_SUCC_REC1 = W_SUCC_REC1 + 1.
        WA_IT_succ_rec1-MSG = Text-017.
        IF P_VENMAS = 'X'.
          WA_IT_succ_rec1-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
          WA_IT_succ_rec1-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
        ELSEIF P_VENEXT = 'X'.
          WA_IT_succ_rec1-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
          WA_IT_succ_rec1-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
        ENDIF.
        APPEND WA_IT_succ_rec1 TO IT_succ_rec1.
      ELSE.
        IF FL_FLAG3 NE 'X'.
          PERFORM OPEN_BDC_SESSION_fk02.
          FL_FLAG3 = 'X'.
        ENDIF.
        PERFORM BDC_INSERT_fk02.
        W_ERR_REC = W_ERR_REC + 1.
        PERFORM ERROR_RECORD_DATA1.
      ENDIF.
    endform.                    " CALL_TRANSACTION_FK02
    *&      Form  OPEN_BDC_SESSION_fk02
    Form used to Open session for FK02
    form OPEN_BDC_SESSION_fk02 .
      DATA : L_USERID TYPE APQ_MAPN,      " Variable to hold user-id
             L_GROUP TYPE APQ_GRPN.       " Variable to hold value
      MOVE P_GROUP1 TO L_GROUP.
      MOVE SY-UNAME TO L_USERID.
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          CLIENT              = SY-MANDT
          GROUP               = L_GROUP
          KEEP                = SPACE
          USER                = L_USERID
        EXCEPTIONS
          CLIENT_INVALID      = 1
          DESTINATION_INVALID = 2
          GROUP_INVALID       = 3
          GROUP_IS_LOCKED     = 4
          HOLDDATE_INVALID    = 5
          INTERNAL_ERROR      = 6
          QUEUE_ERROR         = 7
          RUNNING             = 8
          SYSTEM_LOCK_ERROR   = 9
          USER_INVALID        = 10
          OTHERS              = 11.
      IF SY-SUBRC <> 0.
        WRITE:/ TEXT-008.              " Unable to open BDC Session
      ENDIF.
    endform.                    " OPEN_BDC_SESSION_fk02
    *&      Form  BDC_INSERT_fk02
    Form used to insert data into BDC session using FK02
    form BDC_INSERT_fk02 .
      CALL FUNCTION 'BDC_INSERT'
        EXPORTING
          TCODE            = 'FK02'
        TABLES
          DYNPROTAB        = IT_BDCDATA
        EXCEPTIONS
          INTERNAL_ERROR   = 1
          NOT_OPEN         = 2
          QUEUE_ERROR      = 3
          TCODE_INVALID    = 4
          PRINTING_INVALID = 5
          POSTING_INVALID  = 6
          OTHERS           = 7.
      IF SY-SUBRC <> 0.
        WRITE:/ TEXT-009.             " Unable to Insert Data to BDC Session
      ENDIF.
    endform.                    " BDC_INSERT_fk02
    *&      Form  display_changed_report
    Form to display Updated Vendor data
    form display_changed_report .
      IF P_VENMAS = 'X'.
        WRITE:/ TEXT-O10.          " Updated List for Vendor Master
      ELSEIF P_VENEXT = 'X'.
        WRITE:/ TEXT-O11.          " Updated List for Vendor Master Extended
      ENDIF.
      WRITE:/ SY-ULINE(100).
      FORMAT COLOR 1.
      WRITE:/1   SY-VLINE,
             2   TEXT-H01,              " Vendor Number
             17  SY-VLINE,
             18  TEXT-H02,              " Company Code
             31  SY-VLINE,
             32  TEXT-H04,              " Message
             100 SY-VLINE.
      FORMAT COLOR OFF.
      WRITE:/ SY-ULINE(100).
      LOOP AT IT_succ_rec1 INTO WA_IT_succ_rec1.
        FORMAT COLOR 2.
        WRITE:/1   SY-VLINE,
               2   WA_IT_succ_rec1-LIFNR,
               17  SY-VLINE,
               18  WA_IT_succ_rec1-BUKRS,
               31  SY-VLINE,
               32  WA_IT_succ_rec1-MSG,
               100 SY-VLINE.
        CLEAR : WA_IT_succ_rec1.
        FORMAT COLOR OFF.
      ENDLOOP.
      WRITE:/ SY-ULINE(100).
    endform.                    " display_changed_report
    *&      Form  display_nochange_report
    Form to display No Changed data for Vendors
    form display_nochange_report .
      IF P_VENMAS = 'X'.
        WRITE:/ TEXT-O12.       " No Changes List for Vendor Master
      ELSEIF P_VENEXT = 'X'.
        WRITE:/ TEXT-O13.       " No Changes List for Vendor Master Extended
      ENDIF.
      WRITE:/ SY-ULINE(100).
      FORMAT COLOR 1.
      WRITE:/1   SY-VLINE,
             2   TEXT-H01,              " Vendor Number
             17  SY-VLINE,
             18  TEXT-H02,              " Company Code
             31  SY-VLINE,
             32  TEXT-H04,              " Message
             100 SY-VLINE.
      FORMAT COLOR OFF.
      WRITE:/ SY-ULINE(100).
      LOOP AT IT_noupdate INTO WA_IT_noupdate.
        FORMAT COLOR 2.
        WRITE:/1   SY-VLINE,
               2   WA_IT_noupdate-LIFNR,
               17  SY-VLINE,
               18  WA_IT_noupdate-BUKRS,
               31  SY-VLINE,
               32  WA_IT_noupdate-MSG,
               100 SY-VLINE.
        CLEAR : WA_IT_noupdate.
        FORMAT COLOR OFF.
      ENDLOOP.
      WRITE:/ SY-ULINE(100).
    endform.                    " display_nochange_report
    *&      Form  ERROR_RECORD_DATA1
    Form to get Error Message for Changed Vendors
    form ERROR_RECORD_DATA1 .
      DATA : L_LINES TYPE I,
             L_MSG(200) TYPE C.
      DESCRIBE TABLE IT_MESSTAB LINES L_LINES.
      READ TABLE IT_MESSTAB INTO WA_IT_MESSTAB INDEX L_LINES.
      IF SY-SUBRC = 0.
        CLEAR L_MSG.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            ID        = WA_IT_MESSTAB-MSGID
            LANG      = SY-LANGU
            NO        = WA_IT_MESSTAB-MSGNR
            V1        = WA_IT_MESSTAB-MSGV1
            V2        = WA_IT_MESSTAB-MSGV2
            V3        = WA_IT_MESSTAB-MSGV3
            V4        = WA_IT_MESSTAB-MSGV4
          IMPORTING
            MSG       = L_MSG
          EXCEPTIONS
            NOT_FOUND = 1
            OTHERS    = 2.
        IF SY-SUBRC = 0.
          WA_IT_ERROR_fk02-MSG = L_MSG.
        ENDIF.
        IF P_VENMAS = 'X'.
          WA_IT_ERROR_fk02-LIFNR = WA_IT_VENDOR_MASTER-LIFNR.
          WA_IT_ERROR_fk02-BUKRS = WA_IT_VENDOR_MASTER-BUKRS.
        ELSEIF P_VENEXT = 'X'.
          WA_IT_ERROR_fk02-LIFNR = WA_IT_VENDOR_EXTEND-LIFNR.
          WA_IT_ERROR_fk02-BUKRS = WA_IT_VENDOR_EXTEND-BUKRS.
        ENDIF.
        APPEND WA_IT_ERROR_fk02 TO IT_ERROR_fk02.
        CLEAR WA_IT_ERROR_fk02.
      ENDIF.
    endform.                    " ERROR_RECORD_DATA1
    *&      Form  display_error_report_fk01
    Form to display Error Report for Master Vendors (FK01)
    form display_error_report_fk01 .
      IF P_VENMAS = 'X'.
        WRITE:/ TEXT-O05.     " Error List for Vendor Master (FK01)
      ELSEIF P_VENEXT = 'X'.
        WRITE:/ TEXT-O06.     " Error List for Vendor Master Extended (FK01)
      ENDIF.
      WRITE:/ SY-ULINE(100).
      FORMAT COLOR 1.
      WRITE:/1   SY-VLINE,
             2   TEXT-H01,              " Vendor Number
             17  SY-VLINE,
             18  TEXT-H02,              " Company Code
             31  SY-VLINE,
             32  TEXT-H04,              " Message
             100 SY-VLINE.
      FORMAT COLOR OFF.
      WRITE:/ SY-ULINE(100).
      LOOP AT IT_ERROR_fk01 INTO WA_IT_ERROR_fk01.
        FORMAT COLOR 2.
        WRITE:/1   SY-VLINE,
               2   WA_IT_ERROR_fk01-LIFNR,
               17  SY-VLINE,
               18  WA_IT_ERROR_fk01-BUKRS,
               31  SY-VLINE,
               32  WA_IT_ERROR_fk01-MSG,
               100 SY-VLINE.
        CLEAR : WA_IT_ERROR_fk01.
        FORMAT COLOR OFF.
      ENDLOOP.
      WRITE:/ SY-ULINE(100).
    endform.                    " display_error_report_fk01
    *&      Form  display_error_report_fk02
    Form to display Error Report for changed Vendors (FK02)
    form display_error_report_fk02 .
      IF P_VENMAS = 'X'.
        WRITE:/ TEXT-O14.     " Error List for Vendor Master (FK02)
      ELSEIF P_VENEXT = 'X'.
        WRITE:/ TEXT-O15.     " Error List for Vendor Master Extended (FK02)
      ENDIF.
      WRITE:/ SY-ULINE(100).
      FORMAT COLOR 1.
      WRITE:/1   SY-VLINE,
             2   TEXT-H01,              " Vendor Number

  • Returns PO with vendors

    Hi Everyone,
    I'm trying to create a PO for returns to a vendor which in fact is a plant in the same company code. I'm getting this error message " No delivery type for returns processing assigned to item 00010". I assigned the delivery type LR for both plant in IMG. please give me a solution <b>ASAP</b>. Thanks.

    please  check the delivery type in confirmations control and in delivery tab of your PO.
    regards
    venkadesh

  • Difference between Return Delivery to Vendor - Against Material Document &

    Hi,
    Can any body explain in detail what is the difference between the below 2 scenarios-
    Difference between Return Delivery to Vendor - Against Material Document & Return Delivery to Vendor - Against Returns PO
    Thanks in adv
    Reg
    SSK

    Hi,
    Return delivery to Vendor against material document is done when you want to send the entire qty back to vendor and when your vendor invoice is not paid.
    You create Returns order, when you want to return some qty for which you can not trace any material document.
    For eg: During some festival season, you have purchased more stock. After that some stock is left with you which you would like to return to the vendor.
    Or you have found them damaged at a later point of time.

Maybe you are looking for

  • Resizing datafiles in oracle 10g

    Hi, My total datafile size was showing around 100g (physical file size). But when actually query dba_segments to see how much tables and indexes are occupying it is coming around max of 30g. So how can i reclaim the remaining datafile size. As i know

  • What's the best way to play a very short sound?

    I'm writing a swing application, I want to play a beep (a very short wav file) every time I press a button. (a bit like the alert sound in windows) I know there're different ways to play sound. I don't want to use a full-feature sound library because

  • WL commerce server install problem

    Ok, this has me feeling real stupid: Fresh install, Windows 2000, JDK 1.3, WLS 5.1, SP6 (including the tags file). Once I start the installer and enter the installation directory (it doesn't show a default, should it?), the installer says something l

  • Problem with USB recognition using CS4 InDesign

    Help- Anyone!  I am using CS4 and Indesign will not open PDFs.  I get the following eror message: "Cannot open the file "Name of Record.pdf"  .Adobe Indesign may not support the file format, a plug-in that supports the file format may be missing, or

  • What happens if i havent backed up my phone on itunes since 2012

    I want to update my phones software but I need to free up some storage first. So I want to back it up onto my iTunes or icloud. But since I haven't backed up this device yet I am scared everything on my phone may get deleted off of it. I am unsure of