Professional Documents
Culture Documents
Hospital Management Module Pool
Hospital Management Module Pool
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
TYPE-POOLS : slis.
DATA : fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA : gd_repid LIKE sy-repid.
*&---------------------------------------------------------------------*
*&
Module STATUS_8000 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_8000 OUTPUT.
SET PF-STATUS 'THP'.
SET TITLEBAR 'PHP'.
ENDMODULE.
" STATUS_8000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_8000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_8000 INPUT.
PERFORM TOOL.
CASE SY-UCOMM.
WHEN 'PDISPLAY'.
SELECT SINGLE PATIENT_ID PATIENT_NAME PATIENT_TYPE TELEPHONE ADDRESS
FROM ZPATIENTDATA
INTO WA_PAT
WHERE PATIENT_ID = P_PATID.
IF sy-subrc = 0.
MESSAGE 'Data Displayed' type 'S'.
ELSE.
MESSAGE 'No Data.' type 'E'.
Endif.
WHEN 'PSAVE'.
SELECT PATIENT_ID PATIENT_NAME PATIENT_TYPE TELEPHONE ADDRESS
FROM ZPATIENTDATA
INTO CORRESPONDING FIELDS OF TABLE IT_PAT
WHERE PATIENT_ID = P_PATID.
If sy-subrc = 0.
MESSAGE 'Data is already exists.' type 'E'.
Else.
PAT_WA-PATIENT_ID = P_PATID.
PAT_WA-PATIENT_NAME = WA_PAT-PATIENT_NAME.
PAT_WA-PATIENT_TYPE = WA_PAT-PATIENT_TYPE.
PAT_WA-TELEPHONE = WA_PAT-TELEPHONE.
PAT_WA-ADDRESS = WA_PAT-ADDRESS.
INSERT INTO ZPATIENTDATA VALUES PAT_WA.
MESSAGE 'Data saved successfully' type 'S'.
Endif.
WHEN 'PMODIFY'.
SELECT PATIENT_ID PATIENT_NAME PATIENT_TYPE TELEPHONE ADDRESS
FROM ZPATIENTDATA
INTO CORRESPONDING FIELDS OF TABLE IT_PAT
WHERE PATIENT_ID = P_PATID.
If sy-subrc = 0.
PAT_WA-PATIENT_ID = P_PATID.
PAT_WA-PATIENT_NAME = WA_PAT-PATIENT_NAME.
PAT_WA-PATIENT_TYPE = WA_PAT-PATIENT_TYPE.
PAT_WA-TELEPHONE = WA_PAT-TELEPHONE.
PAT_WA-ADDRESS = WA_PAT-ADDRESS.
MODIFY ZPATIENTDATA FROM PAT_WA.
MESSAGE 'Data Modified successfully' type 'S'.
ELSE.
MESSAGE 'No Data.' type 'E'.
Endif.
WHEN 'PCLEAR'.
P_PATID = ''.
WA_PAT-PATIENT_NAME = ''.
WA_PAT-PATIENT_TYPE = ''.
WA_PAT-TELEPHONE = ''.
WA_PAT-ADDRESS = ''.
WHEN 'PDELETE'.
SELECT PATIENT_ID PATIENT_NAME PATIENT_TYPE TELEPHONE ADDRESS
FROM ZPATIENTDATA
INTO CORRESPONDING FIELDS OF TABLE IT_PAT
WHERE PATIENT_ID = P_PATID.
If sy-subrc = 0.
DELETE ZPATIENTDATA FROM TABLE IT_PAT.
MESSAGE 'Data is successfully Deleted.' type 'S'.
ELSE.
MESSAGE 'No Data.' type 'E'.
ENDIF.
WHEN 'FPATIENT'.
PERFORM psmart.
WHEN 'RPATIENT'.
PERFORM PGRID.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Module STATUS_8001 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_8001 OUTPUT.
SET PF-STATUS 'THP'.
SET TITLEBAR 'DHP'.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_8001 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_8001 INPUT.
PERFORM TOOL.
CASE SY-UCOMM.
WHEN 'DDISPLAY'.
SELECT SINGLE EMPID NAME DEPT TELEPHONE ADDRESS
FROM ZDOCTORDATA
INTO WA_DOC
WHERE EMPID = P_PATID.
IF sy-subrc = 0.
WHEN 'RPATIENT'.
PERFORM PGRID.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Module STATUS_8002 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_8002 OUTPUT.
SET PF-STATUS 'THP'.
SET TITLEBAR 'EHP'.
ENDMODULE.
" STATUS_8002 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_8002 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_8002 INPUT.
PERFORM TOOL.
CASE SY-UCOMM.
WHEN 'EDISPLAY'.
SELECT SINGLE EMPID EMPNAME DEPT TELEPHONE ADDRESS
FROM ZEMPLOYEEDATA
INTO WA_EMP
WHERE EMPID = P_EMPID.
IF sy-subrc = 0.
MESSAGE 'Data Displayed' type 'S'.
ELSE.
MESSAGE 'No Data.' type 'E'.
Endif.
WHEN 'ESAVE'.
SELECT EMPID EMPNAME DEPT TELEPHONE ADDRESS
FROM ZEMPLOYEEDATA
INTO CORRESPONDING FIELDS OF TABLE IT_EMP
WHERE EMPID = P_EMPID.
If sy-subrc = 0.
MESSAGE 'Data is already exists.' type 'E'.
Else.
EMP_WA-EMPID = P_EMPID.
EMP_WA-EMPNAME = WA_EMP-EMPNAME.
EMP_WA-DEPT = WA_EMP-DEPT.
EMP_WA-TELEPHONE = WA_EMP-TELEPHONE.
EMP_WA-ADDRESS = WA_EMP-ADDRESS.
INSERT INTO ZEMPLOYEEDATA VALUES EMP_WA.
MESSAGE 'Data saved successfully' type 'S'.
Endif.
WHEN 'EMODIFY'.
SELECT EMPID EMPNAME DEPT TELEPHONE ADDRESS
FROM ZEMPLOYEEDATA
INTO CORRESPONDING FIELDS OF TABLE IT_EMP
WHERE EMPID = P_EMPID.
If sy-subrc = 0.
EMP_WA-EMPID = P_EMPID.
EMP_WA-EMPNAME = WA_EMP-EMPNAME.
EMP_WA-DEPT = WA_EMP-DEPT.
EMP_WA-TELEPHONE = WA_EMP-TELEPHONE.
EMP_WA-ADDRESS = WA_EMP-ADDRESS.
MODIFY ZEMPLOYEEDATA FROM EMP_WA.
MESSAGE 'Data Modified successfully' type 'S'.
ELSE.
MESSAGE 'No Data.' type 'E'.
Endif.
WHEN 'ECLEAR'.
P_EMPID = ''.
WA_EMP-EMPNAME = ''.
WA_EMP-DEPT = ''.
WA_EMP-TELEPHONE = ''.
WA_EMP-ADDRESS = ''.
WHEN 'EDELETE'.
SELECT EMPID EMPNAME DEPT TELEPHONE ADDRESS
FROM ZEMPLOYEEDATA
INTO CORRESPONDING FIELDS OF TABLE IT_EMP
WHERE EMPID = P_EMPID.
If sy-subrc = 0.
DELETE ZEMPLOYEEDATA FROM TABLE IT_EMP.
MESSAGE 'Data is successfully Deleted.' type 'S'.
ELSE.
MESSAGE 'No Data.' type 'E'.
ENDIF.
WHEN 'FPATIENT'.
PERFORM psmart.
WHEN 'RPATIENT'.
PERFORM PGRID.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Form STRUCT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Module STATUS_8003 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_8003 OUTPUT.
SET PF-STATUS 'THP'.
SET TITLEBAR 'THP'.
ENDMODULE.
" STATUS_8003 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_8003 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_8003 INPUT.
PERFORM TOOL.
CASE SY-UCOMM.
WHEN 'TDISPLAY'.
SELECT SINGLE BILL_ID PATIENT_ID TEST_NAME CHARGES
FROM ZTESTDATA
INTO WA_TEST
WHERE BILL_ID = P_BILL_ID.
IF sy-subrc = 0.
MESSAGE 'Data Displayed' type 'S'.
ELSE.
MESSAGE 'No Data.' type 'T'.
Endif.
WHEN 'TSAVE'.
SELECT BILL_ID PATIENT_ID TEST_NAME CHARGES
FROM ZTESTDATA
INTO CORRESPONDING FIELDS OF TABLE IT_TEST
WHERE BILL_ID = P_BILL_ID.
If sy-subrc = 0.
MESSAGE 'Data is already exists.' type 'T'.
Else.
TEST_WA-BILL_ID = P_BILL_ID.
TEST_WA-PATIENT_ID = WA_TEST-PATIENT_ID.
TEST_WA-TEST_NAME = WA_TEST-TEST_NAME.
TEST_WA-CHARGES = WA_TEST-CHARGES.
INSERT INTO ZTESTDATA VALUES TEST_WA.
MESSAGE 'Data saved successfully' type 'S'.
Endif.
WHEN 'TMODIFY'.
SELECT BILL_ID PATIENT_ID TEST_NAME CHARGES
FROM ZTESTDATA
INTO CORRESPONDING FIELDS OF TABLE IT_TEST
WHERE BILL_ID = P_BILL_ID.
If sy-subrc = 0.
TEST_WA-BILL_ID = P_BILL_ID.
TEST_WA-PATIENT_ID = WA_TEST-PATIENT_ID.
TEST_WA-TEST_NAME = WA_TEST-TEST_NAME.
TEST_WA-CHARGES = WA_TEST-CHARGES.
MODIFY ZTESTDATA FROM TEST_WA.
MESSAGE 'Data Modified successfully' type 'S'.
ELSE.
MESSAGE 'No Data.' type 'T'.
Endif.
WHEN 'TCLEAR'.
P_BILL_ID = ''.
WA_TEST-PATIENT_ID = ''.
WA_TEST-TEST_NAME = ''.
WA_TEST-CHARGES = ''.
WHEN 'TDELETE'.
SELECT BILL_ID PATIENT_ID TEST_NAME CHARGES
FROM ZTESTDATA
INTO CORRESPONDING FIELDS OF TABLE IT_TEST
WHERE BILL_ID = P_BILL_ID.
If sy-subrc = 0.
DELETE ZTESTDATA FROM TABLE IT_TEST.
MESSAGE 'Data is successfully Deleted.' type 'S'.
ELSE.
MESSAGE 'No Data.' type 'T'.
ENDIF.
WHEN 'FPATIENT'.
PERFORM psmart.
WHEN 'RPATIENT'.
PERFORM PGRID.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Form PGRID
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM PGRID .
SELECT PATIENT_ID PATIENT_NAME PATIENT_TYPE TELEPHONE ADDRESS
FROM ZPATIENTDATA
INTO TABLE IT_PAT.
fieldcatalog-fieldname = 'PATIENT_ID'.
fieldcatalog-seltext_m = 'PATIENT ID'.
fieldcatalog-col_pos = 1.
APPEND fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'PATIENT_NAME'.
fieldcatalog-seltext_l = 'PATIENT NAME'.
fieldcatalog-col_pos = 2.
APPEND fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'PATIENT_TYPE'.
fieldcatalog-seltext_m = 'PATIENT TYPE'.
fieldcatalog-col_pos = 3.
APPEND fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'TELEPHONE'.
fieldcatalog-seltext_m = 'TELEPHONE'.
fieldcatalog-col_pos = 4.
APPEND fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'ADDRESS'.
fieldcatalog-seltext_m = 'ADDRESS'.
fieldcatalog-col_pos = 4.
APPEND fieldcatalog.
CLEAR fieldcatalog.
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
*
I_INTERFACE_CHECK
= ' '
*
*
I_BYPASSING_BUFFER
= ' '
I_BUFFER_ACTIVE
= ' '
I_CALLBACK_PROGRAM
= gd_repid
*
I_CALLBACK_PF_STATUS_SET
= ' '
*
I_CALLBACK_USER_COMMAND
= ' '
I_CALLBACK_TOP_OF_PAGE
= 'TOP-OF-PAGE'
*
I_CALLBACK_HTML_TOP_OF_PAGE
= ' '
*
I_CALLBACK_HTML_END_OF_LIST
= ' '
*
I_STRUCTURE_NAME
=
*
I_BACKGROUND_ID
= ' '
*
I_GRID_TITLE
=
*
I_GRID_SETTINGS
=
*
IS_LAYOUT
=
IT_FIELDCAT
= fieldcatalog[]
*
IT_EXCLUDING
=
*
IT_SPECIAL_GROUPS
=
*
IT_SORT
=
*
IT_FILTER
=
*
IS_SEL_HIDE
=
*
I_DEFAULT
= 'X'
I_SAVE
= 'X'
*
IS_VARIANT
=
*
IT_EVENTS
=
*
IT_EVENT_EXIT
=
*
IS_PRINT
=
*
IS_REPREP_ID
=
*
I_SCREEN_START_COLUMN
= 0
*
I_SCREEN_START_LINE
= 0
*
I_SCREEN_END_COLUMN
= 0
*
I_SCREEN_END_LINE
= 0
*
I_HTML_HEIGHT_TOP
= 0
*
I_HTML_HEIGHT_END
= 0
*
IT_ALV_GRAPHICS
=
*
IT_HYPERLINK
=
*
IT_ADD_FIELDCAT
=
*
IT_EXCEPT_QINFO
=
*
IR_SALV_FULLSCREEN_ADAPTER
=
* IMPORTING
*
E_EXIT_CAUSED_BY_CALLER
=
*
ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB
= IT_PAT
* EXCEPTIONS
*
PROGRAM_ERROR
= 1
*
OTHERS
= 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
" PGRID
*&---------------------------------------------------------------------*
*&
Form psmart
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM psmart .