Change a PLI PGM with content assist


Contents

Warning

NOTE: If you wish to rerun this Test Drive Script, simply pick the same element if you ended successfully and start over. If you did not end successfully pick another PLI program (CLPLS02, 03, 04, etc.) to use and start the script over. Any other errors will require that you contact BMC Support Central

Getting Started with SCM - BMC AMI DevX Code Pipeline

The goal of this Test Drive is to make a change to a PLI program using BMC AMI DevX Workbench for Eclipse content assist, generate, and promote it to Production using BMC AMI DevX Code Pipeline. Code Pipeline enables developers to quickly and safely build, and test their mainframe code.

This Test Drive will take you through the following activities:

  • Checking out a version of the PLI program
  • Using the Workbench For Eclipse Editor to make changes
  • Generating/compiling the modified program
  • Promoting through the application lifecycle to Production 

Instructions:

  • This guide contains many screenshots to provide a visual reference
  • Specifies every action you must take
  • Please note each place that you must enter your own specific ID or number
  • You must complete each step before proceeding to the next to successfully follow the guide

If at any point during your experience the host connection times out, you may need to log back into the Test Drive host connection.

In this Test Drive the screen shots provided have used specific values that may differ from your assigned values. These were provided in your email notice. Substitute your values in the screenshots.

Information
Do This

Start your Test Drive by clicking here.

Code Changes

Your development task in this Test Drive is to change a PLI program using the DevX Workbench editor, then generate and promote it through the Application Life-Cycle to Production.

First, you will find and add a PLI program into an Code Pipeline Assignment from which you can perform all this work.

Information
Do This
  • Change the Stream to CWEZ
  • Change the Application to your assigned application value (Txxx, where xxx is your unique number)
  • Note: SubAppl will be automatically populated with Application
  • Set the Level to "PRD" and ensure the Level option is set to "Selected level only" or "All found in level and above" both settings will return the same results since there is nothing above PRD.
  • Filter the view even further by setting the Type to PLI, this will allow you to focus only on the PLI program components available in your stream | application at the PRD level. Click Apply (circled).

1.png

The Repository View lists the PLI Components for your application.

2.png

Information
Do This

Scroll through the list and find SLOGREPT at level PRD. Right-click on it and click Add to Assignment with Checkout.

3.png

Information
Do This

From the Add Task dialog box (screen shot not shown), select NEW to the right of Assignment. This will allow you to create a new Assignment Container to put your PLI program into. Type a description and click OK. 

4.png

Information
Do This

Your new Assignment number will appear in the Assignment field. Click OK. A message will be displayed to inform you that the task has been added to your Assignment (screen not shown). Click OK.

5.png

Your Assignment has been created and you should now have a PLI program in it. The Assignment Task List view will open and the Task that was added will be listed. Every operation that needs to be performed on this Task and other Components which are impacted by changing this Task (edit, impact analysis, compile, promote, deployment, etc.) can be performed from this Assignment or other Assignments.

Information
Do This

Click on the Tasks View. To see the Life-Cycle path structure that was constructed for the Application, click once on the Task and then click on the View Life-Cycle icon.

6.png

Warning

Note that the PLI program in the Assignment is checked out and sitting in the DEV1 level. The Checkout Date/Time and User ID is reflected in the Task information. At checkout, a destination level for the checkout was chosen – DEV1.

A picture of the Life-Cycle is presented. By choosing the DEV1 Level, you have defined the Path to Production→DEV1-QA1-STG-PRD. Other versions of these Components may also exist at other levels and may be passing through the other three paths – FIX, DEV2, or DEV3.  Four paths were created for the application – one for emergencies starting at level FIX and three for development starting at DEV1, DEV2, and DEV3. The application level structure is customizable when defining the applications to Code Pipeline. Any number of paths can be defined with a minimum of three Levels.

7.png

Information
Do This

Now that you have a Version of a PLI program the next step would be to make changes to it. To do this either right-click on SLOGREPT and click Edit or simply double-click on it.

8.png

Change the source using DevX Workbench editor with content assist.

Information
Do This

