Módulo: DOC. IMPORTAÇÃO
Funcionalidade: PLI
Data/Hora da Publicação: 28/02/2014 10:04:43
Data/Hora Última Alteração: 28/02/2014 10:04:43
Descrição da Nota: AJUSTES PARA TRATAMENTO DE TRANSMISSÃO PLI
Sintoma
Ajustes para tratamento de transmissão PLI
Solução
Ajustado programa para ajustar transferencia de dados para o Siscomex (casos de USO Proprio) e
fechamento de campos da LI e PLI quando já registradas.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12259 Data: 31/05/2012 Hora: 15:52:00
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12259
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00011
Agrupamento : 00116
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
12255 - 00001 - 8.0 - 00011 - AJUSTES PARA TRANSMISSÃO SUFRAMA PLI
----------------------------------------------------------------------------------------------------
AJUSTES PARA TRATAMENTO DE TRANSMISSÃO PLI
----------------------------------------------------------------------------------------------------
Palavras Chave:
TRANSMISSÃO - PLI - SUFRAMA
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_TRANSFER_PLI
REPS /PWS/MZYCI020F01
REPS /PWS/MZYCI020O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSFER_PLI
...
LOOP AT li_itens.
v_tabix = sy-tabix.
READ TABLE li_itens_add WITH KEY nrseqli = li_itens-nrseqli
ebeln = li_itens-ebeln
ebelp = li_itens-ebelp.
IF sy-subrc EQ 0.
li_itens-txt_curto = li_itens-espec_tecnica.
li_itens-espec_tecnica = li_itens_add-txt_curto.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSFER_PLI
li_itens-umdesc = li_itens-meins .
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_PLI
IF li_itens-txt_curto IS INITIAL and
li_cabec-APLICPLI eq '2'.
li_itens-txt_curto = li_itens-espec_tecnica .
ENDIF.
SELECT SINGLE descr FROM /pws/zyglt204 INTO li_itens-umdesc
WHERE msehi EQ li_itens-meins .
* << Fim da inclusão
MODIFY li_itens INDEX v_tabix.
ENDIF.
ENDLOOP.
IF NOT li_itens[] IS INITIAL.
SELECT * FROM /pws/zycit080 INTO TABLE it_fornec
FOR ALL ENTRIES IN li_itens
WHERE nrseqli EQ li_itens-nrseqli.
ENDIF.
...
...
li_mercad-text1 = v_obs+0(253).
li_mercad-text2 = v_obs+253(253).
ENDIF.
li_mercad-fabric = li_itens-fabric.
li_mercad-codsufra = li_itens-codsufra.
IF li_mercad-fabric EQ '1'.
READ TABLE li_forn_a WITH KEY nrseqli = li_itens-nrseqli
ebeln = li_itens-ebeln
ebelp = li_itens-ebelp.
IF sy-subrc EQ 0.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSFER_PLI
li_mercad-cd_fabric = li_forn_a-nrforn.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_PLI
CLEAR li_mercad-cd_fabric .
* << Fim da inclusão
li_mercad-cd_fornec = li_forn_a-nrforn.
li_mercad-cd_pais_orig = li_forn_a-landa.
ENDIF.
ELSEIF li_mercad-fabric EQ '2'.
READ TABLE li_forn_a WITH KEY nrseqli = li_itens-nrseqli
ebeln = li_itens-ebeln
ebelp = li_itens-ebelp.
IF sy-subrc EQ 0.
li_mercad-cd_fornec = li_forn_a-nrforn.
li_mercad-cd_pais_orig = li_forn_a-landa.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F01
...
CASE sy-dynnr.
WHEN '0109'.
* >> Início da inclusão: FORM MODO_EXIB
LOOP AT SCREEN.
IF screen-name EQ '%#AUTOTEXT002'.
IF ( sy-tcode EQ '/PWS/ZYCI020_C' OR
sy-tcode EQ '/PWS/ZYCI020_A' ) AND
( NOT v_nrpli IS INITIAL OR
NOT v_dtreg IS INITIAL ) .
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
* << Fim da inclusão
CLEAR v_ncm.
LOOP AT tc_item-cols INTO wa_cols.
IF wa_cols-screen-name EQ '/PWS/ZYCIE376-NRSEQD'.
IF v_nvinc NE 'X'.
wa_cols-invisible = 1.
ELSE.
wa_cols-invisible = 0.
ENDIF.
MODIFY tc_item-cols FROM wa_cols.
ELSEIF wa_cols-screen-name EQ '/PWS/ZYCIE079-STEUC1'.
...
...
wa_cols-screen-input = 0.
MODIFY tc_item-cols FROM wa_cols.
ENDIF.
ENDLOOP.
WHEN '0120' .
IF ( not v_nrpli IS INITIAL AND
not v_dtreg IS INITIAL ) .
top_editmode = '1'.
CALL METHOD editor2->set_readonly_mode EXPORTING
readonly_mode = top_editmode.
* >> Início da inclusão: FORM MODO_EXIB
ENDIF.
WHEN '0502' .
LOOP AT SCREEN.
IF screen-name EQ 'BTN_DLIT'.
IF ( sy-tcode EQ '/PWS/ZYCI020_G' OR
sy-tcode EQ '/PWS/ZYCI020_I' ) AND
( NOT v_nrpli IS INITIAL OR
NOT v_dtreg IS INITIAL ) .
screen-input = '0'.
MODIFY SCREEN.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM MODO_EXIB
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDCASE.
ENDFORM.
...
...
CLEAR v_texto.
IF ( /pws/zycie078-fabricante = '1' OR
/pws/zycie078-fabricante = '2' )
AND it_zycit079-lifnr IS INITIAL.
CONCATENATE text-367 text-372 it_zycit079-ebeln '/'
it_zycit079-ebelp text-375 INTO v_texto
SEPARATED BY space.
PERFORM monta_it_precritica USING
v_texto '@0A@' '' text-331.
ENDIF.
* >> Início da inclusão: FORM CARREGA_PRE_CRITICA_PLI
IF NOT /pws/zycie078-aplicpli EQ '2'.
* << Fim da inclusão
IF it_zycit079-destaque IS INITIAL
AND NOT it_zycit079-matnr IS INITIAL.
CONCATENATE text-371 text-372 it_zycit079-ebeln text-373
it_zycit079-ebelp INTO v_texto SEPARATED BY space.
PERFORM monta_it_precritica USING
v_texto '@0A@' '' text-331.
ENDIF.
CLEAR v_texto.
* >> Início da inclusão: FORM CARREGA_PRE_CRITICA_PLI
ENDIF.
* << Fim da inclusão
SPLIT it_zycit079-steuc1 AT '.'
INTO v_steuc_temp1 v_steuc_temp2
v_steuc_temp3.
SHIFT v_steuc_temp1 LEFT DELETING LEADING space.
SHIFT v_steuc_temp2 LEFT DELETING LEADING space.
SHIFT v_steuc_temp3 LEFT DELETING LEADING space.
CONCATENATE v_steuc_temp1 v_steuc_temp2 v_steuc_temp3 INTO
v_steuc2.
IF NOT it_zycit079-matnr IS INITIAL.
* >> Início da inclusão: FORM CARREGA_PRE_CRITICA_PLI
IF NOT /pws/zycie078-aplicpli EQ '2'.
* << Fim da inclusão
SELECT * FROM /pws/zycit219 INTO TABLE itab_zycit219
WHERE codigo = it_zycit079-codsufra
AND ncm = it_zycit079-steuc1
AND destaque = it_zycit079-destaque.
READ TABLE itab_zycit219 INDEX 1.
IF sy-subrc NE 0.
CONCATENATE text-377 it_zycit079-ebeln '/' it_zycit079-ebelp
text-378 INTO v_texto SEPARATED BY space.
PERFORM monta_it_precritica USING
v_texto '@0A@' '' text-331.
* >> Início da inclusão: FORM CARREGA_PRE_CRITICA_PLI
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDLOOP.
SORT it_zycit079 BY nrseq ebeln ebelp.
...
...
LOOP AT it_zycit079 WHERE steuc1 IS initial.
PERFORM monta_it_precritica USING
text-337 '' it_zycit079-steuc1 ''.
EXIT.
ENDLOOP.
* >> Início da inclusão: FORM CARREGA_PRE_CRITICA_PLI
IF NOT /pws/zycie078-aplicpli EQ '2'.
* << Fim da inclusão
READ TABLE it_zycit079 WITH KEY zum = ''.
IF sy-subrc = 0.
PERFORM monta_it_precritica USING
text-340 '' it_zycit079-zum ''.
ELSE.
PERFORM monta_it_precritica USING
text-340 '' it_zycit079-zum ''.
ENDIF.
READ TABLE it_zycit079 WITH KEY qtdest = ''.
IF sy-subrc = 0.
PERFORM monta_it_precritica USING
text-341 '' it_zycit079-qtdest ''.
ELSE.
PERFORM monta_it_precritica USING
text-341 '' it_zycit079-qtdest ''.
* >> Início da inclusão: FORM CARREGA_PRE_CRITICA_PLI
ENDIF.
* << Fim da inclusão
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020O01
...
CHECK sy-ucomm NE 'MKTD'.
CHECK sy-ucomm NE 'DKTD'.
IF ( sy-tcode EQ '/PWS/ZYCI020_G' OR
sy-tcode EQ '/PWS/ZYCI020_I') .
SELECT SINGLE nrpli dtreg FROM /pws/zycit078
INTO (v_nrpli, v_dtreg)
WHERE nrseqli = /pws/zycie078-nrseqli.
ELSEIF ( sy-tcode EQ '/PWS/ZYCI020_C' OR
sy-tcode EQ '/PWS/ZYCI020_A') AND
NOT /pws/zycie078-numpli IS INITIAL.
* >> Início da exclusão: MODULE LOAD_DATA
SELECT SINGLE nrpli dtreg FROM /pws/zycit078
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_DATA
SELECT SINGLE nrli dtreg FROM /pws/zycit078
* << Fim da inclusão
INTO (v_nrpli, v_dtreg)
WHERE nrseqli = /pws/zycie078-nrseqli.
ENDIF.
IF flag_emp IS INITIAL.
GET PARAMETER ID 'BUK' FIELD v_emp.
flag_emp = 'X'.
ENDIF.
IF v_tcode EQ '/PWS/ZYCI020_C' OR
v_tcode EQ '/PWS/ZYCI020_P'.
CLEAR v_linhas.
...