You will make use of two tools of tool type Execute OS Command from the OS function package:
You can develop a tool of type Execute OS Command as a local COBOL program to generate an .exe file that can be specified as a tool of type Execute OS Command in the AWM model.
Start by creating a COBOL project:
If this is the first time you start Eclipse, the IDE displays the Eclipse Welcome page. Click Open Team Developer Perspective which is the default perspective in Enterprise Developer.
If the IDE does not start in the Team Developer perspective, click , click Team Developer (default), and then click OK.This opens the New dialog box.
You now need to create the two COBOL programs:
This opens the New COBOL Program dialog box.
This opens the program in the COBOL editor.
       program-id. GetIssues as "GetIssues".
      ******************************************************************
      * This COBOL program is part of the AWM tutorial "Issue Tracking *
      * System".                                                       *
      * The program reads the issues from the sample data set and      *
      * creates an output file according to the AWM model file         *
      * descriptor containing the issues to display in the AWM Table   *
      * Results view.                                                  *
      * The program allows to filter the issues by the input parameter *
      * priority.                                                      *
      ******************************************************************
       environment division.
       configuration section.
       input-output section.
       file-control.
       select out-file assign to disk
       organization is line sequential.
       
       select in-file assign to disk
       organization is line 
       sequential
       file status is ws-file-status.
       data division.
       file section.
      
      * output file cotaining the input for the AWM Table Results view;
      * will be written under c:\temp\issue_list.txt .
       fd out-file
       label records are standard
       value of file-id is"c:\temp\issue_list.txt".
      
       01 out-rec.
          05 ticket-no         pic 9(8).
          05 filler            pic x.
          05 raiser            pic x(20).
          05 filler            pic x.
          05 creation-date     pic x(10).
          05 filler            pic x.
          05 priority          pic 9.
          05 filler            pic x.
          05 description       pic x(30).
          05 filler            pic x.
          05 issue-status      pic 9.
          05 filler            pic x.
          05 ele-type          pic x(5).
      
      * file containing the sample issues; expected to reside under    *
      * c:\temp\issue_input.txt .                                      *
       fd in-file
       label records are standard
       value of 
       file-id is"c:\temp\issue_input.txt".
      
       01 in-rec.
          05 ticket-no         pic 9(8).
          05 raiser            pic x(20).
          05 creation-date     pic x(10).
          05 priority          pic 9.
          05 description       pic x(30).
          05 issue-status      pic 9.
          
       working-storage section.
       01 cmdline-text.
          03 issue-prio              pic x(12).
       01 ws-file-status.
          03 ws-file-status-key1     pic x.
          03 ws-file-status-key2     pic x.
          03 ws-file-status-key2-bin 
            redefines ws-file-status-key2 pic 99 comp-x.
       01 ws-eof                     pic x.
       
       procedure division.
           
       main-section section.
       
       main-processing-start.
           open input in-file
           if ws-file-status not = "00"
              if ws-file-status-key2-bin = 53
                 display "ReturnCode: 12"
                 display "Message: Input file not found! "
                 goback
              end-if   
           end-if
       
           open output out-file
      * read tool input parameter
           accept cmdline-text from command-line
      * read all records of the input file 
           perform until ws-eof = 'Y'
               read in-file into in-rec
                   at end move 'Y' to ws-eof
                   not at end perform process-rec through
                              process-rec-end
               end-read
           end-perform    
           
           close in-file.
           close out-file
      * return the name of the written file as AWM output parameter
           display 
              "OutParm: c:\temp\issue_list.txt".
       main-processing-end.       
           goback.
           
       process-rec.
      * ignore blank lines 
           if in-rec = spaces then
              go to process-rec-end
           end-if  
      * initialize the output record with the parameter delimiter
      * defined in the AWM model
           move all ";" to out-rec
      * entered priority '*' means process all records     
           if issue-prio = '*' then
              move corresponding in-rec to out-rec
      * set the element type property        
              move "ISSUE" to ele-type
              write out-rec
           else
      * check if priority of the record equals entered priority     
              if priority of in-rec = issue-prio then
                 move corresponding in-rec to out-rec
      * set the element type property            
                 move "ISSUE" to ele-type
                 write out-rec
               end-if
           end-if.
          
       process-rec-end.
           exit.
       end program GetIssues.
 This opens the New COBOL Program dialog box.
This opens the program in the COBOL editor.
       program-id. GetIssueRaiser as "GetIssueRaiser".
      ******************************************************************
      * This COBOL program is part of the AWM tutorial "Issue Tracking *
      * System".                                                       *
      * The program returns the raiser of a certain issue in the AWM   *
      * output format of a local OS tool.                              *
      ******************************************************************
       environment division.
       configuration section.
       input-output section.
       file-control.
       select in-file assign to disk
       organization is line 
       sequential
       file status is ws-file-status.
       
       data division.
       
       file section.
      * file containing the sample issues; expected to reside under    *
      * c:\temp\issue_input.txt .                                      *
       fd in-file
       label records are standard
       value of 
       file-id is"c:\temp\issue_input.txt".
      
       01 in-rec.
          05 ticket-no         pic 9(8).
          05 raiser            pic x(20).
          05 creation-date     pic x(10).
          05 priority          pic 9.
          05 description       pic x(30).
          05 issue-status      pic 9.
          
       working-storage section.
       01 cmdline-text.
          05 ticket-no                 pic    x(12).
       01 ws-eof                       pic x. 
       01 ws-file-status.
          03 ws-file-status-key1     pic x.
          03 ws-file-status-key2     pic x.
          03 ws-file-status-key2-bin 
            redefines ws-file-status-key2 pic 99 comp-x.
       
       01 out-line.
          05 outparm                  pic x(9) value 'OutParm: '.
          05 raiser                   pic x(20). 
       procedure division.
           open input in-file
           if ws-file-status not = "00" 
              if ws-file-status-key2-bin = 53
                 display "ReturnCode: 12"
                 display "Message: Input file not found! "
                 goback
              end-if   
           end-if
      * read tool input parameter     
           accept cmdline-text from command-line
      * read the file until record with entered ticket number is found
      * or end of file is reached
           perform until ws-eof = 'Y'
               read in-file into in-rec
                   at end move 'Y' to ws-eof
                   not at end perform process-rec through
                              process-rec-end
               end-read
           end-perform
           display out-line
           
           goback.
       process-rec.
           if ticket-no of in-rec = ticket-no of cmdline-text then
              move raiser of in-rec to raiser of out-line
              move 'Y' to ws-eof
           end-if.   
       process-rec-end.
           exit.
       end program GetIssueRaiser.