2013-08-21 22 views
0

我有一個使用CICS LINK通過EXCI調用CICS程序的cobol批處理程序。 CICS程序調用Web服務並將結果解析爲一個副本,然後在LINKAGE SECTION的commarea中傳回。CICS EXCI Transaction CSMI異步ASRA

似乎一切正常,批處理程序需要這些數據,但是當檢查EXCI響應代碼時,我有一個ASRA異常。 CICS日誌報告以下內容

DFHAC2236 Transaction CSMI abend ASRA in program IOCCBR term RG1. Updates to local recoverable 
resources will be backed out. 

我研究了一般DFH ***代碼和ASRA,但沒有找到答案。轉儲並不是公司慣例,但我確實有可用的異常助手。

EXEC CICS LINK PROGRAM('IOCCBR')  
    APPLID('PRODAOR1')     
    LENGTH(LENGTH OF WS-COMMAREA)  
    COMMAREA(WS-COMMAREA)    
    RETCODE(WS-EXCI-EXEC-RETURN-CODE) 
    SYNCONRETURN      
END-EXEC.       

任何想法,將大大appreciated.Thanks

+0

@BillWoodger你還在尋找什麼我可以「給」:)你?我不認爲異常助手數據會有幫助。當我使用Expediter時,異常會被拋出goback或cics return命令。 –

+1

我一直忘記提及我不會用IO開始程序名,或者事實上任何以I開頭的程序名。與系統軟件名稱意外衝突的危險太大了。很多IBM的東西都是從I開始的,IO對於I/O來說太「顯而易見」了。 –

+0

@BillWoodger我會聽從這個建議,國際奧委會代表「信息訂購中心」,我將把名字改爲一些衝突較少的名稱。謝謝。 –

回答

0

經驗教訓,批處理程序是由其他人編寫的,批處理的commarea小於cics程序返回的。

我的同事擁有108的commarea,只夠傳遞copybook信息,我的CICS程序有一個2750的LINKAGE SECTION commarea,因爲我重用了另一個EXCI/INVOKE WEBSERVICE程序的代碼。我相信這就是爲什麼它迴歸的原因,但數據在那裏,我正確填寫了108個字節,但它無法處理額外的2642字節在他的WS commarea被推擠

+0

一旦你開心解決問題,你可以接受你自己的答案。所以你發現批處理程序的WORKNG-STORAGE中的commarea之後的東西被破壞了? –

+0

@BillWoodger是的,我的同事有一個108的commarea,只夠傳遞copybook信息,我的CICS程序有一個2750的鏈接部分commarea,因爲我重用了另一個EXCI/INVOKE WEBSERVICE程序的代碼。我相信這就是爲什麼它迴歸的原因,但數據在那裏,我正確填寫了108個字節,但它無法處理額外的2642字節被他的WS commarea推在一起。共享開發帶來的問題!感謝您的期待。 –

+0

非常好。如果你將評論的主體放在你的答案中,並且接受它,它會很好地整理這些東西,並且可以在將來幫助其他人。 –

0

我相信你一定在你的鏈接同時指定程序和TRANSID和指定TRANSID必須定義爲CICS作爲執行DFHMIRS,該程序在程序,你想要執行。

+0

感謝您的回答。在過去,我只用了CICS上的PPT條目並且沒有LINK命令上的TRANSID。我沒有看到與此有任何分歧。我在上面添加了我的LINK。 –

+0

系統告訴我們我們在這種類型的鏈接上使用默認通信。 –