2015-01-02 23:22 GMT+01:00 Aldes Rossi <aldes.ro...@rossisoft.com>: > Vorrei scrivere in Python delle routine di servizio da richiamare in > programmi scritti in COBOL. > Per esempio: certe operazioni su stringhe, esecuzione di certi calcoli, > compilazioni di tabelle ... > > Per eseguire dal codice COBOL uno script esterno si usa la routine > "SYSTEM", passando > come argomento una stringa contenemte il comando che si digiterebbe nella > linea di comando > per lanciare lo script manualmente. > > Per esempio: > > MOVE stringa-da-elaborare TO variabile > CALL "SYSTEM" USING "PYTHON nome-script variabile" > ... > > Così si passa allo script python il dato da elaborare. > Ma lo script python, come restituisce al programma cobol il dato elaborato? >
Col piffero... :-) Scherzi a parte, puoi provare a ridirigere l'output su un file e poi da COBOL aprire quel file. Però questo funziona solo se: - COBOL aspetta la fine dell'esecuzione di SYSTEM - il tuo programma COBOL gira in unica istanza - Saturno e Giove sono allineati Ciao. Marco. P.S. Per curiosità prima di inviare questa risposta ho pure fatto una ricerchina e, lo and behold, ci avevo azzeccato. Da http://community.microfocus.com/microfocus/cobol/net_express__server_express/w/knowledge_base/6537.invoke-a-unix-command-from-within-cobol-using-call-system-and-retrieve-return-code.aspx : To pass data back to COBOL from a UNIX command, have the command write the data to a file, then have COBOL read the file. For example, CALL "SYSTEM" with the command "ls -l >lsout.txt", and then program COBOL to open "lsout.txt" as a line sequential file and read the file line by line. -- http://beri.it/ - Un blog http://beri.it/i-miei-libri/ - Qualche libro http://beri.it/articoli/ - Qualche articolo
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python