NEW BATCH 7pm

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 22

AS/400 -- APPLICATION SYSTEM- SERVER- IBM- 1983

ISERIES,SYSTEM-I
POWERED SYSTEMS

CLIENT- WHO RUNS BUSSINESS IN AS400--HSBC, FEDEX, LIFE INSURENCE, UHG,DFY


SOFTWARE- DEVLOPERS- VEERU, ANUDEEP, DHIRAJ

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

Project- trigger real time senario...


dev tasks
supports tasks
tools-- 10- 12 days
resume preparationns
moke interveiwes
job process
********************************************************************
commND BASED LANG
1500
WRK*
DSP*
CHG*
CRT*
RTV*
CPY*
CLR*
DLT*
OVR*

AS400 devloper

will create as400 objects as per bussiness requirments.....

devlopment
enhancements/maintenance.
production support

DB FILES, PROGRAMS, MENUS, SCREENS, PRINTERFILES, JOBQS, OUTQS, SUBSYSTEMS,

DB2/400- DB- INTEGRATED DATA BASE


OS/400- OPERATING SYS
RPG,CL,COBOL/400
OBJECTS--COMMANDS

DB2/400

PF=PHYSICAL FILE
LF=LOGICAL FILE----FILE OBJECTS-DB FILE OBJECTS.

HOW TO CREATE PF IN AS400 SYSTEM

PF- STORE THE ACTUAL DATA( BUSSINESS RECORDS)

2 OBJECTS - YOU NEED CREATE 2 OBJECTS

1.LIBRARY-- CRTLIB- NO NEED TO CREATE--> STORE OBJECTS.-it is the collection of


as400 objects
2. SOURCE PF-- (THE VERY FIRST ACTION) NEED TO CREATE- CRTSRCPF--> STORE SOURCE
CODE.

SOURCE=CODE

THE WAY OF CREATING OBJECTS IN AS400

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

WRKMBRPDM-WORK WITH MEMBERS USING PROGRAM DEVLOPMENT MANAGER

F6=CREATE

TO OPEN SOURCE ENTRY UTILITY

STRSEU-> START SOURCE ENTRY UTILITY- TAKE F4

Source file . . . . . . . . . . SRCFILE PRASUSPF


Library . . . . . . . . . . .
Source member . . . . . . . . . SRCMBR PEMPPF
Source type . . . . . . . . . . TYPE PF
Option . . . . . . . . . . . . . OPTION *BLANK
Text 'description' . . . . . . . TEXT *BLANK

TAKE ENTER

TYPE IPPF IN FIRST LINE IN LEFT CORNER

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 ***************************************

THEN FILE ON SEU LINE <FILE=SAVE + EXIT> it OR SAVE IT


WRKMBRPDM

14=COMPILE

THEN OBJECT WILL BE CREATED IN LIB

TO INSERT DATA IN PF

UPDDTA take F4 <FILENAME>

ENTER DATA IN ALL FIELDS

THEN f3 COME OUT

TO VIEW THE DATA IN PF

RUNQRY *N <file name>

CRTLIB,
CRTSRCPF,
STRSEU,/F6=CREATE
WRKMBRPDM,
UPDDTA,
RUNQRY *N <FILENAME>

PHYSICAL FILE STRUCTURE WILL HAVE 4 LEVELS

1) FILE LEVEL--> OPTIONAL LEVEL---> ONLY KEYWORDS


2) RECORD LEVEL--> MANDATORY LEVEL---> RECORD FORMAT NAME
3) FIELD LEVEL--> MANDATORY LEVEL---> STRUCTURE--> FIELDS INFO-->FIELDS NAMES AND
ATTRIBUTES
4) KEY FIELD LEVEL--> OPTIONAL LEVEL--> ACCESS PATH

KEYWORDS LIST LEVELWISE

file level-- UNIQUE, FIFO, LIFO, FCFO ( FIRST CHANGED FIRST OUT), REF

RECORD LEVEL- TEXT, FORMAT

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 ****************************************

PF WITH KEY**** MOST FREQUENTLY USED ONES


PF WITHOUT KEY

ACCESS PATH--THE WAY HOW WE RETRIVE THE DATA FROM DATABASE FILE IS CALLED ACCESS
PATH

