0% found this document useful (0 votes)
67 views12 pages

Interaction With Display and File Processing Opcodes: Overview

This document discusses interaction with display files and file processing opcodes in RPG. It covers: - Creating a display file with input and output fields to perform math operations and display results. - Figurative constants like *LOVL, *HIVAL, *BLANKS, and *ZEROS that represent lowest, highest, blank, and zero values. - File processing opcodes like CHAIN, READ, READP, DELETE, and READE to retrieve, add, update, and delete records from files.

Uploaded by

Vijay Das
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views12 pages

Interaction With Display and File Processing Opcodes: Overview

This document discusses interaction with display files and file processing opcodes in RPG. It covers: - Creating a display file with input and output fields to perform math operations and display results. - Figurative constants like *LOVL, *HIVAL, *BLANKS, and *ZEROS that represent lowest, highest, blank, and zero values. - File processing opcodes like CHAIN, READ, READP, DELETE, and READE to retrieve, add, update, and delete records from files.

Uploaded by

Vijay Das
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 12

Interaction with Display and File Processing Opcodes

Day 10
Interaction with Display and File Processing Opcodes:
Overview:
This module enables the student to understand how to include a display fle in RPG
program, Figurative onstants and RPG!"00 File Processing #pcodes$
Outline:
Topics covered,
%nteraction with Display fle
Figurative onstants
File Processing #pcodes$
Objective:
&y the end o' this module, the student should be able to(
)ow to %nteract with Display fle$
*nderstand Figurative onstants-*LOVL! *"IVL! *#L$%! *#L$%&!
*'()O! *'()O&
*nderstand the various File Processing #pcodes li+e , &(*LL! &(*+*! ,"I$!
)(D(! )(DP! )(DP(! D(L(*! -PD*
- Du+e.tar Technologies Pvt$ /td$
1!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Interaction with Display and File Processing Opcodes
Day 10
Interaction with Display .le
Display fle are used 'or the output operation and input operation$
%nput #peration( To get the records 'rom the user$
#utput #peration( To give the in'ormation to the user$
%n this session we create a display fle, in which there are three input feld and one output
feld$
The three input feld are
1$ First 1umber
0$ .econd number
2$ #ption
The one output feld is
1$ Result

%n frst and second number feld we enter the number and in option feld we enter the
option 3145dd 04.ub, 246ult, "4Div7 then result o' the operation is appear in the result
feld$

Display .le
UUUUUUUUUU DD/DD/DD
TT:TT:TT


MATHS OPERATION


ENTER THE FIRST NUMBER .......: 999-

ENTER THE SECOND NUMBER ......: 999-

OPTION .......................: 3-

RESULT .......................: 99999-

1=Add 2=Sub 3=Mul !=D"#


F3 = TO E$IT





Display File $a/e( 6ath
)ecord: .1
Fields $a/es: 1*61, 1*60, #PT, R8.
- Du+e.tar Technologies Pvt$ /td$
0!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Interaction with Display and File Processing Opcodes
Day 10
)P+ Progra/:
C%lu&'( . . . : 1 )1 Ed" PB*1U*1S/M+RP,
SEU==- E$A1.
FMT F$ .....FF"l/'0&/IPEAF........L..I........D/#"1/2......3E4"22E'562A....U
777777777777777 B/8"''"'8 %9 d00 7777777777777777777777777777777777777
***1.** FMATH CF E :OR3STN
***1.*1 7
***2.** C 7IN*3 DO:E;7OFF
***2.*1 C <-ADD7<EROS OPT
***3.** C E$FMTS1
***3.*1 7 IF F3 IS PRESS
***3.*2 C *3 LEA=E
***3.*! 7 ADDITION
***3.*> C OPT IFE; 1
***3.*. C NUM1 ADD NUM2 RES
***3.*) C ENDIF
***3.*? 7 SUBTRACTION
***3.*9 C OPT IFE; 2
***3.1* C NUM1 SUB NUM2 RES
***3.11 C ENDIF
***3.12 7 MULTIPLICATION
***3.13 C OPT IFE; 3
***3.1! C NUM1 MULT NUM2 RES
***3.1> C ENDIF
***3.1. 7 DI=ISION
***3.1) C OPT IFE; !
***3.1? C NUM1 DI= NUM2 RES
***3.19 C ENDIF
***3.2* 7
***?.** C ENDDO
***9.** C SETON LR
777777777777777777 E'd %9 d00 7777777777777777777777777777777777777777


F3=E4" F!=P5%&@ F>=R/95/(A F9=R/5"/#/ F1*=Cu5(%5 F11=T%88l/
F1.=R/@/0 9"'d F1)=R/@/0 1A0'8/ F2!=M%5/ B/6(


Figurative ,onstants
1$ *LOVL
Represents the lowest possible value 'or the data type i$e$ being compared with
or moved to$ For char feld9s he:adecimal ;eros and 'or numeric felds all nines
with a negative sign$ This can be used only with <eyfeld in PF$
0$ *"IVL
Represents the highest possible value 'or data type i$e$ being compared with or
moved to$ For char felds he:adecimal FFs and 'or numeric felds all nines with a
positive sign$ This can be used only with <eyfeld in PF$

2$ *#L$% *#L$%&
=alid 'or character and numeric felds$ %t represents all blan+s$
"$ *'()O *'()O&
=alid only 'or numeric felds$ Represents all ;eros$
- Du+e.tar Technologies Pvt$ /td$
2!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Interaction with Display and File Processing Opcodes
Day 10
File Processing Opcodes
01 ,reate Physical .le 2(3P4 as shown below
C%lu&'( . . . : 1 )1 Ed" PB*1U*1D/M+DDS
SEU==- EMP
FMT PF .....A..........T.N0&/222222RL/'[email protected]'1"%'(222222222222222222
777777777777777 B/8"''"'8 %9 d00 7777777777777777777777777777777777777
***1.** A R EMPR
***2.** A EMPNO 3S *
***3.** A ENAME >A
***).** A 3 EMPNO
777777777777777777 E'd %9 d00 7777777777777777777777777777777777777777












F3=E4" F!=P5%&@ F>=R/95/(A F9=R/5"/#/ F1*=Cu5(%5 F11=T%88l/
F1.=R/@/0 9"'d F1)=R/@/0 1A0'8/ F2!=M%5/ B/6(
CCD COP+RI,HT IBM CORP. 19?1E 2**2.
&(*LL 5&et Lower Li/it1
The .8T// positions the fle at the frst record whose +ey is GR85T8R T)51 or 8>*5/ T#
the value specifed in 'actor1$ Factor1 can be a literal, feld name or fgurative constant$
Factor0 can be a File name or a record 'ormat name$ *se o' indicator is optional$ %' used,
it can be used to chec+ whether e:act match or not$ The resulting indicators re?ect the
status o' the operation$ %' an indicator is specifed in 3)%7 it is set on when the search
argument is greater than the highest +ey or relative record number in the fle 3i$e$ not
'ound7$ %' an indicator is specifed in 3/#7 it is set on when an error occurs during running
o' the operation$ %' an indicator is specifed in 38>7 it is set on when a record is present
whose +ey or relative record number is e@ual to the search argument$
- Du+e.tar Technologies Pvt$ /td$
"!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Factor 0 .earch argument 36andatory7
Factor 6 File name ! record 'ormat 36andatory7
)esult Field Data .tructure 3only 'or program describe
fle7
"I
LO 8R 3#ptional7
(7 &#F
Interaction with Display and File Processing Opcodes
Day 10
- Du+e.tar Technologies Pvt$ /td$
A!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Interaction with Display and File Processing Opcodes
Day 10
C%lu&'( . . . : 1 )1 Ed" PB*1U*1S/M+RP,
SEU==- E$A1)
FMT F .....FF"l/'0&/IPEAF....Rl/'L31AIO#3l%1ED/#"1/2......3E4"22E'562A....U
777777777777777 B/8"''"'8 %9 d00 7777777777777777777777777777777777777
***1.** FEMP IF E 3 DIS3
***1.*1 C7 SETLL E$AMPLE
***2.** C 7LO=AL SETLLEMPR
***2.*1 C7 FILE POINTER IS SET TO THE LO:EST =ALUE
***2.*2 C 7IN9* DO:E;7OFF
***2.*3 C7 IF INDICATOR 9* ON THEN ITER
***2.*! C 9* ITER
***2.*> C READ EMPR 9*
***2.*. C7DISPLA+ THE RECORDS
***!.** C EMPNO DSPL+
***>.** C ENAME DSPL+
***..** C ENDDO
***?.** C SETON LR
777777777777777777 E'd %9 d00 7777777777777777777777777777777777777777


F3=E4" F!=P5%&@ F>=R/95/(A F9=R/5"/#/ F1*=Cu5(%5 F11=T%88l/
F1.=R/@/0 9"'d F1)=R/@/0 1A0'8/ F2!=M%5/ B/6(

&(*+* 5&et greater *han1
The .8TGT operation wor+s similarly to .8T//$ The diBerence is that this operation
positions the fle to a record whose +ey value is GR85T8R T)51 the value o' 'actor1$
Factor1 value can be a feld name, literal, fgurative constant$ Factor0 can be a fle name
or record 'ormat name$
/i+e .8T//, .8TGT also positions the fleC it does not actually retrieve a record 'rom the
Database fle$ *se o' indicator is optional$ %' used, it can be used to chec+ whether e:act
match or not$ The resulting indicators re?ect the status o' the operation$ %' an indicator is
specifed in 3)%7 it is set on i' no record 'ound with a +ey or there is a relative record
number that is greater then the search argument specifed in the 'actor 1$ 3/#7 it is set
on when an error occurs during running o' the operation$ %' an indicator is specifed in
positions AD and AE$
- Du+e.tar Technologies Pvt$ /td$
F!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Factor 0 .earch argument 36andatory7
Factor 6 File name ! record 'ormat 36andatory7
)esult Field Data .tructure 3only 'or program describe
fle7
"I
LO
(7
Interaction with Display and File Processing Opcodes
Day 10
C%lu&'( . . . : 1 )1 Ed" PB*1U*1S/M+RP,
SEU==- E$A1?
FMT F$ .....FF"l/'0&/IPEAF........L..I........D/#"1/2......3E4"22E'562A....U
777777777777777 B/8"''"'8 %9 d00 7777777777777777777777777777777777777
***1.** FEMP IF E 3 DIS3
***1.*1 C7 SET,T E$AMPLE
***1.*2 C 7HI=AL SET,TEMPR
***1.*3 C7 FILE POINTER IS SET TO HI,HEST =ALUE
***1.*! C READPEMPR 9*
***1.*> C 7IN9* IFE; 7OFF
***1.*. C EMPNO DSPL+
***1.*) C ENAME DSPL+
***1.*? C ELSE
***1.1* C7 IF INDICATOR 9* IS ON THEN ERROR IS DISPLA+ED
***1.11 C FERRORF DSPL+
***1.12 C ENDIF
***?.** C SETON LR
777777777777777777 E'd %9 d00 7777777777777777777777777777777777777777


