OPALE - 10.0 - Utilisation - Tri et regroupement de spools - MAPSORTPAG

Différence entre versions

De MappingDoc
(Cette version a été marquée pour être traduite)
Ligne 1 : Ligne 1 :
 
<translate>
 
<translate>
===CHGSPLFA avec MAPSORTPAG===
+
===CHGSPLFA avec MAPSORTPAG=== <!--T:1-->
 
Le client veut modifier le FORMTYPE de son spool généré par le MAPSORTSPL
 
Le client veut modifier le FORMTYPE de son spool généré par le MAPSORTSPL
  
 +
<!--T:2-->
 
2 cas :
 
2 cas :
  
 +
<!--T:3-->
 
1.
 
1.
 
S’il n’a qu’un seul spool en sortie du MAPSORTSPL, il peut ajouter la commande CHGSPLFA  
 
S’il n’a qu’un seul spool en sortie du MAPSORTSPL, il peut ajouter la commande CHGSPLFA  
Ligne 10 : Ligne 12 :
 
CHGSPLFA FILE(MYSPOOL) SPLNBR(*LAST) FORMTYPE(MYFORMTYPE)
 
CHGSPLFA FILE(MYSPOOL) SPLNBR(*LAST) FORMTYPE(MYFORMTYPE)
  
 +
<!--T:4-->
 
Où MYSPOOL est le nom du spool généré par sa commande MAPSORTSPL
 
Où MYSPOOL est le nom du spool généré par sa commande MAPSORTSPL
  
  
 +
<!--T:5-->
 
2.
 
2.
 
S’il peut avoir plusieurs spools en sortie du MAPSORTSPL, il faut qu’il repasse une action sur  
 
S’il peut avoir plusieurs spools en sortie du MAPSORTSPL, il faut qu’il repasse une action sur  
Ligne 22 : Ligne 26 :
 
Définir sa relation spool action pour ces spools
 
Définir sa relation spool action pour ces spools
  
===MAPSORTPAG_v7-et Report===
+
===MAPSORTPAG_v7-et Report=== <!--T:6-->
  
 +
<!--T:7-->
 
Pour pouvoir séparer un pli de plus de 8 pages en autant de plis que bécessaire, (si une facture fait 10 pages, l'enveloppe sera fermée sur la 8 ème page et une nouvelle enveloppe sera insérée pour les 2 pages suivantes), utilisez le paramètre QUOTA. Positionnez sa valeur à 8.
 
Pour pouvoir séparer un pli de plus de 8 pages en autant de plis que bécessaire, (si une facture fait 10 pages, l'enveloppe sera fermée sur la 8 ème page et une nouvelle enveloppe sera insérée pour les 2 pages suivantes), utilisez le paramètre QUOTA. Positionnez sa valeur à 8.
 
--> Pas besoin de passer le paramètre CONTROLE à 'V' et le SORTPAGE à 'O' dans ce cas.
 
--> Pas besoin de passer le paramètre CONTROLE à 'V' et le SORTPAGE à 'O' dans ce cas.
Ligne 29 : Ligne 34 :
  
  
 +
<!--T:8-->
 
ctrl nb pages dans pf:
 
ctrl nb pages dans pf:
 
req SQL
 
req SQL
Ligne 34 : Ligne 40 :
  
  
 +
<!--T:9-->
 
SOLUTION + de 66 lignes:
 
SOLUTION + de 66 lignes:
 
CHGPRTF MAPOUT
 
CHGPRTF MAPOUT
Ligne 39 : Ligne 46 :
  
  
 +
<!--T:10-->
 
28/10/2010
 
28/10/2010
  
 +
<!--T:11-->
 
MAPSORTPAG > problème récup Haut. spool > 66 lignes
 
MAPSORTPAG > problème récup Haut. spool > 66 lignes
  
 +
<!--T:12-->
 
_________________________________________________________________________________
 
_________________________________________________________________________________
  
   test 180 sous MAP400/UCS2)  
+
   <!--T:13-->
 +
test 180 sous MAP400/UCS2)  
 
   +++++++++++++++++++++++++++++++
 
   +++++++++++++++++++++++++++++++
  
  
 +
<!--T:14-->
 
###################
 
###################
 
# spool en entrée #  >>>  R58SA127 OUTQ/LIB > SYLVAIN/MAP400
 
# spool en entrée #  >>>  R58SA127 OUTQ/LIB > SYLVAIN/MAP400
 
###################
 
###################
  
  Taille de la page :                             
+
  <!--T:15-->
 +
Taille de la page :                             
 
   Hauteur  . . . . . . . . . . . . . . :  72   
 
   Hauteur  . . . . . . . . . . . . . . :  72   
 
   Largeur  . . . . . . . . . . . . . . :  134 
 
   Largeur  . . . . . . . . . . . . . . :  134 
  
  
 +
<!--T:16-->
 
#############
 
#############
 
# commande: #
 
# commande: #
Ligne 63 : Ligne 77 :
  
  
  ===> MAPSORTPAG SPLF(R58SA127) SPLNUM(39) JOB(QPRTJOB) JOBNUM(391742) USER(SDAN
+
  <!--T:17-->
 +
===> MAPSORTPAG SPLF(R58SA127) SPLNUM(39) JOB(QPRTJOB) JOBNUM(391742) USER(SDAN
 
GEL) KEYLINE(4) KEYCOL(66) KEYLGN(14) SPLFNAME(R58SA127_S) OUTQ(SYLVAIN) OUTQLIB (MAP400)                                                                         
 
GEL) KEYLINE(4) KEYCOL(66) KEYLGN(14) SPLFNAME(R58SA127_S) OUTQ(SYLVAIN) OUTQLIB (MAP400)                                                                         
  
Ligne 69 : Ligne 84 :
  
  
 +
<!--T:18-->
 
>>>>>>> indication >>>  CHGPRTF MAPOUT  pour hauteur
 
>>>>>>> indication >>>  CHGPRTF MAPOUT  pour hauteur
  
 +
<!--T:19-->
 
______________________________________________________________________________
 
______________________________________________________________________________
  
 +
<!--T:20-->
 
probleme mapsortpag avec mapreport suite passage v7
 
probleme mapsortpag avec mapreport suite passage v7
  
 +
<!--T:21-->
 
commandes SQL pour préparer SORTSIZUTF*:  (une bonne fois pour toute)
 
commandes SQL pour préparer SORTSIZUTF*:  (une bonne fois pour toute)
 
*(PF tampon pour création auto du PF de MAPSORTPAG)
 
*(PF tampon pour création auto du PF de MAPSORTPAG)
  
 +
<!--T:22-->
 
<code>
 
<code>
 
ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN PAGES SET DATA TYPE CHAR(10)  CCSID 1208
 
ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN PAGES SET DATA TYPE CHAR(10)  CCSID 1208
Ligne 93 : Ligne 113 :
 
</code>
 
</code>
  
 +
<!--T:23-->
 
dans chaque commande MAPRUNRPT:
 
dans chaque commande MAPRUNRPT:
 
ajouter paramètre:  DB.MAPPING_DATASTREM=UCS2
 
ajouter paramètre:  DB.MAPPING_DATASTREM=UCS2
Ligne 98 : Ligne 119 :
  
  
 +
<!--T:24-->
 
---------------------
 
---------------------
  
 +
<!--T:25-->
 
La documentation :
 
La documentation :
  
 +
<!--T:26-->
 
Dans strsql, les données ne sont plus visualisable, il faut donc les convertir à la volée :
 
Dans strsql, les données ne sont plus visualisable, il faut donc les convertir à la volée :
 
  select cast(prtdta as char(255) ccsid 1147) from alexis/sortsizutf     
 
  select cast(prtdta as char(255) ccsid 1147) from alexis/sortsizutf     
  
  
 +
<!--T:27-->
 
Dans MapReport :
 
Dans MapReport :
 
Les données sont nativement lues en UTF-8.  
 
Les données sont nativement lues en UTF-8.  
 
