Evtl. gehts doch. Dafür muss für das "störende" Dynpro der Transactionscode zum verlassen gesetzt werden bevor das eigentliche Bild zur Anzeige gebracht wird.Jura hat geschrieben: danke für die unfröhliche Antwort. Der Kunde muss dann damit leben...
Code: Alles auswählen.
REPORT ztest_batch.
* Batch-Input-Tabelle
DATA: BEGIN OF bdcdata OCCURS 1.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdcdata.
* SELECTION-SCREEN
PARAMETERS p_matnr TYPE mara-matnr.
PARAMETERS p_mode TYPE c DEFAULT 'E'.
*BDC-Mappe füllen
PERFORM bdc_dynpro USING 'SAPLMGMM' 60.
PERFORM bdc_field USING 'BDC_CURSOR' 'RMMG1-MATNR'.
PERFORM bdc_field USING 'RMMG1-MATNR' p_matnr.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_dynpro USING 'SAPLMGMM' 70.
PERFORM bdc_field USING 'BDC_CURSOR' 'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)' 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTR'.
PERFORM bdc_dynpro USING 'SAPLMGMM' 4004.
PERFORM bdc_field USING 'BDC_OKCODE' 'ZU01'.
* Dieses Dynpro wird zur Anzeige gebracht
PERFORM bdc_dynpro USING 'SAPLMGMM' 4300.
PERFORM bdc_field USING 'BDC_OKCODE' 'ZU02'.
* Hier wird der Transactionscode gesetzt der erst
* nach dem verlassen des Angezeigten Dynpros verarbeitet wird
PERFORM bdc_dynpro USING 'SAPLMGMM' 4004.
PERFORM bdc_field USING 'BDC_OKCODE' 'BACK'.
*Transaktion aufrufen, zu erst dunkel, wenn Ende erreicht Hell
CALL TRANSACTION 'MM02' USING bdcdata MODE p_mode.
*---------------------------------------------------------------------*
* FORM BDC_DYNPRO
*---------------------------------------------------------------------*
* Batch-Input: Dynpro-Aufruf
*---------------------------------------------------------------------*
FORM bdc_dynpro USING programm dynpro.
CLEAR bdcdata.
bdcdata-program = programm.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'x'.
APPEND bdcdata.
ENDFORM.
*---------------------------------------------------------------------*
* FORM BDC_FIELD
*---------------------------------------------------------------------*
* Batch-Input: Füllen der Dynpro-Felder
*---------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM.
Code: Alles auswählen.
PERFORM bdc_dynpro USING 'SAPLMGMM' 4004.
PERFORM bdc_field USING 'BDC_OKCODE' 'BACK'.