H COPYRIGHT('copyright 2005 EMI-Music France') H OPTION(*NODEBUGIO:*SRCSTMT:*SHOWCPY:*EXT:*SHOWSKP) H DATFMT(*EUR) H DEBUG(*NO) H DECEDIT(',') H DFTNAME(SYS420) ˜************************************************************************** ˜* Spιcifique : EMI ˜* Programme : SYS420 ˜* ˜* Fonction : AFFICHAGE WINDOW INFORMATION ˜* ˜* Mode appel: ˜* ˜* Remarques : Window en mode drag'n drop ˜* ˜*‚Date Crιa.: xx/01/05 Auteur : Y. BOSSE ˜*‚Date Modif Objet modification ˜*‚°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ˜************************************************************************** ‚**----------------------------------------------------------------------** ‚* DECLARATION FICHIERS * ‚**----------------------------------------------------------------------** ‚* Fichier ιcran FSYS420E CF E WORKSTN INFDS(INFECR) ‚**----------------------------------------------------------------------** ‚* DECLARATION DS / ZONES / TABLEAUX * ‚**----------------------------------------------------------------------** ‚* D/COPY QCOPYSRC,CPY_DS_SDS D/COPY QCOPYSRC,CPY_INFECR ‚* D ERRRCD S 1N INZ(*OFF) ‚* D IN S 1N DIM(99) INZ(*OFF) D ERR S 1N DIM(99) INZ(*OFF) ‚* ‚* dιfinition de la position de la fenκtre au 1er affichage šD POSIT_ORIG DS D ExLigDeb 2 0 INZ(7) D ExColDeb 2 0 INZ(20) D ExMaxCol1 3 0 INZ(47) D ExMaxCol3 3 0 INZ(22) D ExMaxCol4 3 0 INZ(22) D ExMaxCol5 3 0 INZ(22) D EXMaxLig1 3 0 INZ(19) D EXMaxLig3 3 0 INZ(18) D EXMaxLig4 3 0 INZ(17) D EXMaxLig5 3 0 INZ(16) ‚* D MaxCol S 3 0 INZ(0) D MaxLig S 3 0 INZ(0) ‚* ‚* ‚**----------------------------------------------------------------------** ‚* CLES D'ACCES FICHIERS ‚**----------------------------------------------------------------------** ‚* ‚* ‚**----------------------------------------------------------------------** ‚* PARAMETRES EN ENTREE * ‚**----------------------------------------------------------------------** ‚* C *ENTRY PLIST C PARM TITREWINDOW 50 C PARM TEXTEEXPLIC 200 ‚* ‰************************************************************************** ‰*------------------------------------------------------------------------* ‰* ˆ DEBUT DE PROGRAMME ‰ * ‰*------------------------------------------------------------------------* ‰************************************************************************** ‚* ‚* ˆC DOW NOT *INRT C IN(01) CASEQ *ON ECR01 C IN(02) CASEQ *ON ECR02 C IN(03) CASEQ *ON ECR03 C IN(04) CASEQ *ON ECR04 C IN(05) CASEQ *ON ECR05 C ENDCS šC IF NOT *INRT C AND NOT IN(01) C AND NOT IN(02) C AND NOT IN(03) C AND NOT IN(04) C AND NOT IN(05) C EVAL IN(01) = *ON šC ENDIF ˆC ENDDO ‚* C MOVE *ON *INLR ‚* ›* ›* €ECRAN 01 LONG 25 2 LIGNES› ›* š************************************************************************** š* ECR01 - CONFIRMATION D'ACTION (LONGUEUR 25) š************************************************************************** ‚* C ECR01 BEGSR ‚* C EVAL IN(01) = *OFF C EVAL LIGDEB = ExLigDeb C EVAL COLDEB = ExColDeb ‚* C WRITE RCD1 ‚* ˆC DOU NOT ERR(01) C EXFMT RCD1 C EVAL ERR(01) = *OFF C EXSR CTLRCDx C EVAL ERR(01) = ERRRCD ˆC ENDDO ‚* C ENDSR ‚* ›* ›* €ECRAN 02 LONG 50 2 LIGNES› ›* š************************************************************************** š* ECR02 - CONFIRMATION D'ACTION (LONGUEUR 50) š************************************************************************** ‚* C ECR02 BEGSR ‚* C EVAL IN(02) = *OFF C EVAL LIGDEB = ExLigDeb C EVAL COLDEB = 10 ‚* C WRITE RCD2 ‚* ˆC DOU NOT ERR(02) C EXFMT RCD2 C EVAL ERR(02) = *OFF C EXSR CTLRCDx C EVAL ERR(02) = ERRRCD ˆC ENDDO ‚* C ENDSR ‚* ›* ›* €ECRAN 03 LONG 50 3 LIGNES› ›* š************************************************************************** š* ECR03 - CONFIRMATION D'ACTION (LONGUEUR 50) š************************************************************************** ‚* C ECR03 BEGSR ‚* C EVAL IN(03) = *OFF C EVAL LIGDEB = ExLigDeb C EVAL COLDEB = ExColDeb ‚* C WRITE RCD3 ‚* ˆC DOU NOT ERR(03) C EXFMT RCD3 C EVAL ERR(03) = *OFF C EXSR CTLRCDx C EVAL ERR(03) = ERRRCD ˆC ENDDO ‚* C ENDSR ‚* ›* ›* €ECRAN 04 LONG 50 4 LIGNES› ›* š************************************************************************** š* ECR04 - CONFIRMATION D'ACTION (LONGUEUR 50) š************************************************************************** ‚* C ECR04 BEGSR ‚* C EVAL IN(04) = *OFF C EVAL LIGDEB = ExLigDeb C EVAL COLDEB = ExColDeb ‚* C WRITE RCD4 ‚* ˆC DOU NOT ERR(04) C EXFMT RCD4 C EVAL ERR(04) = *OFF C EXSR CTLRCDx C EVAL ERR(04) = ERRRCD ˆC ENDDO ‚* C ENDSR ‚* ›* ›* €ECRAN 05 LONG 50 5 LIGNES› ›* š************************************************************************** š* ECR05 - CONFIRMATION D'ACTION (LONGUEUR 50) š************************************************************************** ‚* C ECR05 BEGSR ‚* C EVAL IN(05) = *OFF C EVAL LIGDEB = ExLigDeb C EVAL COLDEB = ExColDeb ‚* C WRITE RCD5 ‚* ˆC DOU NOT ERR(05) C EXFMT RCD5 C EVAL ERR(05) = *OFF C EXSR CTLRCDx C EVAL ERR(05) = ERRRCD ˆC ENDDO ‚* C ENDSR ‚* ™* ™* €COMMUN ™ ™* ˜************************************************************************** ˜* CTLRCDx - CONTROLE ECRAN ˜************************************************************************** ‚* C CTLRCDx BEGSR ‚* C EVAL ERRRCD = *OFF ‚* ˜C SELECT ‚* ENTREE ˜C WHEN KEY = ΰENTER C EXSR RCDxENT ‚* F01 AIDE SUR ZONE ˜C WHEN KEY = ΰF01 C EXSR RCDxF01 ‚* F08 ANNULER/PRECEDENT ˜C WHEN KEY = ΰF08 C EXSR RCDxF08 ‚* F24 DRAG'N DROP FENETRE (clique souris attachι ΰ cette fonction) ˜C WHEN KEY = ΰF24 C EXSR RCDxF24 ‚* AUTRE ˜C OTHER C EVAL ERRRCD = *ON ‚* ˜C ENDSL ‚* C ENDSR ‚* ˜************************************************************************** ˜* RCDxENT - ENTREE ˜************************************************************************** ‚* C RCDxENT BEGSR ‚* C EXSR CHK_FONCTION ˜C IF NOT ERRRCD AND NOT *INRT C EXSR DRAGNDROP ˜C ENDIF ‚* C ENDSR ‚* ˜************************************************************************** ˜* RCDxF01 - AIDE SUR ZONE ˜************************************************************************** ‚* C RCDxF01 BEGSR ‚* C* CALL 'TFSI0000' C* PARM 'TFSI0010' APROGRAMME 10 C* PARM CURECR AECRAN 10 C* PARM CURFMT AFORMAT 10 C* PARM CURZON AZONE 10 C EVAL ERRRCD = *ON ‚* C ENDSR ‚* ˜************************************************************************** ˜* RCDxF08 - ANNULER / PRECEDENT ˜************************************************************************** ‚* C RCDxF08 BEGSR ‚* C EVAL *INRT = *ON ‚* C ENDSR ‚* ˜************************************************************************** ˜* RCDxF24 - DRAG'N DROP WINDOWS ˜************************************************************************** ‚* C RCDxF24 BEGSR ‚* C EXSR DRAGNDROP ‚* C ENDSR ‚* ˜************************************************************************** ˜* CHK_FONCTION - controle si bouton fonction ˜************************************************************************** ‚* C CHK_FONCTION BEGSR ‚* ˆC SELECT ˆC WHEN FONCTION = 1 C EVAL *INRT = *ON ˆC ENDSL ‚* C ENDSR ‚* ‚* ˜************************************************************************** ˜* DRAGNDROP - repositionnement de la fenκtre ˜************************************************************************** ‚* C DRAGNDROP BEGSR ‚* ˆC IF (WCOL1 - 1) > MaxCol C EVAL COLDEB = MaxCol ˆC ELSE ˜C IF (WCOL1 - 1) <= 1 C EVAL COLDEB = 2 ˜C ELSE C EVAL COLDEB = WCOL1 - 1 ˜C ENDIF ˆC ENDIF ‚* ˆC IF (WLIG1 - 1) > MaxLig C EVAL LIGDEB = MaxLig ˆC ELSE ˜C IF (WLIG1 - 1) <= 1 C EVAL LIGDEB = 2 ˜C ELSE C EVAL LIGDEB = WLIG1 - 1 ˜C ENDIF ˆC ENDIF ‚* C EVAL ERRRCD = *ON ‚* C ENDSR ‚* ‰************************************************************************** ‰*ˆ*INZSR - DEBUT PROGRAMME ‰************************************************************************** ‚* C *INZSR BEGSR ‚* ‚* ˆC IF PARMS < 2 C EVAL *INLR = *ON ˆC ELSE ‚* C EVAL VTITRE50 = %TRIM(TITREWINDOW) C EVAL VTITRE25 = %TRIM(TITREWINDOW) C EVAL TEXT125 = %TRIM(TEXTEEXPLIC) C EVAL TEXT150 = %TRIM(TEXTEEXPLIC) C EVAL TEXT250 = %SUBST(TEXTEEXPLIC:51) C EVAL TEXT350 = %SUBST(TEXTEEXPLIC:101) C EVAL TEXT450 = %SUBST(TEXTEEXPLIC:151) ‚* ˜C SELECT ˜C WHEN %LEN(%TRIM(TITREWINDOW)) > 150 ˜C OR %LEN(%TRIM(TEXTEEXPLIC)) > 150 C EVAL IN(05) = *ON C EVAL MaxCol = ExMaxCol5 C EVAL MaxLig = ExMaxLig5 ˜C WHEN %LEN(%TRIM(TITREWINDOW)) > 100 ˜C OR %LEN(%TRIM(TEXTEEXPLIC)) > 100 C EVAL IN(04) = *ON C EVAL MaxCol = ExMaxCol4 C EVAL MaxLig = ExMaxLig4 ˜C WHEN %LEN(%TRIM(TITREWINDOW)) > 50 ˜C OR %LEN(%TRIM(TEXTEEXPLIC)) > 50 C EVAL IN(03) = *ON C EVAL MaxCol = ExMaxCol3 C EVAL MaxLig = ExMaxLig3 ˜C WHEN %LEN(%TRIM(TITREWINDOW)) > 25 ˜C OR %LEN(%TRIM(TEXTEEXPLIC)) > 25 C EVAL IN(02) = *ON C EVAL MaxCol = ExMaxCol1 C EVAL MaxLig = ExMaxLig1 ˜C OTHER C EVAL IN(01) = *ON C EVAL MaxCol = ExMaxCol1 C EVAL MaxLig = ExMaxLig1 ˜C ENDSL ‚* ˆC ENDIF ‚* C ENDSR ‚*