Advertisement
Guest User

C10 program

a guest
Apr 13th, 2016
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.23 KB | None | 0 0
  1. PROGRAM
  2.  
  3.  
  4. MAP
  5. CheckError(),LONG
  6. END
  7.  
  8. SourceName STRING(260)
  9. TargetName STRING(260)
  10. Count ULONG
  11. Count2 ULONG
  12. Count3 ULONG
  13. inc ULONG
  14. sqldbc FILE,DRIVER('TOPSPEED'),PRE(SQL),CREATE,BINDABLE,THREAD
  15. Keysystem KEY(SQL:system),NOCASE,OPT
  16. Record RECORD,PRE()
  17. system STRING(10)
  18. connect STRING(60)
  19. END
  20. END
  21. !BLOBS1 FILE,DRIVER('TOPSPEED'),OWNER('aase'),ENCRYPT,NAME(SourceName),PRE(IN),BINDABLE,THREAD
  22. BLOBS1 FILE,DRIVER('TOPSPEED'),NAME(SourceName),OWNER('aase'),PRE(IN),ENCRYPT
  23. BY_NR_RAPN KEY(+IN:TNR),OPT,NOCASE,PRIMARY
  24. By_Inr KEY(-IN:INR),DUP,OPT,NOCASE
  25. FILE BLOB,BINARY
  26. RECORD RECORD!, PRE()
  27. IBRUG BYTE
  28. TNR LONG
  29. EDITOR STRING(40)
  30. INR LONG
  31. OpDato LONG
  32. OpTid LONG
  33. Eksport1 BYTE
  34. Eksport2 BYTE
  35. Eksport3 BYTE
  36. SDATO LONG
  37. SKL LONG
  38. SINIT STRING(4)
  39. END
  40. END
  41.  
  42. !BLOBS2 FILE,DRIVER('MSSQL'),OWNER(TargetName),PRE(STO),CREATE,BINDABLE,THREAD !
  43. BLOBS2 FILE,DRIVER('MSSQL'),NAME(TargetName),CREATE,OWNER(sql:connect),PRE(STO)
  44. BY_NR_RAPN KEY(+STO:TNR),OPT,NOCASE,PRIMARY
  45. By_Inr KEY(-STO:INR),DUP,OPT,NOCASE
  46. FILE BLOB,BINARY
  47. RECORD RECORD!, PRE()
  48. IBRUG BYTE
  49. TNR LONG
  50. EDITOR STRING(40)
  51. INR LONG
  52. OpDato LONG
  53. OpTid LONG
  54. Eksport1 BYTE
  55. Eksport2 BYTE
  56. Eksport3 BYTE
  57. SDATO LONG
  58. SKL LONG
  59. SINIT STRING(4)
  60. END
  61. END
  62.  
  63. !indsat
  64. !Access:BLOBS2 &FileManager,THREAD
  65. !
  66.  
  67. PROGRESS WINDOW('Converting File'),AT(,,124,58),CENTER,GRAY,FONT('MS Sans Serif',8), |
  68. DOUBLE
  69. STRING('Læst fra TPS'),AT(4,13)
  70. STRING(@n8),AT(77,13,34,12),USE(Count)
  71. STRING('Skrevet til SQL'),AT(4,26,69,10),USE(?STRING2)
  72. STRING(@n8),AT(77,24,34,12),USE(Count2)
  73. STRING('STO:TNR'),AT(4,39,69,10),USE(?STRING2:2)
  74. STRING(@n8),AT(77,37,34,12),USE(STO:TNR)
  75. END
  76.  
  77. CODE
  78. open(sqldbc)
  79. sql:system = 'database'
  80. get(sqldbc,sql:keysystem)
  81. SourceName = 'BLOBS'
  82. TargetName = 'BLOBS'
  83.  
  84. OPEN(BLOBS1)
  85. IF CheckError() THEN RETURN.
  86. SET(BLOBS1)
  87. CREATE(BLOBS2)
  88. IF CheckError() THEN RETURN.
  89. OPEN(BLOBS2)
  90. IF CheckError() THEN RETURN.
  91.  
  92. ! STREAM(BLOBS1)
  93. ! STREAM(BLOBS2)
  94.  
  95. OPEN(Progress)
  96.  
  97.  
  98. LOOP
  99. NEXT(BLOBS1)
  100. IF ErrorCode() = 33 THEN BREAK .
  101. ! IF IN:INR = 0 THEN
  102. ! Count += 1
  103. ! CYCLE .
  104. CLOSE(BLOBS1)
  105. OPEN(BLOBS1)
  106. SET(BLOBS1, count + 1)
  107. DO AssignRecord
  108. Count += 1
  109. GET(BLOBS2, STO:BY_NR_RAPN)
  110. IF ErrorCode() THEN
  111. If ErrorCode() <> 35 THEN
  112. MESSAGE(ErrorCode(),'error code, append')
  113. END
  114.  
  115. ADD(BLOBS2)
  116. !indsat
  117. !access:blobs2.tryinsert()
  118. !
  119. Count2 += 1
  120. IF CheckError() THEN RETURN
  121. END
  122. END
  123. DISPLAY(?Count)
  124. DISPLAY(?Count2)
  125. DISPLAY(?STO:TNR)
  126. END
  127.  
  128. ! FLUSH(BLOBS1)
  129. ! FLUSH(BLOBS2)
  130.  
  131. BUILD(BLOBS2)
  132. IF CheckError() THEN RETURN.
  133. CLOSE(BLOBS1)
  134. CLOSE(BLOBS2)
  135.  
  136.  
  137. ! OPEN(Progress)
  138. ! LOOP
  139. ! NEXT(BLOBS1)
  140. ! IF ErrorCode() = 33 THEN BREAK.
  141. ! DO AssignRecord
  142. ! APPEND(BLOBS2)
  143. ! IF CheckError() THEN RETURN.
  144. ! Count += 1
  145. ! DISPLAY(?Count)
  146. ! END
  147. !
  148. ! FLUSH(BLOBS1)
  149. ! FLUSH(BLOBS2)
  150. !
  151. ! BUILD(BLOBS2)
  152. ! IF CheckError() THEN RETURN.
  153. ! CLOSE(BLOBS1)
  154. ! CLOSE(BLOBS2)
  155. !
  156. ! !COPY(BLOBS2,'BLOBS')
  157. ! !REMOVE(BLOBS2)
  158.  
  159. AssignRecord ROUTINE
  160. CLEAR(STO:Record)
  161. STO:IBRUG = IN:IBRUG
  162. STO:TNR = IN:TNR
  163. STO:EDITOR = IN:EDITOR
  164. STO:INR = IN:INR
  165. STO:OPDATO = IN:OPDATO
  166. STO:OPTID = IN:OPTID
  167. STO:EKSPORT1 = IN:EKSPORT1
  168. STO:EKSPORT2 = IN:EKSPORT2
  169. STO:EKSPORT3 = IN:EKSPORT3
  170. STO:SDATO = IN:SDATO
  171. STO:SKL = IN:SKL
  172. STO:SINIT = IN:SINIT
  173. STO:RECORD :=: IN:RECORD
  174. ! = IN:IBRUG
  175. ! = IN:TNR
  176. ! = IN:EDITOR
  177. ! = IN:INR
  178. ! = IN:OPDATO
  179. ! = IN:OPTID
  180. ! = IN:EKSPORT1
  181. ! = IN:EKSPORT2
  182. ! = IN:EKSPORT3
  183. ! = IN:SDATO
  184. ! = IN:SKL
  185. ! = IN:SINIT
  186. STO:FILE{PROP:Handle} = IN:FILE{PROP:Handle}
  187. STO:FILE{PROP:Size} = IN:FILE{PROP:Size}
  188.  
  189.  
  190.  
  191. CheckError FUNCTION
  192. CODE
  193. IF ERRORCODE() THEN
  194. IF ERRORCODE() = 90 THEN
  195. IF MESSAGE('Error: '& FILEERROR()) THEN
  196. RETURN ERRORCODE()
  197. END
  198. ELSE
  199. IF MESSAGE('Error: '& ERROR()) THEN
  200. RETURN ERRORCODE()
  201. END
  202. END
  203. END
  204. RETURN 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement