Escolar Documentos
Profissional Documentos
Cultura Documentos
A SAP vem atualizando as versões das notas que influenciam na partilha quase que diariamente e isso gerou diferenças
entre os clientes. Do modo abaixo, o sistema funciona e a partilha é calculada se todas as conditions e formulas descritas
nos steps manuais a serem feitos pelo consultor funcional estiverem corretas.
Conferir se o código está igual ao arquivo “Method CALCULATE_ICMS_PARTILHA” em anexo. Caso não esteja igual
checar se as notas relacionadas no código do arquivo em anexo estão todas aplicadas na sua última versão.
4) Depois disso dar duplo clique na linha que estiver com o método Calculate, no caso abaixo é na linha 33:
irá abrir o método Calculate, comparar o código com o do arquivo “Method Calculate” em anexo. Caso não esteja
igual checar se as notas relacionadas no código do arquivo em anexo estão todas aplicadas na sua última versão.
5) Se todas as notas estiverem aplicadas e o código não estiver igual. Transportar assim mesmo e verificar se está
funcionando. Se não estiver, verificar se as pricings estão corretamente configuradas com os passos manuais das
notas SAP. Se estiverem, abrir chamado na SAP, se não tivermos essa opção de abrir o chamado alterar o código
manualmente para os códigos em anexo (Caso tenha que fazer isso, use a Uster como exemplo para criar objetos ou
qualquer outro problema).
METHOD CALCULATE.
DATA:
lv_difal_rate TYPE mty_tax,
lv_dest_icms_rate TYPE mty_tax,
* lv_dest_icms_red TYPE mty_tax, "2262327
lv_dest_icms_rate_red TYPE mty_tax,
lv_orig_icms_rate_red TYPE mty_tax,
lv_orig_partilha_rate TYPE mty_tax,
lv_dest_partilha_rate TYPE mty_tax,
lv_special_fund_rate_red TYPE mty_tax.
ENDMETHOD.
METHOD CALCULATE_ICMS_PARTILHA.
DATA:
lv_gross_price TYPE cl_j_1b_icms_partilha=>mty_tax,
lv_icmsrate TYPE cl_j_1b_icms_partilha=>mty_tax,
lv_icmsamt TYPE cl_j_1b_icms_partilha=>mty_tax,
lv_is_exempt TYPE abap_bool. "2283474
* CT-e
IF check_cte_active( ) <> 'X'.
lv_icmsrate = ms_tax_data-icmsnormrate.
lv_icmsamt = ms_tax_result-icms_amt.
ELSE.
* Only activate partilha for ICMS scenarios "2248752
CHECK check_icms_active( ) = 'X'. "2248752
* Casting
lv_gross_price = iv_gross_price.
cl_j_1b_icms_partilha=>calculate(
EXPORTING
iv_gross_price = lv_gross_price
iv_orig_icms_red = ms_tax_data-icmsbase
iv_orig_icms_rate = lv_icmsrate
iv_orig_icms_amount = lv_icmsamt
iv_dest_icms_red = ms_tax_data-icmsbase_intra
iv_dest_icms_rate = ms_tax_data-icmsrate_intra
iv_exemption = lv_is_exempt "2283474
is_komk = is_komk
is_komp = is_komp
it_komv = it_komv
IMPORTING
ev_orig_partilha_base = ms_tax_result-icms_orig_part_base
ev_orig_partilha_ebase = ms_tax_result-icms_orig_part_exc "2273938
ev_orig_partilha_rate = ms_tax_result-icms_orig_part_rate
ev_orig_partilha_amount = ms_tax_result-icms_orig_part_amt
ev_dest_partilha_base = ms_tax_result-icms_dest_part_base
ev_dest_partilha_ebase = ms_tax_result-icms_dest_part_exc "2273938
ev_dest_partilha_rate = ms_tax_result-icms_dest_part_rate
ev_dest_partilha_amount = ms_tax_result-icms_dest_part_amt
).
ENDMETHOD.