[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    1996 habe ich das mal gelöst:

    CMD-Quelle
    Code:
      
    			 CMD		PROMPT('QTEMP von anderem Job')				  
    			 PARM	   KWD(JOB) TYPE(PJOB) DFT(*) SNGVAL((*)) +		 
    						  PROMPT('Jobname')							  
    																		 
     PJOB:	   QUAL	   TYPE(*NAME) LEN(10) MIN(1) EXPR(*YES)			
    			 QUAL	   TYPE(*NAME) LEN(10) EXPR(*YES) +				 
    						  PROMPT('Benutzer')							 
    			 QUAL	   TYPE(*CHAR) LEN(6) RANGE(000000 999999) +		
    						  MIN(1) FULL(*YES) EXPR(*YES) PROMPT('Nummer')
    MI-Quelle
    Code:
      
    		   DCL SPCPTR   PJOB   PARM;		/* ÜBERGABE JOB */				   
    		   DCL DD	   JOBPARM  CHAR(26)  BAS(PJOB);							
    		   DCL DD	   JOB	  CHAR(10)  DEF(JOBPARM) POS(1);				  
    		   DCL DD	   USER	 CHAR(10)  DEF(JOBPARM) POS(11);				 
    		   DCL DD	   JOBNR	CHAR(6)   DEF(JOBPARM) POS(21);				 
    		   DCL OL	   *ENTRY (PJOB) EXT PARM MIN(1);						   
    																				 
    		   DCL DD	   AKTLIB  BIN(2);					 /* ZÄHLER */		 
    		   DCL DD	   MAXLIB  BIN(2);					 /* LETZTE LIB + 1 */ 
    		   DCL DD	   CURLIB  BIN(2);					 /* INDEX CURLIB */   
    																				 
    		   DCL PTR	  PQWCBT			BASPCO POS(17);   /* PROCESS-LISTE */  
    		   DCL PTR	  AQTEMP			BASPCO POS(65);   /* EIGENE QTEMP */   
    		   DCL DD	   FLAGS	CHAR(1)  BASPCO POS(1276);					  
    		   DCL DD	   NOSYS	BIN(2)   BASPCO POS(1277);					  
    		   DCL DD	   NOLIBS   BIN(2)   BASPCO POS(1281);					  
    		   DCL PTR	  LIBL (77)		 BASPCO POS(1297);					  
    																		
    		  DCL PTR	  CQTEMP;		   /* QTEMP ALS CURLIB */		 
    																		
    		  DCL SPCPTR   PROCHDR;		  /* HDR FREMDER PROCESS */	  
    		  DCL PTR	  PQTEMP			BAS(PROCHDR) POS(65);		  
    																		
    		  DCL SPCPTR   JOBTAB;										  
    		  DCL DD	   JLSTLEN BIN(4)	BAS(JOBTAB)  POS(145);		 
    		  DCL DD	   NOJOB   BIN(2)	BAS(JOBTAB)  POS(149);		 
    		  DCL DD	   JOBADR  BIN(4);   /* AKTUELLE  ADR. JOB */	   
    																		
    		  DCL SPCPTR   JOBENTRY;										
    		  DCL DD	   JOBNAM  CHAR(26)  BAS(JOBENTRY)  POS(1);		 
    		  DCL PTR	  JOBPTR			BAS(JOBENTRY)  POS(33);		
    																		
    NTRY	  *   (*ENTRY) EXT;											 
    		  CPYBWP	   CQTEMP,AQTEMP;	/* EIGENE QTEMP SETZEN */	  
    																		
    		  CMPBLAP(B)   JOBPARM,"*"," "/EQ(INSQTEMP);					
    		  SETSPPFP	 JOBTAB,PQWCBT;	   /* ADR. JOB-LISTE */		
    		   CPYBWP	   JOBENTRY,JOBTAB;									  
    		   CPYNV		JOBADR,768;		  /* ADR. 1. JOB */				
    SEA_JOB:																	  
    		   SETSPPO	  JOBENTRY,JOBADR;	 /* ADR. JOB-EINTRAG */		   
    		   CMPBLA(B)	JOBNAM,JOBPARM/EQ(SEA_JOB_100);					   
    		   ADDN(S)	  JOBADR,512;		  /* VORHERIGER EINTRAG */		 
    		   CMPNV(B)	 JOBADR,JLSTLEN/LO(SEA_JOB);						   
    		   B			ENDE;												 
    SEA_JOB_100:																  
    		   SETSPPFP	 PROCHDR,JOBPTR;	  /* ADR. JOB SETZEN */			
    		   SETSPPO	  PROCHDR,0;											
    		   CPYBWP	   CQTEMP,PQTEMP;	   /* FREMDE QTEMP */			   
    		   B			INSQTEMP;			/* QTEMP EINTRAGEN */			
    																			  
    INSQTEMP:									/* QTEMP ALS CURLIB EINTRAGEN */ 
    		   CPYNV		CURLIB,NOSYS;		/* ANZAHL SYS-LIBS */			
    		   TSTBTS(B)	FLAGS,1/ZER(INSQTEMP_010);							
    		   ADDN(S)	  CURLIB,1;			/* VORGESCHALTETE 1.PRD-LIB */   
    INSQTEMP_010:																 
    		   TSTBTS(B)	FLAGS,2/ZER(INSQTEMP_020);							  
    		   ADDN(S)	  CURLIB,1;			/* VORGESCHALTETE 2.PRD-LIB */	 
    INSQTEMP_020:																   
    		   ADDN(S)	  CURLIB,1;			/* INDEX DER CURLIB */			 
    		   TSTBTS(B)	FLAGS,0/NZER(INSQTEMP_100);  /* CURLIB VORHANDEN */	 
    		   ADDN		 AKTLIB,NOLIBS,1;	 /* LIBL +1 VERSCHIEBEN */		  
    		   CPYNV		MAXLIB,NOLIBS;	   /* QUELLE */					   
    INSQTEMP_030:																   
    		   CPYBWP	   LIBL(AKTLIB),LIBL(MAXLIB);							  
    		   SUBN(S)	  AKTLIB,1;											   
    		   SUBN(S)	  MAXLIB,1;											   
    		   CMPNV(B)	 MAXLIB,CURLIB/NLO(INSQTEMP_030);						
    																				
    		   ADDN(S)	  NOLIBS,1;			/* ANZAHL LIBS ERHÖHEN */		  
    																				
    INSQTEMP_100:																   
    		   CPYBWP	   LIBL(CURLIB),CQTEMP; /* QTEMP EINTRAGEN */			  
    		   SETBTS	   FLAGS,0;			 /* CURLIB-FLAG SETZEN */		   
    		   B			ENDE;												   
    							 
    ENDE:						
    		   RTX		  *;   
    		   PEND;
    Was du dann benötigst ist nur der Aufruf für das Erstellen:
    http://publib.boulder.ibm.com/iserie...s/qprcrtpg.htm

    Ich kann allerdings keine Gewähr dafür übernahemen, ob das so noch funktioniert !
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Jun 2006
    Beiträge
    356
    Irgendwie kann ich mit dieser IBM Beschreibung nicht so viel anfangen.

    Kann mir das jemand kurz erklären?

    Gruß
    Matthias Schatte

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Obiges MI-Programm darf man ab V5 NICHT MEHR VERWENDEN, da sich die Job-Tabellen z.T. gravierend geändert haben.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Aug 2004
    Beiträge
    923
    Ja ja... diese doofen APIs....

    Es gibt auch ein fertiges Freewaretool um MI-Programme zu erstellen.

    Evtl. kommst Du ja damit besser klar....

    Create MI Program
    Der CRTMIPGM Befehl basiert auf der QPRCRTPG API und dient zum Erstellen von MI Programmen.
    http://www.tools400.de/Downloads/Fre...s/crtmipgm.zip

    Ist aber ewig her, dass ich das mal benutzt hatte, deshalb wie immer keine Grantie und keine weiteren Erklärungen dazu...

    Siehe auch Kommentar gerade von Fuerchau bezgl. V5


    kuempi

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    82

    bei mir geht es nicht

    Weitere Nachrichteninformationen

    Nachrichten-ID . . . . : CPD2102 Bewertung . . . . . . : 30
    Nachrichtenart . . . . : Diagnose
    Sendedatum . . . . . . : 19.07.07 Sendezeit . . . . . . : 12:57:12

    Nachricht . . . : Option für QTEMP eines anderen Jobs nicht zulässig.
    Ursache . . . . : Für ein Objekt in der Anzeige "Bibliothek anzeigen" wurde
    für Bibliothek QTEMP eine Option für einen Job ausgewählt, der nicht der
    aktuelle Job ist. Für QTEMP sind Optionen nur für den aktuell ausgeführten
    Job zulässig.







    Ende
    Eingabetaste --> Weiter

    F3=Verlassen F6=Drucken F9=Nachrichtendetails anzeigen
    F10=Nachrichten im Jobprotokoll anzeigen F12=Abbrechen F24=Weitere Tasten

  6. #6
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    So weit kommt man bei Objekten in einer fremden QTEMP mit dieser Methode leider nicht. Man kann damit nur sehen, welche Objekte in der fremden QTEMP enthalten sind, aber keine weiteren Informationen dazu anzeigen.

Similar Threads

  1. QTEMP - Zugriff
    By burton007 in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 02-11-05, 11:29
  2. QTEMP / IFS
    By jgv in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 14-10-05, 07:54
  3. geschützter Speicher reinschauen
    By johw3 in forum NEWSboard Windows
    Antworten: 3
    Letzter Beitrag: 16-05-05, 18:52
  4. Dateien eines Users komplett Von AS400 - PC downloaden
    By Smart in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 08-11-04, 10:03
  5. geht dieser SQL-Befehl auch einfacher?
    By rebe in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 13-02-02, 13:13

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •