我有以下调用语句:
038060 CALL PROG USING
038070 DFH
038080 L000
038090 ZONE-E
038100 ZONE-S.
此调用是动态的并使用PROG。
PROG是一组定义为:
018630 01 XX00.
018640 10 PROG.
018650 15 XX00-S06 PICTURE X(6)
018660 VALUE SPACE.
018670 15 XX00-S02 PICTURE X(2)
018680 VALUE SPACE.
018690 10 XX00-S92 PICTURE 9(02)
018700 VALUE ZERO.
018710 10 XX00-S91 PICTURE 9(1)
018720 VALUE ZERO.
018730 10 XX00-S9Z PICTURE 9(1)
018740 VALUE ZERO.
018750 10 XX00-9B0 PICTURE X(05)
018760 VALUE SPACE.
018770 10 XX00-0B0 PICTURE X(02)
018780 VALUE SPACE.
018790 10 XX00-BB1 PICTURE X(01)
018800 VALUE SPACE.
018810 10 XX00-SFN PICTURE X(07)
I cut here but there is a lot of field after...
似乎要使用的实际 progname 存储在:
XX00-S06
和
XX00-S02
我还有其他情况,其中名称位于 3 或 4 个字段上,并且 progname 长度并不总是 8。
所以我的问题是Cobol 如何知道在组中的哪里选择好的程序名称?解决规则是什么?
配置:我使用 Microfocus Net Express 编译器,环境是 UniKix。