Hello,
I am facing a problem in transaction ABUMN.
Original Functionality by using simple transaction : ABUMN
It let me insert all the data and show some information messages and after that shows me popup window where documentno.
Using BDC Transaction Method (Async):
record is inserted but popup window not showing,
Question : how can i get DocumentNo from BDC Tranaction Method ?
Code for BDC Call
*report ZFI_INTERN_ASSET_TRANSFER_METD
* no standard page heading line-size 255.
*
*include bdcrecx1.
data: IT_BDCDATA type table of BDCDATA,
WA_BDCDATA type BDCDATA.
*----------------------------------------------------------------------*
* Form InsertData
*----------------------------------------------------------------------*
form InsertData.
DATA: BEGIN OF MESSTAB OCCURS 10.
INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF MESSTAB.
LOOP AT idat where XNANL_029 = 'X'.
perform bdc_dynpro using 'SAPLAMDP' '0100'.
perform bdc_field using 'BDC_OKCODE'
'=NEWA'.
perform bdc_field using 'RAIFP2-ANLN1'
idat-ANLN1_001.
perform bdc_field using 'RAIFP2-ANLN2'
idat-ANLN2_002.
perform bdc_field using 'RAIFP1-BLDAT'
idat-BLDAT_003.
perform bdc_field using 'RAIFP1-BUDAT'
idat-BUDAT_004.
perform bdc_field using 'RAIFP1-BZDAT'
idat-BZDAT_005.
perform bdc_field using 'RAIFP2-SGTXT'
idat-SGTXT_006.
perform bdc_field using 'BDC_CURSOR'
'RAIFP3-XNANL'.
perform bdc_field using 'RAIFP3-XBANL'
''.
perform bdc_field using 'RAIFP3-XNANL'
'X'.
perform bdc_dynpro using 'SAPLAMDP' '0100'.
perform bdc_field using 'BDC_OKCODE'
'=MAST'.
perform bdc_field using 'RAIFP2-ANLN1'
idat-ANLN1_001.
perform bdc_field using 'RAIFP2-ANLN2'
idat-ANLN2_002.
perform bdc_field using 'RAIFP1-BLDAT'
idat-BLDAT_003.
perform bdc_field using 'RAIFP1-BUDAT'
idat-BUDAT_004.
perform bdc_field using 'RAIFP1-BZDAT'
idat-BZDAT_005.
perform bdc_field using 'RAIFP2-SGTXT'
idat-SGTXT_006.
perform bdc_field using 'RAIFP3-XNANL'
'X'.
perform bdc_field using 'BDC_CURSOR'
'RAIFP4-ANLKL'.
perform bdc_field using 'RAIFP4-ANLKL'
idat-ANLKL_016.
perform bdc_dynpro using 'SAPLAIST' '2110'.
perform bdc_field using 'BDC_CURSOR'
'ANLA-ANLKL'.
perform bdc_field using 'BDC_OKCODE'
'=DETA'.
perform bdc_field using 'ANLA-ANLKL'
idat-ANLKL_016.
perform bdc_field using 'RAIST05-XVLABG'
'X'.
perform bdc_field using 'ANLA-TXT50'
idat-TXT50_021.
*perform bdc_field using 'ANLZ-KOSTL'
* 'C12001'.
perform bdc_dynpro using 'SAPLAIST' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=TAB08'.
perform bdc_field using 'BDC_CURSOR'
'ANLA-TXT50'.
perform bdc_field using 'ANLA-TXT50'
idat-TXT50_021.
perform bdc_dynpro using 'SAPLAIST' '1000'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'ANLB-NDJAR(02)'.
perform bdc_field using 'ANLB-NDJAR(01)'
idat-NDJAR_01_022.
perform bdc_field using 'ANLB-NDJAR(02)'
idat-NDJAR_01_022.
perform bdc_dynpro using 'SAPLAIST' '1000'.
perform bdc_field using 'BDC_OKCODE'
'=RW'.
perform bdc_field using 'BDC_CURSOR'
'ANLA-ANLN1'.
perform bdc_dynpro using 'SAPLAIST' '2110'.
perform bdc_field using 'BDC_CURSOR'
'ANLA-ANLKL'.
perform bdc_field using 'BDC_OKCODE'
'=CREA'.
perform bdc_dynpro using 'SAPLAMDP' '0100'.
perform bdc_field using 'BDC_OKCODE'
'=SAVE'.
perform bdc_field using 'BDC_CURSOR'
'RAIFP2-ANLN1'.
perform bdc_field using 'RAIFP2-ANLN1'
idat-ANLN1_001.
perform bdc_field using 'RAIFP2-ANLN2'
idat-ANLN2_002.
perform bdc_field using 'RAIFP1-BLDAT'
idat-BLDAT_003.
perform bdc_field using 'RAIFP1-BZDAT'
idat-BUDAT_004.
perform bdc_field using 'RAIFP2-SGTXT'
idat-SGTXT_006.
perform bdc_field using 'RAIFP3-XNANL'
'X'.
CALL TRANSACTION 'ABUMN' USING IT_BDCDATA MODE 'N' UPDATE 'A' MESSAGES INTO MESSTAB.
* LOOP AT MESSTAB WHERE msgtyp EQ 'E' OR msgtyp EQ 'A'. "(This is to get only Error Messages)
*
* call function 'FORMAT_MESSAGE'
* exporting
* id = MESSTAB-msgid
* lang = sy-langu
* no = MESSTAB-msgnr
* v1 = MESSTAB-msgv1
* v2 = MESSTAB-msgv2
* v3 = MESSTAB-msgv3
* v4 = MESSTAB-msgv4
* importing
* msg = MESSTAB
* exceptions
* not_found = 1
* others = 2.
*
* endloop.
*
REFRESH IT_BDCDATA.
endloop.
endform.
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR WA_BDCDATA.
WA_BDCDATA-PROGRAM = PROGRAM.
WA_BDCDATA-DYNPRO = DYNPRO.
WA_BDCDATA-DYNBEGIN = 'X'.
APPEND WA_BDCDATA to IT_BDCDATA.
ENDFORM.
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
* IF FVAL <> NODATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = FNAM.
WA_BDCDATA-FVAL = FVAL.
APPEND WA_BDCDATA to IT_BDCDATA.
* ENDIF.
ENDFORM.
Kind Regards
Saad Mehmood