F3=E4" F!=P5%&@ F>=R/95/(A F9=R/5"/#/ F1*=Cu5(%5 F11=T%88l/
F1.=R/@/0 9"'d F1)=R/@/0 1A0'8/ F2!=M%5/ B/6(

,"I$ 5)ando/ )etrieval 8ro/ a File1
RPG supports random access o' the database fles through the )5%1 operation$ )5%1
re@uires a 'actor1 entryC which contains the +ey value o' the record to be randomly read$
Factor0, which is also re@uired, contains the name o' the fle or the record 'ormat o' the
fle$ 5 re@uired indicator in the )% 31R7 position turns on when the random read is
unsuccess'ul$ %ndicators defne in the /# 38R7 'actor get on i' )5%1 operation was not
completed success'ul$

- Du+e.tar Technologies Pvt$ /td$
G!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Factor 0 .earch argument 36andatory7
Factor 6 File name ! record 'ormat 36andatory7
)esult Field Data .tructure 3only 'or program describe
fle7
"I 1R 36andatory7
LO 8R 3#ptional7
(7
Interaction with Display and File Processing Opcodes
Day 10
C%lu&'( . . . : 1 )1 Ed" PB*1U*1S/M+RP,
SEU==- E$A19
FMT F .....FF"l/'0&/IPEAF....Rl/'L31AIO#3l%1ED/#"1/2......3E4"22E'562A....U
777777777777777 B/8"''"'8 %9 d00 7777777777777777777777777777777777777
***1.** FEMP IF E 3 DIS3
***1.*1 C7 CHAIN E$AMPLE
***2.** C EMPNO CHAINEMPR 9*
***2.*1 C7 IF RECORD FOUND THEN DISPLA+
***3.** C 7IN9* IFE; 7OFF
***!.** C EMPNO DSPL+
***>.** C ENAME DSPL+
***..** C ELSE
***..*2 C7IF NOT FOUND THEN DISPLA+ ERROR
***..*3 C FERRORF DSPL+
***).** C ENDIF
***?.** C SETON LR
777777777777777777 E'd %9 d00 7777777777777777777777777777777777777777


F3=E4" F!=P5%&@ F>=R/95/(A F9=R/5"/#/ F1*=Cu5(%5 F11=T%88l/
F1.=R/@/0 9"'d F1)=R/@/0 1A0'8/ F2!=M%5/ B/6(

)(D( 5)ead (9ual1
The R85D8 se@uentially reads the ne:t record in a fle whose +ey matches with the value
in 'actor1$%' the record9s +ey does not match, or i' it is the end o' fle, the indicator
specifed in the 8> position turns #1$Factor1 can be feld, literal or fgurative
constant$Factor0 may be a fle name or a record 'ormat name$ %ndicators defne in the /#
38R7 'actor get on i' R85D8 operation was not completed success'ul$
C%lu&'( .
. . : 1 )1 Ed" PB*1U*1S/M+RP,
SEU==- E$A2*
FMT F$ .....FF"l/'0&/IPEAF........L..I........D/#"1/2......3E4"22E'562A....U
777777777777777 B/8"''"'8 %9 d00 7777777777777777777777777777777777777
***1.** FEMP IF E 3 DIS3
***1.*1 C7 READE E$AMPLE
***1.*3 C <-ADD1 RS 3*
***1.*! C RS READEEMPR 9*
***1.*> C 7IN9* IFE; 7OFF
***1.*. C EMPNO DSPL+
***1.*) C ENAME DSPL+
***1.*? C ELSE
***1.*9 C7 IF INDICATOR 9* IS ON THEN ERROR IS DISPLA+ED
***1.1* C FERRORF DSPL+
***1.11 C ENDIF
***?.** C SETON LR
777777777777777777 E'd %9 d00 7777777777777777777777777777777777777777


F3=E4" F!=P5%&@ F>=R/95/(A F9=R/5"/#/ F1*=Cu5(%5 F11=T%88l/
F1.=R/@/0 9"'d F1)=R/@/0 1A0'8/ F2!=M%5/ B/6(
CCD COP+RI,HT IBM CORP. 19?1E 2**2.
- Du+e.tar Technologies Pvt$ /td$
D!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Factor 0 .earch argument
Factor 6 File name ! record 'ormat 36andatory7
)esult Field Data .tructure 3only 'or program describe
fle7
"I
LO 8R 3#ptional7
(7 8#F
Interaction with Display and File Processing Opcodes
Day 10
)(DP 5)ead Prior1
R85DP reads previous record 'rom a 'ull procedural fle$ Record 'ormat!File name is
written in the 'actor0 o' the fle that is to be read$ %ndicators defne in the 8# 'actor get
on i' record is not 'ound$ %ndicators defne in the /# 38R7 'actor get on i' R85DP operation
was not completed success'ul$
C%lu&'( . . . : 1 )1 Ed" PB*1U*1S/M+RP,
SEU==- E$A21
FMT F$ .....FF"l/'0&/IPEAF........L..I........D/#"1/2......3E4"22E'562A....U
777777777777777 B/8"''"'8 %9 d00 7777777777777777777777777777777777777
***1.** FEMP IF E 3 DIS3
***1.*1 C7 READP E$AMPLE
***1.*2 C 7HI=AL SET,TEMPR
***1.*3 C7 FILE POINTER IS SET TO HI,HEST =ALUE
***1.*! C READPEMPR 9*
***1.*> C 7IN9* IFE; 7OFF
***1.*. C EMPNO DSPL+
***1.*) C ENAME DSPL+
***1.*? C ELSE
***1.*9 C7 IF INDICATOR 9* IS ON THEN ERROR IS DISPLA+ED
***1.1* C FERRORF DSPL+
***1.11 C ENDIF
***?.** C SETON LR
777777777777777777 E'd %9 d00 7777777777777777777777777777777777777777


