Zitat Zitat von JonnyRico
Hi *All,

ich habe ein kleines Problem beim Senden einer Break-Message über die API "QMHSNDBM". Meine Prozedur sieht folgendermaßen aus:
PHP-Code:
PSNDBRKMSG        B                   export
DSNDBRKMSG        PI
D Messagetext                   50A   Value Varying
D MSGLEN          S             10I 0
D MessageType     S             10A   inz
('*INFO')
D Reciptientname  S             10A   inz('QPADEVX')
D ReciptientLib   S             10A   inz('*LIBL')
D Reciptient      S             20A
D NumRecipts      S             10I 0 inz
(1)
D Sender          S             20A
D Error           S             10i 0 inz
(0)
C                   eval      MSGLEN=%Len(MessageText)
C                   eval      Reciptient Reciptientname ReciptientLib
C                   call      
'QMHSNDBM'
C                   parm                    MessageText
C                   parm                    MSGLEN
C                   parm                    MessageType
C                   parm                    Reciptient
C                   parm                    NumRecipts
C                   parm                    Sender
C                   parm                    Error
PSNDBRKMSG        E 
Wenn ich aus meinem Programm dann die Prozedur aufrufe, kommt die Message auch an aber ich habe vor der Nachricht zwei komische Zeichen und hinten fehlen zwei. Hat jemand einen Tip für mich??? Vielen vielen Dank im Voraus.

Gruß
Der Message-Text muss als Feld mit fixer Länge übergeben werden. Feldern mit variabler Länge werden 2 Byte vorangestellt, in der die Anzahl der verwendeten Bytes im Binär-Format gespeichert wird. Bei der Parameter-Übergabe wird die Adresse des variablen Feldes und die Länge übergeben. Zu dem Feld mit der variablen Länge gehören auch die vorangestellten Bytes. Deshalb siehst Du diese "Komischen Zeichen" und hinten fehlen 2 Zeichen.

Birgitta