Pick Request Creation - TS
Pick Request Creation - TS
REPORT /BMW/OMP_PICK_REQUEST.
*--------------------------------------------------------------------|
* Author : S.NARAYANAN |
* Date : 12/01/2011 |
* Specification Name : PICK REQUEST GENERATE |
* Functional Analyst : RAMESH KRISHNA THURAIRAJ |
* Technical Analyst : S.NARAYANAN |
* Program Name : /BMW/OMP_PICK_REQUEST |
* Transaction Code : /BMW/OMP_PICK_REQUEST |
* Input File Name : NA |
* Output File Name : NA |
* Includes : NA |
* Function Module : REUSE_ALV_GRID_DISPLAY |
* Custom Tables : NA |
* Transport Request : OMDK901820 |
* Description : This program will create the PICK |
* Request. |
* Restrictions/Assumptions : |
*--------------------------------------------------------------------|
* MODIFICATION HISTORY |
*--------------------------------------------------------------------|
* Date | Author /TA-No. |Ver| Description |
*----------|------------------|---|----------------------------------|
*20.02.2011|QXA6450/OMDK901900|001| CREATION INDICATOR CHANGES |
*13.03.2011|QXA6450/OMDK901939|002| Sorting Order Changes |
*15.04.2011|QX97052/OMDK902009|003| Mail Notification for PR Creation|
*15.04.2011|QX97052/OMDK902009|003| Outer Package No has added |
*--------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY .
*********************** Sort Creation **************************
IF SY-UCOMM = 'PICK'.
GS_SORT-FIELDNAME = 'PRNUM'.
GS_SORT-TABNAME = 'GT_FINAL'.
GS_SORT-UP = 'X'.
APPEND GS_SORT TO GT_SORT.
CLEAR: GS_SORT.
ENDIF.
GS_SORT-FIELDNAME = 'LOTNO'.
GS_SORT-TABNAME = 'GT_FINAL'.
GS_SORT-UP = 'X'.
APPEND GS_SORT TO GT_SORT.
CLEAR: GS_SORT.
GS_SORT-FIELDNAME = 'PERDAT'.
GS_SORT-TABNAME = 'GT_FINAL'.
GS_SORT-UP = 'X'.
APPEND GS_SORT TO GT_SORT.
CLEAR: GS_SORT.
************************** End *********************************
GS_LOUT-BOX_FIELDNAME = 'BOX'.
GS_LOUT-COLWIDTH_OPTIMIZE = 'X'.
GS_LOUT-ZEBRA = 'X'.
IF SY-UCOMM = 'PICK'.
PERFORM FIELDCAT USING 'GT_FINAL' 'PRNUM' TEXT-002. " Pick Request No
ENDIF.
PERFORM FIELDCAT USING 'GT_FINAL' 'LOTNO' TEXT-003. " Lot No
PERFORM FIELDCAT USING 'GT_FINAL' 'FITMENT' TEXT-004. " Fitment Point
PERFORM FIELDCAT USING 'GT_FINAL' 'PACK' TEXT-018. " Case No
PERFORM FIELDCAT USING 'GT_FINAL' 'PACK1' TEXT-025. " Outer Storage Point
PERFORM FIELDCAT USING 'GT_FINAL' 'MATNR' TEXT-005. " Material No
PERFORM FIELDCAT USING 'GT_FINAL' 'MAKTX' TEXT-006. " Material Description
PERFORM FIELDCAT USING 'GT_FINAL' 'VLGOR' TEXT-007. " Storage Location
PERFORM FIELDCAT USING 'GT_FINAL' 'EXIDV' TEXT-016. " Handling Unit
PERFORM FIELDCAT USING 'GT_FINAL' 'MENGE' TEXT-008. " Quatity
PERFORM FIELDCAT USING 'GT_FINAL' 'MEINS' TEXT-009. " UOM
PERFORM FIELDCAT USING 'GT_FINAL' 'PERDAT' TEXT-015. " Inplant Schedule Date
*&---------------------------------------------------------------------*
*& Form FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0516 text
* -->P_0517 text
* -->P_0518 text
*----------------------------------------------------------------------*
FORM FIELDCAT USING TNAME TYPE ANY
FNAME TYPE ANY
FTEXT TYPE ANY.
DATA: GV_FCAT TYPE SLIS_FIELDCAT_ALV.
GV_FCAT-TABNAME = TNAME.
GV_FCAT-FIELDNAME = FNAME.
GV_FCAT-SELTEXT_M = FTEXT.
APPEND GV_FCAT TO GT_FCAT.
*&---------------------------------------------------------------------*
*& Form process
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM PROCESS .
if gt_final is not INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = TEXT-010
I_CALLBACK_USER_COMMAND = TEXT-011
IS_LAYOUT = GS_LOUT
IT_FIELDCAT = GT_FCAT
*{ OMDK901939
IT_SORT = GT_SORT
*} OMDK901939
TABLES
T_OUTTAB = GT_FINAL
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.
else.
message TEXT-001 TYPE 'I'.
endif.
ENDFORM. " process
*&---------------------------------------------------------------------*
*& Form PF-STATUS
*&---------------------------------------------------------------------*
FORM SET-PF-STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS TEXT-012.
ENDFORM. "set-pf-status
*&---------------------------------------------------------------------*
*& Form PF-STATUS
*&---------------------------------------------------------------------*
FORM USCMD USING GV_UCOMM TYPE SY-UCOMM
GV_SFIELD TYPE SLIS_SELFIELD.
IF GV_UCOMM = 'PICK'.
**** Pick Request No Creation **********************
CLEAR: GV_NO.
SELECT MAX( PRNUM ) FROM /BMW/OMP_Pr INTO GV_NO WHERE PRNUM NE ''.
IF GV_NO NE ''.
GV_NO = GV_NO + 1.
ELSE.
GV_NO = '6000000001'.
ENDIF.
GV_UCOMM = SY-UCOMM.
IF GV_UCOMM = '&F03' or GV_UCOMM = '&F15' or GV_UCOMM = '&F12'.
LEAVE PROGRAM.
ENDIF.
CLEAR: GV_UCOMM.
************************* End ***************************************
ENDFORM. "set-pf-status
*&---------------------------------------------------------------------*
*& Form process1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM PROCESS1 .
DATA: GV_TEXT(50).
CLEAR: GV_TEXT.
GS_LOUT-BOX_FIELDNAME = ''.
ENDIF.
ENDFORM. " process
*&---------------------------------------------------------------------*
*& Form send_notification
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form send_notification .
LS_USRID = SY-UNAME.
*Getting Name of the User
CALL FUNCTION 'FDM_CUST_USER_NAME_READ_SINGLE'
EXPORTING
I_USER_ID = LS_USRID
IMPORTING
E_FULLNAME = LS_USER.
LT_LOT = GT_FINAL[].
SORT LT_LOT BY LOTNO.
DELETE ADJACENT DUPLICATES FROM LT_LOT COMPARING LOTNO.
*Document data
LS_DOC_CHNG-OBJ_NAME = TEXT-021.
CONCATENATE TEXT-021 GV_NO INTO LS_DOC_CHNG-OBJ_DESCR SEPARATED BY SPACE.