|
Paul,
Here are the prototypes we are using, if you have any specific questions on
their
use I will see what I can do but it you best bet is to create a simple inquiry
first. I
would look at using SQL because it is the easiest fit. I created a complete
set of
dynamic database functions so that we could do native I/O with SQL's
flexibility.
David Morris
**********************************************************************************************
* DsmGetAID Get AID code.
*
* Input:
*
* EnvHnd Environment handle.
*
* Output:
*
* AIDCod AID code.
*
* APIErr API error information.
*
* Return:
*
* AIDCod AID code.
*
**********************************************************************************************
D DsmGetAID PR 1A EXTPROC('QsnGetAID')
D PR_AIDCod 1A OPTIONS(*OMIT)
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmReadInp Read input fields.
*
* Input:
*
* CtrChr1 Control character byte 1.
*
* CtrChr2 Control character byte 2.
*
* InpBfrHnd Input buffer handle.
*
* CmdBfrHnd Command buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* InpBfrSiz Size of input buffered used to return fields.
*
* APIErr API error information.
*
* Return:
*
* AIDCod AID code.
*
**********************************************************************************************
D DsmReadInp PR 10I 0 EXTPROC('QsnReadInp')
D PR_CtrChr1 1A CONST
D PR_CtrChr2 1A CONST
D PR_InpBfrSiz 10I 0
D PR_InpBfrHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_CmdBfrHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmClrScr Clear screen and set screen size.
*
* Input:
*
* ScrMod Screen mode: '0'-use current size, '3'=24x80,
'4'-27x132. *
* CmdBfrHnd Command buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmClrScr PR 10I 0 EXTPROC('QsnClrScr')
D PR_ScrMod 1A CONST OPTIONS(*OMIT)
D PR_CmdBfrHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmWrtDta Write data to screen.
*
* Input:
*
* ChrDta Character data.
*
* ChrDtaL Character data length.
*
* FldID Field identifier.
*
* Row Row.
*
* Col Column.
*
* StrMonAtr Starting monochrome attribute.
*
* EndMonAtr Ending monochrome attribute.
*
* StrColAtr Starting color attribute.
*
* EndColAtr Ending color attribute.
*
* CmdBfrHnd Command buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmWrtDta PR 10I 0 EXTPROC('QsnWrtDta')
D PR_ChrDta 32767A CONST OPTIONS(*VARSIZE)
D PR_ChrDtaL 10I 0 CONST
D PR_FldID 10I 0 CONST OPTIONS(*OMIT)
D PR_Row 10I 0 CONST OPTIONS(*OMIT)
D PR_Col 10I 0 CONST OPTIONS(*OMIT)
D PR_StrMonAtr 1A CONST OPTIONS(*OMIT)
D PR_EndMonAtr 1A CONST OPTIONS(*OMIT)
D PR_StrColAtr 1A CONST OPTIONS(*OMIT)
D PR_EndColAtr 1A CONST OPTIONS(*OMIT)
D PR_CmdBfrHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmSetFld Define an input field.
*
* Input:
*
* FldID Field identifier.
*
* FldLen Field length.
*
* Row Row.
*
* Col Column.
*
* FldFmtWrd Field format word.
*
* FldCtlWrd Field control words.
*
* FldCtlWrdC Field control word count.
*
* MonAtr Monochrome attribute.
*
* ColAtr Color attribute.
*
* CmdBfrHnd Command buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmSetFld PR 10I 0 EXTPROC('QsnSetFld')
D PR_FldID 10I 0 CONST OPTIONS(*OMIT)
D PR_FldLen 10I 0 CONST OPTIONS(*OMIT)
D PR_Row 10I 0 CONST OPTIONS(*OMIT)
D PR_Col 10I 0 CONST OPTIONS(*OMIT)
D PR_FldFmtWrd 2A CONST OPTIONS(*OMIT)
D PR_FldCtlWrd 2A CONST DIM(256)
D OPTIONS(*VARSIZE:*OMIT)
D PR_FldCtlWrdC 10I 0 CONST OPTIONS(*OMIT)
D PR_MonAtr 1A CONST OPTIONS(*OMIT)
D PR_ColAtr 1A CONST OPTIONS(*OMIT)
D PR_CmdBfrHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmCrtCmdBuf Create command buffer. This is used to create a buffer
of more than one *
* dynamic screen command to perform them all at once.
*
* Input:
*
* IntBufSiz Initial buffer size.
*
* IncBufSiz Incremental buffer size.
*
* MaxBufSiz Maximum buffer size.
*
* Output:
*
* CmdBfrHnd Command buffer handle.
*
* APIErr API error information.
*
* Return:
*
* CmdBfrHnd Command buffer handle.
*
**********************************************************************************************
D DsmCrtCmdBuf PR 10I 0 EXTPROC('QsnCrtCmdBuf')
D PR_IntBufSiz 10I 0 CONST
D PR_IncBufSiz 10I 0 CONST OPTIONS(*OMIT)
D PR_MaxBufSiz 10I 0 CONST OPTIONS(*OMIT)
D PR_CmdBfrHnd 10I 0 OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmClrBuf Clear buffer.
*
* Input:
*
* BfrHnd Buffer handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmClrBuf PR 10I 0 EXTPROC('QsnClrBuf')
D PR_BfrHnd 10I 0 CONST
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmDltBuf Delete buffer.
*
* Input:
*
* BfrHnd Buffer handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmDltBuf PR 10I 0 EXTPROC('QsnDltBuf')
D PR_BfrHnd 10I 0 CONST
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmPutBuf Send command buffer to screen.
*
* Input:
*
* CmdBfrHnd Command buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmPutBuf PR 10I 0 EXTPROC('QsnPutBuf')
D PR_CmdBfrHnd 10I 0 CONST
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmPutGetBuf Send command buffer to screen and get input buffer.
*
* Input:
*
* CmdBfrHnd Command buffer handle.
*
* InpBfrHnd Input buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmPutGetBuf PR 10I 0 EXTPROC('QsnPutGetBuf')
D PR_CmdBfrHnd 10I 0 CONST
D PR_InpBfrHnd 10I 0 CONST
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmCrtInpBuf Create input buffer.
*
* Input:
*
* IntBufSiz Initial buffer size.
*
* IncBufSiz Incremental buffer size.
*
* MaxBufSiz Maximum buffer size.
*
* Output:
*
* InpBfrHnd Input buffer handle.
*
* APIErr API error information.
*
* Return:
*
* InpBfrHnd Input buffer handle.
*
**********************************************************************************************
D DsmCrtInpBuf PR 10I 0 EXTPROC('QsnCrtInpBuf')
D PR_IntBufSiz 10I 0 CONST
D PR_IncBufSiz 10I 0 CONST OPTIONS(*OMIT)
D PR_MaxBufSiz 10I 0 CONST OPTIONS(*OMIT)
D PR_InpBfrHnd 10I 0 OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmRtvFldDta Retrieve pointer to input field data.
*
* Input:
*
* InpBfrHnd Input buffer handle.
*
* Output:
*
* pInpFldDta Pointer to input field data.
*
* APIErr API error information.
*
* Return:
*
* pInpFldDta Pointer to input field data.
*
**********************************************************************************************
D DsmRtvFldDta PR * EXTPROC('QsnRtvFldDta')
D PR_InpBfrHnd 10I 0 CONST
D PR_pInpFldDta * OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmRtvDta Retrieve pointer to input data.
*
* Input:
*
* InpBfrHnd Input buffer handle.
*
* Output:
*
* pInpDta Pointer to input data.
*
* APIErr API error information.
*
* Return:
*
* pInpDta Pointer to input data.
*
**********************************************************************************************
D DsmRtvDta PR * EXTPROC('QsnRtvDta')
D PR_InpBfrHnd 10I 0 CONST
D PR_pInpDta * OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmRtvReadAID Retrieve AID code from input buffer after read.
*
* Input:
*
* InpBfrHnd Input buffer handle.
*
* Output:
*
* AIDCod AID code. .
*
* APIErr API error information.
*
* Return:
*
* AIDCod AID code. .
*
**********************************************************************************************
D DsmRtvReadAID PR 1A EXTPROC('QsnRtvReadAID')
D PR_InpBfrHnd 10I 0 CONST
D PR_AIDCod 1A OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmRtvReadAdr Retrieve cursor row and column from input buffer after
read. *
* Input:
*
* InpBfrHnd Input buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* Row Row.
*
* Col Column.
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmRtvReadAdr PR 10I 0 EXTPROC('QsnRtvReadAdr')
D PR_InpBfrHnd 10I 0 CONST
D PR_Row 10I 0 OPTIONS(*OMIT)
D PR_Col 10I 0 OPTIONS(*OMIT)
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmQryModSup Query device mode support.
*
* Input:
*
* DspMod Display mode: 3=24x80, 4=27x132
*
* EnvHnd Environment handle.
*
* Output:
*
* ModInd Mode indication: 0=not supported, 1=supported.
*
* APIErr API error information.
*
* Return:
*
* ModInd Mode indication: 0=not supported, 1=supported.
*
**********************************************************************************************
D DsmQryModSup PR 10I 0 EXTPROC('QsnQryModSup')
D PR_DspMod 1A CONST
D PR_ModInd 1A CONST OPTIONS(*OMIT)
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmWTD Write to display.
*
* Input:
*
* InpBfrHnd Input buffer handle.
*
* CmdBfrHnd Command buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmWTD PR 10I 0 EXTPROC('QsnWTD')
D PR_CtrChr1 1A CONST
D PR_CtrChr2 1A CONST
D PR_CmdBfrHnd 10I 0 CONST
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* SetCsrAdr Set cursor address.
*
* Input:
*
* FldID Field identifier to position cursor on.
*
* Row Row.
*
* Column Column.
*
* CmdBfrHnd Command buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmSetCsrAdr PR 10I 0 EXTPROC('QsnSetCsrAdr')
D PR_FldID 10I 0 CONST OPTIONS(*OMIT)
D PR_Row 10I 0 CONST OPTIONS(*OMIT)
D PR_Col 10I 0 CONST OPTIONS(*OMIT)
D PR_CmdBfrHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmWrtPad Pad for a number of positions.
*
* Input:
*
* Chr Character to pad.
*
* ChrC Number of characters to pad.
*
* FldID Field identifier to beginning padding on.
*
* Row Row.
*
* Column Column.
*
* CmdBfrHnd Command buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmWrtPad PR 10I 0 EXTPROC('QsnWrtPad')
D PR_Chr 1A CONST
D PR_ChrC 10I 0 CONST
D PR_FldID 10I 0 CONST OPTIONS(*OMIT)
D PR_Row 10I 0 CONST OPTIONS(*OMIT)
D PR_Col 10I 0 CONST OPTIONS(*OMIT)
D PR_CmdBfrHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_EnvHnd 10I 0 CONST OPTIONS(*OMIT)
D PR_APIErr LIKE(APIErr) OPTIONS(*OMIT)
**********************************************************************************************
* DsmCrtEnv Create low-level environment.
*
* Input:
*
* LowLvlEnv Environment description (see data structure).
*
* ChrC Number of characters to pad.
*
* FldID Field identifier to beginning padding on.
*
* Row Row.
*
* Column Column.
*
* CmdBfrHnd Command buffer handle.
*
* EnvHnd Environment handle.
*
* Output:
*
* APIErr API error information.
*
* Return:
*
* RtnCod Return code: (0)-successful, (-1)-error
*
**********************************************************************************************
D DsmCrtEnv PR 10I 0 EXTPROC('QsnCrtEnv')
D LowLvlEnv 38A CONST
D LowLvlEnvSiz 10I 0 CONST
>>> pcunnane@learningco.com 04/14/00 12:02PM >>>
You don't happen to have a set of standard RPG prototypes for DSM that
you would like to share with the group?
Huh? Please?
--
Paul
______________________________ Reply Separator _________________________________
Subject: RE: external *PRTF (was: RE: 'ILE RPG' or 'RPG IV' . What's
Author: "David Morris" <dmorris@plumcreek.com> at INTERNET
Date: 2000-04-13 3:26 pm
Dave,
I know you are just testing a concept, but I'd stick with dynamic screen APIs
over program described display files. After using the dynamic screen APIs
almost exclusively for a couple of years and seeing the advantages, I wouldn't
go back to DDS.
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
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.