Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Introdução
Neste documento, iremos descrever a utilização da função Pricing dentro de uma fórmula
de valor de condição, recuperando os valores necessários para o cálculo do ICMS por
dentro.
A ideia consiste na criação de uma nova condição (ZCMI, por exemplo), que receberá o
valor do ICMS que fará parte da formação de preço de partida.
1. Criação da condição ZCMI: esta condição deverá ser do tipo A (Sumpl. Ou deduções e
não poderá ser processada manualmente):
Material confidencial. Uso interno. Reprodução não autorizada. Impressão: 21/12/2017 16:34 Página: 1 de 6
One Point Lesson SD-2013-
Este esquema de cálculo deverá ser criado com cópia do esquema já existente, salvo que
deverá ser removida a referência da fórmula.
Esquema de cálculo criado com cópia e sem referência a fórmula que chamará a função
Pricing:
3. Chamada da função Pricing para recuperação de valores e cálculo do ICMS por dentro.
Alguns detalhes importantes sobre o código a seguir:
a) A função Pricing deverá ser chamada em uma nova sessão, anulando o risco da
modificação de variáveis globais;
b) Após a chamada da função Pricing, alguns valores são extraídos da KOMV que
possui as condições do esquema de cálculo auxiliar. Estas condições são
passadas como parâmetro para a função
ZSD_APL_CALC_FORMULA_<NUM_FORMULA>. O cálculo é realizado dentro
desta chamada de função evitando problemas de arredondamentos e possíveis
tratamentos que são frequentes em fórmulas.
FORM FRM_KONDI_WERT_<NUM_FORMULA>.
DATA:
tl_komv TYPE STANDARD TABLE OF komv.
DATA:
wl_komk TYPE komk,
wl_komp TYPE komp,
wl_komv TYPE komv,
wl_komv_z101 TYPE komv,
wl_komv_z273 TYPE komv,
Material confidencial. Uso interno. Reprodução não autorizada. Impressão: 21/12/2017 16:34 Página: 2 de 6
One Point Lesson SD-2013-
wl_komv_zfpe TYPE komv,
wl_komv_BXZF TYPE komv,
wl_komv_BX10 TYPE komv,
wl_komv_icbs TYPE komv.
DATA:
vl_calculation_type TYPE komv-ksteu VALUE 'B',
vl_kschl TYPE komv-kschl VALUE 'BX13',
vl_kalsm TYPE komk-kalsm VALUE 'ZBRAS6',
vl_kbetr TYPE komv-kbetr,
vl_kwert TYPE komv-kwert.
Material confidencial. Uso interno. Reprodução não autorizada. Impressão: 21/12/2017 16:34 Página: 3 de 6
One Point Lesson SD-2013-
READ TABLE tl_komv INTO wl_komv_z273
WITH KEY kschl = 'Z273'.
*} INSERT
ENDFORM.
Material confidencial. Uso interno. Reprodução não autorizada. Impressão: 21/12/2017 16:34 Página: 4 de 6
One Point Lesson SD-2013-
FUNCTION zsd_apc_calc_formula_<NUM_FORMULA>.
TYPES:
BEGIN OF tp_mbew,
matnr TYPE mbew-matnr,
bwkey TYPE mbew-bwkey,
bwtar TYPE mbew-bwtar,
ownpr TYPE mbew-ownpr,
END OF tp_mbew.
DATA:
wl_mbew TYPE tp_mbew.
* Coeficiente de cálculo
vl_res_kbetr = 1 - iv_kbetr.
IFsy-subrc = 0.
e_xkwert = vl_res_final - vl_base_reduz.
ENDIF.
ENDIF.
ENDIF.
ENDFUNCTION.
Material confidencial. Uso interno. Reprodução não autorizada. Impressão: 21/12/2017 16:34 Página: 6 de 6