0
메시지 서브 파일을 사용하는 간단한 프로그램을 작성했습니다. 그러나 메시지가 표시되지 않습니다. 코드를보고 도움을받을 수 있습니까?메시지 서브 파일이 표시되지 않음
DDS :
A DSPSIZ(24 80 *DS3)
A CA03(03)
A CA12(12)
A INDARA
A* ===========================================================
A R SCREEN1
A 1 73DATE
A EDTCDE(Y)
A 2 73TIME
A 1 5USER
A 1 29'Message SubFile Example'
A COLOR(WHT)
A 5 6'Type a first Name and a last Name -
A and Press Enter to test'
A COLOR(BLU)
A 8 8'Enter First Name..........'
A FIRST_NAME 20A B 8 35CHECK(LC)
A EDTCDE(Y)
A 2 73TIME
A 1 5USER
A 1 29'Message SubFile Example'
A COLOR(WHT)
A 5 6'Type a first Name and a last Name -
A and Press Enter to test'
A COLOR(BLU)
A 8 8'Enter First Name..........'
A FIRST_NAME 20A B 8 35CHECK(LC)
A 10 8'Enter'
A 10 14'Last'
A 10 19'Name...........'
A LAST_NAME 20A B 10 35CHECK(LC)
A* 22 3'F3=Exit'
A* COLOR(BLU)
A* 22 13'F12=Cancel'
A* COLOR(BLU)
A 2 5'*sys'
A* ===========================================================
A R MSGSBFL SFL
A SFLMSGRCD(22)
A MSGKEY SFLMSGKEY
A SDS_PROC SFLPGMQ(10)
A* ===========================================================
A R MSGSBCTL SFLCTL(MSGSBFL)
A SFLSIZ(0002)
A SFLPAG(0001)
A SFLDSP
A SFLDSPCTL
A SDS_PROC SFLPGMQ(10)
RPG 번호 :
FMSGSBFL1 CF E WorkStn INDDS(INDDS)
DINDDS DS
DEXIT 3 3N
DCANCEL 12 12N
DPSDS SDS
D SDS_PROC 1 10
DMsgId S 7A
DMsgLoc S 20A Inz('SFLMSGF *LIBL ')
DMsgRplDta S 1A Inz(' ')
DMsgRplDtaLen S 4B 0 Inz(0)
DMsgType S 10A Inz('*DIAG')
DMsgQueue S 276A Inz('*')
DMsgCallStack S 4B 0 Inz(0)
DMsgKey S 4A Inz(' ')
DMsgErr S 4B 0 Inz(0)
DMsgrmv S 10A INZ('*ALL')
DMsgId S 7A
DMsgLoc S 20A Inz('SFLMSGF *LIBL ')
DMsgRplDta S 1A Inz(' ')
DMsgRplDtaLen S 4B 0 Inz(0)
DMsgType S 10A Inz('*DIAG')
DMsgQueue S 276A Inz('*')
DMsgCallStack S 4B 0 Inz(0)
DMsgKey S 4A Inz(' ')
DMsgErr S 4B 0 Inz(0)
DMsgrmv S 10A INZ('*ALL')
/Free
DoU Exit or Cancel;
Write Msgsbctl;
Exfmt Screen1;
MsgKey = *Blanks;
Exsr RcvMsg;
If First_Name <> 'Thejwal';
MsgId = 'SFL0001';
Exsr SndMsg;
EndIf;
If Last_Name <> 'Pavithran';
MsgId = 'SFL0002';
Exsr SndMsg;
EndIf;
EndDo;
*Inlr = *on;
C SndMsg Begsr
C CALL 'QMHSNDPM'
C PARM MsgId
C PARM MsgLoc
C PARM MsgRplDta
C PARM MsgRplDtaLen
C PARM MsgType
C PARM MsgQueue
C PARM MsgCallStack
C PARM MsgKey
C PARM MsgErr
C Endsr
C RcvMsg Begsr
C CALL 'QMHRMVPM'
C PARM MsgQueue
C PARM MsgCallStack
C PARM MsgKey
C PARM MsgRmv
C PARM MsgErr
C Endsr
나는 메시지 Thew 보낸 작업 로그에 있지만 화면에 표시되지 않는 몇 가지 이유가 표시되는 것을 볼 수 있습니다. DDS가 잘못되었거나 메시지가 올바른 프로그램 대기열로 전송되지 않는지 확실하지 않습니다. 제발 도와주세요