|
Hello All;
Once again I am running into some newbie problems. This program is supposed
to kick out a simple report based on the item number given by the user in
the display file. The SQLRPGLE program compiles but it bombs out when I try
and run it. I have a display file and a SQLRPGLE program which calls the
display file. I think I am doing something wrong in the coding part itself.
Should I be using an extra CL program with this? I do not know if this kind
of report generation could be done with only one piece of sqlrpgle code and
a dspf file. If anybody could point me in the right direction, I would
really appreciate it.
ITEMINQSQL.dspf
**************************************************************************************************************************
A*%%TS DD 20060921 151811 jakem REL-V5.0.1 WDSc
A*%%FD Example: Item Inquiry
A*%%EC
A DSPSIZ(24 80 *DS3)
A REF(*LIBL/ITEM_PF)
A CA03(03)
A INDARA
A R PROMPT
A*%%TS DD 20060921 151811 jakem REL-V5.0.1 WDSc
A PGMNAM 10A O 3 7
A 3 35'Item Inquiry'
A COLOR(WHT)
A 3 64DATE
A EDTCDE(Y)
A 8 20'Item Number . . . . . .:'
A ITMNBR R D I 8 45
A 40 ERRMSG('Item not found on file -
pl-
A ease correct' 40)
A 20 7'Press Enter to continue'
A 21 7'F3=Exit'
A COLOR(BLU)
A*%%GP SCREEN1
01
******************************************************************************************************************************
ITEMINQSQL.sqlrpgle
******************************************************************************************************************************
// Declare Files
FITEM_PF IF E K DISK Rename(ITEM_PF:RITEMPF)
FITEMINQSQLCF E WORKSTN IndDS(WkstnInd)
Fqsysprt o f 132 printer
D itemchoice PR EXTPGM('ITEMINQSQL')
D itemnum 20
D itemchoice PI
D itemnum 20
D WkstnInd DS
D NotFound 40 40N
D Exit 03 03N
D Cancel 12 12N
D myDS ds LIKEREC(RITEMPF)
/FREE
PgmNam = 'ITEMINQSQL';
Exfmt Prompt;
Dow NOT Exit;
/END-FREE
C/EXEC SQL
C+ Set Option
C+ Naming = *Sys,
C+ Commit = *None,
C+ UsrPrf = *User,
C+ DynUsrPrf = *User,
C+ Datfmt = *iso,
C+ CloSqlCsr = *EndMod,
C+ Commit = *NONE
C/END-EXEC
c/exec sql
c+ declare mainCursor Cursor
c+ for
c+ select * from testing/item_pf where itmnbr=:itemnum
c/end-exec
c/exec sql
c+ open mainCursor
c/end-exec
c/exec sql
c+ fetch next
c+ from mainCursor
c+ into :myDS
c/end-exec
/FREE
If %found(Item_PF); // Item Number valid?
NotFound = *off;
Dow NOT Cancel; // Display details
except heading;
dow SQLSTT = '00000';
except detail;
/END-FREE
c/exec sql
c+ fetch next
c+ from mainCursor
c+ into :myDS
c/end-exec
/FREE
enddo;
If Exit;
*InLR = *ON;
Return;
Endif;
Enddo;
Endif;
// No Item record found or F12 pressed - display prompt
Cancel = *Off;
NotFound = *on;
Exfmt Prompt;
Enddo;
*InLR = *ON;
/END-FREE
Oqsysprt e heading 1
O + 1 'ITEM NUMBER'
O + 20 'ITEM DESCRIPTION'
Oqsysprt e detail 3
O ITMNBR + 1
O ITMDESCR + 20
****************************************************************************************************************************************
Thanks in advance,
cheers,
Jake.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.