F3=E4" F!=P5%&@ F>=R/95/(A F9=R/5"/#/ F1*=Cu5(%5 F11=T%88l/
F1.=R/@/0 9"'d F1)=R/@/0 1A0'8/ F2!=M%5/ B/6(

)(DP( 5)ead Prior (9ual1
R8DP8 is used 'or +eyed fle processing$ R8DP8 reads previous record whose +ey values
matches with search argument in 'actor1$ Record 'ormat!File name is written in the
'actor0 o' the fle that is to be read$ %ndicators defne in the 8# 'actor get on i' record is
not 'ound$ %ndicators defne in the /# 38R7 'actor get on i' R8DP8 operation was not
completed success'ul$
- Du+e.tar Technologies Pvt$ /td$
E!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Factor 0 .earch argument
Factor 6 File name ! record 'ormat 36andatory7
)esult Field Data .tructure 3only 'or program describe
fle7
"I
LO 8R 3#ptional7
(7 &#F
Factor 0 .earch argument
Factor 6 File name ! record 'ormat 36andatory7
)esult Field Data .tructure 3only 'or program describe
fle7
"I
LO 8R 3#ptional7
(7 &#F
Interaction with Display and File Processing Opcodes
Day 10
C%lu&'( . . . : 1 )1 Ed" PB*1U*1S/M+RP,
SEU==- E$A22
FMT F$ .....FF"l/'0&/IPEAF........L..I........D/#"1/2......3E4"22E'562A....U
777777777777777 B/8"''"'8 %9 d00 7777777777777777777777777777777777777
***1.** FEMP IF E 3 DIS3
***1.*1 C7 REDPE E$AMPLE
***1.*. C <-ADD> RR 3*
***1.*) C RR CHAINEMPR 9*
***1.*? C 7IN9* IFE; 7OFF
***1.12 C 7IN91 DO:E;7OFF
***1.13 C READEEMPR 91
***1.1! C EMPNO DSPL+
***1.1> C ENAME DSPL+
***1.1. C ENDDO
***1.1) C ENDIF
***?.** C SETON LR
777777777777777777 E'd %9 d00 7777777777777777777777777777777777777777




