Skip to Content
0
Feb 18, 2011 at 10:27 PM

Run time error in program SAPLJ_1B_NFE

157 Views

Boa tarde pessoal, estou fazendo os testes da NF-e 2.0 e após a ativação da 2.0 na execução da VF01 acontece Short Dump no programa SAPLJ_1B_NFE o erro esta relacionado com converção de numeros "CONVT_NO_NUMBER", se desativar a NFe 2.0 o programa funciona normalmente, segue os detalhes e obrigado pela atenção.

O erro esta relacionado com tarefa J_1B_NFE_CREATE_CHECK_DIGIT, eu fiz uma checagem no programa e ele esta somando C_ACCKEY e uma variavel lv_index(1) tendo como resultado a letrna N ao invés de valor numérico, segue os valores encontrados.

C_ACCKEY = 4111026128664700011655001000002887N34334053

LV_INDEX = 34

Resultado = N

Obs: percebi que tem um N no meio da C_ACCKEY, talvez a C_ACCKEY esteja sendo preenchida incorretamente.

Segue o código com a linha com problema em negrito.

4 *" CHANGING

5 *" REFERENCE(C_ACCKEY) TYPE J_1B_NFE_ACCESS_KEY

6 *"----

-


7

8 * for building the access key every byte of the access key is

9 * multiplied by a value between 2 and 9 starting from right to left.

10 *

11 * access key: 5 2 0 6043300991100250655012000000780026730161

12 * multiplied by 4 3 2 9876543298765432987654329876543298765432

13 * -

-


14 * result: 20 6 0

15 *

16 * each cell of the resuld is summed and the sum divided by MOD 11

17

18 DATA: lv_index TYPE i VALUE 43,

19 lv_step TYPE i VALUE 1,

20 lv_value TYPE i,

21 lv_total TYPE i,

22 lv_cd TYPE i.

23

24 DO 43 TIMES.

25 ADD 1 TO lv_step.

26 IF lv_step > 9.

27 lv_step = 2.

28 ENDIF.

29

30 lv_index = lv_index - 1.

31

32 *** CHECK lv_index > 0.

33

>> lv_value = c_acckey+lv_index(1).

35

36 lv_value = lv_value * lv_step.

Att,

Marcelo Borini