Josber,
O powerForm é bastante bom para listagens.
Podes desenhar o modelo de documento que pretendes, conforme quiseres.
Os ficheiros PMD contém uma espécie de FD (File Description) da impressão.
Os ficheiros OVD contem a parte "gráfica" do Documento. Por exemplo, imagens (fixas ou carregadas em Run-Time), Linhas quadros, etc.
São necessários os dois ficheiros em run-time para que funcione bem.
Por Exemplo:
Tenho uma PowerForm chamada RBAS002.PMD e RBAS002.OVD
Código COBOL:
FILE-CONTROL.
SELECT FILE9 ASSIGN TO PRTFILE
ORGANIZATION IS SEQUENTIAL
ACCESS MODE IS SEQUENTIAL
FORMAT IS PRT-FORMAT
GROUP IS PRT-GROUP
FILE STATUS IS FS-FILE9.
DATA DIVISION.
FILE SECTION.
FD FILE9.
COPY RBAS002 OF XMDLIB.
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.
*
OPEN OUTPUT FILE9.
INITIALIZE RBAS002.
MOVE "RBAS002" TO PRT-FORMAT.
MOVE EMPNOME TO CAB01-01 OF RBAS002.
MOVE "LISTAGEM DE DISTRITOS" TO CAB01-02 OF RBAS002.
WRITE RBAS002 AFTER ADVANCING PAGE.
CLOSE FILE9.
Deves ter também um ficheiros definido em COBOL85.CBR com a linha:
PRTFILE=.\RPS.PRT
(RPS.PRT foi como eu chamei ao ficheiro. Pode ser outro nome qualquer)
Esse ficheiro RPS.PRT contem as seguintes linhas:
Código:
*************************************************
* Printer Information file
*************************************************
COPYG 1
FORMKIND C
SUPLY NO
PRTNAME "BULLZIP PDF PRINTER"
MEDDIR "D:\RPS14_SRC\FORMS"
OVLPDIR "D:\RPS14_SRC\FORMS"
MEDIADIR "D:\RPS14_SRC\FORMS"
PRTID "R.P.S. - Documento"
PREVIEW 0
PRTDIALG "Y"
SETPRTDIALOG 0
**************************************************
Neste ficheiro COPYG é o numero de Copias
FORMKIND é o tipo de papel (Continuo ou folha a folha
PRTNAME é o nome da impressora (Este PRTNAME é o que aparece na Select)
MEDDIR é onde estãi os ficheiros PMD
OVLPDIR é onde estão os ficheiros PVD
PRTID é o nome do documento
PREVIEW 0 ou 1 permite fazer o preview)
Esta explicação está um pouco longa.
Mas se tiveres mais alguma dúvida, diz-me. (eu tenho na minha aplicação mais de 700 listagens e documentos (700 PMD e 700 OVD e sempre funcionou tudo muito bem.
Saludos,
Rui Pinto