2010 Mar 09 12:20 PM
Hallo experts,
I need help on creating / changing conditions in inforecords (in ME12 transaction) using RV_CONDITION_COPY .
Please help.
Thanks in advance.
Matt
2010 Mar 09 1:36 PM
Check if the below code can help you: U can try like this CONSTANTS: CON_A(1) TYPE C VALUE 'A', CON_B(1) TYPE C VALUE 'B', CON_C TYPE C VALUE 'C', CON_D TYPE C VALUE 'D', CON_E TYPE C VALUE 'E', CON_F TYPE C VALUE 'F', CON_G TYPE C VALUE 'G', CON_K TYPE C VALUE 'K', CON_T TYPE C VALUE 'T', CON_S(1) TYPE C VALUE 'S', CON_V LIKE T681A-KAPPL VALUE 'V', CON_X TYPE C VALUE 'x', CON_XX TYPE C VALUE 'X', CON_T074 LIKE T681-KOTABNR VALUE '074', CON_PREF LIKE T685A-KSCHL VALUE 'PREF', CON_ULTIMO LIKE RV13A-DATAB VALUE '99991231', CON_DATA_LOG_NAME(8) TYPE C VALUE 'PREF', CON_ERROR_LOG_NAME(8) TYPE C VALUE 'ERROR', CON_CUSTOM_LOG_NAME(8) TYPE C VALUE 'P_CUSTOM'. * Verkaufsmengeneinheit PERFORM f3_vkme_ermitteln. * Hauswährung IF t001w-werks NE cstmat-werks. PERFORM f3_waehrung_ermitteln USING cstmat-werks. ENDIF. * pro Zollgebiet Konditionssatz anlegen LOOP AT t_matwerte. CHECK t_matwerte-noupd_cond IS INITIAL. CLEAR: komk, komp, komg, w_komv. REFRESH w_komv. * Schlüssel füllen komg-werks = w_marc-werks. komg-matnr = w_marc-matnr. komg-gzolx = t_matwerte-gzolx. komg-land1 = t001w-land1. "101298 * Preisinfo füllen w_komv-kappl = 'V '. w_komv-kschl = con_pref. IF t_matwerte-kp = kp_max. w_komv-kpein = 1. MOVE kp_max TO w_komv-kbetr. ELSE. w_komv-kpein = pm_peinh. COMPUTE w_komv-kbetr = t_matwerte-kp * pm_peinh / hlp_ameng. ENDIF. IF w_komv-kbetr = 0. COMPUTE w_komv-kbetr = 1 / 100 * -1. ENDIF. w_komv-waers = t001-waers. w_komv-kmein = hlp_ame. APPEND w_komv. CHECK f3_kz_update_cond IS INITIAL OR NOT pm_simu IS INITIAL. IF NOT pm_mdmps IS INITIAL. MOVE komg-werks TO bg_kond-werks. MOVE komg-matnr TO bg_kond-matnr. MOVE komg-gzolx TO bg_kond-gzolx. MOVE w_komv-kpein TO bg_kond-kpein. MOVE w_komv-kbetr TO bg_kond-kbetr. MOVE w_komv-kmein TO bg_kond-kmein. MOVE w_komv-waers TO bg_kond-waers. *{ REPLACE D20K904946 1 * APPEND bg_kond. * Siemens: Fehlerkorektur SAP-Standard READ TABLE BG_KOND TRANSPORTING NO FIELDS WITH KEY WERKS = BG_KOND-WERKS MATNR = BG_KOND-MATNR GZOLX = BG_KOND-GZOLX BINARY SEARCH. INSERT BG_KOND INDEX SY-TABIX. *} REPLACE ENDIF. CHECK f3_kz_update_cond IS INITIAL. CALL FUNCTION 'RV_CONDITION_COPY' EXPORTING application = con_v condition_table = con_t074 "Konditionstabelle condition_type = con_pref "Konditionsart date_from = sy-datlo "Von jetzt an date_to = con_ultimo "Bis Ultimo enqueue = 'X' "Sperren ist besser i_komk = komk i_komp = komp key_fields = komg "Schlüssel maintain_mode = 'A' "Lieber A als B no_authority_check = 'X' "X wie nix keep_old_records = ' ' OVERLAP_CONFIRMED = 'X' IMPORTING e_komk = komk e_komp = komp new_record = i_new_record TABLES copy_records = w_komv EXCEPTIONS enqueue_on_record = 01 invalid_application = 02 invalid_condition_number = 03 invalid_condition_type = 04 no_authority_ekorg = 05 no_authority_kschl = 06 no_authority_vkorg = 07 no_selection = 08 table_not_valid = 09. CASE sy-subrc. WHEN 0. WHEN OTHERS. * MESSAGE A??? ENDCASE. CALL FUNCTION 'RV_CONDITION_SAVE'. CALL FUNCTION 'RV_CONDITION_RESET'. ENDLOOP.
Hallo experts,
I need help on creating / changing conditions in inforecords (in ME12 transaction) using RV_CONDITION_COPY .
Please help.
Thanks in advance.
Matt
2010 Mar 09 1:36 PM
Check if the below code can help you: U can try like this CONSTANTS: CON_A(1) TYPE C VALUE 'A', CON_B(1) TYPE C VALUE 'B', CON_C TYPE C VALUE 'C', CON_D TYPE C VALUE 'D', CON_E TYPE C VALUE 'E', CON_F TYPE C VALUE 'F', CON_G TYPE C VALUE 'G', CON_K TYPE C VALUE 'K', CON_T TYPE C VALUE 'T', CON_S(1) TYPE C VALUE 'S', CON_V LIKE T681A-KAPPL VALUE 'V', CON_X TYPE C VALUE 'x', CON_XX TYPE C VALUE 'X', CON_T074 LIKE T681-KOTABNR VALUE '074', CON_PREF LIKE T685A-KSCHL VALUE 'PREF', CON_ULTIMO LIKE RV13A-DATAB VALUE '99991231', CON_DATA_LOG_NAME(8) TYPE C VALUE 'PREF', CON_ERROR_LOG_NAME(8) TYPE C VALUE 'ERROR', CON_CUSTOM_LOG_NAME(8) TYPE C VALUE 'P_CUSTOM'. * Verkaufsmengeneinheit PERFORM f3_vkme_ermitteln. * Hauswährung IF t001w-werks NE cstmat-werks. PERFORM f3_waehrung_ermitteln USING cstmat-werks. ENDIF. * pro Zollgebiet Konditionssatz anlegen LOOP AT t_matwerte. CHECK t_matwerte-noupd_cond IS INITIAL. CLEAR: komk, komp, komg, w_komv. REFRESH w_komv. * Schlüssel füllen komg-werks = w_marc-werks. komg-matnr = w_marc-matnr. komg-gzolx = t_matwerte-gzolx. komg-land1 = t001w-land1. "101298 * Preisinfo füllen w_komv-kappl = 'V '. w_komv-kschl = con_pref. IF t_matwerte-kp = kp_max. w_komv-kpein = 1. MOVE kp_max TO w_komv-kbetr. ELSE. w_komv-kpein = pm_peinh. COMPUTE w_komv-kbetr = t_matwerte-kp * pm_peinh / hlp_ameng. ENDIF. IF w_komv-kbetr = 0. COMPUTE w_komv-kbetr = 1 / 100 * -1. ENDIF. w_komv-waers = t001-waers. w_komv-kmein = hlp_ame. APPEND w_komv. CHECK f3_kz_update_cond IS INITIAL OR NOT pm_simu IS INITIAL. IF NOT pm_mdmps IS INITIAL. MOVE komg-werks TO bg_kond-werks. MOVE komg-matnr TO bg_kond-matnr. MOVE komg-gzolx TO bg_kond-gzolx. MOVE w_komv-kpein TO bg_kond-kpein. MOVE w_komv-kbetr TO bg_kond-kbetr. MOVE w_komv-kmein TO bg_kond-kmein. MOVE w_komv-waers TO bg_kond-waers. *{ REPLACE D20K904946 1 * APPEND bg_kond. * Siemens: Fehlerkorektur SAP-Standard READ TABLE BG_KOND TRANSPORTING NO FIELDS WITH KEY WERKS = BG_KOND-WERKS MATNR = BG_KOND-MATNR GZOLX = BG_KOND-GZOLX BINARY SEARCH. INSERT BG_KOND INDEX SY-TABIX. *} REPLACE ENDIF. CHECK f3_kz_update_cond IS INITIAL. CALL FUNCTION 'RV_CONDITION_COPY' EXPORTING application = con_v condition_table = con_t074 "Konditionstabelle condition_type = con_pref "Konditionsart date_from = sy-datlo "Von jetzt an date_to = con_ultimo "Bis Ultimo enqueue = 'X' "Sperren ist besser i_komk = komk i_komp = komp key_fields = komg "Schlüssel maintain_mode = 'A' "Lieber A als B no_authority_check = 'X' "X wie nix keep_old_records = ' ' OVERLAP_CONFIRMED = 'X' IMPORTING e_komk = komk e_komp = komp new_record = i_new_record TABLES copy_records = w_komv EXCEPTIONS enqueue_on_record = 01 invalid_application = 02 invalid_condition_number = 03 invalid_condition_type = 04 no_authority_ekorg = 05 no_authority_kschl = 06 no_authority_vkorg = 07 no_selection = 08 table_not_valid = 09. CASE sy-subrc. WHEN 0. WHEN OTHERS. * MESSAGE A??? ENDCASE. CALL FUNCTION 'RV_CONDITION_SAVE'. CALL FUNCTION 'RV_CONDITION_RESET'. ENDLOOP.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |