Contract with monthly half pricing conditions

Hi
Iu2019m trying to use a contract with monthly half pricing conditions.
When sales orders are created during the first monthly half, I need to use a specific price.
When sales orders are created during the second monthly half, I need to another specific price.
Please let me know your comments.
Regards

Create two condition types that fetch the specific price for each part of month.
Then, you can set these two condition types consecutively in the pricing procedure with pricing requirement code that checks for the part of the month and sets SY-SUBRC to zero or not according to the first or later part of the month. This will allow one pricing condition type to trigger the first part of month while the other triggers the later part.

Similar Messages

  • Till know I have a single license for Photoshop Year contract with monthly payment. I'm now a student in the "Swiss International College of Osteopathie". How and where can I chance  my contract to have the whole package as a student for less?

    Till know I have a single license for Photoshop Year contract with monthly payment.
    I'm now a student in the "Swiss International College of Osteopathie".
    How and where can I chance  my contract to have the whole package as a student for less?

    Start here https://creative.adobe.com/join/edu
    One Year Intro Price http://forums.adobe.com/thread/1448933?tstart=0
    http://www.adobe.com/products/creativecloud/students.edu.html
    https://creative.adobe.com/plans?plan=edu
    http://www.adobe.com/education/students/student-eligibility-guide.edu.html
    ID Proof http://www.adobe.com/store/au_edu/academic_id.html

  • Issue with BAPI CONTRACT CREATE while uploading pricing conditions

    Hi Experts
                        I am using BAPI CONTRACT CREATE to create Purchase Contract ME31K
    I am facing the issue while passing pricing conditions  Could you please help me regarding this
    Could you please help me along with this what are the values has to pass
    Thanks
    Vijay Kumar Reddy

    Hi Experts
                        I am using BAPI CONTRACT CREATE to create Purchase Contract ME31K
    I am facing the issue while passing pricing conditions  Could you please help me regarding this
          gs_oucondition-item_no = w_data-evrtp.  
          gs_oucondition-serial_id = '1'.     
          gs_oucondition-cond_count = '01'.     
          gs_oucondition-cond_type = w_data-cond1.     
          MOVE w_data-amnt1 TO gs_oucondition-cond_value.     
          gs_oucondition-currency  = w_data-curr1.     
          gs_oucondition-numerator   = '1'.     
          gs_oucondition-denominator = '1'.     
          gs_oucondition-change_id   = 'I'.     
          APPEND gs_oucondition TO gt_oucondition.     
          CLEAR gs_oucondition.
          gs_ouconditionx-item_no = w_data-evrtp.     
          gs_ouconditionx-serial_id = '1'.
          gs_ouconditionx-cond_count = '01'.     
          gs_ouconditionx-item_nox = c_x.     
          gs_ouconditionx-serial_idx = c_x.     
          gs_ouconditionx-cond_countx = c_x.     
          gs_ouconditionx-cond_type = c_x.     
          gs_ouconditionx-cond_value = c_x.     
          gs_ouconditionx-currency  = c_x.     
          gs_ouconditionx-numerator   = c_x.     
          gs_ouconditionx-denominator = c_x.     
          APPEND gs_ouconditionx TO gt_ouconditionx.     
          CLEAR gs_ouconditionx.
    Could you please help me along with this what are the values has to pass.
    these are the parameters passing to the condition structure while executing bapi i am getting error like enter quantity conversion.
    but with the same data i am able to create contract using SE37 by directly executing the Function module.
    and if i have net price in my excel sheet also i am able to create contract using my program.
    the only problem with pricing conditions alternatively there will be no net price..
    Please really it will be a challenging question....
    Thanks
    Vijay Kumar Reddy

  • Creation of PO with tow default pricing conditions

    hello,
    can you please indicate to me how I can have by default two conditions RA00 and HB01 with a value 0 during the creation of a PO? how can make this customizing in the pricing procedure?
    thank in advance.
    Said

    Hi,
    Every condition maintain in Pricing procedure are shows Zero value at Purchase Order if your not maintain condition records for some rate.
    and also it not possible to maintain a condition records for Zero rate.
    so for your req, just maintain the condition at pricing procedure by selecting print indicator.
    regards
    Sanjay L

  • Item category determination with ref to price conditions in contract

    Hi Gurus,
    I have the following requirement from my client.
    They need the item category ZNSM populated when creating the sales order ZOR8 with reference to quantity contract ZCQ1 when the pricing condition type is ZPG6 or ZPFL.For this they are asking to change in copy control.The pricing condition is on the contract.Since the sales order is created with reference to the contract you should be able to use the pricing condition to change the item category.
    Please let me know whether this requirement can be met by making the changes to copy control.
    Regards,
    Hari Challa.

    Hi,
    If you want to populate particular item category for particular sales order, then go ot VOV4 item category determination and enter the value for
    Sales Doc. type + Item category group + Higher levl item cate. (if any) + Usage (if any)
    But if you want to populate this item category when condition type is ZPG6  / ZPFL in the contract, then i think you need to write some program with the help of ABAPer for routine in copying control
    Hope it helps you
    regards,
    Sagar

  • Sales order pricing conditions

    Can any one let me know what are the tables that are updated while working with sales order pricing conditions .......      r sales order conditions

    Hi Ali,
    VBRK     Billing document :header data
    VBRP     Billing document :Item data
    KONH      Conditions header
    KONP     Conditions items
    KONV     Procedure ( billing doc or sales order)
    KOND     Conditions (data)
    These tables will give sufficient information on Sales order pricing and its billing conditions etc.
    best regards
    Ramakrishna

  • Header Pricing conditions in BAPI function module

    I am using BAPI function module BAPI_SALESDOCU_CREATEFROMDATA1 to create sales orders through program.
    It is working fine with item level pricing conditions.
    But my requirement is ... I need to update few pricing conditon types in item level and one in header level.
    Could you please help me where I need to pass header pricing conditions. Please help me.
            CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
              EXPORTING
                SALESDOCUMENT             = SALESDOCUMENT
                SALES_HEADER_IN           = SALES_HEADER_IN
              SALES_HEADER_INX          =
              SENDER                    =
                BINARY_RELATIONSHIPTYPE   = 'VORL'
              INT_NUMBER_ASSIGNMENT     = ' '
              IMPORTING
                SALESDOCUMENT_EX          = SALESDOCUMENT_EX
              TABLES
                RETURN                    = RETURN
                SALES_ITEMS_IN            = SALES_ITEMS_IN
              SALES_ITEMS_INX           =
                SALES_PARTNERS            = SALES_PARTNERS
                SALES_SCHEDULES_IN        = SALES_SCHEDULES_IN
              SALES_SCHEDULES_INX       =
                SALES_CONDITIONS_IN       = SALES_CONDITIONS_IN.
              SALES_CFGS_REF            =
              SALES_CFGS_INST           =
              SALES_CFGS_PART_OF        =
              SALES_CFGS_VALUE          =
              SALES_CFGS_BLOB           =
              SALES_CCARD               =
              KEY_TABLE                 =
    Thanks in advance.
    Raghu

    If the correct configuration allows for manual entry of the condition type you want to populate, You can map your value using
    ' ORDER_CONDITIONS_IN'  . If item level map line number, cond step number of the condition type in your pricing procedure, your condition type you are using,  condition value you are sending into the system,  currency, and cond unit. If it is a header condition, then send in 000000 as the item number.   You can also consider using BAPI_SALESORDER_CREATEFROMDAT2

  • User exit to copy Manual pricing conditions with in sales documents

    Hi all,
    I have a situation where i have to copy the manual pricing conditions from inquiry to quotation.
    Problem: From VA21 when I try to do the same using the tab "create with reference" the document is being copied but the manually set pricing condition in the inquiry is not being copied into quotation. This is because in the copy controls the pricing type is set to 'B' which means "carry out new pricing". I can change it to 'C' or 'D' so that it copies manual pricing but i am not allowed to do so because other sales orgs in the company has a problem if i do so. Only our perticular sales org needs this config. I cannot even create another item catogory specific to this plant because it is against the rules of the company. So I am looking for a user exit in which i can change this pricing type during runtime so that i can plug in some code specific to this sales org to copy manual pricing. I have found one from the SAP note 24832 (MV61AFZA). It doesn't work as i think its obsolte. Can anyone suggest me a better way of solving this issue. Any quick response is appreciated.
    Thanks,
    Giridhar.

    Hi
    The following EXITS may help you
    Exit Name              Description                                                                               
    SDTRM001            Reschedule schedule lines without a new ATP check                 
    V45A0002            Predefine sold-to party in sales document                         
    V45A0003            Collector for customer function modulpool MV45A                   
    V45A0004            Copy packing proposal                                             
    V45E0001            Update the purchase order from the sales order                    
    V45E0002            Data transfer in procurement elements (PRreq., assembly)          
    V45L0001            SD component supplier processing (customer enhancements)          
    V45P0001            SD customer function for cross-company code sales                 
    V45S0001            Update sales document from configuration                          
    V45S0003            MRP-relevance for incomplete configuration                        
    V45S0004            Effectivity type in sales order                                   
    V45W0001            SD Service Management: Forward Contract Data to Item              
    V46H0001            SD Customer functions for resource-related billing                
    V60F0001            SD Billing plan (customer enhancement) diff. to billing plan      
    V45A0001            Determine alternative materials for product selection
    Regards
    PRabhu

  • Duplicate pricing conditions due to contract supplements

    Hi all,
    <br><br>
    We want our pricing conditions to appear automatically on a normal purchase order and on a purchase order with reference to contract, but they should only be on the purchase order once. We're experiencing difficulties since the condition is fetched and displayed twice (once coming from the condition supplement via the contract and a second time via the standard purchasing procedure).
    <br><br>
    Let me sketch the scenario.
    <br><br>
    We have two procedures used for purchasing:<br>
    - procedure ZM0000 as standard purchasing procedure<br>
    - procedure ZM000S as contract supplements procedure
    <br><br>
    Both procedures contain conditions ZA00, ZR01, ZR02, ZR03, ZR04, ZR05 and these conditions are not indicated as a manual condition.
    <br><br>
    For condition type ZA00 the pricing procedure ZM000S is defined so that condition supplements can be added in the purhcase contract. There is also an Access Sequence for this condition to prevent it from appearing twice on a purchase order with reference to a purchase contract.
    <br><br>
    When we create a normal purchase order, we get all conditions from the ZM0000 procedure without any problem.
    But when we create a purchase order with reference to a contract with condition ZA00 and condition supplements ZR01, ZR02, ZR03, ZR04, ZR05; then we see these ZRxx condition appearing twice instead of once.<br>
    It's displayed once coming from the ZM0000 procedure and a second time due to the ZM000S procedure.
    <br><br>
    I've had a look at the standard procedures, at sap notes and searched on the forums and can't find a feasible solution for this.
    <br><br>
    One way it is commonly solved is to make the ZRxx conditions a manual condition but that means the user will have to add these conditions manually to the purchase order. When we're talking about 50 or more conditions then it becomes a cumbersome to add all these conditions (if required) manually one by one for each purchase order that the user creates --> not feasible.
    <br><br>
    I guess another solution would be to create an access sequence for all ZRxx conditions based on purchase order type and then create condition records for all ZRxx conditions for the purchase documents without reference to a contract. That way the condition will be displayed once (from the condition record) on a normal purchase order and once (from the contract, since the condition record can't be found) in case of a purchase order with reference to a contract. When we're talking about 50 or more conditions and more then 2 document types, then maintaining all these condition records is quite some task --> not really feasible, not the prefered solution.
    <br><br>
    As an alternative to SAP standard we've found the following enhancement point in LV61AA11 where we could possibly delete the "duplicate" condition from KONV if the condition origin (KONV-KHERK) is not equal to "Condition supplement" (F) in case of purchase document type that references to a contract... but this is not the prefered solution.
    <br><br>
    <span style="font-family: Lucida Console">-----<br>
    get pricing result from database table<br>
    ENHANCEMENT-SECTION     KONV_EINLESEN_02 SPOTS ES_SAPLV61A.<br>
      select * into table hkomv<br>
               from konv<br>
               where knumv = komk-knumv<br>
               order by primary key.<br>
    END-ENHANCEMENT-SECTION.<br>
    </span>
    <br><br>
    Also, it's not a feasible solution to put a requirements formula on all these ZRxx condition because we're talking about more then 50 conditions.
    <br><br>
    Does anyone know a solution to this problem?<br>
    How can we make sure the condition is displayed only once? (be it on the standard purchase document or on the purchase document with reference to the contract)<br>
    Is there a standard approach for this?
    <br><br>
    Thanks in advance for your time.
    Edited by: Kevin Coquel on Apr 15, 2010 3:34 PM

    Bernhard, <br />
    Thank you, but as I mentioned in my starting post, this is not feasible as this is concerning over 50 conditions (some of which already have other requirements formulas). <br />
    Using requirement routine for all is an option we want to avoid at all costs.<br />
    It would mean we need to have edit our existing requirement routines to also include routine 15 (as you can only have one requirement routine per condition in a pricing procedure).<br />
    <br />
    Hardik, <br />
    Thank you for pointing us to EXIT_SAPMM06E_013.<br />
    Preferably we would like to solve this using SAP standard before turning to ABAP development.<br />
    <br />
    I'm a bit surprised not being able to find a SAP standard solution to this problem. Since it's not possible to define a different pricing procedure per purchasing document type I would expect a) there is a way to avoid duplicate conditions (coming from the contract supplements) when you're in a purchase document with reference to a contract and b) that the conditions will appear by default in a normal purchase document (instead of having to add them manually one by one when you use "Manual" in the pricing procedure).

  • Pricing Condition in Contract

    Friends,
    Can you Please let me know What is the procedure for Pricing condition in Contacts and scheduling agreements. I mean can you please run thru the entire process/steps starting from condition table to the condition record.
    What all settings are to be done/maintained for the conditions to get kick in for outline agreements
    Please answer in detail.
    Thanks,
    Mayur

    Hi
    We have to
    Create Condition Types u2013M/06 ( these have to be in the Pricing Procedure defined for the Contract,SA)
     Create Access Sequence u2013 M/07
     Create condition table u2013 M/03, M/04/M/05
    Creation of Condition tables M/03
    In this T code u2013 Enter the Table Name you want to Create (the one starting with 9**) Not define in the List)
    In this Double click on the Fields you want to check at this table ,so that it gets activated on come to left side of the screen
    For exampleu2014088 --tables has the fields-
    Destination Country
    Tax ind. f. material
    Tax Indicator: Plant
    Tax Ind. Acct Assgt
    Import
    Tax indicator region
    So the Table acts upon these fields that are activated
    We can choose our own combination from the list, we meet our requirement.
    Then comes the creation of Access Sequence M/07
    This is Cross client Application so it affects all the clients at the same time.
    In this T code Create a Access Sequence and Add the tables created Earlier.( in the Tab Access)
    In this Tab there is a check box Exclusive u2013if it is checked then the system stops checking the condition record it finds a value against this table under that access sequence.
    In the Fields, it gives the details of the Tables and the fields in the condition table in the access sequence.
    Condition types are the ones at which the values are Maintained or entered.
    To maintain the condition types. Automatic determination, the access sequence is maintained
    At which level it has to be determined is what the condition table determine
    An access Sequence is a combination of condition tables
    And one condition type has only one access sequence
    Know the Maintenance of the condition type for the access sequence can be done in T code MEK1
    So after we enter the same based on the condition type u2013it pick up the access sequence  based on access sequence it pick up the condition table.
    Know select a condition table and maintain the value it updates a condition record
    And that condition record will come in the Contract and schedule agreement and PO
    (Based on the fields in the condition table)
    In the contract to update the Price manually we have to click on the conditions Button and update the same.
    hope so it helps
    Regards
    Anjanna

  • Contract with different plant specific freight conditions

    Contract with Vendor ABC has 5 line items
    Line item 1 & 2 for plant 123
    Line item 3 is for plant 345
    Line item 1,2,4 & 5 for plant 567
    For plant 123, the Carrier is ASDF Trucking Co and the charges are $500 per trip.
    For plant 345, no freight
    For plant 567, the carrier is LKJH Trucking Co and the charges are $700 per trip.
    When we create a PO with reference to the above contract for plant 123 for Line item 1 alone, the freight should be $500 per trip.
    When we create a PO with reference to the above contract for plant 123 for Line item 2 alone, the freight should be $500 per trip.
    When we create a PO with reference to the above contract for plant 123 for Line items 1& 2 the freight should be $500 per trip.
    When we create a PO with reference to the above contract for plant 567 for Line items 1& 2 the freight should be $700 per trip.
    How to create such a contract? Do i need to do some config to freight condtion types (pricing procedure)?

    Hi
    You can create this with std configuration itself.
    While creating the Contract, please don't give Plant at the item overview.Just enter the line items and Quantities.
    <b>You can maintian the plant specific condition for each line items.</b>
    1.When maintaining the centrally agreed contract, choose Edit -> Plant conditions -> Overview.
    2.On the overview screen that then appears, enter the desired plant and choose  Plant prices.
    3.An item overview screen appears, starting from which you can maintain conditions.
    4.Choose Item -> Conditions to access the condition maintenance screen.
    Return to the overview and repeat the process for all plants for which you wish to store plant-specific conditions.Save your input.
    Regards
    Ramakrishna

  • Maintaining pricing condition with field group

    Hi
    I want to check the linkage between condition maintenance table for pricing with the Contract.
    Can any body tell me how to maintain the pricing condition with the field group of Contract.(provide me the detail path)
    I am getting one error"Internal error in condition maintenance" when i click on product tab for any of contracts.
    So I guess it may be due to any linkage failure between condition table and field group or tabstrip. please tell me how could I proceed forward to check this error.
    Thanks

    Hi, I hope that this linck to serve.
    [condition fields table|condition fields table]
    Cordial greetings.

  • Free Goods with pricing condition (Urgent)

    Hi MM Expert,
    we have a probleme with free goods. because in PO item of free goods, there is no condition management (no Invoice entry) but we should manage some pricing condition for the item (spécifique condition relative to transport, ...).
    so are the any way of managing the expenses annex condition(transport charge, customs clearance charges,…) for the free goods in an item of Purchase Order ??
    thank's in advance.
    Said

    Hi,
    This is not possible to maintain the condition s for free goods because while creating the PO for free goods by selecting the free goods tad at item level, There is no Condition tab at Item detail .means you are not able to mainatin conditions.
    If you want to maintain the conditions ,you have to treat as a Normal scenarios .
    Regards
    Sanjay L

  • Change Pricing Condition for an item with CRM_ORDER_MAINTAIN

    Hi community,
    I try to change an existing condition with the function module crm_order_maintain.
    Everything looks fine, no error no dump, but no success
    The condition stays the same!
    Can anybody find a solution for this?
    Heres my report so far:
    *& Report  ZTEST_PRICING2
    REPORT  ztest_pricing2.
    DATA: lt_guid      TYPE crmt_object_guid_tab,
          lt_item      TYPE crmt_object_guid_tab,
          lt_saved     TYPE crmt_return_objects,
          lt_pridoc    TYPE crmt_pric_cond_t,
          ls_pridoc    TYPE crmt_pric_cond,
          lt_pricom    TYPE crmt_pridoc_comt,
          ls_pricom    TYPE crmt_pridoc_com,
          lt_header    TYPE crmt_orderadm_h_comt,
          lt_input     TYPE crmt_input_field_tab,
          ls_input     TYPE crmt_input_field,
          ls_input_fn  TYPE CRMT_INPUT_FIELD_NAMES,
          ls_cond_chg  TYPE prct_cond_external_change,
          ls_cond      TYPE PRCT_COND_DU,
          lt_pricing_i TYPE CRMT_PRICING_I_WRKT.
    PARAMETERS: lv_head TYPE crmt_object_guid DEFAULT 'C4C61C4E35DDF306E10000000A024089'.
    PARAMETERS: lv_item TYPE crmt_object_guid DEFAULT '09C71C4E35DDF306E10000000A024089'.
    PARAMETERS: lv_kbetr TYPE prct_cond_rate DEFAULT '100'.
    INSERT lv_head INTO TABLE lt_guid.
    INSERT lv_item INTO TABLE lt_item.
    CALL FUNCTION 'CRM_ORDER_READ'
      EXPORTING
        it_header_guid                    = lt_guid
        it_item_guid                      = lt_item
    *   IV_MODE                           =
    *   IV_ONLY_SPEC_ITEMS                =
    *   IT_REQUESTED_OBJECTS              =
    *   IV_NO_AUTH_CHECK                  =
    *   IT_ITEM_USAGE_RANGE               =
    *   IV_SUBITEM_DEPTH                  = -1
    *   IT_OBJECT_FILTER                  =
    *   IV_ONLY_CHANGED_OBJ               = FALSE
    *   IV_STATUS_H_CHECK_RELEVANCE       = FALSE
      IMPORTING
        et_pridoc                         = lt_pridoc
        et_pricing_i                      = lt_pricing_i
    * CHANGING
    *   CV_LOG_HANDLE                     =
    EXCEPTIONS
       document_not_found                = 1
       error_occurred                    = 2
       document_locked                   = 3
       no_change_authority               = 4
       no_display_authority              = 5
       no_change_allowed                 = 6
       OTHERS                            = 7.
    IF sy-subrc <> 0 AND lt_pridoc IS NOT INITIAL.
      WRITE: / 'ERROR'.
      EXIT.
    ENDIF.
    READ TABLE lt_pridoc INDEX 1 INTO ls_pridoc.
    IF sy-subrc <> 0.
      WRITE: / 'ERROR'.
      EXIT.
    ENDIF.
    READ TABLE ls_pridoc-pric_cond INTO ls_cond WITH KEY kschl = 'PB00'.
    IF sy-subrc <> 0.
      WRITE: / 'ERROR'.
      EXIT.
    ENDIF.
    ls_input-ref_guid   = lv_head.
    ls_input-ref_kind   = 'A'.
    ls_input-objectname = 'PRIDOC'.
    ls_input_fn-fieldname = 'WAERS'.
    INSERT ls_input_fn INTO TABLE ls_input-field_names.
    ls_input_fn-fieldname = 'KBETR'.
    INSERT ls_input_fn INTO TABLE ls_input-field_names.
    INSERT ls_input INTO TABLE lt_input.
    ls_pricom-ref_guid   = lv_head.
    ls_pricom-ref_kind   = 'A'.
    *ls_pricom-PRICING_TYPE  = 'B'.
    *ls_pricom-pricing_procedure = 'ZZMTA'.
    ls_pricom-pric_cond[] = ls_pridoc-pric_cond[].
    MOVE-CORRESPONDING ls_cond TO ls_cond_chg.
    ls_cond_chg-waers = 'EUR'.
    ls_cond_chg-kbetr = lv_kbetr.
    INSERT ls_cond_chg INTO TABLE ls_pricom-cond_change.
    APPEND ls_pricom TO lt_pricom.
    CALL FUNCTION 'CRM_ORDER_MAINTAIN'
      EXPORTING
        it_pridoc         = lt_pricom
      CHANGING
    *    ct_orderadm_h     = lt_header
        ct_input_fields   = lt_input
      EXCEPTIONS
        error_occurred    = 1
        document_locked   = 2
        no_change_allowed = 3
        no_authority      = 4
        OTHERS            = 5.
    IF sy-subrc <> 0.
      EXIT.
    ENDIF.
    CALL FUNCTION 'CRM_ORDER_SAVE'
      EXPORTING
        it_objects_to_save         = lt_guid
      IMPORTING
        et_saved_objects           = lt_saved
    *   ET_EXCEPTION               =
    *   ET_OBJECTS_NOT_SAVED       =
    EXCEPTIONS
       document_not_saved         = 1
       OTHERS                     = 2.
    IF sy-subrc EQ 0.
      COMMIT WORK AND WAIT.
    ELSE.
      ROLLBACK WORK.
    ENDIF.
    regards
    Markus

    Hello Jordi,
    The example below is whereby i was trying to copy all the pricing condition on one document to another and deleting what's not present on the source document.
    You can used this piece of code to adapt your requirement.
    CALL FUNCTION 'ZCRC_FM_COPY_PRICE_COND_ALL'
              EXPORTING
    id_object_guid_src    = <fs_el_con_guid>
    id_object_guid_dest = <fs_el_so_guid>
    id_commit                  = abap_false
              EXCEPTIONS
    not_allowed         = 1
    error_occured     = 2
    OTHERS                 = 3.
      PERFORM f_recup_donnees USING     id_object_guid_src
                                                              id_object_guid_dest.
    PERFORM f_modif_condition_prix USING id_object_guid_src
                                                                                      id_object_guid_dest.
    PERFORM f_header_copy_pricing using id_object_guid_src
                                                                            id_object_guid_dest.
    FORM f_recup_donnees   USING      pd_object_guid_src TYPE crmt_object_guid
                                                                           pd_object_guid_dest TYPE crmt_object_guid.
      DATA:
         lt_header_guid        TYPE crmt_object_guid_tab.
      INSERT pd_object_guid_src  INTO TABLE lt_header_guid.
      INSERT pd_object_guid_dest INTO TABLE  lt_header_guid.
      CLEAR: gt_orderadm_i, gt_doc_flow.
      CALL FUNCTION 'CRM_ORDER_READ'
        EXPORTING
          it_header_guid       = lt_header_guid
        IMPORTING
          et_doc_flow          = gt_doc_flow            
          et_orderadm_i        = gt_orderadm_i
        EXCEPTIONS
          document_not_found   = 1
          error_occurred       = 2
          document_locked      = 3
          no_change_authority  = 4
          no_display_authority = 5
          no_change_allowed    = 6
          OTHERS               = 7.
      IF sy-subrc NE 0.
        RAISE error_occured.
      ENDIF.
    " F_RECUP_DONNEES
    FORM f_modif_condition_prix USING pd_guid_src TYPE crmt_object_guid
                                      pd_guid_dest TYPE crmt_object_guid.
      DATA : ld_pd_handle_src     TYPE prct_handle,
              ld_pd_handle_dest    TYPE prct_handle,
              lt_komv_print_src    TYPE prct_cond_print_t,
    lt_komv_print_dest   TYPE prct_cond_print_t,
              ls_komv_print_dest   LIKE LINE OF lt_komv_print_dest,
              ls_komv_print_src    LIKE LINE OF lt_komv_print_src,
              lt_cond_chg          TYPE prct_cond_print_t,
              lt_cond_chg_insert   TYPE prct_cond_print_t,
              ls_cond_chg          TYPE prct_cond_print,
              ls_cond_chg_tmp      TYPE prct_cond_print,
              ls_input_fields      TYPE crmt_input_field,
              lt_input_fields      TYPE crmt_input_field_tab.
      DATA : bal_log         TYPE balloghndl,
             lt_item_ret     TYPE prct_item_ret_t,
             lt_cond_ret     TYPE prct_cond_print_t,
             ld_data_changed TYPE xfeld,
             gv_decimal      TYPE usdefaults-dcpfm,
             ld_lines        TYPE i,
             ld_ajout_cond   TYPE abap_bool.
      FIELD-SYMBOLS : <fs_orderadm_i_dest>  TYPE crmt_orderadm_i_wrk,
    <fs_orderadm_i_src>   TYPE crmt_orderadm_i_wrk,
                      <fs_cond_chg>         TYPE prct_cond_print,
    <fs_cond_chg_insert>  TYPE prct_cond_print.
    * Début Ajout CD1K904313-001.
      DATA: ld_guid_src  TYPE crmt_object_guid.
      FIELD-SYMBOLS: <fs_doc_flow>  TYPE crmt_doc_flow_wrk.
    * Début Ajout CD1K904313-001.
    * Verrouillage des documents source et destinataire
      PERFORM f_lock_document USING pd_guid_src.
      PERFORM f_lock_document USING pd_guid_dest.
    *Récupérer le pricing handle des documents
    * Document source
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
    iv_header_guid             = pd_guid_src
        IMPORTING
    ev_pd_handle               = ld_pd_handle_src
        EXCEPTIONS
    error_occurred             = 1
    handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    * Document destinataire
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
          iv_header_guid             = pd_guid_dest
        IMPORTING
          ev_pd_handle               = ld_pd_handle_dest
        EXCEPTIONS
          error_occurred             = 1
          handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    * A ne pas traiter les postes de type ZPDF
      DELETE  gt_orderadm_i WHERE itm_type = 'ZPDF'.
      LOOP AT gt_orderadm_i ASSIGNING <fs_orderadm_i_dest> WHERE header = pd_guid_dest.
        REFRESH : lt_komv_print_src,
                  lt_komv_print_dest,
    lt_cond_chg,
    lt_cond_chg_insert.
    * Début Modif CD1K904313-001.
    * Récupérer le guid de l'item liée au item destinataire.
        READ TABLE gt_doc_flow ASSIGNING <fs_doc_flow> WITH KEY objkey_b = <fs_orderadm_i_dest>-guid.
        CHECK sy-subrc EQ 0.
        ld_guid_src = <fs_doc_flow>-objkey_a.
    *    READ TABLE gt_orderadm_i ASSIGNING <fs_orderadm_i_src> WITH KEY header = pd_guid_src
    * number_int = <fs_orderadm_i_dest>-number_int.
    * Fin Modif CD1K904313-001.
    * Récupérer les pricing document
        IF sy-subrc EQ 0.
    *     Document source
          CALL FUNCTION 'PRC_PD_ITEM_SHOW'
            EXPORTING
              iv_pd_handle        = ld_pd_handle_src
    *         iv_item_no          = <fs_orderadm_i_src>-guid    "Supression CD1K904313-001
              iv_item_no          = ld_guid_src                 "Addition CD1K904313-001
            IMPORTING
              et_komv_print       = lt_komv_print_src
            EXCEPTIONS
              non_existing_handle = 1
              non_existing_item   = 2
              ipc_error           = 3
              OTHERS              = 4.
        ENDIF.
    *   Document destinataire
        CALL FUNCTION 'PRC_PD_ITEM_SHOW'
          EXPORTING
            iv_pd_handle        = ld_pd_handle_dest
            iv_item_no          = <fs_orderadm_i_dest>-guid
          IMPORTING
    et_komv_print       = lt_komv_print_dest
          EXCEPTIONS
            non_existing_handle = 1
            non_existing_item   = 2
            ipc_error           = 3
            OTHERS              = 4.
    * Modification et Suppression des conditions de prix
        LOOP AT lt_komv_print_dest INTO ls_komv_print_dest .
          CLEAR: ls_cond_chg,
                 ls_komv_print_src.
          MOVE-CORRESPONDING ls_komv_print_dest TO ls_cond_chg.
    * Rechercher la condition sur le document source
          READ TABLE lt_komv_print_src INTO ls_komv_print_src WITH KEY kschl = ls_komv_print_dest-kschl
    zaehk = ls_komv_print_dest-zaehk. "CD1K904313
          IF sy-subrc EQ 0.
            ls_cond_chg-kbetr_prt = ls_komv_print_src-kbetr_prt.
            ls_cond_chg-kwert     = ls_komv_print_src-kwert.
            ls_cond_chg-kinak     = ls_komv_print_src-kinak.
          ELSEIF ls_cond_chg-kschl IS NOT INITIAL.
            CLEAR ls_cond_chg.
            CONTINUE.
          ENDIF.
    *     Format décimal
          CASE gv_decimal.
            WHEN space.       "format N.NNN,NN
              REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
            WHEN 'Y'.         "format N NNN NNN,NN
              REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
          ENDCASE.
          INSERT ls_cond_chg INTO TABLE lt_cond_chg.
          CLEAR ls_cond_chg.
        ENDLOOP.
    * Ajout des conditions de prix
        LOOP AT lt_komv_print_src INTO ls_komv_print_src WHERE kschl IS NOT INITIAL.
          CLEAR: ls_cond_chg, ld_lines, ls_komv_print_dest, ls_cond_chg_tmp, ld_ajout_cond.
    * Vérifier la présence de la condition sur le document destinataire
          READ TABLE lt_komv_print_dest INTO ls_komv_print_dest WITH KEY kschl = ls_komv_print_src-kschl
    zaehk = ls_komv_print_src-zaehk. "CD1K904313.
          IF sy-subrc EQ 0.
            CLEAR: ls_cond_chg, ls_komv_print_dest.
            CONTINUE.
          ELSE.
            DESCRIBE TABLE lt_cond_chg LINES ld_lines.
            READ TABLE lt_cond_chg INTO ls_cond_chg_tmp INDEX ld_lines.
            IF sy-subrc EQ 0.
              ld_ajout_cond = abap_true.
              MOVE-CORRESPONDING ls_komv_print_src TO ls_cond_chg.
              ls_cond_chg-knumv     = ls_cond_chg_tmp-knumv.
              ls_cond_chg-kposn     = ls_cond_chg_tmp-kposn.
              ls_cond_chg-stunr     = ls_cond_chg_tmp-stunr + 10.
            ELSE.
              CLEAR: ls_cond_chg, ld_lines, ls_komv_print_dest, ls_cond_chg_tmp.
              CONTINUE.
            ENDIF.
          ENDIF.
    *     Format décimal
          CASE gv_decimal.
            WHEN space.             "format N.NNN,NN
              REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
            WHEN 'Y'.               "format N NNN NNN,NN
              REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
          ENDCASE.
    * Récupérer les nouvelles conditions qui seront ajouté au document destinataire
          IF ld_ajout_cond EQ abap_true.
            INSERT ls_cond_chg INTO TABLE lt_cond_chg_insert.
          ENDIF.
          INSERT ls_cond_chg INTO TABLE lt_cond_chg.
          CLEAR ls_cond_chg.
        ENDLOOP.
        CALL FUNCTION 'PRC_INT_ITEM_INPUT'
          EXPORTING
            iv_pd_handle        = ld_pd_handle_dest
            iv_item_no          = <fs_orderadm_i_dest>-guid
            it_cond_prt         = lt_cond_chg
            iv_bal_log          = bal_log
            iv_req_ret          = abap_true
            iv_req_cond_prt     = abap_true
          IMPORTING
            et_item_ret         = lt_item_ret
            et_cond_prt         = lt_cond_ret
            ev_data_changed     = ld_data_changed
          EXCEPTIONS
            non_existing_handle = 1
            non_existing_item   = 2
            ipc_error           = 3.
        IF sy-subrc = 0.
    *     En cas d'ajout de nouvelles conditions de prix, appeler le MF PRC_INT_ITEM_INPUT
    *     avec les montants
          IF lt_cond_chg_insert IS NOT INITIAL.
            REFRESH lt_cond_chg[].
            lt_cond_chg[] = lt_cond_ret[].
            LOOP AT lt_cond_chg_insert ASSIGNING <fs_cond_chg_insert>.
              READ TABLE lt_cond_chg ASSIGNING <fs_cond_chg> WITH KEY kschl = <fs_cond_chg_insert>-kschl.
              IF sy-subrc EQ 0.
                <fs_cond_chg>-kwert     = <fs_cond_chg_insert>-kwert.
                <fs_cond_chg>-kbetr_prt = <fs_cond_chg_insert>-kbetr_prt.
              ENDIF.
            ENDLOOP.
            REFRESH lt_cond_ret[].
            CALL FUNCTION 'PRC_INT_ITEM_INPUT'
              EXPORTING
                iv_pd_handle        = ld_pd_handle_dest
                iv_item_no          = <fs_orderadm_i_dest>-guid
                it_cond_prt         = lt_cond_chg
                iv_bal_log          = bal_log
                iv_req_ret          = abap_true
                iv_req_cond_prt     = abap_true
              IMPORTING
                et_item_ret         = lt_item_ret
                et_cond_prt         = lt_cond_ret
                ev_data_changed     = ld_data_changed
              EXCEPTIONS
                non_existing_handle = 1
                non_existing_item   = 2
                ipc_error           = 3.
          ENDIF.
    *   Publish event afin de sauvegarder les conditions de prix
          CALL FUNCTION 'CRM_EVENT_PUBLISH_OW'
            EXPORTING
              iv_obj_name = 'PRIDOC'
              iv_guid_hi  = pd_guid_dest
              iv_kind_hi  = 'A'
              iv_event    = 'SAVE'
            EXCEPTIONS
              OTHERS      = 1.
    *   As no order_maintain will follow implicitly and therefore no
    *   exec times for the events will be set, call CRM_ORDER_MAINTAIN
    *   without any parameters
    *   Then the exec time 'end of document' will be set and with the
    *   group logic also all exec times before
    *   But at least one object is needed in input_fields
    *   --> use PRIDOC
          ls_input_fields-ref_guid   = <fs_orderadm_i_dest>-guid.
          ls_input_fields-ref_kind   = 'B'.
          ls_input_fields-objectname = 'PRIDOC'.
          INSERT ls_input_fields INTO TABLE lt_input_fields.
          CLEAR ls_input_fields.
          CALL FUNCTION 'CRM_ORDER_MAINTAIN'
            CHANGING
              ct_input_fields   = lt_input_fields
            EXCEPTIONS
              error_occurred    = 1
              document_locked   = 2
              no_change_allowed = 3
              no_authority      = 4
              OTHERS            = 5.
        ENDIF.
      ENDLOOP.
    " F_MODIF_CONDITION_PRIX
    *& Form  F_LOCK_DOCUMENT
    * Verrouillage d'un document
    FORM f_lock_document  USING pd_guid TYPE crmt_object_guid.
      CONSTANTS : lc_orderadm_h TYPE  crmt_object_name  VALUE 'ORDERADM_H',
                  lc_orderadm_i TYPE  crmt_object_name  VALUE 'ORDERADM_I'.
      DATA: lv_process_mode      TYPE crmt_mode,
            lv_order_initialized TYPE crmt_boolean,
            lv_process_type      TYPE crmt_process_type,
            lv_already_locked    TYPE abap_bool.
      DATA: ls_admin_ui_status  TYPE crmt_admin_ui_status,
            ls_item_usage_range TYPE crmt_item_usage_range.
      DATA: lt_objects_to_read   TYPE crmt_object_guid_tab,
            lt_requested_objects TYPE crmt_object_name_tab,
            lt_item_usage_range  TYPE crmt_item_usage_range_tab,
            lt_locked_contract   TYPE crmt_object_guid_tab.
      INSERT pd_guid INTO TABLE lt_objects_to_read.
      INSERT lc_orderadm_h INTO TABLE lt_requested_objects.
      INSERT lc_orderadm_i INTO TABLE lt_requested_objects.
      ls_item_usage_range-sign  = 'E'.
      ls_item_usage_range-value = '02'.
      INSERT ls_item_usage_range INTO TABLE lt_item_usage_range.
    * LAM: Financing Options should be viewed in a separate screen:
      ls_item_usage_range-sign  = 'E'.
      ls_item_usage_range-value = '05'.   "Financing options
      INSERT ls_item_usage_range INTO TABLE lt_item_usage_range.
    *-> read document in change mode
      CALL FUNCTION 'CRM_ORDER_READ'
        EXPORTING
          it_header_guid       = lt_objects_to_read
          iv_mode              = 'B'
          it_requested_objects = lt_requested_objects
          it_item_usage_range  = lt_item_usage_range
        EXCEPTIONS
          document_not_found   = 1
          error_occurred       = 2
          document_locked      = 3
          no_change_authority  = 4
          no_display_authority = 5
          OTHERS               = 6.
      PERFORM enqueue_order IN PROGRAM saplcrm_order_ow IF FOUND
        USING pd_guid
              abap_false
              abap_false
              abap_false
    CHANGING sy-subrc
              lv_already_locked
              lt_locked_contract.
    " F_LOCK_DOCUMENT
    * Fin Ajout CD1K904074-001
    FORM f_header_copy_pricing  USING   pd_guid_src
    pd_guid_dest.
      DATA : ld_pd_handle_src     TYPE prct_handle,
              ld_pd_handle_dest    TYPE prct_handle,
              lt_komv_print_src    TYPE prct_cond_print_t,
    lt_komv_print_dest   TYPE prct_cond_print_t,
              ls_komv_print_dest   LIKE LINE OF lt_komv_print_dest,
              ls_komv_print_src    LIKE LINE OF lt_komv_print_src,
              lt_cond_chg          TYPE prct_cond_print_t,
              ls_cond_chg          TYPE prct_cond_print,
              ls_input_fields      TYPE crmt_input_field,
              lt_input_fields      TYPE crmt_input_field_tab.
      DATA : bal_log         TYPE balloghndl,
             lt_cond_ret     TYPE prct_cond_print_t,
             ld_data_changed TYPE xfeld,
             gv_decimal      TYPE usdefaults-dcpfm.
    * Verrouillage des documents source et destinataire
      PERFORM f_lock_document USING pd_guid_src.
      PERFORM f_lock_document USING pd_guid_dest.
    *  Récupérer le pricing handle des documents
    * Document source
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
          iv_header_guid             = pd_guid_src
        IMPORTING
          ev_pd_handle               = ld_pd_handle_src
        EXCEPTIONS
          error_occurred             = 1
          handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    * Document destinataire
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
          iv_header_guid             = pd_guid_dest
        IMPORTING
          ev_pd_handle               = ld_pd_handle_dest
        EXCEPTIONS
          error_occurred             = 1
          handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    *  * Récupérer les pricing document
    *  Document Source
      CALL FUNCTION 'PRC_PD_HEAD_SHOW'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_src
        IMPORTING
          et_komv_print       = lt_komv_print_src
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          OTHERS              = 3.
      CHECK sy-subrc EQ 0.
    *  Document Destinataire
      CALL FUNCTION 'PRC_PD_HEAD_SHOW'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_dest
        IMPORTING
    et_komv_print       = lt_komv_print_dest
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          OTHERS              = 3.
      CHECK sy-subrc EQ 0.
    *  * Modification et Suppression des conditions de prix
      LOOP AT lt_komv_print_src INTO ls_komv_print_src .
        CLEAR: ls_cond_chg,
               ls_komv_print_dest.
        MOVE-CORRESPONDING ls_komv_print_src TO ls_cond_chg.
    * Rechercher la condition sur le document source
        READ TABLE lt_komv_print_dest INTO ls_komv_print_dest WITH KEY kschl = ls_komv_print_src-kschl
    zaehk = ls_komv_print_src-zaehk.
        IF sy-subrc EQ 0.
          IF ls_komv_print_src-kbetr NE ls_komv_print_dest-kbetr.
            ls_cond_chg-kbetr_prt = ls_komv_print_src-kbetr_prt.
            ls_cond_chg-kwert     = ls_komv_print_src-kwert.
            ls_cond_chg-kinak     = ls_komv_print_src-kinak.
            CASE gv_decimal.
              WHEN space.       "format N.NNN,NN
                REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
              WHEN 'Y'.         "format N NNN NNN,NN
                REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
            ENDCASE.
          ENDIF.
        ENDIF.
        CLEAR ls_cond_chg-krech.
        INSERT ls_cond_chg INTO TABLE lt_cond_chg.
        CLEAR ls_cond_chg.
      ENDLOOP.
      CALL FUNCTION 'PRC_INT_HEAD_INPUT'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_dest
          iv_bal_log          = bal_log
          it_cond_prt         = lt_cond_chg
          iv_req_ret          = abap_true
          iv_req_cond_prt     = abap_true
        IMPORTING
          et_cond_prt         = lt_cond_ret
          ev_data_changed     = ld_data_changed
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          not_allowed         = 3
          OTHERS              = 4.
      CHECK sy-subrc EQ 0.
    *    *   Publish event afin de sauvegarder les conditions de prix
      CALL FUNCTION 'CRM_EVENT_PUBLISH_OW'
        EXPORTING
          iv_obj_name = 'PRIDOC'
          iv_guid_hi  = pd_guid_dest
          iv_kind_hi  = 'A'
          iv_event    = 'SAVE'
        EXCEPTIONS
          OTHERS      = 1.
    *   As no order_maintain will follow implicitly and therefore no
    *   exec times for the events will be set, call CRM_ORDER_MAINTAIN
    *   without any parameters
    *   Then the exec time 'end of document' will be set and with the
    *   group logic also all exec times before
    *   But at least one object is needed in input_fields
    *   --> use PRIDOC
      ls_input_fields-ref_guid   = pd_guid_dest.
      ls_input_fields-ref_kind   = 'A'.
      ls_input_fields-objectname = 'PRIDOC'.
      INSERT ls_input_fields INTO TABLE lt_input_fields.
      CLEAR ls_input_fields.
      CALL FUNCTION 'CRM_ORDER_MAINTAIN'
        CHANGING
          ct_input_fields   = lt_input_fields
        EXCEPTIONS
          error_occurred    = 1
          document_locked   = 2
          no_change_allowed = 3
          no_authority      = 4
          OTHERS            = 5.
    ENDFORM.
    FORM f_header_copy_pricing  USING   pd_guid_src
    pd_guid_dest.
      DATA : ld_pd_handle_src     TYPE prct_handle,
              ld_pd_handle_dest    TYPE prct_handle,
              lt_komv_print_src    TYPE prct_cond_print_t,
    lt_komv_print_dest   TYPE prct_cond_print_t,
              ls_komv_print_dest   LIKE LINE OF lt_komv_print_dest,
              ls_komv_print_src    LIKE LINE OF lt_komv_print_src,
              lt_cond_chg          TYPE prct_cond_print_t,
              ls_cond_chg          TYPE prct_cond_print,
              ls_input_fields      TYPE crmt_input_field,
              lt_input_fields      TYPE crmt_input_field_tab.
      DATA : bal_log         TYPE balloghndl,
             lt_cond_ret     TYPE prct_cond_print_t,
             ld_data_changed TYPE xfeld,
             gv_decimal      TYPE usdefaults-dcpfm.
      PERFORM f_lock_document USING pd_guid_src.
      PERFORM f_lock_document USING pd_guid_dest.
    *  Récupérer le pricing handle des documents
    * Document source
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
          iv_header_guid             = pd_guid_src
        IMPORTING
          ev_pd_handle               = ld_pd_handle_src
        EXCEPTIONS
          error_occurred             = 1
          handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    * Document destinataire
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
          iv_header_guid             = pd_guid_dest
        IMPORTING
          ev_pd_handle               = ld_pd_handle_dest
        EXCEPTIONS
          error_occurred             = 1
          handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    *  * Récupérer les pricing document
    *  Document Source
      CALL FUNCTION 'PRC_PD_HEAD_SHOW'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_src
        IMPORTING
          et_komv_print       = lt_komv_print_src
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          OTHERS              = 3.
      CHECK sy-subrc EQ 0.
    *  Document Destinataire
      CALL FUNCTION 'PRC_PD_HEAD_SHOW'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_dest
        IMPORTING
    et_komv_print       = lt_komv_print_dest
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          OTHERS              = 3.
      CHECK sy-subrc EQ 0.
    *  * Modification et Suppression des conditions de prix
      LOOP AT lt_komv_print_src INTO ls_komv_print_src .
        CLEAR: ls_cond_chg,
               ls_komv_print_dest.
        MOVE-CORRESPONDING ls_komv_print_src TO ls_cond_chg.
    * Rechercher la condition sur le document source
        READ TABLE lt_komv_print_dest INTO ls_komv_print_dest WITH KEY kschl = ls_komv_print_src-kschl
    zaehk = ls_komv_print_src-zaehk.
        IF sy-subrc EQ 0.
          IF ls_komv_print_src-kbetr NE ls_komv_print_dest-kbetr.
            ls_cond_chg-kbetr_prt = ls_komv_print_src-kbetr_prt.
            ls_cond_chg-kwert     = ls_komv_print_src-kwert.
            ls_cond_chg-kinak     = ls_komv_print_src-kinak.
            CASE gv_decimal.
              WHEN space.       "format N.NNN,NN
                REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
              WHEN 'Y'.         "format N NNN NNN,NN
                REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
            ENDCASE.
          ENDIF.
        ENDIF.
        CLEAR ls_cond_chg-krech.
        INSERT ls_cond_chg INTO TABLE lt_cond_chg.
        CLEAR ls_cond_chg.
      ENDLOOP.
      CALL FUNCTION 'PRC_INT_HEAD_INPUT'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_dest
          iv_bal_log          = bal_log
          it_cond_prt         = lt_cond_chg
          iv_req_ret          = abap_true
          iv_req_cond_prt     = abap_true
        IMPORTING
          et_cond_prt         = lt_cond_ret
          ev_data_changed     = ld_data_changed
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          not_allowed         = 3
          OTHERS              = 4.
      CHECK sy-subrc EQ 0.
      CALL FUNCTION 'CRM_EVENT_PUBLISH_OW'
        EXPORTING
          iv_obj_name = 'PRIDOC'
          iv_guid_hi  = pd_guid_dest
          iv_kind_hi  = 'A'
          iv_event    = 'SAVE'
        EXCEPTIONS
          OTHERS      = 1.
      ls_input_fields-ref_guid   = pd_guid_dest.
      ls_input_fields-ref_kind   = 'A'.
      ls_input_fields-objectname = 'PRIDOC'.
      INSERT ls_input_fields INTO TABLE lt_input_fields.
      CLEAR ls_input_fields.
      CALL FUNCTION 'CRM_ORDER_MAINTAIN'
        CHANGING
          ct_input_fields   = lt_input_fields
        EXCEPTIONS
          error_occurred    = 1
          document_locked   = 2
          no_change_allowed = 3
          no_authority      = 4
          OTHERS            = 5.

  • Report to check materials list with missing pricing conditions

    Hi,
    I have two levels in the BOM. Sales material in the top and purchase material in the bottom. I create VK11 pricing (condition type: XP00) for SALES ORG/ MATERIAL and SALES ORG/ MATERIAL/ CUSTOMER level for both materials. Is there any standard SAP report to display materials I missed to enter pricing conditions.
    Thanks,
    Sam

    Dear Sam
    I dont know there is such report which fulfills your requirement. but i suggest you to run V/LD and select Material Prices at 15. Give sales organization, distribution channel, condition type and material range from and to. For example i just executed report with
    Sales organization        1000
    Distribution Channel       60
    Material                          1900000         1999999
    Condition                        PR00
    The system will show you the materials for which you have maintained condition record. Export this report to excel and use VLOOKUP for your requirement.
    Update your response.

Maybe you are looking for

  • Report for material cost estimation

    Dear All,            my report spec is when I give the material no (finished goods) and plant it should show the sub-material that qty and price also...Could u tell me the table name for getting these sub-item and main-item ..<b></b><b></b><b></b><b>

  • Error while executing procedure having IN and OUT parameters

    Hi, I will be really gratified if someone can please help me in solving with the following problem. I have one procedure given below create or replace procedure abcd1april (                                         nd_in                IN varchar2,   

  • Quicktime error -43: File could not be found.

    I'm working on a windows computer in on a disk connected to a mac. The mac has the latest leopard on it and has a disk connected which is Mac osx extended formatted. Strange problem that I have is that I can't open quicktime files that are in a direc

  • Purchase order print program error

    hi experts! am facing a problem in my purchase order print program. the problem is that when i am trying to see the print preview the following dump error is throughing, which am not able to understand. the P.O total amount should be change into word

  • Time machine compression ratio

    I know that previously Time Machine didn't do any compression, it is 1:1, but it seems that even on Mavericks it still doesn't. How is it possible that with all Apple inovation they still didn't come up with the way to compress the image. Why do I ne