by Moritz4175 » Mon Nov 15, 2004 5:23 pm
Nach Auskunft eines SD-Beraters ist die Bildsteuerung bei den Kundenaufträge fix auf AU zu lassen, meine Versuche auf ZAU zu kopieren hätten zu einer T185-Pflegeorgier geführt, anbei die Änderungen aus EXIT 002:
* Versuch: Zum Ende alle Positionen mittels POPO selektieren und dann einzeln ändern
* LOOP AT xvbap WHERE ps_psp_pnr <> space.
describe table dxbdcdata lines index.
*
* dxbdcdata-program = 'SAPMV45A'.
* dxbdcdata-dynbegin = 'X'.
* dxbdcdata-dynpro = '4001'.
* dxbdcdata-fnam = ' '.
* dxbdcdata-fval = ' '.
** ADD 1 TO index.
* INSERT dxbdcdata INDEX index.
*perform bdc_dynpro using 'SAPMV45A' '4001'.
* mit F3 zurück
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'BDC_OKCODE'.
dxbdcdata-fval = '/3'.
* ADD 1 TO index.
insert dxbdcdata index index.
dxbdcdata-program = 'SAPMV45A'.
dxbdcdata-dynbegin = 'X'.
dxbdcdata-dynpro = '4001'.
dxbdcdata-fnam = ' '.
dxbdcdata-fval = ' '.
add 1 to index.
insert dxbdcdata index index.
break gautsch.
refresh dxvbap2.
dxvbap2[] = dxvbap[].
loop at dxvbap2 into i_dxvbap where ps_psp_pnr <> space.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'BDC_OKCODE'.
dxbdcdata-fval = '=POPO'.
add 1 to index.
insert dxbdcdata index index.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'BDC_CURSOR'.
dxbdcdata-fval = 'RV45A-MABNR(01)'.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_field using 'BDC_CURSOR'
* 'RV45A-MABNR(01)'.
dxbdcdata-program = 'SAPMV45A'.
dxbdcdata-dynbegin = 'X'.
dxbdcdata-dynpro = '0251'.
dxbdcdata-fnam = ' '.
dxbdcdata-fval = ' '.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_dynpro using 'SAPMV45A' '0251'.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'BDC_CURSOR'.
dxbdcdata-fval = 'RV45A-POSNR'.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_field using 'BDC_CURSOR'
* 'RV45A-POSNR'.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'BDC_OKCODE'.
dxbdcdata-fval = '=POSI'.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_field using 'BDC_OKCODE'
* '=POSI'.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
* dxbdcdata-fnam = 'RV45A-POSNR'.
dxbdcdata-fnam = 'RV45A-PO_POSEX'.
* dxbdcdata-fval = '10'."
dxbdcdata-fval = i_dxvbap-posex.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_field using 'RV45A-POSNR'
* '10'.
dxbdcdata-program = 'SAPMV45A'.
dxbdcdata-dynbegin = 'X'.
dxbdcdata-dynpro = '4001'.
dxbdcdata-fnam = ' '.
dxbdcdata-fval = ' '.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_dynpro using 'SAPMV45A' '4001'.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'BDC_OKCODE'.
dxbdcdata-fval = '=ITEM'.
add 1 to index.
insert dxbdcdata index index.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=ITEM'.
* dxbdcdata-program = ' '.
* dxbdcdata-dynbegin = ' '.
* dxbdcdata-dynpro = ' '.
* dxbdcdata-fnam = 'BDC_CURSOR'.
* dxbdcdata-fval = 'RV45A-MABNR(01)'.
* ADD 1 TO index.
* INSERT dxbdcdata INDEX index.
*perform bdc_field using 'BDC_CURSOR'
* 'RV45A-MABNR(01)'.
if sy-tabix = 1.
dxbdcdata-program = 'SAPMV45A'.
dxbdcdata-dynbegin = 'X'.
dxbdcdata-dynpro = '4003'.
dxbdcdata-fnam = ' '.
dxbdcdata-fval = ' '.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_dynpro using 'SAPMV45A' '4003'.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'BDC_OKCODE'.
dxbdcdata-fval = '=T\06'.
add 1 to index.
insert dxbdcdata index index.
endif.
*perform bdc_field using 'BDC_OKCODE'
* '=T\06'.
* dxbdcdata-program = ' '.
* dxbdcdata-dynbegin = ' '.
* dxbdcdata-dynpro = ' '.
* dxbdcdata-fnam = 'BDC_CURSOR'.
* dxbdcdata-fval = 'RV45A-KWMENG'.
* ADD 1 TO index.
* INSERT dxbdcdata INDEX index.
*perform bdc_field using 'BDC_CURSOR'
* 'RV45A-KWMENG'.
*perform bdc_field using 'RV45A-KWMENG'
* ' 2'.
*perform bdc_field using 'VBAP-VRKME'
* 'ST'.
*perform bdc_field using 'RV45A-ETDAT'
* '20.09.2004'.
*perform bdc_field using 'RV45A-PRGBZ'
* 'T'.
*perform bdc_field using 'VBAP-EXART'
* 'ZZ'.
dxbdcdata-program = 'SAPMV45A'.
dxbdcdata-dynbegin = 'X'.
dxbdcdata-dynpro = '4003'.
dxbdcdata-fnam = ' '.
dxbdcdata-fval = ' '.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_dynpro using 'SAPMV45A' '4003'.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'BDC_OKCODE'.
dxbdcdata-fval = '/00'.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_field using 'BDC_OKCODE'
* '/00'.
* dxbdcdata-program = ' '.
* dxbdcdata-dynbegin = ' '.
* dxbdcdata-dynpro = ' '.
* dxbdcdata-fnam = 'BDC_CURSOR'.
* dxbdcdata-fval = 'VBAP-KALSM_K'.
* ADD 1 TO index.
* INSERT dxbdcdata INDEX index.
*perform bdc_field using 'BDC_CURSOR'
* 'VBAP-KALSM_K'.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'DKACB-FMORE'.
dxbdcdata-fval = 'X'.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_field using 'DKACB-FMORE'
* 'X'.
dxbdcdata-program = 'SAPLKACB'.
dxbdcdata-dynbegin = 'X'.
dxbdcdata-dynpro = '0002'.
dxbdcdata-fnam = ' '.
dxbdcdata-fval = ' '.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_dynpro using 'SAPLKACB' '0002'.
* dxbdcdata-program = ' '.
* dxbdcdata-dynbegin = ' '.
* dxbdcdata-dynpro = ' '.
* dxbdcdata-fnam = 'BDC_CURSOR'.
* dxbdcdata-fval = 'COBL-PS_POSID'.
* ADD 1 TO index.
* INSERT dxbdcdata INDEX index.
*perform bdc_field using 'BDC_CURSOR'
* 'COBL-PS_POSID'.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'BDC_OKCODE'.
dxbdcdata-fval = '=ENTE'.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_field using 'BDC_OKCODE'
* '=ENTE'.
*perform bdc_field using 'COBL-PRCTR'
* 'DO'.
dxbdcdata-program = ' '.
dxbdcdata-dynbegin = ' '.
dxbdcdata-dynpro = ' '.
dxbdcdata-fnam = 'COBL-PS_POSID'.
* dxbdcdata-fval = '00604Z1B-1-4'.
dxbdcdata-fval = i_dxvbap-ps_psp_pnr.
add 1 to index.
insert dxbdcdata index index.
*perform bdc_field using 'COBL-PS_POSID'
* '00604Z1B-1-4'.
*perform bdc_field using 'COBL-PS_PSP_PNR'
*
*
*perform bdc_dynpro using 'SAPLSPO2' '0101'.
* dxbdcdata-program = 'SAPLSPO2'.
* dxbdcdata-dynbegin = 'X'.
* dxbdcdata-dynpro = '0101'.
* dxbdcdata-fnam = ' '.
* dxbdcdata-fval = ' '.
* ADD 1 TO index.
* INSERT dxbdcdata INDEX index.
**perform bdc_field using 'BDC_OKCODE'
** '=OPT1'.
* dxbdcdata-program = ' '.
* dxbdcdata-dynbegin = ' '.
* dxbdcdata-dynpro = ' '.
* dxbdcdata-fnam = 'BDC_OKCODE'.
* dxbdcdata-fval = '/00'.
* ADD 1 TO index.
* INSERT dxbdcdata INDEX index.
*
dxbdcdata-program = 'SAPMV45A'.
dxbdcdata-dynbegin = 'X'.
dxbdcdata-dynpro = '4001'.
dxbdcdata-fnam = ' '.
dxbdcdata-fval = ' '.
add 1 to index.
insert dxbdcdata index index.
* Versuch: Zum Ende alle Positionen mittels POPO selektieren und dann einzeln ändern ''.
endloop.
Bin gespannt wie lange diese Lösung so funktioniert, hätte eigentlich einfacher auch gehen müssen ?!
lG