Description
Connect all necessary databases (found in server.ini).
Parameters
ihClass | input | handle | Handle to the business class that is using the persistence layer. In most of the cases, this handle will be available in the preprocessor {&TARGETPROCEDURE}. |
icDBMS | input | character | Database type. Must refer to a registered DLL with the correct function to access a database of that type. |
oiReturnStatus | output | integer | Return status |
Internal usage
unused
program code (program1/other.p)
/* Convert DBMS to dll name */
if icDBMS = "Oracle":U
then assign icDBMS = "plOracle.dll":U.
else if icDBMS = "MSSQL":U
then assign icDBMS = "plMSSQL.dll":U.
<M-5 run DoLoadDLL (input ihClass (ihClass),
input icDBMS (icDLLname),
output oiReturnStatus (oiReturnStatus)) in other>
if oiReturnStatus <> 0
then return.
/* Connect all databases listed in server.xml */
assign oiReturnStatus = -5
vcIniPath = search ("server.xml":U)
vcUserId = "".
if vcIniPath = ?
then do:
assign vhPdatabaseInst = ihClass.
<M-3 run SetMessage
(input #T-1'The server.xml file was not found.':100(5014)T-1# (icMessage),
input '' (icArguments),
input '' (icFieldName),
input '' (icFieldValue),
input 'D':U (icType),
input 1 (iiSeverity),
input '' (icRowid),
input 'BLF-363':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in database>
return.
end.
assign vhFcComponent = ?.
<M-6 run MainBlock
() in XML>
assign vhXMLhandle = vhFcComponent.
<M-7 run ReadXML
(input vcIniPath (icXMLFile),
input 'databases':U (icStartTag),
output tNodesPL (tNodes),
output viFcReturnSuper (oiReturnStatus)) in XML>
run gipr_DeleteProcedure in vhXMLhandle.
delete procedure vhXMLHandle.
if viFcReturnSuper <> 0
then assign oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then return.
For Each tNodesPL By tNodesPL.tiNodeId:
If tNodesPL.tcNodeName = "Name":U
Then Assign vcDBName = tNodesPL.tcNodeValue.
Else If tNodesPL.tcNodeName = "Parameters":U
Then Assign vcDBConnect = tNodesPL.tcNodeValue.
Else If tNodesPL.tcNodeName = "UserId":U
Then Assign vcUserId = tNodesPL.tcNodeValue.
Else If tNodesPL.tcNodeName = "Password":U
Then Assign vcPassword = tNodesPL.tcNodeValue.
End. /*For Each tNodesPL By NodesPL.tiNodesId:*/
if vcDbName <> ""
then do:
<M-4 run ConnectDB (input vcDBName (icDB),
input vcDBConnect (icConnect),
input ihClass (ihClass),
output viFcReturnSuper (oiReturnStatus)) in other>
if viFcReturnSuper < 0
then do:
assign oiReturnStatus = viFcReturnSuper.
return.
end.
end.
assign oiReturnStatus = 0.
END PROCEDURE.
&scoped SQLPROCDEF EXTERNAL "scsqlpl.dll" CDECL PERSISTENT
PROCEDURE GetPID {&SQLPROCDEF}:
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE LoadDLL {&SQLPROCDEF}:
define input parameter icDllName as character.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlBufAddField {&SQLPROCDEF}:
define input parameter iiBufId as long.
define input parameter icName as character.
define input parameter icType as character.
define input parameter iiIsKey as long.
define output parameter oiFieldId as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlBufCreate {&SQLPROCDEF}:
define input parameter icTable as character.
define output parameter oiBufId as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlBufDestroy {&SQLPROCDEF}:
define input parameter iiBufId as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlBufGetRowid {&SQLPROCDEF}:
define input parameter iiBufId as long.
define output parameter omRowid as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlBufInsertRow {&SQLPROCDEF}:
define input parameter iiBufId as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlBufWriteData {&SQLPROCDEF}:
define input parameter iiBufId as long.
define input parameter icMode as character.
define input parameter icRowid as character.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlBufWriteDirect {&SQLPROCDEF}:
define input parameter iiBufId as long.
define input parameter icPrepare as character.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlCheckExistence {&SQLPROCDEF}:
define input parameter icPrepare as character.
define output parameter oiPValue as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlCleanup {&SQLPROCDEF}:
END PROCEDURE.
PROCEDURE SqlCleanUpState {&SQLPROCDEF}:
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlClearError {&SQLPROCDEF}:
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlCloseDebugFile {&SQLPROCDEF}:
END PROCEDURE.
PROCEDURE SqlColGetAsString {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiColId as long.
define output parameter omPValue as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlColGetBool {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiColId as long.
define output parameter oiPValue as handle to long.
define output parameter oiPStatus as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlColGetDate {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiColId as long.
define output parameter oiPValue as handle to long.
define output parameter oiPStatus as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlColGetDecimal {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiColId as long.
define output parameter omPValue as handle to long.
define output parameter oiPStatus as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlColGetInteger {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiColId as long.
define output parameter oiPValue as handle to long.
define output parameter oiPStatus as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlColGetName {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiColId as long.
define output parameter omPName as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlColGetString {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiColId as long.
define output parameter omPValue as handle to long.
define output parameter oiPStatus as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlColGetType {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiColId as long.
define output parameter oiPType as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlConnect {&SQLPROCDEF}:
define input parameter icServer as character.
define input parameter icDatabase as character.
define input parameter icUser as character.
define input parameter icPassword as character.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlDate2Int {&SQLPROCDEF}:
define input parameter iiY as long.
define input parameter iiM as long.
define input parameter iiD as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlDebugWrite {&SQLPROCDEF}:
define input parameter icText as character.
define input parameter iiLinefeed as long.
END PROCEDURE.
PROCEDURE SqlDisconnect {&SQLPROCDEF}:
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlExecuteCmd {&SQLPROCDEF}:
define input parameter icSql as character.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlExtCtrlDel {&SQLPROCDEF}:
define input parameter iiObjectId as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlExtCtrlGet {&SQLPROCDEF}:
define input parameter iiObjectId as long.
define output parameter omData as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlExtCtrlSet {&SQLPROCDEF}:
define input parameter iiObjectId as long.
define input parameter icData as character.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlFldSetInteger {&SQLPROCDEF}:
define input parameter iiBufId as long.
define input parameter iiFldId as long.
define input parameter ilUpdated as long.
define input parameter iiValue as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlFldSetNull {&SQLPROCDEF}:
define input parameter iiBufId as long.
define input parameter iiFldId as long.
define input parameter ilUpdated as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlFldSetString {&SQLPROCDEF}:
define input parameter iiBufId as long.
define input parameter iiFldId as long.
define input parameter ilUpdated as long.
define input parameter icValue as character.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlGetError {&SQLPROCDEF}:
define output parameter omPErrorMsg as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlGetSequence {&SQLPROCDEF}:
define input parameter icSeqName as character.
define input parameter iiIncrement as long.
define output parameter oiValue as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlGetTransaction {&SQLPROCDEF}:
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlInitialize {&SQLPROCDEF}:
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlInt2Date {&SQLPROCDEF}:
define input parameter iiJd as long.
define output parameter oiY as handle to long.
define output parameter oiM as handle to long.
define output parameter oiD as handle to long.
END PROCEDURE.
PROCEDURE SqlLoadInstanceBegin {&SQLPROCDEF}:
define input parameter iiInstanceId as long.
define input parameter icName as character.
define output parameter oiStatus as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlLoadInstanceEnd {&SQLPROCDEF}:
define input parameter ilInUse as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlLoadInstanceNext {&SQLPROCDEF}:
define input parameter imBuf as memptr.
define input parameter iiSize as long.
define output parameter oiStatus as handle to long.
define output parameter oiEof as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlOpenDebugFile {&SQLPROCDEF}:
define input parameter icFile as character.
END PROCEDURE.
PROCEDURE SqlParSetDate {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiParamId as long.
define input parameter iiNumdays as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlParSetInteger {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiParamId as long.
define input parameter iiValue as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlParSetNull {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiParamId as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlParSetRaw {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiParamId as long.
define input parameter imData as memptr.
define input parameter iiSize as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlParSetString {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiParamId as long.
define input parameter icValue as character.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlQryAddParameters {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter iiNumParams as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlQryCreate {&SQLPROCDEF}:
define input parameter icSql as character.
define output parameter oiCmdId as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlQryDestroy {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlQryExecute {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define output parameter oiPNumCols as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlQryMoveNext {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define output parameter oiNumRows as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlQryOpen4GL {&SQLPROCDEF}:
define input parameter icTables as character.
define input parameter icPrepare as character.
define input parameter iiMaxNumber as long.
define input parameter icLastRowid as character.
define input parameter icFieldConvert as character.
define input parameter icCustomFields as character.
define input parameter iiIlDistinct as long.
define output parameter oiCmdId as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlQryOpenTable {&SQLPROCDEF}:
define input parameter icTableName as character.
define input parameter icPrepare as character.
define input parameter icFieldList as character.
define output parameter oiCmdId as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlQryPrepare {&SQLPROCDEF}:
define input parameter iiCmdId as long.
define input parameter icSql as character.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlSaveInstanceBegin {&SQLPROCDEF}:
define input parameter iiInstanceId as long.
define input parameter icName as character.
define output parameter oiStatus as handle to long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlSaveInstanceEnd {&SQLPROCDEF}:
define input parameter iiOk as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlSaveInstanceNext {&SQLPROCDEF}:
define input parameter imBuf as memptr.
define input parameter iiSize as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlSetDateFormat {&SQLPROCDEF}:
define input parameter icFormat as character.
define input parameter iiSeparator as long.
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlSetDebugMode {&SQLPROCDEF}:
define input parameter iiDebugBits as long.
END PROCEDURE.
PROCEDURE SqlTerminate {&SQLPROCDEF}:
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlTransactionAbort {&SQLPROCDEF}:
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlTransactionCommit {&SQLPROCDEF}:
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE SqlTransactionStart {&SQLPROCDEF}:
define return parameter oiReturnStatus as long.
END PROCEDURE.
PROCEDURE UnloadDLL {&SQLPROCDEF}:
END PROCEDURE.
PROCEDURE pDummy: