Scenario-
If outbound delivery for STO is created using BAPI- BAPI_OUTB_DELIVERY_CREATE_STO, it is not possible to populate value in few fields of header of delivery document (eg.-to display values in administration tab & Shipment tab) by simply passing values in the export parameters and table parameters of BAPI.
Solution-
For the values to be populated in delivery header, Badi LE_SHP_DELIVERY_PROC is to be implemented and method FILL_DELIVERY_HEADER is used to populate details of delivery .
The method is called during delivery creation, each time that a new delivery header is filled with data. This method can be used to populate your own delivery header fields.
Solution implementation-
For displaying the desired values in delivery header tabs in delivery document, those values needs to be populated in CS_LIKP.
If these values are coming through any interface (idoc),then it should be exported from the corresponding function module or program and imported inside method FILL_DELIVERY_HEADER using import statement. This values in turn will be used to fill CS_LIKP to populate the delivery header.
The structure of CS_LIKP is same as LIKP.
One can update header fields using method-FILL_DELIVERY_HEADER, which could not be updated using parameters of BAPI-BAPI_OUTB_DELIVERY_CREATE_STO.
For example- For displaying value in ext.delivery in administration tab and TrnsID code in shipment tab, populate CS_LIKP-LIFEX and CS_LIKP-TRAID.Data can be used using VL03n-->click on header details icon .
Similarly, for item level data method- FILL_DELIVERY_ITEM can be used.