Escolar Documentos
Profissional Documentos
Cultura Documentos
REPORT ZPFII004 .
*----------------------------------------------------------------------* Procwork Informtica - ASPEN - Unidade de Negcios SAP
* Cliente: EMAE
* Nome do programa: ZPFII004
* Autor: Guilherme Coca
* Objetivo: Emitir FICHA DE CONTAS A PAGAR
*
* Mdulo : MM
* Data de criao: 18/10/99
*----------------------------------------------------------------------* ltima Modificao
Autor
Motivo
*
dd/mm/aaaa
nnnnnnnnnn
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
*----------------------------------------------------------------------TABLES: BSEG,
RBKP,
EKBE,
LFA1,
LFBK,
J_1BNFDOC,
ITCPO,
BSIK,
EKKN.
DATA: V_FORNE
V_NOMEF
V_DADOS
V_NUMPED
V_VALOR
V_NFISCAL
V_LIFNR
V_AUFNR
V_KOSTL
V_SGTXT
V_HKONT
V_EBELN
V_WRBTR
V_WRBTR1
V_FDTAG
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LFA1-LIFNR,
LFA1-NAME1,
LFBK-BANKN,
BSEG-EBELN,
BSEG-WRBTR,
BSEG-WRBTR,
BSEG-LIFNR,
BSEG-AUFNR,
BSEG-KOSTL,
BSEG-SGTXT,
BSEG-HKONT,
BSEG-EBELN,
BSEG-WRBTR,
BSEG-WRBTR,
BSEG-FDTAG.
"ANDREIA
"ANDREIA
"ANDREIA
* Variaveis
DATA: V_NUMERO
TYPE I,
"Num. sequencial do recibo de recebto
C_EXTENSO1(150) TYPE C,
"valores por extenso reais
C_EXTENSO2(150) TYPE C,
"valores por extenso centavos
C_EXTENSO3(300) TYPE C,
"valores por extenso centavos
C_EXTENSO4(44) TYPE C,
C_EXTENSO5(44) TYPE C,
C_EXTENSO6(44) TYPE C,
V_FLAG(1)
TYPE C,
W_FLAG(1) VALUE 'V',
V_PESQ
LIKE BKPF-XBLNR,
V_PESQ1
LIKE BKPF-AWKEY,
V_NUM(6)
TYPE C,
V_NUM1
TYPE I,
V_DOCTO1
LIKE BKPF-BELNR.
* Variavies para valor em extenso
DATA:
V_TAM
TYPE I,
V_EXTENSO
TYPE spell,
V_EXTENSO2
TYPE spell,
V_VAL(25)
TYPE C.
ENDFORM.
" SELECIONA_DADOS
*&---------------------------------------------------------------------*
*&
Form ABRE_SCRIPT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM ABRE_SCRIPT.
MOVE 'LOCM' TO ITCPO-TDDEST.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
DEVICE
= 'PRINTER'
DIALOG
= 'X'
FORM
LANGUAGE
OPTIONS
EXCEPTIONS
CANCELED
DEVICE
FORM
OPTIONS
OTHERS
= 'Z_CONTAS_PAGAR'
= SY-LANGU
= ITCPO
=
=
=
=
=
1
2
3
4
7.
IF SY-SUBRC <> 0.
WRITE 'Error in open_form'(001).
EXIT.
ENDIF.
ENDFORM.
" ABRE_SCRIPT
*&---------------------------------------------------------------------*
*&
Form VALOR_EXTENSO
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM VALOR_EXTENSO.
*move t_ekbe-wrbtr to v_val.
"andreia
MOVE V_WRBTR TO V_VAL.
"andreia
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT
= V_VAL
CURRENCY = '2'
FILLER
= ' '
LANGUAGE = 'P'
IMPORTING
IN_WORDS = V_EXTENSO.
MOVE V_EXTENSO+19 TO C_EXTENSO1.
* move t_ekbe-wrbtr to v_val. "andreia
MOVE V_WRBTR TO V_VAL.
"andreia
MOVE V_VAL+22(2) TO V_TAM.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT
= V_TAM
CURRENCY = ' '
FILLER
= ' '
LANGUAGE = 'P'
IMPORTING
IN_WORDS = V_EXTENSO2.
IF V_EXTENSO2+19(4) <> 'ZERO'.
CONCATENATE 'E' V_EXTENSO2+19(19) 'CENTAVOS )' INTO
C_EXTENSO2
SEPARATED BY SPACE.
ELSE.
MOVE ')' TO
C_EXTENSO2.
ENDIF.
CONCATENATE '(' C_EXTENSO1 'REAIS' C_EXTENSO2 INTO
C_EXTENSO3 SEPARATED BY SPACE.
ENDFORM.
" VALOR_EXTENSO
*&---------------------------------------------------------------------*
*&
Form IMPRIME_SCRIPT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM IMPRIME_SCRIPT.
* Open form of respective DOCTO
CALL FUNCTION 'START_FORM'
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
WRITE 'Error in start_form'(002).
EXIT.
ENDIF.
*
*
*
print position
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'PRINCIPAL'
FUNCTION = 'SET'
TYPE
= 'BODY'
WINDOW
= 'MAIN'
EXCEPTIONS
OTHERS
= 1.
IF SY-SUBRC <> 0.
WRITE 'Error in write_form printing body of main'(004).
EXIT.
ENDIF.
LOOP AT T_VALORES.
print position
CLEAR: V_WRBTR1,
V_HKONT,
V_KOSTL,
V_AUFNR.
SELECT WRBTR INTO V_WRBTR1 UP TO 1 ROWS FROM BSEG
WHERE EBELN = V_EBELN
AND GJAHR = V_ANO
AND EBELP = T_VALORES-EBELP
AND ZEKKN = T_VALORES-ZEKKN.
ENDSELECT.
MOVE: "V_VAL TO T_EKBE-WRBTR, " andreia
T_VALORES-SAKTO TO V_HKONT,
T_VALORES-KOSTL TO V_KOSTL,
T_VALORES-AUFNR TO V_AUFNR.
if w_flag = 'V'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT
= 'DESCRITIVO'
FUNCTION
= 'SET'
TYPE
= 'BODY'
WINDOW
= 'MAIN'
EXCEPTIONS
OTHERS
= 1.
w_flag = 'F'.
endif.
IF SY-SUBRC <> 0.
WRITE '1Error in write_form printing body of main'(004).
EXIT.
ENDIF.
ENDLOOP.
* Close DOCTO FORM
CALL FUNCTION 'END_FORM'
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
WRITE 'Error in end_form'(006).
EXIT.
ENDIF.
" IMPRIME_SCRIPT
*&---------------------------------------------------------------------*
*&
Form FECHA_SCRIPT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM FECHA_SCRIPT.
* close print job
CALL FUNCTION 'CLOSE_FORM'
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
WRITE 'Error in close_form'(007).
EXIT.
ENDIF.
ENDFORM.
" FECHA_SCRIPT