Daten aus Instanz-DB in externen FB kopieren

jtm

Level-1
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich stehe hier vor folgendem Problem, an dem ich derzeit nicht weiterkomme:

Ich habe einen FB mit zugehörigem Instanz-DB, in welchem gewisse Daten ermittelt werden (die Daten können je nach Bedarf im TEMP- oder STAT-Teil abgelegt werden). Diese Daten muss ich an einen externen DB weiterleiten, und zwar muss ich das im FB selbst machen. Kann mir da jemand weiterhelfen?
Ich habe zwar schon versucht, mithilfe eines IN-Parameters (ANY-Pointer) den Zielbereich zu definieren, allerdings fehlt mir anscheinend noch der letzte Kniff, wie ich die Daten dann auch wirklich rüberbekomme.

Vielen Dank im Voraus,
Wolfgang
 
Du musst den Any Pointer welchen du als In Parameter hasst auf einen Any in den Lokaldaten umkopieren, dann kannst du deine Daten mit SFC20 in deinen Zielbereich kopieren!

inany ist dein in parameter
tempany ist ein any in den lokaldaten
ar2backup ist ein dword in den lokaldaten
ret_val_int ist ein int in den lokaldaten

deinedaten sind deine daten (z.b.: struct, array,...)

Code:
      L     P##inany
      LAR1  
      TAR2  #AR2BACKUP
      L     P##tempany
      LAR2  
      L     D [AR1,P#0.0]
      T     D [AR2,P#0.0]
      L     D [AR1,P#4.0]
      T     D [AR2,P#4.0]
      L     W [AR1,P#8.0]
      T     W [AR2,P#8.0]
      LAR2  #AR2BACKUP

      CALL  "BLKMOV"
       SRCBLK :=#DEINEDATEN
       RET_VAL:=#RET_VAL_INT
       DSTBLK :=#TEMPANY
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

zuerst mal ne Frage warum im FB, auserhalb geht doch auch?

Lösungsvorschlag schreib eine UDT ruf diese im externen DB auf und führe sie in den FB als IN/OUT so mach ich das bei manchen Dingen wo keiner reinpfuschen soll. Das sind dann aber mehr oder weniger geheime Daten.
 
Zuletzt bearbeitet:
Mhmm noch ne kleine Änderung zwecks Multiinstanz


Code:
      TAR2  #AR2BACKUP
      L     P##inany
      LAR2
      L     #AR2BACKUP
      +AR2  
      L     P##tempany
      LAR1  
      L     D [AR2,P#0.0]
      T     D [AR1,P#0.0]
      L     D [AR2,P#4.0]
      T     D [AR1,P#4.0]
      L     W [AR2,P#8.0]
      T     W [AR1,P#8.0]
      LAR2  #AR2BACKUP

      CALL  "BLKMOV"
       SRCBLK :=#DEINEDATEN
       RET_VAL:=#RET_VAL_INT
       DSTBLK :=#TEMPANY
 
Zurück
Oben