Figure 2: CMPSWP comparing parameters

**-- Local variables:

     D UsrSpc          Ds                  Qualified  Based( pUsrSpc )

     D  TgtVal                       20u 0

     **

     D CmpVal          s             20u 0

     D SwpVal          s             20u 0

     D cntl            s             10i 0

     D rc              s             10i 0



      /Free

        CmpVal = UsrSpc.TgtVal;



        DoU  rc = 1;      

A
          SwpVal = CmpVal + 1;	  

B
[begin callout C]

          rc = CMPSWP( CmpVal: UsrSpc.TgtVal: SwpVal );               

        EndDo;   	 

C
        Return  SwpVal;



       /End-Free