Módulo: DOC. IMPORTAÇÃO
Funcionalidade: PLI
Data/Hora da Publicação: 29/10/2013 00:00:00
Data/Hora Última Alteração: 01/11/2013 18:30:42
Descrição da Nota: ABRIR CAMPO DE FABRICANTE NA PLI PARA INFORMAR NÃO CADASTRADOS
Sintoma
Abrir campo de fabricante na PLI para informar Fabricantes não cadastrados no SAP
Solução
Fazer tratamento para salvar informações de fabricantes não cadastrados no SAP.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13363 Data: 29/10/2013 Hora: 14:56:08
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13363
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 9.0
Pacote : 00006
Agrupamento : 00166
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07601 - 00001 - 7.0 - 00007 - IMPLEMENTAÇÃO DA NAVEGABILIDADE NA LI, LSI E PLI
10420 - 00002 - 8.0 - 00004 - NA PLI AO COLOCAR ORGÃO ANUENTE PARA O ITEM DUPLICA PARA OS DEMAI
12255 - 00003 - 8.0 - 00011 - AJUSTES PARA TRANSMISSÃO SUFRAMA PLI
12259 - 00004 - 8.0 - 00011 - AAJUSTES PARA TRATAMENTO DE TRANSMISSÃO PLI
12308 - 00005 - 9.0 - 00001 - INCLUSÃO DE CAMPOS PARA INFORMAR O FABRICANTE.
13024 - 00006 - 9.0 - 00004 - ALTERAR A CHAVE DA TABELA /PWS/ZYCIT535
13044 - 00007 - 9.0 - 00004 - ALTERAR TIPO DO CAMPO COD SUFR = /PWS/ZYCIT535-NRFORN
13342 - 00008 - 9.0 - 00006 - DJAI PARA PROCESSOS LATAM - DESENVOLVIMENTO ADICIONAL
----------------------------------------------------------------------------------------------------
ABRIR CAMPO DE FABRICANTE NA PLI PARA INFORMAR NÃO CADASTRADOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
PLI - FABRICANTE - INFORMAÇÕES - CADASTRO SAP
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI020 0521
DYNP /PWS/SAPMZYCI020 0509
REPS /PWS/MZYCI020X01
REPS /PWS/MZYCI020O01
REPS /PWS/MZYCI020F01
REPS /PWS/MZYCI020I01
REPS /PWS/MZYCI020F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI020 0521
PROCESS AFTER INPUT.
FIELD : /pws/zycie079a-codsufra MODULE load_sufra ON REQUEST,
/pws/zycie079a-destaque MODULE load_suframa.
* >> Início da inclusão:
FIELD /pws/zycie079a-lifnr MODULE : load_forn ON REQUEST.
* << Fim da inclusão
FIELD /pws/zycie079a-fabric MODULE load_desc_fabr ON REQUEST.
* >> Início da exclusão:
FIELD /pws/zycie079a-lifnr MODULE : load_forn ON REQUEST.
* << Fim da exclusão
FIELD v_frn1 MODULE check_fabric ON REQUEST.
FIELD v_frn2 MODULE check_fornec ON REQUEST.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI020 0509
*Adicionar Grupo1 = FE para os campos abaixos:
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-CITY"
Grupo 1 FE
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-COMPL"
Grupo 1 FE
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-LANDA"
Grupo 1 FE
Código função
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-LOGRADOURO"
Grupo 1 FE
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-NAME1"
Grupo 1 FE
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-NRLOGR"
Grupo 1 FE
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE080A-REGIO"
Grupo 1 FE
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020X01
...
* >> Início da inclusão:
DATA: v_propoe.
* << Fim da inclusão
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020O01
...
MODULE load_fornecedor OUTPUT.
* >> Início da exclusão: MODULE LOAD_FORNECEDOR
IF /pws/zycie078-fabric EQ '1' OR
/pws/zycie078-fabric EQ ' '.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_FORNECEDOR
IF '01' CA /pws/zycie079a-fabric .
* << Fim da inclusão
...
...
INTO /pws/zycit181-descricao
WHERE steuc EQ /pws/zycie079-steuc1
AND spras EQ sy-langu . "#EC CI_GENBUFF
IF sy-subrc NE 0.
MOVE space TO /pws/zycit181-descricao.
ENDIF.
ELSE.
MOVE space TO /pws/zycit181-descricao.
ENDIF.
IF sy-dynnr EQ '0502'.
* >> Início da inclusão: MODULE CARREGA_ZYCIE079_400
v_frn1 = it_zycit079-nrforn1 .
* << Fim da inclusão
READ TABLE it_ekpo WITH KEY ebeln = /pws/zycie079-ebeln
ebelp = /pws/zycie079-ebelp.
...
...
MODULE load_fornec_509 OUTPUT.
* >> Início da inclusão: MODULE LOAD_FORNEC_509
IF /pws/zycie079a-lifnr IS INITIAL.
READ TABLE itab_zycit080 WITH KEY
ebeln = /pws/zycie079a-ebeln
ebelp = /pws/zycie079a-ebelp
lifnr = /pws/zycie079a-lifnr
tipoforn = 'F' .
IF sy-subrc EQ 0 .
IF v_propoe = 'X' .
IF itab_zycit080-lifnr EQ /pws/zycie079a-lifnr.
MOVE-CORRESPONDING itab_zycit080 TO /pws/zycie080a .
ENDIF.
/pws/zycie080a-name1 = /pws/zycie079a-descfab.
/pws/zycie080a-landa = /pws/zycie079a-paisfab.
CLEAR v_propoe.
ENDIF.
ELSE.
IF v_propoe = 'X' .
/pws/zycie080a-name1 = /pws/zycie079a-descfab.
/pws/zycie080a-landa = /pws/zycie079a-paisfab.
CLEAR v_propoe.
ENDIF.
ENDIF.
ELSE.
* << Fim da inclusão
IF /pws/zycie079a-fabric EQ '2'.
...
...
* >> Início da inclusão: MODULE LOAD_FORNEC_509
ENDIF.
* << Fim da inclusão
ENDMODULE.
MODULE load_fornecedor_510 OUTPUT.
IF /pws/zycie079a-fabric EQ '3'.
SELECT SINGLE *
FROM lfa1
* >> Início da exclusão: MODULE LOAD_FORNECEDOR_510
WHERE lifnr EQ /pws/zycie079a-lifnr.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_FORNECEDOR_510
WHERE lifnr EQ lfa1-lifnr.
* << Fim da inclusão
...
...
AND nrseqli EQ /pws/zycie078-nrseqli
AND lifnr EQ /pws/zycie079a-lifnr
AND tipoforn EQ 'F'.
IF sy-subrc NE 0 .
SELECT SINGLE nrforn FROM /pws/zycit080
INTO v_frn1
WHERE lifnr EQ /pws/zycie079a-lifnr. "#EC CI_NOFIRST
ENDIF.
ENDIF.
ELSE.
* >> Início da exclusão: MODULE PROPOE_NRFORN
CLEAR v_frn1.
* << Fim da exclusão
* >> Início da inclusão: MODULE PROPOE_NRFORN
IF /pws/zycie079a-fabric EQ '2'.
v_frn1 = it_zycit079-nrforn1 .
ENDIF.
* << Fim da inclusão
ENDIF.
IF NOT lfa1-lifnr IS INITIAL.
IF v_frn2 IS INITIAL.
SELECT SINGLE nrforn FROM /pws/zycit080
INTO v_frn2
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F01
...
sy-tcode EQ '/PWS/ZYCI020_A' OR
sy-tcode EQ '/PWS/ZYCI020_T' OR
sy-tcode EQ '/PWS/ZYCI020_U' ) AND
NOT /pws/zycie078-numpli IS INITIAL.
screen-input = 0 .
ELSE.
screen-input = 0 .
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM MODO_EXIB
ELSEIF screen-group1 EQ 'FE' .
IF ( sy-tcode EQ '/PWS/ZYCI020_G' OR
sy-tcode EQ '/PWS/ZYCI020_I' ) AND
/pws/zycie079a-fabric EQ '2' .
screen-input = 1 .
ENDIF .
* << Fim da inclusão
ENDIF.
MODIFY SCREEN.
ENDLOOP.
IF ( sy-tcode EQ '/PWS/ZYCI020_G' OR
sy-tcode EQ '/PWS/ZYCI020_I' ) AND
( gv_status EQ 'P' OR gv_status EQ 'F' ).
LOOP AT tc_item_pli-cols INTO wa_cols.
wa_cols-screen-input = 0.
MODIFY tc_item_pli-cols FROM wa_cols.
ENDLOOP.
...
...
FORM load_desc_fabr.
* >> Início da inclusão: FORM LOAD_DESC_FABR
IF /pws/zycie079a-fabric IS INITIAL.
CLEAR /pws/zycie079a-lifnr.
/pws/zycie079a-fabric = '3' .
ENDIF.
* << Fim da inclusão
SELECT SINGLE * FROM ekko
WHERE ebeln EQ /pws/zycie079a-ebeln.
IF /pws/zycie079a-fabric EQ 1 .
/pws/zycie079a-lifnr = ekko-lifnr.
ENDIF.
IF NOT /pws/zycie079a-lifnr IS INITIAL.
SELECT SINGLE name1 land1 FROM lfa1
INTO (/pws/zycie079a-descfab,/pws/zycie079a-paisfab)
WHERE lifnr EQ /pws/zycie079a-lifnr.
IF /pws/zycie079a-fabric EQ 2 .
CLEAR lfa1.
lfa1-lifnr = ekko-lifnr.
SELECT SINGLE name1 land1 FROM lfa1
INTO (lfa1-name1,lfa1-land1)
WHERE lifnr EQ lfa1-lifnr.
ENDIF.
* >> Início da exclusão: FORM LOAD_DESC_FABR
ELSEIF /pws/zycie079a-fabric NE '3'.
CLEAR: /pws/zycie079a-descfab,
/pws/zycie079a-paisfab.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM LOAD_DESC_FABR
IF /pws/zycie079a-fabric EQ 3.
* << Fim da exclusão
CLEAR lfa1.
lfa1-lifnr = ekko-lifnr.
SELECT SINGLE name1 land1 FROM lfa1
INTO (lfa1-name1,lfa1-land1)
WHERE lifnr EQ lfa1-lifnr.
* >> Início da exclusão: FORM LOAD_DESC_FABR
ENDIF.
* << Fim da exclusão
ENDFORM.
...
...
IF NOT it_lfa1[] IS INITIAL.
SELECT addrnumber name1 country street
house_num1 city1 city2 region
FROM adrc
INTO TABLE it_adrc
FOR ALL ENTRIES IN it_lfa1
WHERE addrnumber EQ it_lfa1-adrnr.
ENDIF.
LOOP AT p_it_zycit079.
CLEAR /pws/zycie080.
* >> Início da inclusão: FORM SALVA_FORNPLI
IF p_it_zycit079-fabric IS INITIAL.
p_it_zycit079-fabric = '3' .
ENDIF.
* << Fim da inclusão
IF p_it_zycit079-fabric EQ '1'.
MOVE: p_zycie078-nrseqli TO /pws/zycie080-nrseqli,
p_it_zycit079-lifnr TO /pws/zycie080-lifnr,
p_it_zycit079-ebeln TO /pws/zycie080-ebeln,
p_it_zycit079-ebelp TO /pws/zycie080-ebelp.
...
...
CLEAR /pws/zycie080.
* >> Início da inclusão: FORM SALVA_FORNPLI
READ TABLE itab_zycit080 WITH KEY
ebeln = p_it_zycit079-ebeln
ebelp = p_it_zycit079-ebelp
tipoforn = 'F' .
IF sy-subrc EQ 0.
MOVE-CORRESPONDING itab_zycit080 TO /pws/zycie080.
ELSE.
/pws/zycie080-name1 = p_it_zycit079-descfab.
/pws/zycie080-landa = p_it_zycit079-paisfab.
/pws/zycie080-tipoforn = 'F' .
ENDIF.
* << Fim da inclusão
MOVE: p_zycie078-nrseqli TO /pws/zycie080-nrseqli,
p_it_zycit079-lifnr TO /pws/zycie080-lifnr,
p_it_zycit079-ebeln TO /pws/zycie080-ebeln,
p_it_zycit079-ebelp TO /pws/zycie080-ebelp.
IF ( v_tcode EQ '/PWS/ZYCI020_I' OR
v_tcode EQ '/PWS/ZYCI020_G' ) AND
NOT p_it_zycit079-nrforn1 IS INITIAL.
MOVE p_it_zycit079-nrforn1 TO /pws/zycie080-nrforn.
ELSE.
PERFORM gera_nrforn.
* >> Início da exclusão: FORM SALVA_FORNPLI
ENDIF.
READ TABLE it_lfa1 WITH KEY lifnr = /pws/zycie080-lifnr.
IF sy-subrc EQ 0.
READ TABLE it_adrc WITH KEY addrnumber = it_lfa1-adrnr.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM SALVA_FORNPLI
/pws/zycie080-tipoforn = 'F'.
/pws/zycie080-name1 = it_adrc-name1.
/pws/zycie080-landa = it_adrc-country.
/pws/zycie080-logradouro = it_adrc-street.
/pws/zycie080-nrlogr = it_adrc-house_num1.
/pws/zycie080-city = it_adrc-city1.
/pws/zycie080-regio = it_adrc-region.
* << Fim da exclusão
MODIFY /pws/zycit080 FROM /pws/zycie080.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020I01
...
WHEN 'FORN'.
* >> Início da inclusão: MODULE USER_COMMAND_0200
v_propoe = 'X' .
* << Fim da inclusão
CALL SCREEN '0504'.
...
...
MOVE it_zycit079[] TO it_zycit079_aux2[].
IF NOT /pws/zycie078-numpexpam IS INITIAL.
MOVE it_zycit079[] TO it_zycit079_aux4[].
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0002
SELECT * FROM /pws/zycit080
INTO TABLE itab_zycit080
WHERE nrseqli = /pws/zycie078-nrseqli.
* << Fim da inclusão
LOOP AT it_zycit079.
MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079.
* >> Início da inclusão: MODULE USER_COMMAND_0002
IF it_zycit079-fabric EQ '2'.
READ TABLE itab_zycit080 WITH KEY
nrseqli = it_zycit079-nrseqli
ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp
tipoforn = 'F' .
IF sy-subrc EQ 0.
it_zycit079-nrforn1 = itab_zycit080-nrforn.
MODIFY it_zycit079 TRANSPORTING nrforn1
WHERE nrseqli = it_zycit079-nrseqli
AND ebeln = it_zycit079-ebeln
AND ebelp = it_zycit079-ebelp.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDLOOP.
IF /pws/zycie078-fabric EQ '1'.
SELECT SINGLE * FROM /pws/zycit080
INTO /pws/zycie080
WHERE nrseqli = /pws/zycie078-nrseqli
AND tipoforn = 'E'.
IF sy-subrc EQ 0.
MOVE: /pws/zycie080 TO wa_zycit080_aux,
/pws/zycie080-lifnr TO v_forn.
ENDIF.
...
...
WHEN 'BACK'.
IF v_tcode EQ '/PWS/ZYCI020_G' OR
v_tcode EQ '/PWS/ZYCI020_L' OR
v_tcode EQ '/PWS/ZYCI020_I' .
* >> Início da inclusão: MODULE USER_COMMAND_504
PERFORM salva_fabric_item.
* << Fim da inclusão
LEAVE TO SCREEN '0520' .
ELSE.
LEAVE TO SCREEN '0200'.
ENDIF.
...
...
MODULE load_desc_fabr INPUT.
* >> Início da inclusão: MODULE LOAD_DESC_FABR
IF '23' CA /pws/zycie079a-fabric .
CLEAR: /pws/zycie079a-lifnr ,
/pws/zycie079a-descfab,
/pws/zycie079a-paisfab.
CLEAR: /pws/zycie080a.
CLEAR: it_zycit079-lifnr ,
it_zycit079-descfab,
it_zycit079-paisfab.
ENDIF.
* << Fim da inclusão
PERFORM load_desc_fabr.
ENDMODULE.
MODULE check_fabric INPUT.
* >> Início da inclusão: MODULE CHECK_FABRIC
IF NOT /pws/zycie079a-fabric EQ '2' .
* << Fim da inclusão
IF NOT v_frn1 IS INITIAL.
SELECT SINGLE * FROM /pws/zycit535
WHERE nrforn = v_frn1
AND tipoforn = 'F'.
IF sy-subrc NE 0.
MESSAGE e015 WITH text-103 v_frn1 text-104.
* >> Início da inclusão: MODULE CHECK_FABRIC
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: MODULE CHECK_FABRIC
ELSE.
it_zycit079-nrforn1 = v_frn1.
MODIFY it_zycit079 TRANSPORTING nrforn1
WHERE ebeln = /pws/zycie079a-ebeln
AND ebelp = /pws/zycie079a-ebelp .
* << Fim da inclusão
ENDIF.
ENDMODULE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F02
...
screen-name EQ '/PWS/ZYCIE079A-DESCFAB' OR
screen-name EQ '/PWS/ZYCIE079A-PAISFAB' .
screen-input = 0.
ENDIF.
IF screen-name EQ 'V_FRN2' OR
screen-name EQ 'T_VFRN2' .
screen-input = 0.
screen-invisible = 1.
ENDIF.
WHEN '2'.
* >> Início da exclusão: FORM SET_SCREEN_0521
IF screen-name EQ '/PWS/ZYCIE079A-LIFNR'.
* << Fim da exclusão
* >> Início da inclusão: FORM SET_SCREEN_0521
IF screen-name EQ '/PWS/ZYCIE079A-LIFNR' OR
screen-name EQ '/PWS/ZYCIE079A-DESCFAB' OR
screen-name EQ '/PWS/ZYCIE079A-PAISFAB'.
* << Fim da inclusão
screen-input = 1.
* >> Início da exclusão: FORM SET_SCREEN_0521
ENDIF.
IF screen-name EQ '/PWS/ZYCIE079A-DESCFAB' OR
screen-name EQ '/PWS/ZYCIE079A-PAISFAB'.
screen-input = 0.
* << Fim da exclusão
ENDIF.
WHEN '3'.
IF screen-name EQ '/PWS/ZYCIE079A-PAISFAB'.
...
...
* >> Início da inclusão:
FORM salva_fabric_item.
CHECK /pws/zycie079a-fabric EQ 2.
READ TABLE itab_zycit080 WITH KEY
nrseqli = /pws/zycie078-nrseqli
ebeln = /pws/zycie079a-ebeln
ebelp = /pws/zycie079a-ebelp
tipoforn = 'F' .
IF sy-subrc NE 0 .
itab_zycit080-mandt = sy-mandt.
itab_zycit080-nrseqli = /pws/zycie078-nrseqli .
itab_zycit080-ebeln = /pws/zycie079a-ebeln .
itab_zycit080-ebelp = /pws/zycie079a-ebelp .
itab_zycit080-lifnr = /pws/zycie079a-lifnr .
itab_zycit080-tipoforn = 'F' .
itab_zycit080-name1 = /pws/zycie080a-name1 .
itab_zycit080-landa = /pws/zycie080a-landa .
itab_zycit080-logradouro = /pws/zycie080a-logradouro .
itab_zycit080-nrlogr = /pws/zycie080a-nrlogr .
itab_zycit080-compl = /pws/zycie080a-compl .
itab_zycit080-city = /pws/zycie080a-city .
itab_zycit080-regio = /pws/zycie080a-regio .
itab_zycit080-nrforn = v_frn1 .
itab_zycit080-prog = sy-repid.
APPEND itab_zycit080 .
ELSE.
v_tabix = sy-tabix.
MOVE-CORRESPONDING /pws/zycie080a TO itab_zycit080 .
/pws/zycie080a-nrforn = it_zycit079-nrforn1.
MODIFY itab_zycit080 INDEX v_tabix.
ENDIF.
/pws/zycie079a-descfab = /pws/zycie080a-name1.
/pws/zycie079a-paisfab = /pws/zycie080a-landa.
ENDFORM.
* << Fim da inclusão