Select Find/Replace from the Edit menu or Ctrl+F keys. Type close in the Find field and click on Find. Close the dialog by Clicking on the X in the upper right-hand corner or by clicking on close.

9.png

Information
Do This

Move your cursor to the end of the line with CLOSE FILE (LOGFIN) ; and hit enter to insert a new line. Type CL and the content assist should bring up all the verbs beginning with CL. Choose CLOSE - CLOSE statement and type LOGF and select LOGFIN. This is just a small sample of using content assist.

10.png

Information
Do This

You are now done with your edit. Once you have made your changes, close the DevX Workbench Edit view. Click Yes to save the changes.

11.png

Note the Operation, Date/Time and User ID fields have been updated to reflect the change in the Task status.

12.png

Generate (AKA Compile)

The PLI program will be generated/compiled, and your Assignment Task List will be updated to reflect the new status.

  • The Operation will be Generate
  • You will have the opportunity to change your compile options
  • The User ID, Date/Time will be updated
  • The Message will be updated to reflect the successful completion of the generate

Now it is time to compile/generate the PLI program, so we can do our testing. To do this:

Information
Do This

Right-Click on SLOGREPT and click Generate with Parms.

13.png

A screen will appear and give you the opportunity to change some of your compile options. This screen is customizable for your site. Any options you may need at compile and link time can be added to this screen. Make sure a version for the compiler is selected. Code Pipeline retains the generate options for each program at each level, so you do not need to change the generate options every time you generate.  

Information
Do This

Click OK to continue.

14.png

The status column will display a message indicating that the Task is being generated. The screen will refresh automatically when the generate is done. At that time, the Task will be updated with the date and time of the generate, the user who performed the generate, and the operation will reflect a generate has occurred. After the generate finishes you can browse the Generate listing at any time.

15.png 

Information
Do This

To do this, right-click on the Task and click View Generate Listing. Scroll up and down, notice that everything is available that you normally see in a compile listing.

16.png

Information
Do This

Close the Listing display when you are finished. You can also view the Job output of the generate job.

17.png

Information
Do This

Right-click on the task and click View Generate Job Output.

18.png

Information
Do This

Close the Job Output display when you are finished. This displays the output of the job that did the Generate.

19.png

Information
Do This

To view the generated parts, right-click on the Task, place your cursor on View and click on Parts.

20.png

Code Pipeline collects each of the parts created as part of the generate (Load, Listing, DBRM, etc.) and registers them against the source. The generate of this program created an Object, Listing, Load, and a DDIO (part DMEM). The types of parts created can be unique by application and type of component as well as the values of the generate parms. You can also see the name of the datasets that the parts are stored in.  

Information
Do This

Close the Parts view.

21.png

Promotion

At this point you have:

  • Checked out a version of the PLI program
  • Used the DevX Workbench Editor to make and save your changes
  • Generated the program with the option to change the generate parameters

Now you are ready to promote your changes to the QA1 level. 

Information
Do This

To promote the Task to the QA1 level, right-click on the Task and click Promote.

22.png

This action will create a Set Container. Sets are a special category of container that are used to conduct operations such as promotion and deploy. They are temporary and created by Code Pipeline as needed for the work. This allows you to promote subsets of Tasks within an Assignment container without the need to act on all the Tasks at once. Once you click Promote the selected Task(s) are placed in a SET container for the promotion. The Code Pipeline Set processor will:

  • Perform the promotion of the source to QA1
  • Cleanup the DEV1 level (source and parts if applicable)
  • Perform generates, in order, of all the Task(s) in the SET which require a generation

A notification will appear in the lower right of the DevX Workbench indicating the Promotion has completed. 

PromoteCompleted_1task.png

In the screenshot below, you can see the promote operation has completed – the Task has been promoted to QA1 (see the Level value and the Operation in the Task List as well as the highlighted Level in the picture). Note the Operation column shows Generate as the last operation. The SET processor performed a promotion and then a generation as Code Pipeline recognized a generate was required for PLI types at the QA1 level based on the configuration of this application. This can be configured by the Code Pipeline administrator.

24.png 

Let us assume all the testing at the QA1 level has been successfully completed and you are ready to promote to the STG level.

Information
Do This

