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