Il n’y a donc aucune modification à apporter pour une lecture simple d’une table :
 
Il n’y a donc aucune modification à apporter pour une lecture simple d’une table :
  
                 Read(mytable,"Select \"PRTDTA FROM TEST.ANTO\" ") { }
+
                 <!--T:28-->
 +
Read(mytable,"Select \"PRTDTA FROM TEST.ANTO\" ") { }
 
                 Write(mytable,0) { }
 
                 Write(mytable,0) { }
 
                 NextRead() { }
 
                 NextRead() { }
  
  
 +
<!--T:29-->
 
La seule condition est de lancer la commande maprunrpt avec le paramètre DB.MAPPING_DATASTREAM=UCS2 (sinon les caractères multi octet ne seront pas pris en charge)
 
La seule condition est de lancer la commande maprunrpt avec le paramètre DB.MAPPING_DATASTREAM=UCS2 (sinon les caractères multi octet ne seront pas pris en charge)
  
  
 +
<!--T:30-->
 
Attention :  
 
Attention :  
  
 +
<!--T:31-->
 
Lorsqu’on souhaite faire un lien entre une table classique en EBCDIC et une table en UTF-8, la clause where TABLE_EBCDIC.CHAMP1 = TABLE_UTF8.CHAMP1 ne marche plus.  
 
Lorsqu’on souhaite faire un lien entre une table classique en EBCDIC et une table en UTF-8, la clause where TABLE_EBCDIC.CHAMP1 = TABLE_UTF8.CHAMP1 ne marche plus.  
 
C’est logique car les datas ne sont pas dans le mêmes encodage. Pour cela, il faut appliquer un cast sur les champs :
 
C’est logique car les datas ne sont pas dans le mêmes encodage. Pour cela, il faut appliquer un cast sur les champs :
 
Read(TABLE_UTF8,"Select … From … Where cast(BIB.TABLE_UTF8.CRITERE0 as char(8) ccsid 37) =  $TABLE_EBCDIC.CRITERE ") { }
 
Read(TABLE_UTF8,"Select … From … Where cast(BIB.TABLE_UTF8.CRITERE0 as char(8) ccsid 37) =  $TABLE_EBCDIC.CRITERE ") { }
  
 +
<!--T:32-->
 
Ici, on a casté le champ CRITERE0 de la table UTF8 en ccsid 37 (ebcdic) pour que la base puisse faire la comparaison.
 
Ici, on a casté le champ CRITERE0 de la table UTF8 en ccsid 37 (ebcdic) pour que la base puisse faire la comparaison.
 
</translate>
 
</translate>

Version du 23 mai 2019 à 14:58

CHGSPLFA avec MAPSORTPAG

Le client veut modifier le FORMTYPE de son spool généré par le MAPSORTSPL

2 cas :

1. S’il n’a qu’un seul spool en sortie du MAPSORTSPL, il peut ajouter la commande CHGSPLFA dans la même action avec une commande du genre CHGSPLFA FILE(MYSPOOL) SPLNBR(*LAST) FORMTYPE(MYFORMTYPE)

Où MYSPOOL est le nom du spool généré par sa commande MAPSORTSPL


2. S’il peut avoir plusieurs spools en sortie du MAPSORTSPL, il faut qu’il repasse une action sur tous les spools en sortie, ça signifie Créer les spools en sortie de MAPSORTSPL dans une Outq d’entrée du robot Créer une nouvelle action pour modifier le FORMTYPE et déplacer les spools dans l’Outq d’impression : ex. CHGTYPE avec la commande CHGSPLFA FILE(&SPLF) JOB(&JOBNU/&USER/&JOB) SPLNBR(&SPLNUM) FORMTYPE(MYFORMTYPE) OUTQ(MYLIB/MYPRINTER) Définir sa relation spool action pour ces spools

MAPSORTPAG_v7-et Report

