ABAP/4 statement "call 'SYSTEM'" supplied in version 2.2D+ Status -1 in SYST-SUBRC.
Cause and prerequisitesOracle libraries use 'SIGCHLD'.
SolutionIn some Oracle releases, the runtime environment supports the signal 'SIGCHLD' and clears the exit status of all scheduled processes.
On the other hand, the pclose called by the kernel for the ABAP/4 statement "call 'SYSTEM'" expects the process to deliver its exit code. Pclose provides an error (-1) which is returned by the kernel to ABAP/4. Errno ECHILD occurs internally. The problem appears in different versions on different platforms. It also depends on the access mode in the database (in one system, it can sometimes occur only on a couple of application servers).
A general solution is not possible. "call system" should not be used and is not released by SAP for customer applications.
The following implementation approaches are possible:
- 1. Avoid supported and documented calls, as, for example, CPIC, RFC and external batch.
- 2. Furthermore, if "call system" should be used: Do not call up the return code and document the successful exit in the standard output.
- 3. Since the problem occurs only when connections to BEQUEATH are made, doing the work in TWO_TASK mode (TCP/IP) creates the possibility of limiting the creation of 'ZOMBIE' processes.
No comments:
Post a Comment