Hi,
We pass data from abap program to workflow only if we are triggering the workflow from abap program.
1) You can use function module SAP_WAPI_CREATE_EVENT to trigger your custom workflow and pass the data to your workflow. For this you need to create paramters for your business object event which you will trigger from your Z program.
2) Now while triggering the EVENT using FM SAP_WAPI_CREATE_EVENT you can pass data from program to event paramters (created in step 1). table parameter INPUT_CONTAINER can be filled with the data you want to pass from your Z program to workflow event paramters.
3) Now in your workflow start event binding (basic data setting), you can get those event paramters to your workflow containers (you need to first create same workflow containers as that of event parameters).
Regards,
Ibrahim