Datenübergabe BAdi Z_CUSTOMER_ADD_DATA_CS

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).

Re: Datenübergabe BAdi Z_CUSTOMER_ADD_DATA_CS

Postby Artur3189 » Thu Aug 14, 2014 8:11 am

Danke für die Hinweis. Es funktioniert nun fast.
Ich muss die screen-gruppe noch abfragen. Leider wird diese nicht übergeben?
Der Teufel steckt hier im Detail.

data: xv_activity TYPE aktyp.
xv_activity = I_ACTIVITY.

case xv_activity.
when 'A'. " XD03
Loop at screen.
if screen-group1 = '013'.
Screen-input = 0.
Modify screen.
endif.
Endloop.
Artur3189
...
...
 
Posts: 103
Joined: Wed Oct 22, 2003 7:23 am

Re: Datenübergabe BAdi Z_CUSTOMER_ADD_DATA_CS

Postby Alma59 » Thu Aug 14, 2014 8:41 am

???
Du hast doch dein eignes Dynpro und muss doch diese Gruppe bzw. das Feld verwenden
Alma59
...
...
 
Posts: 134
Joined: Tue Jul 08, 2008 10:35 am

Re: Datenübergabe BAdi Z_CUSTOMER_ADD_DATA_CS

Postby Artur3189 » Thu Aug 14, 2014 9:21 am

mein Dynpro(Subscreen) 9000 ist ja vorhanden mit dem Eingabefeld "zbemerkungen".
Dieses Feld wurde der Gruppe 013 zugeordnet.

Ich muss die Screen-Gruppe abfragen, da sonst der Fehler
"Geschützte Tabstrip Reiter werden nicht unterstützt" erscheint.

Bei der Bildmodifiktion darf INPUT des Tabstrip Reiters nicht auf '0'
gesetzt werden.

Zum Zeitpunkt "Loop at screen" ist screen-group allerdings leer.
Artur3189
...
...
 
Posts: 103
Joined: Wed Oct 22, 2003 7:23 am

Re: Datenübergabe BAdi Z_CUSTOMER_ADD_DATA_CS

Postby Alma59 » Thu Aug 14, 2014 10:44 am

Du kannst in deinem Dynpro im PBO entweder deine Screen-Gruppe oder das Feld nehmen, dass machen wir ja auch. Da muss dein Fehler irgendwo anders sein.

Warum hast du auch in der Methode TAXI_FCODE -> e_headerscreen_layout = 'B' wenn du dein Feld auf der KNA1 hast ???
Alma59
...
...
 
Posts: 134
Joined: Tue Jul 08, 2008 10:35 am

Re: Datenübergabe BAdi Z_CUSTOMER_ADD_DATA_CS

Postby Artur3189 » Thu Aug 14, 2014 2:51 pm

Ok. Endlösung gefunden.
Danke für die Hilfe.
Hier nochmal für alle die Gesamtlösung.
*****************************************
method IF_EX_CUSTOMER_ADD_DATA_CS~GET_TAXI_SCREEN.
case i_taxi_fcode.
when 'Z01'.
e_screen = '9000'. "Eart + Objekt
e_program = 'Z_KUNDENSTAMM_ENH'.
e_headerscreen_layout = 'B'.
endcase.
endmethod.
******************************************
method IF_EX_CUSTOMER_ADD_DATA_CS~GET_DATA.
PERFORM GET_DATA IN PROGRAM Z_KUNDENSTAMM_ENH CHANGING S_KNA1 .
endmethod.
******************************************
method IF_EX_CUSTOMER_ADD_DATA_CS~SET_DATA.
PERFORM SET_DATA IN PROGRAM Z_KUNDENSTAMM_ENH USING S_KNA1 I_ACTIVITY.
endmethod.
******************************************
PROGRAM Z_KUNDENSTAMM_ENH.
tables: t020, kna1.
DATA: gs_kna1 TYPE kna1.
FORM set_data USING zkna1 STRUCTURE kna1
xv_activity TYPE aktyp.
MOVE-CORRESPONDING zkna1 TO gs_kna1 .
ENDFORM. "SET_DATA

FORM get_data CHANGING zkna1 STRUCTURE kna1.
MOVE-CORRESPONDING gs_kna1 TO zkna1.
ENDFORM. "GET_DATA

INCLUDE Z_KUNDENSTAMM_ENH_STATUS_90O01.
INCLUDE Z_KUNDENSTAMM_ENH_FELDERO01.
INCLUDE Z_KUNDENSTAMM_ENH_USER_COMMI01.
INCLUDE Z_KUNDENSTAMM_ENH_GET_DATA_I01.
**************************************
dynpro 9000
PROCESS BEFORE OUTPUT.
MODULE STATUS_9000.
Module felder.

PROCESS AFTER INPUT.
chain.
field: kna1-zbemerkungen.
module get_data_9000 on chain-request.
endchain.
***********************************
MODULE STATUS_9000 OUTPUT.
IF sy-pfkey CA 'A'.
IF sy-tcode EQ 'VD03' OR
sy-tcode EQ 'XD03' OR
sy-tcode EQ 'FD03'.

LOOP AT SCREEN.
IF screen-group1 EQ '013'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDMODULE.
*****************************
MODULE FELDER OUTPUT.
kna1-zbemerkungen = gs_kna1-zbemerkungen.
ENDMODULE.
*****************************
MODULE GET_DATA_9000 INPUT.
gs_kna1-zbemerkungen = kna1-zbemerkungen.
ENDMODULE.
*****************************
Artur3189
...
...
 
Posts: 103
Joined: Wed Oct 22, 2003 7:23 am

Previous

Return to ABAP Objects®

Who is online

Users browsing this forum: No registered users and 6 guests

cron