Cobol'da dahili bir girişi çağırmaya çalışıyorum. Arama tamam, ancak, girdikten sonra yanlış şekilde çalıştırılan bazı paragrafların olması sorunu.Bir giriş çağıran etkiyi durdurma
IDENTIFICATION DIVISION.
PROGRAM-ID. ENTR1POW.
DATA DIVISION.
WORKING-STORAGE SECTION.
LOCAL-STORAGE SECTION.
PROCEDURE DIVISION.
display "BEFORE CALL NOM_PROC1======================="
PERFORM NOM_PROC1 THRU E--NOM_PROC1
display "AFTER CALL NOM_PROC1======================="
display "CALL NOM_PROC2============================="
PERFORM NOM_PROC2 THRU E--NOM_PROC2
display "CALL ENTRY1============================"
CALL 'ENTRY1'
GOBACK.
NOM_PROC1.
display "PGM ENTR1POW: BEGIN NOM_PROC1"
display "PGM ENTR1POW: END NOM_PROC1"
CONTINUE.
E--NOM_PROC1.
EXIT.
NOM_PROC2 SECTION.
display "PGM ENTR1POW: BEGIN NOM_PROC2"
ENTRY 'ENTRY1'
display "===========BEGIN ENTRY ENTRY1"
display "===========END ENTRY ENTRY1"
ENTRY 'ENTRY2'
display "===========BEGIN ENTRY ENTRY2"
display "===========END ENTRY ENTRY2"
ENTRY 'ENTRY3'
display "===========BEGIN ENTRY ENTRY3"
display "===========END ENTRY ENTRY3"
display "PGM ENTR1POW: END NOM_PROC2"
CONTINUE.
E--NOM_PROC2.
EXIT.
NOM_PROC3 SECTION.
display "PGM ENTR1POW: BEGIN NOM_PROC3"
display "PGM ENTR1POW: END NOM_PROC3"
CONTINUE.
E--NOM_PROC3 SECTION.
EXIT.
NOM_PROC4.
display "PGM ENTR1POW: BEGIN NOM_PROC4"
display "PGM ENTR1POW: END NOM_PROC4"
CONTINUE.
E--NOM_PROC4.
EXIT.
i elde çıkışı:
BEFORE CALL NOM_PROC1=======================
PGM ENTR1POW: BEGIN NOM_PROC1
PGM ENTR1POW: END NOM_PROC1
AFTER CALL NOM_PROC1=======================
CALL NOM_PROC2=============================
PGM ENTR1POW: BEGIN NOM_PROC2
===========BEGIN ENTRY ENTRY1
===========END ENTRY ENTRY1
===========BEGIN ENTRY ENTRY2
===========END ENTRY ENTRY2
===========BEGIN ENTRY ENTRY3
===========END ENTRY ENTRY3
PGM ENTR1POW: END NOM_PROC2
CALL ENTRY1============================
===========BEGIN ENTRY ENTRY1
===========END ENTRY ENTRY1
===========BEGIN ENTRY ENTRY2
===========END ENTRY ENTRY2
===========BEGIN ENTRY ENTRY3
===========END ENTRY ENTRY3
PGM ENTR1POW: END NOM_PROC2
PGM ENTR1POW: BEGIN NOM_PROC3
PGM ENTR1POW: END NOM_PROC3
PGM ENTR1POW: BEGIN NOM_PROC4
PGM ENTR1POW: END NOM_PROC4
paragraflarına çağrı NOM_PROC3 ve NOM_PROC4 gerçekleşmesi gerektiğini düşünüyorum
İşte benim programıdır.
NOM_PROC2 paragrafını programın sonuna taşıdıysam, sorunum çözülecektir, ancak bunu yapmak istiyorum. Sorunumu çözmenin başka bir yolu var mı? Cevabınız için teşekkür ederiz. –
Hangi derleyiciyi kullanıyorsunuz? ENTRY, ARAMAYAN programda olması amaçlanmamıştır, başka bir programda olması beklenir. Ne yapmaya çalışıyorsun? @cschneid'in dediği gibi, "içerilmiş" veya "iç içe geçmiş" bir program muhtemelen sizin istediğinizi daha fazladır. Bir PERFORM bir ÇAĞRI olduğunu düşünüyorsanız kendinizi de karıştırırsınız. Öyle değil, mesajlar yanlış. –