Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Recebimento
Data/Hora da Publicação: 16/06/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:40:16
Descrição da Nota: AO SELECIOANR O ITEM E CLICAR PARA CRIAR O RECEBIMENTO, APARECE A MENSAG
Sintoma
Ao selecionar o item e clicar para criar o recebimento, aparece a mensagem Preenchimento do campo
Depósito obrigatório!
Mas o campo depósito já esta preenchido, e não deixar criar o recebimento.
Solução
Ajustado para mover corretamente para a itab.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01598 Data: 16/06/2006 Hora: 15:31:54
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01598
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00117
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
AO SELECIOANR O ITEM E CLICAR PARA CRIAR O RECEBIMENTO, APARECE A MENSAG
----------------------------------------------------------------------------------------------------
Palavras Chave:
ITEM - CRIAR - RECEBIMENTO - DEPÓSITO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI017F01
REPS /PWS/MZYCI017I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F01
...
PERFORM fill_date_j1b2. "Atualiza data da NF Remessa
PERFORM fill_date_j1b2_global. "Atualiza data da NF Global
ENDIF.
LOOP AT itab_itens_nf.
* >> Início da inclusão: FORM executa_recebimento
IF v_existe_nfr = 'S'.
UPDATE /pws/zycit044 SET lgort = itab_itens_nf-lgort
WHERE nrseqnf = itab_itens_nf-nrseqnf
AND nrseq = itab_itens_nf-nrseq
AND nfglobal = itab_itens_nf-nfglobal
AND nfremessa = itab_itens_nf-nfremessa
AND ebeln = itab_itens_nf-ebeln
AND ebelp = itab_itens_nf-ebelp.
ELSE.
UPDATE /pws/zycit042 SET lgort = itab_itens_nf-lgort
WHERE nrseqnf = itab_itens_nf-nrseqnf
AND nrseq = itab_itens_nf-nrseq
AND nfglobal = itab_itens_nf-nfglobal
AND ebeln = itab_itens_nf-ebeln
AND ebelp = itab_itens_nf-ebelp.
ENDIF.
* << Fim da inclusão
UPDATE /pws/zycit036 SET congelamov = 'X'
WHERE nrseq = itab_itens_nf-nrseq
AND ebelp = itab_itens_nf-ebelp
AND ebeln = itab_itens_nf-ebeln
AND origem NE 'PED'.
ENDLOOP.
LOOP AT itab_zycit036_aux2. "Congelando o movimentado
IF itab_zycit036_aux2-origem = 'PED'.
...
...
IF NOT itab_zycit044[] IS INITIAL.
SELECT ebeln ebelp matnr lgort knttp
FROM ekpo INTO TABLE itab_deposito
FOR ALL ENTRIES IN itab_zycit044
WHERE ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp.
ENDIF.
CLEAR: v_tabix.
CLEAR itab_deposito.
LOOP AT itab_deposito.
IF itab_deposito-knttp IS INITIAL.
CLEAR itab_zycit044.
READ TABLE itab_zycit044 WITH KEY ebeln = itab_deposito-ebeln
ebelp = itab_deposito-ebelp.
IF sy-subrc = 0.
v_tabix = sy-tabix.
* >> Início da inclusão: FORM chamar_nfremessa.
IF NOT /pws/zycie044-lgort IS INITIAL.
MOVE: /pws/zycie044-lgort TO itab_zycit044-lgort,
/pws/zycie044-lgort TO itab_deposito-lgort.
MODIFY itab_zycit044 INDEX v_tabix.
MODIFY itab_deposito INDEX v_tabix.
ELSE.
* << Fim da inclusão
IF itab_zycit044-lgort IS INITIAL AND
NOT itab_deposito-lgort IS INITIAL.
MOVE itab_deposito-lgort TO itab_zycit044-lgort.
MODIFY itab_zycit044 INDEX v_tabix.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM chamar_nfremessa.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
DATA: v_nrseq LIKE /pws/zycit041-nrseq.
READ TABLE itab_zycit044 INDEX 1.
CLEAR v_nrseq.
v_nrseq = itab_zycit044-nrseq.
SET PARAMETER ID '/PWS/ZYCIP001' FIELD v_nrseq.
...
....
...
CLEAR: v_tabix.
CLEAR itab_deposito.
LOOP AT itab_deposito.
IF itab_deposito-knttp IS INITIAL.
CLEAR itab_zycit042.
READ TABLE itab_zycit042 WITH KEY ebeln = itab_deposito-ebeln
ebelp = itab_deposito-ebelp.
IF sy-subrc = 0.
v_tabix = sy-tabix.
IF itab_zycit042-lgort IS INITIAL AND
NOT itab_deposito-lgort IS INITIAL.
MOVE itab_deposito-lgort TO itab_zycit042-lgort.
MODIFY itab_zycit042 INDEX v_tabix.
* >> Início da inclusão: FORM chamar_nfglobal.
ELSE.
MOVE itab_zycit042-lgort TO itab_deposito-lgort.
MODIFY itab_deposito INDEX sy-tabix.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
DATA: v_nrseq LIKE /pws/zycit041-nrseq.
READ TABLE itab_zycit042 INDEX 1.
CLEAR v_nrseq.
v_nrseq = itab_zycit042-nrseq.
SET PARAMETER ID '/PWS/ZYCIP001' FIELD v_nrseq.
SUBMIT /pws/zycir006 AND RETURN.
FREE itab_zycit003.
IF NOT itab_zycit042[] IS INITIAL.
SELECT * FROM /pws/zycit003
INTO TABLE itab_zycit003
...
...
IF NOT itab_zycit263[] IS INITIAL.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263 WHERE
nrseq_pgfat = itab_zycit263-nrseq_pgfat.
ENDIF.
CLEAR v_clnf. "Classifica de NF sempre Global
IF v_existe_nfr EQ 'S'.
v_clnf = 'R'.
ELSE.
v_clnf = 'G'.
ENDIF.
* >> Início da inclusão: FORM get_parameters_mrm1_receb.
CLEAR: itab_zycit036_plan, itab_zycit036.
REFRESH: itab_zycit036_plan, itab_zycit036.
* << Fim da inclusão
"Buscando custos
FREE itab_zycit036.
IF NOT itab_itens_nf[] IS INITIAL.
SELECT * FROM /pws/zycit036
INTO TABLE itab_zycit036
FOR ALL ENTRIES IN itab_itens_nf
WHERE nrseq = itab_itens_nf-nrseq
AND ebeln = itab_itens_nf-ebeln
AND ebelp = itab_itens_nf-ebelp.
IF sy-subrc NE 0.
MESSAGE e015 WITH text-002.
ENDIF.
"Buscando qtd da global
FREE itab_zycit042_aux.
SELECT * FROM /pws/zycit042
INTO TABLE itab_zycit042_aux
FOR ALL ENTRIES IN itab_itens_nf
WHERE nrseq = itab_itens_nf-nrseq
AND ebeln = itab_itens_nf-ebeln
AND ebelp = itab_itens_nf-ebelp.
ENDIF.
...
...
CLEAR: v_visualiza.
PERFORM prepara_dados_batch.
"Se não foi feito o recebimento
IF wa_nf-belnr_mr1m IS INITIAL AND
wa_nf-mblnr_mb01 IS INITIAL AND
wa_nf-belnr_f_51 IS INITIAL AND
wa_nf-belnr_f_02 IS INITIAL.
CLEAR v_receb.
IF v_existe_nfr EQ 'S'.
* >> Início da exclusão: FORM executa_batch_input.
* LOOP AT itab_zycit044 WHERE lgort IS initial.
* << Fim da exclusão
* >> Início da inclusão: FORM executa_batch_input.
LOOP AT itab_zycit044.
* << Fim da inclusão
READ TABLE itab_deposito WITH KEY ebeln = itab_zycit044-ebeln
ebelp = itab_zycit044-ebelp.
* >> Início da inclusão: FORM executa_batch_input.
IF sy-subrc = 0.
MOVE: itab_zycit044-lgort TO itab_deposito-lgort.
MODIFY itab_deposito INDEX sy-tabix.
ENDIF.
IF itab_deposito-lgort IS INITIAL.
* << Fim da inclusão
* >> Início da exclusão: FORM executa_batch_input.
* IF itab_deposito-knttp IS INITIAL.
* << Fim da exclusão
v_receb = 'X'.
ENDIF.
ENDLOOP.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017I01
...
SELECT SINGLE * FROM /pws/zycit044
WHERE nrseq = itab_zycit044-nrseq
AND ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp.
IF sy-subrc = 0 AND
* >> Início da exclusão: MODULE ALTERA_ITAB_ZYCIT044
NOT itab_zycit042-lgort IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT044
NOT itab_zycit044-lgort IS INITIAL.
* << Fim da inclusão
MOVE itab_zycit044-lgort TO /pws/zycit044-lgort.
MODIFY /pws/zycit044.
ENDIF.
ENDMODULE.
MODULE user_command_0110 INPUT.
...
...
ENDIF.
ENDMODULE.
MODULE user_command_0050 INPUT.
CLEAR: e_exec_okcode,
r_okcode.
* >> Início da exclusão: MODULE USER_COMMAND_0050
okcode = sy-ucomm.
* << Fim da exclusão
CALL METHOD cl_gui_cfw=>dispatch.
IF NOT r_okcode IS INITIAL.
okcode = r_okcode.
ENDIF.
IF gc_subscreen-prog EQ '0200'.
...