标题: 如何将结构体中数据读出,并写入PF文件中 [打印本页] 作者: las6688 时间: 2012-04-30 20:34 标题: 如何将结构体中数据读出,并写入PF文件中 具体问题为:
1、将PF文件中数据写入数据队列(RPGLE)
FSTU_INF IF E K DISK
DMYDTAQ S 10A
D#STU_DATA DS 150
DSSTU_ID 1 4A
DSSTU_NME 6 55
DSSTU_ADD 56 105
DSSTU_BTD 110 119D
DSSTU_TEL 120 130A
DSSTU_SEX 132 133A
DSSTU_AGE 135 137A
DSSTU_FLG 139 140A
D
D
C *LOVAL SETLL STU
C DOW 1=1
C READ STU 1617
C IF *IN17='0'
C
C MOVEL STU_ID SSTU_ID
C MOVEL STU_NME SSTU_NME
C MOVEL STU_ADD SSTU_ADD
C MOVEL STU_BTD SSTU_BTD
C MOVEL STU_TEL SSTU_TEL
C MOVEL STU_SEX SSTU_SEX
C MOVEL STU_AGE SSTU_AGE
C MOVEL STU_FLG SSTU_FLG
C EVAL MYDTAQ='STU_DTAQ'
C ELSE
C LEAVE
C ENDIF
C
C CALL 'QSNDDTAQ'
C PARM MYDTAQ QNAME 10
C PARM 'STU60' LIB 10
C PARM 1000 FLDLEN 5 0
C PARM #STU_DATA FIELD 1000
C
C ENDDO
C SETON LR
C RETURN
2、再从数据队列里读取该数据,并存放到PF文件中(RPGLE程序如下:)
FNSTU_INF UF A E K DISK
DMYDTAQ S 10A
D#STU_DATA DS 150
DSSTU_ID 1 4A
DSSTU_NME 6 55
DSSTU_ADD 56 105
DSSTU_BTD 110 119D
DSSTU_TEL 120 130A
DSSTU_SEX 132 133A
DSSTU_AGE 135 137A
DSSTU_FLG 139 140A
D
DNSTU_BTD S 8P 0
C****************** PGM *********************
C EVAL MYDTAQ='STU_DTAQ'
C DOW 1=1
C
C CALL 'QRCVDTAQ'
C PARM MYDTAQ QNAME 10
C PARM 'STU60' LIB 10
C PARM 0 FLDLEN 5 0
C PARM #STU_DATA FIELD 1000
C PARM 10 WAIT 5 0
C
C FLDLEN IFEQ 0
C LEAVE
C ELSE
C MOVEL SSTU_ID STU_ID
C SSTU_ID DSPLY
C MOVEL SSTU_NME STU_NME
C SSTU_NME DSPLY
C MOVEL SSTU_ADD STU_ADD
C* MOVEL SSTU_BTD NSTU_BTD
C* MOVEL NSTU_BTD STU_BTD
C MOVEL SSTU_TEL STU_TEL
C MOVEL SSTU_SEX STU_SEX
C MOVEL SSTU_AGE STU_AGE
C MOVEL SSTU_FLG STU_FLG
C WRITE STU
C ENDIF
C ENDDO
C SETON LR
C RETURN
3、先运行第一个程序,在运行第二个。
出现的问题:
(1)
C MOVEL SSTU_ID STU_ID
C SSTU_ID DSPLY
C MOVEL SSTU_NME STU_NME
C SSTU_NME DSPLY
两个显示数据前者为0,后者为空。什么情况?
(2)
C* MOVEL SSTU_BTD NSTU_BTD
C* MOVEL NSTU_BTD STU_BTD
读取的时间,在格式转换方面有问题,具体不知道怎么转换? 作者: junlee1986 时间: 2012-04-30 21:23
可能SNDQ没成功吧,看看Q有没有值 WRKDTAQ吧,如果定义的都是A,不存在转换的问题。作者: las6688 时间: 2012-04-30 21:32 回复 2# junlee1986