000010**************************************************************************
000020* JAPI WuAPI(JmssThrowJobEx֐) TvvO
000030*
000040* (C)NEC Corporation/NEC Soft, Ltd. 1995,2008
000050*
000060*       1999.06.25 Created by NEC Soft, Ltd.
000070*
000080*  {\[X́uEXPRESS5800 COBOL85(WindowsNT(TM))vgp
000090*    쐬Ă܂
000100**************************************************************************
000110 IDENTIFICATION DIVISION.
000120 PROGRAM-ID.    JTHROWEX.
000130 AUTHOR.        NEC Soft, Ltd.
000140 INSTALLATION.  NEC Soft, Ltd.
000150 DATE-WRITTEN.  08-11-30.
000160 DATE-COMPILED.
000170*
000180 ENVIRONMENT DIVISION.
000190 CONFIGURATION SECTION.
000200 SOURCE-COMPUTER.  EXPRESS5800.
000210 OBJECT-COMPUTER.  EXPRESS5800.
000220*
000230 DATA DIVISION.
000240 WORKING-STORAGE SECTION.
000250*
000260* JAPIpRs[
000270 COPY JAPI.
000280*
000290* WuL[QƗp̃p[^
000300 01  QD-PARAM.
000310     02  MSG-TITLE       PIC X(20) VALUE "G[bZ[W".
000320*
000330* Wup̃p[^
000340 01  JE-PARAM.
000350     02  SERVERNAME      PIC X(15).
000360     02  JOBNO           USAGE IS COMP-2.
000370*
000380* Wu͗p
000390 01  INPUT-DATA.
000400     02  IN-JOBNAME      PIC  X(32).
000410     02  IN-JOBPATH      PIC  X(100).
000420     02  IN-JOBPARAM     PIC  X(100).
000430     02  IN-EXECDIR      PIC  X(100).
000440     02  IN-STDOUTFILE   PIC  X(100).
000450     02  IN-STDMODE      PIC  X(10).
000460     02  IN-MAXELAPSTIME PIC  9(05).
000470     02  IN-EXECTYPE     PIC  9(1).
000480*
000490* WuI҂p̃p[^
000500 01  WJ-PARAM.
000510     02  IN-YESNO        PIC  X(01).
000520     02  WJ-TIMEOUT      USAGE IS COMP-2.
000530*
000540* ֐̖߂l
000550 77  RESULTCODE          USAGE IS COMP-2.
000560*
000570* ̑
000580 77  ERR-MSG             PIC  X(80).
000590 77  WK-BUFSIZE          PIC  9(03).
000600*
000610 PROCEDURE DIVISION.
000620 START-PROC.
000630*
000640* 
000650     MOVE  NULL-STRING         TO  SERVERNAME.
000660     MOVE  NULL-STRING         TO  JMSSJOBINFO.
000670*
000680* WuL[̎Q
000690 GETQUE.
000700     DISPLAY  "WuL[Q".
000710     CALL  "_JmssDispQueueDialog"  USING  BY REFERENCE SERVERNAME,
000720                                          BY VALUE     NULL-POINTER,
000730                                          BY REFERENCE JE-QUEUENAME,
000740                                          BY REFERENCE MSG-TITLE,
000750                                   WITH RETURNING TO RESULTCODE.
000760*
000770     MOVE  100  TO  WK-BUFSIZE.
000780     CALL  "DELSPACE"  USING  JE-QUEUENAME  WK-BUFSIZE.
000790*
000800*    ֐̖߂l̔
000810     IF  RESULTCODE IS NOT = 0
000820         THEN  CALL  "MKERRMSG" USING  RESULTCODE  ERR-MSG
000830               DISPLAY  "    " ERR-MSG
000840               DISPLAY  "    WuL[}Vɂ܂"
000850               MOVE  NULL-STRING  TO  JE-QUEUENAME
000860         ELSE  DISPLAY  "    WuL[̎QƂɐ܂"
000870               DISPLAY  "    WuL[" JE-QUEUENAME "ł"
000880     END-IF.
000890*
000900* Wu̓
000910 THROWJOB.
000920     DISPLAY  "Wu𓊓܂Bep[^͂Ă".
000930     DISPLAY  " ".
000940*
000950*    D揇ʂ"NORMAL"Ƃ
000960     MOVE  JMSS_PRIORITY_NORMAL  TO  JE-PRIORITY.
000970*
000980*    Wo͓eۑt@C
000990 STDOUT-CHK.
001000     DISPLAY  "Wo̓t@C̃[hH".
001010     DISPLAY  "0:ĎȂ".
001020     DISPLAY  "1:VXe㏑ŊĎ".
001030     DISPLAY  "2:VXeǉŊĎ".
001040     DISPLAY  "3:[U㏑ŊĎ".
001050     DISPLAY  "4:[UǉŊĎ".
001060     ACCEPT  IN-STDMODE.
001070     EVALUATE IN-STDMODE
001080         WHEN  "0"    MOVE  0  TO  JE-WATCHSTDOUT
001090                      GO TO JOBNAME-INPUT
001100         WHEN  "1"    MOVE  1  TO  JE-WATCHSTDOUT
001110                      GO TO JOBNAME-INPUT
001120         WHEN  "2"    MOVE  2  TO  JE-WATCHSTDOUT
001130                      GO TO JOBNAME-INPUT
001140         WHEN  "3"    MOVE  3  TO  JE-WATCHSTDOUT
001150                      GO TO STDOUT-INPUT
001160         WHEN  "4"    MOVE  4  TO  JE-WATCHSTDOUT
001170                      GO TO STDOUT-INPUT
001180         WHEN  OTHER  GO TO STDOUT-CHK
001190     END-EVALUATE.
001200*     MOVE  IN-STDMODE  TO  JE-WATCHSTDOUT.
001210 STDOUT-INPUT.
001220     DISPLAY  "Wo͊Ď̃t@Cw肵Ă".
001230     ACCEPT  IN-STDOUTFILE.
001240     if IN-STDOUTFILE = ALL " "
001250         GO TO  STDOUT-INPUT
001260     END-IF.
001270     MOVE  IN-STDOUTFILE  TO  JE-STDOUTFILE.
001280*     MOVE  "TEST"  TO  JE-STDOUTFILE.
001290     MOVE  100  TO  WK-BUFSIZE.
001300     CALL  "DELSPACE"  USING  JE-STDOUTFILE  WK-BUFSIZE.
001310 JOBNAME-INPUT.
001320*
001330*    WűƖ͂
001340     DISPLAY  "WűƖ(32ȓ)H".
001350     ACCEPT  IN-JOBNAME.
001360     if IN-JOBNAME = ALL " "
001370         GO TO  JOBNAME-INPUT
001380     END-IF.
001390     MOVE  IN-JOBNAME  TO  JE-JOBNAME.
001400     MOVE  32  TO  WK-BUFSIZE.
001410     CALL  "DELSPACE"  USING  JE-JOBNAME  WK-BUFSIZE.
001420*
001430*    Wũt@C͂
001440     DISPLAY  "Wũt@C(100ȓ)H".
001450     ACCEPT  IN-JOBPATH.
001460     MOVE  IN-JOBPATH  TO  JE-JOBPATH.
001470     MOVE  100  TO  WK-BUFSIZE.
001480     CALL  "DELSPACE"  USING  JE-JOBPATH  WK-BUFSIZE.
001490*
001500*    Wũp[^͂
001510     DISPLAY  "Wũp[^(100ȓ)H".
001520     ACCEPT  IN-JOBPARAM.
001530     MOVE  IN-JOBPARAM  TO  JE-JOBPARAM.
001540     MOVE  100  TO  WK-BUFSIZE.
001550     CALL  "DELSPACE"  USING  JE-JOBPARAM  WK-BUFSIZE.
001560*
001570*    Wu̎sfBNg͂
001580     DISPLAY  "Wu̎sfBNg(100ȓ)H".
001590     ACCEPT  IN-EXECDIR.
001600     MOVE  IN-EXECDIR  TO  JE-EXECDIR.
001610     MOVE  100  TO  WK-BUFSIZE.
001620     CALL  "DELSPACE"  USING  JE-EXECDIR  WK-BUFSIZE.
001630*
001640*    soߎԃ^CAEg͂
001650     DISPLAY  "soߎԃ^CAEg(5܂)H"
001660     DISPLAY  "i5菭ȂƂ'0'Ăj"
001670     ACCEPT  IN-MAXELAPSTIME.
001680     MOVE    IN-MAXELAPSTIME  TO  JE-MAXELAPSETIME.
001690*
001700*    WuN͂
001710     DISPLAY  "WuŃH"
001720     DISPLAY  "0:wȂ"
001730     DISPLAY  "1:T[rXAJEgŋN"
001740     DISPLAY  "2:OI[UAJEgŋN"
001750     ACCEPT  IN-EXECTYPE.
001760     MOVE    IN-EXECTYPE  TO  JE-EXECTYPE.
001770
001780 TERMREPORT-CHK.
001790     DISPLAY  "Wu̒ʒm܂(Y/N)H"
001800     ACCEPT  IN-YESNO.
001810     IF  IN-YESNO NOT = "Y"
001820         THEN  IF  IN-YESNO NOT = "N"
001830                   THEN  DISPLAY  "    [Y] ܂ [N] ͂Ă"
001840                         GO TO  TERMREPORT-CHK
001850               END-IF
001860     END-IF.
001870     IF  IN-YESNO = "Y"  THEN  COMPUTE JE-TERMREPORT =  1
001880                         ELSE  COMPUTE JE-TERMREPORT =  0
001890     END-IF.
001900*
001910 WAITJOB-CHK.
001920     DISPLAY  "WȕI҂܂(Y/N)H"
001930     ACCEPT  IN-YESNO.
001940     IF  IN-YESNO NOT = "Y"
001950         THEN  IF  IN-YESNO NOT = "N"
001960                   THEN  DISPLAY  "    [Y] ܂ [N] ͂Ă"
001970                         GO TO  WAITJOB-CHK
001980               END-IF
001990     END-IF.
002000*
002010*    Wu֐̌Ăяo
002020     CALL  "_JmssThrowJobEx"  USING  BY REFERENCE SERVERNAME,
002030                                   BY REFERENCE JMSSJOBTHROWINFOEX,
002040                                   BY REFERENCE JOBNO,
002050                            WITH RETURNING TO RESULTCODE.
002060*
002070*    ֐̖߂l̔
002080     IF  RESULTCODE IS NOT = 0
002090         THEN  CALL  "MKERRMSG" USING  RESULTCODE  ERR-MSG
002100               DISPLAY  "    " ERR-MSG
002110               DISPLAY  "    I܂"
002120               GO TO END-PROC
002130         ELSE  DISPLAY  "    Wu̓ɐ܂"
002140               DISPLAY  "    Wuԍ" JOBNO "ł"
002150     END-IF.
002160*
002170* WȕI҂
002180 WAITJOB.
002190     IF  IN-YESNO = "N"  THEN  GO TO  END-PROC.
002200*
002210*    Wuԍ͓Wuԍgp
002220*
002230*    ^CAEgԂ͖Ƃ
002240     MOVE  -1  TO  WJ-TIMEOUT.
002250*
002260     DISPLAY  "WȕI҂܂".
002270*
002280*    WuI҂֐̌Ăяo
002290     CALL  "_JmssWaitJobExit"  USING  BY REFERENCE SERVERNAME,
002300                                      BY VALUE     JOBNO,
002310                                      BY REFERENCE JMSSJOBINFO,
002320                                      BY VALUE     WJ-TIMEOUT,
002330                               WITH RETURNING TO RESULTCODE.
002340*
002350*    ֐̖߂l̔
002360     IF  RESULTCODE IS NOT = 0
002370         THEN  CALL  "MKERRMSG"  USING  RESULTCODE  ERR-MSG
002380               DISPLAY  "    " ERR-MSG
002390               DISPLAY  "    I܂"
002400               GO TO  END-PROC
002410         ELSE  DISPLAY  "    WȕI҂ɐ܂"
002420     END-IF.
002430*
002440 END-PROC.
002450     MOVE  RESULTCODE  TO  COMPLETION-CODE.
002460     STOP  RUN.
002470