但是調(diào)用的時候出現(xiàn)了錯誤,具體如下:
1.Tried to refer to all or part of an object that no longer exists.
2.Error occurred while calling program or procedure QjovRetriev (C G D F).
“Tried to refer to all or part of an object that no longer exists.”,這樣的msg,我的經(jīng)驗,通常就是prototype 參數(shù)有不匹配問題。如果按照IBM文檔用RPGLE編程,在有些情況下是不行的。因為,IBM這方面文檔通常用于C編程的。如果要用RPGLE做這個QAPI的編程,prototype 參數(shù)類型要調(diào)整。
D QJORJE PR EXTPROC('QjoRetrieveJournalEntries')
D 32767A OPTIONS(*VARSIZE)
D 10I CONST
D 20A CONST
D 8A CONST
D 32767A CONST OPTIONS(*OMIT:*VARSIZE)
D 32767A OPTIONS(*OMIT:*VARSIZE)
你把這個參數(shù)改為下面所示,再試試:
D QJORJE PR EXTPROC('QjoRetrieveJournalEntries')
D RevData 32767A OPTIONS(*VARSIZE)
D RevDataSize 10I 0 OPTIONS(%size(RevData))
D 20A CONST
D 8A CONST
D 32767A CONST OPTIONS(*OMIT:*VARSIZE)
D 32767A OPTIONS(*OMIT:*VARSIZE)