2 TYPE OF ACCESS PATH FOR DB FILES

1) KEYED SEQUENCE ACCESS PATH


2) NON KEYED SEQUENCE ACCESS PATH--( ARRIVAL SEQ ACCESS PATH)--RRN- RELATIVE RECORD
NUMBER

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

MULTI MEMBER PF---THE PF HAVING MORE THAN ONE DATA MEMBER...

Keywords

LOGICAL FILES (LF)

1) DEPENDENTS FOR PF'S


2) PARENT (PF) CHILD (LF)

DEFINATION

LF'S ARE DIFFERENT ACCESS PATHS FOR PF'S DATA( DIFFERENT KEY PURPOUS)

LF'S ARE LOGICAL VIEW OF PF DATA ( S or O)

LF'S DOES NOT CONTAIN DATA- LF'S ARE POINTERS FOR PF'S TO FETCH THE DATA

WE CAN DECLARE REQUIRED FIELDS FROM PF

YOU CAN DEFINE NEW FIELD WITH CONCAT KEYWORD( ALL FIELDS SHOULD BE CHAR)

YOU SUBSTRING ( SST) OF ANY PF CHAR FIELD

LEVELS IN LF

1) FILE LEVEL--> OPTIONAL LEVEL


2) RECORD LEVEL--> MANDATORY LEVEL
3) FIELD LEVEL-->
4) KEY FIELD LEVEL--> OPTIONAL LEVEL
5) SELECT/OMIT LEVEL--> OPT

DSPDBR- display DATA BASE RELATIONS(LF's)

SET CAPS OFF ---> to allow small letters in SEU code

COMP OPERATERS- EQ NE GT LT GE LE

JOINLF

ASSTUPF1--- student main file

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

STUNO STUNAM STUCLS STUSEC


000001 100 VENKAT 12 A
000002 200 DURGA 12 B
000003 300 RAM 13 A
000004 400 GANGADHAR 12 A
000005 500 PRAVEEN 11 A
000006 600 KK 12 B
000007 700 SREE 12 A
000008 800 BABU 16 B
000009 900 ASIF 12 C
****** ******** End of report ********

ASSTUPF2--- student additional information file

0001.00 A R STUREC1
0002.00 A STUNO 5P
0003.00 A STUFN 10A DFT('N/A')

0004.00 A STUMN 10A


0005.00 A STUST 2A DFT('TS')

****************** End of data ****************************************

STUNO STUFN STUMN SSTUST


000001 100 VF VM TS
000002 200 DF DM AP
000003 300 RF RM TS
000004 400 GF GM TN
000005 500 PF PM KA
000006 600 KF KM KA
000007 700 SF SM TS
****** ******** End of report ********

ASSTUPF3-- student state and fee inffromation file

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 ****************************************

STUST STUFEE STUDIS STURMKS


000001 TS 5000 50 50% DIS GIVEN
000002 AP 7000 30 30% DIS GIVEN
000003 KA 9000 10 10% DIS GIVEN
000004 TN 10000 0 NO DISCOUNT
000005 KL 6000 40 40% DIS GIVEN
****** ******** End of report ********

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 ****************************************

DATA FROM MORE THAN ONE PF BASED ON COMMON FIELD...

KEYWORDS

JDFTVAL-- FILE LEVEL-- WILL DECIDE INNER/OUTER JOIN


JFILE-- RECORD LEVEL-- FILES DECLARARION
JOIN-- JOIN LEVEL-- GIVES THE JOINED OF FILES
JFLD--- JOIN LEVEL-- COMMON FEILD IN ABOVE FILES
JDUPSEQ-- JOIN LEVEL---DECEND
JREF-- FIELD LEVEL-- WHEN THERE IS SAME NAME IN BOTH FILES YOU NEED REFER ANY ONE
FILE NAME FROM WHERE ITS NEED TO PICK DATA

LIMITATIONS OF JOIN LOGICAL FILE

1) THERE MUST BE COMMON FIELD.


2) NO DML OPERATIONS ALLOWED ( WRITE/UPDATE/DELETE).
3) ONLY FOR REPORTING PURPOUSE/VIEW
4) YOU CAN DECLARE MAX 32 FILES
5) KEY MUST BE FROM PRIMARY FILE

TYPES OF JOIN LF

INNER JOIN- COMMON RECORDS WILL PICK IN JOIN


OUTER JOIN- ALL RECORDS FROM 1ST FILE AND IF DATA NOT FOUND IN OTHER THAT WILL DFT
WITH DFAULT VALUES
SELF JOIN- FILE JOIN WITH SAME FILE

DSPFD
DSPFFD
DSPDBR
CLRPFM
RMVM
ADDPFM
***********************************************************************************
**********************************
SCREENS--DISPLAY FILES (DSPF)-- WORK STATION FILES

STRSDA--START SCREEN DESIG AID

CHAR INPUT- +I(LENGTH) OUTPUT- +O BOTH- +B

NUMBERS INPUT- +3 OUTPUT- +6 BOTH- +9

CL- CONTROL LANGUAGE.....


S1CNUM
S1CNAM
S1CADD
S1BAMT
S1DIS
S1TOT

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

DCL-- DECLARE A VARIABLE- SHOULD START WITH &


DCLF- DECLARE A FILE( DB/DSPF)
CHGVAR--** CHANGE THE VALUE OF ANY VARIALE AND CONVERT DECIMAL TO CHAR /CHAR TO
DECIMAL
*CAT *BCAT *TCAT- COCATINATING FUNCTIONS

COMMUNICATION MESSAGES IN CL

SNDUSRMSG--MESSAGE SENT AT RUN TIME


SNDPGMMSG-- AT END OF PGM
SNDMSG-- TO PERTICULAR USER
SNDBRKMSG- URGENT MESSAGE- CAN BE SENT TO ALL ACTIVE USERS

RCVF- READ ON DB- DISPLAY ON DSPF

STRSDA- START SCREEN DESIGN AID...UTILITY FOR DESIGN A DSPF

SNDF- ONLY ON DSPF- WRITE DATA TO SCREEN


SNDRCVF- WRITE THEN DISPLAY ON DSPF

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

CPF0000- GLOBAL MONMSG- HANDLE ALL CPF ERRORS

IBM SUPPILIED MSGF QCPFMSG

*****BREAK******************************************

WORK (JOBS) MANAGEMENT

JOB-- PIECE OF WORK (PROCESS)

JOB HAS 3 PARAMETERS (unique)

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

OUR AS400 SYSTEM ARCHITECTURE IS ORGNIZED....


THAT MEANS System DEVIDED INTO SUBSYSTEMS....

QINTER QBATCH

QCMN
QCTL

QSPL QBASE

QBASE SUBSYSTEM-- DEVIDED IN TO SUBSYSTEM....


SYSTEM DEFINED SUBSYSTEMS

1) QINTER- WHERE bussiness INTERCATIVE JOBS EXECUTED


2) QBATCH- WHERE OUR BATCH JOBS EXECUTED
3) QCTL-WHERE OUR CONTROLLING JOBS EXECUTED
4) QSPL- WHERE OUR WRITER JOBS EXECUTED
5) QCMN- WHERE OUR COMMUNICATION JOBS EXECUTED
6) QBASE- IBM BASE SUBSYSTEM
7) QSYSWRK- WHERE SYSTEM RELATED JOBS EXECUTED

USER DEFINED SUBSYSTEMS FOR EXAMPLE

1) QBATCH2 QBATCH3 ACCSBS REPORTSBS-- CREATED BY ADMIN

ACCSBS- WILL EXCEUTE ALL ACCOUNTING BATCH PROCESS

****IMP-BATCH JOB PROCESS-->SBMJOB CALL (PGM NAME) >JOBD> JOBQ( WAITING)--->


ATTACHED SUBSYSTEM(EXECUTING)--> OUTQ( COMPLETED)(gives the output)

EVERY JOBQ SHOULD BE ATTACHED TO ONE SUBSYSTEM....

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

ACTIVE( RUNNING)- IN SUBSYSTEM

MSGW- HALT/ERROR--JOB NEED SUPPORT--TROUBLE SHOOTING..


MAY BE PROGRAM ERROR, DATA ERROR, AUTHORITY ISSUES, RECORD LOCKS OR OBJECT LOCKS

OUTQ COMPLETED

CHGJOB---WE CAN CHANGE THE PRIOIRTY AND CHANGE THE JOBQ

WORK MANGEMENT COMMANDS

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.....

ALCOBJ-- ALLOCATE OBJECT- LOCK THE OBEJCT FOR THAT JOB/USER


DLCOBJ-- DELLOCATE OBEJCT- UNLOCK THE OBJECT FOR JOB/USER-- RELEASE THE OBJECT FROM
LOCKING

PF LF DATAAREA PGMS MOST COMMONLY USED OBJECTS FOR ALLOCATION.

CHKOBJ- CHECK OBJECT- CHECK THE OBJECT EXISTENCE.


LOCK STATES.

*SHRRD - The lock state is shared for read.


*SHRNUP - The lock state is shared, no update.
*SHRUPD - The lock state is shared for update.
*EXCLRD - The lock state is exclusive, allow read.
*EXCL - The lock state is exclusive, no read.

MOSTLY USED OBEJECTS ARE - DATAAREAS, FILES( DISPLAY FILES(NOT ALLOWED), DB FILES,
PRINTER FILES), PROGRAMS
DATAAREA CONCEPT

*DTAARA-- OBJECT IN AS400 TYPE *DTAARA - TO STORE SMALL AMOUNT OF FALT


DATA/INFORMATION- ***TO STORE SEQUENCE NUM#

# SEQUENCE NUMBER

FOR EXAMPLE

ROLL NUMBER, BILL NO, ORDER NO, INVOICE NO,CHECK NO

'N' 'Y'

TCS LIMITED - COMPANY NAME

COMMANDS

CRTDTAARA- TO CREATE A DATAAREA


CHGDTAARA- CHANGE THE VALUE IN DATAAREA
RTVDTAARA- TO READ DATAAREA VALUE TO PGM--TO VAR
DSPDATARA- TO VIEW/SEE DATAAREA VALUE
DLTDTAARA- TO DELETE DATAAREA OBJECT
WRKDTAARA- COMMON - TO WORK WITH DATAAREA

DATA AREA TYPES

1)USER DEFINED DATAAREA***


2)LOCAL DATAAREA*** (*LDA)--SYSTEM
3)GROUP DATAAREA (*GDA)
4)PIP(PROG INTIALIZATION PARAMETER DATAAREA)

LOCAL DATA AREA

*LDA- 1024 LENGTH CHAR

IMP--JOB SPECIFIC- TEMPORORY- SYSTEM CREATED WHEN JOB STARTED...WILL BE DELETED


WHEN JOB ENDS.

CRTDTAARA *LDA -- NEVER USE


DLTDTAARA *LDA--- NEVER USE...everything will be handled by system/job

****SUBMIT JOB SEPARATE LDA WILL BE CRETAED BUT INTIALLY INTERCATIVE LDA VALUES
COPIED TO SUBMIT JOB LDA( THIS IS ONETIME COPY)

ALCOBJ-- ALLOCATE OBJECT--LOCK THE OBJECT FOR THAT JOB


DLCOBJ- UNLOCK
CHKOBJ- CHECK THE EXISTENCE OF THAT OBJECT

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

RTVJOBA--*IMP-- USER, JOB TYPE ( INTERCATIVE - '1' BATCH '0')

*****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

OVRDBF-- OVERRIDE DB ATTRIBUTES AT RUN TIME

TEMPERORY, AT RUN TIME, JOB SPECIFIC

DLTOVR- REMOVE OVERRIDE

EXMAPLE FOR UNDERSTANDING

FILE x -- ORIGINAL - WHITE


CL1 CALL
PGM
....
...
OVRDBF FILE(x) --BLACK

CALL RPG1--USED X FILE(W /B) B


DLTOVR
CALL RPG1 - USED X FILE(W/B) W

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.

CL1 PGM USING EMPPF FILE (DB FILE)

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

FREQUENTLY USED FUNTIONS IN OPNQRYF


%RANGE
%DIGITS
%CHAR
%LIKE
%VALUES

OUTFILE CONCEPT

you can use OUTFILE concept on below commands

DSPFD DSPFFD DSPPGMREF DSPJRN DSPDBR DSPOBJD DSPUSRPRF

DSPDBR - SYS SUPLIED OUT FILE QADSPDBR


DSPFD- SYS SUPLIED OUT FILE QAFDACCP*** NEED TO CHECK REAL TIME EXAMPLE FOR
THIS(QPDSPFD )
DSPFFD- QADSPFFD
DSPJRN- QADSPJRN
DSPPGMREF- QADSPPGM
DSPOBJD-QADSPOBJD

OTHER MAIN COMMANDS WE USE IN RT

RUNSQL
RUNSQLSTMT
FTP*
ISF* RELATED
SNDDST- TO SEND EMAIL
SEND CSV FILES
***********************************************************************************
**********
RPG programming. REPORT PROGRAM GENERATOR

RPG3-RPG/400--OBJECT ATTRIBUTE TYPE IS RPG-old


RPG4-RPGLE*******fixed format
freeformat...fullyfreeformat
sqlrpgle
ILE concepts optional*****
realtime

FOR REPORTS, DML OPERATIONS...HLL

RPG IS FULL OF OPCODES , KEYWORDS, BILIT IN FUNCTIONS

RPG3 --INDICATOR BASED LANGUAGE...ON/OFF


RPG4---INDICATORS ARE OPTIONAL

RPGLE

H- HEADER SPEC- OPTIONAL


F- FILE SPEC- OPTIONAL
D- DECLRATION SPEC-OPTIONAL---E(IN RPG3)
I- INPUT SPEC-OPTIONAL
C- CALCULATION SPEC- MANDATORY
O- OUTPUT SPEC-OPTIONAL
P- PROCEDURE SPEC- OPTIONAL --NO P SPEC

OPERATIONS CODES AND BUILTIN FUNCTIONS

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

RPG,CLP- RPG3 OR RPG/400 , CL/400 -- COMMAND- STRISDB- START INTERACTIVE SOURCE


DEBUG
RPG4, RPGLE, RPG FREE FORMAT, ILE-- COMMAND- STRDBG- START DEBUG

14 TAKE F4 then

Compiler options . . . . . . . . OPTION > *NODEBUGIO OR H


OPTION(*NoDEBUGIO)

Debugging views . . . . . . . . DBGVIEW *source

Start Debug (STRDBG)

Type choices, press Enter.

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

F3=End program F6=Add/Clear breakpoint F10=Step F11=Display variable

PUT THE BREAK POINT AT 1ST EXECUTABLE LINE


THEN F3

CALL THE PROGRAM

PROGRAM WILL STOP AT BREAK POINT


THEN TAKE F10 TO PROCEED LINE BY LINE IN BEDUG MODE.

F11= CHECK THE VALUE IN VARIABLE/INDICAIOR

ONCE COMPLETED

ENDDBG
**************************************************************************
ALL DML OPERATIONS
ASSIGNMENT ON DML OPR

***NEED TO WRITE ALL THE BUILT IN FUNCTIONS PROGRAMS.


*** DATAAREA CONCEPT IN RPG ( IN OUT UNLOCK OPCODES)

ARRAYS CONCEPTS- COLLECTION OF SIMILAR TYPE OF ELEMENTS*************

DECLARED IN D SPEC

3 TYPES BASED LOADING DATA TO ARRAY

ARRAY IS COLLETION OF SIMILAR TYPE OF DATA/ELEMENTS

DECLARE ARRAY IN D SPEC

ARRAY KEYWORDS-- DIM, CTDATA, PERRCD , FROMFILE(ONLY FOR PRERUNTIME)

BASED ON LOADING DATA ELEMENTS TO ARRAY ARE DEVIDED AS 3 TYPES

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

A FLAT DATA CAN BE DEVIDED IN TO SUBFIELDS BY USING DATA STUCTURES

DATA STRUCTURE IS CHARECTER


SUBFILEDS CAN BE NUM / CHAR

TYPES

1) USER DEFINED/PROGRAM DISCRIBED DS--DEFINED BY PROGRAMER


2) PROGRAM INFORMATION DS--PREDEFINED BY IBM- USED TO GET PROGRAM INFO- USED TO
HANDLING THE ERRORS WHICH ARE PGM RELATED
3) FILE INFORMATION DS--PREDEFINED BY IBM- USED TO GET FILE INFO- USED TO HANDLING
THE ERRORS WHICH ARE FILE RELATED
4) DATA AREA DS--UDS KEYWORD DATAAREA
5) EXTERNALLY DESCRIBED E DS KEYWORD EXTNAME
6) MULTI OCCRENCE DS- WITH ARRAY--MILTI DIMENSSION ARRAY- OCCURS KEYWORD
7) INDICATOR AREA DS--DSPF

