Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 22/02/2013 11:58:04
Data/Hora Última Alteração: 22/02/2013 11:58:04
Descrição da Nota: NA MENSAGEM DA NF JUNTAR PEDIDOS E ITENS PARA O MESMO ATO
Sintoma
Quando os pedidos e itens forem do mesmo ato concessório favor ajustar para que leve pedido tal do
item tal ao tal/ nº ato concessório. Isto quando for do mesmo pedido e ato.
Solução
Desenvolver conforme especificação.
9.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12813 Data: 21/02/2013 Hora: 15:41:32
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12813
Categoria : Melhoria
Prioridade : Baixa
Versão PW.CE : 9.0
Pacote : 00003
Agrupamento : 00148
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
----------------------------------------------------------------------------------------------------
NA MENSAGEM DA NF JUNTAR PEDIDOS E ITENS PARA O MESMO ATO
----------------------------------------------------------------------------------------------------
Palavras Chave:
NOTA FISCAL - ATO CONCESSÓRIO - JUNTAR PEDIDO E ITEM
DESENVOLVIMENTO ADICIONAL
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
FORM mensagens_nf.
* >> Início da inclusão: FORM MENSAGENS_NF
DATA: lv_reg TYPE /pws/zycit078-reg_drawback,
lv_ebeln TYPE /pws/zycit003-ebeln,
lv_inicial TYPE /pws/zycit003-ebelp,
lv_final TYPE /pws/zycit003-ebelp.
DATA: BEGIN OF lt_ato OCCURS 0,
ebeln TYPE /pws/zycit003-ebeln,
ebelp TYPE /pws/zycit003-ebelp,
reg_drawback TYPE /pws/zycit078-reg_drawback,
END OF lt_ato.
* << Fim da inclusão
...
...
ENDLOOP.
SELECT SINGLE * FROM /pws/zycit479
WHERE tpnf EQ itab_zycit042_mark-tpnf.
IF sy-subrc EQ 0.
it_zycee006-msg = /pws/zycit479-text1.
APPEND it_zycee006.
it_zycee006-msg = /pws/zycit479-text2.
APPEND it_zycee006.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM MENSAGENS_NF
IF NOT itab_zycit003_mark[] IS INITIAL.
CLEAR: itab_zycit078, itab_zycit078[], lt_ato[], lt_ato.
SELECT * FROM /pws/zycit078
INTO TABLE itab_zycit078
FOR ALL ENTRIES IN itab_zycit003_mark
WHERE nrseqli = itab_zycit003_mark-nrseqli
AND ( tpli = 'N' OR tpli = 'S' ).
LOOP AT itab_zycit003_mark.
CLEAR: lt_ato, itab_zycit078.
READ TABLE itab_zycit078 WITH KEY
nrseqli = itab_zycit003_mark-nrseqli.
lt_ato-ebeln = itab_zycit003_mark-ebeln.
lt_ato-ebelp = itab_zycit003_mark-ebelp.
lt_ato-reg_drawback = itab_zycit078-reg_drawback.
APPEND lt_ato.
ENDLOOP.
SORT lt_ato.
CLEAR: lv_reg, lv_ebeln, lv_inicial.
LOOP AT lt_ato.
IF sy-tabix EQ 1.
lv_reg = lt_ato-reg_drawback.
lv_ebeln = lt_ato-ebeln.
lv_inicial = lt_ato-ebelp.
lv_final = lt_ato-ebelp.
ELSEIF lv_reg IS INITIAL AND
lv_reg NE lt_ato-reg_drawback.
lv_reg = lt_ato-reg_drawback.
lv_ebeln = lt_ato-ebeln.
lv_inicial = lt_ato-ebelp.
lv_final = lt_ato-ebelp.
ELSE.
IF lv_reg NE lt_ato-reg_drawback OR
lv_ebeln NE lt_ato-ebeln.
IF lv_inicial EQ lv_final.
it_zycee006-msg = 'Pedido'.
CONCATENATE it_zycee006-msg lv_ebeln INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg lv_inicial INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' INTO
it_zycee006-msg SEPARATED BY ' / '.
CONCATENATE it_zycee006-msg lv_reg INTO it_zycee006-msg
SEPARATED BY '-' .
ELSE.
it_zycee006-msg = 'Pedido'.
CONCATENATE it_zycee006-msg lv_ebeln INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg lv_inicial INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg lv_final INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' INTO
it_zycee006-msg SEPARATED BY ' / '.
CONCATENATE it_zycee006-msg lv_reg INTO it_zycee006-msg
SEPARATED BY '-' .
ENDIF.
v_ind = v_ind + 1.
it_zycee006-indice = v_ind.
APPEND it_zycee006.
lv_reg = lt_ato-reg_drawback.
lv_ebeln = lt_ato-ebeln.
lv_inicial = lt_ato-ebelp.
lv_final = lt_ato-ebelp.
ELSE.
lv_final = lt_ato-ebelp.
ENDIF.
ENDIF.
ENDLOOP.
IF sy-subrc EQ 0 AND NOT lv_reg IS INITIAL.
IF lv_inicial EQ lv_final.
it_zycee006-msg = 'Pedido'.
CONCATENATE it_zycee006-msg lv_ebeln INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg lv_inicial INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' INTO
it_zycee006-msg SEPARATED BY ' / '.
CONCATENATE it_zycee006-msg lv_reg INTO it_zycee006-msg
SEPARATED BY '-' .
ELSE.
it_zycee006-msg = 'Pedido'.
CONCATENATE it_zycee006-msg lv_ebeln INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg lv_inicial INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg lv_final INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' INTO
it_zycee006-msg SEPARATED BY ' / '.
CONCATENATE it_zycee006-msg lv_reg INTO it_zycee006-msg
SEPARATED BY '-' .
ENDIF.
v_ind = v_ind + 1.
it_zycee006-indice = v_ind.
APPEND it_zycee006.
ENDIF.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM MENSAGENS_NF
LOOP AT itab_zycit003_mark.
IF NOT itab_zycit003_mark-nrseqd IS INITIAL.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = itab_zycit003_mark-nrseqli
AND ( tpli = 'N' OR tpli = 'S' ).
IF sy-subrc EQ 0.
it_zycee006-msg = 'Pedido'. "#EC NOTEXT
CONCATENATE it_zycee006-msg itab_zycit003_mark-ebeln
INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' "#EC NOTEXT
INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg itab_zycit003_mark-ebelp
INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' "#EC NOTEXT
INTO it_zycee006-msg
SEPARATED BY ' / ' . "space.
CONCATENATE it_zycee006-msg /pws/zycit078-reg_drawback
INTO it_zycee006-msg
SEPARATED BY '-' .
v_ind = v_ind + 1.
it_zycee006-indice = v_ind.
APPEND it_zycee006.
ENDIF.
ENDIF.
ENDLOOP.
* << Fim da exclusão
CLEAR itab_zycit042_mark[].
REFRESH itab_zycit042_mark[].
ENDFORM. " MENSAGENS_NF
...
...
FORM mensagens_nf_r.
* >> Início da inclusão: FORM MENSAGENS_NF_R
DATA: lv_reg TYPE /pws/zycit078-reg_drawback,
lv_ebeln TYPE /pws/zycit003-ebeln,
lv_inicial TYPE /pws/zycit003-ebelp,
lv_final TYPE /pws/zycit003-ebelp.
DATA: BEGIN OF lt_ato OCCURS 0,
ebeln TYPE /pws/zycit003-ebeln,
ebelp TYPE /pws/zycit003-ebelp,
reg_drawback TYPE /pws/zycit078-reg_drawback,
END OF lt_ato.
* << Fim da inclusão
...
...
CLEAR v_dif.
v_cont = v_cont + 1.
it_zycee006-indice = v_cont.
APPEND it_zycee006.
ENDIF.
ENDIF.
SELECT * FROM /pws/zycit078
INTO TABLE itab_zycit078
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseqli = itab_zycit003-nrseqli.
* >> Início da inclusão: FORM MENSAGENS_NF_R
CLEAR: lt_ato[], lt_ato.
LOOP AT itab_zycit003.
CLEAR: lt_ato, itab_zycit078.
READ TABLE itab_zycit078 WITH KEY
nrseqli = itab_zycit003-nrseqli.
lt_ato-ebeln = itab_zycit003-ebeln.
lt_ato-ebelp = itab_zycit003-ebelp.
lt_ato-reg_drawback = itab_zycit078-reg_drawback.
APPEND lt_ato.
ENDLOOP.
SORT lt_ato.
CLEAR: lv_reg, lv_ebeln, lv_inicial.
LOOP AT lt_ato.
IF sy-tabix EQ 1.
lv_reg = lt_ato-reg_drawback.
lv_ebeln = lt_ato-ebeln.
lv_inicial = lt_ato-ebelp.
lv_final = lt_ato-ebelp.
ELSEIF lv_reg IS INITIAL AND
lv_reg NE lt_ato-reg_drawback.
lv_reg = lt_ato-reg_drawback.
lv_ebeln = lt_ato-ebeln.
lv_inicial = lt_ato-ebelp.
lv_final = lt_ato-ebelp.
ELSE.
IF lv_reg NE lt_ato-reg_drawback OR
lv_ebeln NE lt_ato-ebeln.
IF lv_inicial EQ lv_final.
it_zycee006-msg = 'Pedido'.
CONCATENATE it_zycee006-msg lv_ebeln INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg lv_inicial INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' INTO
it_zycee006-msg SEPARATED BY ' / '.
CONCATENATE it_zycee006-msg lv_reg INTO it_zycee006-msg
SEPARATED BY '-' .
ELSE.
it_zycee006-msg = 'Pedido'.
CONCATENATE it_zycee006-msg lv_ebeln INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg lv_inicial INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg lv_final INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' INTO
it_zycee006-msg SEPARATED BY ' / '.
CONCATENATE it_zycee006-msg lv_reg INTO it_zycee006-msg
SEPARATED BY '-' .
ENDIF.
v_cont = v_cont + 1.
it_zycee006-indice = v_cont.
APPEND it_zycee006.
lv_reg = lt_ato-reg_drawback.
lv_ebeln = lt_ato-ebeln.
lv_inicial = lt_ato-ebelp.
lv_final = lt_ato-ebelp.
ELSE.
lv_final = lt_ato-ebelp.
ENDIF.
ENDIF.
ENDLOOP.
IF sy-subrc EQ 0 AND NOT lv_reg IS INITIAL.
IF lv_inicial EQ lv_final.
it_zycee006-msg = 'Pedido'.
CONCATENATE it_zycee006-msg lv_ebeln INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg lv_inicial INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' INTO
it_zycee006-msg SEPARATED BY ' / '.
CONCATENATE it_zycee006-msg lv_reg INTO it_zycee006-msg
SEPARATED BY '-' .
ELSE.
it_zycee006-msg = 'Pedido'.
CONCATENATE it_zycee006-msg lv_ebeln INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg lv_inicial INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg lv_final INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' INTO
it_zycee006-msg SEPARATED BY ' / '.
CONCATENATE it_zycee006-msg lv_reg INTO it_zycee006-msg
SEPARATED BY '-' .
ENDIF.
v_cont = v_cont + 1.
it_zycee006-indice = v_cont.
APPEND it_zycee006.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM MENSAGENS_NF_R
LOOP AT itab_zycit003.
READ TABLE itab_zycit078
WITH KEY nrseqli = itab_zycit003-nrseqli.
IF sy-subrc EQ 0.
it_zycee006-msg = 'Pedido'. "#EC NOTEXT
CONCATENATE it_zycee006-msg itab_zycit003-ebeln
INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' "#EC NOTEXT
INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg itab_zycit003-ebelp
INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' "#EC NOTEXT
INTO it_zycee006-msg
SEPARATED BY ' / ' . "space.
CONCATENATE it_zycee006-msg itab_zycit078-reg_drawback
INTO it_zycee006-msg
SEPARATED BY '-' .
v_cont = v_cont + 1.
it_zycee006-indice = v_cont.
APPEND it_zycee006.
ENDIF.
ENDLOOP.
* << Fim da exclusão
...