cancel
Showing results for 
Search instead for 
Did you mean: 

How to Upload Condition records in product

Former Member
0 Kudos

Hello Friends,

Need input

CRM_PRODUCT_CONDITIONS already check this package but i dont get any input. the bapi which i am using have no code inside for conditions

COM_PROD_MATERIAL_MAINTAIN_API.

i tried these bapis :

COM_PRODUCT_MAINT_CONDITIONS : not Working

PRC_MAST_CREATE_CONDITION :I am uploading conditions separately by using this FM PRC_MAST_CREATE_CONDITION

But this FM is throwing dump when I execute it with correct product Id.Attached screen shot .I am passing CRM for application and

PRODUCTCRM to maintenance group.It is throwing dump at product_id.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

hi,

thanks for your reply but i already tried first one but its not working i dnt know why is it so ...functional guys make z type condition table

i am passing parameters like this please help me if some where i am wrong its urgent base requirement

MOVE gv_pr_number TO gs_conditions-pr_number.

*

CALL FUNCTION 'CRM_GUID_CREATE'

IMPORTING

ev_guid = gs_conditions1-varnumh.

.

gs_conditions1-client = sy-mandt.

gs_conditions1-kopos = '001'.

gs_conditions1-kschl = 'ZIN1'.

gs_conditions1-kbetr = ' 12.00'.

gs_conditions1-konwa = 'USD'.

gs_conditions1-kpein = ' 1'.

gs_conditions1-kmein = 'EA'.

gs_conditions1-krech = 'C'.

gs_conditions1-kvewe = 'PR'.

gs_conditions1-kotabnr = 'ZIN_TAB1'.

gs_conditions1-product = gv_product_guid.

gs_conditions1-kschl_supp = 'ZIN1'.

gs_conditions1-kappl = 'CRM'.

  • gs_conditions1-stfkz = '' .

gs_conditions1-/sapcnd/mnt_is_archived = 'X'.

gs_conditions1-supp_exist = 'X'.

gs_conditions1-scale_dim = '00'.

gs_conditions1-release_status = 'x'.

gs_conditions1-mnt_ow_error_by_cond_rec = 'X'.

  • gs_conditions1-mnt_ow_error_by_relation = ''.

  • gs_conditions1-mnt_ow_exists_at_db = 'X'.

gs_conditions1-mnt_ow_maint_mode_on_select = 'B'.

  • gs_conditions1-mnt_ow_result = ''.

gs_conditions1-dbaction_supp = 'N'.

gs_conditions1-dbaction_tabl = 'I'.

gs_conditions1-tte_logsys = gv_logsys.

  • gs_conditions1-product_ref_guid = gv_product_guid.

gs_conditions1-timestamp_from = '20071012000000'. " gv_valid_from.

gs_conditions1-timestamp_to = '99991231235959'.

APPEND gs_conditions1 TO gs_conditions-cnd_crm_working_set.

APPEND gs_conditions TO gt_conditions.

  • CLEAR : gs_conditions2,gs_conditions.

APPEND gs_set_typ TO gt_set_typ.

CLEAR gs_set_typ.

CALL FUNCTION 'COM_PRODUCT_FREE_API'.

DATA : et_bapireturn TYPE bapiret2_tab,

lt_product TYPE comt_product_maintain_api_extt,

ls_product TYPE comt_product_maintain_api_ext.

ls_product-header = gs_product_api.

MOVE gs_conditions TO ls_product-conditions .

APPEND ls_product TO lt_product.

CLEAR gs_conditions.

DATA : cv_save TYPE comt_boolean VALUE ' '.

CALL FUNCTION 'COM_PROD_MATERIAL_MAINTAIN_API'

EXPORTING

it_product = gt_product_api

iv_suppress_inactive = 'X'

it_set = gt_set_typ

iv_commit_work = 'X'

iv_update_task = 'X'

  • iv_enqueue_mode = 'E'

iv_activate_inactive_products = 'X'

IMPORTING

et_bapireturn = gt_bapireturn.

IF sy-subrc = 0.

