Any program calling other program uses CALL, LINK or XCTL statements in CICS environment.
However, if you want to CALL requires USING parameter, LINK and XCTL require COMMAREA to be passed. The called program receives this data in its linkage.
If you have a condition where you want to pass data to another program but not to use the linkage, then here are few options:
1) Calling program can create a TSQ with called program's name as part of TSQ NAME. and then write the required data to this TSQ. Called program then can read this TSQ data.
2)Instead of TSQ one can use TDQ as well in above example
3) Calling program can write the data to be passed in an existing file which can be accessed thru CICS.Then the Called program can read this file. One can use DB2 for this as well. However i think this is a lousy idea.