[{ALLOW view All}]
[{ALLOW edit Authenticated}]

!Infotype / Screen Customizing

|x.PM01|screen creation
|t.T588M|Infotype Screen Selection (v.T588M)
|x.PE03|features Pxxxx
|v.V_T582A|Infotype attributes (customizing)
|v.V_005_B|Country view checks (required fields)
|t.T582C|Infotype Includes (Extensions)
|t.T582S|Infotype Texts (V_T582S)
|t.T777I|Infotypes per Object Type
|t.T777Z|Infotype Time Constraint


!Adjust a generated view

1. SE56 > Choose View > Lookup FuGr\\
2. SE80 > FuGr > PBO-Modules > LISTE_INITIALISIEREN
{{{
*{   INSERT         DPCK972967                                        1
    " ME, 14.08.2014
    " Beispiel: Aktuelle Berechnung für 2014 -> 2013 darf nicht mehr änderbar sein
    "           / einfrieren / Zusätzliche Statustabelle
    field-symbols: <year> type any.

    if OBJH-OBJECTNAME = 'ZECM_RESULT' or
       OBJH-OBJECTNAME = 'ZECM_WEIGHTING'.
      assign COMPONENT 'ZECM_YEAR' OF STRUCTURE <table1> to <year>.
      if <year> is ASSIGNED.
        if <year> < sy-datum+0(4).
          screen-input = '0'. vim_modify_screen = 'X'.
        endif.
      endif.
    endif.

*}   INSERT
    IF vim_modify_screen = 'X'.
      MODIFY SCREEN.
    ENDIF.
}}}

!With Abap Object 

Notes: 
* "Dynpro" is called "Screen" in NW 7.01. You can assign a screen to a
** executable program
** functions group
** module pool
* give OK field the name "OK_CODE"
* do not edit "Includes", edit (Screen > Flow logic) or PAI/PBO modules

!To create a screen

1. Create OO-Transaction and connect with a global class and method ([OO Transaction|http://help.sap.com/saphelp_nw70/helpdata/EN/43/1323b50bb56f3fe10000000a422035/content.htm])

2. Call a function from a function group in the method from (1.)
{{{
METHOD start
    CALL FUNCTION 'function_name'.
ENDMETHOD.
}}}
3. In the function call the a screen (from that function group)
{{{
FUNCTION function_name.
    CALL SCREEN 100.
ENDFUNCTION.
}}}
4. Create special (Abab Dictionary > Structure) for interchange Screen<>Program

5. Create Screen > Flow Logic PBO + PAI and call "PBO/PAI-Module" (then they can be used for multiple screens)
{{{
PROCESS BEFORE OUTPUT.
  MODULE set_status.
PROCESS AFTER INPUT.
  MODULE cancel AT EXIT-COMMAND.
  FIELD demo_conn-fldate MODULE user_command_100.
}}}
6. In the module call class methods from the global class
{{{
MODULE user_command_100 INPUT.
  save_ok = ok_code.
  CLEAR ok_code.
  CASE save_ok.
    WHEN 'CHANGE'.
      TRY.
          zcl_change_planetype=>get_flight(
            CHANGING conn_data = demo_conn ).
          SET SCREEN 200.
        CATCH zcx_no_flight.
          MESSAGE text-nof TYPE 'E'.
      ENDTRY.
    WHEN 'BACK' OR 'EXIT'.
      LEAVE TO SCREEN 0.
    WHEN OTHERS.
      LEAVE TO SCREEN 100.
  ENDCASE.
ENDMODULE.
}}}



? interface pool created with "TABLES"