Pricing condition error
Hi,
In pricing when I am trying to enter a percentage based k007 type condition.... for a particular customer...........it is showing this error
I want to enter 1.000 % for 100 uni
1.000- exceeds the limit 2.000- for condition type k007
message no. VK038
Hi Erik
i know its very late , but today i came across the same situation , and found the solution its not upper and lover limit , its a Customization ,
t -code: OVB2 ,
and in this t code u restrict the value of condition type ,
Similar Messages
-
Middleware-Pricing condition error while downloading pricing objects
Dear all,
I am encountering an error after i replicated the pricing objects from R/3 to CRM. Below is the description of that error as seen in T-code SLG1
There is no entry in the object directory (TADIR) for R3TR TTYP /1CR/RCBCUS503_T
Please provide me with some pointers to resolve this issue.
Thanks & Regards
YogeshHi Yogesh,
I am facing exactly the same problem,
How did you solve it?
Any comments gurus? -
Header level pricing condition error
Hi Friends,
In a PO, I have 5 line items. I am giving freight condition type at header level for the entire po as Rs. 500. But the system calculates the freight charge as 500*5=2500. The freight condition type FRB1 is a fixed charge condition type.
The client wants the absolute freight charge should be for the entire PO.
Please advice how to solve this issue.
Thanks & Regards
SatyaHi,
the scales have nothing to do with this, they just allow different prices to be stored for different quantities.
But have you had a look at the "qty relevant" flag on the condition type?
Please do check the flags that are set, these do control the calculation.
Also make sure that you are using a condition type that has the "header conditions" flag set on. If you choose one that has only the item condition set on this may not be correct.
FRB1 (the one that you said that you are using) is an ITEM condition and should not be added to the header.
Steve B -
Error :Maintain pricing conditions for the material for the excise invoice
Hi
i have maintained excise data for material, after that i have created scheduled agreement with lp and with 0 value private and dummy tax code and delivery schedule is released. Now when i do the goods receipt i am getting error " Maintain pricing conditions for the material for the excise invoice date
Message no. 8I629" can some body can help me.
with regards
Narendra kumarHi,
goto tcode fv11 u have to maintained the condition.
first enter the condition type like jmop -
then enter, next screen u have the select the below comination.
select the plant/vendor/material base u have to maintain the conditions.
Thank's
MVS -
Error while creating a pricing condition record.
Hi
I am trying to use the Material Group 1 (MVGR1) field from the field catalog to create a pricing condition table(9 series). I was able to create the table with MVGR1 as one of the columns but when I try to maintain condition records in the table, System gives me the following error. I have maintained certain values in the config for material group1. there is neither F4 values for the field Material group nor I can type in config values of MVGR1 in that field. I am getting this error. Any help on how to get past this issue will be highly appreciated.
Thanks
Object Material group 1 not provided with characteristic AS. (Note other fields!)
Message no. VK432
Diagnosis
The value entered in a field is not permitted.
System response
The system issues an error message.
Procedure
Check the entry and make the necessary corrections. Note any relationships between the individual fields. Entries in other fields may also be incorrect.
Example: There are two fields for maintaining the country and region. These fields are linked. The country chosen would be permitted if it were by itself. So would the region. But the region may not be in the the country chosen. In this case, an error message is issued. The country should then be corrected, not the region!
Edited by: Suraj Ramakrishnan on Dec 24, 2009 2:45 AMMessage no. VK432
Check note 750841
thanks
G. Lakshmipathi -
Error while debugging a FM to get pricing condition details
Hi,
when debugging the FM PRC_PD_HEAD_SHOW ( SPC_GET_PRICING_CONDITIONS ) to get the pricing condition details i am getting an error java debugging back end on sapdevsystem is waiting for port 8003.
Is this bcoz java not properly installed in my system. Can anybody pls tell me how to solve this issue.
Thanks,
LeenaDid not get any answer.. so found all the dates by particular tables a*** from pricing.
-
Error in BDOC while uploading the pricing condition record to ECC from CRM
Hi all,
I have created a condition record for ECC pricing condition type (I have maintained all settings required for maintaining ECC condition type in CRM 7.0) in CRM 7.0. But theis condition record is not uploaded to ECC. I have checked BDOC, it is showing with error status for BDOC type "CND_M_SUP". The errors are as below.
1. sBDoc CNBCCPSAP005 does not contain structure CDBD_CONDREF
Message no. CND_MAST064
2. sBDoc CNBCCPSAP005 does not contain structure CDBD_CONDREF
Message no. CND_MAST064
3. Service that caused the error: CND_MAST_INT_DEEP_MB_TO_SBDOC
Message no. SMO8047Diagnosis
A service caused/ reported an error.
Can some one help me in fixing this issue please.
Thanks in advance,
JM
Edited by: JM on Sep 7, 2010 4:46 PMHi,
sBDOCs are not used in ECC to CRM or CRM to ECC data replication scenario. You can either ignore the error or disable mobile bridge.
Regards
Prasenjit -
Error in assigning pricing condition in condition generation
Hello,
As a part of configuration, I have to define one pricing condition in CRM with
Usage - PR
Calculation type - B - Fixed amount
which I defined in SPRO-CRM-BASIC FUNCTIONS-PRICING -DEFINE SETTINGS FOR PRICING- CREATE CONDITION TYPE
for trade promotion condition generation.
But while assignig this condition in condition generation type at
SPRO-CRM-trade promotion management- trade promotions- condition maintenance- define condition generation
I am getting an error as
Calculation type B of Condition type 9PP3 is not allowed for Pricing
Message no. CRM_MKTPL_COND_IF086
Request you all to help me in going ahead .
Thanking you in advance
ShaileshHI Willie,
Thanks for the reply.
But the conditon which I defined is in CRM and not from R3.
As per the requirement, I need to define the pricing condition with calculation type fixed amount in CRM. I defined the condition.
But while assignig this condition in condition generation for trade promotion.
Thanks in advance.
Shailesh -
Billing Document Error - Mandatory pricing Condition Missing
Dear Gurus,
We created a sales order for job work for service material and it asked the pricing condition job work price (ZJOP), so pricing condition maintained, in VF01 error is coming Mandatory pricing condition missing (ZBPR).
Regards,
VasantHi,
First check the sales order is complete.Click on incompletion log.If its complete then try the following
To check the settings for billing type T code is VOFA. Here you can check the document pricing proc only. If its is showing fine
in sales order and not billing then check your copy control T code VTFL. Check what is the pricing type for item category.
Edited by: scm.sd on May 9, 2011 1:45 PM
Edited by: scm.sd on May 9, 2011 1:50 PM -
Price and Pricing conditions are not copied to PO for a line item !!
Hi
I have created a PO w.r.t a PR which has only one line item.
Now, I add another line item to this existing PO, i get an error message that the Price and Pricing conditions are not copied.
How do i rectify this error !!
Where might be the link for this Price and Pricing conditions to get copied in to this PO ??
MaruthiRamWhat kind of PR and in the PO same material you enter for new line or new material and do you have any funcitonal authorization assigned o your user id
please reply -
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
MarkusHello 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. -
Problem with pricing condition type in case of proforma invoicing
Hello All,
the problem is related to a pricing condition type in case of proforma invoice where the details are as follows -
Name of Condition Type - ZADC - Add 10% on Cost Access seq. Z038 Diff
Plus/minus A Positive
Cond. class - A Discount or surcharge
Calculat.type - A Percentage
Cond.category - Blank
Manual entries D Not possible to process manually
Amount / Percent - Checked
Item Condition - checked
Scale Basis - Quantity
Currency Conversion - Checked
Quantity Conversion - Checked
This condition type has been kept as statistical in the pricing procedure. Still in the proforma invoice the condition type is not getting reflected automatically , whenever I am updating with " carry out new pricing " option the condition type is getting populated.In case of other commercial invoices this very condition type is getting populated automatically without any updates.Along with this point to be noted is that the Condition type in which the actual costi is captured has been kept active.
What more needs to be configured or what are the changes to be done to populate the condition type automatically as statistical during the time of proforma invoicing?
Thanks & Regards
Priyanka MitraHi,
Kindly do the pricing analysis and check whether you have the following error such as
Inactive condition type because of subsequent price,
Regards,
Ravi -
Authorization Objects for pricing conditions in Sales Order
Hi All,
In transaction VA03, we should restrict some users not to see pricing conditions tab in header and item level and net value on overview screen.
Is there anyone who knows how to do it? I wii be very glad if you help me.
Best Regards.Hi,
i have not done this exact limitation before, but I hope this method will help.You can look up the list of all authorization objects linked to the tcode in transaction SU22.
You can also get this by doing a user trace in ST01; and displaying the pricing condition.
once you have a rough idea, you can do a trial and error with the values inside these objects and see which one works.
Regards,
Soumya -
Change of pricing condition in sales after delivering or invoicing of a sub
Hello,
I have to change the pricing condition of a sales order item, condition type PR00, after a sub quantity had been delivered or invoiced to the customer. BAPI_SALES_ORDER change I tried with did not work but also I got no error.
w_inx-updateflag = 'U'.
w_cond-itm_number = '000010'.
w_cond-cond_type = 'PR00'.
w_cond-cond_value = 999.
w_cond-currency = 'EUR'.
APPEND w_cond TO t_cond.
w_condx-itm_number = '000010'.
w_condx-cond_type = 'PR00'.
w_condx-updateflag = 'U'.
w_condx-cond_value = 'X'.
w_condx-currency = 'X'.
APPEND w_condx TO t_condx.
w_vbeln = p_in. <--- from input parameter
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = w_vbeln
order_header_inx = w_inx
TABLES
return = t_ret
conditions_in = t_cond
conditions_inx = t_condx.
How can I change the price and trigger a new pricing for the sales order?
Thank you for your time
Regards
NorbertHi
In the transaction VOFM, tab -> Formulas -> Condition Value , create a new routine, no need to copy from existing as you will be writing your own logic.
In this new routine, set xkwert to your required value.
Ask your SD functional to assign this formula to ZAS2 condition in the transaction V/08.
I hope this might help.
Best Regards,
Nikhil Patil -
Creation of Customized field for Pricing Condition tables
Hi Friends
I have a requirement to create a Pricing condition table with Customized field starts with 'Z' and
Field length should be more than 80.
After creating New Customized Field, system is not allowing to create Pricing Condition table and giving error 'Too Many fields selected (larger than 100 bytes)'.
Could you please advice how to over come this error and Maximum field to create Pricing condition table .
Thanks
RaviHi there,
Table & table attributes are defined by the ABAPers. Not by finctional consultants.
You need to have an access key to define new tables & access sequence.
Check with your ABAPer. He will be able to help you with that.
Regards,
Sivanand
Maybe you are looking for
-
I just renewed my ExportPDF subscription, but I can't sign in to Export PDF online (it keeps taking me to the "subscribe" screen) and when I try to convert from within Acrobat, it says the trial period has expired, please subscribe.
-
Reviews for ATI Radeon HD 4870 Graphics Upgrade Kit for Mac Pro?
There's no review at the Apple Store on this [ATI Radeon HD 4870 Graphics Upgrade Kit for Mac Pro (Early 2009 or Early 2008)|http://store.apple.com/us/product/MB999ZM/A?fnode=MTY1NDA5OQ&mco=NDE4NDMx OA]. Googled and found nothing related to the Mac k
-
Best transition from iBook G4 to new iMac
I would like to move FireFox from my iBook G4 to my new iMac, w/all bookmarks etc. Apple's Migration Assistant did not do it for me. Please advise best step by step process. Thank you
-
Hi all I am new to APEX development. please help in below I have two report pages (interactive reports). Let say Page1 : Department Page (List of Departments) link to Page2 Page 2: List of Employee for selected Department - PageItem (P_DEPARTMENT) th
-
Greetings, I am in the process of creating Webhelp for an application that will run in a browser. I am used to dealing with a single compressed .chm file rather than a folder of files. Because the help files will also be residing in the actual produc