For creating deliveries without reference to a sales order, you can use BAPI_OUTB_DELIVERY_CREATENOREF.
Parameter | Opt. | Description
Import
- SHIP_POINT | | Shipping point
- DLV_TYPE | | Delivery type
- SALESORG | | Sales organization
- DISTR_CHAN | | Distribution channel
- DIVISION | | Division
- SHIP_TO | | Ship-to party
- DATE_USAGE | X | Use of dates in DATES
- DEBUG_FLG | X | Forces termination (ALE analysis)
Export
- DELIVERY | X | First generated delivery
- NUM_DELIVERIES | X | Number of generated deliveries
Parameter | Opt | Direction | Description
Tables
DATES | | Import | Delivery date
DLV_ITEMS | | Import | Delivery items to be created without reference
SERIAL_NUMBERS | X | Import | Serial numbers
EXTENSION_IN | X | Import | Additional input data
DELIVERIES | X | Export | Generated deliveries
CREATED_ITEMS | X | Export | Generated delivery items
EXTENSION_OUT | X | Export | Additional output data
RETURN | X | Export | Error log
I'm not sure if there is such a BAPI that only simulates an outbound delivery. A workaround you could use is to call this BAPI without calling BAPI_TRANSACTION_COMMIT, and then do a ROLLBACK WORK in case there was already a COMMIT.