CALL FUNCTION 'COM_PRODUCT_MAINT_CONDITIONS'

EXPORTING

it_product = lt_product

IMPORTING

et_bapireturn = et_bapireturn

CHANGING

cv_save = cv_save.

  • Commit the BAPI

COMMIT WORK.

MOVE gv_pr_number TO gs_conditions-pr_number.

*

CALL FUNCTION 'CRM_GUID_CREATE'

IMPORTING

ev_guid = gs_conditions1-varnumh.

.

gs_conditions1-client = sy-mandt.

gs_conditions1-kopos = '001'.

gs_conditions1-kschl = 'ZIN1'.

gs_conditions1-kbetr = ' 12.00'.

gs_conditions1-konwa = 'USD'.

gs_conditions1-kpein = ' 1'.

gs_conditions1-kmein = 'EA'.

gs_conditions1-krech = 'C'.

gs_conditions1-kvewe = 'PR'.

gs_conditions1-kotabnr = 'ZIN_TAB1'.

gs_conditions1-product = gv_product_guid.

gs_conditions1-kschl_supp = 'ZIN1'.

gs_conditions1-kappl = 'CRM'.

  • gs_conditions1-stfkz = '' .

gs_conditions1-/sapcnd/mnt_is_archived = 'X'.

gs_conditions1-supp_exist = 'X'.

gs_conditions1-scale_dim = '00'.

gs_conditions1-release_status = 'x'.

gs_conditions1-mnt_ow_error_by_cond_rec = 'X'.

  • gs_conditions1-mnt_ow_error_by_relation = ''.

  • gs_conditions1-mnt_ow_exists_at_db = 'X'.

gs_conditions1-mnt_ow_maint_mode_on_select = 'B'.

  • gs_conditions1-mnt_ow_result = ''.

gs_conditions1-dbaction_supp = 'N'.

gs_conditions1-dbaction_tabl = 'I'.

gs_conditions1-tte_logsys = gv_logsys.

  • gs_conditions1-product_ref_guid = gv_product_guid.

gs_conditions1-timestamp_from = '20071012000000'. " gv_valid_from.

gs_conditions1-timestamp_to = '99991231235959'.

APPEND gs_conditions1 TO gs_conditions-cnd_crm_working_set.

APPEND gs_conditions TO gt_conditions.

  • CLEAR : gs_conditions2,gs_conditions.

APPEND gs_set_typ TO gt_set_typ.

CLEAR gs_set_typ.

CALL FUNCTION 'COM_PRODUCT_FREE_API'.

DATA : et_bapireturn TYPE bapiret2_tab,

lt_product TYPE comt_product_maintain_api_extt,

ls_product TYPE comt_product_maintain_api_ext.

ls_product-header = gs_product_api.

MOVE gs_conditions TO ls_product-conditions .

APPEND ls_product TO lt_product.

CLEAR gs_conditions.

DATA : cv_save TYPE comt_boolean VALUE ' '.

CALL FUNCTION 'COM_PROD_MATERIAL_MAINTAIN_API'

EXPORTING

it_product = gt_product_api

iv_suppress_inactive = 'X'

it_set = gt_set_typ

iv_commit_work = 'X'

iv_update_task = 'X'

  • iv_enqueue_mode = 'E'

iv_activate_inactive_products = 'X'

IMPORTING

et_bapireturn = gt_bapireturn.

IF sy-subrc = 0.

CALL FUNCTION 'COM_PRODUCT_MAINT_CONDITIONS'

EXPORTING

it_product = lt_product

IMPORTING

et_bapireturn = et_bapireturn

CHANGING

cv_save = cv_save.

  • Commit the BAPI

COMMIT WORK.

Former Member
0 Kudos

HI,shilpi agarwal :

There are 2 FMs can maintain conditions :

COM_PRODUCT_MAINT_CONDITIONS

CRMXIF_COND_REC_SLIM_SAVE

but there are some problems to solve

The first FM maybe go hand in hand with the FM COM_PRODUCT_MAINTAIN_MULT_API