Ver Mensaje Individual
  #4
Antiguo 17 de abril de 2015, 23:04
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

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:
  1.  FILE-CONTROL.
  2.     SELECT FILE9 ASSIGN TO PRTFILE
  3.        ORGANIZATION IS SEQUENTIAL
  4.        ACCESS MODE  IS SEQUENTIAL
  5.        FORMAT IS PRT-FORMAT
  6.        GROUP  IS PRT-GROUP
  7.        FILE STATUS IS FS-FILE9.
  8.  DATA            DIVISION.
  9.  FILE SECTION.
  10.  FD FILE9.
  11.     COPY RBAS002 OF XMDLIB.
  12.  WORKING-STORAGE SECTION.
  13.  
  14. PROCEDURE DIVISION.
  15.  
  16. *
  17.     OPEN OUTPUT FILE9.
  18.     INITIALIZE RBAS002.
  19.     MOVE "RBAS002" TO PRT-FORMAT.
  20.  
  21.     MOVE EMPNOME TO CAB01-01 OF RBAS002.
  22.     MOVE "LISTAGEM DE DISTRITOS" TO CAB01-02 OF RBAS002.
  23.         WRITE RBAS002  AFTER ADVANCING PAGE.
  24.         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
Rapinto is offline   Responder Con Cita