ERROR HANDLING********************
%ERROR
%STATUS
MONITOR BLOACK
PSDS
INFDS

REPORTS********************

RLU
O-SPEC

******************************SUBFILES*******************

SUBFILES--DSPF- IN DISPLAY SIMILAR TYPE OF DATA IN TABLUAR FORMAT (ROWS& COLUMNS)


MEMORY CONCEPT MAX 9999
MUTIPLE RECORD FORMATS SFL SFLCTL FOOTER (F3)

SUBFILE- DATA DB---> MEMORY--->SCREEN

BASED ON LOADING DB DATA TO MEMORY (SUBFILE) IS DEVIDED IN 3 TYPES

1) LOAD ALL SUBFILE-LOAD ALL THE RECORDS AT A TIME T0 SUBFILE...


PAGEUP AND PAGEDOWN WILL BE HANDLED BY SYSTEM.
THERS IS A CHANCE OF MEMORY WASTAGE...WE MISS THE LIVE DATA..DRAWBACKS
SFLPAG=<10> SLFSIZ=9999
2) EXPANDED/LOAD FORWARD/ELASTIC SUBFILE- LOAD THE DB RECORDS PAGE WISE UP TO EOF
PAGEUP HANDLED BY SYSTEM...PAGE DOWN HANDLED IN THE PGM.( WRITE CODE)
RECOLVE THE MEMORY ISSUE
SFLSIZ > SLFPAG (ATLEAST 1)
3) SINGLE PAGE/PAGE EQUAL SUBFILE-- LOAD RECORDS PAGE SIZE AND DISPLAY AFETR CLEAR
THE MEMORY THEN LOAD 2ND PAGE.
SFLSIZ=SFLPAG.
NO MEMEROY WASTE.
YOU CAN LOAD MORE THAN 9999.
YOU WILL GET LIVE DATA.

PAGE JUMP ISSUE FOR LOAD ALL AND EXPANDED..

SFLRCDNBR KEYWORD--CAUSE
BY DEFALUT VALUE IN SFLRCDNBR=1(rrn)- FIRST PAGE

TO RESOLVE THIS WE NEED 2 HIDDEN VARIBELS FOR


SFLRCDNBR AND SFLSCROLL

EVERY REAL TIME SUBFILE SHOULD BE DESIGNED WITH POSTO: KEY

EDITABLE SUBFILE.

USER CAN EDIT THE DATA SO SAME DATA SHOULD BE VALIDATE AND UPDATE BACK TO DB.

READC--ONLY USED IN SUBFILE- READ CHANGED RECORD. READC SFL01

DOW NOT %EOF


READC SFL01
VAIDATE
ENDDO

(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

RESOLUTION- ALL DEPENDENT PGMS NEED TO RECOMPILE WHEN FILE Id CHANGES.


JOUNALING

RECORDING OF DB DML OPERATIONS

JOURNAL- *JRN 0BJ TYPE-- WILL CAPTURE THE DB CHANGE


JOURNAL RECIEVER- *JRNRCV-- BOTH SHOULD BE ATTACHED - WILL STORE THE RECORDINGS
CRTJRNRCV-- TO CREATE JOUNAL RECIVER OBJECT
CRTJRN- TO CREATE JOUNAL OBJECT

STRJRNPF-- TO START JOUNALING ON ANY PF


Start Journal Physical File (STRJRNPF)

Type choices, press Enter.

Physical file to be journaled . FILE > EMPPF


Library . . . . . . . . . . . *LIBL
+ for more values > EMPPF1
*LIBL
Journal . . . . . . . . . . . . JRN > JRN02
Library . . . . . . . . . . . *LIBL
Record images . . . . . . . . . IMAGES > *BOTH
Journal entries to be omitted . OMTJRNE > *OPNCLO
Logging level . . . . . . . . . LOGLVL *ERRORS
ENDJRNPF- TO END THE JOUNALING ON ANY PF( SHOULD BE RUN THISONE AT NON BUSSINESS
HOURS)
PF NAME *BOTH *OPNCLO (*OMIT)

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)