Pour pouvoir séparer un pli de plus de 8 pages en autant de plis que bécessaire, (si une facture fait 10 pages, l'enveloppe sera fermée sur la 8 ème page et une nouvelle enveloppe sera insérée pour les 2 pages suivantes), utilisez le paramètre QUOTA. Positionnez sa valeur à 8. --> Pas besoin de passer le paramètre CONTROLE à 'V' et le SORTPAGE à 'O' dans ce cas. Cordialement,


ctrl nb pages dans pf: req SQL select count(*) from SYLTST2/FA_EDA901 where numlgn = '0'


SOLUTION + de 66 lignes: CHGPRTF MAPOUT


28/10/2010

MAPSORTPAG > problème récup Haut. spool > 66 lignes

_________________________________________________________________________________

  test 180 sous MAP400/UCS2) 
 +++++++++++++++++++++++++++++++


  1. spool en entrée # >>> R58SA127 OUTQ/LIB > SYLVAIN/MAP400
Taille de la page :                             
  Hauteur  . . . . . . . . . . . . . . :   72   
  Largeur  . . . . . . . . . . . . . . :   134  	


  1. commande: #


===> MAPSORTPAG SPLF(R58SA127) SPLNUM(39) JOB(QPRTJOB) JOBNUM(391742) USER(SDAN

GEL) KEYLINE(4) KEYCOL(66) KEYLGN(14) SPLFNAME(R58SA127_S) OUTQ(SYLVAIN) OUTQLIB (MAP400)



>>>>>>> indication >>> CHGPRTF MAPOUT pour hauteur

______________________________________________________________________________

probleme mapsortpag avec mapreport suite passage v7

commandes SQL pour préparer SORTSIZUTF*: (une bonne fois pour toute)

  • (PF tampon pour création auto du PF de MAPSORTPAG)

ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN PAGES SET DATA TYPE CHAR(10) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN PRTDTA SET DATA TYPE CHAR(1134) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN CRITERE0 SET DATA TYPE CHAR(120) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN CRITERE1 SET DATA TYPE CHAR(120) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN CRITERE2 SET DATA TYPE CHAR(120) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN CRITERE3 SET DATA TYPE CHAR(120) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN CRITERE4 SET DATA TYPE CHAR(120) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN CRITERE5 SET DATA TYPE CHAR(120) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN CRITERE6 SET DATA TYPE CHAR(120) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN CRITERE7 SET DATA TYPE CHAR(120) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN CRITERE8 SET DATA TYPE CHAR(120) CCSID 1208 ALTER TABLE MAP400/SORTSIZUTF ALTER COLUMN CRITERE9 SET DATA TYPE CHAR(120) CCSID 1208

dans chaque commande MAPRUNRPT: ajouter paramètre: DB.MAPPING_DATASTREM=UCS2



La documentation :

Dans strsql, les données ne sont plus visualisable, il faut donc les convertir à la volée :

select cast(prtdta as char(255) ccsid 1147) from alexis/sortsizutf    


Dans MapReport : Les données sont nativement lues en UTF-8. Il n’y a donc aucune modification à apporter pour une lecture simple d’une table :

               Read(mytable,"Select \"PRTDTA FROM TEST.ANTO\" ") { }
               Write(mytable,0) { }
               NextRead() { }


La seule condition est de lancer la commande maprunrpt avec le paramètre DB.MAPPING_DATASTREAM=UCS2 (sinon les caractères multi octet ne seront pas pris en charge)


Attention :

Lorsqu’on souhaite faire un lien entre une table classique en EBCDIC et une table en UTF-8, la clause where TABLE_EBCDIC.CHAMP1 = TABLE_UTF8.CHAMP1 ne marche plus. C’est logique car les datas ne sont pas dans le mêmes encodage. Pour cela, il faut appliquer un cast sur les champs : Read(TABLE_UTF8,"Select … From … Where cast(BIB.TABLE_UTF8.CRITERE0 as char(8) ccsid 37) = $TABLE_EBCDIC.CRITERE ") { }

Ici, on a casté le champ CRITERE0 de la table UTF8 en ccsid 37 (ebcdic) pour que la base puisse faire la comparaison.