A*****************************************************************
A*****************************************************************
A REF(EMPLOYEE)
A CHGINPDFT(CS)
A PRINT(QSYSPRT)
A INDARA
A DSPSIZ(24 80 *DS3)
A R HEAD01 OVERLAY
A CA03(03 '½ªÎ»')
A CF05(05 'ÄɲÃ')
A CF06(06 'Êѹ¹')
A CF07(07 'ºï½ü')
A CF08(08 '¾È²ñ')
A MODE 6O O 1 4DSPATR(RI) COLOR(WHT)
A 1 13'MODE'
A DSPATR(RI) COLOR(WHT)
A 2 4TIME
A 2 28'EMPLOYEE ¥á¥ó¥Æ¥Ê¥ó¥¹'
A DSPATR(HI RI)
A 2 70DATE
A EDTCDE(Y)
A 4 10'EMPNO'
A EMPNO R D B 4 28DSPATR(CS)
A 50 DSPATR(PC RI)
A*
A R DTL01 OVERLAY
A PROTECT
A CA12(12 'Á°²èÌ̤Ø')
A 6 10'FIRSTNME'
A NAME1 14O B 6 28
A 7 10'MIDINIT'
A MIDINIT R B 7 28
A 8 10'LASTNAME'
A NAME2 17O B 8 28
A 9 10'WORKDEPT'
A WORKDEPT R B 9 28
A 10 10'PHONENO'
A PHONENO R B 10 28
A 11 10'HIREDATE'
A HIREDATE R L B 11 28
A 12 10'JOB'
A JOB R B 12 28
A 13 10'EDLEVEL'
A EDLEVEL R B 13 28
A 14 10'SEX'
A SEX R B 14 28
A 15 10'BIRTHDATE'
A BIRTHDATE R L B 15 28
A 16 10'SALARY'
A SALARY R B 16 28
A 17 10'BONUS'
A BONUS R B 17 28
A 18 10'COMM'
A COMM R B 18 28
A*
A* 22 2'F12 CANCEL'
A*
A R ANS01 OVERLAY
A PROTECT
A CA12(12)
A N40 45 21 52'Äɲä·¤Þ¤¹¤«¡©(Y/N)'
A N40 46 21 52'¹¹¿·¤·¤Þ¤¹¤«¡©(Y/N)'
A N40 47 21 52'ºï½ü¤·¤Þ¤¹¤«¡©(Y/N)'
A ANS 1A B 21 75
A R PF01
A 22 4'F3=½ªÎ»'
A 22 20'F5=ÄɲÃ'
A 22 32'F6=Êѹ¹'
A 22 44'F7=ºï½ü'
A 22 56'F8=¾È²ñ'
A 51 23 3'³ºÅö¤ÎÌÀºÙ¤Ï´û¤Ë¸ºß¤·¤Þ¤¹'
A DSPATR(RI HI) COLOR(RED)
A 52 23 3'³ºÅö¤ÎÌÀºÙ¤Ï¸ºß¤·¤Þ¤»¤ó'
A DSPATR(RI HI) COLOR(RED)
A R PF02
A 22 2'F12=CANCEL'
A 40 45 98 23 3'ÄɲýèÍý¤Ï¼ºÇÔ¤·¤Þ¤·¤¿'
A DSPATR(RI HI) COLOR(RED)
A 40 46 98 23 3'¹¹¿·½èÍý¤Ï¼ºÇÔ¤·¤Þ¤·¤¿'
A DSPATR(RI HI) COLOR(RED)
A 40 47 98 23 3'ºï½ü½èÍý¤Ï¼ºÇÔ¤·¤Þ¤·¤¿'
A DSPATR(RI HI) COLOR(RED)
A 40 45N98 23 3'ÄɲýèÍý¤ÏÀ®¸ù¤·¤Þ¤·¤¿'
A DSPATR(RI HI) COLOR(WHT)
A 40 46N98 23 3'¹¹¿·½èÍý¤ÏÀ®¸ù¤·¤Þ¤·¤¿'
A DSPATR(RI HI) COLOR(WHT)
A 40 47N98 23 3'ºï½ü½èÍý¤ÏÀ®¸ù¤·¤Þ¤·¤¿'
A DSPATR(RI HI) COLOR(WHT)
sŽßްޯŽÞ: /
ºîÀ®¼Ô°õ ¾µÇ§°õ
²è¡¡ÌÌ¡¡Àß¡¡·×¡¡½ñ
10/03/17 / / ¥Õ¥¡¥¤¥ë¡§ PRIMULA/EX0050D SAMPLE
1 2 3 4 5 6 7 8
12345678901234567890123456789012345678901234567890123456789012345678901234567890
1 OOOOOO MODE 1
2 TT:TT:TT EMPLOYEE ¥á¥ó¥Æ¥Ê¥ó¥¹ DD/DD/DD 2
3 3
4 EMPNO BBBBBB 4
5 5
6 FIRSTNME BBBBBBBBBBBBBB 6
7 MIDINIT B 7
8 LASTNAME BBBBBBBBBBBBBBBBB 8
9 WORKDEPT BBB 9
10 PHONENO BBBB 10
11 HIREDATE 9999999999 11
12 JOB BBBBBBBB 12
13 EDLEVEL 9999 13
14 SEX B 14
15 BIRTHDATE 9999999999 15
16 SALARY 9999999999 16
17 BONUS 9999999999 17
18 COMM 9999999999 18
19 19
20 20
21 ºï½ü¤·¤Þ¤¹¤«¡©(Y/N) B 21
22 F12=CANCEL 22
23 ºï½ü½èÍý¤ÏÀ®¸ù¤·¤Þ¤·¤¿ 23
24 24
12345678901234567890123456789012345678901234567890123456789012345678901234567890
1 2 3 4 5 6 7 8
H DFTACTGRP(*NO) ACTGRP(*CALLER)
H ALWNULL(*USRCTL)
FEX0050D CF E WORKSTN
FEMPLOYEE UF A E K DISK RENAME(EMPLOYEE:EMPR)
D****************************************************************
D EMPDS E DS EXTNAME(EMPLOYEE)
D EMPDIM S 1 DIM(%LEN(EMPDS))
C****************************************************************
C*½é´ü²½
C MOVEL '¾È²ñ' MODE
C*¥Ø¥Ã¥À
C LOOP1 TAG
C WRITE PF01
C EXFMT HEAD01
C*½ªÎ»¥Á¥§¥Ã¥¯
C 03 SETON LR
C LR RETURN
C*½èÍý¶èʬ
C EXSR MODEINZ
C EXSR FLGINZ1
C*¥Þ¥¹¥¿ÆÉ¤ß¹þ¤ß
C EMPNO CHAIN(N) EMPR 98
C*Äɲûþ¤Ë³ºÅö¥ì¥³¡¼¥É¤¬¤¢¤ë¾ì¹ç¤Ï¥¨¥é¡¼
C SETOFF 505152
C 05*IN98 IFEQ *OFF ÄɲÃ
C SETON 5051
C ENDIF
C*¹¹¿·¡¦ºï½ü¡¦¾È²ñ»þ¤Ë³ºÅö¥ì¥³¡¼¥É¤¬¤Ê¤¤¾ì¹ç¤Ï¥¨¥é¡¼
C 06
COR 07
COR 08*IN98 IFEQ *ON
C SETON 5052
C ENDIF
C 51
COR 52 GOTO LOOP1
C*²ÄÊÑĹ¢Í¸ÇÄêĹ
C N05 EVAL NAME1 = FIRSTNME
C N05 EVAL NAME2 = LASTNAME
C 05 EXSR ADDSUB1 Äɲûþ¤ÎÁ°½èÍý
C 07 ºï½ü¤È¾È²ñ¤Ï
COR 08 GOTO LOOP3 ¥¹¥¥Ã¥×
C*ÌÀºÙÉô
C LOOP2 TAG
C EXSR NLSUB1
C WRITE PF02
C WRITE HEAD01
C EXFMT DTL01
C 12 GOTO LOOP1
C EXSR NLSUB2
C EVAL FIRSTNME = %TRIM(NAME1)
C EVAL LASTNAME = %TRIM(NAME2)
C 08 GOTO LOOP3
C*³ÎǧÉô
C LOOP3 TAG
C MOVE *BLANK ANS
C SETOFF 454647
C 05 SETON 45 ÄɲÃ
C 06 SETON 46 ¹¹¿·
C 07 SETON 47 ºï½ü
C WRITE PF02
C WRITE HEAD01
C WRITE DTL01
C EXFMT ANS01
C 08 GOTO LOOP1 ¾È²ñ¤Î¾ì¹ç
C 12 GOTO LOOP2 PF12
C ANS CABNE 'Y' LOOP2 Y°Ê³°¤ÏÌá¤ë
C 05 WRITE EMPR 98 ÄɲÃ
C IF *IN05 = *OFF Äɲðʳ°
C MOVEA EMPDS EMPDIM ¸½ºß¤ÎÃͤò¥¹¥È¥¢
C EMPNO CHAIN EMPR 9898 ¥í¥Ã¥¯
C 98 GOTO LOOP4 ¥í¥Ã¥¯¼ºÇԤϥ¨¥é¡¼
C MOVEA EMPDIM EMPDS ÃͤòÌ᤹
C EXSR NLSUB2
C 06 UPDATE EMPR 98 ¹¹¿·
C 07 DELETE EMPR 98 ºï½ü
C ENDIF
C*·ë²Ì
C LOOP4 TAG
C MOVE *BLANK ANS
C SETON 40
C WRITE PF02
C WRITE HEAD01
C WRITE DTL01
C EXFMT ANS01
C SETOFF 40
C EXSR WKCLR
C GOTO LOOP1
C*
C****************************************************************
C WKCLR BEGSR
C EVAL NAME1 = *BLANK
C EVAL NAME2 = *BLANK
C CLEAR EMPR
C ENDSR
C****************************************************************
C MODEINZ BEGSR
C 05 MOVEL 'ÄɲÃ' MODE
C 06 MOVEL '¹¹¿·' MODE
C 07 MOVEL 'ºï½ü' MODE
C 08 MOVEL '¾È²ñ' MODE
C ENDSR
C****************************************************************
C FLGINZ1 BEGSR
C SELECT
C WHEN MODE='ÄɲÃ'
C SETON 05
C SETOFF 060708
C WHEN MODE='¹¹¿·'
C SETON 06
C SETOFF 050708
C WHEN MODE='ºï½ü'
C SETON 07
C SETOFF 050608
C WHEN MODE='¾È²ñ'
C SETON 08
C SETOFF 050607
C ENDSL
C ENDSR
C****************************************************************
C ADDSUB1 BEGSR
C *LIKE DEFINE EMPNO WKNO
C EVAL WKNO = EMPNO ¼ç¥¡¼¤òÂàÈò
C CLEAR EMPR ¥ì¥³¡¼¥É¥¯¥ê¥¢
C EVAL EMPNO = WKNO ¼ç¥¡¼¤òÉü¸µ
C ENDSR
C****************************************************************
C NLSUB1 BEGSR
C IF %NULLIND(SALARY)
C EVAL %NULLIND(SALARY) = *OFF
C EVAL SALARY = *ZERO
C ENDIF
C IF %NULLIND(BONUS)
C EVAL %NULLIND(BONUS) = *OFF
C EVAL BONUS = *ZERO
C ENDIF
C IF %NULLIND(COMM)
C EVAL %NULLIND(COMM) = *OFF
C EVAL COMM = *ZERO
C ENDIF
C ENDSR
C****************************************************************
C NLSUB2 BEGSR
C SALARY IFEQ *ZERO
C EVAL %NULLIND(SALARY) = *ON
C ELSE
C EVAL %NULLIND(SALARY) = *OFF
C ENDIF
C BONUS IFEQ *ZERO
C EVAL %NULLIND(BONUS) = *ON
C ELSE
C EVAL %NULLIND(BONUS) = *OFF
C ENDIF
C COMM IFEQ *ZERO
C EVAL %NULLIND(COMM) = *ON
C ELSE
C EVAL %NULLIND(COMM) = *OFF
C ENDIF
C ENDSR

¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥³¥á¥ó¥È
iFV5FK Thanks-a-mundo for the blog post.Thanks Again. Want more.