Code: Alles auswählen.
PROCESS BEFORE OUTPUT.
* Verarbeitung vor der Ausgabe
MODULE INIT_SUB.
MODULE GET_DATEN_SUB.
MODULE FELDAUSWAHL.
MODULE SONDERFAUS.
MODULE SONFAUSW_IN_FGRUPPEN.
MODULE FAUSW_BEZEICHNUNGEN.
MODULE BILDSTATUS.
MODULE FELDHISTORIE. "Aenderungsdienst
MODULE ZUSREF_VORSCHLAGEN_B.
MODULE REFDATEN_VORSCHLAGEN.
MODULE ZUSREF_VORSCHLAGEN_A.
MODULE BEZEICHNUNGEN_LESEN.
*********************************************
* ÄNDERUNG Customer Screen modification ÄNDERUNG
module user_spec.
*********************************************
MODULE SET_DATEN_SUB.
PROCESS AFTER INPUT.
* Verarbeitung nach der Eingabe
MODULE GET_DATEN_SUB.
FIELD: MARA-KOSCH. "mk/3.1H fehlte
CHAIN.
FIELD MARA-MEINS.
MODULE MARA-MEINS.
ENDCHAIN.
* AHE: 07.04.99 - A (4.6a) HW 181769
CHAIN.
FIELD MARA-EXTWG.
MODULE MARA-EXTWG.
ENDCHAIN.
* AHE: 07.04.99 - E
CHAIN.
FIELD MARA-MATKL.
* MODULE MARA-MATKL ON CHAIN-REQUEST. "nicht benutzen wg Vorsch
"/cf/11.5.95/
MODULE MARA-MATKL.
ENDCHAIN.
FIELD MARA-BISMT.
FIELD MARA-LABOR.
* chain. deaktiviert zu 3.0
* FIELD MARA-SPART.
* MODULE MARA-SPART.
* ENDCHAIN.
*JB/4.6B: wieder aktiviert
*Prüfung, ob Spartenwechsel erlaubt bei ungleichen Geschäftsbereichen
CHAIN.
FIELD MARA-SPART.
MODULE MARA-SPART.
ENDCHAIN.
*JB/4.6B
CHAIN.
FIELD MARA-PRDHA.
MODULE MARA-PRDHA.
ENDCHAIN.
CHAIN. "ch zu 4.0
FIELD MARA-MSTDE.
FIELD MARA-MSTAE.
MODULE MARA-MSTDE.
ENDCHAIN.
* AHE: 05.02.98 - A (4.0c)
* neues Feld
CHAIN.
FIELD MARA-KZEFF.
* MODULE MARA-KZEFF. " nicht nötig !
ENDCHAIN.
* AHE: 05.02.98 - E
* AHE: 07.05.98 - A (4.0c)
* neues Feld
FIELD MARA-MTPOS_MARA.
* AHE: 07.05.98 - E
*
MODULE SET_DATEN_SUB.
*
PROCESS ON VALUE-REQUEST.
* Selbstprogrammierte Eingabehilfen
FIELD MARA-MEINS MODULE MEKFM_HELP.
FIELD MARA-PRDHA MODULE MARA-PRDHA_HELP.
* FIELD MARA-SPART MODULE MARA-SPART_HELP. "//zu3.0 deaktiviert
"br / ch
Code: Alles auswählen.
*----------------------------------------------------------------------*
***INCLUDE LZMATSTAMMO07 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module USER_SPEC OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module USER_SPEC output.
* ex Dynpro 2001
*break sapuser.
** Beim Hinzufügen oder Ändern
IF t130m-aktyp = aktyph OR
t130m-aktyp = aktypv.
LOOP AT SCREEN.
IF screen-name = 'MARA-MSTAE'.
* screen-required = 1.
screen-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
endmodule. " USER_SPEC OUTPUT
Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag (Insgesamt 4):
ewx • Murdock • black_adept • Thomas R.
Code: Alles auswählen.
Mit dieser Technik kann man auch Felder VORBELEGEN !
z.B. Muss-Felder, die nur einen Wert zulassen. (der User wird es danken !)
Code: Alles auswählen.
* ÄNDERUNG Customer Screen modification ÄNDERUNG
Eine Community lebt von der "Response" seiner Mitglieder, ergo bin ich mehr erfreut, auch wenn es mal kritisch sein sollte.nicht als Kritik, sondern als Hinweis oder Ergänzung gedacht: den gleichen Effekt.....
Code: Alles auswählen.
* DYNPRO 1002
PROCESS BEFORE OUTPUT.
* Verarbeitung vor der Ausgabe
MODULE init_sub.
MODULE get_daten_sub.
MODULE feldauswahl.
MODULE sonderfaus.
MODULE sonfausw_in_fgruppen.
MODULE feldhistorie. "Aenderungsdienst
MODULE bildstatus.
MODULE zusref_vorschlagen_b.
MODULE refdaten_vorschlagen.
MODULE zusref_vorschlagen_a.
*== EINGEFÜGT =============
* Vorbelegung falls INITIAL
MODULE zusatztext.
*==========================
MODULE set_daten_sub.
PROCESS AFTER INPUT.
* Verarbeitung nach der Eingabe
MODULE get_daten_sub.
CHAIN.
* FIELD MAKT-SPRAS.
FIELD makt-maktx.
MODULE makt-maktx.
*== EINGEFÜGT =============
FIELD mara-zzusatztext.
*==========================
ENDCHAIN.
*
MODULE set_daten_sub.
*
Code: Alles auswählen.
*----------------------------------------------------------------------*
***INCLUDE LYMATSTAMMO01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module ZUSATZTEXT OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE zusatztext OUTPUT.
break sapuser.
** Beim Hinzufügen oder Ändern
IF t130m-aktyp = aktyph OR
t130m-aktyp = aktypv.
IF mara-zzusatztext IS INITIAL.
mara-zzusatztext = '*** bitte ausfüllen ***'.
ENDIF.
ENDIF.
ENDMODULE. " ZUSATZTEXT OUTPUT
Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag (Insgesamt 6):
Thomas R. • Murdock • Alexander D. • ewx • black_adept • Unit605
ja, das würde gehen, unter Umständen sogar mit deutlich weniger Aufwand, das allerdings nur mit der kostenpflichtigen Version des Programms. Die Erklärung wie es laufen würde müsste eigentlich in einen eigenen Thread, da dies hier ja ein How-To für die Feldanpassung und Dynprosteuerung ist. Was mich wirklich interessieren würde (gern im separaten Thread) ist die Aussage mit dem Geschwühr. Habt ihr schlechte Erfahrungen mit GuiXT gemacht, spricht etwas aus deiner Sicht gegen seinen Einsatz?Unit605 hat geschrieben: Natuerlich ginge dies auch mit GuiXT, aber das ist mehr so ein Anhaengsel, was schnell zum Geschwuer werden kann.
Selbstverständlich ...1.) Ich hoffe du planst schon "Materialstamm anpassen : Teil III" - denn ....
Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report ZTEST_MATSTAMM_ZZUSATZTEXT2 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ztest_matstamm_zzusatztext2.
DATA gv_material TYPE mara-matnr.
PARAMETERS: p_matnr TYPE mara-matnr DEFAULT 'B1139'.
PARAMETERS: p_text TYPE mara-zzusatztext LOWER CASE DEFAULT '<<Mein Text !>>'.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
EXPORTING
input = p_matnr
IMPORTING
output = gv_material.
PERFORM xtendmat USING gv_material p_text.
*&--------------------------------------------------------------------*
*& Form Xtendmat
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM xtendmat USING material TYPE matnr ztext TYPE mara-zzusatztext.
DATA headdata type bapimathead.
DATA return type bapiret2.
DATA returnmessages type bapi_matreturn2 OCCURS 0.
DATA: e_rol_return type bapiret2.
DATA: e_com_return type bapiret2.
* EXTENSION Strukturen
DATA: extensionin type TABLE OF bapiparex .
DATA: ls_extensionin type bapiparex.
DATA: extensioninx type TABLE OF bapiparexx .
DATA: ls_extensioninx type bapiparexx.
* EXTENSION MARA
DATA ls_bapi_te_mara TYPE bapi_te_mara.
DATA ls_bapi_te_marax TYPE bapi_te_marax.
CLEAR ls_bapi_te_mara.
ls_bapi_te_mara-material = material.
ls_bapi_te_mara-zzusatztext = ztext.
ls_extensionin-structure = 'BAPI_TE_MARA'.
ls_extensionin-valuepart1 = ls_bapi_te_mara.
APPEND ls_extensionin to extensionin.
CLEAR ls_bapi_te_marax.
ls_bapi_te_marax-material = material.
ls_bapi_te_marax-zzusatztext = 'X'.
ls_extensioninx-structure = 'BAPI_TE_MARAX'.
ls_extensioninx-valuepart1 = ls_bapi_te_marax.
APPEND ls_extensioninx to extensioninx.
* KOPF Daten (Sichten) ************************************************
headdata-material = material.
headdata-basic_view ='X'.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = headdata
IMPORTING
return = return
TABLES
returnmessages = returnmessages
extensionin = extensionin
extensioninx = extensioninx.
IF return-type = 'E' OR return-type = 'A'.
WRITE:/ 'Fehler Bapi'.
WRITE:/ 'Type ', return-type.
WRITE:/ 'ID ', return-id.
WRITE:/ 'NUMBER ', return-number.
WRITE:/ return-message.
WRITE:/ '-----------------------------------------'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
IMPORTING
return = e_rol_return.
WRITE:/ 'Rollback', e_rol_return-type.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = e_com_return.
ENDIF.
ENDFORM. "Xtendmat