Guten Tag

Ich möchte eine Autorefresh Subfile Programmieren. Ich hab dazu wie immer google benutzt. Nun hab ich mir selber was zusammen geschrieben wobei ich von folgender These ausgehe:

Wenn 2 Jobs die gleiche dtaq auslesen nehmen sie sich gegenseitig die Datensätze weg, deshalb muss erst geprüft werden welchem Job der Datensatz zugeordnet werden muss ehe dieser gelöscht werden darf.

Nun geb ich dem Rcvdtaq '*NO ' mit. Das Resultat ist das der Job auf evtw steht und sich nur noch mit *IMMED beenden lässt.

Wo ist der Fehler?

p my_exfmt b
d my_exfmt pi
d s_dtaQMsgSize s 5 0
d ds_dQM DS
d a_dta_typ 10A
d a_dta_unb 2A
d a_dta_dsp 10A
d a_dta_lib 10A
d a_dta_job 10A
d s_lenOfKeyDat s 3 0
d a_KeyDta s 256A
d s_lenOfSndInf s 3 0 Inz(50)
d a_SndInf s 1024A
d s_SODR s 5 0 Inz(42)
d a_Error s 1024A
/Free
write SFLCTRL1;
DoW a_dta_job<>curjob and a_dta_typ<>c_refresh;
RcvDtaQ(c_dtaq:c_lib:s_dtaQMsgSize:ds_dQM:*HIVAL:
'':s_LenOfKeyDat:a_keyDta:s_lenOfSndInf:a_SndInf
:'*NO ':s_SODR:a_Error);
EndDo;
If a_dta_job=curjob;
RcvDtaQ(c_dtaq:c_lib:s_dtaQMsgSize:ds_dQM:*HIVAL:
'':s_LenOfKeyDat:a_keyDta:s_lenOfSndInf:a_SndInf
:'*YES':s_SODR:a_Error);
EndIf;
read SFLCTRL1;
/End-Free
p my_exfmt e