WRKJRNA < JRN NAME>

F13-- FILE LIST WHICH ARE UNDER JOURNAL


F15- LIST OF JOUNAL RECIVERS

CHGJRN- TO ATTACH NEW JOUNAL RECIVER

JOURNAL ENTRY TYPES

UB-- UPDATE BEFORE IMAGE


UP- UPDATE AFTER IMAGE
DL- DELTED RECORD IMAGE
PT- ADDED RECORD IMAGE

DB TRIGGERS

EVENT ----> TRIGGER

TRIGGER- EVENT
TRIGGER- TIME
TRIGGER- PGM

TRIGGER NAME ( OPT)

TO ADD A TRIGGER TO PF ---ADDPFTRG

EDTCODE=%EDITC
Edit Code No CR -Sign -Sign
Description Sign Sign (R) (L)

Commas and zero balances 1 A J N


Commas 2 B K O
Zero balances 3 C L P
No commas or zero balances 4 D M Q
User-defined edit codes 5-9
Date edit (4 digits) W
Date edit Y
Suppress leading zeros Z

EDTWRD=%EDITW
IF NO EDTCDE IS USE FULL FOR CLIENT REQUIRMENT THEN GO FOR EDTWRD.

ERROR HANDLING IN RPG-3(rpg)


ALL FILE RELATED ERRORS WILL BE HANDELED THROUGH FILE INFORMATION DS
ALL PGM RELATED ERRORS WILL BE HANDELED THROUGH PROGRAM INFORMATION DS

ERROR HANDLING IN RPG-4(rpgle)


1)PSDS
INFDS-- *pssr
2)OPCODE EXTENDER(E)
%ERROR, %STATUS
3) MONITOR AND ENDMON ( BY USING 0N ERROR)
Monitor

on- error (status ID)

endmon

SQLRPGLE

INCLUDE SQL STATEMENTS IN RPGLE PROGRAM....EMDEDED SQL RPG

EVERY SQL STATMENT SHOULD START AND END WITH


/EXEC SQL
/END-SQL..... COMPILER DIRECTIVES

C/EXEC SQL
C+ SELECT EMPNAM,DEPT,EMPSAL INTO :NAME,:DEPT1,:SAL1 FROM SQLPF
C+ WHERE EMPNUM ='100'
C/END-EXEC

SQLRPGLE COMPILARION PROCESS.


IT WILL TAKE 2 STEPS.
1) IT WILL CHECK SYNTAX FOR ALL SQL STATEMENTS(SQL precompile failed)
2) IT WILL CHECH C- SPEC CODE. (Compilation stopped. Severity 30 errors found in
program)

SQLCODE WILL DETERMINE WHETHER YOUR SQL STATEMENT IS SUCCESS/NOT...

SQLCODE=0 MEANS SUCCESS


SQLCODE=100 MEANS RECORD NOT FOUND/END OF FILE
SQLCODE>0 MEANS=POSTIVE VALUE- WARNING
SQLCODE<0 MEANS=NEAGATIVE- ERROR
CURSOR- DECLAREATION.

WHEN SELECTION HAVING MULTIPLE RECORDS.....

CURSOR SYNTAX

DECLARE <CUR NAME> CURSOR FOR


OPEN <CUR>
DO LOOP
FETCH <CUR> :INTO DS1

IF SQLCODE=100
LEAVE
ENDIF

PROCESS

ENDDO

CLOSE <CUR>

CURSOR TYPES

1) SEQUENTIAL CURSOR
2) SCROLL CURSOR
3) SENSITIVE CURSOR
4) NON SENSITIVE CURSOR

DYNAMIC SQL STATEMENTS

PREPARE
EXCUTE

UPDATE STATEMENTS****

real time information...

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-

COMMIT AND ROLLBACK PROCESS

COMMIT- OPCODE COMMIT- KEYWORD


ROLLBACK- OPCODE

SRTCMTCTL
ENDCMTCTL

RPGLE/CLLE- STRDBG- START DEBUG


RPG/CLP- STRISDB- STRAT INTERACTIVE SOURCE DEBUGGER

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

office address, lead, domian...client location...personal info

You might also like