Skip to content

Instantly share code, notes, and snippets.

@worksofliam
Last active January 14, 2018 20:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save worksofliam/ddf54366c667eef1328416b996ce3f21 to your computer and use it in GitHub Desktop.
Save worksofliam/ddf54366c667eef1328416b996ce3f21 to your computer and use it in GitHub Desktop.
ctl-opt dftactgrp(*no);
Dcl-Ds PRODUCTSP EXTNAME('PRODUCTSP');
End-Ds;
dcl-s start timestamp;
dcl-s end timestamp;
dcl-s data varchar(50);
start = %timestamp();
EXEC SQL DECLARE c_PRODUCTSP SCROLL CURSOR FOR
SELECT * FROM PRODUCTSP;
EXEC SQL OPEN c_PRODUCTSP;
SetGTPRODUCTSP(115);
ReadPEPRODUCTSP(115);
//IF NOT %EOF(PRODUCTSP);
If not (sqlstate = '02000');
data = %Char(PRID);
EndIf;
dsply data;
EXEC SQL CLOSE c_PRODUCTSP;
end = %timestamp();
Dsply %Char(%Diff(end:start:*mseconds));
Return;
Dcl-Proc SetGTPRODUCTSP;
Dcl-Pi *N;
pPRID Like(PRID) Const;
End-Pi;
EXEC SQL FETCH AFTER FROM c_PRODUCTSP;
EXEC SQL FETCH PRIOR FROM c_PRODUCTSP INTO :PRODUCTSP;
Dow NOT (sqlstate = '02000');
If (pPRID = PRID);
EXEC SQL FETCH RELATIVE +1 FROM c_PRODUCTSP;
Return; //Found the record!
Endif;
EXEC SQL FETCH PRIOR FROM c_PRODUCTSP INTO :PRODUCTSP;
Enddo;
End-Proc;
Dcl-Proc ReadPEPRODUCTSP;
Dcl-Pi *N;
pPRID Like(PRID) Const;
End-Pi;
EXEC SQL FETCH PRIOR FROM c_PRODUCTSP INTO :PRODUCTSP;
Dow NOT (sqlstate = '02000');
If (pPRID = PRID and pPRID = PRID);
Return; //Found the record!
Endif;
EXEC SQL FETCH PRIOR FROM c_PRODUCTSP INTO :PRODUCTSP;
Enddo;
End-Proc;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment