Ansicht
Dokumentation

SAPFP50M - Screen Control for Master Data Maintenance

SAPFP50M - Screen Control for Master Data Maintenance

CL_GUI_FRONTEND_SERVICES - Frontend Services   PERFORM Short Reference  
This documentation is copyright by SAP AG.
SAP E-Book

Description

The module pools for the RP master data infotypes contain
standard modules in include members. The tasks that these
standard modules complete are relatively complex.
To avoid a large amount of coding being contained in several module
pools through 'INCLUDE', an external perform on
routines in SAPFP50M is executed in the standard
modules. Thus, the tasks of the standard modules are
taken on by SAPFP50M.

The standard modules are described in the documentation of
MPPERS00. The documentation of the standard modules is aimed
at developers who want to create a new infotype
or change an existing one.

This documentation is aimed at developers who
want/need to understand the routines in SAPFP50M.
They should also be familiar with the documentation on the standard
modules. Further, they should use the documentation of
structures PSPAR, RP50M, and PSYST.

The tasks of the routines in SAPFP50M consist of:

- Initializing the dialog when calling the infotype

- Standard function code processing

- Saving the changed infotype record in the internal
buffer PS (using SAPFP50P)

- Providing the next infotype record after processing
an infotype record

- Providing the records for the list screen

- Highlighting the selected records on the list screen

- Selecting records on the list screen




Overview of functions.
-------------------------------

Name of Function Task

BACK Return to preceding screen

BEFORE_OUTPUT Set PF-STATUS depending on the
operation to be executed Control
of input-readiness/activity of
fields

FCODE Standard function code processing

FIRST_OPERATION Preparation of first operation in
infotype dialog

LEAVE Exiting the infotype screen

MARK_INFOTYP Selecting infotypes

INIT_DIALOG Initializing the infotype dialog

INPUT_STATUS Selecting that an entry has been made

PSLIST Reading the next record for the list screen

SELECT_FOR_LIST Selecting records for the list screen

TRANS_DYNP Procuring an internal key for
the generic entry of an external
key

UPDATE_BUFFER Changes to the current record are
saved in the buffer




FORM BACK.
---------

Return to preceding screen.

Depending on PSYST-INPST (input status), different
actions are performed:

--> PSYST-INPST: Depending on the value in PSYST-INPST,
either a warning is issued or you
return to the preceding screen.

PSYST-STACK: Number of preceding screens, meaning number
of entries in LO.

LO: The table LO contains a stack with
the previous operations.

SAVED_PNNNN: Saved structure <PNNNN> from the last
single screen.

<-- PSYST-IOPER: The operation for the preceding screen. This
is reset from LO-OPERA.

PSYST-NSELC: Set to YES.

PSYST-STACK: Reduced by 1 (if > 0).

RP50M : The selection data (SUBTY, BEGDA, ENDDA)
is reset from LO.

LO: The first entry from LO is removed.

PSMARK: If PSMARK was used for the selection
for the preceding screen, this
table has been exported. PSMARK
is then reimported by BACK
and used for the selection.

<PNNNN>: If you return to the single screen,
the last edited record in <PNNNN>
is reset.




FORM BEFORE_OUTPUT.
------------------

The routine DYNAMIC_VARIATION(SAPFP501) is used to set the
input-readiness of fields depending on the
operation to be performed (PSYST-IOPER).

--> PSYST-IOPER: The operation to be performed.

PSYST-DYMOD: Screen modifications to be performed.

PSYST-DBILD: Screen modification vector

<-- PSYST-FSTAT: Function code status




FORM FIRST_OPERATION.
--------------------

Preparation of the first operation of the infotype.

--> PSPAR: The parameters passed to the infotype.

RP50M : Matches the associated data from PSPAR,
except if this has been overwritten
on screen 1000.




FORM FCODE.
----------

Depending on the value of the variable FCODE, different
actions are performed.

--> FCODE: Depending on the value in these variables,
different actions are performed.
See the documentation for the standard module
POST_INPUT_CHECKS in MPPERS00.

<-- PSYST-NSELC: If a new record is selected,
PSYST-NSELC is set to YES, else to NO.

PSYST-IOPER: The operation selected using the FCODE
is placed in PSYST-IOPER.




FORM LEAVE.
----------

Exit the infotype dialog.

--> PSYST-INPST: Depending on the value in PSYST-INPST,
either a warning is issued or you
exit the dialog immediately.

<-- PSYST-SUBTY: If PSYST-INPST has the value '1', it will be
changed to '2' (warning issued).

PS, PSINFO: These buffers are cleaned by the form
CLOSE_INFOTYPS(SAPFP50P).


FORM MARK_INFOTYP.
-----------------

Places the key of a selected infotype in the
internal table PSMARK. The keys of the infotype records
whose selection has been removed are deleted from
PSMARK.

--> RP50M-SELEC: 'X': Key to be saved in
PSMARK.
' ': Key to be deleted from
PSMARK.

STC: In STC, the offset of the record
is saved in the row SY-STEPL. The
offset refers to the offset to
key LO-PSKEY in table PSINDEX.

LO-PSKEY: The key of the last record on
the previous list screen.

<-- PSMARK: The keys of the selected records.




FORM INIT_DIALOG.
----------------

Initialization of infotype dialog.

--> PSPAR: Parameter string for the infotype dialog.

<-- RP50M-SUBTY: Filled with PSPAR-INFST.

RP50M-BEGDA : Filled with PSPAR-BEGST.

RP50M-ENDDA : Filled with PSPAR-ENDST.

RP50M-LINE1, The screen header rows are filled.
RP50M-LINE2,
RP50M-LINE3 :


FORM INPUT_STATUS.
-----------------

Sets PSYST-INPST to YES.


FORM PSLIST.
-----------

Next infotype record for list screen is provided.

--> SY-STEPL: The row in the list screen when
PSLIST is called. The row number is needed when checking
and selecting.

STCOUNT-COUNT: This is the value from the last time
PSLIST was called.

LO-PSKEY: The key of the first record on
the preceding screen.

PSMARK: The keys of the checked
infotype records are contained here.

<-- STCOUNT: STCOUNT-STEPL is filled with SY-STEPL,
and STCOUNT-COUNT is increased by one (except
for SY-STEPL = 1, then it is set to one).

<PNNNN>: Here, the record whose
key in PSINDEX is located at
STCOUNT-COUNT behind LO-PSKEY is returned.

RP50M-SELEC : If the key of the record exists in PSMARK,
RP50M-SELEC is set to 'X',
else to ' '.

PSYST-PSKEY: The key of the record last transferred
is stored here.


FORM SELECT_FOR_LIST.
--------------------

New selection of infotype records for list screen.

--> RP50M-SUBTY: Selected infosubtype.

RP50M-BEGDA - validity interval for the selection.
RP50M-ENDDA :

<-- PSINDEX: The keys of the selected infotype
records. These are provided by a call of
SELECT_INFOTYP(SAPFP50P).




FORM UPDATE_BUFFER.
------------------

Changes to the infotype record are saved in the internal buffer
PS.

--> PSYST-FSTAT: Depending on PSYST-FSTAT, different
routines are called in SAPFP50P
(INSERT_INFOTYP, DELETE_INFOTYP, or
UPDATE_INFOTYP).

<PNNNN>: This FIELD-SYMBOL references the structure
in T582A-PNNNN. The prerequisite
is that the changed data is available in
this structure before UPDATE_BUFFER is
called.

<SUBTY>: Entered infosubtype.

<BEGDA>: Entered start date.
<ENDDA>: Entered end date.
These dates are only used for
partial deletions

<-- PS,PSINFO: These internal tables are maintained by
the program called in SAPFP50P.

PSYST-INPST: Set to '0'.






TXBHW - Original Tax Base Amount in Local Currency   Vendor Master (General Section)  
This documentation is copyright by SAP AG.

Length: 10830 Date: 20240531 Time: 215430     sap01-206 ( 58 ms )