To promote the Task to the STG level, right-click on the Task and click Promote.

25.png

A Set container is created. The selected Task(s) are placed in a SET container for the promotion. The Code Pipeline Set processor will:

  • Perform the promotions of all the parts to STG
  • Cleanup the QA1 level (source and parts if applicable)

Note the Operation column shows Promote as the last operation. The SET processor performed a promotion and then did not generate as Code Pipeline recognized a generate was not required for PLI types at the STG level based on the configuration of this application. This can be configured by the Code Pipeline administrator.

26.png

Assuming all the testing at the STG level has been successfully completed, you are now ready to promote the Tasks to the PRD level.  

Information
Do This

Select the Task as before, right-click on it, and select Promote.

27.png

In this screenshot, as the Task(s) in the SET are being processed, you can see:

  • The Task will be selected for a Promote
  • Code Pipeline will start a SET processor for this SET
  • The PLI program, and its parts will be promoted

You can monitor the progress by clicking the refresh button. worddav61a600228168393a64efc91799e6be9f.png

Warning

Note: Code Pipeline uses your installation's security (RACF/Top Secret/ACF2) to manage process security (granular control of permissions by user and function). Process security defines who can perform which commands at which levels in the Life-Cycle.  

A Set container will be created. The selected Task(s) are being placed in a SET container for the promotion. The Code Pipeline Set processor will:

  • Perform the promotions of all the parts to the PRD Level
  • Cleanup the STG level source and parts as applicable

A notification will appear in the lower right of the DevX Workbench indicating the application has been configured to require an approval for the promotion to PRD. The Tasks are locked in a SET for a Promote process, but the SET needs approval before the promote can proceed.

ApprovalRequired.png 

The Approval can be performed from:

  • DevX Workbench/Code Pipeline
  • TSO/Code Pipeline in the ISPF interface
  • Web interface (including mobile browser)
     
Information
Do This

For this Test Drive you will do the approval from DevX Workbench/Code Pipeline. To perform the approval, click on the task, then right-click on the STG box in the Life-Cycle diagram. Click Approve. Code Pipeline will now perform the promotion of the Tasks collected in the SET to the PRD Level.

29.png

You can see in the updated screen below that:

  • SET processing has completed
  • The PLI program has been processed for a Promotion and is now at the PRD level

The Promotion to the PRD level has completed. The source and parts for the PLI program were moved to the PRD level Life-Cycle libraries and the STG level libraries were cleaned up as appropriate. Notice the Operation column shows Implement as the last operation. Code Pipeline performed any tasks that were configured for deploy and activation. An example of a Deploy Implementation activity is the copy of the executable load module into a CICS or IMS runtime library. Examples of an activation activity would be a DB2 Plan or Package Bind or a CICS New copy.

30.png

As a developer you are now finished with your Assignment, so it can be closed. Assignments are closed manually and are usually closed to unclutter the Code Pipeline Container List View. 

Information
Do This

To Close your Assignment, click on the Container View and right-click on your Assignment and click Close. A Close confirmation panel is presented.

31.png

Information
Do This

 Click OK to complete the Close. 

32.png

For audit purposes, Closed Assignments, Sets, and Releases are never deleted from Code Pipeline. They are just filtered out of the standard day-to-day filtering. Once an Assignment, Set, or Release is closed it is removed from the standard filtered list, but it is still part of Code Pipeline history and can be viewed at any time.

You are done! Your job has been to change a PLI program and promote to Production. As a part of this exercise, you have been able to use DevX Workbench and Code Pipeline to execute a workflow:

  • Created an Assignment
  • Added and checked out a PLI program
  • Changed it using DevX Workbench Edit and content assist
  • Compiled/Generated the program
  • Viewed the listing from the Generate
  • Viewed the generate output from JES
  • Viewed the Parts created as part of the Generate
  • Promoted the Task from DEV1 to QA1 with a generate of the program
  • Promoted the Task from QA1 to STG
  • Promoted the Task from STG to PRD
  • Performed an approval
  • Closed your Assignment to complete the change cycle

Congratulations! This completes the Code Pipeline tutorial for BMC Test Drive.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

Test Drive