home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / commercialdemos / gestacomptedemo / scripts_arexx / remisecheque1.rexx < prev    next >
OS/2 REXX Batch file  |  1997-10-28  |  5KB  |  155 lines

  1. /** $VER: RemiseCheque1 1.1 (30.09.97)
  2.  ** Auteur: Fabrice SABATIER
  3.  **
  4.  ** Commande ARexx sous GestaLivre V2.0.
  5.  **
  6.  ** Utilisation de FinalCopy® ou FinalWriter® pour imprimer les remise de chèques.
  7.  **
  8.  **/
  9.  
  10. OPTIONS RESULTS
  11.  
  12. Tab            = '09'x      /* caractère de tabulation */
  13. NL             = '0a'x      /* caractère Retour chariot */
  14.  
  15. /*****************  Définit les variables d'environnement   ***********************/
  16.  
  17. ADDRESS COMMAND "SYS:Rexxc/rx ENV:GestaCompte.ARexxPréfs" /* execute le script de définitions des préférences */
  18. NOM_PORT_LIVRE   =GETCLIP('Port_Livre')
  19. NOM_ECRAN_PUB    =GETCLIP('Ecran_Livre')
  20. NOM_PORT_FINAL   =GETCLIP('Port_TraitementTexte')
  21. REPERTOIRE       =GETCLIP('Chemin')
  22.  
  23. /************************************************************************/
  24.  
  25. IF NOM_PORT_FINAL='FINALC.1' THEN Ecran='ScrToFront'
  26. IF NOM_PORT_FINAL='FINALW.1' THEN Ecran='ScreenToFront'
  27.  
  28. SIGNAL ON SYNTAX            /* détourne les messages d'erreurs */
  29.  
  30. IF~SHOW(L,"rexxsupport.library")THEN DO
  31.  IF~ADDLIB("rexxsupport.library",0,-30,0) THEN DO
  32.      SAY "rexxsupport.library est introuvable !"
  33.      EXIT
  34.  END
  35. END
  36. /* ouvre la library rexxreqtools.library pour les messages d'erreurs */
  37. call addlib("rexxreqtools.library",0,-30,0)
  38.  
  39. FinalCopy_II=1
  40. IF~SHOW(p,NOM_PORT_FINAL) THEN DO
  41.   FinalCopy_II=0
  42.   ADDRESS COMMAND "RUN >NIL: "||REPERTOIRE||" >NIL:"
  43.   DO 10
  44.      IF SHOW(p,NOM_PORT_FINAL) THEN DO
  45.          FinalCopy_II=1
  46.          LEAVE
  47.          END
  48.      CALL DELAY(100)
  49.   END
  50. END
  51.  
  52. IF FinalCopy_II THEN DO
  53.  
  54.  
  55. ADDRESS VALUE NOM_PORT_LIVRE /* adresse du port Arexx du livre de caisse */
  56. wait 5
  57. exportdata ASCII "ram:export"
  58. ADDRESS VALUE NOM_PORT_FINAL /* Adresse du port ARexx de FinalCopy® */
  59. open "GESTA:FeuillesDeStyle/RemisedeCheque.final"     /* ouvre le fichier RemisedeCheque.final */
  60.  
  61. SommeTotal=0
  62.  
  63. x=OPEN('infos','ram:export','R') /* ouvre le fichier exporté */
  64. DO i=1 BY 1 WHILE ~EOF('infos')  /* lit ce fichier jusqu'à la fin */
  65. ligne.i=READLN('infos')          /* et le place dans le tableau indicé i */
  66. END
  67.  
  68. ligne.0=i-1            /* place le nombre de lignes du tableau en 0 */
  69. x=CLOSE('infos')       /* ferme le fichier */
  70.  
  71. IF ligne.0>40 THEN ligne.0=40
  72.  
  73. Ecran
  74.  
  75. altdown            /* positionne le curseur en début de page */
  76. ctrldown
  77. cursor up
  78. altup
  79. ctrlup
  80.  
  81. UpdateDate         /* mise à jour de la date */
  82.  
  83. DO i=1 TO 9        /* positionne le curseur dans le tableau */
  84.  cursor down
  85.  END
  86.  
  87. DO i=1 TO ligne.0-1         /* passe toutes les lignes du tableau en revue */
  88.  PARSE VAR ligne.i jour '/' mois '/' nature '/' somme '/' libelle '/' compte '/' NumCheque '/' Banque '/' Nom '/' .
  89.  
  90. FICHIER="GESTA:Bordereaux/BordBanque1Du_" || jour || mois  /* chemin et nom du fichier sauvegardé */
  91.  
  92.  IF LEFT(nature,5)="Bank1" THEN DO    /* envoi à Final Copy les transactions de Banque1 */
  93.  
  94.  IF Banque= "CL" THEN Banque= "Crédit Lyonnais"
  95.  IF Banque= "SG" THEN Banque= "Société Générale"
  96.  IF Banque= "SMC" THEN Banque= "Société Marseillaise de Crédit"
  97.  IF Banque= "CA" THEN Banque= "Crédit Agricole"
  98.  IF Banque= "CFF" THEN Banque= "Crédit Foncier de France"
  99.  IF Banque= "CM" THEN Banque= "Crédit Mutuel"
  100.  IF Banque= "CCP" THEN Banque= "Compte Chèque Postal"
  101.  
  102.  type Tab /* envoie le caractère de tabulation 09 en ASCII */
  103.  type nom /* saisie de la ligne */
  104.  type Tab
  105.  type NumCheque
  106.  type Tab
  107.  type Banque
  108.  type Tab
  109.  type somme
  110.  NewParagraph
  111.  SommeTotal=SommeTotal+somme
  112.  END
  113.  
  114. END
  115.  
  116. altdown            /* positionne le curseur en début de page */
  117. ctrldown
  118. cursor up
  119. altup
  120. ctrlup
  121.  
  122. DO i=1 TO 49       /* positionne le curseur en fin de page */
  123.  cursor down
  124.  END
  125.  type Tab
  126.  type SommeTotal
  127.  
  128.  Save FICHIER  
  129. /*Print*/
  130. /*Quit*/
  131.  
  132. ADDRESS COMMAND 'delete ram:export' /* libère la mémoire */
  133.  
  134. END
  135. EXIT
  136.  
  137. /* Traite les messages d'erreurs */
  138. SYNTAX:
  139. IF RC=13 THEN call rtezrequest( "      Environnement serveur non trouvé !!!" || NL || NL ||,
  140.                                 "Le nom du port ARexx utilisé dans le script est : "|| NL || NL ||,
  141.                                 "-----------------------------------------------"|| NL ||,
  142.                                 "                  " || NOM_PORT_LIVRE || NL ||,
  143.                                 "-----------------------------------------------"|| NL || NL ||,
  144.                                 "Note : Pour réparer ceci, veuillez fermer le module"|| NL ||,
  145.                 "       'Livre' et modifier le type d'outil 'REXX' de"|| NL ||,
  146.                 "       l'icône, puis le relancer."|| NL || NL ||,
  147.                 "       ATTENTION aux minuscules/majuscules      ",,
  148.                 "OK", "Informations","rt_pubscrname="||NOM_ECRAN_PUB "rt_font=Gestacompte.font/8")
  149. ELSE call rtezrequest(errortext(RC),"Vu",,"rt_pubscrname="||NOM_PORT_LIVRE "rt_font=Gestacompte.font/8")
  150.  
  151. ADDRESS VALUE NOM_PORT_FINAL
  152. QUIT (force)
  153.  
  154. EXIT
  155.