Hello people
Any pointers on BDC running transactions such as "IQ01" to create IS-U Devices?
We have created such functionality, yet it is a real Performance-drain when running in Mass-scenario (our typical "Mass scenario" is generating 2000-3000 Devices in one Step) looping over a number of pre-determined Serialnumbers and executing the BDC for evey Device in a Synchronous way. This is important, as in Asynchronous way, there is a risk of only generating a certain % of the intended amount of devices, due to locking issues on SAP-Objects etc.
So in this Mass scenario, the input-data is always the same, apart from the SerialNumber (Material, Producer, etc. are all the same) ...
Consider this (pseudo-)Code :
LOOP AT so_sernr ASSIGNING FIELD-SYMBOL(<sernr>).
REFRESH: bdcdata,
lt_bdcmsg.
CLEAR: lt_bdcmsg.
PERFORM bdc_dynpro USING 'SAPMIEQ0' '1000'.
PERFORM bdc_field USING: 'BDC_OKCODE' '/00',
'RISA0-MATNR' material, "always the same
'RISA0-SERNR' <sernr>-low,
'RM63E-EQTYP' 'I'. "IS-U Equipment
PERFORM bdc_dynpro USING 'SAPLE10R' '1100'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=SAVE',
'EDEVICED-HERST' producer, "always the same
'EDEVICED-AB' sy-datum, "always the same
* 'EDEVICED-BAUJJ' buildyear,
'EDEVICED-BESITZ' '03'.
PERFORM bdc_dynpro USING 'SAPMIEQ0' '0101'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=BU'.
PERFORM bdc_transaction TABLES lt_bdcmsg
USING 'IQ01'
'X'
'N'
'S'. "Sync processing, Async Locking issues
LOOP AT lt_bdcmsg ASSIGNING FIELD-SYMBOL(<bdcmsg>)
WHERE msgtyp CA 'EAX'.
CLEAR return.
return-type = <bdcmsg>-msgtyp.
return-id = <bdcmsg>-msgid.
return-number = <bdcmsg>-msgnr.
return-message_v1 = <bdcmsg>-msgv1.
return-message_v2 = <bdcmsg>-msgv2.
return-message_v3 = <bdcmsg>-msgv3.
return-message_v4 = <bdcmsg>-msgv4.
APPEND return TO returntab[].
EXIT.
ENDLOOP.
UNASSIGN <bdcmsg>.
ENDLOOP.
Any way to optimize this or experience with BatchInput in general or specifically for "IQ01" or "IE01"?
As we need to generate IS-U Equipments, I'm really stuck because of non-existing BAPI's ... Any other Alternatives than BDC?
Thanks for your suggestions
Nic T.