Professional Documents
Culture Documents
*
* Cliente Sinimplast
*Desci��o : Relatorio de material por cliente
*com arquivo sendo enviado por email
*Consultor : Adriano
*===================================================
DATA: wl_cancel,
wl_length LIKE sood-objlen.
START-OF-SELECTION.
perform retornadata.
* perform rotatoria.
* PERFORM busca_cliente.
* PERFORM imprime.
* PERFORM zf_gerar_pdf.
*** PERFORM zf_enviar_pdf.
*&---------------------------------------------------------------------*
*& Form retornadata
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form retornadata .
IF wotnr = 1.
opcao = 'S'.
perform rotatoria.
endif.
if sy-datum eq LAST_DAY_OF_MONTH.
opcao = 'M'.
perform rotatoria.
endif.
opcao = 'D'.
perform rotatoria.
*&---------------------------------------------------------------------*
*& Form busca_cliente
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM busca_cliente.
*
* IF p_linhad <> ''.
* v_tipo = 'D'.
* ELSEIF p_linhas <> ''.
* v_tipo = 'S'.
* ELSEIF p_linham <> ''.
* v_tipo = 'M'.
* ENDIF.
IF sy-subrc EQ 0.
SELECT kunnr matnr kdmat meins INTO TABLE t_knmt FROM knmt
FOR ALL ENTRIES IN t_kna1
WHERE kunnr = t_kna1-kunnr.
ENDIF.
IF sy-subrc EQ 0.
SELECT matnr labst INTO TABLE t_mard FROM mard
FOR ALL ENTRIES IN t_knmt
WHERE matnr = t_knmt-matnr.
LOOP AT t_knmt.
CLEAR t_saida.
READ TABLE t_mard WITH KEY matnr = t_knmt-matnr.
IF sy-subrc EQ 0.
t_saida-labst = t_mard-labst.
ENDIF.
*endif.
ENDIF.
t_saida-kunnr = t_knmt-kunnr.
t_saida-kdmat = t_knmt-kdmat.
t_saida-meins = t_knmt-meins.
APPEND t_saida.
ENDLOOP.
*loop at t_kna1.
*read table t_adr6 with key addrnumber = t_kna1-adrnr.
*if sy-subrc eq 0 .
*t_saida-adrnr = t_adr6-smtp_addr.
*endif.
*
*endloop.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form imprime
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM imprime.
FORMAT COLOR COL_HEADING.
LOOP AT t_saida.
FORMAT COLOR COL_NORMAL INTENSIFIED ON.
WRITE:/ t_saida-kunnr,
14 t_saida-kdmat,
25 t_saida-labst,
53 t_saida-meins,
72 t_saida-adrnr.
ENDLOOP.
*&--------------------------------------------------------------------*
*& Form zf_gerar_pdf
*&--------------------------------------------------------------------*
FORM zf_gerar_pdf.
CLEAR t_linha.
APPEND t_linha.
LOOP AT t_saida.
IF v_kunnr NE t_saida-kunnr.
PERFORM zf_enviar_pdf.
v_kunnr = t_saida-kunnr.
ELSE.
shift t_saida-kdmat right deleting trailing space.
translate t_saida-kdmat using ' 0'.
WRITE:
t_saida-kunnr TO t_linha-line(10),
t_saida-kdmat TO t_linha-line+15(35),
t_saida-labst TO t_linha-line+55(18),
t_saida-meins TO t_linha-line+80(03).
APPEND t_linha.
ENDIF.
ENDLOOP.
PERFORM zf_enviar_pdf.
*&--------------------------------------------------------------------*
*& Form zf_enviar_pdf
*&--------------------------------------------------------------------*
FORM zf_enviar_pdf.
* Cabe�alho
WRITE: 'Cliente' TO t_linha-line(10),
'C�digo' TO t_linha-line+15(35),
'Quant.' TO t_linha-line+55(07),
'Un.' TO t_linha-line+70(03).
APPEND t_linha.
CLEAR t_linha.
APPEND t_linha.
*ENDIF.
endif.
IF sy-subrc EQ 0.
SELECT kunnr matnr kdmat meins INTO TABLE t_knmt FROM knmt
FOR ALL ENTRIES IN t_kna1
WHERE kunnr = t_kna1-kunnr.
ENDIF.
IF sy-subrc EQ 0.
SELECT matnr labst INTO TABLE t_mard FROM mard
FOR ALL ENTRIES IN t_knmt
WHERE matnr = t_knmt-matnr.
LOOP AT t_knmt.
CLEAR t_saida.
READ TABLE t_mard WITH KEY matnr = t_knmt-matnr.
IF sy-subrc EQ 0.
t_saida-labst = t_mard-labst.
ENDIF.
*endif.
ENDIF.
t_saida-kunnr = t_knmt-kunnr.
t_saida-kdmat = t_knmt-kdmat.
t_saida-meins = t_knmt-meins.
APPEND t_saida.
ENDLOOP.
PERFORM zf_gerar_pdf.