@@ -757,6 +757,171 @@ AT_CHECK([java prog], [0],
757757
758758AT_CLEANUP
759759
760+ AT_SETUP ( [ CANCEL ALL (3)] )
761+
762+ AT_DATA ( [ prog.cbl] , [
763+ IDENTIFICATION DIVISION.
764+ PROGRAM-ID. prog.
765+ DATA DIVISION.
766+ WORKING-STORAGE SECTION.
767+ 01 WS-COUNTER PIC 9(3) VALUE 0.
768+ 01 WS-MESSAGE PIC X(50).
769+ 01 P-NAME PIC X(17) VALUE "prog".
770+ PROCEDURE DIVISION.
771+ ADD 1 TO WS-COUNTER.
772+ DISPLAY "@<:@ " P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
773+
774+ CALL "child".
775+
776+ ADD 1 TO WS-COUNTER.
777+ DISPLAY "@<:@ " P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
778+
779+ CALL "child".
780+
781+ ADD 1 TO WS-COUNTER.
782+ DISPLAY "@<:@ " P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
783+
784+ STOP RUN.
785+ ] )
786+
787+ AT_DATA ( [ child.cbl] , [
788+ IDENTIFICATION DIVISION.
789+ PROGRAM-ID. child.
790+ DATA DIVISION.
791+ WORKING-STORAGE SECTION.
792+ 01 WS-CALL-COUNT PIC 9(3) VALUE 0.
793+ 01 P-NAME PIC X(17) VALUE "child".
794+ PROCEDURE DIVISION.
795+ ADD 1 TO WS-CALL-COUNT.
796+ DISPLAY "@<:@ " P-NAME "@:>@ WS-CALL-COUNT = " WS-CALL-COUNT.
797+
798+ CALL "grandchild01".
799+
800+ DISPLAY "@<:@ " P-NAME "@:>@ WS-CALL-COUNT = " WS-CALL-COUNT.
801+
802+ CALL "grandchild02".
803+
804+ GOBACK.
805+ ] )
806+
807+ AT_DATA ( [ grandchild01.cbl] , [
808+ IDENTIFICATION DIVISION.
809+ PROGRAM-ID. grandchild01.
810+ DATA DIVISION.
811+ WORKING-STORAGE SECTION.
812+ 01 WS-COUNTER PIC 9(3) VALUE 0.
813+ 01 P-NAME PIC X(17) VALUE "grandchild01".
814+ PROCEDURE DIVISION.
815+ ADD 1 TO WS-COUNTER.
816+ DISPLAY "@<:@ " P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
817+
818+ CALL "greatgrandchild01".
819+ CALL "greatgrandchild02".
820+
821+ DISPLAY "@<:@ " P-NAME "@:>@ *** CANCEL ALL ***".
822+ CANCEL ALL.
823+
824+ CALL "greatgrandchild01".
825+ CALL "greatgrandchild02".
826+
827+ DISPLAY "@<:@ " P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
828+ GOBACK.
829+ ] )
830+
831+ AT_DATA ( [ grandchild02.cbl] , [
832+ IDENTIFICATION DIVISION.
833+ PROGRAM-ID. grandchild02.
834+ DATA DIVISION.
835+ WORKING-STORAGE SECTION.
836+ 01 WS-COUNTER PIC 9(3) VALUE 0.
837+ 01 P-NAME PIC X(17) VALUE "grandchild02".
838+ PROCEDURE DIVISION.
839+ ADD 1 TO WS-COUNTER.
840+ DISPLAY "@<:@ " P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
841+
842+ IF WS-COUNTER = 1 THEN
843+ DISPLAY "@<:@ " P-NAME "@:>@ FIRST CALL"
844+ END-IF.
845+
846+ GOBACK.
847+ ] )
848+
849+ AT_DATA ( [ greatgrandchild01.cbl] , [
850+ IDENTIFICATION DIVISION.
851+ PROGRAM-ID. greatgrandchild01.
852+ DATA DIVISION.
853+ WORKING-STORAGE SECTION.
854+ 01 WS-COUNTER PIC 9(3) VALUE 0.
855+ 01 P-NAME PIC X(17) VALUE "greatgrandchild01".
856+ PROCEDURE DIVISION.
857+ ADD 1 TO WS-COUNTER.
858+ DISPLAY "@<:@ " P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
859+
860+ IF WS-COUNTER = 1 THEN
861+ DISPLAY "@<:@ " P-NAME "@:>@ FIRST CALL"
862+ END-IF.
863+ GOBACK.
864+ ] )
865+
866+ AT_DATA ( [ greatgrandchild02.cbl] , [
867+ IDENTIFICATION DIVISION.
868+ PROGRAM-ID. greatgrandchild02.
869+ DATA DIVISION.
870+ WORKING-STORAGE SECTION.
871+ 01 WS-COUNTER PIC 9(3) VALUE 0.
872+ 01 P-NAME PIC X(17) VALUE "greatgrandchild02".
873+ PROCEDURE DIVISION.
874+ ADD 1 TO WS-COUNTER.
875+ DISPLAY "@<:@ " P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
876+
877+ IF WS-COUNTER = 1 THEN
878+ DISPLAY "@<:@ " P-NAME "@:>@ FIRST CALL"
879+ END-IF.
880+ GOBACK.
881+ ] )
882+
883+ AT_CHECK ( [ ${COBJ} prog.cbl] , [ 0] )
884+ AT_CHECK ( [ ${COBJ} child.cbl] , [ 0] )
885+ AT_CHECK ( [ ${COBJ} grandchild01.cbl] , [ 0] )
886+ AT_CHECK ( [ ${COBJ} grandchild02.cbl] , [ 0] )
887+ AT_CHECK ( [ ${COBJ} greatgrandchild01.cbl] , [ 0] )
888+ AT_CHECK ( [ ${COBJ} greatgrandchild02.cbl] , [ 0] )
889+
890+ AT_CHECK ( [ java prog] , [ 0] ,
891+ [ @<:@ prog @:>@ WS-COUNTER = 001
892+ @<:@ child @:>@ WS-CALL-COUNT = 001
893+ @<:@ grandchild01 @:>@ WS-COUNTER = 001
894+ @<:@ greatgrandchild01@:>@ WS-COUNTER = 001
895+ @<:@ greatgrandchild01@:>@ FIRST CALL
896+ @<:@ greatgrandchild02@:>@ WS-COUNTER = 001
897+ @<:@ greatgrandchild02@:>@ FIRST CALL
898+ @<:@ grandchild01 @:>@ *** CANCEL ALL ***
899+ @<:@ greatgrandchild01@:>@ WS-COUNTER = 001
900+ @<:@ greatgrandchild01@:>@ FIRST CALL
901+ @<:@ greatgrandchild02@:>@ WS-COUNTER = 001
902+ @<:@ greatgrandchild02@:>@ FIRST CALL
903+ @<:@ grandchild01 @:>@ WS-COUNTER = 001
904+ @<:@ child @:>@ WS-CALL-COUNT = 001
905+ @<:@ grandchild02 @:>@ WS-COUNTER = 001
906+ @<:@ grandchild02 @:>@ FIRST CALL
907+ @<:@ prog @:>@ WS-COUNTER = 002
908+ @<:@ child @:>@ WS-CALL-COUNT = 002
909+ @<:@ grandchild01 @:>@ WS-COUNTER = 002
910+ @<:@ greatgrandchild01@:>@ WS-COUNTER = 002
911+ @<:@ greatgrandchild02@:>@ WS-COUNTER = 002
912+ @<:@ grandchild01 @:>@ *** CANCEL ALL ***
913+ @<:@ greatgrandchild01@:>@ WS-COUNTER = 001
914+ @<:@ greatgrandchild01@:>@ FIRST CALL
915+ @<:@ greatgrandchild02@:>@ WS-COUNTER = 001
916+ @<:@ greatgrandchild02@:>@ FIRST CALL
917+ @<:@ grandchild01 @:>@ WS-COUNTER = 002
918+ @<:@ child @:>@ WS-CALL-COUNT = 002
919+ @<:@ grandchild02 @:>@ WS-COUNTER = 002
920+ @<:@ prog @:>@ WS-COUNTER = 003
921+ ] )
922+
923+ AT_CLEANUP
924+
760925AT_SETUP ( [ CALL binary literal parameter/LENGTH OF - so] )
761926AT_CHECK ( [ ${SKIP_TEST}] )
762927
0 commit comments