Gracias Pedro.

Saludos.
Juan Carlos.

> -----Mensaje original-----
> De:   Pinedo Pedro [SMTP:[EMAIL PROTECTED]
> Enviado el:   martes, 26 de octubre de 2004 8:43
> Para: [EMAIL PROTECTED]
> Asunto:       RE: Dos preguntas
> 
> Yo este fichero de texto lo paso a un fichero de base de datos
> (en el anterior mensaje el directorio era el raiz /)
> CHGVAR     VAR(&TEXTO) VALUE('ls -l -R /' *CAT +       
>              &NOMDIR *TCAT ' > /QDLS/MERCHE/Docs2.txt')
> STRQSH     CMD(&TEXTO)                                 
>               MONMSG     MSGID(CPF0000)                              
> CPYFRMPCD  FROMFLR(MERCHE) TOFILE(AULIBD/AUDOS2F) +    
>              FROMDOC(DOCS2.TXT) TRNTBL(*NONE) +        
>              TRNFMT(*NOTEXT)  
>               MONMSG     MSGID(CPF0000)
> 
>      ******************************************************      
>  *  FICHERO DE DIRECTORIOS               AUDOS2F      *      
>  ******************************************************      
> A*                                                           
> A          R RDOS2                     TEXT('texto')
> A*                                                           
> A            NOMDI1       150          TEXT('NOMBRE')        
> A*
> 
> 
> Lo proceso con 
>                           
> CLRPFM     FILE(AUDOSOF)                           
> CALL       PGM(AUDOSC2)                            
> H DECEDIT('0,') DATEDIT(*DMY.)                                       
> Faudos2f   Ip   E             DISK                                   
> Faudosof   o  a E             DISK                                   
> H*                                                                   
> D TEX             S              1    DIM(150)                       
> D CAM             S              1    DIM(150)                       
> C                   Z-ADD     1             N                 3 0    
> C  n99              Z-ADD     1             Z                 3 0    
> c                   seton                                        99  
> c                   movea     nomdi1        cam                      
> C                   SETOFF                                       41  
> C     N             DOWLE     150                                    
> C     CAM(n)        IFEQ      x'25'                                  
> C     CAM(n)        orEQ      x'61'                                  
> C     z             DOWLE     150                                    
> C                   MOVE      ' '           TEX(Z)                   
> C                   ADD       1             Z                        
> c                   enddo                                            
> c                   movea     tex           nomdir                   
> c                   movel     nomdir        camp              6      
> c                   movel     nomdir        cam1              1      
> c                   if        not(camp='total:') and                 
> c                             not(camp='      ')                     
> c*                            not(camp='      ') and                 
> c*                            not(cam1='/')                          
> c                   write     rdoso                                  
> c                   end                                              
> c                   z-add     0             z                        
> C                   ELSE                                             
> c                   if        not(cam(n)=x'00')                      
> C                   MOVE      CAM(N)        TEX(Z)                   
> C                   END                                              
> C                   END                                              
> C                   ADD       1             Z                        
> C                   ADD       1             N                        
> C                   ENDDO                                            
> clr                 exsr      final                                  
> C     final         BEGSR                                            
> C     z             DOWLE     150                                    
> C                   MOVE      ' '           TEX(Z)                   
> C                   ADD       1             Z                        
> c                   enddo                                            
> c                   movea     tex           nomdir                   
> c                   movel     nomdir        camp                     
> c                   movel     nomdir        cam1                     
> c                   if        not(camp='total:') and                 
> c                             not(camp='      ')                     
> c*                            not(camp='      ') and                 
> c*                            not(cam1='/')                          
> c                   write     rdosO                                  
> c                   end                                          
> C                   ENDSR                                        
> ****************** Fin de datos *********************************
> 
> 
> Dejando los datos en audosof
> 
>  ******************************************************      
>  *  FICHERO DE DIRECTORIOS               AUDOSOF      *      
>  ******************************************************      
> A*                                                           
> A          R RDOSO                     TEXT('ficheros')
> A*                                                           
> A            NOMDIR       150          TEXT('NOMBRE')        
> A*                                                           
> ************* Fin de datos **********************************
> Y para extraer los ficheros de ahi
>                                    
> CALL       PGM(AUDOSC3) PARM(&NOMDIR &A &M &D &T) 
> MONMSG     MSGID(CPF0000)                         
> 
> H DECEDIT('0,') DATEDIT(*DMY.)                                        
> FaudosOf   Ip   E             DISK                                    
> Fauocuif   O  a E             DISK                                    
> H*                                                                   A
> D TEX             S              1    DIM(150)                        
> D CAM             S              1    DIM(60)                         
> D C10             S              1    DIM(10)                         
> D C10i            S              1    DIM(10)                         
> D lev             S              3  0 DIM(999) inz                    
> D                 DS                                                  
> D  A�O                    1      4  0                                 
> D  MES                    5      6  0                                 
> D  DIA                    7      8  0                                 
> D  FECHA                  1      8  0                                 
> D  nomdir         DS                                                  
> d  fecnom                45     56                                    
>  *                                                                 
>  * PARMETROS TRANSFERIDOS                                          
>  *                                                                 
> c                   if        not(*in99)                           
> c                   z-add     1             level             4 0  
> C     *ENTRY        PLIST                                          
> C                   PARM                    direc            10    
> C                   PARM                    a                 2    
> C                   PARM                    m                 2    
> C                   PARM                    d                 2    
> C                   PARM                    t                 6    
> c     clave         klist                                          
> C                   KFLD                    ODDBNM                 
> C                   KFLD                    ODDLEV                 
> C                   KFLD                    ODDord                 
> C                   KFLD                    ODOBNM                 
> C                   KFLD                    ODOTIP                 
> c                   move      *blanks       blancos         150     
> c                   seton                                        99 
> c                   end                                             
> c                   movea     blancos       tex                     
> c                   movea     blancos       cam                     
> c                   movea     nomdir        tex                     
> c                   seton                                        99 
> C                   IF        TEX(1)='/'                            
> c                   z-add     1             level             4 0   
> c                   z-add     0             pos               3 0   
> c                   Eval      Pos = %Scan('/':nomdir:2)             
> c                   Dow       Pos > *Zero                           
> c                   add       1             level             4 0   
> c                   Eval      Pos = %Scan('/':nomdir:Pos+1)         
> c                   Enddo                                           
> c                   add       1             lev(level)              
> c                   else                                            
>                                                                     
> C                   SETOFF                                       41 
> C                   IF        TEX(1)='d'                            
> C                   MOVE      'DIR'         ODOTIP                  
> C                   END                                             
> C                   IF        TEX(1)='l'                            
> C                   MOVE      'LNK'         ODOTIP                  
> C                   END                                             
> C                   IF        TEX(1)='l'                            
> C                   MOVE      'LNK'         ODOTIP                  
> C                   END                                             
> C                   IF        TEX(1)='s'                            
> C                   MOVE      'SER'         ODOTIP                  
> C                   END                                             
> C                   IF        TEX(1)='-'                            
> C                   MOVE      'OBJ'         ODOTIP                  
> C                   END                                             
> c                   setoff                                       60 
> C                   Z-ADD     35            N                 3 0    
> C                   Z-ADD     1             Z                 3 0    
> C     N             DOWLE     150                                    
> C     Z             ANDLE     10                                     
> C     tex(n)        IFeq      ' '                                    
> c                   if        *in60                                  
> C                   Z-ADD     1             x                 3 0    
> C     x             DOWLe     10                                     
> c                   move      '0'           c10(x)                   
> C                   ADD       1             x                        
> c                   enddo                                            
> C                   SUB       1             Z                        
> C                   Z-ADD     10            x                 3 0    
> C     Z             DOWNE     0                                      
> c                   move      c10i(Z)       c10(X)                   
> C                   SUB       1             Z                        
> C                   SUB       1             X                        
> c                   enddo                                           
> c                   leave                                           
> c                   end                                             
> c                   else                                            
> c                   seton                                        60 
> c                   move      tex(n)        c10i(z)                 
> C                   ADD       1             z                       
> c                   end                                             
> C                   ADD       1             n                       
> c                   enddo                                           
> C                   Z-ADD     1             Z                 3 0   
> c                   eval      obfecm=fecnom                         
> c                   add       14            n                       
> C     N             DOWLE     150                                   
> C     z             andLE     60                                    
> C*    tex(n)        IFne      ' '                                   
> c                   move      tex(n)        cam(z)                  
> C                   ADD       1             Z                     
> c*                  else                                          
> C*    z             DOWGT     60                                  
> C*                  MOVE      ' '           cam(Z)                
> C*                  ADD       1             Z                     
> c*                  enddo                                         
> c*                  leave                                         
> c*                  end                                           
> C                   ADD       1             N                     
> C                   ENDDO                                         
> c                   movea     CAM           ODOBNM                
> c                   movea     blancos       cam                   
> c                   movea     C10           ODOBSZC          10   
> c                   move      ODOBSZC       ODOBSZ                
> C                   move      direc         ODdBNM                
> C                   MOVE      a             A�O2              2 0 
> C     A�O2          IFGE      50                                  
> C     1900          ADD       A�O2          A�O                       C
> ELSE                                              
> C     2000          ADD       A�O2          A�O                       C
> END                                               
> C                   z-add     level         ODDLEV                    
> c                   z-add     lev(level)    oddord                    
> c*    clave         chain     rocui                              90   
> C                   MOVE      d             DIA                       
> C                   MOVE      m             MES                       
> C                   move      fecha         ODLDAT                    
> C                   move      t             ODLtim                    
> c*                  if        *in90                                   
> C                   WRITE     ROCUI                                80 
> C                   Z-ADD     1             DUP               2 0     
> c                   DOW       *in80 AND DUP < 99                      
> c                   move      DUP           ODOBNM                    
> C                   WRITE     ROCUI                                80 
>                                                                       
> C                   ADD       1             DUP               2 0       
> C                   ENDDO                                               
> c*                  else                                                
> C*                  update    ROCUI                                     
> c*                  end                                                 
> c                   end                                                 
> 
> Grabando en auocuif
> 
>  ******************************************************          
>  *  FICHERO DE OCUIACION DE DISCO                     *          
>  ******************************************************          
> A*                                                               
> A                                      UNIQUE                    
> A          R ROCUI                     TEXT('OCUPACION DE DISCO')
> A*                                                               
> A            ODDBNM        10                                    
> A                                      TEXT('NOMBRE DIRECTORIO') 
> A            ODDLEV         3  0                                 
> A                                      TEXT('NIVEL')             
> A            ODDORD         3  0                                 
> A                                      TEXT('ORDEN')             
> A            ODOBNM        60                                   
> A                                      TEXT('NOMBRE OBJETO')    
> A            ODOTIP         3                                   
> A                                      TEXT('TIPO OBJETO')      
> A            ODOBSZ        10  0                                
> A                                      TEXT('OCUPACION OBJETO') 
> A            ODLDAT         8  0                                
> A                                      TEXT('FECHA DE CAMBIO')  
> A            ODLTIM         6  0                                
> A                                      TEXT('HORA DE CAMBIO')   
> A            OBFECM        12                                   
> A                                      TEXT('FECHA OBJETO')     
> A          K ODDBNM                                             
> A          K ODDLEV                                             
> A          K ODDORD                               
> A          K ODOBNM                               
> A          K ODOTIP                               
> A          K ODLDAT                               
> A          K ODLTIM                               
>        
> Como ves lo utilizo para saber la ocupacion de cada objeto de la ifs, creo
> que lo podras adaptar a tus necesidades de saber los nombres de ficheros
> en un directorio. 
> 
> Pedro Pinedo Hernandez
> Analista-Programador 
> Grupo Amcor Flexibles Hispania S.L.  
> Planta: Tobepal Logro�o
> Departamento de Inform�tica / IT Department 
> tfno.:+34 941 28 60 90 - 941 03 01 39
> fax: +34 941 20 75 43 
> 26006 Logro�o 
> Spain 
> [EMAIL PROTECTED] 
> (quitar nospam del dominio, para enviar) 
> 
> 
> 
> -----Mensaje original-----
> De: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] En nombre de Juan Carlos Paredes
> Enviado el: lunes, 25 de octubre de 2004 16:10
> Para: [EMAIL PROTECTED]
> Asunto: RE: Dos preguntas
> 
> 
> Gracias Pedro, pero me temo que esto no me vale. De lo que se trata es de
> tener un fichero de datos en una biblioteca del iSeries. El problema
> completo es el siguiente:
> 
> Tengo un proceso de gesti�n de env�os a clientes que, por razones que no
> vienen al caso, est� fuera del iSeries. Este proceso me env�a un fichero
> de texto a una carpeta compartida con los art�culos y cantidades realmente
> servidas y hace una llamada remota a un programa en el que yo recojo
> dichos ficheros pas�ndolos desde el formato texto a ficheros de datos que
> posteriormente mi facturaci�n procesar�. Pues bien, el problema viene
> cuando al intentar recoger los ficheros de texto y copiarlos en mis
> ficheros de datos me encuentro con que estos est�n bloqueados. Mi idea
> entonces es, abandonar en este punto el programa inicial (para eso quiero
> el %status del
> bloqueo) y llamar a otro que chequee todos los ficheros de texto en la
> citada carpeta y siga insistiendo con ellos hasta que consiga procesarlos.
> 
> Saludos.
> 
> Juan Carlos.
> 
> > -----Mensaje original-----
> > De: Pinedo Pedro [SMTP:[EMAIL PROTECTED]
> > Enviado el: lunes, 25 de octubre de 2004 17:45
> > Para:       [EMAIL PROTECTED]
> > Asunto:     RE: Dos preguntas
> > 
> > STRQSH     CMD('ls  / > /QDLS/MERCHE/Docs1.txt') 
> > Para la segunda cuestion.
> > 
> > Pedro Pinedo Hernandez
> > Analista-Programador
> > Grupo Amcor Flexibles Hispania S.L.  
> > Planta: Tobepal Logro�o
> > Departamento de Inform�tica / IT Department 
> > tfno.:+34 941 28 60 90 - 941 03 01 39
> > fax: +34 941 20 75 43 
> > 26006 Logro�o 
> > Spain 
> > [EMAIL PROTECTED] 
> > (quitar nospam del dominio, para enviar) 
> > 
> > 
> > 
> > -----Mensaje original-----
> > De: Juan Carlos Paredes [mailto:[EMAIL PROTECTED]
> > Enviado el: lunes, 25 de octubre de 2004 15:33
> > Para: Forum Help 400
> > Asunto: Dos preguntas
> > 
> > 
> > Buenas tardes, foro:
> > 
> > Dos preguntas:
> > 
> > 1.- �Alguien sabe d�nde puedo encontrar los diferentes valores de la >
> BIF %STATUS? Concretamente quiero saber cu�ndo en un OPEN sobre un 
> > fichero este da error porque el fichero est� bloqueado.
> > 
> > 2.- �Alguien sabe c�mo enviar a un fichero la salida del mandato 
> > WRKLNK o del DSPLNK? Me interesar�a volcar a un fichero temporal todos >
> los objetos de tipo STMF que haya en un determinado directorio del 
> > IFS.
> > 
> > Gracias de antemano y un saludo a todos.
> > 
> > Juan Carlos.
> > 
> > 
> > _______________________________________________________
> > 
> > AMCOR FLEXIBLES - LEADING THROUGH INNOVATION 
> > _______________________________________________________
> > 
> > CAUTION - This message may contain privileged and confidential 
> > information intended only for the use of the addressee named above. If 
> > you are not the intended recipient of this message you are hereby 
> > notified that any use, dissemination, distribution or reproduction of 
> > this message is prohibited. If you have received this message in error 
> > please notify AMCOR FLEXIBLES immediately. Any views expressed in this 
> > message are those of the individual sender and may not necessarily 
> > reflect the views of AMCOR FLEXIBLES.
> > 
> > 
> > _____________________________________________________
> > Forum.HELP400 es un servicio m�s de NEWS/400.
> > � Publicaciones Help400, S.L. - Todos los derechos reservados 
> > http://www.help400.es 
> > _____________________________________________________
> > 
> > Para darte de baja, env�a el mensaje resultante de pulsar 
> > mailto:[EMAIL PROTECTED]
> 
> _____________________________________________________
> Forum.HELP400 es un servicio m�s de NEWS/400.
> � Publicaciones Help400, S.L. - Todos los derechos reservados
> http://www.help400.es
> _____________________________________________________
> 
> Para darte de baja, env�a el mensaje resultante de pulsar
> mailto:[EMAIL PROTECTED]
> 
> 
> _______________________________________________________
> 
> AMCOR FLEXIBLES - LEADING THROUGH INNOVATION
> _______________________________________________________
> 
> CAUTION - This message may contain privileged and confidential information
> intended only for the use of the addressee named above. If you are not the
> intended recipient of this message you are hereby notified that any use,
> dissemination, distribution or reproduction of this message is prohibited.
> If you have received this message in error please notify AMCOR FLEXIBLES
> immediately. Any views expressed in this message are those of the
> individual sender and may not necessarily reflect the views of AMCOR
> FLEXIBLES.
> 
> 
> _____________________________________________________
> Forum.HELP400 es un servicio m�s de NEWS/400.
> � Publicaciones Help400, S.L. - Todos los derechos reservados
> http://www.help400.es
> _____________________________________________________
> 
> Para darte de baja, env�a el mensaje resultante de pulsar
> mailto:[EMAIL PROTECTED]

_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]

Responder a