F3=E4" F!=P5%&@ F>=R/95/(A F9=R/5"/#/ F1*=Cu5(%5 F11=T%88l/
F1.=R/@/0 9"'d F1)=R/@/0 1A0'8/ F2!=M%5/ B/6(
CCD COP+RI,HT IBM CORP. 19?1E 2**2.
D(L(* 5Delete record1
The D8/8T operation deletes a record 'rom a database fle$ Factor0 must contain the
name o' the update fle or the name o' a record 'ormat in the fle 'rom which a record is
to be deleted$ Hou can speci'y a resulting indicator in positions AF and AGC it is set on it
he D8/8T operation is not completed success'ully$ The record must have been loc+ed by
a previous input operation li+e )5%1 or R85D$
1r indicates no record 'or delete$ 8r indicates D8/8T operation was not completed
success'ully$
%' 'actor 1 has entry then we must have to speci'y the indicator in the )% entry, i' 'actor 1
is blan+ then leave the )% entry blan+$ This indicator set on i' the record speci'y in 'actor
1 is not 'ound in the fle$ %ndicator defne in the /# entry will set on i' the delete
operation is not complete success'ully$
- Du+e.tar Technologies Pvt$ /td$
10!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Factor 0 .earch argument 3#ptional7
Factor 6 File name ! record 'ormat 36andatory7
)esult Field Data .tructure 3only 'or program describe
fle7
"I 1r
LO 8r
(7
Interaction with Display and File Processing Opcodes
Day 10
C%lu&'( . . . : 1 )1 Ed" PB*1U*1S/M+RP,
SEU==- E$A23
FMT F$ .....FF"l/'0&/IPEAF........L..I........D/#"1/2......3E4"22E'562A....U
777777777777777 B/8"''"'8 %9 d00 7777777777777777777777777777777777777
***1.** FEMP UF E 3 DIS3
***1.*1 C7 DELETE E$AMPLE
***1.*. C <-ADD> RR 3*
***1.*) C RR CHAINEMPR 9*
***1.*? C 7IN9* IFE; 7OFF
***1.13 C DELETEMPR
***1.1) C ENDIF
***?.** C SETON LR
777777777777777777 E'd %9 d00 7777777777777777777777777777777777777777








F3=E4" F!=P5%&@ F>=R/95/(A F9=R/5"/#/ F1*=Cu5(%5 F11=T%88l/
F1.=R/@/0 9"'d F1)=R/@/0 1A0'8/ F2!=M%5/ B/6(
CCD COP+RI,HT IBM CORP. 19?1E 2**2.
-PD* 53odi8y (:isting )ecord1
The *PD5T operation modifes the last record retrieved 'or processing 'rom an update
dis+ fle or subfle$ 1o other operation should be per'ormed on the fle between the input
operation that retrieved the record and the *PD5T operation$ Factor0 must contain the
name o' a fle or record 'ormat to be updated$ 5 record 'ormat name in 'actor0 is
re@uired with an e:ternally described fle$ Hou can speci'y a resulting indicator in 3/#7 to
be set on i' the *PD5T operation is not completed success'ully$
- Du+e.tar Technologies Pvt$ /td$
11!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.
Factor 0
Factor 6 File name ! record 'ormat 36andatory7
)esult Field Data .tructure 3only 'or program describe
fle7
"I
LO 8r
(7
Interaction with Display and File Processing Opcodes
Day 10
C%lu&'( . . . : 1 )1 Ed" PB*1U*1S/M+RP,
SEU==- E$A2!
FMT F$ .....FF"l/'0&/IPEAF........L..I........D/#"1/2......3E4"22E'562A....U
777777777777777 B/8"''"'8 %9 d00 7777777777777777777777777777777777777
***1.** FEMP UF E 3 DIS3
***1.*1 C7 UPDATE E$AMPLE
***1.*. C <-ADD3 RR 3*
***1.*) C RR CHAINEMPR 9*
***1.*? C 7IN9* IFE; 7OFF
***1.*9 C MO=EL7BLAN3S ENAME
***1.1* C MO=ELFARUNF ENAME
***1.13 C UPDATEMPR
***1.1) C ENDIF
***?.** C SETON LR
777777777777777777 E'd %9 d00 7777777777777777777777777777777777777777






F3=E4" F!=P5%&@ F>=R/95/(A F9=R/5"/#/ F1*=Cu5(%5 F11=T%88l/
F1.=R/@/0 9"'d F1)=R/@/0 1A0'8/ F2!=M%5/ B/6(
CCD COP+RI,HT IBM CORP. 19?1E 2**2.

- Du+e.tar Technologies Pvt$ /td$
10!10
No part of this document can be copied, reproduced in any form, complete or partial without written consent from DukeStar Technologies
Pvt. Ltd.

You might also like