Módulo: DRAWBACK
Funcionalidade: Composição
Data/Hora da Publicação: 28/02/2008 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:20:49
Descrição da Nota: ATUALIZAÇÃO DO PROGRAMA PARA TRATATIVA DE GRUPOS COM DIFERENTES NCM'S
Sintoma
O programa não permite a gravação do mesmo grupo com NCM's diferentes.
Solução
Atualização do programa de gerenciamento de itens genéricos para tratativa de processos com grupos
com diferentes NCM's.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06056 Data: 28/02/2008 Hora: 13:11:23
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06056
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00004
Agrupamento : 00037
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03613 - 00001 - 7.0 - 00001 - PERMITE O REPETIR O INSUMO NO MESMO GRUPO COM RANGER DE DATA DIFE
05511 - 00002 - 7.0 - 00004 - MARCAÇÃO DAS LINHAS DA PASTA ITENS GÉNERICOS.
----------------------------------------------------------------------------------------------------
ATUALIZAÇÃO DO PROGRAMA PARA TRATATIVA DE GRUPOS COM DIFERENTES NCM'S
----------------------------------------------------------------------------------------------------
Palavras Chave:
ITENS GENÉRICOS GRUPOS NCM DIFERENTES DRAWBACK INSUMOS ALTERNATIVOS
----------------------------------------------------------------------------------------------------
Objetos da nota:
CUAD /PWS/ZYCIR342
DYNP /PWS/ZYCIR342 0100
DYNP /PWS/ZYCIR342 0101
REPS /PWS/ZYCIR342F01
REPS /PWS/ZYCIR342I01
REPS /PWS/ZYCIR342O01
REPS /PWS/ZYCIR342TOP
TABD /PWS/ZYCIE433
TABD /PWS/ZYCIT433
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/ZYCIR342
*Funções com textos estáticos
Código de função Categoria Res. Nome campo p/texto GUI dinâmico
EXIT E
EXIT E
EXIT E ICON_CANCEL
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/ZYCIR342 0100
PROCESS BEFORE OUTPUT.
MODULE status_0100.
CALL SUBSCREEN ss01 INCLUDING '/PWS/ZYCIR342' v_tela.
PROCESS AFTER INPUT.
CALL SUBSCREEN ss01.
MODULE user_command_0100.
* >> Início da inclusão: Tela 0100
MODULE user_command_0100_exit AT EXIT-COMMAND.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/ZYCIR342 0101
Nome
Ctg. Linha Coluna CmprDf CmVis Altura Format Dict Modif At.Des.Só At
Gr1 Gr2 Gr3 Gr4 SPA GPA ID parâm Cód.F TCmp TpoLoopExbLoop
Outros atributos
BOX1
Quadr 1 1 94 94 1 CHAR
+ TC_GRUPO
Tabel 2 3 90 90 25
Seleção linha=Simples, Seleção coluna=Simples
TabEntr., Com título, Configurável, Coluna marc., RedimVertic., RedimHoriz., LSep.horiz.,
LnhSep.vert.
- /PWS/ZYCIE433-GRUPO
Texto 1 1 17 10 1 CHAR X F
Título de coluna TC
- /PWS/ZYCIE433-NRITEM
Texto 1 2 4 4 1 CHAR X F
Título de coluna TC
- /PWS/ZYCIE433-DESC_G
Texto 1 3 23 40 1 CHAR X F
Título de coluna TC
- /PWS/ZYCIE433-J_1BNBM
Texto 1 4 3 16 1 CHAR X F
Título de coluna TC
- /PWS/ZYCIE433-MEINS
Texto 1 5 3 6 1 CHAR X F
Título de coluna TC
- V_MARK
Check 1 0 1 1 1 CHAR Ent Off
Coluna marc.TC
- /PWS/ZYCIE433-GRUPO
I/O 1 1 4 10 1 CHAR X Ent Off
Entr.obrig., Elem.TC
* >> Início da inclusão: TC_GRUPO
- /PWS/ZYCIE433-NRITEM
I/O 1 2 4 4 1 NUMC X Off S.Sd
Elem.TC
* << Fim da inclusão
- /PWS/ZYCIE433-DESC_G
I/O 1 3 40 40 1 CHAR X Ent Off
Entr.obrig., Elem.TC
- /PWS/ZYCIE433-J_1BNBM
I/O 1 4 16 16 1 CHAR X Ent Off
Entr.obrig., Chave externa, Botão EntrsPoss.stand., Elem.TC
- /PWS/ZYCIE433-MEINS
I/O 1 5 3 6 1 UNIT X Ent Off
Entr.obrig., Chave externa, Botão EntrsPoss.stand., Elem.TC
Saída de conversão=CUNIT
OK
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR342F01
FORM move_insumos.
itab_insumo[] = itab_zycit433_s[].
* >> Início da exclusão: FORM MOVE_INSUMOS
DELETE itab_insumo WHERE grupo NE itab_grupo-grupo.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_INSUMOS
DELETE itab_insumo WHERE grupo NE itab_grupo-grupo
OR ( grupo EQ itab_grupo-grupo AND
nritem NE itab_grupo-nritem ).
* << Fim da inclusão
SORT itab_insumo BY matnr dtde.
MOVE: itab_grupo-grupo TO /pws/zycie433-grupo ,
itab_grupo-desc_g TO /pws/zycie433-desc_g ,
itab_grupo-j_1bnbm TO /pws/zycie433-j_1bnbm,
* >> Início da exclusão: FORM MOVE_INSUMOS
itab_grupo-meins TO /pws/zycie433-meins .
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_INSUMOS
itab_grupo-meins TO /pws/zycie433-meins ,
itab_grupo-nritem to /pws/zycie433-nritem .
* << Fim da inclusão
ENDFORM.
FORM deleta_insumo.
DATA: v_matnr_d TYPE mara-matnr.
CLEAR: v_matnr_d.
SELECT SINGLE matnr "#EC CI_NOFIELD
FROM /pws/zycit279
INTO v_matnr_d
WHERE matnr EQ itab_insumo-matnr.
SELECT SINGLE codcomp "#EC CI_NOFIRST
FROM /pws/zycit260
INTO v_matnr_d
WHERE codcomp EQ itab_insumo-matnr.
IF NOT v_matnr_d IS INITIAL.
* >> Início da exclusão: FORM DELETA_INSUMO
MESSAGE i015 WITH text-005.
* << Fim da exclusão
* >> Início da inclusão: FORM DELETA_INSUMO
MESSAGE i039 WITH text-005.
* << Fim da inclusão
EXIT.
ENDIF.
IF v_resposta EQ '1'.
LOOP AT itab_zycit433_s WHERE grupo EQ itab_insumo-grupo
AND matnr EQ itab_insumo-matnr.
itab_zycit433_d = itab_zycit433_s.
APPEND itab_zycit433_d.
DELETE itab_zycit433_s.
ENDLOOP.
SORT itab_zycit433_d BY grupo matnr.
...
...
OR ( dtate >= /pws/zycie433-dtde
AND dtate <= /pws/zycie433-dtate ) ).
IF v_modifica EQ 'X'.
CHECK itab_insumo-item NE itab_zycit433_s-item OR
itab_insumo-grupo NE itab_zycit433_s-grupo.
ENDIF.
v_exist = 'X'.
EXIT.
ENDLOOP.
IF v_exist EQ 'X'.
* >> Início da exclusão: FORM VERIFICA_INCLUS
MESSAGE i015 WITH text-009 /pws/zycie433-matnr text-010.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_INCLUS
MESSAGE i013 WITH text-009 /pws/zycie433-matnr text-010.
* << Fim da inclusão
EXIT.
ENDIF.
ENDIF.
IF v_modifica NE 'X'.
SELECT SINGLE a~steuc b~meins
INTO (/pws/zycie433-j_1bnbm, /pws/zycie433-meins)
FROM ( marc AS a INNER JOIN mara AS b ON
a~matnr EQ b~matnr )
WHERE a~matnr EQ /pws/zycie433-matnr
AND a~steuc NE space.
IF itab_grupo-j_1bnbm NE /pws/zycie433-j_1bnbm.
CLEAR v_mensagem.
CONCATENATE text-009 /pws/zycie433-matnr text-012
INTO v_mensagem SEPARATED BY space.
* >> Início da exclusão: FORM VERIFICA_INCLUS
MESSAGE i015 WITH v_mensagem itab_insumo-j_1bnbm text-014.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_INCLUS
MESSAGE i013 WITH v_mensagem itab_insumo-j_1bnbm text-014.
* << Fim da inclusão
EXIT.
ENDIF.
IF itab_grupo-meins NE /pws/zycie433-meins.
SELECT SINGLE * FROM /pws/zyglt217
WHERE arbgb EQ '/PWS/ZYCIM'
AND msgnr EQ '138'.
IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.
CLEAR v_mensagem.
CONCATENATE text-009 /pws/zycie433-matnr text-013
INTO v_mensagem SEPARATED BY space.
MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '013'
WITH v_mensagem /pws/zycie433-meins text-014.
ENDIF.
ENDIF.
SELECT SINGLE maktx FROM makt
INTO /pws/zycie433-maktx
WHERE matnr EQ /pws/zycie433-matnr.
IF /pws/zycie433-dtde > /pws/zycie433-dtate.
* >> Início da exclusão: FORM VERIFICA_INCLUS
MESSAGE i015 WITH text-015.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_INCLUS
MESSAGE i039 WITH text-015.
* << Fim da inclusão
EXIT.
ENDIF.
CLEAR: itab_insumo.
SORT itab_insumo DESCENDING BY item.
READ TABLE itab_insumo WITH KEY matnr = /pws/zycie433-matnr.
ADD 1 TO itab_insumo-item.
MOVE:
itab_grupo-grupo TO /pws/zycie433-grupo ,
* >> Início da inclusão: FORM VERIFICA_INCLUS
itab_grupo-nritem TO /pws/zycie433-nritem,
* << Fim da inclusão
itab_grupo-j_1bnbm TO /pws/zycie433-j_1bnbm,
itab_grupo-meins TO /pws/zycie433-meins,
itab_grupo-desc_g TO /pws/zycie433-desc_g,
itab_insumo-item TO /pws/zycie433-item.
APPEND /pws/zycie433 TO itab_insumo.
APPEND /pws/zycie433 TO itab_zycit433_s.
ELSE.
itab_zycit433_s = /pws/zycie433.
MODIFY itab_zycit433_s TRANSPORTING dtde dtate
WHERE item EQ itab_insumo-item
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR342I01
MODULE preenche_grupos INPUT.
IF /pws/zycie433-grupo IS INITIAL.
EXIT.
ENDIF.
READ TABLE itab_grupo INDEX tc_grupo-current_line.
IF sy-subrc NE 0 .
* >> Início da inclusão: MODULE PREENCHE_GRUPOS
SORT itab_grupo BY grupo nritem DESCENDING.
* << Fim da inclusão
READ TABLE itab_grupo WITH KEY
grupo = /pws/zycie433-grupo.
IF sy-subrc EQ 0.
* >> Início da exclusão: MODULE PREENCHE_GRUPOS
MESSAGE i015 WITH text-006.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_GRUPOS
READ TABLE itab_grupo WITH KEY
grupo = /pws/zycie433-grupo
j_1bnbm = /pws/zycie433-j_1bnbm.
IF sy-subrc EQ 0.
MESSAGE i039 WITH text-006.
* << Fim da inclusão
EXIT.
* >> Início da inclusão: MODULE PREENCHE_GRUPOS
ELSE.
itab_grupo-grupo = /pws/zycie433-grupo .
itab_grupo-desc_g = /pws/zycie433-desc_g .
itab_grupo-j_1bnbm = /pws/zycie433-j_1bnbm.
itab_grupo-meins = /pws/zycie433-meins .
ADD 1 TO itab_grupo-nritem.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: MODULE PREENCHE_GRUPOS
ENDIF.
* << Fim da inclusão
itab_grupo-grupo = /pws/zycie433-grupo .
itab_grupo-desc_g = /pws/zycie433-desc_g .
itab_grupo-j_1bnbm = /pws/zycie433-j_1bnbm.
itab_grupo-meins = /pws/zycie433-meins .
APPEND itab_grupo.
* >> Início da inclusão: MODULE PREENCHE_GRUPOS
ELSE.
SORT itab_grupo BY grupo nritem DESCENDING.
READ TABLE itab_grupo WITH KEY
grupo = /pws/zycie433-grupo.
IF sy-subrc EQ 0.
READ TABLE itab_grupo WITH KEY
grupo = /pws/zycie433-grupo
j_1bnbm = /pws/zycie433-j_1bnbm.
IF sy-subrc EQ 0.
MESSAGE i039 WITH text-006.
EXIT.
* << Fim da inclusão
ELSE.
itab_grupo-grupo = /pws/zycie433-grupo .
itab_grupo-desc_g = /pws/zycie433-desc_g .
itab_grupo-j_1bnbm = /pws/zycie433-j_1bnbm.
itab_grupo-meins = /pws/zycie433-meins .
* >> Início da inclusão: MODULE PREENCHE_GRUPOS
ADD 1 TO itab_grupo-nritem.
* << Fim da inclusão
MODIFY itab_grupo INDEX tc_grupo-current_line.
* >> Início da inclusão: MODULE PREENCHE_GRUPOS
ENDIF.
ELSE.
itab_grupo-grupo = /pws/zycie433-grupo .
itab_grupo-desc_g = /pws/zycie433-desc_g .
itab_grupo-j_1bnbm = /pws/zycie433-j_1bnbm.
itab_grupo-meins = /pws/zycie433-meins .
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: MODULE PREENCHE_GRUPOS
ENDIF.
* << Fim da inclusão
ENDMODULE.
MODULE user_command_0101 INPUT.
IF sy-dynnr EQ '0101'.
CASE v_okcode.
WHEN 'CRESC'.
CLEAR: v_sort, v_sort2.
...
...
ENDIF.
ENDMODULE.
MODULE user_command_0100 INPUT.
CASE v_okcode.
WHEN 'FS_GR'.
v_tela = '0101'.
v_pasta = v_okcode.
WHEN 'FS_IS'.
READ TABLE itab_grupo WITH KEY mark = 'X'.
IF sy-subrc NE 0.
* >> Início da exclusão: MODULE USER_COMMAND_0100
MESSAGE s015 WITH text-007.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0100
MESSAGE s039 WITH text-007.
* << Fim da inclusão
EXIT.
ENDIF.
v_tela = '0102'.
v_pasta = v_okcode.
PERFORM move_insumos.
WHEN 'DELE'.
CASE v_tela.
WHEN '0101'.
READ TABLE itab_grupo WITH KEY mark = 'X'.
IF sy-subrc EQ 0.
PERFORM pergunta USING text-001
text-022
CHANGING v_resposta.
IF v_resposta EQ '1'.
READ TABLE itab_zycit433_s WITH KEY
* >> Início da exclusão: MODULE USER_COMMAND_0100
grupo = itab_grupo-grupo.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0100
grupo = itab_grupo-grupo
nritem = itab_grupo-nritem.
* << Fim da inclusão
IF sy-subrc EQ 0.
* >> Início da exclusão: MODULE USER_COMMAND_0100
MESSAGE i015 WITH text-008.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0100
MESSAGE i039 WITH text-008.
* << Fim da inclusão
EXIT.
ENDIF.
DELETE itab_grupo WHERE mark = 'X'.
...
...
PERFORM grava.
ENDIF.
IF v_resposta NE 'A'.
LEAVE PROGRAM.
ENDIF.
ENDCASE.
ENDMODULE.
MODULE marca_l101 INPUT.
READ TABLE itab_grupo INDEX tc_grupo-current_line.
IF sy-subrc EQ 0 .
* >> Início da inclusão: MODULE MARCA_L101
IF v_mark EQ 'X'.
* << Fim da inclusão
CLEAR: itab_grupo-mark.
MODIFY itab_grupo TRANSPORTING mark WHERE mark NE space.
* >> Início da inclusão: MODULE MARCA_L101
ENDIF.
* << Fim da inclusão
itab_grupo-mark = v_mark.
MODIFY itab_grupo INDEX tc_grupo-current_line.
ENDIF.
ENDMODULE.
MODULE preenche_insumo INPUT.
DATA: v_mensagem(50) TYPE c,
v_exist TYPE c.
IF /pws/zycie433-matnr IS INITIAL.
EXIT.
ENDIF.
CLEAR: itab_insumo.
READ TABLE itab_insumo INDEX tc_insumo-current_line.
IF sy-subrc NE 0 .
READ TABLE itab_insumo WITH KEY matnr = /pws/zycie433-matnr.
IF sy-subrc EQ 0.
* >> Início da exclusão: MODULE PREENCHE_INSUMO
MESSAGE i015 WITH text-016.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
MESSAGE i039 WITH text-016.
* << Fim da inclusão
EXIT.
ENDIF.
CLEAR: v_exist.
LOOP AT itab_zycit433_s
WHERE matnr EQ /pws/zycie433-matnr
AND grupo NE itab_grupo-grupo
AND ( ( dtde >= /pws/zycie433-dtde
AND dtde <= /pws/zycie433-dtate )
OR ( dtate >= /pws/zycie433-dtde
AND dtate <= /pws/zycie433-dtate ) ).
...
...
WHERE matnr EQ /pws/zycie433-grupo
AND grupo NE itab_grupo-grupo
AND ( ( dtde <= /pws/zycie433-dtde
AND dtate >= /pws/zycie433-dtate )
OR ( dtde <= /pws/zycie433-dtde
AND dtate >= /pws/zycie433-dtate ) ).
v_exist = 'X'.
EXIT.
ENDLOOP.
IF v_exist EQ 'X'.
* >> Início da exclusão: MODULE PREENCHE_INSUMO
MESSAGE i015 WITH text-009 /pws/zycie433-matnr text-010.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
MESSAGE i013 WITH text-009 /pws/zycie433-matnr text-010.
* << Fim da inclusão
EXIT.
ENDIF.
SELECT SINGLE a~steuc b~meins
INTO (itab_insumo-j_1bnbm, itab_insumo-meins)
FROM ( marc AS a INNER JOIN mara AS b ON
a~matnr EQ b~matnr )
WHERE a~matnr EQ /pws/zycie433-matnr
AND a~steuc NE space.
IF itab_grupo-j_1bnbm NE itab_insumo-j_1bnbm.
CLEAR v_mensagem.
CONCATENATE text-009 /pws/zycie433-matnr text-012
INTO v_mensagem SEPARATED BY space.
* >> Início da exclusão: MODULE PREENCHE_INSUMO
MESSAGE i015 WITH v_mensagem itab_insumo-j_1bnbm text-014.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
MESSAGE i013 WITH v_mensagem itab_insumo-j_1bnbm text-014.
* << Fim da inclusão
EXIT.
ENDIF.
IF itab_grupo-meins NE itab_insumo-meins.
CLEAR v_mensagem.
CONCATENATE text-009 /pws/zycie433-matnr text-013
INTO v_mensagem SEPARATED BY space.
* >> Início da exclusão: MODULE PREENCHE_INSUMO
MESSAGE i015 WITH v_mensagem itab_insumo-meins text-014.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
MESSAGE i013 WITH v_mensagem itab_insumo-meins text-014.
* << Fim da inclusão
EXIT.
ENDIF.
SELECT SINGLE maktx FROM makt
INTO itab_insumo-maktx
WHERE matnr EQ /pws/zycie433-matnr.
IF /pws/zycie433-dtde > /pws/zycie433-dtate.
* >> Início da exclusão: MODULE PREENCHE_INSUMO
MESSAGE i015 WITH text-015.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
MESSAGE i039 WITH text-015.
* << Fim da inclusão
EXIT.
ENDIF.
MOVE:
itab_grupo-grupo TO itab_insumo-grupo ,
itab_grupo-j_1bnbm TO itab_insumo-j_1bnbm,
itab_grupo-meins TO itab_insumo-meins,
itab_grupo-desc_g TO itab_insumo-desc_g,
* >> Início da inclusão: MODULE PREENCHE_INSUMO
itab_grupo-nritem TO itab_insumo-nritem,
* << Fim da inclusão
/pws/zycie433-matnr TO itab_insumo-matnr,
/pws/zycie433-dtde TO itab_insumo-dtde,
/pws/zycie433-dtate TO itab_insumo-dtate.
APPEND itab_insumo.
itab_zycit433_s = itab_insumo.
APPEND itab_zycit433_s.
ELSE.
CLEAR: v_exist.
LOOP AT itab_zycit433_s
WHERE matnr EQ /pws/zycie433-matnr
...
...
WHERE matnr EQ /pws/zycie433-grupo
AND grupo NE itab_grupo-grupo
AND ( ( dtde <= /pws/zycie433-dtde
AND dtate >= /pws/zycie433-dtate )
OR ( dtde <= /pws/zycie433-dtde
AND dtate >= /pws/zycie433-dtate ) ).
v_exist = 'X'.
EXIT.
ENDLOOP.
IF v_exist EQ 'X'.
* >> Início da exclusão: MODULE PREENCHE_INSUMO
MESSAGE i015 WITH text-009 /pws/zycie433-matnr text-010.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
MESSAGE i013 WITH text-009 /pws/zycie433-matnr text-010.
* << Fim da inclusão
EXIT.
ENDIF.
IF /pws/zycie433-dtde > /pws/zycie433-dtate.
* >> Início da exclusão: MODULE PREENCHE_INSUMO
MESSAGE i015 WITH text-015.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_INSUMO
MESSAGE i039 WITH text-015.
* << Fim da inclusão
EXIT.
...
...
v_sort = wa_cols-screen-name.
ENDIF.
ENDLOOP.
IF NOT v_sort IS INITIAL.
v_sort2 = v_sort+14.
SORT itab_insumo DESCENDING BY (v_sort2).
ENDIF.
ENDCASE.
ENDIF.
ENDMODULE.
* >> Início da inclusão:
MODULE user_command_0100_exit INPUT.
CASE v_okcode.
WHEN 'EXIT'.
PERFORM pergunta USING text-001
text-017
CHANGING v_resposta.
IF v_resposta EQ '1'.
PERFORM grava.
ENDIF.
IF v_resposta NE 'A'.
LEAVE PROGRAM.
ENDIF.
ENDCASE.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR342O01
MODULE preenche_grupo OUTPUT.
MOVE: itab_grupo-grupo TO /pws/zycie433-grupo ,
itab_grupo-desc_g TO /pws/zycie433-desc_g ,
itab_grupo-j_1bnbm TO /pws/zycie433-j_1bnbm,
itab_grupo-meins TO /pws/zycie433-meins ,
* >> Início da exclusão: MODULE PREENCHE_GRUPO
itab_grupo-mark TO v_mark.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_GRUPO
itab_grupo-mark TO v_mark ,
itab_grupo-nritem to /pws/zycie433-nritem .
* << Fim da inclusão
ENDMODULE.
MODULE tela_101 OUTPUT.
IF NOT /pws/zycie433-grupo IS INITIAL.
READ TABLE itab_zycit433_s WITH KEY
* >> Início da exclusão: MODULE TELA_101
grupo = /pws/zycie433-grupo.
* << Fim da exclusão
* >> Início da inclusão: MODULE TELA_101
grupo = /pws/zycie433-grupo
nritem = /pws/zycie433-nritem.
* << Fim da inclusão
IF sy-subrc EQ 0.
LOOP AT SCREEN .
IF screen-name NE 'V_MARK'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDMODULE.
MODULE status_0100 OUTPUT.
SET PF-STATUS 'ST0100'.
SET TITLEBAR '0100'.
IF v_ini IS INITIAL.
v_ini = 'X'.
* >> Início da exclusão: MODULE STATUS_0100
SORT itab_zycit433 BY grupo matnr.
* << Fim da exclusão
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433."#EC CI_NOWHERE
itab_zycit433_s[] = itab_zycit433[].
LOOP AT itab_zycit433.
itab_grupo-grupo = itab_zycit433-grupo .
itab_grupo-desc_g = itab_zycit433-desc_g .
itab_grupo-j_1bnbm = itab_zycit433-j_1bnbm.
itab_grupo-meins = itab_zycit433-meins .
* >> Início da inclusão: MODULE STATUS_0100
itab_grupo-nritem = itab_zycit433-nritem .
* << Fim da inclusão
COLLECT itab_grupo.
ENDLOOP.
DELETE itab_grupo WHERE grupo EQ space.
* >> Início da exclusão: MODULE STATUS_0100
SORT itab_grupo BY grupo.
* << Fim da exclusão
* >> Início da inclusão: MODULE STATUS_0100
SORT itab_grupo BY grupo nritem.
* << Fim da inclusão
ENDIF.
...
...
DATA: v_linha TYPE i.
DESCRIBE TABLE itab_grupo LINES v_linha.
tc_grupo-lines = v_linha + 20.
ENDMODULE.
MODULE preenche_insumo OUTPUT.
/pws/zycie433-matnr = itab_insumo-matnr.
/pws/zycie433-dtde = itab_insumo-dtde.
/pws/zycie433-dtate = itab_insumo-dtate.
/pws/zycie433-maktx = itab_insumo-maktx.
v_mark = itab_insumo-mark.
* >> Início da inclusão: MODULE PREENCHE_INSUMO
/pws/zycie433-nritem = itab_insumo-nritem.
* << Fim da inclusão
ENDMODULE.
MODULE status_0102 OUTPUT.
DATA: v_linha_102 TYPE i.
DESCRIBE TABLE itab_insumo LINES v_linha_102.
tc_insumo-lines = v_linha_102 + 20.
ENDMODULE.
MODULE tela_102 OUTPUT.
IF NOT /pws/zycie433-matnr IS INITIAL.
LOOP AT SCREEN.
IF screen-name EQ '/PWS/ZYCIE433-MATNR'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR342TOP
...
INCLUDE STRUCTURE /pws/zycit433.
DATA: END OF itab_zycit433_d.
DATA: BEGIN OF itab_zycit433_s OCCURS 0.
INCLUDE STRUCTURE /pws/zycit433.
DATA: END OF itab_zycit433_s.
DATA: BEGIN OF itab_grupo OCCURS 0.
DATA: grupo TYPE /pws/zycit433-grupo ,
desc_g TYPE /pws/zycit433-desc_g ,
j_1bnbm TYPE /pws/zycit433-j_1bnbm,
meins TYPE /pws/zycit433-meins ,
* >> Início da exclusão:
mark TYPE c .
* << Fim da exclusão
* >> Início da inclusão:
mark TYPE c ,
nritem type /pws/zycit433-nritem .
* << Fim da inclusão
DATA: END OF itab_grupo.
DATA: BEGIN OF itab_insumo OCCURS 0.
INCLUDE STRUCTURE /pws/zycit433.
DATA: mark TYPE c .
DATA: END OF itab_insumo.
DATA: v_ini TYPE c ,
v_mark TYPE c ,
v_okcode TYPE sy-ucomm ,
v_tela(4) TYPE c VALUE '0101' ,
wa_zycit433 type /pws/zycit433 ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE433
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
MANDT MANDT CLNT 3
MATNR MATNR MARA CHAR 18
MATNR_ALT MATNR MARA CHAR 18
GRUPO CHAR4 CHAR 4
ITEM NUMC4 NUMC 4
* >> Início da inclusão: /PWS/ZYCIE433
NRITEM NUMC4 NUMC 4
* << Fim da inclusão
DESC_G MAKTX CHAR 40
J_1BNBM J_1BNBMCO1 T604F CHAR 16
MEINS MEINS T006 UNIT 3
MAKTX MAKTX CHAR 40
DTDE DATUM DATS 8
DTATE DATUM DATS 8
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT433
Nome campo Chv Elem.dados Tab.verif. N CtDt Comp. Grupo
MANDT MANDT CLNT 3
MATNR MATNR MARA CHAR 18
MATNR_ALT MATNR MARA CHAR 18
GRUPO CHAR4 CHAR 4
ITEM NUMC4 NUMC 4
* >> Início da inclusão: /PWS/ZYCIT433
NRITEM NUMC4 NUMC 4
* << Fim da inclusão
DESC_G MAKTX CHAR 40
J_1BNBM J_1BNBMCO1 T604F CHAR 16
MEINS MEINS T006 UNIT 3
MAKTX MAKTX CHAR 40
DTDE DATUM DATS 8
DTATE DATUM DATS 8