Professional Documents
Culture Documents
NEW BATCH 7pm
NEW BATCH 7pm
NEW BATCH 7pm
ISERIES,SYSTEM-I
POWERED SYSTEMS
DB2/400-- 7 days
OS/400- operating system
CL- 10 days-- CONTROL LANGUAGE CLLE CLP
workmanagment- 4 days
RPG- 20-25 days--REPORT PROG GENERATOR RPG, RPGLE ( FREE FORMAT, ILE CONCEPTS,
sqlrpgle)
sqlrpg- 3 days
extra- 3 days
RT
AS400 devloper
devlopment
enhancements/maintenance.
production support
DB2/400
PF=PHYSICAL FILE
LF=LOGICAL FILE----FILE OBJECTS-DB FILE OBJECTS.
SOURCE=CODE
1) WRITE CODE- SAVE CODE(SOURCE PF)-COMPILE--IF CORRECT - IT WILL CREATE OBJECT AND
WILL STORE IN LIBRARY
2) JUST USE CRT COMMAND..LIKE CRTLIB/CRTSRCPF/CRTJOBQ
F6=CREATE
TAKE ENTER
ENTER CODE
0002.00 A R EMPREC
0003.00 A EMPNUM 5P 0
0004.00 A EMPNAM 10A
0005.00 A EMPSAL 5P
0006.00 A EMPCTY 5A
****************** End of data ***************************************
14=COMPILE
TO INSERT DATA IN PF
CRTLIB,
CRTSRCPF,
STRSEU,/F6=CREATE
WRKMBRPDM,
UPDDTA,
RUNQRY *N <FILENAME>
file level-- UNIQUE, FIFO, LIFO, FCFO ( FIRST CHANGED FIRST OUT), REF
FIELD LEVEL-
TEXT,COLHDG,RANGE,VALUES,DATFMT,DATSEP,TIMFMT,TIMSEP,ALIAS,CHECK,COMP,EDTCDE,EDTWRD
,ALWNULL,DFT
KEY-ABSVAL, SIGNED,DECEND
0001.00 A UNIQUE
0002.00 A R EMPREC TEXT('EMPLOYEE RECORD FORMA
0003.00 A EMPNUM 5P 0 COLHDG('EMPLOYEE NUMBER')
0004.00 A EMPNAM 10A COLHDG('EMPLOYEE NAME')
0005.00 A EMPCTY 5A COLHDG('EMPLOYEE CITY')
0006.00 A VALUES('HYD' 'SEC' 'VIJ')
0007.00 A EMPSAL 5P 0 COLHDG('EMPLOYEE SALARY')
0008.00 A RANGE(10000 50000)
0009.00 A EMPDOB L COLHDG('EMPDATE OF BIRTH')
0010.00 A DATFMT(*JUL)
0011.00 A EMPJOT T COLHDG('EMP JOIN TIME')
0013.00 A K EMPNUM
****************** End of data ****************************************
ACCESS PATH--THE WAY HOW WE RETRIVE THE DATA FROM DATABASE FILE IS CALLED ACCESS
PATH
CHGPF-***
1) ADD NEW FIELDS TO PF WITHOUT LOSSING THE EXISITNG DATA/INCREASE THE LENGTH OF
ANY EXISTING FIELD
2) INCREASE PF SIZE--BY DFT- 10000+3000=13000 to *nomax
3) SINGLE DATA MEMBER PF TO MULTI MEMBER PF--1) CHGPF 2)ADDPFM
4) OTHER CASES
Keywords
DEFINATION
LF'S ARE DIFFERENT ACCESS PATHS FOR PF'S DATA( DIFFERENT KEY PURPOUS)
LF'S DOES NOT CONTAIN DATA- LF'S ARE POINTERS FOR PF'S TO FETCH THE DATA
YOU CAN DEFINE NEW FIELD WITH CONCAT KEYWORD( ALL FIELDS SHOULD BE CHAR)
LEVELS IN LF
COMP OPERATERS- EQ NE GT LT GE LE
JOINLF
0001.00 A R STUREC
0002.00 A STUNO 5P
0003.00 A STUNAM 10A
0004.00 A STUCLS 5A
0005.00 A STUSEC 2A
****************** End of data ****************************************
DATA
0001.00 A R STUREC1
0002.00 A STUNO 5P
0003.00 A STUFN 10A DFT('N/A')
0001.00 A R STUREC2
0002.00 A SSTUST 2A
0003.00 A STUFEE 10A
0004.00 A STUDIS 2P
0005.00 A STURMKS 15A
****************** End of data ****************************************
INNER JOIN
J23STUPFI
*************** Beginning of data *************************************
A R STUREC JFILE(ASSTUPF1 ASSTUPF2 ASSSTUPF3)
A J JOIN(ASSTUPF1 ASSTUPF2)
A JFLD(STUNO STUNO)
A J JOIN(ASSTUPF2 ASSTUPF3)
A JFLD(SSTUST STUST)
A STUNO JREF(ASSTUPF1)
A STUNAM
A STUFN
A STUMN
A STUST
A STUFEE
A STUDIS
A STURMKS
****************** End of data ****************************************
OUTER JOIN
J23STUPFO
*************** Beginning of data *************************************
A JDFTVAL
A R STUREC JFILE(ASSTUPF1 ASSTUPF2 ASS
A J JOIN(ASSTUPF1 ASSTUPF2)
A JFLD(STUNO STUNO)
A J JOIN(ASSTUPF2 ASSTUPF3)
A JFLD(SSTUST STUST)
A STUNO JREF(ASSTUPF1)
A STUNAM
A STUFN
A STUMN
A STUST
A STUFEE
A STUDIS
A STURMKS
****************** End of data ****************************************
KEYWORDS
TYPES OF JOIN LF
DSPFD
DSPFFD
DSPDBR
CLRPFM
RMVM
ADDPFM
***********************************************************************************
**********************************
SCREENS--DISPLAY FILES (DSPF)-- WORK STATION FILES
0001.00 PGM
0002.00 DCLF FILE(JDSPF4)
0003.00 CHGVAR VAR(&S1NUM) VALUE(12345)
0004.00 CHGVAR VAR(&S1NAM) VALUE('SAIRAM')
0005.00 CHGVAR VAR(&S1CTY) VALUE('HYD')
0006.00 CHGVAR VAR(&S1SAL) VALUE(50000)
0007.00 SNDRCVF
0008.00 ENDPGM
****************** End of data ****************************************
LIMITATIONS OF CL
YOU CAN DECLARE MAX 5 FILES WITH OPEN ID'S IN ONE PGM
NO DML OPERATIONS ALLOWED ( WRITE/UPDATE/DELETE NOT ALLOWED)
REPORTS GENERATION NOT POSSIBLE
COMMUNICATION MESSAGES IN CL
MONMSG
ERROR HANDLING
COMMAND LEVEL-- FIRST PRIORITY- IMMEDIATE AFTER ANY COMMAND- ONLY APPLICABEL TO
THAT COMMAND ONLY
PROGRAM LEVEL-- AFTER DELRATION STATEMENTS- IF NO COMMAND LEVEL THEN CHECK FOR PGM
LEVEL- - APPLICABLE TO ENTIRE PGM
*****BREAK******************************************
1) JOB NAME
2) USER
3) JOB NUMBER
JOB TYPES
1) INTERCATIVE JOB-- THE JOB WHICH RUNS WITH USER INTERACTION - EVERY AS400 SIGNON
IS ONE INTERCATIVE JOB.
2) BATCH JOB/SUBMIT JOB/BACKEND JOB- THE JOB WHICH RUNS WITH OUT USER INTERACTION -
BACK END JOB-- NO SCREEN DISPLAY
3) CONTROLLING JOBS
4) COMMUNICATION JOBS
5) WRITER JOBS
6) PRE START JOBS
QINTER QBATCH
QCMN
QCTL
QSPL QBASE
JOBD--(*JOBD) JOB DESCRIPTION--WILL PROVIDE JOB ATTRIBUTES LIKE JOBQ, JOBNAME AND
PRIOITY ECT...
JOBQ--WHERE OUR JOBS ARE WAITING FOR PROCESS/EXECUTE-- OBJECT TYPE (*JOBQ)
SUBSYSTEM- PREDEFINED OPERATING ENVIRONEMNT WHERE OUR JOBS ARE EXECUTING (*SBSD)
OUTQ-- RESULTS STORED- MAINLY REPORTS
SINGLE THREAD BATCH JOB =1
MULTI THREAD BATCH JOB >1
jOB STATUS
( WAITING)- in jobq
OUTQ COMPLETED
WRKATCJOB
WRKSBMJOB < USER>
WRKJOBQ
WRKJOBD
DSPJOBD
WRKSPLF- reports
WRKSBS
CRTSBSD
ENDSBS
STRSBS
CRTJOBQ
CRTJOBD
CRTOUTQ
ADDJOBQE-- TO ADD JOBQ TO SUBSYSTEM WHEN REQUIRED,
CHGJOBQE-- TO CHANGE NO OF ACTIVE JOBS WHICH ALREADY ATTACHED.
*************************************************************************
CONTINUE CL.....
MOSTLY USED OBEJECTS ARE - DATAAREAS, FILES( DISPLAY FILES(NOT ALLOWED), DB FILES,
PRINTER FILES), PROGRAMS
DATAAREA CONCEPT
# SEQUENCE NUMBER
FOR EXAMPLE
'N' 'Y'
COMMANDS
****SUBMIT JOB SEPARATE LDA WILL BE CRETAED BUT INTIALLY INTERCATIVE LDA VALUES
COPIED TO SUBMIT JOB LDA( THIS IS ONETIME COPY)
LOCK STATES
*SHRRD
*SHRNUP
*SHRUPD
*EXCLRD
*EXCL
RTV COMMANDS
RTVJOBA- *USER, *JOB TYPE(int/batch), JOBNUMBER, *JOBNAME. JOBPRIORITY
RTVMBRD- LIB/COUNT- data member & source member
RTVOBJD LIB/OWNER/CREATE DATE
RTVSYSVAL DATE AND TIME
*****IMP concepts*******************************
OVRDBF, OVRDSPF, OVRPRTF
DLTOVR
OPNQRYF-- open the file at runtime- qeury the records( select/omit the records
based on condition)
CLOF
CPYFRMQRYF
POSDBF
CPYF
CRTDUPOBJ
x- WHITE
DLTOVR
ENDPGM
1) MEMBER OVERRIDE--10%
2) TEMPORARY OVERIDE--10%
3) RRN POSTION OVERRIDE-1%
4) ODP ( OPEN DATA PATH ) SHARE---***IMP--80% USE IN cl PGMS
IF PF HAVING THE MULTI MEMEBRS AT RUN TIME WE NEED OTHER MMEBER DATA INSTEAD OF
1ST MEMBER ( BY DEFALT IT AL WAYS WILL BE 1ST MEMBER) WE WILL DO
MEMEBER OVRRIDE
WE WILL DO TEMPORARY OVERIDE AT RUN TIME WHEN WE WANT TO STRUCTRE FROM ONE FILE AND
DATA FROM ANOTHER FILE
WE WILL DO ODP SHARE BY USING OVRDBF***IMP
OPEN DATA PATH WILL BE SHARED TO NEXT CALLING PROGRAMS WHICH USING THE SAME
FILE...FOR EXAMPLE, THE OPNQRYF SELECTION DATA WILL BE PASSED TO CALLING PROGRAM
FOR FURTHER rpg OPERATIONS
ODP******
THE PATH ESTBLISHED BETWEEN USED FILES AND PROGRAM AT EXCUTION TIME. WHEN PGM
( JOB) ENDED THE PATH WILL BE DESTRYOED.
BUT CL1 CALLING RPG1 PGM AND RPG1 USING ( DECLARED) FILE EMPPF)
OPNQRYF = LF
TEMP --- PERMANANET OBJ
DYNAMIC -- STATIC
RUNTIME CL -- DB OBJECT
OPNQRYF VS LF
CONCEPT/COMMAND VS OBJECT
DYNAMIC VS STATIC
EXECUTION IS SOLW VS FAST
OUTFILE CONCEPT
RUNSQL
RUNSQLSTMT
FTP*
ISF* RELATED
SNDDST- TO SEND EMAIL
SEND CSV FILES
***********************************************************************************
**********
RPG programming. REPORT PROGRAM GENERATOR
RPGLE
ARTHMETIC OPCODES
ADD
SUB
MULT
DIV
Z-ADD
Z-SUB
EVAL- EVALUATE OPCODE
FILE OPCODES*******imp
READ- SEQUENTIAL READ---DOW /DOU - DO 5- DOU WILL EXECUTE ONCE EVEN THOUGH
CONDITION IS NOT SATISFIED
READE- READ EQUAL RECORDS BASED ON KEY
READP- READ PREVIOUS FROM SET POINTER
READPE- READ PREVIOUS EQUAL
SETLL- SET LOWER LIMIT AS PER KEY
SETGT- SET GRATER LIMIT AS PER KEY
CHAIN- SETLL+ READE - RANDOM RETRIVAL OF RECORD
EXFMT- SHOW THE SCREEN ( WRITE + READ)- SAME AS SNDRCVF IN CL- USING ON DSPF
WRITE- TO WRITE NEW RECORD TO DB- O /A
UPDATE- UPDATE EXISTING RECORD U
DELETE- DELETE EXISTING RECORD U
OPEN
CLOSE
DOW -
DOU-
DO-
***********************************************************************************
*********
DEBUGGING
14 TAKE F4 then
Library . . . . . . . . . . . *LIBL
+ for more values
*LIBL
Default program . . . . . .
. . DFTPGM *PGM
Maximum trace statements . .
. . MAXTRC 200
Trace full . . . . . . . . .
. . TRCFULL *STOPTRC
Update production files . .
. . UPDPROD > *YES
OPM source level debug . . .
. . OPMSRC > *YES
Service program . . . . . .
. . SRVPGM *NONE
Library . . . . . . . . .
. .
+ for more values
More...
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
F13=How to use this display F24=More keys
ONCE COMPLETED
ENDDBG
**************************************************************************
ALL DML OPERATIONS
ASSIGNMENT ON DML OPR
DECLARED IN D SPEC
1) COMPILE TIME ARRAY-- DATA WIL BE LOADED TO ARRAY AT COMPILE THE RPG PGM. THIS
DATA IS PERMANENT.
2) RUNTIME ARRAY-- DATA WIL BE LOADED TO ARRAY AT PGM RUN TIME. THAT DATA CAN
VARY...
3) PRERUN TIME ARRAY- DATA WIL BE LOADED TO ARRAY AT BEFORE EXECUTION OF PGM FROM
EXTERNAL FILE.(PF)
ARRAY OPCODES
LOOKUP- %LOOKUP
XFOOT
MOVEA
SORTA/ SORTD
DATA STRUCTURES
TYPES
ERROR HANDLING********************
%ERROR
%STATUS
MONITOR BLOACK
PSDS
INFDS
REPORTS********************
RLU
O-SPEC
******************************SUBFILES*******************
SFLRCDNBR KEYWORD--CAUSE
BY DEFALUT VALUE IN SFLRCDNBR=1(rrn)- FIRST PAGE
EDITABLE SUBFILE.
USER CAN EDIT THE DATA SO SAME DATA SHOULD BE VALIDATE AND UPDATE BACK TO DB.
(SUBFILE KEYWORD) SFLNXTCHG--IT WILL NOT CHANGE MDT TAG VALUE/IT WILL NOT RESET.---
ON
MDT TAG******IMP----MODOFIED DATA TAG-- ON (1)/OFF (0)
MANDATORY KEYWORDS
SFL
SFLCTL
SFLDSP
SFLSIZ-9999
SFLPAG
SFLDSPCTL--EXECUTE
SFLEND-MORE/BOTTOM
SFLCLR
HIDDEN KEYWORDS
SFLRCDNBR
SFLSCROLL
SFLCSRRRN
SFLDROP
SFLFLOD
SFLNXTXHG *******imp*****
SFLINZ
SFLRNA
SFLENTER
SFLMODE
SFLCRSPRG
LEVEL CHECK.....******
EVERY FILE HAIVING ITS RECORD FORMAT LEVEL IDENTIFIER WHEN ITS COMPILED( PF LF DSPF
PRTF)
WHEN THESE FILES USED IN ANY CL RPG COBOL PGM'S WHEN THIS PGM IS COMPILED PROGRAM
WILL STORE THIS EACH LEVEL IDENTIFIER INTERNALLY
WHEN PGM EXCUTED IT WILL CHECK FOR STORED IDENTIFIER WITH EXITSING FILE IDNETIFIER
WHEN MISMATCH IT WILL THROUGH CPF4131 ERROR.
THAT MEANS ONCE FILE CHANGED ( NEW FILEDS ADDED/FILED LENGTH CHANGED) ITS
IDENTIFIER WILL BE CREATED NEWLY.
THAT MEANS PGM NEEDS TO RECOMPILE TO STORE NEW IDENTIFIER. ELSE IT WILL END WITH
CPF4131 ERROR THAT IS LEVEL CHECK
DSPJRN-- VIEW THE JOUNALING DATA( BUT IN REAL TIME TO VIEW THE DATA IN PROPER FILE
FORMAT EVERY APPLICATION MUST USE ONE UTILITY)
THAT MAY BE SUPPLIED BY IBM OR THIER OWN UTILITY ( MANUAL) THAT CAN BE ACHIVE
THROUGH WRITING A CL PGM USING CPYF AND OUTFILE CONEPTS)
DB TRIGGERS
TRIGGER- EVENT
TRIGGER- TIME
TRIGGER- PGM
EDTCODE=%EDITC
Edit Code No CR -Sign -Sign
Description Sign Sign (R) (L)
EDTWRD=%EDITW
IF NO EDTCDE IS USE FULL FOR CLIENT REQUIRMENT THEN GO FOR EDTWRD.
endmon
SQLRPGLE
C/EXEC SQL
C+ SELECT EMPNAM,DEPT,EMPSAL INTO :NAME,:DEPT1,:SAL1 FROM SQLPF
C+ WHERE EMPNUM ='100'
C/END-EXEC
CURSOR SYNTAX
IF SQLCODE=100
LEAVE
ENDIF
PROCESS
ENDDO
CLOSE <CUR>
CURSOR TYPES
1) SEQUENTIAL CURSOR
2) SCROLL CURSOR
3) SENSITIVE CURSOR
4) NON SENSITIVE CURSOR
PREPARE
EXCUTE
UPDATE STATEMENTS****
1) 0bject lock--
2) record lock-- WRKOBJLCK <FILE NAME> *FILE--- 5 ON JOB-- 10 , 11, 12,14 OPTIONS
3) Update operation attempted without prior read
4) HOW TO PASS INFORMATION BETWEEN THE PGMS
PARAMETERS
VIA LDA
DATA QUEUE-
SRTCMTCTL
ENDCMTCTL
manager round*****
version controm tool- aldon, turnover, AIM control tool
tickting tool- sevice now, issue track, salesforce, jira
agile process/waterfall peocess
software life cycle for your program-- develpment cycle...support cycle
how to get work.
recent dev task
recent prodution task