Explain SD PROCESS WITH AN EXAMPLE

HI
PLEASE TELL ME THE SD PROCESS WITH AN EXAMPLES
ADV. THANKS TO ALL

Hi
SD Process Flow:
Sales Order --> Delivery (Create Delivery, Picking, packing & PGI) --> Billing
Normal Sales Order Configuration Cycle:-
Step 1: Sales Document Type
IMG > Sales and Distribution > Sales > Sales Documents >
Sales Document Header:
1. Sales Document Type:The sales document types represent the different business transactions, such as Inquiry, Quotation, Sales Order, etc. To create new sales order type, always copy as with reference to similar sales order. If possible use standard sales order.
2. Define Number Ranges For Sales Documents: Maintain number range with discussion with core team.
3. Assign Sales Area To Sales Document Types:
A. Combine sales organizations / Combine distribution channels / Combine divisions: Ensure to maintain these, else Sales Order creation will give error.
B. Assign sales order types permitted for sales areas: Assign only required Sales Order Types to required Sales Area. This will minimize selection of Sales Order Type as per sales area.
Sales Document Item:
1. Define Item Categories: If possible use Standard Item Category. Incase if required to create new, copy as from standard & maintain New.
2. Assign Item Categories: If possible, use standard. Formula for deriving item category: Sales Document Type + Item Category Group + Usage + Higher Level Item Category = Item Category
Schedule Line:
1. Define Schedule Line Categories: If possible use Standard Schedule Lines. Incase if required to create new, copy as from standard & maintain New.
2. Assign Schedule Line Categories: If possible, use standard. Formula for deriving Schedule Line: Item Category + MRP Type / No MRP Type.
Step 2:
IMG > Logistic Execution > Shipping > Deliveries >
1. Define Delivery Types: If possible use Standard Delivery Type. Incase if required to create new, copy as from standard & maintain New.
2. Define Item Categories for Deliveries: If possible use Standard Item Categories for Delivery Type. Incase if required to create new, copy as from standard & maintain New.
3. Define Number Ranges for Deliveries: Ensure to maintain number range.
Step 3:
IMG > Sales and Distribution > Billing >
1. Define Billing Types: If possible use Standard Billing Type. Incase if required to create new, copy as from standard & maintain New.
2. Define Number Range For Billing Documents: Ensure to maintain number range.
3. Maintain Copying Control For Billing Documents: Maintain relevant copy controls such as Sales Order to Billing, Deliver to Billing, etc.
Note: Ensure that Copy Control settings are done
Sales Order to Sales Order (QT --> OR): VTAA
Sales Order to Delivery (OR --> LF): VTLA
Sales Order to Billing (OR --> F1): VTFA
Delivery to Billing(LF --> F2): VTFL
Billing to Sales Order (F2 --> RE): VTAF
The configuration differs from scenario to scenario & requirement of the client.
http://www.erpgenie.com/abap/tables_sd.htm
Check the above link for tables and their relationship.
http://www.easymarketplace.de/online-pdfs.php
This one would help you in understanding the basic of SD
<b>Reward if useful</b>

Similar Messages

  • EXPLAIN LEAD SELECTION WITH AN EXAMPLE? WHY IT IS IMPORTANT?

    HI ALL,
      please explian me lead selection with an example?  what is the significance of lead selection?

    This is something that is not well explained anywhere, and it probably won't be well explained by me, either, but maybe when the clever people finish correcting me, we will have a good story.
    Lead selection is a mechanism that WDA uses to define a default row in a multi-element (e.g. table) node in the context.
    For example, lets say you display a list of flights in a table in WDA.
    You put them into an internal table and bind them to a  context node. 
    If the user selects one (by clicking the button beside the row of the table) then your program would like to know which row was selected.  You could loop over the whole table looking for some indicator, but that is tedious and time consuming.
    Because of the lead selection mechanism, you can call GET_STATIC_ATTRIBUTES which gets the values for a single row of the table.  Which row?  Well, the row selected by the user, which is called the lead selection.  I think it is called 'lead selection' because if you select a range of rows, then the first or leading row is set as the lead selection and that is the one you will get if you ask for a single row.
    Of course, nodes don't have rows, they have elements, but if you promise not to say it out loud, you can think of them as rows.
    So lead selection is all about providing easy access to the selected element of a multi-element node  If you ask the table for just one row, it will give you the selected row.
    With lead selection, asking a table for one row without saying which one would probably be an error, but with lead selection, it makes sense.  There are many node functions that work on a element that use lead selection to choose the element when you call them for a node with cardinality > 1.
    There are a bunch of methods in IF_WD_CONTEXT_NODE that allow you to set and get the lead selection, and use it to do various things.  This is useful, because with a big list of data, the thing you are probably interested in is the one the user has clicked.
    For example you can write a program that displays spfli and a button that calls lr_node->GET_STATIC_ATTRIBUTES and displays the selected row's carrid and connid  in a message. You can then select a row of the table and your button will always know which one you have chosen.  It might be psychic, but it is probably really lead selection at work.
    Or you can have an input field where you enter a row number and click a button.  If you call
    .  lr_node = wd_context->get_child_node( 'SPFLI' ).
    .  lr_element = lr_node->get_element( index i ).
    .  lr_element->set_lead_selection( )
    in the button action method you will see the button for that row suck into the screen as if you had clicked it.
    I hope this does more good than harm.
    Edited by: Russell Day on Feb 16, 2008 1:47 PM

  • MDM Data Manager step-by-step process with an example

    Hi All,
    I recently started reading MDM. I am clear with MDM-Console concepts. But I have problem with MDM Data Manager. I am confused with data entries in qualified tables, work flows(using microsoft studio), Matching mode- rules(High treshold, low threshold) etc.. I read material posted in forums- but still I am not clear.
    I need a step-by-step process for data entries with *examples*. A good example which covers all Data Manager concepts. PDF's with screen shots, videos any thing would help.
    Please help me......It would be of great help.
    Thanks in Advance.
    Suchir

    Hi Suchir ,
    MDM 5.5 has 4 MDM clients to perform 4 main functionality on the MDM master records.
    - Console- This is where all the Administrative work is performed
    - Data Manager- This is where the actual maintainence work is done on the master data like consolidation deduplication etc.
    - Import manager- Thsi is from where the source matser records are taken into MDM repoistory
    - Syndicator- This is from where teh consolidated master data is send back to the target systems.
    MDM Data Manager is the heart of MDM
    The activities that can be performed in the MDM Data manager are:
    - Data Consolidation
    - Data Validation
    - Data Deduplication
    - Data Assignment
    - Data Governanace
    etc......
    Qualified Table:
    - Qulaified tables are used to store relational records where one field value is determining the other field or fields value.
    - Qualified tables are maintained in Console and can be viewed in Data Manager
    - Qualified Table are viewed under a separate section in Data Manager in the right hand side.
    - Qualified table has Non qualifiers and Qualifiers.
    - Non qualifiers can be seen in the  Qualified table and in the linking Qualified field
    - Qualifiers can be seen separately under the Qualified section in the data manager
    Kindly refer the below link to know more on this:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/00a15239-684e-2b10-b8ae-b936b7d1c1fe
    Workflows
    - Workflows are designed in MDM for Governanace
    - You can create the MDM workflow using the MS Visio 2003 stencils in the MDM Data manager in the record mode under the workflow table
    - The saved workflow in DM can then be executed either mnaully or automatically based on teh trigger actions
    - The trigger action for teh MDM wf are record Add,Update,Import,Manual
    Kindly refer the below link to know more on this:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60559952-ff62-2910-49a5-b4fb8e94f167  (MDM Workflows Overview)
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/90990743-91c0-2a10-fd8f-fad371c7ee40  (Demo of MDM Workflows)
    Matching Mode
    - This mode is exclusively for Master data deduplication
    - We need to create Rules,Strategies,Transformation in MDM data manager in teh record mode
    - Then you need to run these strategies on the selected records
    - Based on your score and threshold set in the strategy MDM will identify duplicate records
    - This score will be seen in teh Matching mode
    - Colour coding is used along with scores to find out dupliactes
    - Green - 100%dupliacte Blue- 50?% Red- No duplicate
    Kindly refer the below link to know more on this:
    /people/michael.reil/blog/2006/05/18/mdm-matching-strategies-for-master-data-consolidation (matching merging in mdm)
    Hope It Helped
    Thanks & Regards
    Simona Pinto

  • Can anyone explain A2A & B2B  AND  BPM & ccBPM  with an example..

    Hi All..
    Can anyone explain me <b>A2A & B2B</b>
    and <b>BPM & ccBPM</b> with an example....
    <b>NOTE: i dont need definitions but examples..</b>
    i am bit confused with this stuff....
    Thanks in advance....
    Cheers,
    raghavesh

    Hi ,
    <i>A2A & B2B</i>
    This thread explains you the difference between A2A and B2B.
    Re: A2A Vs B2B
    <i>BPM & ccBPM</i> both are same....
    BPM is used to implement work-flow spanning across multiple application system against embedding the parts of work-flow in application system. Apart from this it also help achive other scenarios like, bridging synch and asynch systems, alert mechanism, multi mapping etc. Check the BPM overview document in SDN download section.
    Check out the use cases discussed at http://help.sap.com/saphelp_nw04s/helpdata/en/de/766840bf0cbf49e10000000a1550b0/content.htm
    BPM is mainly used in senarios where extra functionalities are to be done with the source message which cannot be done using the normal mapping and user-defined functions, like
    -->Collecting of messages till a certain count or for a specific criteria.
    -->Merging messages
    -->Spliting messages
    -->Processing of error files and sending to specific location and sending alerts.
    -->Parallel processing of two criterias at the same time can also be done using BPM.
    some weblogs on BPM...
    /people/udo.martens/blog/2005/09/30/one-logical-system-name-for-serveral-bpm-acknowledgements
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    /people/kannan.kailas/blog/2005/12/07/posting-multiple-idocs-with-acknowledgement
    /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    /people/michal.krawczyk2/blog/2005/06/11/xi-how-to-retrieve-messageid-from-a-bpm
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    Sekhar

  • Explain with this example abt cenvat details?

    can u plz explain with this example
    Purchase Order (P.O) (We give Vendor No, Rate, Material, Tax Code)
    ***Basic Amount 100.00***
    ***Excise Duty @ 16% 16.00***
              o
                    + 116.00***
    ***VAT@ 4% 5.00***
    ***(On Basic + Excise) 121.00***
    Sale Order: (SO): (We give Customer No, Qty, Rate, Material, Tax Code (Manually/Automatically)
    Basic Amount 300.00
    Excise Duty @ 16% 48.00
    348.00*
    VAT@ 4% 1300
    (On Basic + Excise) 361.00
    what will happenning in rg23a,rg23c, rg23d & pla ?
    explain the utilization also

    Hi,
    When you capture excise invoice against GR, Excise gets Credited to your account RG23A or RG23C accounts. When you generate sales excise invoice, you can utilize the credit available.
    With above process RG23 registers will be updated.
    RG23D will be updated when there is Depot receipt (J1IG) and Issue(J1IJ)  transaction.

  • Identifying standard process & GAPS in QADB with REPORT example.

    Hi all,
    can anyone help me, what is QADB n how to identify GAPS in QADB n standard process with an report example? what is standard process in QADB?can we convert GAPS into standard process?
    <b>PLZ ANSWER REUIRED URGENTLY.....</b>
    Regards,
    Arundhathi

    Hi ,
    This currently seems like a bug , we have encountered this too.
    work around is you have to delete the rtf files from server Siebel\client\temp\XMLP directory and upload them again so that they are not cached any more.
    same on dedicated client you may have to delete relavant files form siebel\client\temp\xmlp directory and upload again.
    Thanks,
    Vamsi

  • In Data Quality transform please explain Associate transform with the help of any example.

    In Data Quality transform please explain Associate transform with the help of any example.

    Hi Neha,
    If we are using multiple match transforms and consolidate the final output we will use associate transform .
    Let me explain with one example based on data quality blue prints for USA .
    We have customer/vendor data .     We need to find the duplicates .
    1. First  we will find the duplicates  on   Name and Address
    2. Second  we will find the duplicates on Name and Email
    3. Third we will find the duplicates on Name and Phone
    Here why we need to find the duplicates in multiple stages . If we are finding the duplicates on combination of  Name, Address, Email and Phone  we may not get proper duplicates   as we are finding the potential duplicates . That's why we are finding the duplicates on different combinations .
    In this case we will get the different group numbers for each match combination . Each combination name is there .
    We want to consolidate and give the group number to the whole set of duplicates . We will pass these  3 match groups to associative transform and generate the  consolidated match group for the input data.
    I hope you understand the concept .
    Thanks & Regards,
    Ramana.

  • Please explain consignment process in details along with SPRO customisation

    hi,
    sap gurus,
    my email id is [email protected]
    Please explain consignment process in details along with SPRO customisation with a proper scenario.
    regards,
    balaji.t
    09990019711.

    Hi Balaji
    Check this link for the building blocks
    [Consignment|http://help.sap.com/bestpractices/BBLibrary/HTML/J58_CustConsProc_EN_KO.htm]
    Also go though the extract below
    The consignment process in SAP standard consist of four small processes: 
    Consignment fillup (send materials to customer consignment). 
    Here you have a consignment fillup order and a consignment fillup delivery. 
    Consignment issue (issue materials from customer consignment to the customer). 
    Here you have a consignment issue order, consignment issue delivery and a consignment issue invoice. (the flow is very similar to a normal OR flow, but the materials are issued from the consignment stock instead of plant stock unrestricted). 
    Consignment return (return materials from customer ownership to customer consignment). 
    Here you have a consignment return order, consignment return delivery and a consignment return invoice. (the flow is very similar to a normal RE flow, but the materials are returned to the consignment stock instead of plant stock returns). 
    Consignment pickup (pickup consignment stock and move it to plant stock). 
    Here you have a consignment pickup order and a consignment pickup delivery. 
    Note that in consignment fillup and consignment pickup there are no invoices since there is no change of ownership for the materials. 
    How to perform a consignment order?
    In consignment orders you are allowing the stock to sit in your customer location. Once he informs that he used the stock you will invoice him. If he returns the stock you will accept the stock to take it back.
    It is defined in 4 steps.
    1. Consignment fill up: 
    Sales document type is KB
    Item category KBN
    shedule line category E1
    In this step, you are not invoicing the customer. document flow is sales order -
    delivery item category. It will not be relevent for billing and pricing because you are not charging money for these goods in this step.
    In schedule line category, you will set movement type 631 & set for availability check and TOR.
    2. Consignment Issue.
    Once the customer informed you that he used all the goods or partial goods then you will create consignment issue for used goods.
    Sales document: KE
    Item category: KEN
    shedule line category: C0 or C1
    Here you are invoicing the customer(because he used the goods). you are assigning the delivery documnt and billing document to the sales document.
    In item category, you are setting relevent for billing, pricing, special stock.
    In schedule line category, your setting is 633 movement type, relevent for availability check & TOR.
    3. Consignment Return:
    Customer found that some goods are damaged or he not able to sold the goods he want to send it back. that you are creating this document.
    Sales document type: KR
    Item category: KRN
    Shedule line category: D0
    You will assign delivery document and billing to sales document. you will create return order, return delivery, return billing.
    Your setting item category relevent for billing, returns, pricing, special stock.
    Your setting schedule line item category: 634 movement type, NO availability NO TOR.
    4. Consignment Pick up:
    Even if you create the consignment return the goods are not come to direct to your plant. For that you need to create consignment pick up. here the owner ship is not changing so you do not need to create billing.
    Assign retrun delivery to sales document type.
    Sales document: KA
    Item category: KAN
    schedule line category: F0 & F1
    Your setting item category relevent for returns. any shedule line category relevent for 632 movement type, MRP, availability check, delivery.
    Now you check your plant stock. Stock will increase.      
    Regards

  • .can anybody explain the bdc with help of an example

    i am new to bdc .can anybody explain the bdc with help of an example

    Hi,
    BDC is method to transfer legacy data into R3 system.
    Data transfer can be done in any one method below:
    BDC
    LSMW
    Direct Input method
    BAPI
    Of these BDC is subdivided into 2 types,
    Call Transaction and Session method (TCode: SM35)
    Let me give the sample prg for Call Transaction method.
    tables ZMATMASTER.
    DATA : itab like TABLE OF  ZMATMASTER WITH KEY DESCRIPTION with header line.
    DATA : IT_BDC LIKE TABLE OF BDCDATA WITH HEADER LINE.
    DATA : IT_MSG LIKE TABLE OF BDCMSGCOLL WITH HEADER LINE.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'C:\Material.txt'
        FILETYPE                      = 'ASC'
        HAS_FIELD_SEPARATOR           = '#'
      TABLES
        DATA_TAB                      = itab.
    LOOP AT ITAB.
        PERFORM BDC_HEADER USING 'ZFILE_DOWNLOAD' 9001.
        PERFORM BDC_DATA   USING 'BDC_OKCODE' 'SAVE'.
        PERFORM BDC_DATA   USING 'ZMATMASTER-MNO' ITAB-MNO.
        PERFORM BDC_DATA   USING 'ZMATMASTER-DESCRIPTION' ITAB-DESCRIPTION.
        PERFORM BDC_DATA   USING 'ZMATMASTER-PLANT' ITAB-PLANT.
        PERFORM BDC_DATA   USING 'ZMATMASTER-SLOC' ITAB-SLOC.
        PERFORM BDC_DATA   USING 'ZMATMASTER-ROL' ITAB-ROL.
        PERFORM BDC_DATA   USING 'ZMATMASTER-UOM' ITAB-UOM.
        PERFORM BDC_DATA   USING 'ZMATMASTER-PRICE' ITAB-PRICE.
        PERFORM BDC_DATA   USING 'ZMATMASTER-DDAYS' ITAB-DDAYS.
        PERFORM BDC_DATA   USING 'ZMATMASTER-FLOT' ITAB-FLOT.
    ENDLOOP.
    CALL TRANSACTION 'ZTRANSCODES'
                     USING IT_BDC
                     MODE 'A'
                     UPDATE 'S'
                     MESSAGES INTO IT_MSG.
    FORM BDC_HEADER USING PROGRAMNAME SCREENNO.
         IT_BDC-PROGRAM = PROGRAMNAME.
         IT_BDC-DYNPRO = SCREENNO.
         IT_BDC-DYNBEGIN = 'X'.
         APPEND IT_BDC.
    ENDFORM.
    FORM BDC_DATA USING FNAME FVALUE.
         CLEAR IT_BDC.
         IT_BDC-FNAM = FNAME.
         IT_BDC-FVAL = FVALUE.
         APPEND IT_BDC.
    ENDFORM.
    In session method, log file can be viewed.
    Foll. is the example for session method.
    REPORT ZBDC_BATCH1                                                 .
    TABLES: ZEMPREC.
    DATA : BEGIN OF STR1,
           EMPNO(3),
           EMPNAME(15),
           SALARY(9),
           DOJ(10),
           END OF STR1.
    DATA: FNAME(100) TYPE C VALUE 'C:\EMPLOYEE.TXT.,
    DATA : BDCITAB LIKE TABLE OF BDCDATA WITH  HEADER LINE,
           MSGITAB LIKE TABLE OF BDCMSGCOLL WITH HEADER LINE.
    OPEN DATASET: FNAME FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    perform open_group.
    DO .
      READ DATASET FNAME INTO  STR1.
      IF SY-SUBRC <> 0 .
        EXIT.
      ENDIF.
      perform bdc_dynpro      using 'ZBDC_BATCH' '9000'.
      perform bdc_field       using 'ZEMPREC-EMPNO'
                                    STR1-EMPNO.
      perform bdc_field       using 'ZEMPREC-EMPNAME'
                                    STR1-EMPNAME.
      perform bdc_field       using 'ZEMPREC-SALARY'
                                    STR1-SALARY.
      perform bdc_field       using 'ZEMPREC-DOJ'
                                    STR1-DOJ.
    ENDDO.
    CLOSE DATASET FNAME.
    perform bdc_transaction using 'ZTCODE'.
    perform close_group.
    CLOSE DATASET FNAME1.
    CALL TRANSACTION 'SM35'.
      FORM open_group
    FORM open_group .
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          CLIENT   = SY-MANDT
          GROUP    = 'sample'
          HOLDDATE = SY-DATUM
          KEEP     = 'X'
          USER     = SY-UNAME.
    ENDFORM.                    "open_group
      FORM bdc_transaction
      -->  TCODE
    form bdc_transaction USING TCODE.
      CALL FUNCTION 'BDC_INSERT'
        EXPORTING
          TCODE     = 'ZTCODE'
        TABLES
          DYNPROTAB = BDCITAB.
    ENDFORM.                    "bdc_transaction
      FORM close_group
    FORM close_group.
      CALL FUNCTION 'BDC_CLOSE_GROUP'.
    ENDFORM.                    "close_group
      FORM BDC_DYNPRO
      -->  PROGRAM
      -->  SCREEN
    FORM BDC_DYNPRO USING PROGRAM SCREEN.
      CLEAR BDCITAB.
      BDCITAB-PROGRAM = PROGRAM.
      BDCITAB-DYNPRO = SCREEN.
      BDCITAB-DYNBEGIN = 'X'.
      APPEND BDCITAB.
    ENDFORM.                    "BDC_DYNPRO
      FORM BDC_FIELD
      -->  FNAM
      -->  FVAL
    FORM BDC_FIELD USING FNAM FVAL.
      CLEAR BDCITAB.
      BDCITAB-FNAM = FNAM.
      BDCITAB-FVAL = FVAL.
      APPEND BDCITAB.
    ENDFORM.                    "BDC_FIELD
    Hope now u get an idea abt BDC.
    Regards,
    Router

  • Hi experts,could any one explain with an example of images

    hi SAP  experts,could any one explain with an example of images Reverse image,update image,Delete image and Add image.

    Hi,
    Go thru below thread it has already discussed
    Re: selection from scratch: full VS (intialize delta + delta) update bi 7.0
    Assign points if it helps you
    thanks

  • Can anyone explain nonpredefine exception with real world example

    Can anyone explain nonpredefine exception with real world example

    Is this what you mean?
    i.e. When others catches all errors - so it is not predefined
    Predefined errors are things like no rows, too many rows etc - meant to catch specific errors
    It is the difference between tolerating one 'bad' thing specifically and tolerating all 'bad' things.
    DECLARE
       v_text  varchar2(1);
    BEGIN
       v_text:= 'THIS STRING IS TOO LONG FOR THIS VARIABLE';
    EXCEPTION
       WHEN OTHERS --this is non error specific and generally VERY BAD practise as it suppresses all errors
           dbms_output.put_line('Whatever you want to do when an unknown error manifests here');
    END;

  • Explain User exit concept with simple example

    Hi friends
    I am new member of this forum & i am learning ABAP.
    Kindly send me user exit concept with simple example to my mail ID so i can able to use it.
    mail ID  [email protected]
    thanks in advance
    Thanks & Regards

    Code SE18 is used to Identify the BADI available.
    Look for the string 'CL_EXITHANDLER' in the standard program. This is a class which has a method 'GET_INSTANCE' which is used to trigger BADI's from the Standard Program. The interface parameter for this static method 'EXIT_NAME' is used to pass the BADI to the method.
    Open Standard Program and do a global search 'CL_EXITHANDLER'.
    SE18 > give the BADI name found through above search.
    CUSTOMER_ADD_DATA > which has a method SAVE_DATA.
    T.Code SE19 is used to Implement BADI.
    SE19 > give the implementation name > Give the Definition name as CUSTOMER_ADD_DATA and the Short Text.
    Intro.....
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    Check these links for info about badi..
    BADI's
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    BADI's
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    http://www.esnips.com/web/BAdI
    http://www.allsaplinks.com/badi.html
    New to Badi
    check any fo the below links. this will def help u.
    http://www.allsaplinks.com/badi.html
    And also download this file....
    http://www.savefile.com/files.php?fid=8913854
    There are other tutorials on this site...
    http://sapbrain.com/Tutorials/tuto_download.html
    What are BAdIs?
    -> is an anticipated point of extension – these points act like sockets and exist in the original source code
    -> based on ABAP Objects. BAdI defines an interface that can be implemented by BAdI-implementations that are transport objects of their own
    ->Important! There are 2 roles: Enhancement Option-provider & Implementer.
    -> In the above context, Enhancement Implementation can be done only if option (hook) is provided by the Option-provider. In simple words there are no implicit BAdIs.
    Note: In the following slides, Definitions are created so as to understand the method of BAdI definition & for example purpose. As stated above this is the role of Enhancement Option-Provider.
    Classic BAdIs already exist since SAP Release 4.6
    BAdIs have been Re-implemented in ECC7.0 under the new Enhancement Framework & Switch Framework
    Classic BAdIs
    To understand what a powerful pattern a BAdI is, we will now define & then implement a BAdI
    BADI Class is created automatically.
    The various options are described below in detail:
    1. Enhanceable: Enhanceability of filter types can only be specified for filter-dependent BADI definitions under very special conditions. For example, the domain belonging to the filter type must be linked with a value table that is of the type E or G. A BADI implementation can then be created in one step by creating a new filter value that is automatically entered into the value table at save and also copied into the transport order of the BADI implementation. In addition, it is also possible to create a new filter value and, at the same time, a BADI implementation with the same name. Naturally, you can also specify existing filter values.
    You should select this feature if there is a prerequisite that a new filter value is created together with a new BADI implementation - that is, that BADI implementations are not created solely with existing filter values, although this, too, is possible.
    2. Multiple-Use
    3. Filter-Dependent
    Instance Methods can access all of the attributes of a class and can trigger all events of a class. Static Methods can only access static attributes and static events.
    Exceptions:
    Events:
    Events can be defined in classes or in interfaces. Corresponding methods can trigger these events with the RAISE EVENT statement. Each class (or interface) that is going to handle the corresponding event must implement a relevant handler method, and register it using the SET HANDLER statement. When an event occurs, the system calls all of the handler methods registered for that event.
    Like method definitions, events have a parameter interface. The only difference is that events may only have EXPORTING parameters.
    BADI : Businees Add IN's
    Business Add-Ins are SAP enhancement technique based on ABAP Objects.
    Where the SAP standard program is not going to fullfill the client requirement , we are going to add our own program to SAP standard program, without changing the standard prog.
    Each Business Add-In has
    – at least one Business Add-In definition
    – a Business Add-In interface
    – a Business Add-In class that implements the interface
    Each BADI has two different Views.
    1.Definition view
    2.Implementation view
    T.C for BADI Definition is SE18.
    T.C for BADI Implementation is SE19.
    There are multiple ways of searching for BADI.
    • Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    • Finding BADI Using SQL Trace (TCODE-ST05).
    • Finding BADI Using Repository Information System (TCODE- SE84).
    1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for ‘CL_EXITHANDLER=>GET_INSTANCE’.
    Make sure the radio button “In main program” is checked. A list of all the programs with call to the BADI’s will be listed.
    The export parameter ‘EXIT_NAME’ for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter ‘INSTANCE’ will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
    2. Start transaction ST05 (Performance Analysis).
    Set flag field "Buffer trace"
    Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
    Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
    Push the button "Deactivate Trace".
    Push the button "Display Trace".
    The popup screen "Set Restrictions for Displaying Trace" appears.
    Now, filter the trace on Objects:
    • V_EXT_IMP
    • V_EXT_ACT
    Push button "Multiple selections" button behind field Objects
    Fill: V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
    So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
    3. Go to “Maintain Transaction” (TCODE- SE93).
    Enter the Transaction VD02 for which you want to find BADI.
    Click on the Display push buttons.
    Get the Package Name. (Package VS in this case)
    Go to TCode: SE84->Enhancements->Business Add-inns->Definition
    Enter the Package Name and Execute.
    Here you get a list of all the Enhancement BADI’s for the given package MB.
    Have a look at http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    How to develop BADI
    Rewards if useful.

  • Down pmnts with taxes are not permitted when processing with jur.code (Message no. FS206)

    Hi Guys,
    I am facing very critical issue on down Payment request, to process with saperate Tax Value.
    We are supporting on Roll-out for Germany. We have implemented all standard SAP processes in the Project. We have also implemented many interfaces and one of the Interface is Sabrix Tax Engine (Tax Jurisdiction Code).
    As per the Germany legal requirement, the Tax has to get calculated whenever the funds gets transfered from one Bank Account to Another Bank Account.
    Coming to the issue: In the Customer Down Payment scenario, we are creating the Down payment request for Customer and as per Germany local requirement the Tax of 19% has to get calculated on Down payment.
    For an Example: We have the Sales Order Contract Value of 100,000.00 EUR and we are creating the Down Payment reqeust of 10% which is 10000 EUR + Tax 19% 1900 EUR.
    We are trying to post the Down Payment request in F-37 and we get the issue "Down pmnts with taxes are not permitted when processing with jur.code". This error is appearing due to Sabrix Tax engine (Tax Jurisdiction Code) has implemented in our System.
    We have gone through the SAP notes 97288 and 213567 and understood that the Standard SAP does not support us to post the Down Payment request with Separate Tax Value, when the External Tax Engine has implemented.
    I request you to suggest me, if you have already seen this issue in any of your Projects and fixed through the work-around solution. We have been working on work-around since 2 weeks, however no result.
    Below is the error message:
    Down pmnts with taxes are not permitted when processing with jur.code
    Message no. FS206

    HI Preeti,
    Thanks for your response. We have already seen the similar SAP notes and the SAP notes explains that the "Down pmnts with taxes cannot be done along with with jur.code". The only solution is to post the DP without Tax.
    However there might be some workaround which can be done in SAP, to process the Down Payment/Advance Payments with Tax Value along with Jurisdiction Code. I would like to know this.
    Did any one seen this case in your experiece, if yes, what is the work-around solution?.
    Need your help guys!,...
    Regards,
    Damodar Naidu

  • Issue about Invoking a BPEL Process with the Generic Java API

    I Invoking a BPEL Process with the Generic Java API and apache axis or axis2
    it turn up a error as follow:
    org.apache.axis2.AxisFault: ORABPEL-08021
    Cannot find partner wsdl.
    parnterLink "BPELProcess1" is not found in process "BPELProcess1" (revision "v2008_11_17__38943").
    Please check the deployment descriptor of the process to find the correct partnerLink name.
         at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512)
         at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
         at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
         at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
         at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
         at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
         at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
         at wf.Test_axis2_callws.main(Test_axis2_callws.java:41)
    i can't solve it !
    what's problem ???
    anyone use java code to invoke bpel process successfully..can show me some example?
    thanks
    chan

    Hi,
    Check below link may help you solve your problem.
    http://www.activevos.com/cec/samples/content/sample-invoke/doc/index.html
    Regards

  • Problems with the examples in NWDS

    Hi All,
    Running the Welcome example project in NWDS i  have the included error.
    I have problems with other examples too.
    I did all the step by step tutorials.
    I have NWDS 2.0.3
             J2EE 6.40 SP15
             EP 2004
    I am new in NWDS and i have not still successed to run any application.
    What is wrong with my systems?
    I did all the configurations start J2EE /sdm etc.
    Do i have to install other versions? I read that maybe i have to install the same SP 15.
    Please if anybody can help me .
    Thanks,
    Ari 
    Error Summary
    While processing the current request, an exception occured which could not be handled by the application or the framework.
    If the information contained on this page doesn't help you to find and correct the cause of the problem, please contact your system administrator. To facilitate analysis of the problem, keep a copy of this error page. Hint: Most browsers allow to select all content, copy it and then paste it into an empty document (e.g. email or simple text file).
    Root Cause
    The initial exception that caused the request to fail, was:
    com.sap.tc.webdynpro.services.sal.deployment.api.WDClassLoaderException: Classloader of 'local/Welcome' is null, even though application is started.
    at com.sap.tc.webdynpro.serverimpl.wdc.deployment.DeployableObject.getClassLoader(DeployableObject.java:81)
    at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:588)
    at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
    at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:248)
    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)
    ... 18 more
    Ari

    Thank you for your help,
    I have NWDS 2.0.3 and Web AS 6.40 SP15 and EP 04.
    How can i be sure if  are compatible? Maybe i have to install NWDS SP15?
    I did "Rebuild" and then  "Deploy new archive and run" Deploying i was asking for the sdm password  , then the application opened in a new browser and we can see this message below.
    The Deploy Output View is empty. There is no eny successful deploy message.
    I appreciate your help.
    Thanks,
    Ari
    500   Internal Server Error
      Web Dynpro Container/SAP J2EE Engine/6.40 
    Failed to process request. Please contact your system administrator.
    [Details...]
    Error Summary
    While processing the current request, an exception occured which could not be handled by the application or the framework.
    If the information contained on this page doesn't help you to find and correct the cause of the problem, please contact your system administrator. To facilitate analysis of the problem, keep a copy of this error page. Hint: Most browsers allow to select all content, copy it and then paste it into an empty document (e.g. email or simple text file).
    Root Cause
    The initial exception that caused the request to fail, was:
       java.lang.InstantiationError: com.sap.tc.webdynpro.progmodel.context.NodeInfo
        at com.sap.examples.welcome.wdp.InternalWelcomeComponent.<init>(InternalWelcomeComponent.java:41)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
        ... 27 more
    See full exception chain for details.
    Correction Hints
    The currently executed application, or one of the components it depends on, has been compiled against class file versions that are different from the ones that are available at runtime.
    If the exception message indicates, that the modified class is part of the Web Dynpro Runtime (package com.sap.tc.webdynpro.*) then the running Web Dynpro Runtime is of a version that is not compatible with the Web Dynpro Designtime (Developer Studio or Component Build Server) which has been used to build + compile the application.
    Note: the above hints are only a guess. They are automatically derived from the exception that occurred and therefore can't be guaranteed to address the original problem in all cases.
    System Environment
    Client
    Web Dynpro Client Type HTML Client
    User agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
    Version 
    DOM version 
    Client Type msie6
    Client Type Profile ie6
    ActiveX enabled
    Cookies enabled
    Frames enabled
    Java Applets enabled
    JavaScript enabled
    Tables enabled
    VB Script enabled
    Server
    Web Dynpro Runtime Vendor: SAP, Build ID: 6.4015.00.0000.20051123162612.0000 (release=630_VAL_REL, buildtime=2005-12-14:21:51:22[UTC], changelist=377533, host=PWDFM026)
    J2EE Engine No information available
    Java VM Java HotSpot(TM) Server VM, version:1.4.2_07-b05, vendor: Sun Microsystems Inc.
    Operating system Windows 2003, version: 5.2, architecture: x86
    Other
    Session Locale en_US
    Time of Failure Fri Jan 26 14:29:31 EET 2007 (Java Time: 1169814571353)
    Web Dynpro Code Generation Infos
    local/Welcome
    No information available
    sap.com/tcwddispwda
    No information available
    sap.com/tcwdcorecomp
    No information available
    Detailed Error Information
    Detailed Exception Chain
    com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to create delegate for component com.sap.examples.welcome.WelcomeComponent. (Hint: Is the corresponding DC deployed correctly? Does the DC contain the component?)
         at com.sap.tc.webdynpro.progmodel.generation.ControllerHelper.createDelegate(ControllerHelper.java:110)
         at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.<init>(DelegatingComponent.java:38)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doInit(ClientComponent.java:776)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:330)
         at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:370)
         at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:608)
         at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
         at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:248)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:48)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
         at com.sap.tc.webdynpro.progmodel.generation.ControllerHelper.createDelegate(ControllerHelper.java:74)
         ... 26 more
    Caused by: java.lang.InstantiationError: com.sap.tc.webdynpro.progmodel.context.NodeInfo
         at com.sap.examples.welcome.wdp.InternalWelcomeComponent.<init>(InternalWelcomeComponent.java:41)
         ... 31 more

Maybe you are looking for